![]() |
Open Interfaces für das eGovernment |
![]() |
Security-Layer für das Konzept Bürgerkarte
Minimalanforderungen an eine Implementation
Dokumenteninformation
| Bezeichnung | Minimalanforderungen aus dem Konzept Bürgerkarte an eine Implementation des Security-Layers |
| Kurzbezeichnung | Minimalanforderungen Security-Layer |
| Version | 1.1.0 |
| Datum | 31. 08. 2002 |
| Dokumentklasse | Konvention |
| Dokumentstadium | Öffentlicher Entwurf |
| Kurzbeschreibung |
Dieses Dokument beschreibt folgende Minimalanforderungen aus dem Konzept Bürgerkarte an eine Implementation des Security-Layers:
|
| Autoren | Arno Hollosi (arno.hollosi@cio.gv.at) Gregor Karlinger (gregor.karlinger@cio.gv.at) |
| Arbeitsgruppe | BMÖLS, CIO des Bundes, Operative Unit |
| © | Diese Spezifikation wird von A-SIT und dem BMÖLS 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 Minimalanforderungen aus dem Konzept Bürgerkarte an eine Implementation des Security-Layers:
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] |
sl10 |
http://www.buergerkarte.at/namespaces/securitylayer/20020225# |
Unveränderte Elemente aus der Version 1.0.3 dieser Spezifikation |
sl11 |
http://www.buergerkarte.at/namespaces/securitylayer/20020831# |
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 Befehle, die im Dokument Schnittstellenspezifikation Security-Layer spezifiziert sind. Für jeden dieser Schnittstellenbefehle gibt sie an, ob der Befehl verpflichtend zu implementieren ist oder optional implementiert werden kann.
Für optionale Komponenten innerhalb eines Befehls gelten die Angaben aus der Schnittstellenspezifikation Security-Layer.
| Signaturbefehl | Kommandonamen | Anforderung |
| Signatur nach CMS erstellen | sl10:CreateCMSSignatureRequest |
empfohlen |
| Signatur nach XMLDSIG erstellen | sl11:CreateXMLSignatureRequest |
erforderlich |
| Signatur nach CMS prüfen | sl11:VerifyCMSSignatureRequest |
empfohlen |
| Signatur nach XMLDSIG prüfen | sl11:VerifyXMLSignatureRequest |
erforderlich |
| Abfrage verfügbarer Infoboxen | sl10:InfoboxAvailableRequest |
erforderlich |
| Lesen von Infobox-Daten | sl10:InfoboxReadRequest |
erforderlich |
| Verändern von Infoboxdaten | sl10:InfoboxUpdateRequest |
erforderlich |
| Erzeugung eines Sitzungszertifikats | sl10:CreateSessionKeyRequest |
optional |
| Aushandeln eines symmetrischen Geheimnisses | sl10:CreateSymmetricSecretRequest |
optional |
| Abfrage der Umgebungseigenschaften | sl10:GetPropertiesRequest |
erforderlich |
| Abfrage des Kartenstatus | sl10:GetStatusRequest |
erforderlich |
Dieser Abschnitt spezifiziert ein Profil für XML-Signaturen nach [XMLDSIG], das von einer Bürgerkarten-Umgebung im Kontext der folgenden Befehle des Security-Layer zu berücksichtigen ist:
Alle drei Signaturtypen, die in [XMLDSIG] beschrieben sind (Detached Signature, Enveloping Signature, Enveloped Signature), müssen von einer Bürgerkarten-Umgebung überprüft werden können.
Die Anforderungen hinsichtlich der Erstellung von XML-Signaturen ergeben sich bereits aus den Erläuterungen der Schnittstellenspezifikation. Der Vollständigkeit halber sei an dieser Stelle angeführt, dass alle drei erwähnten Signaturtypen von einer Bürgerkarten-Umgebung auch erstellt werden können müssen.
Aus den Erläuterungen der Schnittstellenspezifikation
ergibt sich, dass eine Bürgerkarten-Umgebung sowohl die Überprüfung
von Signaturmanifesten (auf die in einer Signaturreferenz mittels des Wertes
http://www.buergerkarte.at/specifications/Security-Layer/20020831#SignatureManifest
im Attribut Type des Elements dsig:Reference Bezug
genommen wird) durchführen können muss
ist, als auch die Überprüfung von gewöhnlichen Manifesten
nach [XMLDSIG] (auf die in einer Signaturreferenz
mittels des Wertes http://www.w3.org/2000/09/xmldsig#Manifest im
Attribut Type des Elements dsig:Reference Bezug genommen
wird).
Dieser Abschnitt gibt an, welche Algorithmen für Signaturberechnung, Digestberechnung, Kanoniserung und Transformationen eine Bürgerkarten-Umgebung beherrschen muss, und zwar sowohl im Kontext der Signaturprüfung als auch im Kontext der Signaturerstellung.
| Bezeichnung | URI | normative Referenz | Anforderung |
| RSA | http://www.w3.org/2000/09/xmldsig#rsa-sha1 |
[XMLDSIG], 6.4.2 | erforderlich |
| DSA | http://www.w3.org/2000/09/xmldsig#dsa-sha1 |
[XMLDSIG], 6.4.1 | erforderlich |
| ECDSA | http://www.buergerkarte.at/namespaces/ecdsa/200206030#ecdsa-sha1
|
[ECDSA] | empfohlen |
| Bezeichnung | URI | normative Referenz | Anforderung |
| SHA-1 | http://www.w3.org/2000/09/xmldsig#sha1 |
[XMLDSIG], 6.2.1 | erforderlich |
| 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 |
| 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 Filter 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 |
Dieser Abschnitt regelt die Arten von Schlüsselinformationen (Kindelemente
von dsig:KeyInfo), mit denen eine Bürgerkarten-Umgebung im
Kontext der folgenden Befehle des Security-Layer umgehen können muss:
X509-basierte Schlüsselinformationen (Kindelement dsig:X509Data
von dsig:KeyInfo bzw. sl10:SignerInfo) müssen
von einer Bürgerkarten-Umgebung beherrscht werden. Die nachfolgende Tabelle
gibt einen Überblick über die einzelnen Kindelemente von dsig:X509Data,
mit welchen die Bürgerkarten-Umgebung im Kontext der oben angeführten
Befehle des Security-Layer umgehen können mus.
|
Kindelement
|
Anforderung im Kontext
|
||
|
Signaturprüfung (1)
|
Signaturerstellung (2)
|
Symm. Geheimnis (3)
|
|
dsig:X509Certificate |
erforderlich | erforderlich | erforderlich |
dsig:X509CRL |
empfohlen | optional | n.a. |
dsig:x509IssuerSerial |
optional/erforderlich (4) | optional | optional |
dsig:x509SubjectName |
optional/erforderlich (4) | optional | optional |
(1) Die Kindelemente müssen wie angegeben in einer zu prüfenden XML-Signatur ausgewertet werden können.
(2) Die Kindelemente müssen wie angegeben als Teil der zu erstellenden Signatur generiert werden können.
(3) Die Kindelemente müssen wie angegeben zur Identifikation des Schlüssels des Kommunikationsparters ausgewertet werden können.
(4) Die Erforderlichkeit bezieht sich lediglich auf das Element
sl10:SignerInfo in der Antwort auf den Befehl zur Signaturprüfung.
Neben den 509-basierten Schlüsselinformationen muss
von einer Bürgerkarten-Umgebung auch das Kindelement dsig:RetrievalMethod
(siehe [XMLDSIG], 4.4.3) zur Angabe von Verweisen
auf Schlüsselinformationen unterstützt werden.
Bezüglich der in diesem Element vorkommenden Transformationen gelten die Anforderungen aus Abschnitt 3.3.4.
Erforderlich ist einerseits die Unterstützung von direkten
Verweisen auf X509-Zertifikate (Verwendung des Wertes http://www.w3.org/2000/09/xmldsig#rawX509Certificate
im Attribut Type des Elements dsig:Retrievalmethod),
andererseits von Verweisen auf X509-basierte Schlüsselinformationen (Verwendung
des Wertes http://www.w3.org/2000/09/xmldsig#X509Data im Attribut
Type des Elements dsig:Retrievalmethod). Im letzten
Fall gelten hinsichtlich der zu unterstützenden Subkategorien die Anforderungen
aus Abschnitt 3.4.1.
Dieser Abschnitt regelt die von einer Bürgerkarten-Umgebung bei der Auflösung von URIs zu unterstützenden Protokolle. Die gemachten Angaben beziehen sich einerseits auf Verweise, die in einzelnen Request-Befehlen des Security-Layer vorkommen, andererseits auf Verweise in zu überprüfenden XML-Signaturen.
|
Protokoll
|
Anforderung im Kontext
|
||
|
Request-Befehl
|
Zu prüfende XML-Signatur
|
||
|
Daten-Verweis
|
Schlüsselinfo-Verweis
|
||
http |
erforderlich | erforderlich | erforderlich |
https |
erforderlich | erforderlich | erforderlich |
ldap |
optional | optional | empfohlen |
| relative URI (1) | erforderlich (3) | erforderlich (3) | erforderlich (3) |
| Fragment-Bezeichner(2) | darf nicht | darf nicht (4) | darf nicht (4) |
(1) Unter relativer URI ist hier eine URI zu verstehen, die keinen Protokoll-Teil enthält (vgl. [RFC2396], 3.1).
(2) Unter Fragment-Bezeichner ist hier jener an eine URI angehängte Bezeichner zu verstehen, der zusammen mit der URI eine URI-Referenz bildet (vgl [RFC2396], 4).
(3) Vergleiche den Mechanismus der Ergänzungsobjekte in der Schnittstellenspezifikation zur Unterstützung der Auflösung relativer URIs.
(4) Zur Auswahl von Teilen eines XML-Dokuments steht alternativ das Mittel der Transformationen zur Verfügung.
Das Dokument Transportprotokolle Security-Layer beschreibt die Bindung des Schnittstellenprotokolls Security-Layer an eine Reihe von möglichen Transportprotokollen. Die nachfolgende Tabelle gibt für jedes dieser Transportprotokolle an, ob die entsprechende Bindung verpflichtend zu implementieren ist oder optional zur Verfügung gestellt werden kann.
Für optionale Komponenten innerhalb einer Bindung gelten die Angaben aus dem Dokument Transportprotokolle Security-Layer.
| Transportprotokoll | Anforderung |
| TCP/IP | erforderlich |
| HTTP | erforderlich |
| SSL/TLS | empfohlen |
| HTTPS | empfohlen |