Heilberufs-Ausweis und Security Module Card

Transcription

Heilberufs-Ausweis und Security Module Card
Einführung der Gesundheitskarte
Heilberufs-Ausweis
und
Security Module Card
Te i l 2 : H B A - A n w e n d u n g e n u n d F u n k t i o nen
Version:
2.1.0 de
Stand:
28.5.2006
Status:
in Bearbeitung
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0
Seite 1 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Dokumentinformationen
Datum
Version
Modifikationen
31.07.2003
HPC V2.0
New version
22.05.2004
HPC V2.0 Rev. 1
(Draft)
- Precision and corrections
- SE selection additionally at MF level
01.09.2004
HPC V2.0 Rev. 1
(Pre-Final)
- Precision and corrections
- Card-to-card authentication only asymmetric
08.05.2005
HPC V2.05 Draft
Updated Version, some modifications still to be done
25.05.2005
HPC V2.06
Changes:
- References updated
- File structure updated
- AID.DINSIG added
- Access rules partially updated
- Certificate hierarchy updated
- Hashing enhanced
20.06.2005
HPC V2.07
Changes:
- ES-Certificate content updated
- ATR revised (greater card I/O buffer)
- SMC types introduced
- File structure updated
- Key length adopted
- New Figure H.1
30.06.2005
HPC V2.08
Changes:
- Clause 2 completely revised (now Clause 4)
- Downloading of applications added
19.09.2005
HPC V2.09
Changes:
- Harmonization with eGK
- Splitting of original HPA in HPA, QES & ESIGN
- Notation completed
- DF.CIA.ESIGN adopted to the functionality of
DF.ESIGN (only AUT and ENC)
07.10.2005
HPC V2.09
Changes:
- Role Id added in Tabelle F.2
19.11.2005
HPC V2.1 Draft
Changes:
- Figures with authentication proc. Moved to Part 1
- Download with asym. Authentication
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0
Seite 2 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Datum
Version
Modifikationen
- HPD file added
- Move of PIN management to MF level
- Addition of CVC.HPC.TCE
- Reduction of Public Keys to PuK.RCA.CS
14.12.2005
HPC V2.1
Changes:
- Harmonization CVC with eGK
- Role identifiers encoded with profile ID
- Editorial improvments
21.02.2006
HPC V2.1.0
Changes:
- Harmonization with eGK
- some minor precisions and corrections
28.05.2006
HBA 2.1.0 de
Übersetzung in die deutsche Sprache durch gematik
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0
Seite 3 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Inhaltsverzeichnis
Dokumentinformationen ......................................................................................2
Inhaltsverzeichnis ................................................................................................4
1
Erläuterungen zum Inhalt der Dokumente.................................................11
1.1
2
Technische Spezifikationen des HBA ............................................................ 11
Einführung....................................................................................................12
2.1
Zielsetzung und Einordnung des Dokumentes ............................................. 12
2.2
Zielgruppe ......................................................................................................... 12
2.3
Geltungsbereich ............................................................................................... 12
2.4
Arbeitsgrundlagen ........................................................................................... 13
2.5
Abgrenzung des Dokumentes......................................................................... 13
2.6
Notationen......................................................................................................... 13
3 Technische Eigenschaften, Answer-to-Reset (ATR)
und
Übertragungsprotokolle ....................................................................................16
3.1
Technische Eigenschaften .............................................................................. 16
3.1.1 Answer-to-Reset ........................................................................................... 16
3.1.2 Übertragungs-Protokolle ............................................................................... 16
4
Der Heilberufsausweis ................................................................................17
4.1
Allgemeine Struktur ......................................................................................... 17
4.2
Elementary Files auf der MF-Ebene................................................................ 18
4.2.1 EF.ARR ......................................................................................................... 18
4.2.2 EF.ATR ......................................................................................................... 18
4.2.3 EF.DIR .......................................................................................................... 19
4.2.4 EF.GDO ........................................................................................................ 19
4.2.5 EF.CVC.CA_HPC.CS ................................................................................... 20
4.2.6 EF.CVC.HPC.AUT ........................................................................................ 20
4.2.7 EF.PIN........................................................................................................... 20
4.2.8 EF.PrK........................................................................................................... 20
4.2.9 EF.PuK.......................................................................................................... 21
4.3
Sicherheitsumgebungen (SEs) auf MF-Ebene............................................... 22
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0
Seite 4 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
4.4
Öffnen des HBA................................................................................................ 22
4.4.1 Kommando-Sequenz nach Auslesen des ATR............................................. 22
4.4.2 Lesen von EF.ATR und EF.GDO .................................................................. 22
4.4.3 Lesen von EF.DIR......................................................................................... 23
4.4.4 Lesen der CV-Zertifikate des HBA ................................................................ 23
4.4.5 SE Auswahl auf MF-Ebene ........................................................................... 24
4.5
PIN Management .............................................................................................. 24
4.5.1 PIN Prüfung................................................................................................... 24
4.5.2 Änderung der PIN ......................................................................................... 25
4.5.3 Zurücksetzen des Fehlbedienungszählers und Setzen einer neuen PIN ..... 25
4.6
HBA/eGK-Authentifizierung ............................................................................ 26
4.6.1 Allgemeines................................................................................................... 26
4.6.2 Instanzen des CVC Schlüssel-Managements............................................... 26
4.6.3 Prüfung der CV Zertifikate der eGK .............................................................. 28
4.6.4 Durchführung des Authentifizierungs-Prozesses .......................................... 29
4.7
5
6
Autorisierung einer SMC zur Kommunikation mit einer eGK ...................... 31
Management von Kanälen...........................................................................33
5.1
Allgemeine Aspekte ......................................................................................... 33
5.2
Öffnen eines logischen Kanals ....................................................................... 33
5.3
Schließen eines logischen Kanals.................................................................. 34
Die Heilberufs-Anwendung HPA ................................................................35
6.1
File-Struktur und File-Inhalt ............................................................................ 35
6.1.1 EF.ARR ......................................................................................................... 35
6.1.2 EF.HPD ......................................................................................................... 35
7
6.2
Sicherheitsumgebungen ................................................................................. 36
6.3
Auswahl der Anwendung ................................................................................ 36
6.4
Lesen und Aktualisieren des EF.HPD ............................................................ 36
Anwendung für die qualifizierte elektronische Signatur (QES) ...............38
7.1
File-Struktur und File-Inhalt ............................................................................ 38
7.1.1 EF.ARR ......................................................................................................... 38
7.1.2 EF.PrK........................................................................................................... 39
7.1.3 EF.PIN........................................................................................................... 39
7.1.4 EF.DM ........................................................................................................... 40
7.1.5 EF.C.HP.QES ............................................................................................... 40
7.1.6 EF.C.HP.QES-AC1, -AC2 and -AC3............................................................. 40
7.2
Erzeugung einer qualifizierten elektronischen Signatur .............................. 40
7.3
Sicherheitsumgebung (SE) ............................................................................. 41
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0
Seite 5 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
7.4
Auswahl der Anwendung QES........................................................................ 41
7.5
PIN Management .............................................................................................. 42
7.5.1 PIN Prüfung................................................................................................... 42
7.5.2 PIN Änderung................................................................................................ 42
7.5.3 Zurücksetzen des Fehlbedienungszählers.................................................... 43
7.6
Berechnung der QES ....................................................................................... 43
7.6.1 Signieren mit der letzten Runde der Hashwert-Berechnung im HBA............ 43
7.6.2 Signieren mit vollständigem Hashen außerhalb der Karte............................ 45
7.7
Auslesen der zu QES gehörenden Zertifikate ............................................... 46
7.8
Schreiben von Attributszertifikaten................................................................ 47
7.9
Fernbediente QES-Erzeugung ........................................................................ 47
8
Die ESIGN Anwendung................................................................................48
8.1
File-Struktur und File-Inhalt ............................................................................ 48
8.1.1 EF.ARR ......................................................................................................... 48
8.1.2 EF.PrK........................................................................................................... 48
8.1.3 EF.DM ........................................................................................................... 49
8.1.4 EF.C.HP.AUT................................................................................................ 49
8.1.5 EF.C.HP.ENC ............................................................................................... 49
8.2
Sicherheitsumgebung...................................................................................... 49
8.3
Auswahl der ESIGN Anwendung .................................................................... 50
8.4
Lesen eines X.509 Zertifikates ........................................................................ 50
8.5
PIN Management .............................................................................................. 51
8.6
Client / Server Authentifizierung..................................................................... 51
8.7
Entschlüsselung des Dokumenten-Chiffrierungsschlüssels ...................... 52
8.8
Fernbediente Nutzung der ESIGN-Anwendung............................................. 53
9
Kryptografische Informations-Anwendung ...............................................54
9.1
File-Struktur und File-Inhalt von DF.CIA.ESIGN............................................ 54
9.2
Anwendungsauswahl....................................................................................... 54
9.3
Lesen der CIA-Files.......................................................................................... 55
10
Interaktionen zwischen HBA und SMC ...................................................56
10.1
Lesen der CV-Zertifikate ................................................................................ 56
10.2
SE-Auswahl auf MF Ebene ............................................................................ 56
10.3
Auswahl der Anwendung, die mit SM genutzt werden soll ........................ 56
10.4
SE-Auswahl auf DF-Ebene ............................................................................ 56
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0
Seite 6 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
10.5
CVC Prüfung ................................................................................................... 57
10.6
Authentifizierung mit TC-Einrichtung .......................................................... 57
10.7
Lesen und Aktualisieren einer Display Message ........................................ 59
11
Laden einer neuen Anwendung oder Erstellung eines EFs nach
Ausgabe des HBA ..............................................................................................61
11.1
Identifizierung des HBA-Betriebssystems ................................................... 61
11.2
Einrichtung eines Trusted Channel zwischen CAMS und HBA ................. 61
11.3
Laden einer Anwendung................................................................................ 63
11.4
Registrieren der neuen Anwendung in EF.DIR............................................ 63
11.5
Erstellung eines EF ........................................................................................ 63
Anhang A (normativ) ATR.................................................................................65
A.1 ATR Kodierung ..................................................................................................... 65
Annex B (normativ) File-Attribute, Zugriffsbedingungen und
Sicherheitsumgebungen....................................................................................68
B.1 Zugriffsbedingungen............................................................................................ 68
B.2 MF-Ebene .............................................................................................................. 68
B.3 DF.HPA .................................................................................................................. 71
B.4 DF.QES .................................................................................................................. 72
B.5 DF.ESIGN............................................................................................................... 73
B.6 DF.CIA.ESIGN ....................................................................................................... 74
Annex C (normative) Struktur und Inhalt der QES-Zertifikate ........................76
C.1 Zertifikat des öffentlichen Schlüssels für elektronische Signaturen (X.509v3
QES-Zertifikat) ............................................................................................................. 76
C.1.1 Allgemeine Aspekte ......................................................................................... 76
C.1.2 Zertifikatsstruktur ............................................................................................. 76
C.2 ToBeSignedCertificate ......................................................................................... 77
C.2.1 Generelle Struktur............................................................................................ 77
C.2.2 Version............................................................................................................. 77
C.2.3 Seriennummer ................................................................................................. 78
C.2.4 Signatur............................................................................................................ 78
C.2.5 Herausgeber .................................................................................................... 78
C.2.5.1 Country name ............................................................................................... 79
C.2.5.2 Organization name........................................................................................ 80
C.2.6 Validity ............................................................................................................. 80
C.2.7 Subject ............................................................................................................. 81
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0
Seite 7 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
C.2.7.1 Country name............................................................................................ 81
C.2.7.2 State or province ....................................................................................... 81
C.2.7.3 Common name ......................................................................................... 81
C.2.7.4 Serial number .......................................................................................... 82
C.2.8 Subject public key info ..................................................................................... 82
C.2.9 Extensions ....................................................................................................... 84
C.2.9.1 Basic Constraints ...................................................................................... 85
C.2.9.2 Key usage (Schlüsselnutzung) .............................................................. 86
C.2.9.3 Certificate Policies .................................................................................. 86
C.2.9.4 Subject Alternative Name ....................................................................... 87
C.2.9.5 Subject Directory Attributes................................................................... 88
Standard Attributes ............................................................................................. 88
Title Attribute........................................................................................................ 88
C.2.9.6 Authority Key Identifier........................................................................... 89
C.2.9.7 Subject Key Identifier.............................................................................. 90
C.2.9.8 Authority Information Access ................................................................ 90
C.2.9.9 Validity Model .......................................................................................... 91
C.2.9.10 Qualified Certificate Statements .......................................................... 91
C.2.9.11 CRL Distribution Points........................................................................ 93
C.2.9.12 Professional Admission ....................................................................... 94
C.2.9.13 Restriction.............................................................................................. 98
C.2.9.14 Additional Information .......................................................................... 98
C.3 Signature algorithm.............................................................................................. 99
C.4 Signature ............................................................................................................... 99
C.5 QES-Zertifikat in Tabellenform und mit kompletter Syntax.............................. 99
C.6 Object Identifier, die in dieser Spezifikation verwendet werden.................... 107
C.7 Attributszertifikat für elektronische Signaturen (X.509v3 Zertifikat) ............. 108
C.7.1 Attributszertifikat für Qualifikationen .............................................................. 110
C.7.2 Attributs-Zertifikate für Autorisierungen ......................................................... 110
C. 8 Certification Authorities für X.509 Zertifikate ................................................. 111
Anhang D (normativ) Zertifikate für Authentifizierung und Verschlüsselung
...........................................................................................................................113
D.1 Struktur und Inhalt ............................................................................................. 113
D.2 Kodierung............................................................................................................ 113
Anhang E (normative) Algorithmen und Input-Formate für Sicherheits
Operationen ......................................................................................................115
E.1 RSA-DSI-Formate................................................................................................ 115
E.1.1 DSI gemäß ISO/IEC 9796-2 mit Zufallszahl................................................... 115
E.1.2 DSI gemäß PKCS #1 ..................................................................................... 115
E.1.3 Algorithm Identifier für PSO: HASH und PSO: COMPUTE DS...................... 116
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0
Seite 8 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
E.2 Algorithm Identifier für INTERNAL AUTHENTICATE....................................... 116
Anhang F (normative) Issuer Identifier und Certificate Holder Authorizations
...........................................................................................................................118
F.1 Issuer Identifier ................................................................................................... 118
F.2 Profile Identifier................................................................................................... 119
Anhang G (normative) Inhalt der EFs für die Personalisierung ..................121
G.1 EF.ATR ................................................................................................................ 121
G.2 EF.DIR.................................................................................................................. 121
G.3 EF.GDO................................................................................................................ 121
G.4 EF.CVC.CA_HPC.CS und EF.CVC.HPC.AUT.................................................... 122
G.5 EF.C.HP.QES, EF.C.HP.AUT and EF.C.HP.ENC............................................... 122
G.6 EF.CIAInfo ........................................................................................................... 122
G.7 EF.OD .................................................................................................................. 122
G.8 EF.AOD................................................................................................................ 122
G.9 EF.PrKD............................................................................................................... 122
G.10 EF.CD................................................................................................................. 122
Anhang H (informativ) Cryptographic Information Objects..........................123
H.1 EF.CIAInfo ....................................................................................................... 123
H.1.1 ASN.1 Notation der ASN.1-Werte.................................................................. 123
H.1.2 Beschreibung der ASN.1 tags, lengths und values........................................ 123
H.1.3 Hexadezimale DER-Kodierung ...................................................................... 123
H.2 EF.OD .............................................................................................................. 124
H.2.1 Notation der ASN.1-Werte ............................................................................. 124
H.2.2 Beschreibung der ASN.1 tags, lengths und values........................................ 124
H.2.3 Hexadezimale DER-Kodierung ...................................................................... 125
H.3 EF.AOD............................................................................................................ 125
H.3.1 Notation der ASN.1-Werte ............................................................................. 125
H.3.2 Beschreibung der ASN.1 tags, lengths und values........................................ 126
H.3.3 Hexadezimale DER-Kodierung ...................................................................... 127
H.4 EF.PrKD........................................................................................................... 128
H.4.1 Notation der ASN.1-Werte ............................................................................. 129
H.4.2 Beschreibung der ASN.1 tags, lengths und values........................................ 130
H.4.3 Hexadezimale DER-Kodierung ...................................................................... 131
H.5 EF.CD............................................................................................................... 132
H.5.1 Notation der ASN.1-Werte ............................................................................. 133
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0
Seite 9 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
H.5.2 Beschreibung der ASN.1 tags, lengths und values........................................ 133
H.5.3 Hexadezimale DER-Kodierung ...................................................................... 135
Anhang I ............................................................................................................136
I.1 - Abkürzungen ...................................................................................................... 136
I.2 - Glossar................................................................................................................ 141
I.3 - Referenzierte Dokumente.................................................................................. 141
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 10 von 144
Version: 2.1.0
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
1 Erläuterungen zum Inhalt der Dokumente
Die Dokumentation für den Heilberufsausweis (HBA) und die Security Module Card (SMC)
besteht aus drei Teilen.
1.1 Technische Spezifikationen des HBA
•
Heilberufsausweis und SMC
Teil 1: Kommandos, Algorithmen und Funktionen der BetriebssystemPlattform
Im Teil 1 werden die Basiskommandos, die Grundfunktionen des Betriebssystems
sowie die grundlegenden Sicherheitsfunktionen und -algorithmen (hard facts) detailliert beschrieben.
Diese Spezifikation ist Grundlage der Entwicklung der Kommandostrukturen und –
funktionen für HBA- und SMC-konforme Chipkartenbetriebssysteme; sie ist somit
die Grundarchitektur für die ROM-Maske des Halbleiters.
•
Heilberufsausweis und SMC
Teil 2: HBA: Anwendungen und Funktionen
Im Teil 2 werden die anwendungsspezifischen Strukturen des HBA beschrieben.
Dieser Teil enthält die Spezifikationen für die Dateistrukturen und die zugehörigen
Datenelemente,, die bei der Initialisierung und Personalisierung in den HBA geladen werden.
Insbesondere sind hierin die Dateistrukturen der Heilberufsanwendung HPA und
der Anwendungen „qualifizierte Signatur“ und „eSign Anwendung“ spezifiziert. Dazu gehören entsprechende statische Daten sowie die Strukturen und Datencontainer für Zertifikate und Schlüsselelemente.
•
Heilberufsausweis und SMC
Teil 3: SMC: Anwendungen und Funktionen
Im Teil 3 werden die anwendungsspezifischen Strukturen der SMC beschrieben.
Dabei werden zwei Typen von SMCs unterschieden: SMC-A für die Nutzung innerhalb einer Institution, Typ B zusätzlich zur Authentifizierung einer Institution gegenüber der Gesundheits-Telematik-Infrastruktur. Dieser dritte Teil enthält die
Spezifikationen für die Dateistrukturen und die zugehörigen Datenelemente, die
bei der Initialisierung (SMC-A und SMC-B) und Individualisierung (SMC-B) geladen werden.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 11 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
2 Einführung
2.1 Zielsetzung und Einordnung des Dokumentes
Dieser Teil der Spezifikation beschreibt die Karten-Schnittstelle zu:
dem Heilberufsausweis (HBA) für Angehörige approbierter Heilberufe
und Authentifizierungsverfahren zwischen HBA und elektronischer Gesundheitskarte (eGK),
bei denen die Authentizität der eGK geprüft und Zugriffsrechte zugewiesen werden.
Die Spezifikation ist so aufgebaut, dass sie an die Anforderungen anderer Heilberufe angepasst werden kann.
Die Spezifikation berücksichtigt dabei:
• das deutsche Signaturgesetz und die zugehörende Signaturverordnung (SiG und
SigV)
• die DIN-Spezifikation für Chipkarten mit digitaler Signatur
• die eSIGN-Spezifikation für elektronische Signaturen
• die zugehörenden ISO-Standards (speziell ISO/IEC 7816, Teile 1-4, 6, 8, 9 und
15)
• Andere Quellen (z.B. Anforderungen der Trust-Center)
Ein HBA ist mindestens 3 Jahre gültig. Ein Heilberufler kann mehr als einen HBA besitzen.
2.2 Zielgruppe
Das Dokument richtet sich an Kartenhersteller.
2.3 Geltungsbereich
Der Inhalt des Dokumentes ist verbindlich für die Erstellung von Heilberufsausweisen und
Security Module Cards.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 12 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
2.4 Arbeitsgrundlagen
Die Ausarbeitung steht in engem Zusammenhang mit den weiteren Spezifikationen für Heilberufsausweis (HBA) und SMC [HBA-T1] und [HBA-T3] und mit den Spezifikationen der elektronischen Gesundheitskarte [eGK-P1] und [eGK-P2]
2.5 Abgrenzung des Dokumentes
Dieses Dokument beschreibt die anwendungsbezogenen Ausprägungen und Dateninhalte,
die zur Herstellung und zum Betrieb eines Heilberufsausweises (HBA) verwendet werden.
Die dafür notwendigen technischen Eigenschaften des Chipkörpers werden in Teil 1 "Kommandos, Algorithmen und Funktionen der Betriebssystem-Plattform" verbindlich festgelegt.
2.6 Notationen
Für Schlüssel und Zertifikate wird die folgende vereinfachte Backus-Naur-Notation verwendet:
<object descriptor> ::= <key descriptor> | <certificate descriptor>
<key descriptor>::= <key>.<keyholder>.<key usage> | <SMkey>
<key>::= <private key> | <public key> | <secret key> | <individual key>
<private key>::= PrK (asym.)
<public key>::= PuK (asym.)
<secret key>::= SK (sym., not used)
<individual key>::= IK (sym., not used)
<keyholder>::= <health professional> | <card holder> | <certification authority> | <health professional card> | <electronic health card> | <security module card> | <server>
<health professional> ::= HP
<card holder> ::= CH
<certification authority>::= RCA | CA | CA_NN
<health professional card> ::= HPC
<electronic health card> ::= eGK (elektronische GesundheitsKarte)
<security module card> ::= SMC
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 13 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
<server> ::= S
<key usage>::= <qualified electronic signature> | <encipherment> | <authentication> | <certsign>
<qualified electronic signature>::= QES
<encipherment>::= ENC
<authentication>::= AUT
<certsign>::= CS
<SMkey> ::= SMK.ENC | SMK.MAC
<certificate descriptor>::=
<certificate>.<certificate holder>.<certificate usage>
<certificate>::= <X.509v3 certificate> | <card verifiable certificate>
<X.509v3 certificate>::= C
<card verifiable certificate>:: CVC
<certificate holder>::=
<health professional> | <certification authority> | <health professional card> | <security module card> | <server>
<certificate usage>::= <qualified electronic signature> | <encipherment> | <authentication> |
<certsign>
<qualified electronic signature>::= QES | QES-ACx
<encipherment>::= ENC
<authentication>::= AUT
<certsign>::= CS
Für aufeinanderfolgende Datenelemente wird die folgende Notation verwendet
|| = Konkatenation von Datenelementen
X.509v3-Zertifikate werden in diesem Dokument ohne Versionsnummer dargestellt.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 14 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Hexadezimalzahlen werden mit Hochkomma dargestellt, z. B. '30'.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 15 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
3 Technische Eigenschaften, Answer-to-Reset (ATR)
und Übertragungsprotokolle
3.1 Technische Eigenschaften
HBAs sind kontaktbehaftete Smartcards, die PK-Algorithmen ausführen können. Die physikalischen Eigenschaften müssen mit ISO/IEC 7816-1 und den zugehörenden Standards übereinstimmen.
Die Abmessungen und die Anordnung der Kontakte mit ISO/IEC 7816-2 übereinstimmen.
Ein HBA ist eine Chipkarte in Normalgröße (ID-1-Karte), die SMC ist normalerweise eine
Plug-In-Karte (ID-000).
Die Beschreibung der optischen Gestaltung erfolgt nicht in diesem Dokument.
Die Größe des EEPROM muss die Installation aller Anwendungen und der in diesem Dokument beschriebenen zugehörenden Daten zulassen.
3.1.1 Answer-to-Reset
Die Kodierung des ATR wird in Anhang A beschrieben.
3.1.2 Übertragungs-Protokolle
Das zu unterstützende Übertragungsprotokoll ist T = 1 (weitere Einzelheiten werden in Anhang A beschrieben).
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 16 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
4
Der Heilberufsausweis
4.1 Allgemeine Struktur
Der HBA enthält:
• einige EFs für allgemeine Datenobjekte in der MF-Ebene, CV-Zertifikate und globale Schlüssel für Authentifizierungsverfahren ( mit denen Zugriffsrechte auf die
eGK zugewiesen werden und die Authentizität der eGK überprüft werden kann)
• die Heilberufs-Anwendung (HPA) zur Bereitstellung von Datenelementen, die auf
den Heilberufler bezogen sind
• Signaturen
• die eSIGN-Anwendung für
- Client/Server-Authentifizierung
- Dokumenten-Ver- und Entschlüsselung
• Die Anwendung mit Informationen zu den verwendeten kryptografischen Verfahren (CIA), die sich gemäß [CWA 14890-1] auf die eSIGN bezieht.
Die allgemeine Struktur des HBA wird in Abbildung 1 dargestellt.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 17 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
MF
EF.ARR**
DF.HPA
DF.ESIGN
DF.QES
EF.ATR
DF.CIA.ESIGN
EF.DIR
EF.GDO
EF.CVC.CA_HPC.CS
EF.CVC.HPC.AUT
EF.PIN*
- PIN.CH
EF.PrK*
- PrK.HPC.AUT
EF.PuK*
- PuK.RCA.CS
- PuK.CAMS_HPC.AUT
* diese Datei ist COS-spezifisch
** diese Datei muss – falls
vorhanden – gemäß
ISO/IEC 7816-4 genutzt werden
Die CA_SMC kann mit der
CA_HPC identisch sein
Abbildung 1 –Dateistruktur des HBA
Anmerkung:
Im Moment wird kein DF.CIA.QES benötigt.
4.2 Elementary Files auf der MF-Ebene
4.2.1 EF.ARR
EF.ARR enthält die Zugriffsregeln für die MF-Ebene.
4.2.2 EF.ATR
Die transparente Datei EF.ATR enthält ein spezielles Datenobjekt zur Anzeige der I/OPuffer-Größen und das DO 'Pre-issuing Daten' das für CAMS-Dienste benötigt wird. Der Inhalt von EF-ATR ist in Tabelle G.1 spezifiziert.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 18 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
4.2.3 EF.DIR
EF.DIR enthält die Anwendungs-Templates für DF.HPA, DF.QES, DF.ESIGN und
DF.CIA.ESIGN, wie sie in ISO/IEC 7816-4 beschrieben sind. EF.DIR erlaubt die Hinzufügung
von AIDs zukünftiger (heruntergeladener) Anwendungen. Der Inhalt von EF.DIR ist in Tabelle G.1 spezifiziert.
4.2.4 EF.GDO
EF.GDO enthält das DO ICC-Serien-Nummer (ICCSN, Tag ‘5A’, siehe Abbildung 2) gemäß
[Resolution190].
MII = Major Industry
Identifier
TICCSN
‘5A‘
ICCSN
L
’0A‘
20 Zeichen (10 Byte)
EN 1867
MII
Country Issuer
Code Identifier
(´80´) (´276´) (5 BCD)
Serial
Number (SN)
(10 BCD)
ISO 3166
Issuer Id.
Number (IIN)
ICC Serial Number
gemäß EU Resolution 190
Abbildung 2 – ICC-Seriennummer des HBA
Die "Issuer Identification Number" (eindeutige Identifikationsnummer des Kartenherausgebers), die für den HBA genutzt wird, wird in Anhang F beschrieben.
In dieser Spezifikation wird die ICCSN für
• die Karten-Identifikation, z.B. durch ein CAMS
• und zum Referenzieren der Schlüssel in CVCs
genutzt
Der Kartenherausgeber muss sicherstellen, dass die Seriennummer (SN) eineindeutig ist
(besonders, wenn verschiedene Kartenhersteller beteiligt sind).
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 19 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
4.2.5 EF.CVC.CA_HPC.CS
EF.CVC.CA_HPC.CS enthält das von der Karte prüfbare Zertifikat des Zertifikatsherausgebers (Certificate Service Provider), das von der Wurzel-CA (Root CA) des Gesundheitswesens für eine CA_NN_HPC (NN z.B. eine CA für Ärzte oder Apotheker) erstellt wird. Struktur
und Inhalt eines CVC sind in [HBA-T1] beschrieben.
4.2.6 EF.CVC.HPC.AUT
EF.CVC.HPC.AUT enthält das von der Karte prüfbare Zertifikat des HBA für eine Card-toCard Authentifizierung zwischen HBA und eGK oder HBA und SMC. Struktur und Inhalt eines CVC sind in [HBA-T1] beschrieben.
4.2.7 EF.PIN
EF.PIN enthält die globale PIN des Karteninhabers (PIN.CH). Die PIN besteht aus mindestens 5 Ziffern und ist änderbar. Der Wiederholungszähler hat den Anfangswert 3.
Die Nutzung eines 8-stelligen Rücksetzcodes wird durch einen Nutzungszähler beschränkt,
dessen Anfangswert auf 10 gesetzt ist. Der Nutzungszähler wird bei jeder Nutzung heruntergezählt, unabhängig davon, ob der eingegebene Wert richtig oder falsch ist. Die Eingabe des
korrekten Wertes setzt den Wiederholungszähler von PIN.CH auf den Anfangswert (3) zurück.
Die folgende Tabelle zeigt die PIN-Eigenschaften:
Tabelle 1 – PIN-Eigenschaften
PINName
PIN.CH
PIN-Länge PIN Ref. Anfangswert des Rücksetz-Code Anfangswert des NutWiederholungs- (PUK)
zungszählers (PUK)
zählers
5 - 8 Zif‘01’
3
8 Ziffern
10
fern
4.2.8 EF.PrK
EF.PrK enthält
• den globalen privaten Schlüssel PrK.HPC.AUT für C2C-Authentifizierungen
(HBA/eGK und HBA/SMC).
Tabelle 2 zeigt die Eigenschaften des Schlüssels.
Tabelle 2 –Eigenschaften des Schlüssels PrK.HPC.AUT
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 20 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Schlüssel- Name
SchlüsselLänge
KeyID
SE #
Zugriffsbedingungen
PrK.HPC.AUT
für HBA/eGK-Authentifizierung ohne
TC und HBA-Authentifizierung zur
Autorisierung einer SMC)
1024 bit
(RSA)
‘10’
siehe Anmerkung 1
'01'
PIN.CH
PrK.HPC.AUT
für HBA/SMC-Authentifizierung
mit TC)
1024 bit
(RSA)
‘11’
siehe Anmerkung 1
'02'
immer
siehe Anmerkung 2
Anmerkungen
(1) In Karten, die erlauben, dass ein Schlüssel mehr als eine KID haben darf (multi-KIDreferencing), ist der Schlüssel nur einmal vorhanden. In anderen Karten kann der Schlüssel
zweimal gespeichert werden. Die Nutzung des Schlüssels ist an die KID gebunden. Deshalb
ist der AlgID implizit gesetzt.
(2) SE#2 kann nicht für die HBA/eGK-Kommunikation missbraucht werden, da SE#2 SM verwendet. Da der HBA die Generierung gesicherter Kommandos, die an die eGK geschickt werden könnten, nicht zulässt, ist kein Zugriff auf sensible Daten in der eGK möglich. Der Zugriff
auf eine eGK ist nur im SE#1 möglich, wobei der Heilberufler vorher seine PIN.CH erfolgreich
eingegeben haben muss.
Der zu PrK.HPC.AUT gehörende öffentliche Schlüssel ist in CVC.HPC.AUT gespeichert.
4.2.9 EF.PuK
EF.PuK enthält
• den öffentlichen Schlüssel PuK.RCA.CS der Wurzel-CA für das Gesundheitswesen für die Prüfung von CVCs, die von dieser herausgegeben werden.
• den öffentlichen Schlüssel PuK.CAMS_HPC.AUT, mit dem eine Authentifizierung
zwischen HBA und CAMS mit der Einrichtung eines TC durchgeführt wird.
•
Der "key identifier" des PuK.RCA.CS kann aus dem HBA gemäß Abbildung 3 ausgelesen
werden. Tabelle 3 zeigt den "key identifier" des PuK.CAMS_HPC.AUT.
Tabelle 3 –Schlüssel-Eigenschaften des PuK.CAMS_HPC.AUT
Schlüssel-Name
PuK.CAMS_HPC.AUT
Schlüssel-Länge
1024 bit
(RSA)
KeyID
‘13’
AlgID
‘1F’
PuK.CAMS_HPC.AUT ist ein globaler Schlüssel und hat immer dieselbe Schlüssel-Referenz
an der Schnittstelle zum HBA; der Schlüsselwert selbst kann allerdings von dem Ausgabejahr des HBA abhängen, siehe Kapitel 11.2.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 21 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
4.3 Sicherheitsumgebungen (SEs) auf MF-Ebene
Auf MF-Ebene werden die folgenden Sicherheitslevel (SE) verwendet:
• SE#1 ist das generelle SE auf der MF-Ebene und wird in allen Fällen mit Ausnahme des Falles genutzt, der SE#2 zugewiesen ist.
• SE#2 ist mit der Nutzung von PrK.HPC.AUT zur Einrichtung eines Trusted Channel zwischen HBA und eGK verbunden.
4.4 Öffnen des HBA
4.4.1 Kommando-Sequenz nach Auslesen des ATR
Die Kommandosequenz, die nach dem Auslesen des ATR gesendet werden muss, hängt
von der äußeren Umgebung und ihrem Wissen über die jeweilige Karte ab. Im Prinzip können die folgenden Umgebungen unterschieden werden:
• Zugelassene Umgebung des Gesundheitswesens
• sonstige Umgebungen, die die Karte nicht kennen
In einer Umgebung, in der alles bekannt ist, ist es nicht unbedingt notwendig, die ICCSN zu
lesen und über sie z.B. ein bestimmtes Kartenprofil zu identifizieren, das die zum HBA gehörenden CV-Zertifikate enthält. In anderen Umgebungen, in der z.B. der HBA nicht bekannt
ist, kann es notwendig sein, zuerst das EF.DIR, das EF.GDO und möglicherweise auch die
kryptografischen Informations-Objekte in den EFs von DF.CIA.ESIGN zu lesen.
Im Folgenden wird das Lesen von EF.DIR und EF.GDO beschrieben.
4.4.2 Lesen von EF.ATR und EF.GDO
Zum Lesen von EF.ATR und EF.GDO wird das ISO/IEC 78216-4-Kommando READ BINARY
verwendet.
Tabelle 4 - Kommando READ BINARY mit SFID
CLA
INS
P1
P2
Lc
Datenfeld
Le
wie in ISO/IEC 7816-4 definiert
‘B0’ = READ BINARY
‘xx’ = b8-b6: 100
b5-b1: 11101 SFID von EF.ATR: 29
b5-b1: 00010 SFID von EF.GDO: 2
‘00’ = Offset
nicht vorhanden
nicht vorhanden t
‘00’ = Lesen bis zum Ende des Files
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 22 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Tabelle 5 - READ BINARY Antwort
Datenfeld
SW1-SW2
Daten
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
4.4.3 Lesen von EF.DIR
Zum Lesen von EF.DIR wird das ISO/IEC-4-Kommando READ RECORD genutzt.
Tabelle 6 – Kommando READ RECORD
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘B2’ = READ RECORD
‘xx’ = Record Nr.
‘F4’ = b8-b4: 11110 SFID von EF.DIR: 30
b3-b1: 100 Read Record P1
nicht vorhanden
nicht vorhanden
‘00’ = kompletter Record
Anmerkung:
In nachfolgenden Kommandos kann der Short EFID zu Null gesetzt werden (P2 = '04').
Tabelle 7 – Kommando READ RECORD
Datenfeld
SW1-SW2
Record
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
4.4.4 Lesen der CV-Zertifikate des HBA
Zum Lesen der zu einem HBA gehörenden Zertifikate CVC.CA_HPC.CS und CVC.HPC.AUT
wird das Kommando READ BINARY benutzt. Diese Zertifikate sollten im PC des Heilberuflers gespeichert werden, damit sie nur einmal gelesen werden müssen. Dadurch kann bei
weiterer Nutzung Zeit gespart werden.
Tabelle 8 – Kommando READ BINARY zum Lesen eines CV Zertifikates
CLA
INS
P1
Wie in ISO/IEC 7816-4 definiert
‘B0’ = READ BINARY
‘8x’ = b8-b6:100
b5-b1: 00011 SFID von EF.CVC.HPC.AUT: 3
b5-b1: 00100 SFID von EF.CVC.CA_HPC.CS: 4
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 23 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
P2
Lc
Datenfeld
Le
‘00’ = Offset
nicht vorhanden
nicht vorhanden
‘00’ = Lesen bis zum Ende des Files (max 256 B)
Tabelle 9 - READ BINARY Antwort
Datenfeld
SW1-SW2
CV Zertifikat
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
4.4.5 SE Auswahl auf MF-Ebene
Falls die Nutzung von SE#2 gefordert wird (siehe Kapitel 10.2), muss das ISO/IEC 7816-4Kommando MSE an den HBA gesendet werden.
Tabelle 10 – Kommando MSE zum Auswählen von SE # 2
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘22’ = MANAGE SECURITY ENVIRONMENT
‘F3’ = RESTORE
‘02’ = SE # 2
nicht vorhanden
nicht vorhanden
nicht vorhanden
Tabelle 11 - MSE Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
4.5 PIN Management
4.5.1 PIN Prüfung
Für die PIN-Prüfung wird das ISO/IEC 7816-4 Kommando VERIFY genutzt.
Tabelle 12 – Kommando VERIFY für die PIN Prüfung
CLA
INS
P1
P2
Lc
Datenfeld
Wie in ISO/IEC 7816-4 definiert
‘20’ = VERIFY
‘00’
‘01’ = PIN.CH Referenz
‘08’ = Länge des zugehörenden Datenfeldes
PIN (PIN Format: siehe [HBA-T1])
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 24 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Le
nicht vorhanden
Tabelle 13 - VERIFY Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Falls die eingegebene PIN falsch ist und zusätzliche Versuche erlaubt sind, muss die Zahl
der noch möglichen Versuche in den Status Codes, die in [HBA-T1] spezifiziert sind, angezeigt werden
4.5.2 Änderung der PIN
Zur Änderung der PIN kann das ISO/IEC 7816-4-Kommando CHANGE.RD zu jeder Zeit vom
Heilberufler genutzt werden. Ist das Kommando erfolgreich ausgeführt, soll der Sicherheitsstatus "PIN mit Referenz '01' erfolgreich eingegeben" gesetzt werden.
Tabelle 14 – Kommando CHANGE RD
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘24’ = CHANGE REFERENCE DATEN
‘00’ = Ändere Referenz-Daten
‘01’ = PIN.CH Referenz
‘10’ = Länge des zugehörenden Datenfeldes
PIN_alt || PIN_neu (PIN Format: siehe [HBA-T1])
nicht vorhanden
Anmerkung:
Ob ein Sicherheitszustand gesetzt wird, wenn die Transport-PIN eingegeben wird, hängt von den
Vorgaben für die Handhabung der Transport-PIN im jeweiligen HBA ab.
Tabelle 15 - CHANGE RD Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
4.5.3 Zurücksetzen des Fehlbedienungszählers und Setzen einer neuen PIN
Zum Zurücksetzen des Fehlbedienungszählers auf seinen Ausgangswert und – falls so realisiert – zum Setzen einer neuen PIN.CH wird das Kommando RESET RETRY COUNTER
verwendet.
Der Sicherheitsstatus wird durch dieses Kommando weder gesetzt noch beeinflusst. Deshalb
wird zusätzlich ein VERIFY-Kommando benötigt.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 25 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Tabelle 16 – Kommando RESET RC zum Zurücksetzen des Fehlbedienungszählers und möglicherweise zum Setzen einer neuen PIN
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘2C’ = RESET RETRY COUNTER
‘00’ oder ‘01’
‘01’ = PIN.CH Referenz
‘10’ oder ‘08’ = Länge des zugehörenden Datenfeld
- Falls P1 = ‘00’ und P2 = ’01’: Rücksetz-Code (8 Bytes) gefolgt von einer
neuen PIN (8 Bytes)
- wenn P1 = ‘01’: Rücksetz-Code (8 Bytes)
(RC und PIN Format: siehe [HBA-T1])
nicht vorhanden
Tabelle 17 - RESET RC-Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
4.6 HBA/eGK-Authentifizierung
4.6.1 Allgemeines
Für die HBA/eGK-Authentifizierung sind zwei Schritte notwendig:
- 1. die eGK muss ihre Authentizität nachweisen
- 2. der Heilberufler muss seine Zugriffsberechtigung nachweisen
Hierfür muss eine CV-basierte Authentifizierung stattfinden, nach der in der eGK der zugehörige Sicherheitsstatus gesetzt ist, z.B. "Autorisierung des Zertifikatsinhabers (siehe Anhang
F) wurde erfolgreich übermittelt".
Während des Authentifizierungsprozesses werden keine SM-Schlüssel erzeugt, da der HBA
in der folgenden Kommunikation mit der eGK (Lesen und Schreiben von Daten) nicht beteiligt ist.
Der HBA muss sicherstellen, dass der Authentifizierungsprozess zwischen HBA und eGK
nur nach erfolgreicher Eingabe der PIN.CH durch den Heilberufler möglich ist.
4.6.2 Instanzen des CVC Schlüssel-Managements
Das allgemeine Modell für CV-Zertifikate und Instanzen des Schlüssel-Managements für
CVC-Schlüssel zeigt Abbildung 3. Die Abbildung zeigt im besonderen, wo die "Key Identifier"
lokalisiert sind, die für die CVC-Prüfung und den nachfolgenden Authentifizierungsprozess
benötigt werden.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 26 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Wurzel-CA Gesundheitswesen
PuK.RCA.CS
PrK.RCA.CS
CVC.
CA_NN_
eGK.CS
CAs
Krankenversicherungen
CVC.
CA_NN_
HPC.CS
CAs
Heilberufler
CVC.
eGK.
AUT
CVC.
HPC.
AUT
Schlüsselreferenzen, die für das CVC
CVC-basierte
Authentisierungsverfahren in der eGK
gesetzt werden müssen
PuK.RCA.CS ist in der eGK, HPC und SMC vorhanden.
Die Schlüsselreferenz von PuK.RCA.CS ist in den Dateien
EF.CVC.CA_eGK.CS, EF.CVC.CA_HPC.CS und EF.CVC.CA_SMC.CS
in dem Wertefeld des DO CAR (Tag ‘42‘, 8 Byte) zu finden und
ist zur Prüfung von CVC.CA_NN_HPC.CS bzw. CVC.CA_NN_SMC.CS
zu setzen.
Zur Prüfung von CVC.HPC.AUT bzw. CVC.SMC.AUT ist
die Schlüsselreferenz des PuK.CA_NN_HPC bzw. PuK.CA_NN_SMC
in der Form zu setzen, wie sie in CVC.CA_NN_HPC.CS bzw.
CVC.CA_NN_SMC.CS der eGK im Feld CHR Subject
(
Key Reference)
angezeigt wurde. Die Schlüsselreferenz hat daher 12 Byte und ist
eine Konkatenation von 4 Null-Byte und dem Wert von
DO CAR (tag ‘42‘, 8 Byte) in
EF.CVC.HPC.AUT bzw. EF.CVC.SMC.AUT.
Die Schlüsselreferenz von PuK.HPC.AUT bzw. PuK.SMC.AUT ist
eine Konkatenation von 2 Null-Byte und der ICCSN (10 Byte) der HPC
bzw. SMC und hat daher ebenfalls 12 Byte. Die ICCSN.HPC ist in
EF.GDO der HPC und ICCSN.SMC in EF.GDO der SMC zu finden.
AUT
CA
CS
CVC
PrK
PuK
= Authentifizierung
= Certification Authority
= Certificate Signing
= Card Verifiable Certificate
= Privater Schlüssel
= Öffentlicher Schlüssell
CVC in HPC
(von der eGK
zu prüfen)
CVC in eGK
(von der HPC bzw.
SMC zu prüfen)
Abbildung 3 – Instanzen des CVC Schlüssel-Managements, CV Zertifikate und Schlüsselauswahl in einem HBA
Falls eine eGK mit einem neuen öffentlichen Schlüssel der Wurzelinstanz eingesetzt wird,
werden Cross-Zertifikate benötigt, die mit dem im HBA vorhandenen öffentlichen Schlüssel
der Wurzelinstanz geprüft werden können (ein Cross-Zertifikat enthält den neuen
PuK.RCA.CS und kann mit dem PuK.RCA.CS geprüft werden, der im HBA vorhanden ist)
Cross-Zertifikate werden von der Wurzel-CA bereitgestellt und können z.B. in einem Konnektor eines PVS/AVS/KIS gespeichert und von dort gelesen werden.
Da die Nutzung von CV-Zertifikaten auch über Grenzen hinweg möglich ist, können CrossZertifikate auch genutzt werden, um bei Bedarf später die öffentlichen Schlüssel der Wurzelinstanzen anderer Länder zu importieren. Mit diesen importierten Schlüsseln kann die Prüfung der Authentizität einer intelligenten Europäischen Krankenversicherungskarte EHIC
ohne irgendeine Änderung oder Erweiterung des HBA erfolgen (Die Prüfung der Authentizität
einer elektronischen EHIC könnte in naher Zukunft notwendig werden, da eine EHIC, die nur
aus auf die eGK gedruckten Daten besteht, leicht fälschbar ist und damit den Krankenversicherungen finanzielle Verluste zufügen kann).
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 27 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
4.6.3 Prüfung der CV Zertifikate der eGK
Zunächst muss der öffentliche Schlüssel der gemeinsamen Wurzel-CA mit dem Kommando
MSE ausgewählt werden. Abbildung 3 zeigt, wie die Schlüssel-Referenz durch die Software
(z.B. des PVS) gefunden werden kann.
Tabelle 18 – Kommando MSE zur Auswahl des öffentlichen Schlüssels der Wurzel
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘22’ = MANAGE SECURITY ENVIRONMENT
‘81’ = SET für die Prüfung
‘B6’ = DST
‘0A’= Länge des zugehörenden Datenfeldes
‘83 08 ...’ = DO für KeyRef von PuK.RCA.CS (siehe Abbildung 3 bzgl.
der Auswahl der KeyRef)
nicht vorhanden
Tabelle 19 - MSE Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Nachdem der öffentliche Schlüssel PuK der Wurzel ausgewählt worden ist, wird das Kommando PSO:VERIFY CERTIFICATE an den HBA gesendet. Das Datenfeld enthält die Signatur (und deckt damit den ersten Teil des Root-Zertifikats ab, dessen Zahlenwert nach der
Berechnung der Signatur wiederhergestellt wird) und den PK-Remainder (den restlichen Teil
des CV-Zertifikats, siehe [HBA-T1])
Tabelle 20 – Kommando PSO: VERIFY CERTIFICATE zur Prüfung des ersten Teils der eGK CVC
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
’2A’ = PERFORM SECURITY OPERATION: VERIFY CERTIFICATE
’00’
’AE’ = Zertifikat im Datenfeld, der signierte Signatur-Input besteht aus
nicht BER-TLV-kodierten Daten, d.h., der Zertifikatsinhalt ist eine Konkatenation von DEs
’xx’ = Länge des zugehörenden Datenfeldes
‘5F37’-L-SIG.RCA || ‘5F38’-L-PK_remainder
nicht vorhanden
Tabelle 21 - PSO: VERIFY CERTIFICATE Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 28 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Jetzt ist der öffentliche Schlüssel zur Prüfung des CVC.eGK.AUT im HBA gespeichert und
kann ausgewählt werden.
Tabelle 22 – Kommando MSE zur Auswahl des PuK von CA_NN_eGK
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘22’ = MANAGE SECURITY ENVIRONMENT
‘81’ = SET für die Prüfung
‘B6’ = DST
‘0E’= Länge des zugehörenden Datenfeldes
‘83 0C ...’ = DO für KeyRef von PuK.CA_NN_eGK.CS (siehe Abbildung
3 bzgl. der Auswahl der KeyRef)
nicht vorhanden
Tabelle 23 - MSE Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Anschließend kann das CVC.eGK.AUT geprüft werden.
Tabelle 24 – Kommando PSO: VERIFY CERTIFICATE zur Prüfung von CVC.eGK.AUT
LA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
’2A’ = PERFORM SECURITY OPERATION: VERIFY CERTIFICATE
’00’
’AE’ = Zertifikat im Datenfeld, der signierte Signatur-Input besteht aus
nicht BER-TLV-kodierten Daten, d.h., der Zertifikatsinhalt ist eine Konkatenation von DEs
’xx’ = Länge des zugehörenden Datenfeldes
‘5F37’-L-SIG.CA || ‘5F38’-L-PK_remainder
nicht vorhanden
Tabelle 25 - PSO: VERIFY CERTIFICATE Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
4.6.4 Durchführung des Authentifizierungs-Prozesses
Bevor der Authentifizierungs-Prozess durchgeführt werden kann, muss die PIN.CH erfolgreich eingegeben werden.
In einem ersten Schritt werden die Schlüssel-Referenzen für PuK.eGK.AUT und
PrK.HPC.AUT gesetzt.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 29 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Tabelle 26 – Kommando MSE zur Schlüsselauswahl
CLA
INS
P1
P2
Lc
Datenfeld
Wie in ISO/IEC 7816-4 definiert
‘22’ = MANAGE SECURITY ENVIRONMENT
‘81’ = SET für externe Authentifizierung
‘A4’ = AT
‘11’ = Länge des zugehörenden Datenfeldes
‘83 0C xx ... xx || 84 01 10’ = DO für KeyRef von PuK.eGK.AUT (siehe
Abbildung 3 bzgl. der Auswahl der KeyRef)|| DO für KeyRef von
PrK.HPC.AUT
nicht vorhanden
Le
Anmerkung:
Die Schlüssel-Referenz hat eine Länge von 12 Bytes: '0000' (2 Bytes) || ICCSN.eGK (10 Bytes)
Tabelle 27 - MSE Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Danach wird vom HBA eine Zufallszahl angefordert.
Tabelle 28 – Kommando GET CHALLENGE
CLA
INS
P1, P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘84’ = GET CHALLENGE
‘0000’
nicht vorhanden
nicht vorhanden
‘08’
Tabelle 29 - GET CHALLENGE Antwort
Datenfeld
SW1-SW2
RND.HPC (8 Bytes)
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Nach dem Kommando GET CHALLENGE folgt das Kommando EXTERNAL AUTHENTICATE, das die digitale Signatur der eGK an den HBA liefert. Um diese digitale Signatur zu erhalten, muss das Kommando INTERNAL AUTHENTICATE mit RND.HPC || ICCSN8.HPC im
Datenfeld (siehe [HBA-T1], Annex E.2) an die eGK gesendet werden. Der HBA muss die
Signatur der eGK prüfen.
Tabelle 30 – Kommando EXT. AUTHENTICATE zur Authentifizierung der eGK
CLA
Wie in ISO/IEC 7816-4 definiert
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 30 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
INS
P1
P2
Lc
Datenfeld
Le
‘82’ = EXTERNAL AUTHENTICATE
‘00’
‘00’
‘xx’ = Länge des zugehörenden Datenfeldes
auf die Authentifizierung bezogene Daten, siehe [HBA-T1], Anhang E.2
nicht vorhanden
Tabelle 31 - EXT. AUTHENTICATE Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Nachdem die eGK authentifiziert ist, muss der HBA seine Zugriffsrechte auf die eGK nachweisen. Die zuständige Software (z.B. des Konnektors) muss von der eGK vor der Sendung
weiterer Kommandos eine Zufallszahl abfordern.
Tabelle 32 – Kommando INT. AUTHENTICATE
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘88’ = INTERNAL AUTHENTICATE
‘00’
‘00’
‘10’ = Länge des zugehörenden Datenfeldes
auf die Authentifizierung bezogene Daten, siehe [HBA-T1], Annex E.2
‘00’ oder ‘xx’ = Länge der erwarteten Signatur
Tabelle 33 - INT. AUTHENTICATE Antwort
Datenfeld
SW1-SW2
auf die Authentifizierung bezogene Daten, siehe [HBA-T1], Annex E.2
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Der Authentifizierungs-Token (Inhalt des Antwort-Datenfeldes) wird in der entsprechenden
eGK geprüft und setzt bei positivem Ergebnis in der eGK den Sicherheitsstatus " CHA mit
Profilkennung 'xx' erfolgreich präsentiert"
4.7 Autorisierung einer SMC zur Kommunikation mit einer eGK
Wie im [GMG] festgelegt, kann ein Heilberufler andere ausgewählte Personen autorisieren,
auf die geschützten Bereiche der eGK zuzugreifen. Dies wird durch die Nutzung einer SMC
erreicht. Die Nutzung des PrK.SMC.AUT für eine SMC/eGK-Authentifizierung setzt gemäß
den Zugriffsregeln von PrK.SMC.AUT die erfolgreiche Authentifizierung durch einen HBA
voraus (siehe [HBA-T3] für weitere Details).
In einem ersten Schritt muss der Schlüssel PrK.HPC.AUT ausgewählt werden.
Tabelle 34 – Kommando MSE
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 31 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘22’ = MANAGE SECURITY ENVIRONMENT
‘41’ = SET für interne Authentifizierung
‘A4’ = AT
‘06’ = Länge des zugehörenden Datenfeldes
‘84 01 10’ = DO für KeyID von PrK.HPC.AUT
nicht vorhanden
Tabelle 35 - MSE Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Danach wird das Kommando INTERNAL AUTHENTICATE an den HBA gesendet. Vorher
wird von der SMC noch eine Zufallszahl (RND.SMC) angefordert.
Tabelle 36 – Kommando INT. AUTHENTICATE zur Prüfung der Authentizität eines HBA zur Autorisierung einer SMC
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘88’ = INTERNAL AUTHENTICATE
‘00’
‘00’
‘10’ = Länge des zugehörenden Datenfeldes
auf die Authentifizierung bezogene Daten, siehe [HBA-T1], Annex E.2
‘00’ oder ‘xx’ = Länge der erwarteten Signatur
Tabelle 37 - INT. AUTHENTICATE Antwort
Datenfeld
SW1-SW2
auf die Authentifizierung bezogene Daten, siehe [HBA-T1], Annex E.2
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Die digitale Signatur, die der HBA für die Authentifizierung erzeugt hat, wird durch die SMC
geprüft. Ist die Prüfung erfolgreich, wird in der SMC der Sicherheitsstatus gesetzt, der die
Nutzung des privaten Schlüssels PrK.SMC.AUT zur Kommunikation mit einer eGK erlaubt.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 32 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
5 Management von Kanälen
5.1 Allgemeine Aspekte
Die Unterstützung verschiedener logischer Kanäle durch einen HBA ist verbindlich vorgeschrieben, siehe [HBA-T1]. Wird der HBA in einer Umgebung eingesetzt, in der nur ein Kanal
genutzt wird, muss immer der Basis-Kanal mit der Nummer 0 zur Ausführung aller Kommandos verwendet werden.
Jeder Kanal hat seinen eigenen von den anderen unabhängigen Sicherheitsstatus, d.h., die
erfolgreiche Eingabe einer globalen PIN in einem Kanal setzt keinen Sicherheitsstatus in
irgendeinem anderen Kanal.
5.2 Öffnen eines logischen Kanals
Zum Öffnen eines logischen Kanals wird das ISO/IEC 7816-4 Kommando MANAGE CHANNEL mit der Funktion "öffnen" genutzt. Das Kommando wird immer im Kanal #0 gesendet.
Tabelle 38 – Kommando MANAGE CHANNEL zur Auswahl eines logischen Kanals
CLA
INS
P1-P2
Lc
Wie in ISO/IEC 7816-4 definiert
‘70’ = MANAGE CHANNEL
‘0000’ = öffne einen logischen Kanal, die Kanal-Nr. steht im Datenfeld
der Antwort
nicht vorhanden
Datenfeld
Le
nicht vorhanden
‘01’
Tabelle 39 - MANAGE CHANNEL Antwort
Datenfeld
SW1-SW2
Nr. des logischen Kanals, zugewiesen durch den HBA (1 Byte)
nicht vorhanden, falls kein weiterer logischer Kanal verfügbar ist
‘9000’, falls eine Kanal-Nr. zugewiesen ist
‘6881’ kein weiterer logischer Kanal verfügbar
oder spezifische Status Bytes, siehe [HBA-T1]
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 33 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
5.3 Schließen eines logischen Kanals
Zum Schließen eines logischen Kanals wird das ISO/IEC 7816-4 Kommando MANAGE
CHANNEL mit der Funktion "schließen" verwendet.
Tabelle 40 – Kommando MANAGE CHANNEL zum Schließen eines logischen Kanals
CLA
INS
P1-P2
Lc
Wie in ISO/IEC 7816-4 definiert
‘70’ = MANAGE CHANNEL
‘8000’ = Schließen eines logischen Kanals, Kanal-Nr. in CLA
nicht vorhanden
Datenfeld
Le
nicht vorhanden
nicht vorhanden
Tabelle 41 – MANAGE CHANNEL Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 34 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
6 Die Heilberufs-Anwendung HPA
6.1 File-Struktur und File-Inhalt
Abbildung 4 zeigt die File-Struktur des DF.HPA.
MF
DF.HPA
EF.ARR*
EF.HPD
* diese Datei soll – falls vorhanden –
gemäß ISO/IEC 7816-4 genutzt werden
Abbildung 4 – File-Struktur des DF.HPA
Schlüssel und CV-Zertifikate für die Authentifizierungsverfahren sind in der MF-Ebene gespeichert. Der HBA erlaubt das Anlegen weiterer Files, falls dafür in der Zukunft eine Notwendigkeit bestehen sollte (siehe Kapitel 12).
6.1.1 EF.ARR
EF.ARR enthält die Zugriffsbedingungen für DF.HPA.
6.1.2 EF.HPD
Das transparente File EF.HPD ist für die Speicherung von Daten vorgesehen, die sich auf
den jeweiligen Heilberufler beziehen, z.B. die Bestätigung der Teilnahme an Fortbildungsmaßnahmen. Das File kann immer gelesen werden, aber eine Aktualisierung ist nur nach
erfolgreicher Eingabe der PIN.CH möglich.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 35 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
6.2 Sicherheitsumgebungen
Für DF.HPA wird nur das SE#1 verwendet.
6.3 Auswahl der Anwendung
Die Auswahl der Anwendung erfolgt mit dem ISO/IEC 7816-4-Kommando SELECT wie in
den folgenden zwei Tabellen angegeben.
Tabelle 42 – Kommando SELECT für DF.HPA
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘A4’ = SELECT
‘04’ = DF Auswahl mit AID
‘0C’ = kein FCI zurückzugeben
‘06’ = Länge des zugehörenden Datenfeldes
‘D276 00004002’ = AID von DF.HPA
nicht vorhanden
Anmerkung:
In der HPC-Version 1.0 war als AID für den HBA ‘D27600004001’ angegeben. Der RID
‘D276000040’ ist dem deutschen Gesundheitswesen zugewiesen.
Tabelle 43 - SELECT Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
6.4 Lesen und Aktualisieren des EF.HPD
Zum Lesen von EF.HPD wird das Kommando READ BINARY verwendet.
Tabelle 44 – Kommando READ BINARY zum Lesen von EF.HPD
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘B0’ = READ BINARY
'81' = b8-b6:100
b5-b1: 00001 SFID von EF.HPD: 1
‘00’ = Offset
nicht vorhanden
nicht vorhanden
'08'
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 36 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Tabelle 45- READ BINARY Antwort
Datenfeld
SW1-SW2
Daten
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Die Aktualisierung von EF.HPD ist mit dem Kommando UPDATE BINARY nach erfolgreicher
Eingabe von PIN.CH möglich.
Tabelle 46 – Kommando UPDATE BINARY zur Aktualisierung von EF.HPD
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘D6’ = UPDATE BINARY
'81' = b8-b6:100
b5-b1: 00001 SFID von EF.HPD: 1
‘00’ = Offset
‘xx’ = Länge des zugehörenden Datenfeldes
Daten
nicht vorhanden
Tabelle 47 - UPDATE BINARY Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 37 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
7 Anwendung für die qualifizierte elektronische Signatur
(QES)
7.1 File-Struktur und File-Inhalt
Abbildung 5 zeigt die prinzipielle File-Struktur der QES-Anwendung, die in Übereinstimmung
mit [DINSIG] definiert ist.
MF
DF.QES
EF.ARR**
EF.C.HP.QES
EF.PrK*
- PrK.HP.QES
EF.C.HP.QES-AC1
EF.PIN*
- PIN.QES
EF.C.HP.QES-AC2
EF.DM
EF.C.HP.QES-AC3
* diese Datei ist COS-spezifisch
** diese Datei muss – falls
vorhanden – gemäß
ISO/IEC 7816-4 genutzt werden
ARR
AC
C
DM
HP
QES
PrK
= Authentifizierung
= Attributszertifikat
= X.509-Zertifikat
= Display Message
= Heilberufler
= qual.elektr.Signaturg
= privater Schlüssel
Abbildung 5 – Prinzipielle Struktur der QES-Anwendung
In der QES-Anwendung sind EFs für das X.509-QES-Zertifikat und maximal drei Attributszertifikate angelegt. Zusätzlich gibt es ein EF für eine Display Message, die für die ferngesteuerte Nutzung eines HBA wichtig ist.
7.1.1 EF.ARR
Das EF.ARR enthält die Zugriffsbedingungen für DF.QES.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 38 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
7.1.2 EF.PrK
Das EF.PrK enthält den privaten Schlüssel PrK.HP.QES zur Berechnung qualifizierter elektronischer Signaturen. Der Key Identifier und die Zugriffsbedingungen für diesen Schlüssel
werden in der folgenden Tabelle aufgeführt. Die PIN-Merkmale sind in Kapitel 7.1.3 beschrieben.
Tabelle 48 – Schlüssel-Eigenschaften
SchlüsselSchlüsselName
Länge
PrK.HP.QES [ALGCAT]
entsprechend
KeyID Zugriffsbedingungen
‘84’
- SE # 1: PIN.QES
- SE # 2: PIN.QES und
SM
Security Status EvaluationZähler des PrK.HP.QES
Eine unbeschränkte Zahl von
Signaturen ist nach einmaliger Eingabe der PIN.QES
möglich (der Wert ist Betriebssystem-spezifisch),
siehe Anmerkung
Anmerkung:
Falls dies von der BNA gefordert wird, muss ein konkreter Wert für den Security Status Evaluation-Zähler vorgegeben werden.
Die prinzipiell erlaubten Padding-Verfahren sind in Anhang E aufgeführt; für die QES darf
aber nur das im QES-Zertifikat angegebene Padding-Verfahren benutzt werden.
7.1.3 EF.PIN
EF.PIN enthält die DF-spezifische PIN.QES, die nur zum Schutz des privaten Schlüssels für
die elektronische Signatur des Heilberuflers (PrK.HP.QES) gemäß SigG/SigV verwendet
werden darf.
Die folgende Tabelle zeigt die PIN-Referenz, die in den Kommandos VERIFY, CHANGE RD
und RESET RC verwendet wird und die weiteren PIN-Attribute.
Tabelle 49 – PIN Eigenschaften
PIN-Name
PIN-Länge
PIN Ref.
PIN.QES
6 - 8 Ziffern
‘81’
Ausgangswert des Rücksetz-Code
Wiederholungszäh- (PUK)
lers
3
8 Ziffern
PUK Nutzungszähler
10
Die Initialisierung der PIN.QES, z.B. durch Nutzung einer Transport-PIN, ist betriebssystemabhängig und muss den Vorgaben der BNA entsprechen.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 39 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
7.1.4 EF.DM
Das transparente File EF.DM enthält die Display Message, die dem Heilberufler anzeigt,
dass ein Trusted Channel erfolgreich aufgebaut wurde. Sie besteht aus 8 Bytes (ASCIIZeichen). Die Display Message kann vom Heilberufler nach erfolgreicher Eingabe seiner
PIN.CH geändert werden.
7.1.5 EF.C.HP.QES
Das transparente File EF.C.HP.QES enthält das X.509-Zertifikat mit dem öffentlichen
Schlüssel des Heilberuflers für eine qualifizierte elektronische Signatur gemäß SiG/SigV.
7.1.6 EF.C.HP.QES-AC1, -AC2 and -AC3
Die transparenten Files EF.C.HP.QES-AC1, -AC2 und -AC3 können X.509Attributszertifikate enthalten, z.B. von einer Heilberufs-Kammer (z.B. Ärztekammer, Apothekerkammer) oder von einer entsprechenden Organisation (z.B. einer Ärztevereinigung).
7.2 Erzeugung einer qualifizierten elektronischen Signatur
Der Prozess zur Erzeugung einer elektronischen Signatur besteht aus mehreren Schritten,
die in Abbildung 6 gezeigt werden.
Nachricht
Hashen der Nachricht
Formatieren
Signieren der Nachricht
Signierte Nachricht
Abbildung 6 – Signatur-Prozess gemäß ISO/IEC 9796-2
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 40 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Falls ein Hash-Algorithmus verwendet wird, der im HBA verfügbar ist, wird die Hashwertberechnung bis auf das Hashen des letzten Text-Blocks außerhalb der Karte durchgeführt. Der
bis dahin berechnete Hashwert wird - konkateniert mit dem letzten Text-Block - an den HBA
geliefert. Beim RSA-Verfahren ist der Hashwert kürzer ist als der Digital Signature Input
(DSI) für die Signaturberechnung. Deshalb muss ein Padding-Verfahren auf den Hashwert
angewendet werden, d.h. der Hashwert wird formatiert. Das Padding wird im HBA durchgeführt und das Padding-Verfahren, das angewendet werden soll, muss mit dem Kommando
MSE ausgewählt werden.
Falls ein Hash-Algorithmus verwendet werden soll, der nicht im HBA verfügbar ist, wird die
komplette Hashwert-Berechnung außerhalb des HBA durchgeführt; nur das Padding erfolgt
durch den HBA.
7.3 Sicherheitsumgebung (SE)
Im DF.QES gibt es zwei Sicherheitsumgebungen:
• SE # 1: Voreingestelltes SE. Es wird kein Trusted Channel genutzt.
• SE # 2: SE für die Nutzung der Signaturfunktion mit einem Trusted Channel, um
Konfigurationen mit fernbedientem HBA zu ermöglichen.
7.4 Auswahl der Anwendung QES
Die Auswahl der QES-Anwendung erfolgt mit dem Kommando SELECT.
Tabelle 50 – Kommando SELECT für DF.QES
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘A4’ = SELECT
‘04’ = DF Auswahl mit AID
'0C' = kein FCI zurückzugeben
‘06’ = Länge des zugehörenden Datenfeldes
‘D27600006601’ = AID von DF.QES
nicht vorhanden
Tabelle 51 - SELECT Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Nach der Auswahl des DF ist SE# 1implizit gewählt. Zur Nutzung von SE # 2 siehe Kapitel
10.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 41 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
7.5 PIN Management
7.5.1 PIN Prüfung
Für die PIN-Prüfung wird das ISO/IEC 7816-4 Kommando VERIFY genutzt.
Tabelle 52 - Kommando VERIFY für die PIN Prüfung
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘20’ = VERIFY
‘00’
‘81’ = PIN.QES Referenz
‘08’ = Länge des zugehörenden Datenfeldes
PIN (Format: siehe [HBA-T1])
nicht vorhanden
Tabelle 53 - VERIFY Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Falls die eingegebene PIN falsch ist und zusätzliche Versuche erlaubt sind, muss die Zahl
der noch möglichen Versuche in den Status Codes, die in [HBA-T1] spezifiziert sind, angezeigt werden
7.5.2 PIN Änderung
Zur Änderung der PIN kann das ISO/IEC 7816-4-Kommando CHANGE.RD zu jeder Zeit vom
Heilberufler genutzt werden. Ist das Kommando erfolgreich ausgeführt, soll der Sicherheitsstatus "PIN mit Referenz '81' erfolgreich eingegeben" gesetzt werden.
Tabelle 54 – Kommando CHANGE RD
CLA
Wie in ISO/IEC 7816-4 definiert
INS
‘24’ = CHANGE REFERENCE DATEN
P1
‘00’ = Ändern der Referenz-Daten
P2
‘81’ = PIN.QES Referenz
Lc
‘10’ = Länge des zugehörenden Datenfeldes
Datenfeld
PIN_alt || PIN_neu (PIN Format: siehe [HBA-T1])
Le
nicht vorhanden
Anmerkung:
Ob ein Sicherheitszustand gesetzt wird, wenn die Transport-PIN eingegeben wird, hängt von den
Vorgaben für die Handhabung der Transport-PIN im jeweiligen HBA ab.
Tabelle 55 - CHANGE RD Antwort
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 42 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
7.5.3 Zurücksetzen des Fehlbedienungszählers
Zum Zurücksetzen des Fehlbedienungszählers auf seinen Ausgangswert wird das ISO/IEC
7816-4 Kommando RESET RETRY COUNTER verwendet.
Der Sicherheitsstatus wird durch dieses Kommando weder gesetzt noch beeinflusst. Damit
ist vor vor der Nutzung des PrK.HP.QES weiter die erfolgreiche Eingabe der PIN.QES notwendig.
Tabelle 56 – Kommando RESET RC zum Zurücksetzen des Fehlbedienungszählers
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘2C’ = RESET RETRY COUNTER
‘01’
‘81’ = Referenz der PIN.QES, zu der der Rücksetzcode (“PUK”) gemäß
ISO/IEC 7816-4 gehört
‘08’ = Länge des zugehörenden Datenfeldes
Rücksetzcode ("PUK", Format: siehe [HBA-T1])
nicht vorhanden
Tabelle 57 - RESET RC Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
7.6 Berechnung der QES
7.6.1 Signieren mit der letzten Runde der Hashwert-Berechnung im HBA
In einem ersten Schritt wird der Hash-Algorithmus mit dem Kommando MSE ausgewählt.
Tabelle 58– Kommando MSE zur Auswahl des Hash-Algorithmus
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘22’ = MANAGE SECURITY ENVIRONMENT
‘41’ = SET für Hashwert-Berechnung
‘AA’ = Hash-Template
‘03’ = Länge des zugehörenden Datenfeldes
80 01 xx’ = DO für AlgID, siehe Tab. 10 in [HBA-T1]
nicht vorhanden
Tabelle 59 – MSE Antwort
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 43 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
In einem zweiten Schritt werden PrK.HP.QES und der Signatur-Algorithmus in Kombination
mit dem Padding-Verfahren ausgewählt.
Tabelle 60 – Kommando MSE
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘22’ = MANAGE SECURITY ENVIRONMENT
‘41’ = SET für Berechnung
‘B6’ = DST
‘06’ = Länge des zugehörenden Datenfeldes
‘84 01 84 || 80 01 xx’ = DO für KeyID von PrK.HP.QES || DO für AlgID,
siehe Tabelle 10 in [HBA-T1]
nicht vorhanden
Tabelle 61 - MSE Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
In einem dritten Schritt wird das Kommando PSO:HASH gesendet.
Tabelle 62 – Kommando PSO: HASH
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘2A’ = PERFORM SECURITY OPERATION: HASH
‘90’ = berechne den Hashwert
‘A0’ = Datenfeld enthält Dos, die relevant für das Hashing sind
‘xx’ = Länge des zugehörenden Datenfeldes
‘90’ - L – Zwischen-Hashwert || ‘80’ - L – letzter Block (ohne Padding)
Zwischen-Hashwert: Hashwert (20 Bytes für SHA-1) || Zähler mit der
Zahl der Bits, die schon gehasht sind (8 Bytes für SHA-1); andere Werte
siehe [HBA-T1]
nicht vorhanden
Falls die Nachricht, die gehasht werden soll, kürzer als die Blocklänge ist, muss die Länge
des DO mit dem Tag ‘90’ auf Null gesetzt werden (d.h., es gibt keinen Zwischen-Hashwert),
gefolgt vom DO mit Tag ‘80’, das die Nachricht enthält, die gehasht werden soll.
Tabelle 63 - PSO: HASH Antwort
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 44 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Nachdem das Hashen durchgeführt ist, muss das ISO/IEC 7816-8-Kommando PSO: COMPUTE DIGITAL SIGNATURE gesendet werden.
Tabelle 64 – Kommando PSO: COMPUTE DS
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘2A’ = PERFORM SECURITY OPERATION: COMPUTE DIGITAL SIGNATURE
‘9E’ = Rückgabe der digitalen Signatur
‘9A’ = Datenfeld – falls vorhanden – enthält die Daten, die signiert oder in
die DS integriert werden sollen
nicht vorhanden
nicht vorhanden (z.B. DSI schon in der Karte vorhanden)
‘00’ oder ‘xx’ = Länge der erwarteten digitalen Signatur
Tabelle 65 - PSO: COMPUTE DS Antwort
Datenfeld
SW1-SW2
Digitale Signatur
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
7.6.2 Signieren mit vollständigem Hashen außerhalb der Karte
In diesem Fall wird das Kommando PSO: COMPUTE DS ohne ein vorheriges Kommando
PSO: HASH an den HBA gesendet. Vorher müssen der private Schlüssel und der Algorithmus Identifier ausgewählt werden.
Tabelle 66 – Kommando MSE
CLA
INS
P1
P2
Lc
Daten
feld
Le
Wie in ISO/IEC 7816-4 definiert
‘22’ = MANAGE SECURITY ENVIRONMENT
‘41’ = SET für die Berechnung
‘B6’ = DST
‘06’ = Länge des zugehörenden Datenfeldes
‘84 01 84 || 80 01 xx’ = DO für KeyID von PrK.HP.QES || DO für AlgID,
siehe Tabelle 10 in [HBA-T1]
nicht vorhanden
Tabelle 67 - MSE Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Tabelle 68 – Kommando PSO: COMPUTE DS
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 45 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘2A’ = PERFORM SECURITY OPERATION: COMPUTE DIGITAL SIGNATURE
‘9E’ = Digitale Signatur wird zurückgegeben
‘9A’ = das Datenfeld – falls vorhanden – enthält Daten, die signiert oder
in das DSI integriert werden sollen
‘xx’ = Länge des zugehörenden Datenfeldes
- Digestinfo für den Fall, dass das Padding gemäß PKCS#1 Kapitel 9.2
erfolgt
- Hashwert für den Fall, dass das Padding gemäß ISO 9796 mit RND
erfolgt
‘00’ oder ‘xx’ = Länge der erwarteten digitalen Signatur
Tabelle 69 - PSO: COMPUTE DS Antwort
Datenfeld
SW1-SW2
Digitale Signatur
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
7.7 Auslesen der zu QES gehörenden Zertifikate
Zum Lesen des X.509-QES-Zertifikates oder eines Attributzertifikates wird das Kommando
READ BINARY verwendet.
Tabelle 70 – Kommando READ BINARY zum Lesen der QES-Zertifikate
CLA
INS
P1, P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘B0’ = READ BINARY
- P1 = b8-b6: 100
b5-b1: 10000 SFID von EF.C.HP.QES: 16 oder
00001 SFID von EF.C.HP.QES-AC1: 1 oder
00010 SFID von EF.C.HP.QES-AC2: 2 oder
00011 SFID von EF.C.HP.QES-AC3: 3
P2 = Offset
- ‘xxxx’ = Offset (bit b8 von P1 = 0)
nicht vorhanden
nicht vorhanden
'00' oder '000000'
Tabelle 71 - READ BINARY Antwort
Datenfeld
SW1-SW2
Zertifikats-Daten
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Falls die Karte "extended length" nicht unterstützt, muss das Kommando READ BINARY
wiederholt werden, wobei der zugehörende Offset in P1-P2 spezifiziert wird.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 46 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
7.8 Schreiben von Attributszertifikaten
Zum Aktualisieren von Attributszertifikaten (siehe Zugriffsbedingungen in Anhang B) wird das
ISO/IEC 7816-4 Kommando UPDATE BINARY verwendet.
Tabelle 72 – Kommando UPDATE BINARY zum Schreiben neuer Attributszertifikate in den HBA
CLA
INS
P1, P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘D6’ = UPDATE BINARY
- P1 = b8-b6: 100
b5-b1:
00001 SFID von EF.C.HP.QES-AC1: 1 oder
00010 SFID von EF.C.HP.QES-AC2: 2 oder
00011 SFID von EF.C.HP.QES-AC3: 3
P2 = Offset
- ‘xxxx’ = Offset (bit b8 von P1 = 0)
‘xx’ = Länge des zugehörenden Datenfeldes
Daten
nicht vorhanden
Tabelle 73 - UPDATE BINARY Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Falls das Zertifikat länger als 256 Bytes ist, muss das Kommando UPDATE BINARY wiederholt werden, wobei der zugehörende Offset in P1-P2 spezifiziert wird.
7.9 Fernbediente QES-Erzeugung
Die fernbediente Nutzung dieser Anwendung wird in Kapitel 10 beschrieben. Die Beschreibung eines Verfahrens, mit dem die Nutzung des TC kontrolliert wird, ist nicht Gegenstand
dieser Spezifikation.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 47 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
8 Die ESIGN Anwendung
8.1 File-Struktur und File-Inhalt
Abbildung 7 zeigt die prinzipielle Struktur der ESIGN-Anwendung, die in Übereinstimmung
mit [CWA14890] definiert ist.
MF
DF.ESIGN
EF.ARR**
EF.PrK*
- PrK.HP.ENC
- PrK.HP.AUT
EF.C.HP.ENC
EF.C.HP.AUT
EF.DM
* diese Datei ist COS-spezifisch
** diese Datei muss – falls
vorhanden – gemäß
ISO/IEC 7816-4 genutzt werden
AUT
C
DM
ENC
HP
= Authentifizierung
= Zertifikat
= Display Message
= Verschlüsselung
= Heilberufler
Abbildung 7 – Prinzipielle Struktur von DF.ESIGN
8.1.1 EF.ARR
EF.ARR enthält die Zugriffsbedingungen für DF.ESIGN
8.1.2 EF.PrK
EF.PrK enthält die folgenden privaten Schlüssel:
• PrK.HP.AUT für eine Client/Server-Authentifizierung
• PrK.HP.ENC für das Ver- und Entschlüsseln von Dokumenten
Die "Key Identifier" und der Schutz der privaten Schlüssel werden in der folgenden Tabelle
aufgeführt:
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 48 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Tabelle 74 – "Key identifier" und Schutz der privaten Schlüssel
Schlüssel-Name
PrK.HP.AUT
KeyID
‘82’
PrK.HP.ENC
‘83’
Zugriffsbedingungen
- SE # 1: PIN.CH
- SE # 2: PIN.CH und SM
- SE # 1: PIN.CH
- SE # 2: PIN.CH und SM
In Bezug auf die Schlüssellängen müssen dieselben Konventionen wie für die Schlüssel der
qualifizierten elektronischen Signatur berücksichtigt werden, siehe [ALGCAT].
Die zugelassenen Padding-Verfahren werden in Anhang E beschrieben.
Der HBA muss sicherstellen, dass die entsprechenden Schlüssel nur für die Dienste genutzt
werden können, für die sie vorgesehen sind (interne Bindung des Schlüssels an seinen Verwendungszweck. Die Art und Weise, wie dies garantiert wird, ist abhängig vom Betriebssystem).
8.1.3 EF.DM
Das transparente File EF.DM enthält dieselbe Display Message wie in Kapitel 7.1.4. beschrieben.
8.1.4 EF.C.HP.AUT
EF.C.HP.AUT enthält das X.509-AUT-Zertifikat des Heilberuflers.
8.1.5 EF.C.HP.ENC
EF.C.HP.ENC enthält das X.509-ENC-Zertifikat des Heilberuflers.
8.2 Sicherheitsumgebung
In DF.ESIGN sind 2 SEs definiert:
• SE # 1: Voreingestelltes SE. Es wird kein Trusted Channel genutzt.
• SE # 2: SE für die Nutzung der Signaturfunktion mit einem Trusted Channel, um
Konfigurationen mit fernbedientem HBA zu ermöglichen.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 49 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
8.3 Auswahl der ESIGN Anwendung
Die Auswahl der ESIGN-Anwendung erfolgt mit dem Kommando SELECT.
Tabelle 75 - Kommando SELECT für DF.ESIGN
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘A4’ = SELECT
‘04’ = DF Auswahl mit AID
'0C' = kein FCI zurückzugeben
‘06’ = Länge des zugehörenden Datenfeldes
'A000000167 455349474E’ = AID von DF.ESIGN
nicht vorhanden
Tabelle 76 - SELECT Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Nach der Auswahl des DF ist SE # 1 implizit gewählt. Zur Nutzung von SE # 2 siehe Kapitel
10.
8.4 Lesen eines X.509 Zertifikates
Zum Lesen der Zertifikate C.HP.AUT und C.HP.ENC wird das Kommando READ BINARY
verwendet.
Tabelle 77 - Kommando READ BINARY zum Lesen der X.509-Zertifikate
CLA
INS
P1-P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘B0’ = READ BINARY
- P1 = b8-b6: 100
b5-b1: 00001 SFID von EF.C.HP.AUT: 1 oder
00010 SFID von EF.C.HP.ENC: 2
P2 = Offset
- ‘xxxx’ = Offset (bit b8 von P1 = 0)
nicht vorhanden
nicht vorhanden
'00' oder '000000'
Tabelle 78 - READ BINARY Antwort
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 50 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Datenfeld
SW1-SW2
X.509-Zertifikat
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Falls die Karte "extended length" nicht unterstützt, muss das Kommando READ BINARY
wiederholt werden, wobei der zugehörende Offset in P1-P2 spezifiziert wird.
8.5 PIN Management
Vor der Nutzung von PrK.HP.AUT oder PrK.HP.ENC muss PIN.CH erfolgreich eingegeben
werden, siehe Kapitel 4.5.1.
8.6 Client / Server Authentifizierung
Um die Zugriffsrechte zu Komponenten wie z.B. Servern überprüfen zu können, muss ein
PKI-basierter Authentifizierungs-Prozess ausgeführt werden. Das verwendete Schlüsselpaar
ist das des Karteninhabers (PrK.HP.AUT, PuK.HP.AUT). Der öffentliche Schlüssel ist zusammen mit dem eindeutigen Namen des Karteninhabers ("Distinguished Name") durch das
X.509-Zertifikat nachprüfbar beglaubigt.
Relevante Authentisierungsprotokolle sind z.B.
• das PK-Kerberos-Protokoll (für Login-Authentisierung)
• das TLS-Protokoll (für Authentisierung auf Seiten des Clients; umfasst das SSLProtokoll)
• das WTLS-Protokoll
Diese Spezifikation deckt nur denjenigen Fall ab, bei dem die Karte für die Berechnung einer
digitalen Signatur den privaten Schlüssel in einem INTERNAL AUTHENTICATE Kommando
auf den Authentisierungs-Input im Datenfeld des Kommandos nach Formatierung dieses
Inputs anwendet.
Die übrigen Anteile des Verfahrens auf Seiten des Clients muss die Systemsoftware des
Karteninhabers übernehmen.
Bevor das INTERNAL AUTHENTICATE Kommando ausgeführt werden kann, muss der zugehörige PrK selektiert werden.
Zusätzlich kann der Algorithmus Identifier, der den Typ des Authentifizierungsprotokolls beschreibt, ausgewählt werden.
Tabelle 79 – Kommando MSE
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 51 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
CLA
INS
P1
P2
Lc
Daten
feld
Le
Wie in ISO/IEC 7816-4 definiert
‘22’ = MANAGE SECURITY ENVIRONMENT
‘41’ = SET für interne Authentifizierung
‘A4’ = AT
‘06’ = Länge des zugehörenden Datenfeldes
‘84 01 82’ || ’80 01 05’ = DO für KeyID von PrK.HP.AUT || DO AlgID,
siehe Tabelle E.2
nicht vorhanden
Tabelle 80 - MSE Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Tabelle 81 – Kommando INT. AUTHENTICATE
CLA
INS
P1
P2
Lc
Daten
feld
Le
Wie in ISO/IEC 7816-4 definiert
‘88’ = INTERNAL AUTHENTICATE
‘00’
‘00’
‘xx’ = Länge des zugehörenden Datenfeldes
- DigestInfo, genutzt für KERBEROS
H_MD5 || H_SHA1, genutzt für SSL/TLS
H_SHA1, genutzt für WTLS und NETSCAPE
Die Formatierung des Digital Signature Inputs zur Authentifizierung ist in
[HBA-T1], Anhang E spezifiziert.
‘00’ oder ‘xx’ = Länge der erwarteten digitalen Signatur
Tabelle 82 - INT. AUTHENTICATE Antwort
Datenfeld
SW1-SW2
Digitale Signatur
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
8.7 Entschlüsselung des Dokumenten-Chiffrierungsschlüssels
Zum Austausch vertraulicher Dokumente wird das folgende Verfahren genutzt:
• der Schlüsseltransport wird durch Verschlüsseln des zum Verschlüsseln des Dokumentes benutzten Schlüssels mit dem PuK.HP.ENC des Empfängers abgesichert.
• Das Dokument wird mit einem symmetrischen Verfahren verschlüsselt.
An der Verschlüsselung eines Dokumentes ist der HBA nicht beteiligt. Die Software des PC
des Senders berechnet einen Verschlüsselungsschlüssel, verschlüsselt das Dokument damit
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 52 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
und verschlüsselt anschließend den Verschlüsselungsschlüssel mit dem öffentlichen X.509ENC-Schlüssel des Empfängers. Diesen erhält sie z.B. von einem Zertifikats-Server.
Bevor der Verschlüsselungsschlüssel vom Empfänger mit seinem PrK.HP.ENC entschlüsselt
werden kann, muss die PIN.CH erfolgreich eingegeben worden sein. Der PrK.HP.ENC muss
mit dem ISO/IEC 7816-4 Kommando MSE ausgewählt werden.
Tabelle 83 – Kommando MSE
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘22’ = MANAGE SECURITY ENVIRONMENT
‘41’ = SET für Entschlüsselung
‘B8’ = CT
‘03’ = Länge des zugehörenden Datenfeldes
’84 01 83’ = DO für KeyID von PrK.HP.ENC
nicht vorhanden
Tabelle 84 - MSE Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Nachdem der Schlüssel ausgewählt ist, kann die Entschlüsselung mit dem ISO/IEC 7816-8
Kommando PSO: DECIPHER erfolgen.
Tabelle 85 – Kommando PSO: DECIPHER
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘2A’ = PERFORM SECURITY OPERATION: DECIPHER
‘80’ = Klartext zurückgeben
‘86’ = verschlüsselte Daten im Datenfeld
‘xx’ = Länge des zugehörenden Datenfeldes
Padding-Indicator-Byte, gefolgt vom Kryptogramm, siehe [HPC-P1
‘00’ or ‘xx’ = Länge des Dokumenten-Chiffrierschlüssels
Tabelle 86 – PSO: DECIPHER Antwort
Datenfeld
SW1-SW2
Dokumenten-Chiffrierschlüssel
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
8.8 Fernbediente Nutzung der ESIGN-Anwendung
Die fernbediente Nutzung dieser Anwendung wird in Kapitel 10 beschrieben. Die Beschreibung des Verfahrens, mit dem die Nutzung des TC kontrolliert wird, ist nicht Gegenstand
dieser Spezifikation.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 53 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
9 Kryptografische Informations-Anwendung
9.1 File-Struktur und File-Inhalt von DF.CIA.ESIGN
Abbildung 8 zeigt die prinzipielle Struktur der kryptografischen Informations-Anwendung
(CIA), die mit der ESIGN-Anwendung verknüpft ist.
MF
DF.CIA.ESIGN
EF.ARR*
EF.CIAInfo
EF.OD
CIA = Cryptographic Inf. Application
OD = Object Directory
AOD = Authentication Object Directory
PrKD = Private Key Directory
CD = Certificate Directory
EF.AOD
EF.PrKD
EF.CD
* diese Datei soll – falls vorhanden – gemäß ISO/IEC 7816-4 genutzt werden
Abbildung 8 – Prinzipielle Struktur des DF.CIA
9.2 Anwendungsauswahl
Zur Auswahl der Anwendung wird das ISO/IEC 7816-4-Kommando SELECT verwendet.
Tabelle 87 – Kommando SELECT für DF.CIA.ESIGN
CLA
INS
P1
P2
‘00’
‘A4’ = SELECT
‘04’ = DF Auswahl durch AID
‘0C’ = kein FCI zurückzugeben
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 54 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Lc
‘0F’ = Länge des zugehörenden Datenfeldes
Datenfeld
Le
'E828BD080F A000000167 455349474E’ = AID von DF.CIA.ESIGN
nicht vorhanden
Anmerkung:
Der RID von DF.CIA entspricht ISO/IEC 7816-15. Dem RID folgt der AID der Anwendung, zu der
die CIOs gehören, in diesem Fall AID.ESIGN.
Tabelle 88 – SELECT Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
9.3 Lesen der CIA-Files
Zum Lesen der CIA-Files wird das ISO/IEC 7816-4 Kommando READ BINARY genutzt.
Tabelle 89 – Kommando READ BINARY zum Lesen der CIA Files
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘B0’ = READ BINARY
‘xx’ = b8-b6: 100
b5-b1: 10010 SFID von EF.CIAInfo: 18 oder
b5-b1: 10001 SFID von EF. OD: 17 oder
b5-b1: 10100 SFID von EF. AOD: 20 oder
b5-b1: 10101 SFID von EF. PrKD: 21 oder
b5-b1: 10110 SFID von EF. CD: 22
‘00’ = Offset
nicht vorhanden
nicht vorhanden
‘00’ = Lesen bis zum Ende des Files (max 256 Bytes)
Anmerkung:
SFID 19 kann nicht genutzt werden, siehe ISO/IEC 7816-15.
Tabelle 90- SELECT Antwort
Datenfeld
SW1-SW2
CIOs
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 55 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
10 Interaktionen zwischen HBA und SMC
10.1 Lesen der CV-Zertifikate
In Kapitel 5.4.4 ist spezifiziert, wie die HBA-CV-Zertifikate – die auf MF-Ebene gespeichert
sind – ausgelesen werden können. Es wird davon ausgegangen, dass die beteiligte Software
(z.B. PVS oder AVS) die CVCs des HBA nur einmal ausliest und sie zusammen mit der zugehörigen ICCSN im System speichert.
10.2 SE-Auswahl auf MF Ebene
Für die Interaktion HBA/SMC muss SE # 2 auf der MF-Ebene ausgewählt werden, siehe Kapitel 5.3.
10.3 Auswahl der Anwendung, die mit SM genutzt werden soll
Vor der Etablierung eines TC muss die jeweilige Anwendung, DF.ESIGN oder DF.QES, ausgewählt werden, siehe Kapitel 8.4 oder 9.3.
Da das Kommando SELECT zur Auswahl einer Anwendung immer ohne SM gesendet wird,
geht der TC verloren, wenn später eine andere Anwendung ausgewählt wird. In diesem Fall
ist ein TC erneut aufzubauen.
10.4 SE-Auswahl auf DF-Ebene
Bevor irgendein Kommando nach der Auswahl der Anwendung gesendet wird, muss SE # 2
mit dem Kommando MSE unter Nutzung der RESTORE-Funktion ausgewählt werden.
Tabelle 91 – Kommando MSE zur Auswahl des SE zur Einrichtung eines TC
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘22’ = MANAGE SECURITY ENVIRONMENT
‘F3’ = RESTORE
‘02’ = SE # 2
nicht vorhanden
nicht vorhanden
nicht vorhanden
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 56 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Tabelle 92 - MSE Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
10.5 CVC Prüfung
Die folgenden CVCs müssen geprüft werden:
• CVC.CA_SMC.CS
• CVC.SMC.AUT
Der Ablauf entspricht dem in Kapitel 4.6.3 beschriebenen Ablauf.
10.6 Authentifizierung mit TC-Einrichtung
Die Kommandosequenz startet für den HBA mit der Auswahl der beteiligten Schlüssel.
Tabelle 93 – Kommando MSE zur Schlüsselauswahl
CLA
INS
P1
P2
Lc
Daten
feld
Le
Wie in ISO/IEC 7816-4 definiert
‘22’ = MANAGE SECURITY ENVIRONMENT
‘C1’ = SET für int./ext. Authentifizierung
‘A4’ = AT
‘14’ = Länge des zugehörenden Datenfeldes
‘83 0C xx ... xx’ || ‘84 01 11’ = DO für KeyRef von PuK.SMC.AUT (siehe
Abbildung 3 bzgl. der Auswahl der KeyRef) || DO für KeyRef von
PrK.HPC.AUT
nicht vorhanden
Tabelle 94 - MSE Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Anschließend wird der Authentifizierungsprozess - wie in [HBA-T1], Anhang E beschrieben ausgeführt. Die Prozessschritte müssen aus Sicht des HBA in der in [HPC-1], Anhang E angegebenen Reihenfolge durchgeführt werden, d.h., in einem ersten Schritt muss eine Zufallszahl vom HBA angefordert werden.
Tabelle 95 – Kommando GET CHALLENGE
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 57 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
CLA
INS
P1, P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘84’ = GET CHALLENGE
‘0000’
nicht vorhanden
nicht vorhanden
‘08’
Tabelle 96 - GET CHALLENGE Antwort
Datenfeld
SW1-SW2
RND.HPC (8 Bytes)
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Die Zufallszahl wird der SMC zusammen mit den 8 LSB der ICCSN des HBA übergeben.
Das Ergebnis des von der SMC ausgeführten Kommandos INTERNAL AUTHENTICATE
wird mit dem Kommando EXTERNAL AUTHENTICATE an den HBA gesendet.
Tabelle 97 – Kommando EXT. AUTHENTICATE
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘82’ = EXTERNAL AUTHENTICATE
‘00’
‘00’
‘xx’ = Länge des zugehörenden Datenfeldes
auf die Authentifizierung bezogene Daten, siehe [HBA-T1], Anhang E.3
nicht vorhanden
Anmerkung:
Die auf die Authentifizierung bezogenen Daten enthalten Datenelemente für die SMSchlüsselberechnung.
Tabelle 98 - EXT. AUTHENTICATE Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
In einem dritten Schritt muss der HBA seine Authentizität beweisen.
Tabelle 99 – Kommando INT. AUTHENTICATE
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘88’ = INTERNAL AUTHENTICATE
‘00’
‘00’
‘10’ = Länge des zugehörenden Datenfeldes
auf die Authentifizierung bezogene Daten, siehe [HBA-T1], Anhang E.3
‘00’ oder ‘xx’ = Länge der erwarteten Signatur
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 58 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Tabelle 100 - INT. AUTHENTICATE Antwort
Datenfeld
SW1-SW2
auf die Authentifizierung bezogene Daten, siehe [HBA-T1], Anhang E.3
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Die SM-Schlüssel werden wie in [HBA-T1], Anhang E.3 beschrieben berechnet; der Anfangswert des Send Sequence Counter (SSC) wird wie in [HBA-T1], Kapitel C.5.2. beschrieben gesetzt.
10.7 Lesen und Aktualisieren einer Display Message
Nach der Einrichtung eines TC kann die Display Message gelesen werden und dem Heilberufler zeigen, dass der TC erfolgreich eingerichtet wurde. Das Auslesen wird jedoch vom
HBA nicht kontrolliert.
Zum Auslesen der Display Message wird das Kommando READ BINARY verwendet.
Tabelle 101 – Kommando READ BINARY zum Auslesen der Display Message
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘B0’ = READ BINARY
'84' = b8-b6:100
b5-b1: 00100 SFID von EF.DM: 4
‘00’ = Offset
nicht vorhanden
nicht vorhanden
'08'
Anmerkung:
Jede TC-relevante Anwendung hat ihr eigenes EF.DM mit SFID 4.
Tabelle 102 - READ BINARY Antwort
Datenfeld
SW1-SW2
Display Message
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Die Display Message kann nach erfolgreicher Eingabe von PIN.CH mit dem Kommando
UPDATE BINARY geändert werden.
Tabelle 103 – Kommando UPDATE BINARY zur Änderung der Display Message
CLA
Wie in ISO/IEC 7816-4 definiert
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 59 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
INS
P1
P2
Lc
Datenfeld
Le
‘D6’ = UPDATE BINARY
b8-b6:100
b5-b1: 00100 SFID von EF.DM: 4
‘00’ = Offset
‘08’ = Länge des zugehörenden Datenfeldes
Neue Display Message (8 Bytes)
nicht vorhanden
Tabelle 104 - UPDATE BINARY Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 60 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
11 Laden einer neuen Anwendung oder Erstellung eines
EFs nach Ausgabe des HBA
11.1 Identifizierung des HBA-Betriebssystems
Es wird angenommen, dass das Laden neuer Anwendungen oder die Einrichtung neuer EFs
in DF.HPA nach der Ausgabe des HBA von einem Card Application Management System
(CAMS) durchgeführt wird. Ein CAMS kann schon Informationen über einen bestimmten
HBA gespeichert haben, z.B. die ICCSN, das zugehörende Betriebssystem und die schon
vorhandenen Anwendungen. Das CAMS kann diese Informationen aber auch durch das
Auslesen of EF.ATR, EF.GDO und EF.DIR bekommen.
11.2 Einrichtung eines Trusted Channel zwischen CAMS und HBA
Ein Trusted Channel kann mit symmetrischen oder asymmetrischen Authentifizierungsverfahren eingerichtet werden. Dies hängt vom beteiligten CAMS ab. Im Folgenden wird das
asymmetrische Authentifizierungsverfahren beschrieben, das auch Teil des Protection Profiles des HBA [PP-HPC] ist.
Zur Einrichtung eines TC zwischen dem HBA und dem zugehörigen CAMS muss ein asymmetrisches Authentifizierungsverfahren mit der Berechnung der SM-Schlüssel gemäß [HBAT1], Annex E 3 ausgeführt werden. Da der PuK.CAMS_HPC.AUT schon im HBA gespeichert
ist, ist keine Prüfung der CVCs des CAMS notwendig. Dem CAMS müssen allerdings die
CVCs des HBA übermittelt werden, siehe Abbildung 9.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 61 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Root CA
Durch die RCA selbstsigniertes Zertifikat zur BereitstelCVC.
lung des öffentlichen RootSchlüssels PuK.RCA.CS, der RCA.
CS
für die Prüfung von
CVC.CA.HPC.CS benötigt
wird
PuK.HPC.AUT
Schlüssel, die für die
Authentifizierung
benötigt werden
CAMS
PrK.CAMS_HPC.AUT
CVC.
CA_HPC.
CS
Bereitstellung von
PuK.HPC.AUT über
die Zertifikats-Kette
PrK.HPC.AUT
Schlüssel, die für die
Authentifizierung
benötigt werden
CVC.
HPC.
AUT
HBA
PuK.CAMS_HPC.AUT
(im HBA verfügbar)
Abbildung 9 – Schlüssel und Schlüsselimport für eine HBA/CAMS-Authentifizierung mit TC
Einrichtung
In einem ersten Schritt müssen die öffentlichen Schlüssel des CAMS mit dem Kommando
MSE ausgewählt werden.
Tabelle 105 – Kommando MSE zur Auswahl von PuK.CAMS_HPC.AUT
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘22’ = MANAGE SECURITY ENVIRONMENT
‘C1’ = SET für int./ext. Authentifizierung
‘A4’ = AT
‘03’ = Länge des zugehörenden Datenfeldes
‘840113' = DO KeyID für PuK.CAMS_HPC.AUT
nicht vorhanden
Tabelle 106 - MSE Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 62 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
11.3 Laden einer Anwendung
Die Kommandosequenz für das Laden einer neuen Anwendung ist herstellerspezifisch.
Kommandos, die hierfür benötigt werden, sind in [HBA-T1] spezifiziert.
11.4 Registrieren der neuen Anwendung in EF.DIR
In EF.DIR muss ein DO Anwendungs-Template mit dem Application Identifier der neuen Anwendung eingefügt werden. Hierfür wird das Kommando APPEND RECORD verwendet.
Tabelle 107 – Kommando APPEND RECORD
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘E2’ = APPEND RECORD
‘00’
‘F0’ = b8-b4: 11110 SFID von EF.DIR: 30
b3-b1: 000
’xx’ = Länge des zugehörenden Datenfeldes
DO Anwendungs-Template, siehe Tabelle G.3
nicht vorhanden
Tabelle 108 – APPEND RECORD Antwort
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
11.5 Erstellung eines EF
Zur Erstellung eines neuen EF auf MF-Ebene oder unter DF.HPA wird das ISO/IEC 7816-8Kommando CREATE FILE verwendet.
Tabelle 109 – Kommando CREATE FILE
CLA
INS
P1
P2
Lc
Datenfeld
Le
Wie in ISO/IEC 7816-4 definiert
‘E0’ = CREATE FILE
‘00’ = EF-Erstellung
‘00’
’xx’ = Länge des zugehörenden Datenfeldes
FCP des EF, das erstellt werden soll (betriebssystem-spezifisch)
nicht vorhanden
Tabelle 110 – CREATE FILE Antwort
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 63 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Datenfeld
SW1-SW2
nicht vorhanden
‘9000’ oder spezifische Status Bytes, siehe [HBA-T1]
Falls für dieses EF neue Zugriffsregeln gelten sollen, müssen diese Zugriffsregeln mit dem
Befehl APPEND RECORD in das entsprechende EF.ARR geschrieben werden.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 64 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Anhang A
(normativ)
AT R
A.1 ATR Kodierung
Tabelle A.1 zeigt die Kodierung des ATR für HBAs (T = 1 – Karten)
Tabelle A. 1 – ATR-Kodierung (Sequenz von oben nach unten)
Zeichen
Wert
Bedeutung
TS
‘3B’
Initial Character (direct convention)
T0
‘9x’
Format Character
(TA1/TD1 indication, x = no. of HB)
TA1
‘xx’
Interface Character (FI/DI,
erlaubte Werte: siehe [eHC-P1])
TD1
‘81’
Interface Character
(T=1, TD2 indication)
TD2
‘B1’
Interface Character
(T=1, TA3/TB3/TD3 indication)
TA3
‘FE’
Interface Character (IFSC coding)
TB3
‘45’
Interface Character
(BWI/CWI coding)
TD3
‘1F’
Interface Character
(T=15, TA4 indication)
TA4
‘xx’
Interface Character (XI/UI coding)
Ti
HB
Historical Bytes (HB, imax. = 15)
TCK
XOR
Check Character (exclusive OR)
Für die Kodierung der Historical Bytes gelten die folgenden Konventionen in Übereinstimmung mit ISO/IEC 7816-4:
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 65 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
CI
‘00’ gemäß ISO/IEC 7816-4
TPI
‘6x’ gemäß ISO/IEC 7816-4 (x kodiert die Länge des DO)
ICM
IC Herstellerkennung
ICT
Kodierung herstellerspezifisch
OSV
Kodierung herstellerspezifisch
DD
Kodierung herstellerspezifisch (normalerweise nicht verwendet)
TCS
‘31’ gemäß ISO/IEC 7816-4
CS
Card Service Data Byte gemäß ISO/IEC 7816-4
TCC
‘73’ gemäß ISO/IEC 7816-4
CCB
Card Capabilities Data Bytes
gemäß ISO/IEC 7816-4
(Anzeige der unterstützten logischen Kanäle, Extended Le-Feld, …)
CLS
Card Life Cycle (Default-Wert ‘00’)
SW1-SW2
‘9000’
Aus Performancegründen ist es erlaubt, ein TC1 mit dem Wert 'FF‘ im ATR anzuzeigen.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 66 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Historical Bytes
CI
PIDO CPDO CLS SW1-SW2
-
CI = Category Indicator (’00‘)
PIDO = PrePre-Issuing Data Object
CPDO = Card Profile Data Object
CLS = Card Life Status
SW1-SW2 = Status bytes
Pre-Issuing
Data Object
TPI
ICM
ICT
OSV DD
TPI = Tag/Length Pre-Issuing
DO (‘6x‘)
ICM = IC Manufacturer ID
ICT = IC Type (1 byte, if b8=0;
2 byte, if b8=1 of first byte)
OSV = Operating System Version (1 byte)
DD = Discretionary Data (n byte)
Card Profile Data Objects
TCS
CS
TCC
CCB
TCS = Tag/Length Card Service DO (‘31‘)
CS = Card Service Data Byte
TCC = Tag/Length Card Capabilities DO (’73‘)
CCB = Card Capability Bytes
Abbildung A.1 – Struktur der Historical Bytes
Die aktuellen Werte für die Chip-Hersteller-Kennung (IC Manufacturer ICM) können unter
www.sc17.com abgerufen werden.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 67 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Annex B
(normativ)
File-Attribute, Zugriffsbedingungen
und Sicherheitsumgebungen
B.1 Zugriffsbedingungen
Falls ein Betriebssystem EF.ARR nicht unterstützt, muss dieselbe Funktionalität auf andere
Weise sichergestellt werden. HBAs mit EF.ARR sollen lesenden Zugriff auf die gespeicherten Zugriffsbedingungen erlauben. Deshalb ist die Sicherheitsbedingung für das Kommando
READ RECORD, bezogen auf EF.ARR, auf "always" gesetzt. Ein EF.ARR könnte z.B. durch
ein CAMS ausgelesen werden.
Die in diesem Kapitel spezifizierten Zugriffsregeln werden durch Kodierungsbeispiele dargestellt. Diese können so oder auch durch eine andere Kodierung umgesetzt werden; die geforderte Funktionalität muss aber in jedem Fall garantiert werden.
Falls ein Dual-Interface-Chip mit einer kontaktbehafteten und einer RF-Schnittstelle eingesetzt wird, müssen Zugriffsbedingungen realisiert werden, die die Nutzung der in dieser Spezifikation beschriebenen Anwendungen nur über die kontaktbehaftete Schnittstelle zulässt.
B.2 MF-Ebene
Auf MF-Ebene werden SE # 1 und SE # 2 genutzt. Die Zugriffsbedingungen sind unabhängig
vom SE, falls dies nicht anders spezifiziert ist.
Tabelle B.1 – EFs auf MF Ebene und ihre Eigenschaften
File
FID /
SFID
File
Struktur
File Größe
(Länge der Daten)
Zugriffsbedingung
EF.ARR
(Zugriffsbedingungen)
EF.ATR
(ATR Zusätzliche Daten)
EF.DIR
(Anwendung-Verzeichnis)
EF.GDO
(Globale Daten Objekte)
EF.CVC.HPC.AUT
(Card Verifiable Certificate)
COS spezifisch
‘2F01’ /
29
‘2F00’ /
30
‘2F02’ /
2
‘2F03’ /
3
linear variabel
transparent
8 Records mit x
Bytes
32 Bytes
ARR # 1
linear variabel
transparent
6 Records mit x
Bytes
12 Bytes
ARR # 1
transparent
209 Bytes
ARR # 1
ARR # 1
ARR # 2
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 68 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
EF.CVC.CA_HPC.CS
(Card Verifiable Certificate)
‘2F04’ /
4
transparent
210 Bytes
ARR # 1
Tabelle B.2 – Zugriffsbedingungen in EF.ARR auf MF-Ebene
Rec Nr.
1
2
Wert
Bedeutung
’80 01 01
9000’
AM: READ BINARY / READ RECORD
SC: Always
’80 01 01
9000
referenziert in EF.ATR, EF.GDO,
EF.CVC.CA_HPC.CS, EF.CVC.HPC.AUT und EF.ARR
AM: READ RECORD
SC: Always
80 01 04
AF 0D
A406 950180 830113
B403 950130’
3
'86 08 2000 2400 2C00 2C01
9000’
4
'86 08 2000 2400 2C00 2C01
AF 0A
B4 03 95 01 30
B8 03 95 01 30'
AM: APPEND RECORD
SC: AND Template
{AT (UQ = Ext. Authentifizierung, Key Ref =
PuK.CAMS_HPC.AUT) || CCT (UQ = CC in SM command/answer)}
referenziert in EF.DIR
AM: VERIFY, CHANGE RD (Option ‘00’), RESET RC
(Option ‘00’ und ‘01’)
SC: Always
referenziert durch PIN.CH in EF.PIN, SE # 1
AM: VERIFY, CHANGE RD (Option ‘00’), RESET RC
(Option ‘00’ und ‘01’)
SC: AND Template
{CCT (UQ = CC in SM command/answer) ||
CT (UQ = CG in SM command/answer)}
referenziert durch PIN.CH in EF.PIN, SE # 2
5
'84 01 88
A4 06
950108 830101'
AM: INTERNAL AUTHENTICATE
SC: AT (UQ = wissensbasierte NutzerAuthentifizierung, KeyRef = PIN.CH)
6
'84 02 8882
9000’
referenziert durch PrK.HPC.AUT in EF.PrK, SE # 1
AM: INT. / EXT. AUTHENTICATE
SC: Always
7
’87 03 2A00AE
9000’
referenziert durch PrK.HPC.AUT in EF.PrK SE # 2
AM: VERIFY CERTIFICATE
SC: Always
8
'84 02 EA E0
AF 12
referenziert durch PuK.RCA.CS in EF.PuK
AM: LOAD APPLICATION, CREATE FILE DF, CREATE
FILE EF (nach HBA-Ausgabe)
SC: AND Template
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 69 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
A4 06
95 01 80
83 01 13
B4 03 95 01 30
B8 03 95 01 30'
{AT (UQ = ext. Authentifizierung, Key Ref =
PuK.CAMS_HPC.AUT) ||
CCT (UQ = CC in SM command/answer) ||
CT (UQ = CG in SM command/answer)}
referenziert in MF
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 70 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
B.3 DF.HPA
In DF.HPA wird nur SE # 1 (voreingestelltes SE) genutzt.
Tabelle B.3 – EFs in DF.HPA und ihre Eigenschaften
File
FID /
SFID
File
Struktur
EF.ARR
(Zugriffsbedingungen)
EF.HPD
(Daten, die auf den Heilberufler
bezogen sind)
COS spe- linear variabel
zifisch
‘D0001’ / 1 transparent
File Größe
(Länge der Daten)
Zugriffsbedingung
3 Records mit x Bytes
ARR # 1
2 KB
ARR # 2
Tabelle B.4 – Zugriffsbedingungen in EF.ARR in DF.HPA
Rec-No.
Wert
Bedeutung
1
’80 01 01
9000
AM: READ RECORD
SC: Always
80 01 04
AF0D
A406 950180 830113
B403 950130’
AM: APPEND RECORD
SC: AND Template
{AT (UQ = ext. Authentifizierung, Key Ref =
PuK.CAMS_HPC.AUT) || CCT (UQ = CC in SM command/answer)}
2
3
’80 01 01
9000
referenziert in EF.ARR
AM: READ BINARY
SC: Always
80 01 02
A406
950108 830101'
AM: UPDATE BINARY
SC AT (UQ = wissensbasierte NutzerAuthentifizierung, KeyRef = PIN.CH)
'80 01 02
AF 12
A4 06
95 01 80 83 01 13
B4 03 95 01 30
B8 03 95 01 30'
referenziert in EF.HPD
AM: CREATE FILE (EF)
SC: AND Template
{AT (UQ = ext. Authentifizierung, Key Ref =
PuK.CAMS_HPC.AUT) ||
CCT (UQ = CC in SM command/answer) ||
CT (UQ = CG in SM command/answer)}
referenziert in FCP von DF.HPA
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 71 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
B.4 DF.QES
In DF.QES werden SE # 1 und SE # 2 genutzt. Die Zugriffsbedingungen hängen vom SE ab,
falls dies nicht anders spezifiziert ist.
Tabelle B.5 – EFs in DF.QES und ihre Eigenschaften
File
FID /
SFID
File
Struktur
File Größe
(Länge der Daten)
Zugriffsbedingung
EF.ARR
(Zugriffsbedingungen)
EF.C.HP.QES
(Zertifikat der QES)
EF.C.HP.QES-AC1
(QES Attributs Zertifikat 1)
EF.C.HP.QES-AC2
(QES Attributs Zertifikat 2)
EF.C.HP.QES-AC3
(QES Attributs Zertifikat 3)
EF.DM
(Display Message)
COS
spezifisch
‘C000’ /
16
‘C001’ /
1
‘C002’ /
2
‘C003’ /
3
‘D004’ /
4
linear variabel
7 Records mit x Bytes
ARR # 1
transparent
1.5 k Byte oder
Länge des Zertifikats
1k Byte oder
Länge des Zertifikats
1k Byte oder
Länge des Zertifikats
1k Byte oder
Länge des Zertifikats
8 Bytes
ARR # 1
transparent
transparent
transparent
transparent
ARR # 2
ARR # 2
ARR # 2
ARR # 3
Anmerkung:
Der HBA enthält alle Zertifikate, wenn er dem Heilberufler übergeben wird. Dieses schließt die
Personalisierung in mehreren Schritten, z.B. durch Interaktion mit verschiedenen ZertifikatsService-Anbietern, nicht aus.
Tabelle B.6 – Zugriffsbedingungen in EF.ARR in DF.QES
Rec-No.
1
Wert
’80 01 01
9000’
Bedeutung
AM: READ RECORD / READ BINARY
SC: Always
2
’80 01 01
9000
referenziert in EF.ARR und in EF.C.HP.QES
AM: READ BINARY
SC: Always
80 01 02
A406 950108
830101’
AM: UPDATE BINARY
SC: AT (UQ = wissensbasierte Nutzer-Authentifizierung,
KeyRef = PIN.CH)
’80 01 01
AF 0A
B4 03 95 01 30
B8 03 95 01 30
referenziert in EF.CH.QES-AC1 / AC2 / AC3
AM: READ BINARY
SC: AND Template
{CCT (UQ = CC in SM command/answer) ||
CT (UQ = CG in SM command/answer)}
3
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 72 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Rec-No.
Wert
Bedeutung
80 01 02
A406 950108
830101’
AM: UPDATE BINARY
AT (UQ = wissensbasierte Nutzer-Authentifizierung,
KeyRef = PIN.CH)
4
'86 06 2000 2400 2C01
9000'
referenziert in EF.DM
AM: VERIFY, CHANGE RD (Option '00'), RESET RC
(Option '01')
SC: Always
5
'86 06 2000 2400 2C01
AF 0A
B4 03 95 01 30
B8 03 95 01 30'
referenziert durch PIN.QES in EF.PIN, SE # 1
AM: VERIFY, CHANGE RD (Option ‘00’), RESET RC
(Option ‘01’)
SC: AND Template
{CCT (UQ = CC in SM command/answer) ||
CT (UQ = CG in SM command/answer)}
6
'87 03 2A9E9A
A406
950108 830181'
referenziert durch PIN.QES in EF.PIN, SE # 2
PSO: COMPUTE DS
SC: AT (UQ = wissensbasierte Nutzer-Authentifizierung,
KeyRef = PIN.QES)
7
'87032A9E9A
AF 12
A406
950108 830181
B4 03 95 01 30
B8 03 95 01 30'
referenziert in EF.PrK durch PrK.HP.QES, SE # 1
PSO: COMPUTE DS
SC: AND Template
{AT (UQ = wissensbasierte Nutzer-Authentifizierung,
KeyRef = PIN.QES) ||
CCT (UQ = CC in SM command/answer) ||
CT (UQ = CG in SM command/answer)}
referenziert in EF.PrK durch PrK.HP.QES, SE # 2
B.5 DF.ESIGN
In DF.ESIGN werden SE # 1 und SE # 2 genutzt. Die Zugriffsbedingungen hängen vom SE
ab, falls dies nicht anders spezifiziert ist.
Tabelle B.7 – EFs in DF.ESIGN und ihre Eigenschaften
File
EF.ARR
(Zugriffsbedingungen)
EF.C.HP.AUT
(AuthentifizierungsZertifikat)
EF.C.HP.ENC
(Verschlüsselungs-Zertifikat
)
FID /
SFID
COS
spezifisch
‘C500’ /
1
File
Struktur
linear variabel
File Größe
(Länge der Daten)
4 Records mit x
Bytes
transparent
‘C200’ /
2
transparent
1.5 k Byte oder
Länge des Zertifikats
1k Byte oder Länge
des Zertifikats
Zugriffsbedingung
ARR # 1
ARR # 1
ARR # 1
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 73 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
EF.DM
(Display Message)
‘D004’ /
4
transparent
8 Bytes
ARR # 2
Tabelle B.8 – Zugriffsbedingungen in EF.ARR in DF.ESIGN
Rec-Nr.
1
Wert
’80 01 01
9000’
Bedeutung
AM: READ RECORD / READ BINARY
SC: Always
2
’80 01 01
AF 0A
B4 03 95 01 30
B8 03 95 01 30
referenziert in EF.ARR, EF.C.HP.AUT und in EF.C.HP.ENC
AM: READ BINARY
SC: AND Template
{CCT (UQ = CC in SM command/answer) ||
CT (UQ = CG in SM command/answer)}
80 01 02
A406 950108
830101’
AM: UPDATE BINARY
AT (UQ = wissensbasierte Nutzer-Authentifizierung,
KeyRef = PIN.CH)
’87 06 880000 2A8086
A4 06 950108
830101’
referenziert in EF.DM
AM: INT. AUTHENTICATE / PSO: DECIPHER
SC: AT (UQ = wissensbasierte Nutzer-Authentifizierung,
KeyRef = PIN.CH)
’87 06 880000 2A8086
AF 12
A406
950108 830101
B4 03 95 01 30
B8 03 95 01 30'
referenziert durch PrK.HP.AUT und PrK.HP.ENC in EF.PrK,
SE # 1
AM: INT. AUTHENTICATE / PSO: DECIPHER
SC: AND Template
{AT (UQ = wissensbasierte Nutzer-Authentifizierung,
KeyRef = PIN.CH) ||
CCT (UQ = CC in SM command/answer) ||
CT (UQ = CG in SM command/answer)}
3
4
referenziert durch PrK.HP.AUT und PrK.HP.ENC in EF.PrK,
SE # 2
Anmerkung:
Die Zugriffsbedingungen für PIN.CH sind auf der MF-Ebene spezifiziert.
B.6 DF.CIA.ESIGN
In DF.CIA.ESIGN wird nur SE # 1 (voreingestelltes SE) genutzt.
Tabelle B.9 – CIA Files und ihre Eigenschaften
File
FID /
SFID
File
Struktur
File Größe
(Länge der Daten)
Zugriffsbedingung
EF.ARR
COS
linear variable
1 Record mit x Bytes
ARR # 1
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 74 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
(Zugriffsbedingungen)
EF.CIAInfo
(CIA Information)
EF.OD
(Objekt-Verzeichnis)
EF.AOD
(Authenth. Objekt-Verzeichnis)
EF.PrKD
(Private Key Verzeichnis)
EF.CD
(HP Zertifikats Verzeichnis)
spezifisch
‘5032’ /
18
‘5031’ /
17
‘5034’ /
20
‘5035’ /
21
‘5038’ /
22
transparent
transparent
transparent
transparent
transparent
256 Bytes
oder Länge der
64 Bytes
oder Länge der
128 Bytes
oder Länge der
128 Bytes
oder Länge der
128 Bytes
oder Länge der
ARR # 1
CIOs
ARR # 1
CIOs
ARR # 1
CIOs
ARR # 1
CIOs
ARR # 1
CIOs
Anmerkung:
SFID 19 wird nicht benutzt (siehe ISO/IEC 7816-15)
Tabelle B.10 – Zugriffsbedingungen in EF.ARR in DF.CIA.ESIGN
RecNr.
Wert
Bedeutung
1
’80 01 01
9000'
AM: READ RECORD / READ BINARY
SC: Always
referenziert in EF.ARR, EF.CIAInfo, EF.OD, EF.AOD, EF.PrKD
und EF.CD
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 75 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Annex C
(normative)
Struktur und Inhalt der QES-Zertifikate
C.1 Zertifikat des öffentlichen Schlüssels für elektronische Signaturen (X.509v3
QES-Zertifikat)
C.1.1 Allgemeine Aspekte
Die Kodierung der HB-QES-Zertifikate muss mit den folgenden Vorgaben übereinstimmen:
• den standardisierten Kodierungs-Schemata für X.509v3-Zertifikate,
• den gesetzlichen Vorschriften des Signaturgesetzes (SigG) und der Signaturverordnung (SigV) in der jeweils gültigen Fassung und
• der ISIS-MTT-Spezifikation für interoperable PKI-Anwendungen (speziell Teil 1:
"Certificate and CRL Profiles" [ISIS-MTT P1], und dem optionalen Profil "SigGProfile" [ISIS-MTT OP]).
Felder im Zertifikat, die in den oben genannten Dokumenten, Regulierungen und Spezifikationen als verbindlich vorgeschrieben sind, müssen in den QES-Zertifikaten der Heilberufler
vorhanden sein. Zusätzlich sind wegen der vorgesehenen Nutzung der HB-QES-Zertifikate in
nationalen und internationalen Umgebungen weitere Felder in den Zertifikaten als verbindlich
gekennzeichnet.
Die QES-Zertifikate bestehen aus
• dem QES-Public-Key-Zertifikat und
• keinem, einem oder mehreren QES-Attributs-Zertifikaten.
Das QES-Public-Key-Zertifikat ist nachfolgend als eine Teilmenge der ISIS-MTTSpezifikation für Zertifikate beschrieben. Die Attributszertifikate sind in Kapitel C.7 beschrieben.
C.1.2 Zertifikatsstruktur
Die generelle Zertifikatsstruktur besteht aus drei verbindlichen Teilen:
• dem zu signierenden Zertifikatsinhalt
• dem Signatur-Algorithmus und
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 76 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
• der Signatur des Zertifikatsherausgebers
In ASN1-Notation wird die generelle Zertifikatsstruktur durch den Typ Certificate definiert, der
im Folgenden spezifiziert wird:
Certificate
tbsCertificate
signatureAlgorithm
signature
::=
SEQUENCE {
TBSCertificate,
AlgorithmIdentifier,
BIT STRING }
C.2 ToBeSignedCertificate
C.2.1 Generelle Struktur
Die generelle Struktur besteht aus den folgenden Feldern (ASN.1-Typ-Definition)
TBSCertificate
version
serialNumber
signature
issuer
validity
subject
subjectPublicKeyInfo
issuerUniqueID
subjectUniqueID
extensions
::=
SEQUENCE {
[0] EXPLICIT Version DEFAULT v1,
CertificateSerialNumber,
AlgorithmIdentifier,
Name,
Validity,
Name,
SubjectPublicKeyInfo,
[1] IMPLICIT UniqueIdentifier OPTIONAL,
[2] IMPLICIT UniqueIdentifier OPTIONAL,
[3] EXPLICIT Extensions Optional }
Anmerkung:
In X.509-Zertifikaten sind Erweiterungen ("extensions") optional, aber für QES-Zertifikate sind einige Erweiterungen verbindlich vorgeschrieben. Die optionalen Erweiterungen issuerUniqueID und
subjectUniqueID , die in der ASN.1-Definition enthalten sind, dürfen nicht benutzt werden.
C.2.2 Version
Die Version kennzeichnet das Kodierschema eines Zertifikats
Die ASN.1-Definition für den Typ Version:
Version
::=
INTEGER { v1(0), v2(1), v3(2) }
Für QES-Zertifikate von Heilberuflern ist nur X.509v3 verbindlich.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 77 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
C.2.3 Seriennummer
Die serialNumber identifiziert in Kombination mit den issuer-Namensfeldern der QESZertifikate ein ES-Zertifikat (RFC2459) eindeutig. Diese Anforderung an Eindeutigkeit ist in
[ISIS-MTT P1] auf alle Arten von Zertifikaten erweitert, d.h., sie gilt sowohl für ES als auch
für Attributszertifikate (ACs).
Die ASN.1-Definition des Typs CertificateSerialNumber für das Feld serialNumber:
CertificateSerialNumber
::=
INTEGER
Die Definition von [RFC2459] für Seriennummern erzwingt nicht den Wert oder die Länge
dieses Feldes. Trotzdem verlangt [RFC3280], dass die Seriennummer eine ganze positive
Zahl sein muss, die nicht länger als 20 Octets sein darf ( 1 <= SN < 2159, MSB=0 weist auf
das positive Vorzeichen hin!). Diese Anforderungen an die Länge gelten auch für [ISIS-MTT
P1] und müssen bei QES-Zertifikaten für Heilberufler berücksichtigt werden.
C.2.4 Signatur
Das Feld signature vom Typ AlgorithmIdentifier benennt den Signatur-Algorithmus, der von
der Certification Authority (CA) benutzt wurde, um dieses Zertifikat zu signieren. Sein Inhalt
muss mit dem des Feldes signatureAlgorithm (siehe C.3) übereinstimmen.
Die ASN.1 Definition des Typs AlgorithmIdentifier für das Feld signature:
Algorithmidentifier
algorithm
parameters
::=
SEQUENCE {
OBJECT IDENTIFIER,
ANY DEFINED BY algorithm OPTIONAL }
C.2.5 Herausgeber
Das Feld issuer vom Typ Name spezifiziert die CA, die das Zertifikat herausgegeben hat.
Die ASN.1 Definition des Typs Name für das Feld issuer:
Name
RDNSequence
::=
::=
CHOICE { RDNSequence }
SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::=
SET OF AttributeTypeAndValue
AttributeTypeAndValue
type
value
::=
SEQUENCE {
AttributeType,
AttributeValue }
AttributeType
::=
OBJECT IDENTIFIER
AttributeValue
::=
ANY DEFINED BY AttributeType
DirectoryString
printableString
::=
CHOICE {
PrintableString (SIZE (1..maxSize))
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 78 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
teletexString
utf8String
bmpString
universalString
TeletexString (SIZE (1..maxSize))
UTF8String (SIZE (1..maxSize))
BMPString (SIZE (1..maxSize))
UniversalString (SIZE (1..maxSize)) }
Für Attribute, die auf dem Typ Directory String basieren, müssen die folgenden Anmerkungen berücksichtigt werden:
• Eine druckbare Zeichenfolge (PrintableString) enthält Zeichen mit ASCIIKodierung, internationale Version
• Eine Teletex-Zeichenfolge (TeletexString) enthält Zeichen gemäß dem T.61Alphabet, mit dem spezifisch deutsche Zeichen wie Umlaute (ä, ö, ü) und ß kodiert werden können.
• Die UTF8-Kodierung, definiert in [RFC2279], ist die bevorzugte Option und muss
in allen Zertifikaten verwendet werden, die nach dem 31.Dezember 2003 herausgegeben werden. Bis zu diesem Termin können Zeichenfolgen gemäß den am
stärksten einschränkenden Regeln von PrintableString oder BMPString verwendet werden. TeletexString und UniversalString sind nur aus Gründen der Rückwärts-Kompatibilität aufgeführt worden und dürfen nicht für neue Zertifikate verwendet werden. [ISIS-MTT P1] empfiehlt die Nutzung einer Untermenge des
UTF8 Zeichensatzes, der nur die ANSI/ISO 8859-1 Zeichen enthält (Unicode Latin-1 page).
Bezogen auf die Attributs-Typen, die in dem Feld für den Herausgeber der HB-QESZertifikate in Übereinstimmung mit dieser Spezifikation genutzt werden dürfen, sind die folgenden Attribute zwingend vorgeschrieben:
• country name, und
• organization name.
Die Nutzung anderer Attributstypen, z.B. der Seriennummer, ist optional.
Das Kodier-Schema für alle Attributstypen issuer in den HB-QES-Zertifikaten ist in [ISIS-MTT
P1, Tabelle 7] definiert.
C.2.5.1 Country name
Der "country name" benennt das Land, in dem die CA ihren Stammsitz hat.
Die ASN.1 Definition des Attribut-Typs countryName:
id-at
::= { 2 5 4 }
id-at-countryName AttributeType ::= { id-at 6 }
CountryName
::= PRINTABLE STRING (SIZE(2))
Die druckbare Zeichenfolge des Ländernamens für Deutschland ist gemäß ISO 3166 "DE".
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 79 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
C.2.5.2 Organization name
Der "organization name" identifiziert die CA
Die ASN.1 Definition des Attribut-Typs organizationName:
id-at-organizationName AttributeType
::= { id-at 10 }
OrganizationName
::= DirectoryString (SIZE(1..64))
C.2.6 Validity
Das Feld "Validity" definiert die Gültigkeitsdauer des Zertifikates
Die ASN.1 Definition des Typs Validity
Validity
notBefore
notAfter
::=
SEQUENCE {
Time,
Time }
Time
utcTime
generalizedTime
::=
CHOICE {
UTCTime,
GeneralizedTime }
Gültigkeitsdaten bis 2049 müssen als UTCTime kodiert werden, Daten ab 2050 als GeneralizedTime. Die auswertende Software muss beide Formate interpretieren können. Datumsangaben müssen im folgenden Format erfolgen:
• YYMMDDhhmmssZ für UTCTime, und
• YYYYMMDDhhmmssZ für GeneralizedTime.
mit
-
Y = Jahr
M = Monat
D = Tag
h = Stunde
m = Minute
s = Sekunde
Z ist das Symbol für Greenwich Mean Time GMT.
Beispiel:
"20030101000000Z"
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 80 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Die maximale Gültigkeitsdauer wird von der CA festgelegt und folgt gesetzlichen Vorgaben,
die von der Stärke der benutzten Algorithmen abhängen.
C.2.7 Subject
Das Feld subject identifiziert den Zertifikatsinhaber im Sinne einer technischen Identifizierung. Die generelle Unterstruktur des Feldes subject ist Name, welcher identisch ist mit dem
im Feld issuer. Das Subjekt Name muss mindestens die Attribute commonName und
countryName enthalten.
In HB-QES-Zertifikaten, die dieser Spezifikation entsprechen, müssen die folgenden Attribute
vorhanden sein:
• countryName
• commonName.
Die Nutzung weiterer Attributstypen, die der ISIS-MTT-Spezifikation oder relevanten RFCs
entsprechen, ist optional
Das Kodierschema für diese subject-Attributstypen in HB-QES-Zertifikaten ist in [ISIS-MTT
P1, Tabelle 7] definiert.
C.2.7.1 Country name
Der "country name" identifiziert das Land, in dem der Zertifikatsinhaber angemeldet ist. Die in
Kapitel C.2.5.1 beschriebenen Regeln finden hier Anwendung.
C.2.7.2 State or province
"state" identifiziert das Bundesland, in dem der Zertifikatsinhaber angemeldet ist (z.B. Bayern
Die ASN.1 Definition des Attributtyps stateOrProvinceName:
id-at-StateOrProvinceName AttributeType ::= { id-at 8 }
StateOrProvinceName
::= DirectoryString (SIZE(1..128))
Die bevorzugte Kodierungs-Variante für DirectoryString ist das UTF8-Subset, das nur ANSI/ISO 8859-1-Zeichen (Unicode Latin-1 page) enthält (siehe auch Anmerkungen in C.2.5).
C.2.7.3 Common name
Der "common name" spezifiziert den Namen einer Person in der Art, wie er normalerweise
benutzt wird. In qualifizierten Zertifikaten muss er den rechtsverbindlichen Namen des Karteninhabers enthalten.
Die ASN.1 Definition des Attributtyps commonName:
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 81 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
id-at-commonName AttributeType ::= { id-at 3 }
CommonName
::= DirectoryString (SIZE(1..64))
Die bevorzugte Kodierungs-Variante für DirectoryString ist das UTF8-Subset, das nur ANSI/ISO 8859-1-Zeichen (Unicode Latin-1 page) enthält (siehe auch Anmerkungen in C.2.5).
Anmerkung:
Personenbezogene Daten, z.B. das Geschlecht einer Person, können in den Zertifikatserweiterungen subjectDirectoryAttributes spezifiziert werden (z.B. das Geschlecht im Attribut gender, siehe C.2.9.5).
Falls der commonName ein Pseudonym enthält, muss er mit den Zeichen":PN" enden. Um
zu erreichen, dass distinguished names eindeutig sind, darf eine CA dasselbe Pseudonym
nicht für verschiedene Personen nutzen. Die CA kann festlegen, dass die Pseudonyme
durch eine vorangestellte Zahl unterschieden werden: PN, z.B. CN = ”givenName surname
1:PN”. Ein Pseudonym sollte nur aus technischen und/oder rechtlichen Gründen verwendet
werden. Es sollte den surname und mindestens einen givenName des Zertifikatsinhabers
enthalten.
C.2.7.4 Serial number
Dieses Feld enthält eine Seriennummer, die von der CA zugewiesen wird, falls sie für die
Eindeutigkeit des Namens des "subject" notwendig ist.
Die ASN.1 Definition des Attributtyps serialNumber:
id-at-serialNumber AttributeType ::= { id-at 5 }
SerialNumber
::= PRINTABLE STRING (SIZE(1..64))
C.2.8 Subject public key info
Dieses Feld enthält den öffentlichen Schlüssel des Zertifikatsinhabers, z.B. des Heilberuflers,
zusammen mit dem Identifier des zugehörenden Algorithmus.
Die ASN.1 Definition des Attributtyps SubjectPublicKeyInfo:
SubjectPublicKeyInfo
algorithm
subjectPublicKey
::=
SEQUENCE {
AlgorithmIdentifier,
BIT STRING }
AlgorithmIdentifier
algorithm
parameters
::=
SEQUENCE {
OBJECT IDENTIFIER,
ANY DEFINED BY algorithm OPTIONAL }
Die OID für den Algorithmus kann im Prinzip folgende Eigenschaften kennzeichnen:
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 82 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
• den Signatur-Algorithmus (verbindlich),
• den Hash-Algorithmus (nicht verbindlich), und
• das Padding-Format, z.B. das DSI-Format (nicht verbindlich)
Software, die die Signatur prüfen soll, benötigt all diese Informationen; diese müssen aber
nicht zwingend durch einen OID im Zertifikat angegeben werden. In speziellen Umgebungen
(z.B. im Internet) können der Signatur-Algorithmus, das DSI-Format und der HashAlgorithmus (zusätzlich) in der Nachricht oder im Nachrichtenkopf angegeben sein. Da das
Vorhandensein nicht garantiert werden kann (speziell, wenn ein signiertes Dokument gespeichert wird, das diese Informationen nicht enthält), darf sich das nutzende System nicht
auf die Verfügbarkeit dieser Informationen verlassen. Zusätzlich wären diese Informationen
ungeschützt, wenn sie nicht in die Signatur des Nutzers einbezogen würden. Deshalb haben
diese Informationen auch keine Relevanz für die OIDs in einem Zertifikat.
Für den HBA sind relevant:
• der Signatur-Algorithmus RSA oder – in der Zukunft – ECDSA,
• der Hash-Algorithmus SHA-1 und Hash-Algorithmen der SHA-2-Familie (speziell
SHA-256),
• die Padding-Formate, z.B. die DSI-Formate PKCS#1 und ISO/IEC 9796-2rnd
Bei einer Prüfung muss als erstes der Signatur-Algorithmus bekannt sein und angewendet
werden; d.h., im Zertifikat muss die OID für den Signatur-Algorithmus enthalten sein.
Im Fall von RSA muss das Padding-Verfahren nach der Re-Transformation der Signatur im
Dekodierungsprozess angewendet werden. Da die definierten Padding-Verfahren einfach
unterschieden werden können (z.B. durch das erste Byte), gibt es keine Notwendigkeit für
eine Anzeige im OID.
Falls der Hash-Algorithmus im DSI angezeigt wird, kann die signierte Nachricht durch Nutzung des angegebenen Hash-Verfahrens gehasht werden und der berechnete Hashwert mit
dem im DSI angegebenen Hashwert verglichen werden. In diesem Fall sollte der OID des
Zertifikates den Hash-Algorithmus nicht anzeigen, um mehr Flexibilität zu erlauben. Die Angabe des Hash-Algorithmus wird von PKCS#1 unterstützt (die Digestinfo von PKCS#1 enthält den OID des Hash-Algorithmus) und die Anzeige des Hash-Algorithmus ist auch im DSIFormat ISO/IEC 9796-2rnd enthalten, wenn der Anhang von 2 Bytes benutzt wird.
Falls der Hash-Algorithmus nicht in der DSI angegeben ist, sollte der OID im Zertifikat den
Hash-Algorithmus zusätzlich zum Signatur-Algorithmus anzeigen.
Hieraus folgt als Konsequenz:
• in einem HBA mit RSA und DSI = PKCS#1 muss der OID nur RSA angeben.
• in einem HBA mit RSA und DSI = ISO/IEC 9796-2rnd (Anhang ‘BC’) muss der
OID RSA und den Hash-Algorithmus SHA-1 angeben.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 83 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
• In einem HBA der die DSI-Formate PKCS#1 und ISO/IEC 9796-2rnd (Anhang
‘BC’) unterstützt, muss der OID RSA und den Hash-Algorithmus SHA-1 angeben
(DSI=PKCS#1 oder ISO/IEC 9796-2rnd (Anhang ‘BC’). Wenn PKCS#1 verwendet wird, muss der im OID angezeigte Hash-Algorithmus verwendet werden.
C.2.9 Extensions
Erweiterungen (extensions) können optional in X.509v3-Zertifikaten enthalten sein und für
die Aufnahme weiterer Informationen genutzt werden. Eine Erweiterung benötigt immer einen Object Identifier, um den Typ der Erweiterung identifizieren zu können. Die Bedeutsamkeit einer Erweiterung muss durch den Wert des Boolschen "criticality flags", "true" oder "false", definiert werden. "True" bedeutet, dass die Erweiterung angegeben sein und von einer
Anwendung verarbeitbar sein muss. Andernfalls wird das komplette Zertifikat bei der Prüfung
abgelehnt. Als Wert der Erweiterung wird eine Folge von Octets definiert.
Extensions
::=
SEQUENCE (1..MAX) OF Extension
Extension
extnId
critical
extnValue
::=
SEQUENCE {
OBJECT IDENTIFIER,
BOOLEAN DEFAULT FALSE,
OCTET STRING }
Für HB-DS-Zertifikate, die dieser Spezifikation entsprechen, sind die folgenden Kategorien
von Erweiterungen von Bedeutung:
• X.509 basic extensions
• private X.509 extensions für qualifizierte Zertifikate [RFC3039 ]
• private X.509 extensions aus [ISIS-MTT OP]
• private X.509 extensions von der BNA.
X.509 basic extensions beinhalten:
• basic constraints
• key usage
• certificate policies
• subject alternative name
• authority key identifier
• subject key identifier
• subject directory attributes
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 84 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
• CRL distribution points.
Diese "basic X.509 certificate extensions" werden durch den "initial object identifier arc" identifiziert.
id-ce OBJECT IDENTIFIER
::= { 2 5 29 }
private X.509 extensions für qualifizierte Zertifikate:
• qualified certificate statements
• authority information access.
Die "X.509 certificate extensions" werden durch den "initial object identifier arc" identifiziert:
id-pe OBJECT IDENTIFIER
::= { 1 3 6 1 5 5 7 1 }
ISIS-MTT SigG Private X.509 Extensions:
• admission
• restriction
• additional information
Die "ISIS-MTT SigG private X.509 certificate extensions" werden durch den "initial object
identifier arc" identifiziert:
id-isismtt OBJECT IDENTIFIER
::=
{ 1 3 36 8 }
id-isismtt-at OBJECT IDENTIFIER ::= { id-isismtt 3 }
Private X.509 Extensions der BNA:
• validity model.
C.2.9.1 Basic Constraints
In diesem Feld werden Beschränkungen definiert, die sich auf den Zertifikatsinhaber beziehen. Es muss angezeigt werden, dass ein Heilberufler keine Zertifikate herausgeben darf,
d.h., er kann nicht die Rolle einer CA übernehmen. Falls "basic constraints extension" in einem HB-Zertifikat genutzt werden, müssen sie als kritisch markiert werden und der Wert der
Komponente cA muss auf "false" gesetzt werden, falls er vorhanden ist.
id-ce-basicConstraints OBJECT IDENTIFIER
BasicConstraints
cA
::=
::=
{ id-ce 19 }
SEQUENCE {
BOOLEAN DEFAULT FALSE,
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 85 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
pathLenConstraint
INTEGER (0..MAX) OPTIONAL }
C.2.9.2 Key usage (Schlüsselnutzung)
Dieses Feld spezifiziert die Nutzung der zertifizierten Public Keys:
Die ASN.1 Definition des Typs KeyUsage:
id-ce-keyUsage OBJECT IDENTIFIER ::=
KeyUsage
digitalSignature
nonRepudiation
keyEncipherment
DatenEncipherment
keyAgreement
keyCertSign
cRLSign
encipherOnly
decipherOnly
::=
{ id-ce 15 }
BIT STRING {
(0),
(1),
(2),
(3),
(4),
(5),
(6),
(7),
(8) }
Für HB-QES-Zertifikate ist nur der Wert nonRepudiation zulässig und muss gesetzt werden.
Die Schlüsselnutzung digitalSignature gilt für Authentifizierungs-Zertifikate. Diese werden in
Authentisierungsverfahren mit digitalen Signaturen im technischen Sinn und nicht wie die
personenbezogene Signatur mit rechtlicher Bedeutung genutzt. Die Erweiterung muss als
kritisch markiert werden.
C.2.9.3 Certificate Policies
In diesem Feld wird die Zertifikats-Policy definiert, die bei der Ausgabe des Zertifikates gültig
war. Die Erweiterung muss vorhanden sein, und sie muss als nicht kritisch markiert werden.
Die Werte müssen in Übereinstimmung mit [ISIS-MTT P1] eingetragen werden. Ältere Systeme nutzen die Erweiterung CertificatePolicies, um qualifizierte Zertifikate zu markieren,
damit ihre Komponenten diese erkennen können. Aus Gründen der vertikalen Interoperabilität sollten diese Erweiterungen vor dem Hintergrund, dass ihr Inhalt die Nutzbarkeit von Zertifikaten einschränken könnte, nicht als kritisch markiert werden. Da andererseits diese Information extrem wichtig für die rechtliche Gültigkeit von digitalen Signaturen ist, sollte sie
von SigG-konformen Komponenten ausgewertet werden.
Die ASN.1 Definition des Typs CertificatePolicies:
id-ce-certificatePolicies OBJECT IDENTIFIER
::= { id-ce 32 }
CertificatePolicies
::=
SEQUENCE SIZE (1..MAX) OF PolicyInformation
PolicyInformation
policyIdentifier
policyQualifiers
::=
SEQUENCE {
CertPolicyId,
SEQUENCE SIZE (1..MAX) OF
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 86 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
PolicyQualifierInfo OPTIONAL}
PolicyQualifierInfo
policyQualifierId
qualifier
::=
SEQUENCE {
PolicyQualifierId,
ANY DEFINED BY policyQualifierId }
CertPolicyId
::= OBJECT IDENTIFIER
-- isis-mtt branch for certificate policies
id-isismtt-cp OBJECT IDENTIFIER
::= { id-isismtt 1 }
id-isismtt-cp-accredited OBJECT IDENTIFIER
::= { id-isismtt-cp 1 }
C.2.9.4 Subject Alternative Name
Dieses Feld enthält einen oder mehrere „alternative technical names“ des ZertifikatsInhabers, z.B. eine eindeutige E-Mail-Adresse oder die eindeutige Internet-Adresse der Homepage des betreffenden Nutzers. Da das Feld subject den Kartenbesitzer eindeutig identifiziert, darf die Erweiterung SubjectAltNames nicht als kritisch markiert werden.
Die ASN.1 Definition des Typs SubjectAltName:
id-ce-subjectAltName OBJECT IDENTIFIER ::= { id-ce 17 }
SubjectAltName
::=
GeneralNames
GeneralNames
::=
SEQUENCE SIZE (1..MAX) OF GeneralName
GeneralName
::=
otherName
rfc822Name
dNSName
x400Address
directoryName
ediPartyName
uniformResourceIdentifier
iPAddress
registeredID
CHOICE {
[0] IMPLICIT
[1] IMPLICIT
[2] IMPLICIT
[3] IMPLICIT
[4] EXPLICIT
[5] IMPLICIT
[6] IMPLICIT
[7] IMPLICIT
[8] IMPLICIT
OtherName
type-id
value
SEQUENCE {
OBJECT IDENTIFIER
[0] EXPLICIT ANY DEFINED type-id }
::=
OtherName,
IA5String,
IA5String,
ORAddress,
Name,
EDIPartyName,
IA5String,
OCTET STRING,
OBJECT IDENTIFIER }
ORAddress
::= SEQUENCE {
built-in-standard-attributes
ANY,
built-in-domain-defined-attributes SEQUENCE OF ANY OPTIONAL,
extension-attributes
SET OF ANY OPTIONAL }
EDIPartyName
NameAssigner
partyName
::=
SEQUENCE {
[0] EXPLICIT DirectoryString OPTIONAL,
[1] EXPLICIT DirectoryString }
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 87 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
In RFC822 ist die Konvention zur Bildung von E-Mail-Adressen definiert Ein Beispiel für eine
E-Mail-Adresse:
• "[email protected]"
C.2.9.5 Subject Directory Attributes
Diese Erweiterung kann zusätzliche Attribute des Karteninhabers enthalten. Qualifizierte Zertifikate können in dieser Erweiterung Daten rechtlich anerkannter Identifikationsmittel (z.B.
von Personalausweisen, Pässen o.ä.) enthalten. Diese optionale Erweiterung darf nicht als
kritisch markiert werden.
Die ASN.1 Definition des Typs SubjectDirectoryAttributes:
id-ce-subjectDirectoryAttributes OBJECT IDENTIFIER
SubjectDirectoryAttributes ::= Attributes
::= { id-ce 9 }
Standard Attributes
Title Attribute
Durch X.520 definiertes optionales Attribut, das den Titel des Karteninhabers enthält.
id-at OBJECT IDENTIFIER
::=
id-at-title OBJECT IDENTIFIER
Title
::=
{ 2 4 5 }
::=
{ id-at 12 }
DirectoryString (SIZE(1..64))
"QC Private Extensions" [RFC3039] für persönliche Daten des Karteninhabers werden durch
den "initial object identifier arc" identifiziert:
id-pkix OBJECT IDENTIFIER ::=
id-pda OBJECT IDENTIFIER ::=
{ 1 3 6 1 5 5 7 }
{ id-pkix 9 }
Date of Birth Attribute
Optionales Attribut, das das Geburtsdatum des Karteninhabers enthält.
id-pda-dateOfBirth AttributeType ::=
{ id-pda 1 }
DateofBirth
::= GeneralizedTime
Place of Birth Attribute
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 88 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Optionales Attribut, das den Geburtsort des Karteninhabers enthält.
id-pda-placeOfBirth AttributeType
::=
{ id-pda 2 }
PlaceofBirth
::= DirectoryString (SIZE(1..128))
Gender Attribute
Optionales Attribut, das das Geschlecht des Karteninhabers enthält.
id-pda-gender AttributeType
Gender
::=
::=
{ id-pda 3 }
PrintableString (SIZE(1)) – "M",F","m","f"
Country of Citizenship Attribute
Optionales Attribut, das die Nationen enthält, deren Staatsbürger der Karteninhaber zum
Zeitpunkt der Ausgabe des Zertifikates ist.
id-pda-countryOfCitizenship AttributeType
::= { id-pda 4 }
CountryOfCitizenship
::= PrintableString (SIZE(2)) – ISO 3166
Country of Residence Attribute
Optionales Attribut, das die Länder enthält, in denen der Karteninhaber einen Wohnsitz hat
id-pda-countryOfResidence AttributeType ::= { id-pda 5 }
CountryOfResidence
::= PrintableString (SIZE(2)) – ISO 3166
Name at Birth Attribute
Durch [ISIS-MTT P1] definiertes optionales Attribut, das den Geburtsnamen des Karteninhaber enthält.
id-isismtt-at-nameAtBirth OBJECT IDENTIFIER ::= { id-isismtt-at 14 }
NameAtBirth
::= DirectoryString (SIZE(1..64))
C.2.9.6 Authority Key Identifier
Dieses Feld ist gemäß [ISIS-MTT P1] verbindlich und gibt die Referenz zum PK der CA an,
der zur Prüfung der CA-Signatur verwendet werden muss. Diese Erweiterung darf nicht als
kritisch markiert werden.
Die ASN.1-Definition des Typs AuthorityKeyIdentifier:
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 89 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::= { id-ce 35 }
AuthorityKeyIdentifier
::= SEQUENCE {
keyIdentifier
[0] IMPLICT KeyIdentifier
OPTIONAL,
authorityCertIssuer
[1] IMPLICIT GeneralNames
OPTIONAL,
authorityCertSerialNumber
[2] IMPLICIT CertificateSerialNumber
OPTIONAL }
KeyIdentifier
::= OCTET STRING
Anmerkung:
Beide Identifikationsmethoden, die in [RFC2459] beschrieben sind, können im selben Zertifikat
benutzt werden. [ISIS-MTT P1] fordert, dass das Feld keyIdentifier exakt dieselbe ID enthalten
muss wie der subjectKeyIdentifier des CA-Zertifikates (siehe C.2.9.7 weiter unten). Falls das Feld
authorityCertIssuer vorhanden ist, muss es genau ein directoryName-Element enthalten, das mit
dem subject DName des Zertifikates der ausgebenden CA gefüllt ist.
C.2.9.7 Subject Key Identifier
Dieses Feld enthält eine Referenz zum PK des Zertifikatsinhabers und ist gemäß ISIS-MTT
optional; seine Verwendung wird aber empfohlen. Der "subject key Identifier" in Form der
ICCSN (in Verbindung mit der key usage) kann in HBAs genutzt werden, die die Signaturprüfung auf der Basis gespeicherter PKs von bekannten Partnern unterstützen. Diese Erweiterung darf nicht als kritisch markiert werden.
Die ASN.1 Definition des Typs SubjectKeyIdentifier:
id-ce-subjectKeyIdentifier OBJECT IDENTIFIER
SubjectKeyIdentifier
::= OCTET STRING
::= { id-ce 14 }
C.2.9.8 Authority Information Access
Die Erweiterung "Authority Information Access" enthält die URL des OCSP-Servers, der für
die Bereitstellung der Statusinformation über das Zertifikat verantwortlich ist. Diese Erweiterung darf nicht als kritisch markiert werden.
Die ASN.1 Definition des Typs AuthorityInfoAccess:
id-pe-authorityInfoAccess OBJECT IDENTIFIER ::= { id-pe 1 }
AuthorityInfoAccessSyntax ::= SEQUENCE (1..MAX) OF AccessDescription
AccessDescription ::= SEQUENCE {
accessMethod
accessLocation
OBJECT IDENTIFIER
GeneralName }
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 90 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Der OID-Wert id-ad-ocsp {id-ad 1} nutzt die Komponente accessMethod, um den OCSPService anzuzeigen. Die OCSP-URL wird im Feld accessLocation angegeben.
C.2.9.9 Validity Model
Die von der BNA vorgegebene "private extension" Gültigkeitsmodell benennt das Prüfverfahren, welches benutzt werden muss, um die Gültigkeit des Zertifikates zu überprüfen. Die Erweiterung darf nicht als kritisch markiert werden.
Mögliche Werte sind id-validityModel-chain {1.3.6.1.4.1.8301.3.5.1} für das Kettenmodell,
das von der BNA vorgeschrieben wird, und id-validityModel-shell {1.3.6.1.4.1.8301.3.5.2} für
das Schalenmodell, das von PKIX genutzt wird.
Weitere Gültigkeitsmodelle, z.B. Hybrid-Modelle, sind ebenfalls möglich. Informationen über
die Gültigkeitsmodelle können im Internet gefunden werden:
• BNA: http://www.bundesnetzagentur.de/media/archive/1343.pps
• OIDs: http://www.informatik.tu-darmstadt.de/TI/Forschung/ FlexiPKI/validity model/index.html
Die ASN.1-Definition des Typs ValidityModel:
id-validityModel OBJECT IDENTIFIER ::= { 1 3 6 1 4 1 8301 3 5 }
id-validityModel-chain {1 3 6 1 4 1 8301 3 5 1} -- yet without validityModelInfo.
id-validityModel-shell {1.3.6.1.4.1.8301.3.5.2} -- yet without validityModelInfo.
ValidityModel::= SEQUENCE {
validityModelId
OBJECT IDENTIFIER
validityModelInfo
ANY DEFINED BY validityModelID OPTIONAL }
C.2.9.10 Qualified Certificate Statements
Dieses Feld zeigt an, dass das Zertifikat ein qualifiziertes Zertifikat im Umfeld eines bestimmten rechtlichen Systems ist. Aufgrund der Festlegungen für Zertifikats-Policies (siehe
C.2.9.3) soll diese Erweiterung nicht als kritisch markiert werden.
Die ASN.1 Definition des Typs QCStatements:
id-pe-qcStatements OBJECT IDENTIFIER
::= { id-pe 3 }
QCStatements
::= SEQUENCE OF QCStatement
QCStatement
statementId
::=
SEQUENCE {
OBJECT IDENTIFIER,
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 91 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
statementInfo
ANY DEFINED BY statementId OPTIONAL }
Vordefiniertes QC-Statement [RFC3039]
id-qcs OBJECT IDENTIFIER ::= { 1 3 6 1 5 5 7 11 }
id-qcs-pkixQCSyntax-v1 OBJECT IDENTIFIER
::= { id-qcs 1 }
Dieser OID muss als statementId genutzt werden, um die Übereinstimmung mit der in
[RFC3039] definierten Syntax und Semantik anzuzeigen. Er bezieht sich auf den Datentyp
SemanticsInformation weiter unten.
SemanticsInformation
::= SEQUENCE {
semanticsIdentifier
OBJECT IDENTIFIER OPTIONAL,
nameRegistrationAuthorities NameRegistrationAuthorities OPTIONAL }
NameRegistrationAuthorities
::=
SEQUENCE SIZE(1..MAX) OF GeneralName
Der semanticsIdentifier soll einen OID enthalten, der die Semantik für Attribute und Namen in
Zertifikatsfeldern definiert.
Das Feld nameRegistrationAuthorities muss den Namen einer oder mehrerer Registrierungsstellen (registration authorities) enthalten, die für die Registrierung von Attributen und
Namen zuständig sind, die mit dem "subject" verbunden sind.
Einige registeredIDs für Semantik oder für eine Zertifikats-Policy können hier zu finden sein
Anmerkung:
[RFC3039] fordert, dass zumindest einer der beiden Werte semanticsIdentifier und nameRegistrationAuthorities vorhanden sein muss.
ETSI QC Statements
Übereinstimmung mit der EU-Direktive
id-etsi-qcs OBJECT IDENTIFIER ::=
{ 0 4 0 1862 1 }
id-etsi-qcs-QcCompliance OBJECT IDENTIFIER ::= {id-etsi-qcs 1}
Dieser OID muss als statementId genutzt werden, um zu zeigen, dass das Zertifikat in Übereinstimmung mit der EU-Direktive [ECDIR] herausgegeben wurde, so wie diese in dem Land
umgesetzt wurde, in dem die herausgebende CA ihren Sitz hat. Wenn diese OID eingetragen wird, ist das Feld statementInfo zu überspringen.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 92 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Begrenzung des Wertes einer Transaktion
id-etsi-qcs-QcLimitValue OBJECT IDENTIIFER ::= {id-etsi-qcs 2}
Dieser OID muss als statementId in Verbindung mit dem QcEuLimitValue-Statement wie
unten angegeben genutzt werden.
QcEuLimitValue
::=
MonetaryValue
MonetaryValue
currency
amount
exponent
::=
SEQUENCE {
Iso4217CurrencyCode,
INTEGER,
INTEGER }
Iso4217CurrencyCode
alphabetic
numeric
::=
CHOICE {
PrintableString,
INTEGER(1..999) }
Der Wert des Limits einer Transaktion wird durch den Betrag * 10exponent angegeben.
Retention Period
CAs oder zugelassene Registrierungsstellen speichern detaillierte Daten über den Inhaber
eines qualifizierten Zertifikates. Diese Daten erlauben die eindeutige Identifikation der Person im Fall eines Streits.
id-etsi-qcs-QcRetentionPeriod OBJECT IDENTIIFER ::= {id-etsi-qcs 3}
Dieser OID muss als statementId in Verbindung mit dem QcRetentionPeriod wie unten angegeben genutzt werden.
QcRetentionPeriod
::=
INTEGER
Dieses Feld zeigt an, für wie viele Jahre nach Ablauf des Zertifikates die persönlichen Daten
des Zertifikatsinhabers gespeichert bleiben.
C.2.9.11 CRL Distribution Points
Dies Feld bestimmt, wie CRL-Informationen erhalten werden können. Die Erweiterung sollte
als nicht kritisch markiert werden.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 93 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Die ASN.1 Definition des Typs CRLDistributionPoints
id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= { id-ce 31 }
CRLDistributionPoints
::= SEQUENCE SIZE (1..MAX) OF DistributionPoint
DistributionPoint
distributionPoint
reasons
cRLIssuer
::=
SEQUENCE {
[0] DistributionPointName OPTIONAL,
[1] ReasonFlags OPTIONAL,
GeneralNames OPTIONAL }
DistributionPointName
::=
fullName
nameRelativeToCRLIssuer
CHOICE {
[0] GeneralNames,
RelativeDistinguishedName }
ReasonFlags
unused
keyCompromise
cACompromise
affiliationChanged
superseded
cessationOfOperation
certificateHold
priveledgeWithdrawn
aACompromise
BIT STRING {
(0),
(1),
(2),
(3),
(4),
(5),
(6),
(7),
(8) }
::=
Dieses Feld ist gemäß [ISIS-MTT P1] verpflichtend, falls indirekte CRLs veröffentlicht werden, und es sollte vorhanden sein, falls direkte CRLs veröffentlicht werden.
C.2.9.12 Professional Admission
Zulassungs-Informationen für Heilberufler können im Basis-QES-Zertifikat durch die Nutzung
der in [ISIS-MTT OP] aufgeführten "private extension" admission vom Typ AdmissionSyntax
angegeben werden, oder in einem oder mehreren Attributszertifikaten durch die Nutzung des
Attributs admission, das auch vom Typ AdmissionSyntax ist, ebenfalls wie in [ISIS-MTT OP]
definiert. Die Entscheidung, welche dieser Möglichkeiten genutzt wird, muss von der jeweils
zuständigen Organisation (Kammer) getroffen werden.
Die ASN.1 Definition des Typs AdmissionSyntax:
id-isismtt-at-admission OBJECT IDENTIFIER
id-isismtt-at-namingAuthorities OBJECT IDENTIFIER
AdmissionSyntax
admissionAuthority
contentsOfAdmissions
::=
::= { isismtt-at 3 }
::= { isismtt-at 11 }
SEQUENCE {
GeneralName OPTIONAL,
SEQUENCE OF Admissions}
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 94 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Admissions
admissionAuthority
namingAuthority
professionInfos
::=
SEQUENCE {
[0] EXPLICT GeneralName OPTIONAL,
[1] EXPLICIT NamingAuthority OPTIONAL,
SEQUENCE OF ProfessionInfo}
NamingAuthority
namingAuthorityId
namingAuthorityUrl
namingAuthorityText
::=
SEQUENCE {
OBJECT IDENTIFIER OPTIONAL,
IA5String OPTIONAL,
DirectoryString (SIZE(1..128)) OPTIONAL }
ProfessionInfo
namingAuthority
professionItems
professionOIDS
registrationNumber
addProfessionInfo
::=
SEQUENCE {
[0] EXPLICT NamingAuthority OPTIONAL,
SEQUENCE OF DirectoryString (SIZE(1..128)),
SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
PrintableString (SIZE(1..128)) OPTIONAL,
OCTET STRING OPTIONAL }
Die Bestandteile der relativ komplexen Struktur der AdmissionSyntax unterstützen die folgenden Konzepte und Anforderungen:
• Das Datenfeld admissionAuthority wird genutzt, um die Organisation zu benennen, die für die Zuweisung von Werten der zugehörigen Elemente verantwortlich
ist. Zulassungsstellen sind Institutionen (z.B. Verbände, Kammern, Vereinigungen, Administrative Einheiten, Firmen, etc.), die verantwortlich für die Erteilung
und Prüfung von Zulassungen sind. Eine Zulassungsstelle wird durch ein Objekt
GeneralName benannt (siehe C.2.9.4).
• Das Datenfeld namingAuthority wird genutzt, um Namen von Organisationen zu
benennen, die für die Führung von Titelregistern zuständig sind. Diese Organisationen definieren Kodierungslisten und zulässige Werte für spezifische Berufsgruppen. Der Name einer bestimmten Organisation kann durch einen object identifier im Feld namingAuthorityId , durch Text im Feld namingAuthorityText, durch
Angabe einer URL im Feld namingAuthorityUrl oder durch eine Kombination dieser Möglichkeiten angegeben werden. Zum Beispiel kann der Text den Namen,
der Organisation, das Land, in dem sie tätig ist und den Namen des Registers
enthalten. Die Option einer URL bezieht sich auf eine Web-Seite, die Listen von
"offiziell" eingetragenen Berufsbezeichnungen und zusätzliche Informationen zu
diesen Berufsgruppen enthält (Text und möglicherweise OIDs). Object identifier
für die Komponente namingAuthorityId gehören zu dem OID-Zweig id-isis-atnamingAuthorities. Die Registrierung neuer OIDs muss bei TeleTrusT beantragt
werden.
• Der Datentyp ProfessionInfo wird benutzt, um bestimmte Berufe, Qualifikationen,
Fachgebiete oder Betätigungsfelder zu benennen. Ein Element wird durch einen
oder mehrere Textbausteine, die zugehörigen Berufs-OIDs in den Feldern professionItems und professionOIDs und durch eine Registrierungsnummer im Feld
registrationNumber charakterisiert. Eine Bezeichnung in Textform ist immer erforderlich, während die anderen Indikatoren optional sind. Die Komponente
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 95 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
addProfessionInfo kann zusätzliche anwendungsbezogene Informationen (DERkodiert) enthalten.
Durch die Nutzung verschiedener namingAuthority-OIDs oder Berufs-OIDs können Hierarchien für Berufe, Qualifikationen, Fachgebiete oder Betätigungsfelder aufgebaut werden. Die
verantwortliche Zulassungsinstanz sollte immer im Feld admissionAuthority aufgeführt werden, wenn eine Registrierungsnummer angegeben wird. Die Information über eine Zulassung kann allerdings auch ohne die Nennung einer Zulassungsinstanz durch die alleinige
Nutzung der Komponente professionItems.gegeben werden. In diesem Fall ist die jeweilige
Zulassungsinstanz für die Prüfung der Zulassungsinformation zuständig.
Das Berufsattribut admission beinhaltet nur einen Wert. Dennoch können mehrere Zulassungen in der sequentiellen Struktur der Komponente contentsofAdmissions von AdmissionSyntax oder in der Komponente professionInfos von Admissions zusammengefasst werden.
Die Komponente admissionAuthority von AdmissionSyntax wird als Anfangswert für die
Komponente admissionAuthority von Admissions genutzt. Dieser Anfangswert kann überschrieben werden, falls eine andere Organisation zuständig ist.
Die Komponente namingAuthority von Admissions wird als Anfangswert für die Komponente
namingAuthority von ProfessionInfo genutzt. Dieser Anfangswert kann überschrieben werden, falls eine andere Organisation festgelegt werden muss.
Die Länge eines Objektes ist auf 128 Zeichen begrenzt. Es wird empfohlen, in allen ausgegebenen Attributszertifikaten eine namingAuthorityURL anzugeben. Falls eine namingAuthorityURL angegeben ist, sollte das Feld professionItems von ProfessionInfo nur registrierte
Titel enthalten. Falls das Feld professionOIDs vorhanden ist, muss es die OIDs der Berufsgruppen, die in professionItems aufgeführt sind, in derselben Reihenfolge enthalten. Im Allgemeinen sollte das Feld professionInfos nur einen Eintrag enthalten, es sei denn, die Zulassungen, die aufgeführt werden sollen, sind logisch miteinander verbunden (z.B., sie sind
unter derselben Zulassungsnummer veröffentlicht).
Berufs-OIDs sollen immer unter dem OID-Zweig der verantwortlichen Namensvergabeinstanz vergeben werden.
Wie schon erwähnt: die Entscheidung, wo die berufsbezogenen Informationen zu integrieren
sind, wird von den für die Berufsgruppen zuständigen Organisationen getroffen. Die folgenden Mindestanforderungen sind durch die Verbände der Ärzte und der Apotheker definiert:
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 96 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Berufsgruppe "Ärzte":
Im Basis-QES-Zertifikat muss angegeben werden, dass der Inhaber des Zertifikates ein Arzt
ist. Die Mindestinformation, die in der Erweiterung admission des Basiszertifikates angegeben sein muss, ist "PHYSICIAN" in der Komponente professionItems von AdmissionSyntax.
{ ..., professionItems {"Ärztin/Arzt"}, ... }
Anmerkung:
Diese und weitere berufsspezifische Informationen können in einem Attributszertifikat für Qualifikationen (siehe C.7.1) oder in einem Attributszertifikat für Autorisierungen (siehe C.7.2) bereitgestellt werden.
Berufsgruppe "Apotheker":
Im Basis-QES-Zertifikat muss die Qualifikation des Karteninhabers enthalten sein, d.h., es
muss ersichtlich sein, ob der Karteninhaber "Apotheker", "Apothekerassistent", "Pharmazieingenieur", "PTA", “PKA/Helferin", "Apothekenassistent", "Pharmazeutische Assistentin", "Apothekenfacharbeiter", "Pharmaziepraktikant", "Stud.pharm. oder Famulant", "PTAPraktikant" oder "Azubi" ist
Zum Beispiel muss bei einem "Apotheker" mindestens die Bezeichnung "Apotheker" in professionItems enthalten sein.
{ ..., professionItems {"Apotheker"}, ... }
Anmerkung:
Weitere berufsgruppenspezifische Informationen können in dieser Erweiterung des Basis-QESZertifikats oder im Attribut admission in einem oder in mehreren Attributszertifikaten (siehe C.7)
enthalten sein.
Neben der Benennung der Qualifikation des Karteninhabers hat die Berufsgruppe "Apotheker" die folgenden Kategorien für zusätzliche Berufs-Informationen festgelegt:
-
Kategorie "Tätigkeitsbereich"
Kategorie "berufliche Rolle"
Kategorie "Fachapothekereigenschaft"
Kategorie "Zusatzqualifikationen zu Fachapothekereigenschaft"
Kategorie "Fach-PTA-Eigenschaft" und
Kategorie "Zugehörigkeit zu Kammern und Fachorganisationen"
Konkrete Werte für die verschiedenen Kategorien, deren Speicherung in der Erweiterung
admission des Basis-QES-Zertifikats erlaubt sind, werden in einem separaten Dokument
beschrieben.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 97 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Das folgende Beispiel soll zeigen, wie detaillierte berufsspezifische Zusatzinformationen in
die Erweiterung admission des Basis-QES-Zertifikats integriert werden können. Es ist anzumerken, dass die Informationen auch in das Attribut admission des Attributszertifikates eingefügt werden können.
{ admissionAuthority "NameOfAuthorityResponsibleForCompleteContent",
contentsOfAdmissions {
admission_1 {
admissionAuthority "NameOfAuthorityResponsibleForContentOfAdmission1",
namingAuthority {
namingAuthorityId id-OIDOfNamingAuthority,
namingAuthorityUrl "URLToListOfQualifications",
namingAuthorityText "NameOfAuthority" },
professionInfos {
professionInfo {
professionItems { "Apotheker" } } } },
admission_2 {
professionInfos {
professionInfo {
namingAuthority {
namingAuthorityUrl "URLToListOfProfessionalRole" },
professionItems {"Apothekenleiter" } } } } } }
C.2.9.13 Restriction
Diese optionale Erweiterung zeigt Beschränkungen für die Nutzung des Zertifikates an. Die
Organisation einer Berufsgruppe, die für die Zertifikatsinhalte verantwortlich ist, kann entscheiden, die Nutzung der Zertifikate auf den Gesundheitssektor zu beschränken. Falls vorhanden, darf diese Erweiterung nicht als kritisch markiert werden.
Die ASN.1 Definition des Typs Restriction:
id-isismtt-at-restriction OBJECT IDENTIFIER ::= {isismtt-at 8}
RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
Die Kodierung des DirectoryString erfolgt in UTF-8.
C.2.9.14 Additional Information
Diese optionale Erweiterung zeigt zusätzliche nicht-beschränkende Informationen für die
Nutzung des Zertifikates an. Die Organisation einer Berufsgruppe, die für die Zertifikatsinhal-
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 98 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
te verantwortlich ist, kann entscheiden, zusätzliche Informationen wie “Dieses Zertifikat gehört zu einer zugelassenen ID-Karte aus dem Bereich Medizin, herausgegeben durch die
zuständige lokale Kammer" oder “Zertifikat als Teil eines elektronischen Arztausweises, herausgegeben durch die zuständige Landesärztekammer” hinzuzufügen. Falls vorhanden, darf
diese Erweiterung nicht als kritisch markiert werden.
Die ASN.1 Definition des Typs AdditionalInformation:
id-isismtt-at-additionalInformation OBJECT IDENTIFIER ::= {isismtt-at 15}
AdditionalInformationSyntax ::= DirectoryString (SIZE(1..2048))
Die Kodierung des DirectoryString erfolgt in UTF-8.
C.3 Signature algorithm
Dieses Feld enthält dieselbe Kodierung wie das Signaturfeld in der “to be signed sequence”.
C.4 Signature
Dieses Feld enthält die Signatur der CA, die das Zertifikat herausgegeben hat.
C.5 QES-Zertifikat in Tabellenform und mit kompletter Syntax
Die folgende Tabelle zeigt das QES-Zertifikat in Tabellenform. Es werden nur die Felder aufgeführt, die für das QES-Zertifikat eines Heilberuflers von Bedeutung sind. In einem solchen
Zertifikat sind alle die Felder, die gemäß ISIS-MTT verbindlich sind, auch für ein HB-QESZertifikat als verbindlich gekennzeichnet. Ein Kreuz in der Spalte ISIS-MTT und HBA gibt an,
dass das zugehörende Feld verbindlich ist.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Seite 99 von 144
Version: 2.1.0 de
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Zertifikatsfeld
Inhalt
ISIS-MTT
HPC
version
serialNumber
signature
issuer
X.509v3
Serial number of certificate
Algorithm identifier for CA signature
Certification authority
DE for Germany
e.g. DEZGW for German CA in health care
Validation period
Generalized Time
Generalized Time
Certificate holder
DE for Germany
Name of German state
Common name in its full form
Serial number for unique naming of subject
PK Daten
OID of algorithm incl. parameters if any
Coding of PK with modulus and publicExponent
Extensions
Classification as end user certificate
nonRepudiation, i.e. usage of certificate restricted to
digital signatures according to SigG requirement
Indication of SigG Conformance
alternative technical name with possibly e-Mail address
of certificate holder
X.500 attributes for additional personal Daten as for
example date of birth, place of birth, gender, country of
citizenship, country of residence, and name at birth
Reference to PK of the CA for verification of the CA
signature
Reference to PK of the certificate holder
Identification of how and where information about the
status of the certificate can be obtained
Information about the mechanisms that must be used in
order to prove the validity of the certificate
Indication that the certificate is a qualified certificate,
and where applicable monetary limit of transactions
Identification of how CRL information can be obtained
Professional admission information
Other restrictions regarding the usage of the certificate
Non-restrictive information regarding the usage of the
certificate
Algorithm identifier for CA signature
(Value identical to signature field in Certificate Content)
Signature of CA
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
countryName
organizationName
validity
notBefore
notAfter
subject
countryName I
stateOrProvince
commonName (CN)
serialNumber
subjectPublicKeyInfo
algorithm
subjectPublicKey
extensions
basicConstraints
keyUsage
certificatePolicies
subjectAltName
subjectDirectoryAttributes
authorityKeyIdentifier
subjectKeyIdentifier
authorityInfoAccess
validityModel
qcStatements
cRLDistributionPoints
admission
restriction
additionaInformation
signatureAlgorithm
signature
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Tab. C.1: Inhalt des QES-Zertifikats eines Heilberuflers
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 100 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Im Folgenden ist die Syntax eines QES-Zertifikats angegeben:
-- certificate
Certificate
tbsCertificate
signatureAlgorithm
signature
::=
SEQUENCE {
TBSCertificate,
AlgorithmIdentifier,
BIT STRING }
-- to be signed certificate
TBSCertificate
::=
version
serialNumber
signature
issuer
validity
subject
subjectPublicKeyInfo
issuerUniqueID
subjectUniqueID
extensions
SEQUENCE {
[0] EXPLICIT Version DEFAULT v1,
CertificateSerialNumber,
AlgorithmIdentifier,
Name,
Validity,
Name,
SubjectPublicKeyInfo,
[1] IMPLICIT UniqueIdentifier OPTIONAL,
[2] IMPLICIT UniqueIdentifier OPTIONAL,
[3] EXPLICIT Extensions Optional }
-- version
Version
::=
INTEGER { v1(0), v2(1), v3(2) }
-- serial number
CertificateSerialNumber
::=
INTEGER
::=
SEQUENCE {
OBJECT IDENTIFIER,
ANY DEFINED BY algorithm OPTIONAL }
-- signature
Algorithmidentifier
algorithm
parameters
-- issuer
Name
::=
CHOICE { RDNSequence }
RDNSequence
::=
SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::=
SET OF AttributeTypeAndValue
AttributeTypeAndValue
type
value
::=
SEQUENCE {
AttributeType,
AttributeValue }
AttributeType
::=
OBJECT IDENTIFIER
AttributeValue
::=
ANY DEFINED BY AttributeType
-- directory string
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 101 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
DirectoryString
printableString
teletexString
utf8String
bmpString
universalString
::=
-- country name attribute
CountryName
::=
CHOICE {
PrintableString (SIZE (1..maxSize))
TeletexString (SIZE (1..maxSize))
UTF8String (SIZE (1..maxSize))
BMPString (SIZE (1..maxSize))
UniversalString (SIZE (1..maxSize)) }
PRINTABLE STRING (SIZE(2))
-- organization name attribute
OrganizationName
::= DirectoryString (SIZE(1..64))
-- validity
Validity
notBefore
notAfter
Time
utcTime
generalizedTime
::=
SEQUENCE {
Time,
Time }
::=
CHOICE {
UTCTime,
GeneralizedTime }
-- state or province name attribute
StateOrProvinceName
::= DirectoryString (SIZE(1..128))
-- common name attribute
CommonName
::=
DirectoryString (SIZE(1..64))
-- serial number attribute
SerialNumber
::=
PRINTABLE STRING (SIZE(1..64))
-- subject public key info
SubjectPublicKeyInfo
::=
algorithm
subjectPublicKey
SEQUENCE {
AlgorithmIdentifier,
BIT STRING }
-- extensions
Extensions
Extension
extnId
critical
extnValue
SEQUENCE (1..MAX) OF Extension
SEQUENCE {
OBJECT IDENTIFIER,
BOOLEAN DEFAULT FALSE,
OCTET STRING }
::=
::=
-- basic constraints extenion
BasicConstraints
::= SEQUENCE {
cA
BOOLEAN DEFAULT FALSE,
pathLenConstraint
INTEGER (0..MAX) OPTIONAL }
-- key usage extenion
KeyUsage
::=
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
BIT STRING {
Seite 102 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
digitalSignature
nonRepudiation
keyEncipherment
DatenEncipherment
keyAgreement
keyCertSign
cRLSign
encipherOnly
decipherOnly
(0),
(1),
(2),
(3),
(4),
(5),
(6),
(7),
(8) }
-- certificate policies extension
CertificatePolicies
::= SEQUENCE SIZE (1..MAX) OF PolicyInformation
PolicyInformation
policyIdentifier
policyQualifiers
::=
SEQUENCE {
CertPolicyId,
SEQUENCE SIZE (1..MAX) OF
PolicyQualifierInfo OPTIONAL}
PolicyQualifierInfo
policyQualifierId
qualifier
::=
SEQUENCE {
PolicyQualifierId,
ANY DEFINED BY policyQualifierId }
CertPolicyId
::=
OBJECT IDENTIFIER
-- subject alternative name extension
SubjectAltName
::= GeneralNames
GeneralNames
::=
GeneralName
::=
otherName
rfc822Name
dNSName
x400Address
directoryName
ediPartyName
uniformResourceIdentifier
iPAddress
registeredID
OtherName
type-id
value
SEQUENCE SIZE (1..MAX) OF GeneralName
CHOICE {
[0] IMPLICIT
[1] IMPLICIT
[2] IMPLICIT
[3] IMPLICIT
[4] EXPLICIT
[5] IMPLICIT
[6] IMPLICIT
[7] IMPLICIT
[8] IMPLICIT
OtherName,
IA5String,
IA5String,
ORAddress,
Name,
EDIPartyName,
IA5String,
OCTET STRING,
OBJECT IDENTIFIER }
:: = SEQUENCE {
OBJECT IDENTIFIER
[0] EXPLICIT ANY DEFINED type-id }
ORAddress
:: = SEQUENCE {
built-in-standard-attributes
ANY,
built-in-domain-defined-attributes SEQUENCE OF ANY OPTIONAL,
extension-attributes
SET OF ANY OPTIONAL }
EDIPartyName
:: = SEQUENCE {
nameAssigner [0] EXPLICIT DirectoryString OPTIONAL,
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 103 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
partyName [1] EXPLICIT DirectoryString }
-- subject directory attributes extension
SubjectDirectoryAttributes ::= Attributes
Title
::=
DirectoryString (SIZE(1..64))
DateOfBirth
::=
GeneralizedTime
PlaceOfBirth
::=
DirectoryString (SIZE(1..128))
Gender
::=
PrintableString (SIZE(1)) – "M",F","m","f"
CountryOfCitizenship
::=
PrintableString (SIZE(2)) – ISO 3166
CountryOfResidence
NameAtBirth
::=
::=
PrintableString (SIZE(2)) – ISO 3166
DirectoryString (SIZE(1..64))
-- authority key identifier extension
AuthorityKeyIdentifier
::= SEQUENCE {
keyIdentifier
[0] IMPLICT KeyIdentifier
OPTIONAL,
authorityCertIssuer
[1] IMPLICIT GeneralNames
OPTIONAL,
authorityCertSerialNumber
[2] IMPLICIT
CertificateSerialNumber OPTIONAL}
KeyIdentifier
::= OCTET STRING
-- subject key identifier extension
SubjectKeyIdentifier
::= OCTET STRING
-- qualified certificate statements extension
QCStatements
::= SEQUENCE OF QCStatement
QCStatement
statementId
statementInfo
::=
SEQUENCE {
OBJECT IDENTIFIER,
ANY DEFINED BY statementId OPTIONAL }
-- predefined RFC3039 qualified certificate statements
SemanticsInformation
::= SEQUENCE {
semanticsIdentifier
OBJECT IDENTIFIER OPTIONAL,
nameRegistrationAuthorities
NameRegistrationAuthorities OPTIONAL }
NameRegistrationAuthorities
::=
SEQUENCE SIZE(1..MAX) OF GeneralName
-- ETSI QC statement on limitation of transaction value
QcEuLimitValue
::= MonetaryValue
MonetaryValue
currency
amount
::=
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
SEQUENCE {
Iso4217CurrencyCode,
INTEGER,
Seite 104 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
exponent
INTEGER }
Iso4217CurrencyCode
::= CHOICE {
alphabetic
PrintableString,
numeric
INTEGER(1..999) }
-- ETSI QC statement on retention period
QcRetentionPeriod
::= INTEGER
-- CRL distribution points extension
id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= { id-ce 31 }
CRLDistributionPoints
::= SEQUENCE SIZE (1..MAX) OF DistributionPoint
DistributionPoint
distributionPoint
reasons
cRLIssuer
::=
SEQUENCE {
[0] DistributionPointName OPTIONAL,
[1] ReasonFlags OPTIONAL,
[2] GeneralNames OPTIONAL }
DistributionPointName
::=
fullName
nameRelativeToCRLIssuer
CHOICE {
[0] GeneralNames,
[1] RelativeDistinguishedName }
ReasonFlags
unused
keyCompromise
cACompromise
affiliationChanged
superseded
cessationOfOperation
certificateHold
priveledgeWithdrawn
aACompromise
BIT STRING {
(0),
(1),
(2),
(3),
(4),
(5),
(6),
(7),
(8) }
::=
AuthorityInfoAccessSyntax ::= SEQUENCE (1..MAX) OF AccessDescription
AccessDescription ::= SEQUENCE {
accessMethod OBJECT IDENTIFIER
accessLocation
GeneralName }
-- ISIS-MTT private extenstion/attribute admission
AdmissionSyntax
::= SEQUENCE {
admissionAuthority
GeneralName OPTIONAL,
contentsOfAdmissions
SEQUENCE OF Admissions}
Admissions
admissionAuthority
namingAuthority
professionInfos
::= SEQUENCE {
[0] EXPLICT GeneralName OPTIONAL,
[1] EXPLICIT NamingAuthority OPTIONAL,
SEQUENCE OF ProfessionInfo}
NamingAuthority
NamingAuthorityId
namingAuthorityUrl
::=
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
SEQUENCE {
OBJECT IDENTIFIER OPTIONAL,
IA5String OPTIONAL,
Seite 105 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
namingAuthorityText
DirectoryString (SIZE(1..128)) OPTIONAL }
ProfessionInfo
namingAuthority
professionItems
professionOIDS
registrationNumber
addProfessionInfo
::=
SEQUENCE {
[0] EXPLICT NamingAuthority OPTIONAL,
SEQUENCE OF DirectoryString (SIZE(1..128)),
SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
PrintableString (SIZE(1..128)) OPTIONAL,
OCTET STRING OPTIONAL }
ValidityModel
::= SEQUENCE {
validityModelId
OBJECT IDENTIFIER
validityModelInfo
ANY DEFINED BY validityModelID OPTIONAL }
RestrictionSyntax
::= DirectoryString (SIZE(1..1024))
AdditionalInformationSyntax ::= DirectoryString (SIZE(1..2048))
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 106 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
C.6 Object Identifier, die in dieser Spezifikation verwendet werden
Die nachfolgende Tabelle zeigt die relevanten Object Identifier.
Tabelle C.2 – Überblick über OIDs
Object Identifier
Bedeutung
Name
Wert
id-at
{254}
Zweig für X.500 Attribute
id-at-title
{ 2 5 4 12 }
Titel
id-ce
{ 2 5 29 }
Zweig für Zertifikats-Erweiterungen
id-ce-subjectDirectoryAttributes
{ id-ce 9 }
in diesem Feld werden zusätzliche X.500-Attribute des Karteninhabers zur Verfügung gestellt, die zur rechtlich verbindlichen
Identifizierung genutzt werden können
id-ce-subjectKeyIdentifier
{ id-ce 14 }
bezeichnet das Zertifikat des Karteninhabers, das einen spezifischen PuK enthält
id-ce-keyUsage
{ id-ce 15 }
bezeichnet den Verwendungszweck des privaten Schlüssels als
nur für Signaturen im Sinne von Nicht-Abstreitbarkeit bestimmt
id-ce-subjectAltName
{ id-ce 17 }
enthält den alternativen technischen Namen des HBA-Besitzers
id-ce-basicConstraints
{ id-ce 19 }
zeigt an, dass der Karteninhaber nicht die Rolle einer CA ausüben darf
id-ce-certificatePolicies
{ id-ce 32 }
bezeichnet die Policy an, die bei der Ausgabe des Zertifikates
zugrunde lag und den Zweck, für den sie genutzt werden soll
id-ce-authorityKeyIdentifier
{ id-ce 35 }
bezeichnet den öffentlichen Schlüssel der ausgebenden CA
id-pkix
{1361557}
Zweig für PKIX
id-pe
{ id-pkix 1 }
Zweig für private Zertifikats-Erweiterungen
id-pe-qcStatements
{ id-pe 3 }
gibt an, dass dasZertifikat ein qaulifiziertes Zertifikat innerhalb
eines bestimmten Rechtssystems ist
id-pda
{ id-pkix 9 }
Zweig für Attribute von persönlichen QC-Daten
id-pda-dateOfBirth
{ id-pda 1 }
Geburtsdatum
id-pda-placeOfBirth
{ id-pda 2 }
Geburtsort
id-pda-gender
{ id-pda 3 }
Geschlecht
id-pda-countryOfCitizenship
{ id-pda 4 }
Land, aus dem der Karteninhaber stammt
id-pda-countryOfResidence
{ id-pda 5 }
Land, in dem der Karteninhaber wohnt
id-isismtt
{ 1 3 36 8 }
Zweig für ISIS-MTT
id-qcs
{ id-pkix 11 }
Zweig für QC statements
id-qcs-pkixQCSyntax-v1
{ id-qcs 1 }
RFC3039 QC statement
id-isismtt-at
{ id-isismtt 3 }
Zweig für ISIS-MTT-Attribute und -Erweiterungen
id-isismtt-at-admission
{ id-isismtt-at 3 }
Ibezeichnet berufliche Zulassungsinformationen
id-isismtt-at-restriction
{ id-isismtt-at 8 }
bezeichnet ander (nicht-monetäre) Beschränkungen in Zertifikaten
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 107 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Object Identifier
Bedeutung
Name
Wert
id-isismtt-at-namingAuthorities
{ id-isismtt-at 11 }
Zweig für namensgebende Berufsorganisationen
id-isismtt-at-nameAtBirth
{ id-isismtt-at 14 }
Geburtsname
id-isismtt-at-additionalInformation
{ id-isismtt-at 15 }
bezeichnet nicht-beschränkende Informationen zur Zertifikatsnutzung
id-isismtt-cp
{ id-isismtt 1 }
Zweig für ISIS-MTT Zertifikats-Policies
id-isismtt-cp-accredited
{ id-isismtt-cp 1 }
zeigt an, dass es sich um ein qualifiziertes Zertifikat gemäß
[ECDIR] handelt, dass es den speziellen Anforderungen des
SigG entspricht und von einem akkreditierten ZertifizierungsDiensteanbieter ausgegeben wurde
id-validityModel
{ 1 3 6 1 4 1 8301 3 5 }
Zweig für Erweiterungen der BNA, um Gültigkeitsmodelle anzuzeigen
id-validityModel-chain
{ id-validityModel 1 }
definiert das Kettenmodell als zugrundeliegendes Gültigkeitsmodell
id-validityModel-shell
{ id-validityModel 2 }
definiert das Schalenmodell als zugrundeliegendes Gültigkeitsmodell
id-etsi-qcs
{ 0 4 0 1862 1 }
Zweig für ETSI QC statements
id-etsi-qcs-QcCompliance
{ id-etsi-qcs 1 }
zeigt an, dass das Zertifikat den Vorgaben von [ECDIR] entspricht
id-etsi-qcs-QcLimitValue
{ id-etsi-qcs 2 }
zeigt die Begrenzung der Höhe einer Transaktion gemäß
[ECDIR] an
id-etsi-qcs-QcRetentionPeriod
{ id-etsi-qcs 3 }
zeigt, wie viele Jahre nach Ablaufdatum des Zertifikates die
Registrierungsinformationen über den Karteninhaber gespeichert werden
C.7 Attributszertifikat für elektronische Signaturen (X.509v3 Zertifikat)
Attributszertifikate werden herausgegeben, um dem Karteninhaber spezielle Attribute zuweisen zu können, die nicht im Basis-QES-Zertifikat enthalten sind. Wenn ein Dokument vom
Karteninhaber signiert wird und er ein oder mehrere der Attributszertifikate in einem bestimmten Kontext nutzen will, müssen die Attributszertifikate am Ende des Dokumentes angefügt und mit signiert werden.
Allgemeine Definition eines Attributszertifikates:
AttributeCertificate
acinfo
signatureAlgorithm
signature
::=
SEQUENCE {
AttributeCertificateInfo,
AlgorithmIdentifier,
BIT STRING }
TBSAttributeCertificate
version
subject
::=
SEQUENCE {
Version DEFAULT v1,
CHOICE {
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 108 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
baseCertificateID
subjectName
issuer
signature
serialNumber
attrCertValidityPeriod
attributes
issuerUniqueID
extensions
Attribute
type
values
[0] IssuerSerial,
[1] GeneralNames },
GeneralNames,
AlgorithmIdentifier,
CertificateSerialNumber,
AttCertValidityPeriod,
SEQUENCE OF Attribute,
UniqueIdentifier OPTIONAL,
Extensions OPTIONAL }
::=
SEQUENCE {
AttributeType,
SET OF AttributeValue }
Die issuerUniqueID darf nicht verwendet werden. Der Bezug zum Basis-QES-Zertifikat, zu
dem das Attributszertifikat gehört, wird durch Angabe des Herausgebers und der Seriennummer des QES-Basis-Zertifikats hergestellt.
IssuerSerial
issuer
serial
issuerUID
::=
SEQUENCE {
GeneralNames,
CertificateSerialNumber,
UniqueIdentifier OPTIONAL }
AttCertValidityPeriod
notBeforeTime
notAfterTime
::=
SEQUENCE {
GeneralizedTime,
GeneralizedTime }
Die issuerUID darf nicht verwendet werden. Berufsspezifische Zulassungen können in einem
Attributszertifikat durch Nutzung des Attributs admission des Typs AdmissionSyntax wie in
[ISIS-MTT OP] definiert angegeben werden. Das Attribut admission wird nur mit einem Eintrag besetzt. Trotzdem können mehrere Zulassungen in der sequentiellen Struktur der Komponente contentsOfAdmissions von AdmissionSyntax oder in der Komponente professionInfos of admissions zusammengefasst werden. Weitere Details siehe unter C.2.9.9.
Im Folgenden sind die Anforderungen für die Nutzung des Attributs admission in Attributszertifikaten spezifiziert. Die Attribute eines Heilberuflers sind an seine beruflichen Zulassungen
gebunden. Die folgenden zwei Kategorien können in Bezug auf die sie verantwortenden Organisationen unterschieden werden
• Kategorie "Qualifikationen", und
• Kategorie "Autorisierungen".
Es ist anzumerken, dass beide Kategorien von Attributszertifikaten dieselbe Struktur aufweisen und das Attribut admission vom ASN.1-Typ AdmissionSyntax nutzen. Attributszertifikate
müssen die folgenden Erweiterungen mit zum zugehörenden Basiszertifikat passenden Werten enthalten: AuthorityKeyIdentifier, CertificatePolicies, CRLDistributionPoints, AuthorityInfoAccess and QCStatements.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 109 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Die Vorgaben für die Nutzung und den Inhalt von Attributszertifikaten und die möglichen Kategorien der berufsspezifischen Zulassungen werden im Detail in einem gesonderten Dokument beschrieben. Die beiden folgenden Unterkapitel beschreiben beispielhafte Implementierungen.
C.7.1 Attributszertifikat für Qualifikationen
Das Attributszertifikat für Qualifikationen enthält die folgenden Informationen:
• Beruf
• Spezialisierungsart, und
• konkrete Spezialisierung
Für jede Spezialisierungsart kann ein gesondertes Attributszertifikat herausgegeben werden.
Die Organisation, die diese Qualifikationen bestätigt, ist die zugehörende Kammer. Nachfolgend ein Beispiel für ein Attributszertifikat für Qualifikationen
{ admissionAuthority "BAYERISCHE LANDESAERZTEKAMMER",
contentsOfAdmissions {
{ professionInfos {
{ namingAuthority {
namingAuthorityId id-OIDForBAEK,
namingAuthorityUrl "UrlToListProfession" },
professionItems { "Arzt" },
registrationNumber "10.530" },
{ namingAuthority {
namingAuthorityId id-OIDForBAEK,
namingAuthorityUrl "UrlToListSpecialityType" },
professionItems { "GB" } },
{ namingAuthority {
namingAuthorityId id-OIDForBAEK,
namingAuthorityUrl "UrlToListDedicatedSpeciality" },
professionItems { "Anatomie" } } } } }
C.7.2 Attributs-Zertifikate für Autorisierungen
Die Attributszertifikate für Autorisierungen enthalten u.a. die folgenden Informationen:
• die generelle Autorisierung
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 110 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
• den Typ der Autorisierung und
• die konkrete Autorisierung
Für jede Autorisierungsart kann ein gesondertes Attributszertifikat herausgegeben werden.
Die Organisation, die diese Qualifikationen bestätigt, ist die zugehörende Standesorgansiation. Es folgt ein Beispiel für ein Attributszertifikat für Autorisierungen
{ admissionAuthority "KASSENAERZTLICHE VEREINIGUNG BAYERNS",
contentsOfAdmissions {
{ professionInfos {
{ namingAuthority {
namingAuthorityId id-OIDForKBV,
namingAuthorityUrl "UrlToGeneralAuthorization" },
professionItems { "Vertragsarzt" } },
{ namingAuthority {
namingAuthorityId id-OIDFor,
namingAuthorityUrl "UrlToAuthorizationType" },
professionItems { "VF" } },
{ namingAuthority {
namingAuthorityId id-OIDForBAEK,
namingAuthorityUrl "UrlToDedicatedAuthorization" },
professionItems { "Sonographie" } } } } }
C. 8 Certification Authorities für X.509 Zertifikate
Die Sicherheitsanforderungen an den HBA erfordern unterschiedliche Typen von X.509Nutzer-Zertifikaten:
• QES Zertifikat (X.509 Zertifikat für eine qualifizierte elektronische Signatur) und
bis zu 3 Attributs-Zertifikate
• AUT Zertifikat (X.509 Authentifizierungs-Zertifikat)
• ENC Zertifikat (X.509 Verschlüsselungs-Zertifikat).
Nutzerzertifikate werden von einer oder mehreren CAs des Gesundheitswesens (in diesem
Fall Zertifizierungsdiensteanbietern) ausgestellt. Die Wurzel-CA für qualifizierte elektronische
Signaturen (BNA) erstellt ein Zertifikat für eine solche CA. Das dabei zertifizierte Schlüsselpaar darf nur zur Erstellung von Nutzer-Zertifikaten für qualifizierte elektronische Signaturen
verwendet werden. Die CA der Heilberufler erstellt auch die X.509-AUT- und X.509-ENC-
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 111 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Zertifikate, wobei das dafür verwendete Schlüsselpaar von der Wurzelinstanz des zugehörigen Sektors signiert ist.
Private CA-Schlüssel im
Gesundheitswesen:
BNA
Wurzel CA
HP Sektor
Wurzel CA
• PrK-CA.CS_QES, von der BNA
zertifiziert zum Signieren von
C.HP.QES und zugehörenden
ACs
• PrK.CA.CS_AUT&ENC, von der
HBA-Sektor-Wurzel-CA
CA
zertifiziert zum Signieren von
HeilC.HP.AUT und C.HP.ENC
berufler
AC
AC
AC
C.HP.
QES
X.509
C.HP.
AUT
C.HP.
ENC
X.509
X.509
AC
AUT
BNA
C
CA
CS
ENC
QES
= Attributs
Attribute Zertifikat
= Authentifizierung
= Bundes-Netz-Agentur
= Zertifikat
= Certification Authority
= CertSign
= Verschlüsselung
= Qualifizierte elektr.Signatur
Abbildung C.1 – X.509 Zertifikate und Certification Authorities
Anmerkung:
Die Funktion einer CA des Gesundheitswesens kann von mehreren Organisationen (akkreditierte
ZDAs) übernommen werden.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 112 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Anhang D
(normativ)
Zertifikate für Authentifizierung und
Verschlüsselung
D.1 Struktur und Inhalt
Das AUT- und das ENC-Zertifikat sind X.509v3-Zertifikate.
Das AUT-Zertifikat enthält Informationen, die für folgende Funktionen geeignet sind:
• die Nutzer-Identifizierung, falls Zugriffsrechte auf dem Server sich auf UIDs beziehen, und
• die Zuweisung von Zugriffsrechten, falls keine UIDs registriert sind und Zugriffsrechte an die im Zertifikat angegebene Autorisierung gebunden sind (z.B. die Berufsangabe Arzt oder Apotheker)
Das ENC-Zertifikat enthält Informationen über den Zertifikatsinhaber, d.h., den Empfänger
vertraulicher Informationen.
D.2 Kodierung
Die Kodierung entspricht prinzipiell derjenigen eines QES-Zertifikats mit den folgenden Änderungen:
• es gibt kein Policy-Feld, das die Übereinstimmung mit den Vorgaben des SigG
angibt, aber einen entsprechenden Identifier für die verwendete Policy.
• als Schlüsselnutzung wird im AUT-Zertifikat "digital signature" angegeben. Um
Web-basierte Client-Authentifizierungen mit dem TSL-Protokoll durchführen zu
können, kann optional auch das "key encipherment"-Bit im AUT-Zertifikat gesetzt
werden (in Übereinstimmung mit dem ISIS-MTT-Authentication Certifiicate Profile).
• im ENC Zertifikat wird "key encipherment" und "data encipherment" als Schlüsselnutzung angegeben.
• Der Algorithmus-OID im Feld "subject public key info" muss entsprechend der
Nutzung des zertifizierten PK gesetzt werden.
Um Web-basierte Client-Authentifizierungen mit dem TSL-Protokoll durchführen zu können,
kann die nicht-kritische Erweiterung extendedKeyUsage optional in das AUT-Zertifikat eingeHBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 113 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
fügt werden (entsprechend ISIS-MTT Authentication Certificate Profile). Falls diese Erweiterung genutzt wird, muss clientAuth { 1 3 6 1 5 5 7 3 2 } als KeyPurposeID verwendet werden.
ASN.1-Definition des Typs ExtendedKeyUsage
ExtendedKeyUsage
KeyPurposeId
::=
::=
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
SEQUENCE SIZE (1..MAX) OF KeyPurposeId
OBJECT IDENTIFIER
Seite 114 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Anhang E
(normative)
Algorithmen und Input-Formate für
Sicherheits Operationen
E.1 RSA-DSI-Formate
E.1.1 DSI gemäß ISO/IEC 9796-2 mit Zufallszahl
Der Input für Digitale Signaturen gemäß ISO/IEC 9796-2 mit Integration einer Zufallszahl hat
die folgende Struktur:
• Kopfzeile: 2 Bits (= 01)
• weitere Daten Bit = 1 (Mn nicht leer)
• Feld für Padding: Bits gleich 0 (Anzahl hängt von der Länge des Modulus ab),
gefolgt von einem einzelnen Bit, das auf 1 gesetzt ist
• Datenfeld: Zufallszahl, von der Karte bezogen (8 Bytes)
• Feld für Hash-Verfahren: Hashwert (für SHA-1: 160 Bits)
• Anhang: 1 Byte: ‘BC’
Anders als im Algorithmus, wie er in ISO/IEC 9796-2 beschrieben ist, wird die Zufallszahl als
interner Wert nicht in die Berechnung des Hashwertes einbezogen. Auch wird kein wiederherstellbarer String (siehe ISO/IEC 9796-2, Kapitel 6.3.4) erzeugt, d.h., der temporär erzeugte String wird direkt als DSI genutzt.
E.1.2 DSI gemäß PKCS #1
Das DSI-Format gemäß [PKCS#1] Kapitel 9.2 (Block Type 1) hat die folgende Struktur:
• Startbyte: ‘00’
• Block type: ‘01’
• Padding-String: ‘FF …FF’
• Separator: ‘00’
• DigestInfo: ASN.1-Sequenz des digestAlgorithm (ASN.1-Sequence von
• OID und Parameter) und
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 115 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
• digest (ASN.1-DO Hashwert)
Die an die Karte zu sendende Digestinfo wird wie folgt kodiert:
• SHA-1 mit OID: { 1 3 14 3 2 26 }
• DigestInfo: 3021 3009 06052B0E03021A 0500 0414 || Hashwert (20 Bytes)
E.1.3 Algorithm Identifier für PSO: HASH und PSO: COMPUTE DS
Tabelle 1 zeigt die Algorithm Identifier, die vor der Erstellung der ersten Signatur mit dem
Kommando MSE auszuwählen sind.
Tabelle E.1 – Algorithm Identifier für QES
AlgID
‘11’
‘12’
'41'
Bedeutung
SHA-1 und RSA mit DSI gemäß ISO/IEC 97962 mit RND
SHA-1 und RSA mit DSI gemäß PKCS #1
SHA-256 und RSA mit DSI gemäß ISO/IEC
9796-2 mit RND
SHA-256 und RSA mit DSI gemäß PKCS #1
'42'
OID
{1 3 36 3 4 3 2 1}
(TTT)
{1 2 840 113549 1 1 5} (RSADSI)
{1 3 36 3 4 3 2 4}
(TTT)
{1 2 840 113549 1 1 11}
(RSADSI)
Tabelle 7 aus [HBA-T1] zeigt die OIDs der Hash-Algorithmen, die für die Erstellung der Digestinfo notwendig sind.
E.2 Algorithm Identifier für INTERNAL AUTHENTICATE
Tabelle E.2 zeigt die algorithm identifier die für das Kommando INTERNAL AUTHENTICATION verwendet werden.
Tabelle E.2 – Algorithm Identifier für Hash- und Signatur-Algorithmen für das Kommando INTERNAL AUTHENTICATE zur Komponenten-Authentifizierung und zur Client/ServerAuthentifizierung
AlgID
‘05’
'1E'
'1F'
E.3
Bedeutung
RSA framing gemäß PKCS #1 ohne OID
RSA mit SHA-1 ohne Austausch von Session Keys
RSA mit SHA-1 mit Schlüsselaustausch und dem Speichern von SM-Schlüsseln
Entschlüsselung des Dokumenten-Verschlüsselungs-Schlüssels
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 116 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Tabelle E.3 zeigt die für die Ver- und Entschlüsselung wichtigen algorithm identifier. Das
Eingabeformat für die Ver- und Entschlüsselung ist in [HBA-T1], Tabelle E.2 spezifiziert .
Tabelle E.3 - Algorithm Identifier für Ver- und Entschlüsselung
AlgID
‘1A’
Bedeutung
RSA , PI ≠ ‘00’, siehe Tabelle E.4
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 117 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Anhang F
(normative)
Issuer Identifier und Certificate Holder
Authorizations
F.1 Issuer Identifier
Der issuer identifier erlaubt in Kombination mit dem Ländercode eine weltweit eindeutige
Identifizierung des Kartenherausgebers. Der BCD-kodierte Ländercode für Deutschland hat
gemäß [ISO 3166] den Wert ‘276’. Der Kartenausgeberschlüssel wird in Deutschland im Auftrag des DIN durch GS1-Germany GmbH, Köln zugewiesen. Der Kartenherausgeber ist
normalerweise der rechtmäßige Besitzer der von ihm herausgegebenen Karten. Dies gilt
besonders dann, wenn die Karte eine Identifizierungsfunktion hat, da es dann Gründe für das
Einziehen der Karte geben kann: z.B. die Beendigung des Arbeitsverhältnisses oder der Verlust der Approbation. Deswegen ist normalerweise ein Hinweis auf die Rückseite der Karte
gedruckt, dass der Herausgeber der Karte (z.B. eine Ärztekammer) das Recht hat, die Karte
einzuziehen.
Der issuer identifier ist Teil der ICCSN (Integrated Circuit Card Serial Number), die eine
weltweit eindeutige Identifikation jeder einzelnen Karte erlaubt. Für Karten im Gesundheitsbereich wird ein solches Identifizierungsmerkmal im Europäischen Standard [EN 1867] gefordert. In diesem Standard ist ebenfalls der sogenannte "Major Industry Identifier" (MII) für
Kartenhersteller im Gesundheitsbereich spezifiziert, der den Wert ‘80’ hat.
Aus technischer Sicht kann die ICCSN oder Teile von ihr zu folgenden Zwecken genutzt
werden
• Karten-Sperrung
• karten-individuelle Schlüssel-Ableitung
• Schlüssel-Identifizierung (z.B. den öffentlichen Schlüssel in einem CV-Zertifikat)
• Erstellung von Daten, die für die Authentifizierung relevant sind
• Binden von Objekten oder Operationen an eine bestimmte Karte
Die folgende Tabelle zeigt issuer identifier, die im deutschen Gesundheitswesen für Heilberufsausweise (HBAs) und Security Module Cards (SMCs) verwendet werden
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 118 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Tabelle F.1 - Issuer Identification Nummern (Liste ist unvollständig)
MII für
Gesund
heitswesen
Ländercode für
Deutschland
Issuer Identifier
‘80’
‘276’
‘00101’
’00108’
’00109’
’00110’
'00xxx'
Werbe- und Vertriebsgesellschaft Deutscher Apotheker mbH
Bundesärztekammer
Bundespsychotherapeutenkammer
Bundeszahnärztekammer
Landeskrankenhausgesellschaften (DKTIG)
F.2 Profile Identifier
Ein Profile Identifier ist ein Feld von 1 Byte in einem CV-Zertifikat, das zur asymmetrischen
Card-to-Card-Authentifizierung genutzt wird. Profile werden Einheiten zugeordnet, z.B.
• Berufsgruppen, z.B. Ärzten und Apothekern
• Zertifikatsdienste-Anbietern
• Kartenmanagementsystemen
Das Konzept, Profile bzw. Rollen über einen Profile Identifier zuzuweisen, wird in verschiedenen Anwendungsbereichen genutzt. Deshalb ist es wichtig, dass der Nutzungsbereich der
Profile Identifier klar unterschieden werden kann. Zu diesem Zweck ist dem Profile Identifier
ein Präfix vorangestellt. Dieser nennt
• den Anwendungsbereich, der durch einen Application Identifier (AID) oder einen
Teil davon definiert wird
• die zugehörende Organisationseinheit, die für die Zuweisung des Profils verantwortlich
ist
Für das deutsche Gesundheitswesen wird der weltweit eindeutige application identifier
‘D27600004000’ verwendet. Der "Registered Application Provider Identifier" (RID, die ersten
5 Byte eines AID) wurde von der RID German National Registration Authority (heute SIT im
Auftrag des DIN) dem ZI (Zentralinstitut für die kassenärztliche Versorgung in der Bundesrepublik Deutschland) für die Nutzung im deutschen Gesundheitswesen zugewiesen. Das letzte Byte des oben genannten AID ist die PIX (Proprietary Application Provider Extension) und
wird auf ‘00’ gesetzt. Diese AID stellt zusammen mit der entsprechenden Profil-ID die sogenannte Certificate Holder Authorization (CHA) dar, die in CV-Zertifikate eingetragen wird,
siehe [ISO 7816-8]. Die CHA wird speziell für Sicherheitsattribute genutzt, die sich auf Datenfelder beziehen. Damit kann die Karte bei einem bestimmten Zugriff (z.B. Lesen oder Aktualisieren) entscheiden, ob das dazugehörende Kommando, bezogen auf ein bestimmtes
Datenfeld, ausgeführt oder abgelehnt wird. Eine CHA wird nur dann als gültig anerkannt,
wenn der zugehörende Authentifizierungsprozess erfolgreich ausgeführt wurde. Während
des Authentifizierungsprozesses muss die externe Einheit (z.B. der HBA eines Heilberuflers
der Gruppe x) nachweisen, dass sie den privaten Schlüssel besitzt, der zu dem im CVC entHBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 119 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
haltenen öffentlichen Schlüssel gehört. Die Nutzung dieses privaten Schlüssels setzt die
erfolgreiche Eingabe der zugehörenden PIN voraus, so dass die Ausführung der Authentifizierung abgesichert ist.
Falls verschiedene Berufsgruppen dieselben Zugriffsrechte auf die eGK haben, können sie
einem Profil zugeordnet werden. Deshalb ist im CHA-Feld "role identifier" ein Profilcode eingetragen. Dadurch wird die Zahl der Zugriffsbedingungen in der eGK reduziert. Die Zuordnung von Berufsgruppen zu einem bestimmten Profil erfolgt außerhalb dieses Dokumentes.
Die folgenden Tabellen geben die für den HBA, die SMC und die eGK verwendete CHAKodierung an. Die Nutzung von CVC.HPC.AUT und CVC.SMC.AUT wird in [eGK-P2] beschrieben.
Tabelle F.2 - CHA Kodierung für HBAs und SMCs
CHA Präfix
‘D27600004000
’
‘D27600004000
’
‘D27600004000
’
‘D27600004000
’
‘D27600004000
’
‘D27600004000
’
CHA Profil ID
‘1A’
CV Zertifikats-Halter
Profil 1 (SMC eKiosk)
‘2A’
Profil 2 (HPC, SMC)
‘3A’
Profil 3 (HPC, SMC)
‘4A’
Profil 4 (HPC, SMC)
‘5A’
Profil 5 (HPC, SMC)
‘6A’
Profil 6 (SMC für Internet-Apotheken)
Tabelle F.3 - CHA in herausgegeben durch eine RCA für eine CA (CA-eGK und CA-HPC)
CHA Präfix
… (5 B) || ‘00’
CHA Profil ID
‘00’
CV Zertifikats-Halter
Certification Authority (CA)
Anmerkung:
Als CA-Name für die Wurzel-CA im Gesundheitswesen wird das Acronym "DEZGW" verwendet,
das 1999 für eine (virtuelle) „Deutsche Zertifizierungsstelle Gesundheitswesen (DEZGW)“ registriert worden ist..
Tabelle F.4 - CHA für die eGK (informative)
CHA Präfix
‘D27600000100’
CHA Profil ID
‘00’
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
CV Zertifikats-Halter
eGK
Seite 120 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Anhang G
(normative)
Inhalt der EFs für die Personalisierung
G.1 EF.ATR
Tabelle G.1 – Inhalt von EF.ATR
Tag
’E0’
L
‘xx’
Wert
’02 xx xxxx 02 xx xxxx 02 xx xxxx 02 xx xxxx’
‘66’
‘xx’
’46 xx …’ siehe Tabelle G.2
Bedeutung
I/O Buffer-Größe, siehe [HBAT1]
DO Karten-Daten
Tabelle G.2 – Wert des DO Pre-issuing Data (Tag ‘46’)
L (Bytes)
Bedeutung der konkatenierten Datenelemente
(Most Significant Byte: ICM)
IC Hersteller ID ICM (siehe www.sc17.com)
Karten-Hersteller ID (siehe DIN-RA: www.sit.fraunhofer.de )
IC-ID (Kartenhersteller-spezifisch)
COS Version (Kartenhersteller-spezifisch)
ROM Maske (Kartenhersteller-spezifisch)
1
5
x
x
x
G.2 EF.DIR
Tabelle G.3 – Anwendungs Templates in EF.DIR
Tag
’61’
‘61’
L
‘08’
‘08’
Anwendungs Template
‘4F 06 D276 00004002’
‘4F 06 D276 00006601’
‘61’
’0C’
‘4F 0A A000000167 455349474E’
‘61’
‘11’
‘4F 0F E828BD080F A000000167 455349474E’
Bedeutung
Anwendungs-Template mit AID.HPA
Anwendungs-Template mit AID.QES
(DINSIG)
Anwendungs-Template mit
AID.ESIGN
Anwendungs-Template mit
AID.CIA.ESIGN
G.3 EF.GDO
Tabelle G.4– DO ICCSN in EF.GDO
Tag
’5A’
L
‘0A’
Wert
‘80276 …'
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Bedeutung
ICCSN
Seite 121 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
G.4 EF.CVC.CA_HPC.CS und EF.CVC.HPC.AUT
In den CVC-bezogenen EFs müssen die jeweiligen CVCs gespeichert werden (Kodierung
siehe [HBA-T1]).
G.5 EF.C.HP.QES, EF.C.HP.AUT and EF.C.HP.ENC
In den X.509-Zertifikats-bezogenen EFs müssen die jeweiligen Zertifikate gespeichert werden (siehe Anhang C und D).
G.6 EF.CIAInfo
Der Inhalt von EF.CIAInfo ist in H.1.angegeben.
G.7 EF.OD
Der Inhalt von EF.OD ist in H.2 angegeben.
G.8 EF.AOD
Der Inhalt von EF.AOD ist in H.3 angegeben.
G.9 EF.PrKD
Der Inhalt von EF.PrKD ist in H.4 angegeben.
G.10 EF.CD
Der Inhalt von EF.CD ist in H.5 angegeben.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 122 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Anhang H
(informativ)
Cryptographic Information Objects
Dieser Anhang zeigt ein detailliertes Beispiel für die kryptografischen Informations-Objekte
(CIO), die zum DF.ESIGN eines HBA gehören.
H.1
EF.CIAInfo
Das EF “CIAInfo” enthält die Versionsnummer der CIO-Beschreibung und das Label der Anwendung, zu der die CIO-Beschreibung gehört. Die “cardflags”-Einstellungen sind “authRequired” (es gibt kryptografische Funktionen, die eine Nutzer-Authentifizierung erfordern) und
“prnGeneration” (Die Karte hat die Fähigkeit, Pseudo-Zufallszahlen zu erzeugen).
H.1.1 ASN.1 Notation der ASN.1-Werte
1
2
3
4
5
7
8
ciaInfoExample CIAInfo ::= {
version v2,
label “CIA of ESIGN Application”,
cardflags { authRequired, prnGeneration }
seInfo {
se 1,
aid 'A000000167 455349474E’ H
}}
H.1.2 Beschreibung der ASN.1 tags, lengths und values
1
2
3
4
5
6
7
8
CIAInfo SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 193
version INTEGER: tag = [UNIVERSAL 2] primitive; length = 1
1
label Label UTF8String: tag = [0] primitive; length = 29
0x4865616C74682050726F66657373696F6E616C20436172642076322E30
cardflags CardFlags BIT STRING: tag = [UNIVERSAL 3] primitive; length = 2
0x0560
seInfo SEQUENCE OF: tag = [UNIVERSAL 16] constructed; length = 26
SecurityEnvironmentInfo SEQUENCE: tag = [UNIVERSAL 16] constructed;
length = 11
se INTEGER: tag = [UNIVERSAL 2] primitive; length = 1
0x01
aid OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 10
0xA000000167455349474E
H.1.3 Hexadezimale DER-Kodierung
1
30 34
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 123 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
2
02 01
3
80 1D
01
48 65 61 6C 74 68 20 50 72 6F 66 65 73 73 69 6F 6E 61 6C 20 43
61 72 64 20 76 32 2E 30
4
03 02
5
6
7
30 10
05 60
30 0B
02 01
01
8
04 0A
A000000167455349474E
H.2
EF.OD
Das EF "Object Directory" enthält die Information, welche CIO-EFs vorhanden sind und wie
sie durch SFID referenziert werden.
H.2.1 Notation der ASN.1-Werte
1
2
3
4
5
6
7
8
9
authObjects :
path : {
efidOrPath '14'H -- SFID of EF.AOD
},
privateKeys :
path : {
efidOrPath '15'H -- SFID of EF.PrKD
},
certificates :
path : {
efidOrPath '16'H -- SFID of EF.CD
}
H.2.2 Beschreibung der ASN.1 tags, lengths und values
1
2
3
4
5
6
7
8
CIOChoice CHOICE
authObjects : tag = [8] constructed; length = 5
AuthObjects CHOICE
path Path SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 3
efidOrPath OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1
0x14
CIOChoice CHOICE
privateKeys : tag = [0] constructed; length = 5
PrivateKeys CHOICE
path Path SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 3
efidOrPath OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1
0x15
CIOChoice CHOICE
certificates : tag = [4] constructed; length = 5
Certificates CHOICE
path Path SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 3
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 124 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
9
efidOrPath OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1
0x16
H.2.3 Hexadezimale DER-Kodierung
1
2
3
A8 05
4
5
6
A0 05
30 03
04 01
14
30 03
04 01
15
7
8
9
A4 05
30 03
04 01
16
H.3
EF.AOD
Das EF “authentication object directory” enthält die Information über die PIN.CH.
H.3.1 Notation der ASN.1-Werte
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
pwd : {
commonObjectAttributes {
label "PIN.CH",
flags { private },
authId '12'H
},
classAttributes {
authId '02'H
},
typeAttributes {
pwdFlags { initialized, exchangeRefDaten },
pwdType iso9564-1,
minLength 5,
storedLength 0,
maxLength 8,
pwdReference 1
-- P2 value of the VERIFY command
}
},
pwd : {
commonObjectAttributes {
label "PUK.HP",
flags { private }
},
classAttributes {
authId '12'H
},
typeAttributes {
pwdFlags { global, change-disabled, unblock-disabled, initialized, unblockingPassword },
pwdType iso9564-1,
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 125 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
minLength 8,
storedLength 8,
maxLength 8,
pwdReference 1
}
24
25
26
27
-- P2 value of the RESET RC command
}
H.3.2 Beschreibung der ASN.1 tags, lengths und values
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
AuthenticationObjectChoice CHOICE
pwd SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 50
commonObjectAttributes CommonObjectAttributes SEQUENCE: tag = [UNIVERSAL 16]
constructed; length = 19
label Label UTF8String: tag = [UNIVERSAL 12] primitive; length = 10
0x50494E2E48502E415353
flags CommonObjectFlags BIT STRING: tag = [UNIVERSAL 3] primitive; length=2
0x0780
authId Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1
0x12
classAttributes CommonAuthenticationObjectAttributes SEQUENCE:
tag = [UNIVERSAL 16] constructed; length = 3
authId Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1
0x02
typeAttributes : tag = [1] constructed; length = 22
PasswordAttributes SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 20
pwdFlags PasswordFlags BIT STRING: tag = [UNIVERSAL 3] primitive;
length = 3
0x040810
pwdType PasswordType ENUMERATED: tag = [UNIVERSAL 10] primitive; length=1
4
minLength INTEGER: tag = [UNIVERSAL 2] primitive; length = 1
5
storedLength INTEGER: tag = [UNIVERSAL 2] primitive; length = 1
0
maxLength INTEGER: tag = [UNIVERSAL 2] primitive; length = 1
8
pwdReference Reference INTEGER: [0] primitive; length = 1
0x01
AuthenticationObjectChoice CHOICE
pwd SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 46
commonObjectAttributes CommonObjectAttributes SEQUENCE: tag = [UNIVERSAL 16]
constructed; length = 16
label Label UTF8String: tag = [UNIVERSAL 12] primitive; length = 10
0x50554B2E48502E415353
flags CommonObjectFlags BIT STRING: tag = [UNIVERSAL 3] primitive; length=2
0x0780
classAttributes CommonAuthenticationObjectAttributes SEQUENCE:
tag = [UNIVERSAL 16] constructed; length = 3
authId Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1
0x12
typeAttributes : tag = [1] constructed; length = 21
PasswordAttributes SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 19
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 126 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
22
pwdFlags PasswordFlags BIT STRING: tag = [UNIVERSAL 3] primitive;
length = 2
0x013A
pwdType PasswordType ENUMERATED: tag = [UNIVERSAL 10] primitive; length=1
4
minLength INTEGER: tag = [UNIVERSAL 2] primitive; length = 1
8
storedLength INTEGER: tag = [UNIVERSAL 2] primitive; length = 1
8
maxLength INTEGER: tag = [UNIVERSAL 2] primitive; length = 1
8
pwdReference Reference INTEGER: [0] primitive; length = 1
0x01
23
24
25
26
27
H.3.3 Hexadezimale DER-Kodierung
1
2
3
30 32
30 13
0C 0A
50 49 4E 2E 48 50 2E 41 53 53
4
03 02
5
04 01
07 80
12
6
7
30 03
8
A1 16
04 01
02
30 14
9
03 03
04 08 10
10
0A 01
11
02 01
12
02 01
13
02 01
14
80 01
04
05
00
08
01
15
16
17
30 2E
30 10
0C 0A
50 55 4B 2E 48 50 2E 41 53 53
18
03 02
07 80
19
20
30 03
21
A1 15
04 01
12
30 13
22
03 02
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 127 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
01 3A
23
0A 01
24
02 01
25
02 01
26
02 01
27
80 01
04
08
08
08
01
H.4
EF.PrKD
Das EF “private key directory” enthält die notwendigen Informationen über die beiden privaten Schlüssel PrK.HP.AUT und PrK.HP.ENC.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 128 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
H.4.1 Notation der ASN.1-Werte
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
privateRSAKey : {
commonObjectAttributes {
label "PrK.HP.AUT",
flags { private },
authId '02'H
-- pointer to the AOD-entry of PIN.CH
accessControlRules {
{
accessMode { execute },
securityCondition and : {
authId : '02'H, -- pointer to the AOD-entry of PIN.CH
authReference : {
authMethod { userAuthentication }
}
}
}
}
}
},
classAttributes {
iD '82'H,
-- cross-reference to the CD-entry of C.HP.AUT
usage { signRecover },
keyReference –130
-- used in MSE-SET-command
},
typeAttributes {
value {
efidOrPath ''H
},
modulusLength 1728
}
},
privateRSAKey : {
commonObjectAttributes {
label "PrK.HP.ENC",
flags { private },
authId '02'H
-- pointer to the AOD-entry of PIN.CH
accessControlRules {
{
accessMode { execute },
securityCondition and : {
authId : '02'H, -- pointer to the AOD-entry of PIN.CH
authReference : {
authMethod { userAuthentication }
}
}
}
}
}
},
classAttributes {
iD '83'H,
-- in this specification unused (but mandatory)
usage { keyDecipher },
keyReference –131
-- used in MSE-SET-command
},
typeAttributes {
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 129 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
value {
efidOrPath ''H
},
modulusLength 1728
}
37
38
},
H.4.2 Beschreibung der ASN.1 tags, lengths und values
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
PrivateKeyChoice CHOICE
privateRSAKey SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 61
commonObjectAttributes CommonObjectAttributes SEQUENCE: tag = [UNIVERSAL 16]
constructed; length = 38
label Label UTF8String: tag = [UNIVERSAL 12] primitive; length = 10
0x50724B2E48502E415554
flags CommonObjectFlags BIT STRING: tag = [UNIVERSAL 3] primitive;
length = 2
0x0780
authId Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1
0x02
accessControlRules SEQUENCE OF: tag = [UNIVERSAL 16] constructed; length = 17
AccessControlRule SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 15
accessMode BIT STRING: tag = [UNIVERSAL 3] primitive; length = 2
0x0520
securityCondition SecurityCondition CHOICE
and SEQUENCE OF: tag = [1] constructed; length = 9
authId Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive;
length = 1
0x02
authReference AuthReference SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 4
authMethod AuthMethod BIT STRING: tag = [UNIVERSAL 3] primitive;
length = 2
0x0520
classAttributes CommonKeyAttributes SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 10
iD Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1
0x82
usage KeyUsageFlags BIT STRING: tag = [UNIVERSAL 3] primitive; length = 2
0x0410
keyReference KeyReference INTEGER: tag = [UNIVERSAL 2] primitive;
length = 1
0x82
typeAttributes : tag = [1] constructed; length = 10
PrivateRSAKeyAttributes SEQUENCE: tag = [UNIVERSAL 16] constructed;
length = 8
value Path SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 2
efidOrPath OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 0
modulusLength INTEGER: tag = [UNIVERSAL 2] primitive; length = 2
1728
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 130 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
PrivateKeyChoice CHOICE
privateRSAKey SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 60
commonObjectAttributes CommonObjectAttributes SEQUENCE: tag = [UNIVERSAL 16]
constructed; length = 37
label Label UTF8String: tag = [UNIVERSAL 12] primitive; length = 9
0x50724B2E48502E4B45
flags CommonObjectFlags BIT STRING: tag = [UNIVERSAL 3] primitive;
length = 2
0x0780
authId Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1
0x02
accessControlRules SEQUENCE OF: tag = [UNIVERSAL 16] constructed; length = 17
AccessControlRule SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 15
accessMode BIT STRING: tag = [UNIVERSAL 3] primitive; length = 2
0x0520
securityCondition SecurityCondition CHOICE
and SEQUENCE OF: tag = [1] constructed; length = 9
authId Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive;
length = 1
0x02
authReference AuthReference SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 4
authMethod AuthMethod BIT STRING: tag = [UNIVERSAL 3] primitive;
length = 2
0x0520
classAttributes CommonKeyAttributes SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 10
iD Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1
0x83
usage KeyUsageFlags BIT STRING: tag = [UNIVERSAL 3] primitive; length = 2
0x0204
keyReference KeyReference INTEGER: tag = [UNIVERSAL 2] primitive;
length = 1
0x83
typeAttributes : tag = [1] constructed; length = 10
PrivateRSAKeyAttributes SEQUENCE: tag = [UNIVERSAL 16] constructed;
length = 8
value Path SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 2
efidOrPath OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 0
modulusLength INTEGER: tag = [UNIVERSAL 2] primitive; length = 2
1728
H.4.3 Hexadezimale DER-Kodierung
1
2
3
30 3D
30 26
0C 0A
50 72 4B 2E 48 50 2E 41 55 54
4
03 02
5
04 01
6
7
30 11
07 80
02
30 0F
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 131 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
8
03 02
9
10
A1 09
05 20
04 01
02
11
12
30 04
03 02
05 20
13
14
30 0A
04 01
82
15
03 02
16
02 01
04 10
82
17
A1 0A
30 08
18
30 02
19
02 02
04 00
04 00
20
21
22
30 3C
30 25
0C 09
50 72 4B 2E 48 50 2E 4B 45
23
03 02
24
04 01
25
26
27
30 11
07 80
02
30 0F
03 02
05 20
28
29
A1 09
04 01
02
30
31
30 04
03 02
05 20
32
33
30 0A
04 01
83
34
03 02
35
02 01
02 04
83
36
A1 0A
30 08
37
30 02
38
02 02
04 00
04 00
H.5
EF.CD
Das EF “certificate directory” enthält die File-Referenzen zu den X.509-Zertifikaten
C.HP.AUT und C.HP.ENC.
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 132 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
H.5.1 Notation der ASN.1-Werte
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
x509Certificate : {
commonObjectAttributes {
label "C.HP.AUT",
flags { private },
classAttributes {
iD '82'H
-- cross-reference to the PrKD-entry of PrK.HP.AUT
},
typeAttributes {
value indirect :
path : {
efidOrPath '01'H --SFID of C.HP.AUT
}
}
},
x509Certificate : {
commonObjectAttributes {
label "C.HP.ENC",
flags { private },
classAttributes {
iD '83'H
-- cross-reference to the PrKD-entry of PrK.HP.ENC
},
typeAttributes {
value indirect :
path : {
efidOrPath '02'H --SFID of C.HP.ENC
}
}
H.5.2 Beschreibung der ASN.1 tags, lengths und values
1
CertificateChoice CHOICE
x509Certificate SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 33
2
commonObjectAttributes CommonObjectAttributes SEQUENCE: tag = [UNIVERSAL 16]
constructed; length = 17
3
label Label UTF8String: tag = [UNIVERSAL 12] primitive; length = 8
0x432E48502E415554
4
flags CommonObjectFlags BIT STRING: tag = [UNIVERSAL 3] primitive; length=2
0x0780
5
classAttributes CommonCertificateAttributes SEQUENCE: tag = [UNIVERSAL 16]
constructed; length = 3
6
iD Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1
0x82
7
typeAttributes : tag = [1] constructed; length = 7
X509CertificateAttributes SEQUENCE: tag = [UNIVERSAL 16] constructed;
length = 5
8
value CHOICE
indirect ReferencedValue CHOICE
path Path SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 3
9
efidOrPath OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1
0x01
10 CertificateChoice CHOICE
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 133 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
11
12
13
14
15
16
17
18
x509Certificate SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 33
commonObjectAttributes CommonObjectAttributes SEQUENCE: tag = [UNIVERSAL 16]
constructed; length = 17
label Label UTF8String: tag = [UNIVERSAL 12] primitive; length = 8
0x432E48502E415554
flags CommonObjectFlags BIT STRING: tag = [UNIVERSAL 3] primitive; length=2
0x0780
classAttributes CommonCertificateAttributes SEQUENCE: tag = [UNIVERSAL 16]
constructed; length = 3
iD Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1
0x83
typeAttributes : tag = [1] constructed; length = 7
X509CertificateAttributes SEQUENCE: tag = [UNIVERSAL 16] constructed;
length = 5
value CHOICE
indirect ReferencedValue CHOICE
path Path SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 3
efidOrPath OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1
0x02
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 134 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
H.5.3 Hexadezimale DER-Kodierung
1
2
3
30 1E
30 11
0C 08
43 2E 48 50 2E 41 55 54
4
03 02
07 80
5
6
30 03
7
A1 07
04 01
82
30 05
8
9
30 03
04 01
01
10
11
12
30 1E
30 11
0C 08
43 2E 48 50 2E 41 55 54
13
03 02
07 80
14
15
30 03
16
A1 07
04 01
83
30 05
17
18
30 03
04 01
02
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 135 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Anhang I
I.1 - Abkürzungen
Kürzel
Erläuterung
AC
Attribute Certificate
AM
Zugriffsmodus (Access Mode)
AOD
Authentication Object Directory
AMS
Anwendungs-Management-System (Application Management System) sh. auch CAMS
ARR
Access Rule Reference
ASN.1
Abstract Syntax Notation One
AT
Authentication Template
ATR
Answer-to-Reset
AUT
Authentisierung (Authentication)
AVS
Apothekenverwaltungssystem
BCD
Binär kodierte Dezimalzahl (Binary Coded Decimal)
BÄK
Bundesärztekammer
BER
Basic Encoding Rules
BNA
Bundesnetzagentur
C
Zertifikat (Certificate)
C2C
Card-to-Card
CA
Zertifizierungsinstanz (Certification Authority)
CAR
Referenz der Zertifizierungsinstanz (Certification Authority Reference)
CBC
Cipher Block Chaining
CC
kryptografische Prüfsumme (Cryptographic Checksum)
CD
Certificate Directory
CE
Zertifikatserweiterungen (Certificate Extensions)
CG
Kryptogramm (Cryptogram)
CH
Karteninhaber (Cardholder)
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 136 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Kürzel
Erläuterung
CHA
Berechtigung des Karteninhabers (Certificate Holder Authorization)
CHR
Referenz des Karteninhabers (Certificate Holder Reference)
CIA
kryptografische Informationsanwendung (Cryptographic Information
Application)
CIO
kryptografische Informationsobjekte (Cryptographic Information
Objects)
CLA
Class-Byte eines Befehls
COS
Kartenbetriebssystem (Card Operating System)
CPI
Kennung des Zertifikatsprofils (Certificate Profile Identifier)
CRT
Control Reference Template
CS
CertSign (CertificateSigning)
CT
Confidentiality Template
CVC
Card Verifiable Certificate
CWA
CEN Workshop Agreement
C2C
Card-to-Card
C2S
Card-to-Server
D, DIR
Verzeichnis (Directory)
DE
Datenelement
DER
Distinguished Encoding Rules
DES
Data Encryption Standard
DO
Datenobjekt
DF
Dedicated File
DI
Baud rate adjustment factor
DM
Display Message
DSI
Digital Signature Input
DST
Digital Signature Template
EF
Elementary File
eGK
elektronische Gesundheitskarte
eHC
electronic Health Card
EHIC
European Health Insurance Card
ENC
Verschlüsselung (Encryption)
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 137 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Kürzel
Erläuterung
ENC( )
verschlüsselte Daten (Encrypted data)
EOF
Dateiende (End-of-File)
ES
Elektronische Signatur
FCP
File Control Parameter
FI
Clock rate conversion factor
FID
Dateikennung (File Identifier)
FM
Dateimanagement (File Management)
GKV
Gesetzliche Krankenversicherung
GP
Global Platform
HB
Historical Bytes
HBA
Heilberufsausweis
HCA
Gesundheitsanwendung (Health Care Application)
HIA
Geschäftsstelle der Krankenversicherung (Health Insurance Agency)
HP
Heilberufler (Health Professional)
HPC
Heilberufsausweis (Health Professional Card)
ICC
Integrated Circuit Card
ICCSN
ICC Serial Number
ICM
IC-Herstellerkennung (IC Manufacturer)
ID
Identifier
IFD
Interface Device
IFSC
Information Field Size Card
IFSD
Information Field Size Device
IIN
Kennung des Kartenanbieters (Issuer Identification Number)
IK
Individual Key
IV
Initial Value
KD
Key derivation Data
Key Ref.
Schlüssel-Referenz (Key Reference)
KE
Key Encipherment
KEI
Key Encipherment Input
KID
Key Encipherment Input
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 138 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Kürzel
Erläuterung
KIS
Krankenhaus-Informations-System
LSB
Least Significant Byte(s)
MAC
Message Authentication Code
MF
Master File
MII
Major Industry Identifier
MSE
Manage Security Environment
OID
Objektkennung (Object Identifier)
PI
Padding Indicator
PIN
Personenkennung (Personal Identification Number)
PIX
Proprietary Appl. Prov. Extension
PK,PuK
Öffentlicher Schlüssel (Public Key)
PKI
Public Key Infrastructure
PP
Schutzprofil (Protection Profile)
PPS
Protocol Parameter Selection
PrK
Privater Schlüssel (Private Key)
PRND
Padding Random Number
PSO
Perform Security Operation
PuK
Public Key
PUK
Personal Unblocking Key (Resetting Code)
PVS
Praxisverwaltungssystem
Q
Qualifiziert
QES
Qualifizierte Elektronische Signatur
R
Rollenkennung
RA
Registration Authority
RC
Retry Counter
RCA
Wurzelinstanz (Root CA)
RD
Referenzdaten (Reference Data)
RF
Radio Frequency
RFC
Request for Comment
RID
Registered Application Provider Id.
RND
Zufallszahl (Random Number)
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 139 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
Kürzel
Erläuterung
ROM
Read Only Memory
RSA
Algorithmus von Rivest, Shamir, Adleman
S
Server
S2C
Server-to-Card
SC
Sicherheitsbedingung (Security Condition)
SE
Sicherheitsumgebung (Security Environment)
SFID
Short EF Identifier
SIG
Signatur (Signature)
SK
geheimer Schlüssel (Secret Key)
SM
Secure Messaging
SMA
Security Module Application
SMC
Sicherheitsmodulkarte (Security Module Card)
SMK
SM-Schlüssel (SM key)
SN
Serien-Nummer (Serial Number)
SSC
Send Sequence Counter
SSCD
Sichere Signaturerstellungseinheit (Secure Signature Creation Device)
SSL
Security Sockets Layer
SVR
Server
TCE
Trusted Channel Establisment
TLV
Tag Length Value
TC
sicherer Kanal (Trusted Channel)
TLS
Transport Layer Security
UID
Benutzerkennung (User Identification)
UQ
Usage Qualifier
UTF8
8-bit Unicode Transformation Format
ZDA
Zertifizierungs-Dienste-Anbieter
3DES
Triple-DES
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 140 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
I.2 - Glossar
Die Begriffserläuterungen des Projektes zur Einführung der Gesundheitskarte werden in einem zentralen Glossar veröffentlicht.
I.3 - Referenzierte Dokumente
[Quelle]
Herausgeber (Erscheinungsdatum): Titel
[ALGCAT]
Geeignete Algorithmen zur Erfüllung der Anforderungen nach §17
Abs. 1 bis 3 SigG vom 22. Mai 2001 in Verbindung mit Anlage 1
Abschnitt I Nr. 2 SigV vom 22. November 2001, Algorithmenkatalog 2005 vom 02.01.2005, 30. März 2005, Bundesanzeiger Nr.
59, S. 4695-4696 , siehe www.bundesnetzagentur.de
Bundesärztekammer
Ausgabe Heilberufsausweis (HBA)
Fachfeinkonzept, 200503
Bundesärztekammer
Lastenheft zur Spezifikation der HPC/SMC
Version 0.3.9 vom 05.09.2005
Application Interface for SmartCards used as Secure Signature
Creation Devices, Part 1 – Basic Requirements
March 8th 2004
[BÄK-HBAAusgabe]
[BÄK-HBALastenheft]
[CWA14890-1]
[CWA14890-2]
[DIN66291-1]
Application Interface for SmartCards used as Secure Signature
Creation Devices, Part 2 – Additional services
March 12th 2004
DIN V66291-1: 2000
Chipkarten mit Digitaler Signatur-Anwendung/Funktion nach SigG
und SigV
Teil 1: Anwendungsschnittstelle
[DIN66291-4]
DIN V66291-4: 2002
Chipkarten mit Digitaler Signatur-Anwendung/Funktion nach
SigG/SigV Teil 4: Grundlegende Sicherheitsdienste
[ECDIR]
Directive 1999/93/EC of the European Parliament and of the
Council of 13 December 1999 on a Community Framework for
Electronic Signatures
[eGK-P1]
Spezifikation elektronische Gesundheitskarte
Teil 1 – Kommandos, Algorithmen und Funktionen des Kartenbetriebssystems V1.0
Die Spezifikation der elektronischen Gesundheitskarte
[eGK-P2]
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 141 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
[Quelle]
Herausgeber (Erscheinungsdatum): Titel
Teil 2 – Anwendungen und anwendungsspezifische Strukturen
[EN1867]
EN 1867:1997
Machine readable cards – Health care applications – Numbering
system and registration procedure for issuer identifiers
Heilberufs-Ausweis und Security Module Card
[HBA-T1]
Teil 1: Kommandos, Algorithmen und Funktionen der Betriebssystem-Plattform V.2.1.0 de
[HBA-T3]
Heilberufs-Ausweis und Security Module Card
Teil 3: SMC Anwendungen und Funktionen V2.1.0 de
[ISIS-MTT OP]
T7, TeleTrusT: ISIS-MTT Specification, Optional Profile "SigGProfile", Version 1.1, 16th March 2004, www.teletrust.de
[ISIS-MTT P1]
T7, TeleTrusT: ISIS-MTT Specification, Part 1 "Certificate and
CRL Profiles", Version 1.1, 16th March 2004, www.teletrust.de
[ISO3166-1]
ISO/IEC 3166-1: 1997
Codes for the representations of names of countries –
Part 1: Country codes
[ISO7812]
ISO/IEC 7812-1: 2000
Cards and personal identification – Identification of issuers –
Part 1: Numbering system
ISO/IEC 7816-3: FCD2 2005 (2nd edition)
[ISO7816-3]
Identification cards - Integrated circuit cards with contacts Part 3: Electrical interface and transmission protocols
[ISO7816-4]
ISO/IEC 7816-4: 2004 (2nd edition)
Identification cards - Integrated circuit cards Part 4: Organization, security and commands for interchange
[ISO7816-5]
ISO/IEC 7816-5: 2004 (2nd edition)
Identification cards - Integrated circuit cards Part 5: Registration of application providers
[ISO7816-6]
ISO/IEC 7816-6: 2004 (2nd edition)
Identification cards - Integrated circuit cards Part 6: Interindustry data elements for interchange
[ISO7816-8]
ISO/IEC 7816-8: 2004 (2nd edition)
Identification cards - Integrated circuit cards Part 8: Commands for security operations
[ISO7816-9]
ISO/IEC 7816-9: 2004 (2nd edition)
Identification cards - Integrated circuit cards -
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 142 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
[Quelle]
Herausgeber (Erscheinungsdatum): Titel
Part 9: Commands for card management
[ISO7816-13]
ISO/IEC 7816-13: CD2 2005
Identification cards - Integrated circuit cards Part 13: Commands for application management in multiapplication environment
[ISO7816-15]
ISO/IEC 7816-15: 2004
Identification cards - Integrated circuit cards Part 15: Cryptographic information application
[ISO8825]
ISO/IEC 8825-1: 1995
Information technology - ASN.1 encoding rules - Specification of
Basic Encoding Rules (BER), Canonical Encoding Rules (CER)
and Distinguished Encoding Rules (DER)
[ISO9564]
ISO 9564-1
Banking – Personal Identification Number management and Security, Part 1: PIN protection principles and techniques, 1999
[ISO9796-2]
ISO 9796-2: 2002
Information technology – Security techniques – Digital signature
schemes giving message recovery – Part 2: Mechanisms using a
hash function Update
[ISO10118]
ISO 10118-2
Information technology – Security techniques – Hash functions,
Part 2: Hash functions using an n-bit block cipher algorithm, 1994
[ISO10918]
ISO/IEC 10918-1
Information technology - digital compression and coding of continuous-tone still images: Requirements and guidelines, 1994
ISO/IEC 11770: 1996
[ISO11770]
Information technology - Security techniques - Key management
[NIST-SHS]
Part 3: Mechanisms using asymmetric techniques
NIST: FIPS Publication 180-2:
Secure Hash Standard (SHS-1),
01.08.2002
[PKCS#1]
PKCS #1 RSA Cryptography Standard
V2.1: June 14, 2002
[PP-HPC]
Common Criteria Protection Profile – Health Professional Card
(HPC)
BSI-PP-018, 05.12.2005
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 143 von 144
Stand: 28.5.2006
Heilberufs-Ausweis
und
Security Module Card
[Quelle]
[Resolution190]
Herausgeber (Erscheinungsdatum): Titel
Beschluss Nr. 190 der Europäischen Union vom 18. Juni 2003
betreffend die technischen Merkmale der europäischen Krankenversicherungskarte
[RFC1510]
RFC 1510: May 1999
Public Key Cryptography for Initial Authentication in Kerberos
[RFC2246]
RFC 2246: Jan. 1999
The TLS Protocol, Version 1.0
[RFC2279]
UTF-8, a transformation format of ISO 10646, January 1998
[RFC2459]
Internet X.509 Public Key Infrastructure - Certificate and CRL
Profile, January 1999
[RFC3039]
Internet X.509 Public Key Infrastructure Qualified Certificates
Profile, January 2001
[RFC3280]
Internet X.509 Public Key Infrastructure – Certificate and Certificate Revocation List (CRL) Profile, April 2002
[RSA]
R. Rivest, A. Shamir, L. Adleman:
A method for obtaining digital signatures and public key cryptosystems, Communications of the ACM, Vol. 21 No. 2, 1978
[SigG01]
Gesetz über Rahmenbedingungen für elektronische Signaturen
und zur Änderung weiterer Vorschriften, Bundesgesetzblatt Nr.
22, 2001, S.876
[SigV01]
Verordnung zur elektronischen Signatur – SigV, 2001, Bundesgesetzblatt Nr. 509, 2001, S. 3074
Netscape:
[SSL]
SSL3.0 Specification
HBA_Spezifikation _Teil2_V2 1 0-de.doc
Version: 2.1.0 de
Seite 144 von 144
Stand: 28.5.2006