Open Interfaces für das E-Government |
Die österreichische Bürgerkarte
Minimale Umsetzung des Security-Layers
Dokumenteninformation
Bezeichnung |
Minimale Umsetzung der Applikationsschnittstelle Security-Layer zur österreichischen Bürgerkarte |
Kurzbezeichnung |
Minimale Umsetzung des Security-Layers |
Version |
1.2.0 |
Datum |
14. 05. 2004 |
Dokumentklasse |
Konvention |
Dokumentstadium |
Empfehlung |
Kurzbeschreibung |
Dieses Dokument beschreibt folgende Anforderungen an eine minimale Umsetzung der Schnittstelle Security-Layer durch eine Bürgerkarten-Umgebung:
|
Autoren |
Arno Hollosi |
Arbeitsgruppe |
Bundeskanzleramt, Stabsstelle IKT-Strategie des Bundes, Technik und Standards |
© |
Diese Spezifikation wird von A-SIT und dem Bundeskanzleramt zur Verfügung gestellt. Die Verwendung ohne Modifikation ist unter Bezugnahme auf diese Copyright-Notiz zulässig. Eine Erweiterung der Spezifikation ist erlaubt, jedoch muss dies eindeutig gekennzeichnet sein, und es muss die erweiterte Spezifikation frei zur Verfügung gestellt werden. |
Dieses Dokument beschreibt die Anforderungen an eine minimale Umsetzung der Schnittstelle Security-Layer durch eine Bürgerkarten-Umgebung. Möchte eine Bürgerkarten-Umgebung konform zum Modell Bürgerkarte sein, muss sie alle in den nachfolgenden Kapiteln als erforderlich oder empfohlen gekennzeichneten Funktionalitäten umsetzen. Die Umsetzung von Funktionalitäten, die als empfohlen gekennzeichnet sind, darf in gut begründbaren Ausnahmefällen unterbleiben (vergleiche dazu die Bedeutung des Schlüsselworts empfohlen in [Keywords]).
Zur besseren Lesbarkeit wurde in diesem Dokument auf geschlechtsneutrale Formulierungen verzichtet. Die verwendeten Formulierungen richten sich jedoch ausdrücklich an beide Geschlechter.
Folgende Namenraum-Präfixe werden in dieser Spezifikation zur Kennzeichnung der Namenräume von XML-Elementen verwendet:
Präfix
|
Namenraum
|
Erläuterung
|
dsig |
http://www.w3.org/2000/09/xmldsig# |
Elemente aus [XMLDSIG] |
dsm |
http://www.w3.org/2001/04/xmldsig-more# |
Elemente aus [ECDSA-XML] |
xenc |
http://www.w3.org/2001/04/xmlenc# |
Elemente aus [XMLEnc] |
sl |
http://www.buergerkarte.at/namespaces/securitylayer/1.2# |
Elemente dieser Spezifikation |
Dieses Dokument verwendet die Schlüsselwörter muss, darf nicht, erforderlich, sollte, sollte nicht, empfohlen, darf und optional zur Kategorisierung der Anforderungen. Diese Schlüsselwörter sind analog zu ihren englischsprachigen Entsprechungen must, must not, required, should, should not, recommended, may, und optional zu handhaben, deren Interpretation in [Keywords] festgelegt ist.
Die nachfolgende Tabelle listet alle Schnittstellenbefehle, die in Applikationsschnittstelle Security-Layer spezifiziert sind. Für jeden dieser Schnittstellenbefehle gibt sie an, ob der Befehl in einer minimalen Umsetzung der Bürgerkarten-Umgebung enthalten sein muss (Anforderungs-Level erforderlich oder empfohlen) oder nicht (Anforderungs-Level optional).
Signaturbefehl | Kommandonamen | Anforderung |
Signatur nach CMS erstellen | sl:CreateCMSSignatureRequest |
empfohlen |
Signatur nach XMLDSIG erstellen | sl:CreateXMLSignatureRequest |
erforderlich |
Signatur nach CMS prüfen | sl:VerifyCMSSignatureRequest |
empfohlen |
Signatur nach XMLDSIG prüfen | sl:VerifyXMLSignatureRequest |
erforderlich |
Verschlüsselung als CMS-Nachricht | sl:EncryptCMSRequest |
empfohlen |
Verschlüsselung als XML-Nachricht | sl:EncryptXMLRequest |
empfohlen |
Entschlüsselung einer CMS-Nachricht | sl:DecryptCMSRequest |
empfohlen |
Entschlüsselung einer XML-Nachricht | sl:DecryptXMLRequest |
empfohlen |
Hashwert-Berechnung | sl:CreateHashRequest |
erforderlich |
Hashwert-Verifikation | sl:VerifyHashRequest |
empfohlen |
Abfrage verfügbarer Infoboxen | sl:InfoboxAvailableRequest |
erforderlich |
Anlegen einer Infobox | sl:InfoboxCreateRequest |
erforderlich |
Löschen einer Infobox | sl:InfoboxDeleteRequest |
erforderlich |
Lesen von Infobox-Daten | sl:InfoboxReadRequest |
erforderlich |
Verändern von Infobox-Daten | sl:InfoboxUpdateRequest |
erforderlich |
Null-Operation | sl:NullOperationRequest |
erforderlich |
Abfrage der Umgebungseigenschaften | sl:GetPropertiesRequest |
erforderlich |
Abfrage des Tokenstatus | sl:GetStatusRequest |
erforderlich |
Das Dokument Transportprotokolle Security-Layer beschreibt eine Reihe von möglichen Transportprotokollen für die Applikationsschnittstelle Security-Layer. Die nachfolgende Tabelle gibt für jedes dieser Transportprotokolle an, ob es in einer minimalen Umsetzung der Bürgerkarten-Umgebung enthalten sein muss (Anforderungs-Level erforderlich oder empfohlen) oder nicht (Anforderungs-Level optional).
Transportprotokoll | Kontext | |
---|---|---|
lokale BKU(1) | serverbasierte BKU(1) | |
TCP/IP | empfohlen | optional |
SSL/TLS | optional | optional |
HTTP | erforderlich | optional |
HTTPS | erforderlich | erforderlich |
(1) Für die Unterscheidung zwischen lokaler und serverbasierter Bürgerkarten-Umgebung siehe Einführung in die österreichische Bürgerkarte, Abschnitt 1.
Dieser Abschnitt spezifiziert ein Profil von [CMS], das von einer Bürgerkarten-Umgebung im Kontext des Befehls CreateCMSSignature verwendet werden muss.
Zur Berechnung des Message Digest nach [CMS], Abschnitt 5.4 muss der Algoritmus SHA-1 nach [CMS-Alg], Abschnitt 2.1 verwendet werden.
Der Algorithmus zur Berechnung des Signaturwerts nach [CMS], Abschnitt 5.5 ist abhängig vom Signaturschlüssel der Bürgerkarten-Umgebung, der im Befehl CreateCMSSignature spezifiziert wird. Für RSA-Schlüssel muss der Algorithmus nach [CMS-Alg], Abschnitt 3.2, für DSA-Schlüssel der Algorithmus nach [CMS-Alg], Abschnitt 3.1, und für ECDSA-Schlüssel der Algorithmus nach [ECDSA-CMS], Abschnitt 2.1.1 verwendet werden.
In einer CMS-Signatur können Informationen zum Auffinden des Prüfschlüssels
in Form einer Sammlung von X509-Zertifikaten im Feld certificates
(vgl. [CMS], Abschnitt 5.1) angegeben werden. Die Bürgerkarten-Umgebung
muss in diese Sammlung jedenfalls das
Signatorzertifikat aufnehmen. Weiters wird empfohlen,
die gesamte Kette an Zertifikaten, die zur Prüfung der Signatur benötigt
wird (Signatorzertifikat bis zu einer vertrauenswürdigen Wurzelinstanz),
ebenfalls in diese Sammlung aufzunehmen.
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung betreffend die Protokolle bei der Auflösung von Referenzen im Kontext des Befehls CreateCMSSignature.
Protokoll
|
Kontext
|
---|---|
sl:DataObject/sl:Content/@Reference
|
|
http |
erforderlich
|
https |
erforderlich
|
formdata (1) |
erforderlich |
(1) Vergleiche Transportprotokolle Security-Layer, Abschnitt 3.3.1.2.
Dieser Abschnitt spezifiziert ein Profil von [CMS], das von einer Bürgerkarten-Umgebung im Kontext des Befehls VerifyCMSSignature mindestens beherrscht werden muss.
Die Bürgerkarten-Umgebung muss alle in [CMS-Alg], Abschnitt 2 gelisteten Algorithmen zur Berechnung des Message Digest im Rahmen der Signaturprüfung nach [CMS], Abschnitt 5.6 unterstützen (SHA-1, MD5).
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung betreffend die Unterstützung von Signaturalgorithmen im Rahmen der Signaturprüfung nach [CMS], Abschnitt 5.6.
Bezeichnung | OID | normative Referenz | Anforderung |
---|---|---|---|
RSA | { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-1(1)
5 } |
[CMS-Alg], 3.2 | erforderlich |
DSA | { iso(1) member-body(2) us(840) x9-57 (10040) x9cm(4) 3 }
|
[CMS-Alg], 3.1 | erforderlich |
ECDSA | { iso(1) member-body(2) us(840) 10045 signatures(4) 1} |
[ECDSA-CMS], 2.2.1 | erforderlich |
In einer CMS-Signatur können Informationen zum Auffinden des Prüfschlüssels
in Form einer Sammlung von X509-Zertifikaten im Feld certificates
(vgl. [CMS], Abschnitt 5.1) angegeben sein. Die Bürgerkarten-Umgebung
darf diese Informationen zum Auffinden
des Prüfschlüssels sowie zur Bildung der Zertifikatskette hin zu
einer vertrauenswürdigen Wurzel verwenden.
Weiters können in einer CMS-Signatur Widerrufsinformationen in Form
einer Sammlung von X509-Widerrufslisten im Feld crls
(vgl. [CMS],
Abschnitt 5.1) angegeben sein. Die Bürgerkarten-Umgebung
darf diese Informationen zur Feststellung
des Status eines Zertifikats im Rahmen der Validierung einer Zertifikatskette
verwenden.
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung betreffend die Protokolle bei der Auflösung von Referenzen im Kontext des Befehls VerifyCMSSignature.
Protokoll
|
Kontext
|
---|---|
sl:DataObject/sl:Content/@Reference |
|
http |
erforderlich
|
https |
erforderlich
|
formdata (1) |
erforderlich |
(1) Vergleiche Transportprotokolle Security-Layer, Abschnitt 3.3.1.2.
Dieser Abschnitt spezifiziert ein Profil von [XMLDSIG], das von einer Bürgerkarten-Umgebung im Kontext des Befehls CreateXMLSignature verwendet werden muss.
Zur Berechnung von Message Digests in einer XML-Signatur muss der Algoritmus SHA-1 nach [XMLDSIG], Abschnitt 6.2.1 verwendet werden.
Der Algorithmus zur Berechnung des Signaturwerts nach [XMLDSIG], Abschnitt 3.1.2 ist abhängig vom Signaturschlüssel der Bürgerkarten-Umgebung, der im Befehl CreateXMLSignature spezifiziert wird. Für RSA-Schlüssel muss der Algorithmus nach [XMLDSIG], Abschnitt 6.4.2, für DSA-Schlüssel der Algorithmus nach [XMLDSIG], Abschnitt 6.4.1, und für ECDSA-Schlüssel der Algorithmus nach [ECDSA-XML], Abschnitt 3 verwendet werden.
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung betreffend die Unterstützung von Kanonisierungsalgorithmen im Kontext des Befehls CreateXMLSignature.
Bezeichnung | URI | normative Referenz | Anforderung |
---|---|---|---|
C14N | http://www.w3.org/TR/2001/REC-xml-c14n-20010315 |
[XMLDSIG], 6.5.1 | erforderlich |
C14N with comments | http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments |
[XMLDSIG], 6.5.1 | erforderlich |
EC14N | http://www.w3.org/2001/10/xml-exc-c14n# |
[EC14N], 4 | erforderlich |
EC14N with comments | http://www.w3.org/2001/10/xml-exc-c14n#WithComments |
[EC14N], 4 | erforderlich |
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung betreffend die Unterstützung von Transformationsalgorithmen im Kontext des Befehls CreateXMLSignature.
Bezeichnung | URI | normative Referenz | Anforderung |
---|---|---|---|
C14N | http://www.w3.org/TR/2001/REC-xml-c14n-20010315 |
[XMLDSIG], 6.5.1 | erforderlich |
C14N with comments | http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments |
[XMLDSIG], 6.5.1 | erforderlich |
EC14N | http://www.w3.org/2001/10/xml-exc-c14n# |
[EC14N], 4 | erforderlich |
EC14N with comments | http://www.w3.org/2001/10/xml-exc-c14n#WithComments |
[EC14N], 4 | erforderlich |
Base64 Decoder | http://www.w3.org/2000/09/xmldsig#base64 |
[XMLDSIG], 6.6.2 | erforderlich |
XPath Filter 1 | http://www.w3.org/TR/1999/REC-xpath-19991116 |
[XMLDSIG], 6.6.3 | erforderlich |
XPath Filer 2 | http://www.w3.org/2002/06/xmldsig-filter2 |
[XPF2] | erforderlich |
Enveloped Signature | http://www.w3.org/2000/09/xmldsig#enveloped-signature |
[XMLDSIG], 6.6.4 | erforderlich |
XSLT | http://www.w3.org/TR/1999/REC-xslt-19991116 |
[XMLDSIG], 6.6.5 | erforderlich |
Binary Mode Decryption | http://www.w3.org/2002/07/decrypt#Binary |
[XMLDecTF], 4 | optional |
XML Mode Decryption(1) | http://www.w3.org/2002/07/decrypt#XML |
[XMLDecTF], 3 | optional |
(1) Bei der Verwendung einer XML Mode Decryption Transformation im Zuge der Erstellung einer XML-Signatur muss die Bürgerkarten-Umgebung den Mechanismus aus [XMLDecTF], Abschnitt 3.2 verwenden.
In einer XML-Signatur können Informationen zum Auffinden des Prüfschlüssels
im XML-Element dsig:KeyInfo
(vgl. [XMLDSIG],
Abschnitt 4.4) angegeben werden. Die Bürgerkarten-Umgebung
muss in dieses XML-Element jedenfalls
das Signatorzertifikat aufnehmen. Weiters wird empfohlen,
die gesamte Kette an Zertifikaten, die zur Prüfung der Signatur benötigt
wird (Signatorzertifikat bis zu einer vertrauenswürdigen Wurzelinstanz),
ebenfalls in dieses XML-Element aufzunehmen.
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung betreffend die Protokolle bei der Auflösung von Referenzen im Kontext des Befehls CreateXMLSignature.
Protokoll | http | https | formdata | ID-Referenz | XPointer-Referenz(2) | |
---|---|---|---|---|---|---|
K o n t e x t |
sl:DataObjectInfo/ |
erforderlich
|
erforderlich | erforderlich | erforderlich | empfohlen |
sl:DataObjectInfo/ sl:LocRefContent |
erforderlich
|
erforderlich | erforderlich | n.a. | n.a. | |
Importierte Stylesheets(1) | erforderlich | erforderlich | erforderlich | n.a. | n.a. | |
sl:DataObjectInfo/ |
erforderlich | erforderlich | erforderlich | n.a. | n.a. | |
sl:SignatureInfo/ |
erforderlich | erforderlich | erforderlich | n.a. | n.a. | |
sl:SignatureInfo/ |
erforderlich | erforderlich | erforderlich | n.a. | n.a. |
(1) Stylesheet-Imports, die in einer XSLT-Transformation zu einem Datenobjekt angegeben sind.
(2) XPointer nach [XPointerFW],
die xmlns
(vgl. [XPointerNS]) und
element
(vgl. [XPointerEL]) XPointer
Parts enthalten.
Dieser Abschnitt spezifiziert ein Profil von [XMLDSIG], das von einer Bürgerkarten-Umgebung im Kontext des Befehls VerifyXMLSignature mindestens beherrscht werden muss.
Die Bürgerkarten-Umgebung muss alle in [XMLDSIG], Abschnitt 6.2 gelisteten Algorithmen zur Berechnung des Message Digest im Rahmen der Signaturprüfung nach [XMLDSIG], Abschnitt 3.2 unterstützen (SHA-1).
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung betreffend die Unterstützung von Signaturalgorithmen im Rahmen der Signaturprüfung nach [XMLDSIG], Abschnitt 3.2.
Bezeichnung | URI | normative Referenz | Anforderung |
---|---|---|---|
RSA-SHA1 | http://www.w3.org/2000/09/xmldsig#dsa-sha1 |
[XMLDSIG], 6.4.2 | erforderlich |
DSA-SHA1 | http://www.w3.org/2000/09/xmldsig#rsa-sha1 |
[CMS-Alg], 6.4.1 | erforderlich |
ECDSA-SHA1 | http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1 |
[ECDSA-XML], 3 | erforderlich |
Für die Tabelle der Anforderungslevels an die Bürgerkarten-Umgebung betreffend die Unterstützung von Kanonisierungsalgorithmen im Rahmen der Signaturprüfung nach [XMLDSIG], Abschnitt 3.2 siehe Abschnitt 5.1.3.
Für die Tabelle der Anforderungslevels an die Bürgerkarten-Umgebung betreffend die Unterstützung von Transformationsalgorithmen im Rahmen der Signaturprüfung nach [XMLDSIG], Abschnitt 3.2 siehe Abschnitt 5.1.4.
Für diese beiden Tranformationen Binary Mode Decryption und XML Mode Decryption gelten sinngemäß die Vorgaben aus Applikationsschnittstelle Security-Layer, Abschnitt 5.2 sowie jene aus diesem Dokument, Abschnitt 7.2.
In einer XML-Signatur können Informationen zum Auffinden des Prüfschlüssels
im XML-Element dsig:KeyInfo
(vgl. [XMLDSIG],
Abschnitt 4.4) angegeben sein. Die nachfolgende Tabelle spezifiziert die Anforderungslevels
an die Bürgerkarten-Umgebung
betreffend die Unterstützung von XML-Elementen, die darin vorkommen können.
Alle nicht explizit in der Tabelle erwähnten XML-Elemente dürfen
von der Bürgerkarten-Umgebung
ausgewertet werden.
Kindelement | Anforderung | Anmerkung |
---|---|---|
dsig:RSAKeyValue |
empfohlen | - |
dsig:DSAKeyValue |
empfohlen | - |
dsm:ECDSAKeyValue |
empfohlen | - |
dsig:X509IssuerSerial |
empfohlen | Dieses XML-Element bezeichnet auf eindeutige Weise ein Zertifikat. Damit kann die Bürgerkarten-Umgebung ggf. ein Zertifikat aus dem eigenen Cache zuordnen. |
dsig:X509Certificate |
erforderlich | - |
dsig:X509CRL |
erforderlich | Eine mit diesem XML-Element kodierte Widerrufsliste muss zwar von der Bürgerkarten-Umgebung verstanden, aber nicht notwendigerweise verwendet werden (z.B. weil eine aktuellere Widerrufsliste von einem Verteilungspunkt abgerufen werden kann). |
dsig:RetrievalMethod mit Verweis auf dsig:X509Data |
erforderlich | Für die XML-Kindelemente des dsig:X509Data , auf das
verwiesen wird, gelten wiederum die Anforderungslevels dieser Tabelle. |
dsig:RetrievalMethod mit direktem Verweis auf ein X509-
Zertifikat |
erforderlich | - |
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung betreffend die Protokolle bei der Auflösung von Referenzen im Kontext des Befehls VerifyXMLSignature.
Protokoll | http | https | ldap | formdata | ID-Referenz | XPointer-Referenz(2) | |
---|---|---|---|---|---|---|---|
K o n t e x t |
sl:SignatureInfo/ |
erforderlich
|
erforderlich | optional | erforderlich | n.a. | n.a. |
sl:Supplement/ |
erforderlich
|
erforderlich | optional | erforderlich | n.a. | n.a. | |
Importierte Stylesheets(1) | erforderlich | erforderlich | optional | erforderlich | n.a. | n.a. | |
dsig:Signature/ |
erforderlich | erforderlich | optional | erforderlich | erforderlich | empfohlen | |
dsig:Manifest/ |
erforderlich | erforderlich | optional | erforderlich | erforderlich | empfohlen | |
dsig:Signature/ |
erforderlich | erforderlich | erforderlich | erforderlich | erforderlich | empfohlen |
(1) Stylesheet-Imports, die in einer XSLT-Transformation der XML-Signatur enthalten sind.
(2) XPointer nach [XPointerFW],
die xmlns
(vgl. [XPointerNS]) und
element
(vgl. [XPointerEL]) XPointer
Parts enthalten.
Dieser Abschnitt spezifiziert ein Profil von [CMS], das von einer Bürgerkarten-Umgebung im Kontext des Befehls EncryptCMS verwendet werden muss.
Für erzeugte verschlüsselte CMS-Nachrichten muss eine Bürgerkarten-Umgebung für den Schlüsseltransport bzw. für die Datenverschlüsselung einen der in den Abschnitten 6.2.1.1 bzw. 6.2.1.2 genannten Algorithmen verwenden.
Angesichts der weiten Verbreitung wird derzeit empfohlen, für den Schlüsseltransport den Algorithmus PKCS #1 v1.5, sowie für die Datenverschlüsselung den Algorithmus Triple DES CBC zu verwenden.
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung betreffend die Protokolle bei der Auflösung von Referenzen.
Protokoll
|
Kontext
|
sl:ToBeEncrypted/@Reference |
|
http |
erforderlich
|
https |
erforderlich
|
formdata (1) |
erforderlich |
(1) Vergleiche Transportprotokolle Security-Layer, Abschnitt 3.3.1.2
Dieser Abschnitt spezifiziert ein Profil von [CMS], das von einer Bürgerkarten-Umgebung im Kontext des Befehls DecryptCMS mindestens beherrscht werden muss.
Dieser Abschnitt spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung betreffend die Unterstützung von Algorithmen in der zu entschlüsselnden CMS-Nachricht. Prinzipiell muss eine Bürgerkarten-Umgebung hinsichtlich der Verschlüsselung des Datenverschlüsselungsschlüssels nur den Schlüsseltransport zu unterstützen. Deshalb werden in diesem Abschnitt auch keine Angaben zu anderen Techniken des Schlüsselmanagements gemacht.
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung betreffend die Unterstützung von Algorithmen zum Schlüsseltransport (Feld ktri der CMS-Nachricht).
Bezeichnung
|
OID
|
normative Referenz
|
Anforderung
|
PKCS #1 v1.5 | { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-1(1)
1 } |
[CMS-Alg], 4.2.1 | erforderlich |
RSAES-OAEP | { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-1(1)
7 } |
[CMS-RSAES-OAEP] | empfohlen |
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung betreffend die Unterstützung von Algorithmen zur Datenverschlüsselung (Feld contentEncryptionAlgorithm der CMS-Nachricht).
Bezeichnung
|
OID
|
normative Referenz
|
Anforderung
|
Triple-DES CBC | { des-ede3-cbc OBJECT IDENTIFIER ::= { iso(1) member-body(2)
us(840) rsadsi(113549) encryptionAlgorithm(3) 7 } |
[CMS-Alg], 5.1 | erforderlich |
AES CBC 128 Bit | { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101)
csor(3) nistAlgorithms(4) 1 2 } |
[CMS-AES] | empfohlen |
AES CBC 256 Bit | { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101)
csor(3) nistAlgorithms(4) 1 42 } |
[CMS-AES] | empfohlen |
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung betreffend die Protokolle bei der Auflösung von Referenzen.
Protokoll
|
Kontext
|
sl:EncryptedContent/sl:Content/@Reference |
|
http |
erforderlich
|
https |
erforderlich
|
formdata (1) |
erforderlich |
(1) Vergleiche Transportprotokolle Security-Layer, Abschnitt 3.3.1.2.
Dieser Abschnitt spezifiziert ein Profil von [XMLEnc], das von einer Bürgerkarten-Umgebung im Kontext des Befehls EncryptXML verwendet werden muss.
Für erzeugte verschlüsselte XML-Nachrichten muss die Bürgerkarten-Umgebung für die Datenverschlüsselung einen der im Abschnitt 7.2.1.1 genannten Algorithmen für Blockverschlüsselung bzw. für den Schlüsseltransport einen der in Abschnitt 7.2.1.2 genannten Algorithmen verwenden.
Angesichts der weiten Verbreitung wird derzeit empfohlen, für den Schlüsseltransport den Algorithmus RSA Version 1.5, sowie für die Datenverschlüsselung den Algorithmus Triple DES zu verwenden.
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung betreffend die Protokolle bei der Auflösung von Referenzen.
Protokoll
|
Kontext
|
||
sl:ToBeEncrypted/ |
sl:EncryptionInfo/ |
sl:EncryptionInfo/ |
|
http |
erforderlich | erforderlich | erforderlich |
https |
erforderlich | erforderlich | erforderlich |
formdata (1) |
erforderlich | erforderlich | erforderlich |
(1) Vergleiche Transportprotokolle Security-Layer, Abschnitt 3.3.1.2
Dieser Abschnitt spezifiziert ein Profil von [XMLEnc], das von einer Bürgerkarten-Umgebung im Kontext des Befehls DecryptXML mindestens beherrscht werden muss.
xenc:EncryptedData
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung
betreffend Algorithmen in xenc:EncryptedData/xenc:EncryptionMethod/@Algorithm
.
Bezeichnung
|
URI
|
normative Referenz
|
Anforderung
|
Blockverschlüsselung
|
|||
Triple DES | http://www.w3.org/2001/04/xmlenc#tripledes-cbc |
[XMLEnc], 5.2.1 | erforderlich |
AES CBC 128 Bit | http://www.w3.org/2001/04/xmlenc#aes128-cbc |
[XMLEnc], 5.2.2 | erforderlich |
AES CBC 256 Bit | http://www.w3.org/2001/04/xmlenc#aes256-cbc |
[XMLEnc], 5.2.2 | erforderlich |
Schlüsseltransport (1)
|
|||
RSA Version 1.5 | http://www.w3.org/2001/04/xmlenc#rsa-1_5 |
[XMLEnc], 5.4.1 | erforderlich |
RSA-OAEP | http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p |
[XMLEnc], 5.4.2 | erforderlich |
(1)Siehe Hinweis in [XMLEnc], Abschnitt 5.4.
xenc:EncryptedKey
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung
betreffend Algorithmen in xenc:EncryptedKey/xenc:EncryptionMethod/@Algorithm
.
Bezeichnung
|
URI
|
normative Referenz
|
Anforderung
|
Schlüsseltransport
|
|||
RSA Version 1.5 | http://www.w3.org/2001/04/xmlenc#rsa-1_5 |
[XMLEnc], 5.4.1 | erforderlich |
RSA-OAEP | http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p |
[XMLEnc], 5.4.2 | erforderlich |
xenc:EncryptedData
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung
betreffend Schlüsselhinweise in xenc:EncryptedData/dsig:KeyInfo
.
Elementname
|
Anmerkung
|
normative Referenz
|
Anforderung
|
dsig:KeyName |
Muss den KeyboxIdentifier eines in der Bürgerkarten-Umgebung vorhandenen Schlüsselpaares enthalten, das für Verschlüsselung geeignet ist. | [XMLDSIG], 4.4.1 | erforderlich |
dsig:KeyValue |
Muss den öffentlichen Schlüssel eines in der Bürgerkarten-Umgebung vorhandenen Schlüsselpaares enthalten, das für Verschlüsselung geeignet ist. | [XMLDSIG], 4.4.2 | erforderlich |
dsig:X509Data |
Muss genau ein Element
dsig:X509Certificate mit dem Zertifikat für den öffentlichen
Schlüssel eines in der Bürgerkarten-Umgebung vorhandenen Schlüsselpaares
enthalten. |
[XMLDSIG], 4.4.4 | erforderlich |
xenc:EncryptedKey |
[XMLEnc], 3.5.1 | erforderlich | |
dsig:RetrievalInfo |
Muss auf ein Element xenc:EncryptedKey
im gleichen XML-Dokument verweisen. Transformationen müssen von der
Bürgerkarten-Umgebung nicht unterstützt werden. |
[XMLEnc], 3.5.2 | erforderlich |
xenc:EncryptedKey
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung
betreffend Schlüsselhinweise in xenc:EncryptedKey/dsig:KeyInfo
.
Elementname | Anmerkung | normative Referenz | Anforderung |
dsig:KeyName |
Muss den KeyboxIdentifier eines in der Bürgerkarten-Umgebung vorhandenen Schlüsselpaares enthalten, das für Verschlüsselung geeignet ist. | [XMLDSIG], 4.4.1 | erforderlich |
dsig:KeyValue |
Muss den öffentlichen Schlüssel eines in der Bürgerkarten-Umgebung vorhandenen Schlüsselpaares enthalten, das für Verschlüsselung geeignet ist. | [XMLDSIG], 4.4.2 | erforderlich |
dsig:X509Data |
Muss genau ein Element
dsig:X509Certificate mit dem Zertifikat für den öffentlichen
Schlüssel eines in der Bürgerkarten-Umgebung vorhandenen Schlüsselpaares
enthalten. |
[XMLDSIG], 4.4.4 | erforderlich |
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung betreffend die Protokolle bei der Auflösung von Referenzen in unterschiedlichen Kontexten.
Protokoll |
Kontext
|
|||
dsig:RetrievalMethod |
xenc:EncryptedData/ |
xenc:EncryptedKey/ |
sl:Supplement/ |
|
http |
optional
|
erforderlich
|
erforderlich
|
erforderlich
|
https |
optional
|
erforderlich
|
erforderlich
|
erforderlich
|
formdata (1) |
optional
|
erforderlich
|
erforderlich
|
erforderlich
|
relative URI(2) |
optional(4)
|
erforderlich(4)
|
erforderlich(4)
|
darf nicht
|
ID-Referenz(3) |
erforderlich
|
optional
|
optional
|
darf nicht
|
(1) Vergleiche Transportprotokolle Security-Layer, Abschnitt 3.3.1.2.
(2) Eine relative URI ist eine URI, die keinen Protokoll-Teil enthält (vgl. [RFC2396], 3.1).
(3) Eine ID-Referenz ist eine Same Document Reference nach [RFC2396], 4.2, die den Wert eines Attributs vom Typ IDREF nach [XML] enthält.
(4) Eine relative URI darf nur über ein für diese URI angegebenes Supplement aufgelöst werden; eine direkte Auflösung (z.B. über ein Absolut-Machen gegen das lokale Dateisystem) darf nicht erfolgen.
Dieser Abschnitt spezifiziert ein Profil für den Befehl CreateHash, das von einer Bürgerkarten-Umgebung mindestens beherrscht werden muss.
Die Bürgerkarten-Umgebung muss alle in [XMLDSIG], Abschnitt 6.2 gelisteten Algorithmen zur Berechnung des Message Digest unterstützen (SHA-1).
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung betreffend die Protokolle bei der Auflösung von Referenzen.
Protokoll |
Kontext |
sl:HashInfo/ |
|
http |
erforderlich |
https |
erforderlich |
formdata (1) |
erforderlich |
(1) Vergleiche Transportprotokolle Security-Layer, Abschnitt 3.3.1.2
Dieser Abschnitt spezifiziert ein Profil für den Befehl VerifyHash, das von einer Bürgerkarten-Umgebung mindestens beherrscht werden muss.
Die Bürgerkarten-Umgebung muss alle in [XMLDSIG], Abschnitt 6.2 gelisteten Algorithmen zur Berechnung des Message Digest unterstützen (SHA-1).
Die nachfolgende Tabelle spezifiziert die Anforderungslevels an die Bürgerkarten-Umgebung betreffend die Protokolle bei der Auflösung von Referenzen.
Protokoll |
Kontext |
sl:HashInfo/ |
|
http |
erforderlich |
https |
erforderlich |
formdata (1) |
erforderlich |
(1) Vergleiche Transportprotokolle Security-Layer, Abschnitt 3.3.1.2
Für die Abarbeitung der Schnittstellenbefehle zur Signaturerstellung (CreateCMSSignature, CreateXMLSignature) sowie zur Signaturprüfung (VerifyCMSSignature, VerifyXMLSignature) benötigt die Bürgerkarten-Umgebung eine Anzeige, um dem Bürger die zu signierenden bzw. die signierten Daten darstellen zu können. Dieser Abschnitt legt fest, welche Anzeigeformate die Anzeige der Bürgerkarten-Umgebung jedenfalls unterstützen muss.
Als einfaches Format muss die Anzeige der Bürgerkarten-Umgebung die Darstellung von Text beherrschen. Die nachfolgende Tabelle listet jene Unicode-Zeichen [Unicode] auf, die jedenfalls dargestellt werden können müssen.
Anmerkung: Es handelt sich dabei um jene Zeichen, die notwendig sind, um die Zeichensätze [ISO-8859-1], [ISO-8859-2], [ISO-8859-3], [ISO-8859-9], [ISO-8859-10] und [ISO-8859-15] mit Ausnahme der meisten dort enthaltenen Steuerzeichen darstellen zu können.
Code Chart | Zeichennummer(n) | Code Chart | Zeichennummer(n) |
---|---|---|---|
C0 Controls and Basic Latin | 0x0009-0x000A | Latin Extended-A | 0x014A-0x014D |
C0 Controls and Basic Latin | 0x000C-0x000D | Latin Extended-A | 0x0150-0x0155 |
C0 Controls and Basic Latin | 0x0020-0x007E | Latin Extended-A | 0x0158-0x0173 |
C1 Controls and Latin-1 Supplement | 0x00A1-0x00FF | Latin Extended-A | 0x0178-0x017E |
Latin Extended-A | 0x0100-0x0114 | Spacing Modifier Letters | 0x02C7 |
Latin Extended-A | 0x0116-0x012B | Spacing Modifier Letters | 0x02D8-0x02D9 |
Latin Extended-A | 0x012E-0x0131 | Spacing Modifier Letters | 0x02DB |
Latin Extended-A | 0x0134-0x013E | Spacing Modifier Letters | 0x02DD |
Latin Extended-A | 0x0141-0x0148 | General Punctuation | 0x2015 |
Folgende Daten muss die Bürgerkarten-Umgebung versuchen, als Text zu interpretieren:
text/plain
gekennzeichnet sind; text/tab-separated-values
, text/sgml
, text/xml
,
application/sgml
, application/xml
, message/rfc822
.
Für die Darstellung von Text muss
die Bürgerkarten-Umgebung eine Schriftart mit konstanter Breite für
jedes Zeichen (monospaced) verwenden. Für das
Zeichen 0x0009
(Tabulator) muss
die Bürgerkarten-Umgebung eine Tabulatorbreite von acht Zeichen verwenden.
Als Format für die Darstellung von komplexeren Dokumenten muss die Bürgerkarten-Umgebung die Darstellung des Standard-Anzeigeformats beherrschen. Hinsichtlich der Zeichen, die die Bürgerkarten-Umgebung jedenfalls darstellen können muss, gelten die Vorgaben aus Abschnitt 9.1.1.
Folgende Daten muss die Bürgerkarten-Umgebung versuchen, im Sinne dieses Formats zu interpretieren:
text/html
gekennzeichnet sind; application/xhtml+xml
gekennzeichnet sind.Beim Empfang von Anfrage-Befehlen über die Schnittstelle des Security-Layer muss die Bürgerkarten-Umgebung die drei Zeichensätze ISO-8859-1 [ISO-8859-1], ISO-8859-15 [ISO-8859-15] sowie UTF-8 [Unicode] unterstützen. Die Applikation muss den verwendeten Zeichensatz in der XML-Deklaration des XML-Dokuments angeben, welches den Anfrage-Befehl beinhaltet.
Datum |
Version
|
Änderungen |
---|---|---|
29.02.2004 |
1.2.0
|
|
1.1.0
|
|