Spezifikation der SMC–K
Transcription
Spezifikation der SMC–K
Einführung der Gesundheitskarte Spezifikation der SMC–K Version: 1.1.1 Revision: rel/rel_main/20 Stand: 26.08.2008 Status: freigegeben Seite 1 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Dokumentinformationen Änderungen zur Vorversion Folgende Änderungen wurden gegenüber der Version 1.1.0 vorgenommen: • Die Applikation DF.Sicherheitsanker in Kapitel 8.6 ist nun optional Folgende Änderungen wurden gegenüber der Version 0.9.0 vorgenommen: • Anforderungsnummern vom Schema "automatische Nummerierung gemäß (N…)" wurden umgestellt auf "manuelle sechsstellige Nummerierung gemäß (N…)". • Zu jeder Anforderung wurde präzisiert, welche Komponente primär von der Anforderung betroffen ist. • Attribut CHA für Vorstellungsobjekte wurde ergänzt, daraus ergeben sich folgende Änderungen: • Neue Anforderung (N019855) • Neues Kapitel 5.3.6 • Neue Anforderung (N031540)b.5 • Präzisierung zum Wert keyId in Kapitel 5.3.11.1 • Vereinbarung von Introductionkeys setzt keinen Sicherheitszustand, siehe (N031923)b und (N031923)c. • Werte für P1 und P2 in Tabelle 9 korrigiert, Beschreibung entsprechend angepasst • Trailerwert für NoKeyReference in Tabelle 7 und Tabelle 12 korrigiert • Rekord 1 in EF.DIR korrigiert, siehe Tabelle 25 • Wegen [IKEv1] und [TLS] folgende Schlüsselverwendung angepasst: • Tabelle 31 PrK.AK.AUT • Tabelle 35 PrK.NK.VPN.R1024S1 • Tabelle 36 PrK.NK.VPN.R2048S256 • X509 Identität der SAK im Kapitel 8.5 hinzugefügt • Schlüsselsuche korrigiert • Kapitel 9 mit Hinweisen zur optischen Gestaltung und Zulassung hinzugefügt. • Kapitel 8.6 eingefügt, DF.Sicherheitsanker Seite 2 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K • Kapitel 5.3.18 GET RANDOM hinzugefügt • Kapitel 8.5.5 / MF / DF.SAK / PrK.SAK.SIG hinzugefügt • Editorische Korrekturen Seite 3 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Referenzierung Die Referenzierung in weiteren Dokumenten der gematik erfolgt unter: [gemSpec_SMC–K] gematik: Einführung der Gesundheitskarte – Spezifikation der SMC–K Dokumentenhistorie Version Stand Kap./ Seite Grund der Änderung, besondere Hinweise Bearbeitung 0.0.1 28.01.08 Dokument erstellt SPE/DK, AFI 0.0.2 28.01.08 Kapitel 1 und 2 editorisch ausgeweitet SPE/DK, AFI 0.0.3 29.01.08 Anforderungen in Kapitel 3 ergänzt SPE/DF, AFI 0.0.4 31.01.08 Prosatexte ergänzt SPE/DK, AFI 0.0.5 0.0.6 16.02.08 Namen kryptographischer Identitäten angepasst Einarbeitung zahlreicher technischer Kommentare editorische Verbesserungen SPE/DK, AFI 0.0.8 10.03.08 Einarbeitung von Reviewkommentaren SPE/DK, AFI 0.9.0 12.03.08 freigegeben gematik 0.9.1 04.04.08 Attribut CHA ergänzt SPE/DK, AFI 0.9.2 07.04.08 kleinere Korrekturen SPE/DK, AFI 1.0.0 14.04.08 freigegeben zur Vorkommentierung gematik 14.04.08 … 11.06.08 • SPE/DK, AFI • • • • • 1.1.0 1.1.1 Änderung der Schlüsselverwendung für TLS und IPSec Aufbau X509 Identität der SAK hinzugefügt Nummern umgestellt (N…) à 6-stellig (N…) GET RANDOM hinzugefügt PrK.SAK.SIG hinzugefügt Einarbeitung von Reviewkommentaren 17.06.08 freigegeben gematik 22.08.08 Applikation DF.Sicherheitsanker in Kapitel 8.6 ist nun optional SPE/DK, AFI 26.08.08 freigegeben gematik Seite 4 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Inhaltsverzeichnis Dokumentinformationen ..................................................................................... 2 Inhaltsverzeichnis................................................................................................ 5 1 Zusammenfassung ....................................................................................... 9 2 Einführung ................................................................................................... 10 2.1 Zielsetzung und Einordnung des Dokuments ..............................................10 2.2 Zielgruppe .......................................................................................................10 2.3 Geltungsbereich .............................................................................................11 2.4 Arbeitsgrundlagen..........................................................................................11 2.5 Abgrenzung des Dokuments .........................................................................11 2.6 Methodik..........................................................................................................11 2.6.1 Nomenklatur................................................................................................11 2.6.2 Verwendung von Schüsselworten................................................................11 2.6.3 Normative und informative Kapitel...............................................................12 2.6.4 Komponentenspezifische Anforderungen ....................................................12 3 Anforderungen und Annahmen (informativ)............................................. 14 3.1 Anforderungen an die Komponente SMC–K.................................................14 4 Systemüberblick (informativ)..................................................................... 16 5 Betriebssystem (normativ) ......................................................................... 18 5.1 Allgemein ........................................................................................................18 5.2 Einschränkungen ...........................................................................................18 5.3 Erweiterungen.................................................................................................18 5.3.1 RSA Schlüssellänge....................................................................................19 5.3.2 Ordner.........................................................................................................19 5.3.3 Datei............................................................................................................19 5.3.4 Symmetrisches Vorstellungsobjekt ..............................................................19 5.3.5 Speicherung von Vorstellungsobjekten........................................................21 5.3.6 Setzen eines Sicherheitsstatus....................................................................22 5.3.7 Suche nach einem Schlüsselobjekt .............................................................22 5.3.8 Anforderung für: HBA, SMC–A/B, SMC–K Suche nach einem symmetrischen Vorstellungsobjekt...........................................................................22 5.3.9 Anzahl logischer Kanäle ..............................................................................23 5.3.10 Attribute eines logischen Kanals..............................................................23 5.3.11 Secure Messaging Layer .........................................................................23 Seite 5 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 5.3.11.1 Ableitung von Sessionkeys ..............................................................24 5.3.11.2 Bearbeitung einer Kommando APDU...............................................25 5.3.12 EXTERNAL AUTHENTICATE .................................................................26 5.3.12.1 Use Case externe Authentisierung...................................................26 5.3.12.2 Kommandobearbeitung, Schlüsselsuche .........................................27 5.3.12.3 Kommandoabarbeitung, neue Algorithmen ......................................27 5.3.13 INTERNAL AUTHENTICATE...................................................................28 5.3.13.1 Use Case interne Authentisierung....................................................28 5.3.13.2 Kommandobearbeitung, Schlüsselsuche .........................................28 5.3.13.3 Kommandoabarbeitung, neue Algorithmen ......................................29 5.3.14 PSO Compute Cryptographic Checksum.................................................29 5.3.14.1 Use Case Berechnen einer kryptographischen Checksumme..........30 5.3.14.2 Antwort der Karte auf Berechnen einer kryptographischen Checksumme.......................................................................................................30 5.3.14.3 Kommandoabarbeitung innerhalb der Karte.....................................31 5.3.15 PSO Decipher .........................................................................................31 5.3.15.1 Use Case Entschlüsseln mittels 3TDES, G1 (normativ) ...................31 5.3.15.2 Kommandobearbeitung, Schlüsselsuche .........................................32 5.3.15.3 Kommandoabarbeitung, neue Algorithmen ......................................32 5.3.16 PSO Encipher..........................................................................................33 5.3.16.1 Use Case Verschlüsseln mittels 3TDES, G1 (normativ)...................33 5.3.16.2 Kommandobearbeitung, Schlüsselsuche .........................................33 5.3.16.3 Kommandoabarbeitung, neue Algorithmen ......................................34 5.3.17 Verify Cryptographic Checksum ..............................................................34 5.3.17.1 Use Case Prüfung einer kryptographischen Checksumme ..............34 5.3.17.2 Antwort der Karte auf Berechnen einer kryptographischen Checksumme.......................................................................................................35 5.3.17.3 Kommandoabarbeitung innerhalb der Karte.....................................35 5.3.18 GET RANDOM ........................................................................................36 5.3.18.1 Use Case Erzeugen kryptographisch sicherer Zufallszahl................36 5.3.18.2 Antwort der Karte auf Erzeugen einer kryptographisch sicheren Zufallszahl 37 5.3.18.3 Kommandoabarbeitung innerhalb der Karte.....................................37 5.3.19 MANAGE CHANNEL...............................................................................38 5.3.19.1 Use Case Öffnen eines logischen Kanals ........................................38 5.3.19.2 Use Case Schließen eines logischen Kanals ...................................39 5.3.19.3 Antwort der Karte auf Kanalmanagementoperationen......................39 5.3.19.4 Kommandoabarbeitung innerhalb der Karte.....................................39 5.3.20 MANAGE SECURITY ENVIRONMENT ...................................................40 5.3.20.1 Use Case Schlüsselauswahl zur internen, symmetrischen Authentisierung ....................................................................................................40 5.3.20.2 Use Case Schlüsselauswahl zur internen, asymmetrischen Authentisierung ....................................................................................................41 5.3.20.3 Use Case Schlüsselauswahl zur externen, symmetrischen Authentisierung ....................................................................................................41 5.3.20.4 Use Case Schlüsselauswahl zur externen, asymmetrischen Authentisierung ....................................................................................................41 5.3.20.5 Use Case Schlüsselauswahl zur symmetrischen, gegenseitigen Authentisierung ....................................................................................................42 6 Lebenszyklus von Karte und Applikation (informativ)............................. 43 Seite 6 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 7 Anwendungsübergreifende Festlegungen (normativ) ............................. 44 7.1 Attributstabellen .............................................................................................44 7.1.1 Attribute eines Ordners................................................................................44 7.1.2 Attribute einer Datei (EF).............................................................................44 7.2 8 Zugriffsregeln für besondere Kommandos ..................................................44 Dateisystem der SMC–K (normativ)........................................................... 45 8.1 Attribute des Objektsystems .........................................................................45 8.1.1 Answer To Reset.........................................................................................45 8.2 Root, die Wurzelapplikation...........................................................................46 8.2.1 / MF / EF.ATR .............................................................................................47 8.2.2 / MF / EF.C.CA_SAK.CS .............................................................................49 8.2.3 / MF / EF.DIR ..............................................................................................50 8.2.4 / MF / EF.GDO ............................................................................................51 8.2.5 / MF / EF.Version ........................................................................................52 8.2.6 / MF / PuK.RCA.CS.....................................................................................53 8.3 / MF / DF.AK (normativ, optional) ..................................................................54 8.3.1 / MF / DF.AK / EF.C.AK.AUT.......................................................................55 8.3.2 / MF / DF.AK / PrK.AK.AUT.........................................................................56 8.4 / MF / DF.NK (normativ, optional) ..................................................................57 8.4.1 / MF / DF.NK / EF.C.NK.VPN.R1024S1.......................................................58 8.4.2 / MF / DF.NK / EF.C.NK.VPN.R2048S256...................................................59 8.4.3 / MF / DF.NK / PrK.NK.VPN.R1024S1.........................................................60 8.4.4 / MF / DF.NK / PrK.NK.VPN.R2048S256.....................................................61 8.5 / MF / DF.SAK (normativ)................................................................................62 8.5.1 / MF / DF.SAK / EF.C.SAK.AUT ..................................................................63 8.5.2 / MF / DF.SAK / EF.C.SAK.AUTD_CVC ......................................................64 8.5.3 / MF / DF.SAK / PrK.SAK.AUT ....................................................................65 8.5.4 / MF / DF.SAK / PrK.SAK.AUTD_CVC ........................................................66 8.5.5 / MF / DF.SAK / PrK.SAK.SIG .....................................................................67 8.6 / MF / DF.Sicherheitsanker (normativ)...........................................................68 8.6.1 / MF / DF.Sicherheitsanker / EF.C.TSL.CA..................................................69 9 Verschiedenes (informativ) ........................................................................ 70 9.1 Äußere Gestaltung .........................................................................................70 9.2 Zulassung .......................................................................................................70 Anhang A: Use Cases in DF.SAK (informativ) ................................................ 71 A.1 – Vorstellungsrunde ...........................................................................................71 A.2 – Aufbau Trusted Channel .................................................................................72 A.3 – Austausch von APDUs mittels Trusted Channel...........................................72 A.3.1 – Sicherung einer Kommando APDU .............................................................72 B.3.2 – Entsicherung einer Antwort APDU...............................................................73 Seite 7 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Anhang B............................................................................................................ 74 B1 – Abkürzungen.....................................................................................................74 B2 – Glossar ..............................................................................................................74 B3 – Abbildungsverzeichnis.....................................................................................74 B4 – Tabellenverzeichnis..........................................................................................74 B5 – Referenzierte Dokumente.................................................................................76 B6 – Klärungsbedarf .................................................................................................77 Anhang Y: Sicherheitshinweise (informativ)................................................... 78 Seite 8 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 1 Zusammenfassung Die technischen Richtlinien zur Stapel- und Komfortsignatur (siehe [TR–03114] und [TR– 03115]) empfehlen eine gesicherte Verbindung zwischen der Signaturanwendungskomponente (SAK) und der sicheren Signaturerstellungseinheit (in diesem Fall HBA). Zudem wird eine Authentisierung der SAK gegenüber dem HBA verlangt, anhand derer der HBA erkennt, dass eine sichere Umgebung zur Erzeugung von Stapel- bzw. Komfortsignaturen vorhanden ist. Gemäß den genannten technischen Richtlinien wird in diesem Dokument davon ausgegangen, dass die SAK eine Chipkarte enthält, die mit SMC–K bezeichnet wird. Für diese Art der technischen Umsetzung enthält dieses Dokument die Spezifikation einer SMC–K. Dieses Dokument enthält aufbauend auf [gemSpec_eGK_P1] die vollständige technische Spezifikation des Betriebssystems einer SMC–K sowie die Konfiguration des Dateisystems. Dabei werden zunächst die Betriebssystemerweiterungen beschrieben. Anschließend werden die Anwendungen für Anwendungskonnektor, Netzkonnektor und Signaturanwendungskomponente dargestellt. Seite 9 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 2 Einführung 2.1 Zielsetzung und Einordnung des Dokuments Diese Spezifikation definiert die Anforderungen an die Funktionalität einer Betriebssystemplattform für die SMC–K, die auf internationalen Standards für Chipkartenbetriebssysteme aufbaut. Der Aufbau des Dokumentes gliedert sich wie folgt: • Kapitel 1 Zusammenfassung enthält die wichtigsten Aussagen dieses Dokumentes. • Kapitel 2 Einführung enthält Aussagen zum Umgang mit diesem Dokument. • Kapitel 3 Anforderungen und Annahmen (informativ) enthält Eingangsanforderungen, welche die Basis für die normativen Aussagen in späteren Kapiteln bilden. • Kapitel 4 Systemüberblick (informativ) wird in einer späteren Version das Konzept des Betriebssystems der SMC–K enthalten. • Kapitel 5 Betriebssystem (normativ) enthält alle normativen Vorgaben für das Betriebssystem der SMC–K. • Kapitel 6 Lebenszyklus von Karte und Applikation (informativ) enthält informative Angaben zum Lebenszyklus einer SMC–RFID. Diese ordnen die Gültigkeit der in diesem Dokument getroffenen normativen Aussagen in einen zeitlichen Kontext ein. • Kapitel 7 Anwendungsübergreifende Festlegungen (normativ) enthält übergreifende normative Aussagen zu Attributswerten von Objekten. • Kapitel 8 Dateisystem der SMC–K (normativ) enthält alle normativen Vorgaben zur Konfiguration des Dateisystems einer SMC–K. 2.2 Zielgruppe Das Dokument richtet sich an Hersteller von Chipkartenbetriebssystemen und an Anwendungsprogrammierer, die unmittelbar mit der SMC–K kommunizieren, wie etwa Softwareentwickler für Konnektoren. Zudem richtet es sich an die Produzenten einer SMC–K, welche die SMC–K konfigurieren und personalisieren. Seite 10 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 2.3 Geltungsbereich Der Inhalt des Dokumentes ist verbindlich für die Erstellung von chipkartenbasierten Sicherheitsmodulen, die in Konnektoren zur Anwendung kommen. 2.4 Arbeitsgrundlagen Die Ausarbeitung steht in engem Zusammenhang mit der Spezifikation des Heilberufsausweises. 2.5 Abgrenzung des Dokuments Dieses Dokument spezifiziert das Verhalten an der elektrischen Schnittstelle zu einem Chipkartenbetriebssystem (COS). Dieses Dokument spezifiziert NICHT die Architektur des COS. Der einfacheren Darstellung wegen wird in diesem Dokument von einer modularen Aufteilung des COS ausgegangen. Die hier beschriebene Aufteilung ist nicht verpflichtend. Es wird aber empfohlen sich an dieser Aufteilung zu orientieren, weil bei künftigen Ergänzungen und Erweiterungen die hier beschriebene Aufteilung zu Grunde gelegt wird. 2.6 Methodik 2.6.1 Nomenklatur Dieses Dokument verwendet dieselbe Nomenklatur wie [gemSpec_eGK_P1]. Bei Referenzierungen wird durch die Zusatzangabe „#Nummer“ auf ein spezifisches Kapitel oder eine Festlegung (z. B. (N399) in dem referenzierten Dokument Bezug genommen. 2.6.2 Verwendung von Schüsselworten Für die genauere Unterscheidung zwischen normativen und informativen Inhalten werden die dem [RFC 2119] entsprechenden in Großbuchstaben geschriebenen, deutschen Schlüsselworte verwendet: • MUSS bedeutet, dass es sich um eine absolutgültige und normative Festlegung bzw. Anforderung handelt. • DARF NICHT bezeichnet den absolutgültigen und normativen Ausschluss einer Eigenschaft. • SOLL beschreibt eine dringende Empfehlung. Abweichungen zu diesen Festlegungen sind in begründeten Fällen möglich. Wird die Anforderung nicht umgesetzt, müssen die Folgen analysiert und abgewogen werden. • SOLL NICHT kennzeichnet die dringende Empfehlung, eine Eigenschaft auszuschließen. Abweichungen sind in begründeten Fällen möglich. Wird die Anforderung nicht umgesetzt, müssen die Folgen analysiert und abgewogen werden. Seite 11 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K • KANN bedeutet, dass die Eigenschaften fakultativ oder optional sind. Diese Festlegungen haben keinen Normierungs- und keinen allgemeingültigen Empfehlungscharakter. 2.6.3 Normative und informative Kapitel Kapitel mit normativen Inhalten tragen hinter der Kapitelüberschrift den Hinweis: (normativ) Generell gilt, dass lediglich die Gliederungen, welche durch eine Nummer (N4711) gekennzeichnet sind, zulassungsrelevante Eigenschaften enthalten SOLLEN und somit im Rahmen der Zulassung getestet werden SOLLEN. Falls dies in einem speziellen Fall nicht so ist, handelt es sich höchstwahrscheinlich um einen editorischen Fehler. Zusätzlich wird grundsätzlich ausgehend von den Erläuterungen in Kapitel 5.3 und Abbildung 2 für jede Anforderung die Kartenart genannt, für die diese Anforderung Relevanz besitzt. 2.6.4 Komponentenspezifische Anforderungen Da es sich beim vorliegenden Dokument um die Spezifikation einer Schnittstelle zwischen mehreren Komponenten handelt, ist es möglich, die Anforderungen aus der Sichtweise jeder Komponenten zu betrachten. Die normativen Abschnitte tragen deshalb eine Kennzeichnung, aus wessen Sichtweise die Anforderung primär betrachtet wird. Dabei gelten natürlicherweise folgende Zusammenhänge: • Wird eine Anforderung aus der Sichtweise von K_Anwendungsspezifikation oder K_externeWelt betrachtet, handelt es sich um eine Mindestanforderung für die in der Mengenklammer genannten Komponenten. Für eine in der Mengenklammer aufgeführte Komponente ist es zulässig mehr zu unterstützen als durch K_Anwendungsspezifikation oder K_externeWelt gefordert. Für eine in der Mengenklammer aufgeführte Komponente ist es zulässig die Unterstützung von Dingen abzulehnen, die durch K_Anwendungsspezifikation oder K_externeWelt nicht gefordert werden. In der Mengenklammer nicht aufgeführte Komponenten brauchen die Anforderung nicht unterstützen, deshalb bewegten sich K_Anwendungsspezifikation bzw. K_externeWelt außerhalb des spezifizierten Bereichs, falls sie von nicht genannten Komponenten die genannte Anforderung verlangte. • Wird eine Anforderung aus Sicht einer Karte (K_eGK, K_HBA, K_SMC–A/B oder K_SMC–K) betrachtet, handelt es sich in der Regel um Anforderungen an die interne Funktionsweise. • Die obigen Aussagen werden im Folgenden durch Beispiele verdeutlicht: • Beispiel 1: In (N098.766) werden Aussagen zu den Komponenten K_SMC– A/B und K_SM–K getroffen. Andere dort nicht genannte Komponenten (etwa K_eGK und K_HBA) sind damit von dieser Anforderung nicht betroffen. • Beispiel 2: In (N009.850) werden Aussagen zur Anwendungsspezifikation für die Komponenten K_HBA, K_SMC–A/B und K_SMC–K getroffen. Damit ha- Seite 12 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K ben die genannten Komponenten dieses Attribut zu unterstützen. Andere, nicht genannte Komponenten sind von dieser Anforderung nicht betroffen. • Beispiel 3: In Kapitel 5.3.18.1 wird ein Use Case aus Sicht der externen Welt betrachtet, die mit Komponenten des Typs K_SMC–A/B und K_SMC–K kommuniziert. Dort nicht aufgeführte Komponenten brauchen diesen Use Case nicht unterstützen, deshalb bewegt sich die externe Welt außerhalb des spezifizierten Bereichs, falls sie zu nicht genannten Komponenten entsprechende Kommandos sendet. Tabelle 1: Liste der Komponenten, aus deren Sicht Anforderungen betrachtet werden Komponente Beschreibung K_Anwendungsspezifikation {…} Instanz, welche eine Anwendung spezifiziert, damit gilt diese Anforderung auch für jede Anwendungsspezifikation, die für eine in der Mengenklammer genannte Komponente bestimmt ist Betriebssystem einer eGK Betriebssystem eines HBA Betriebssystem einer SMC–A oder einer SMC–B Betriebssystem einer SMC–K Instanz, welche Nachrichten generiert um diese an eine in der Mengenklammer genannte Komponente zu senden Instanz, welche eine Chipkarte im Rahmen einer Produktion individualisiert K_eGK K_HBA K_SMC–A/B K_SMC–K K_externeWelt {…} K_Personalisierung Seite 13 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 3 Anforderungen und Annahmen (informativ) 3.1 Anforderungen an die Komponente SMC–K Die nachfolgenden Anforderungen sind bislang noch nicht als Anforderungen im Anforderungskatalog aufgenommen, werden jedoch berücksichtigt und sobald möglich mit einer AFO–ID versehen. Tabelle 2: Funktionale Anforderungen Kennung Beschreibung FuAn–1 Die SMC–K MUSS für den privaten Schlüssel Entschlüsselung und Verschlüsselung/Signatur für die Authentifizierung unterstützen, wobei für die Benutzung des privaten Schlüssels keine Benutzerverifikation erforderlich sein darf. Bewertung: Diese Anforderungen werden durch die Applikationen in Kapitel 8.3 (DF.AK) und 8.4 (DF.NK) erfüllt. FuAn–2 Die SMC–K MUSS dem Konnektor einen Zufallszahlengenerator mit einer Entropie von mindestens 80 Bit bieten. Bewertung: Diese Anforderung wird durch das Kommando GET RANDOM erfüllt (siehe Kapitel 5.3.18 und [gemSpec_eGK_P1#15.9.3] FuAn–3 Die SMC–K MUSS den öffentlichen Schlüssel frei auslesen lassen. Bewertung: Diese Anforderung wird durch die Zugriffsregel „READ ALWAYS“ für alle Zertifikatsfiles in den in Kapitel 8.3 (DF.AK) und 8.4 (DF.NK) erfüllt. FuAn–4 Das Schlüsselmaterial KANN bei entsprechender Eignung im Schlüsselspeicher selbst generiert werden oder in einer sicheren Umgebung in diesen eingebracht werden. Bewertung: Diese Anforderung wird derzeit nicht erfüllt, weil das Kommando GENRATE ASYMMETRIC KEY PAIR nur für Signaturschlüssel, nicht aber für Authentisierungsschlüssel normativ ist (siehe (N000.002) und [gemSpec_eGK_P1#15.9.2]) FuAn–5 Die SMC–K KANN die Zertifikate des Konnektors speichern und eine Nachladung der Zertifikate unterstützen. Bewertung: Speichern ist berücksichtigt, siehe Kapitel 8.3.1, 8.4.1, 8.4.2, 8.5.1. Nachladen ist berücksichtigt, siehe Kapitel 8.3.1, 8.4.1, 8.4.2 Seite 14 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Tabelle 3: Nicht–funktionale Anforderungen Kennung Beschreibung – Tabelle 4: Sicherheitsanforderungen Kennung Beschreibung SiAn–1 Die SMC–K MUSS private Schlüssel sicher schützen, das heißt, dass sie private Schlüssel NICHT herausgeben DARF und dabei auch physikalischen Angriffen widerstehen MUSS (Tamper Resistance). Bewertung: Diese Anforderung wird durch SiAn–2 erfüllt. SiAn–2 Die SMC–K MUSS als Sicherheitsmodul eingesetzt sein, dessen Eignung durch eine erfolgreiche Evaluierung nachgewiesen wurde. Die Prüftiefe MUSS mindestens Common Criteria EAL3+ entsprechen. Die Mechanismenstärke MUSS "hoch" sein. Seite 15 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 4 Systemüberblick (informativ) Der Konnektor [gemSpec_Kon] ist eine dezentrale Komponente der Telematikinfrastruktur (TI), welche zur bundesweiten Einführung der elektronischen Gesundheitskarte gemäß § 291a SGB V aufgebaut wird. Er besitzt zwei Netzwerkschnittstellen und stellt über seine LAN–Schnittstelle das Bindeglied zwischen den Primärsystemen und dezentral vorhandener Kartenterminals [gemSpec_KT] und darin eingelegten Chipkarten wie etwa eGK und HBA dar. Über seine WAN–Schnittstelle stellt der Konnektor die Dienste und Anwendungen der Telematikinfrastruktur den Leistungserbringern (LE) zur Verfügung. Der Konnektor besteht aus den Funktionsblöcken Netzkonnektor (KONN.NK), Anwendungskonnektor im engeren Sinne (KONN.AK) und Signaturanwendungskomponente (KONN.SAK). Die Funktionsblöcke KONN.AK und KONN.SAK werden zusammen auch als Anwendungskonnektor im weiteren Sinne bezeichnet. Entsprechend der Gesamtarchitektur [gemGesArch] sind die kryptographischen Identitäten des Konnektors in einem sicheren Schlüsselspeicher, der SM–K, zu hinterlegen. Die SMC–K ist eine mögliche Ausprägung des Schlüsselspeichers SM–K. Abbildung 1: Überblick über die Funktionsblöcke des Konnektors Die Aufgabe des Netzkonnektors (KONN.NK) ist die Herstellung und Absicherung der Verbindung über die WAN–Schnittstelle des Konnektors zur Telematikinfrastruktur über eine VPN–Komponente. Der WAN–Paketfilter des Netzkonnektors schützt die Komponenten des Konnektors und damit auch das LAN des Leistungserbringers (LE) vor ungültigen Anfragen aus dem WAN. Der LAN–Paketfilter des Netzkonnektors schützt die Komponenten des Konnektors und die Telematikinfrastruktur vor ungültigen Anfragen aus dem LAN. Seite 16 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Die zum Aufbau der VPN–Verbindung in die TI benötigte kryptographische Identität (ID.NK.VPN) des Netzkonnektors befindet sich in der Applikation DF.NK auf einer SMC– K. Der Anwendungskonnektor (KONN.AK) steuert die fachlichen Anwendungsfälle und überwacht die Kommunikation zwischen dem Netz des Leistungserbringers und dem der Telematikinfrastruktur. Die zum Aufbau der optionalen sicheren Verbindung zu den Primärsystemen des Leistungserbringers benötigte kryptographische Identität (ID.AK.AUT) des Anwendungskonnektors befindet sich in der Applikation DF.AK auf einer SMC–K. Die Signaturanwendungskomponente (KONN.SAK) erzeugt und prüft qualifizierte elektronische Signaturen und erbringt weitere Sicherheitsfunktionen für den Konnektor. Die KONN.SAK zeigt dem HBA die sichere Einsatzumgebung an und überträgt die Data–To– Be–Signed verschlüsselt an den HBA. Hierfür wird der Authentisierungsschlüssel (ID.SAK.AUTD_CVC) der KONN.SAK verwendet. Die KONN.SAK signiert mit dem Schlüssel (Prk.SAK.SIG) unter anderem die für die Komfortsignatur benötigte Zuordnungstabelle zwischen der SSEE und den Referenzdaten der Komfortmerkmale und ermöglicht mit dem Schlüssel (Puk.SAK.SIG) eine Prüfung dieser Signatur. Zur Absicherung der Kommunikationsstrecke zum – und Authentifizierung gegenüber – dem Extended Trusted Viewer (xTV) und den dezentralen Kartenterminals wird die kryptographische Identität (ID.SAK.AUT) der KONN.SAK verwendet. Alle genannten kryptographische Identitäten und Schlüssel der KONN.SAK befinden sich in der Applikation DF.SAK auf einer SMC–K. Sind die drei beschriebenen Funktionsblöcke (KONN.AK, KONN.SAK und KONN.NK) des Konnektors in einer physischen Einheit gebündelt, so lautet die Bezeichnung dieser Einheit Einbox–Konnektor. Diese Ausprägung des Konnektors ist für den Betrieb kleiner und mittelgroßer Leistungserbringereinrichtungen ausgelegt und wird durch den Hersteller des Konnektors als Komplettsystem ausgeliefert. In Einbox–Konnektoren können die kryptographischen Elemente der drei Funktionsblöcke in einem gemeinsamen Sicherheitsmodul, der SMC–K hinterlegt werden. Hingegen ist für den Einsatz bei einer Organisation mit einer hohen Anforderung an den Durchsatz der Einsatz des so genannten Mehrkomponenten–Konnektor vorgesehen. Hierbei agieren mehrere Instanzen der drei Funktionsblöcke als ein Konnektor und ermöglichen so eine Lastverteilung der Anfragen. An den Betrieb des Mehrkomponenten– Konnektor werden aufgrund der räumlichen Trennung der Komponenten hohe Anforderungen an die Betriebsumgebung gestellt. Im Fall der Mehrkomponenten–Konnektoren müssen die kryptographischen Identitäten der Funktionsblöcke auf getrennten Sicherheitsmodulen gespeichert werden, die unter der jeweiligen alleinigen Kontrolle des zugeordneten Funktionsblocks stehen. Weitere Realisierungsalternativen der SM–K sind in [gemGesArch] beschrieben. Alle drei Funktionsblöcke sowie die SMC–K selbst sind nach Common Criteria zu evaluieren und werden für den Betrieb in der Telematikinfrastruktur durch die gematik zugelassen. Seite 17 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 5 Betriebssystem (normativ) Dieses Kapitel beschreibt die elektrische Schnittstelle einer SMC–K und damit eine Sicht auf das Betriebssystem der SMC–K. Grundsätzlich werden im Vergleich zur Funktionalität, wie sie in [gemSpec_eGK_P1] beschrieben ist, weitere Fähigkeiten im Betriebssystem benötigt, die in diesem Kapitel beschrieben werden. 5.1 Allgemein (N000.001) Allgemeine Anforderungen an das Betriebssystem der SMC–K: a. Grundsätzlich MÜSSEN alle normativen Festlegungen des Dokumentes [gemSpec_eGK_P1] für das COS der SMC–K umgesetzt werden. b. Einschränkungen MÜSSEN in Kapitel 5.2 genannt werden. c. Erweiterungen MÜSSEN in Kapitel 5.3 genannt werden. 5.2 Einschränkungen Derzeit gibt es keine Einschränkungen für das COS der SMC–K im Vergleich zu [gemSpec_eGK_P1]. Das bedeutet, dass alle normativen Anforderungen aus [gemSpec_eGK_P1] auch vom COS der SMC–K zu erfüllen sind (Plattformgedanke). (N000.002) K_HBA, K_SMC–A/B, K_SMC–K Das COS der SMC–K MUSS alle Anforderungen aus [gemSpec_eGK_P1] erfüllen. 5.3 Erweiterungen Dieses Unterkapitel listet die Anforderungen an das COS der SMC–K auf, die in [gemSpec_eGK_P1] entweder nicht enthalten sind, oder die dort nicht obligatorisch sind. Dabei wird von folgendem Modell ausgegangen: • Das Dokument [gemSpec_eGK_P1] beinhaltet Basisfunktionalität wie etwa Dateizugriffe, Benutzerverifikation, Komponentenauthentisierung, Zugriffsschutz, gesicherte Kommunikation, etc, die grundsätzlich so auch in anderen Chipkartenbetriebssystemen der Telematikinfrastruktur vorhanden ist. • Falls [gemSpec_eGK_P1] um die Funktionalitäten „logische Kanäle“ und „Introductionkeys“ erweitert wird, sind alle Anforderungen an einen Heilberufeausweis erfüllt. • Falls die Funktionalität eines Heilberufeausweises um die Funktionalität „Unterstützung Trusted Channel“ (sprich PSO Compute CC, PSO Verify CC, …) erweitert wird, sind alle Anforderungen für eine SMC–A und SMC–B erfüllt. Seite 18 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K • Falls die Funktionalität einer SMC–A/B um die Fähigkeit Client Server Authentisierung mit RSA 1024 Bit Schlüssel erweitert wird, dann sind alle Anforderungen an eine SMC–K erfüllt. Abbildung 2: Aufbau der COS Spezifikationen 5.3.1 RSA Schlüssellänge Dieses Kapitel ergänzt [gemSpec_eGK_P1#(N002.100)a] (N002.150) K_SMC–A/B, K_SMC–K Das COS MUSS RSA Schlüssel mit einer Moduluslänge n aus der Menge {1024, 2048} die Algorithmen signPKCS1_V1_5 rsaDecipherPKCS1_V1_5 im Kommando INTERNAL AUTHENTICATE unterstützen. Hinweis (1) Diese Anforderung ergibt sich aus [gemSpec_Krypt#5.1.1.4]. 5.3.2 Ordner Dieses Kapitel ergänzt [gemSpec_eGK_P1#9.3.1]. (N009.850) K_Anwendungsspezifikation {K_HBA, K_SMC–A/B, K_SMC–K} Ein Ordner MUSS genau ein Attribut shareable vom Typ Boolean besitzen. Im Rahmen dieser Spezifikation MUSS der Wert des Attributes stets True sein, wodurch angezeigt wird, dass dieser Ordner in mehr als einem logischen Kanal als currentFolder verwendbar ist (siehe [gemSpec_eGK_P1#(N029.900)a]). 5.3.3 Datei Dieses Kapitel ergänzt [gemSpec_eGK_P1#9.3.2]. (N011.050) K_Anwendungsspezifikation {K_HBA, K_SMC–A/B, K_SMC–K} Eine Datei MUSS genau ein Attribut shareable vom Typ Boolean besitzen. Im Rahmen dieser Spezifikation MUSS der Wert des Attributes stets True sein, wodurch angezeigt wird, dass diese Datei in mehr als einem logischen Kanal als currentEF verwendbar ist (siehe [gemSpec_eGK_P1#(N030.000)b]). 5.3.4 Symmetrisches Vorstellungsobjekt Dieses Kapitel ergänzt [gemSpec_eGK_P1#9.5] um ein weiteres Unterkapitel. Hinweis (2) Leider ist das Verb „vorstellen“ im Deutschen ein Homonym. Gemeint ist hier nicht „sich etwas vorstellen“ (englisch: to imagine), sondern „sich jemandem vorstellen“ (englisch: to introduce). Die Bezeichnung leitet sich ab aus dem Vorgang, wie das Schlüsselmaterial bereitSeite 19 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K gestellt wird. Dabei wird zunächst eine asymmetrische gegenseitige und zertifikatsbasierte Authentisierung durchgeführt (man stellt sich einander vor) und die dabei etablierten Sessionkeys werden persistent für den späteren Gebrauch gespeichert. Die derart gespeicherten Sessionkeys erfüllen dann dieselben Aufgaben wie die beiden Schlüssel, die an der Authentisierung beteiligt waren. Insofern „erbt“ ein Vorstellungsobjekt gewisse Informationen aus dem Zertifikat mit dem öffentlichen Schlüssel, aber auch sicherheitsrelevante Eigenschaften des privaten Schlüssels. Der Vorteil von Vorstellungsobjekten liegt darin, dass für Karten, die sich häufig gegenseitig authentisieren und einmalig einander „vorgestellt“ wurden, von diesem Zeitpunkt an die performanteren (etwa Faktor 2 bis 3) Vorstellungsobjekte verwenden können. Hinweis (3) Hier wird davon ausgegangen, dass es möglich ist auf einer Karte mehrere private Authentisierungsobjekte zu speichern. Zur Referenzierung der jeweils zugehörigen öffentlichen Schlüssel reicht dann die ICCSN nicht aus. Falls dann zusätzlich gewünscht wird, dass zu einem öffentlichen Schlüssel mehrere Vorstellungsobjekte möglich sind, bietet sich folgende Konvention an: Die CHR im Zertifikat referenziert den öffentlichen Schlüssel zu einem privaten Schlüssel. Die CHR besteht aus 12 Oktett und wird wie folgt gebildet: a) CHR = index || keyReference || ICCSN, mit b) index = ´00´ für alle Zertifikate, c) keyReference = Referenz des zugehörigen privaten Schlüssels gemäß [gemSpec_eGK_P1#(N099.600)] d) ICCSN = zehn Oktett lange Seriennummer der Karte aus EF.GDO. Hinweis (4) Zur Referenzierung von Vorstellungsobjekten wird dann im Prinzip die CHR verwendet, wobei das index–Oktett aus CHR variiert wird. Vorschlag: a) index = ´01´ à Vorstellungsobjekt mit 2TDES Schlüsselmaterial b) index = ´02´ à Vorstellungsobjekt mit 3TDES Schlüsselmaterial c) index = ´03´ à Vorstellungsobjekt mit AES–128 Schlüsselmaterial d) index = ´04´ à Vorstellungsobjekt mit AES–192 Schlüsselmaterial e) index = ´05´ à Vorstellungsobjekt mit AES–256 Schlüsselmaterial f) … Hinweis (5) Dieses Kapitel ähnelt [gemSpec_eGK_P1#9.5.1]. Ein symmetrisches Vorstellungsobjekt wird im Rahmen von Authentisierungen gemäß [gemSpec_eGK_P1#16.4.1] eingesetzt. Für dieses Schlüsselobjekt gelten folgende Regeln, die bei der Spezifikation einer Anwendung einzuhalten sind: (N019.830) K_HBA, K_SMC–A/B, K_SMC–K Ein symmetrisches Vorstellungsobjekt MUSS ein Attribut keyIdentifier besitzen. Als Wert von keyIdentifier MUSS ein beliebiger Oktettstring der Länge zwölf Oktett möglich sein. Ein COS KANN weitere Werte für keyIdentifier unterstützen. Ein COS KANN weitere Werte für keyIdentifier ablehnen. (N019.835) K_HBA, K_SMC–A/B, K_SMC–K Ein symmetrisches Authentisierungsobjekt MUSS genau ein Attribut vom Typ accessRuleList (siehe [gemSpec_eGK_P1#9.1.4]) besitzen. (N019.840) K_HBA, K_SMC–A/B, K_SMC–K Ein symmetrisches Vorstellungsobjekt MUSS genau ein Attribut encKey gemäß [gemSpec_eGK_P1#9.2.1] besitzen. (N019.845) K_HBA, K_SMC–A/B, K_SMC–K Ein symmetrisches Vorstellungsobjekt MUSS genau ein Attribut macKey gemäß [gemSpec_eGK_P1#9.2.1] besitzen. (N019.850) K_HBA, K_SMC–A/B, K_SMC–K Ein symmetrisches Vorstellungsobjekt MUSS genau ein Attribut listAlgorithmIdentiSeite 20 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K fier mit Elementen vom Typ algorithmIdentifier besitzen, welche angeben, für welche Zwecke es verwendbar ist. a. Die Liste MUSS mindestens ein Element enthalten. b. Die Liste MUSS fähig sein, vier Elemente aufzunehmen. c. Das COS KANN Listen mit mehr als vier Elementen unterstützen. Das COS KANN Listen mit mehr als vier Elementen ablehnen. d. Für symmetrische Vorstellungsobjekte in Generation 1 MUSS der Wert von algorithmIdentifier Element der Menge { desRoleAuthentication, desRoleCheck, desSessionkey4TC, (nur SMC–A/B und SMC–K, nicht aber HBA) desSessionkey4SM } sein. e. Ein COS KANN weitere Werte für algorithmIdentifier unterstützen. Ein COS KANN weitere Werte für algorithmIdentifier ablehnen. (N019.855) K_HBA, K_SMC–A/B, K_SMC–K Ein symmetrisches Vorstellungsobjekt MUSS genau ein Attribut CHA gemäß [gemSpec_eGK_P1#8.1.1.4] besitzen. (N019.860) K_HBA, K_SMC–A/B, K_SMC–K Ein symmetrisches Vorstellungsobjekt MUSS die folgenden Kommandos unterstützen: – EXTERNAL AUTHENTICATE (siehe (N031.921)a und (N031.923)a), – INTERNAL AUTHENTICATE (siehe (N031.924)a und (N031.926)a), – MUTUAL AUTHENTICATE (siehe [gemSpec_eGK_P1#15.7.1.2,15.9.6.6]), Bevor ein solches Kommando in der Lage ist mit dem symmetrisches Vorstellungsobjekt zu arbeiten, ist es zu selektieren. Dies geschieht mittels der in Kapitel 5.3.20 beschriebenen Use Cases. (N019.865) K_HBA, K_SMC–A/B, K_SMC–K Ein symmetrisches Vorstellungsobjekt KANN weitere Kommandos unterstützen. Ein symmetrisches Vorstellungsobjekt KANN weitere Kommandos ablehnen. 5.3.5 Speicherung von Vorstellungsobjekten Dieses Kapitel ergänzt [gemSpec_eGK_P1#(N019.900)]. (N019.950) K_HBA, K_SMC–A/B, K_SMC–K Das hierarchische Objektsystem MUSS ein Attribut persistentIntroductionKeyList unterstützen. a. Das COS MUSS eine beliebige Anzahl Listenelemente unterstützen, wobei die maximale Anzahl der Elemente bei der Kartenproduktion festgelegt werden. Das COS KANN eine dynamische Änderung der Listenlänge unterstützen. Das COS KANN eine dynamische Änderung der Listenlänge ablehnen. b. Als Listenelement MUSS der Objekttyp „symmetrisches Vorstellungsobjekt“ (siehe Kapitel 5.3.2) unterstützt werden in Verbindung mit einer Referenz zu einem Ordner, dem dieses Schlüsselobjekt zugeordnet ist (siehe (N031.540)b.6.iv). c. Elemente der Liste MÜSSEN persistent gespeichert werden. Seite 21 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 5.3.6 Setzen eines Sicherheitsstatus Dieses Kapitel fügt unmittelbar hinter [gemSpec_eGK_P1#(N030.300)b] einen weiteren Punkt ein. (N019.951) Falls obj a. ein symmetrisches Vorstellungsobjekt (siehe Kapitel 5.3.4) ist und obj.CHA (siehe (N019.855)) in der Liste tmpList 1. bereits vorhanden ist, dann beende diesen Algorithmus. 2. noch nicht vorhanden ist, dann MUSS obj.CHA am Anfang von tmpList eingetragen werden. 5.3.7 Suche nach einem Schlüsselobjekt Dieses Kapitel ergänzt [gemSpec_eGK_P1#10.2]. Diese Suche ist eine Generalisierung von SearchIntroductionKey und SearchSecretKey gemäß [gemSpec_eGK_P1#10.2.3]: identifier algID Input: Output: startFolder key keyNotFound Errors: notSupported Notation gemäß (N019.830) oder [gemSpec_eGK_P1] (N016.400), (N017.100) Kryptographisches Verfahren, welches der zu suchende Schlüssel unterstützt, oder „Wildcard“ Ordner, aus dem heraus die Suche startet Enthält das gefundene Schlüsselobjekt Zu den gegebenen Inputparametern wurde kein passendes Schlüsselobjekt gefunden. Der Schlüssel unterstützt den von algID geforderten Algorithmus nicht. key = SearchKey( startFolder, identifier, algID ) (N019.952) Wenn der Parameter identifier eine Schlüsselreferenz a. gemäß (N019.830) enthält, gilt key = SearchIntroductionKey( startFolder, identifier, algID ), sonst b. gilt key = SearchSecretKey( startFolder, identifier, algID ). 5.3.8 Anforderung für: HBA, SMC–A/B, SMC–K Suche nach einem symmetrischen Vorstellungsobjekt Dieses Kapitel ergänzt [gemSpec_eGK_P1#10.2]. Symmetrische Vorstellungsobjekte werden zu Authentisierungszwecken verwendet. Zudem werden sie bei der Auswertung von Zugriffsregeln (siehe [gemSpec_eGK_P1#(N022.400)] und [gemSpec_eGK_P1#(N022.500)]) verwendet. Bei dieser Art der Schlüsselsuche handelt es sich um eine karteninterne Funktionalität, bei der viele Implementierungsdetails eine Rolle spielen. An der Schnittstelle „Interpreter“ wird das im Folgenden festgelegte Verhalten deutlich: Input: identifier algID startFolder gemäß (N019.830) Kryptographisches Verfahren, welches der zu suchende Schlüssel unterstützt, oder „Wildcard“ Ordner, aus dem heraus die Suche startet Seite 22 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K key keyNotFound Output: Errors: notSupported Notation Enthält das gefundene Schlüsselobjekt Zu den gegebenen Inputparametern wurde kein passendes Schlüsselobjekt gefunden. Der Schlüssel unterstützt den von algID geforderten Algorithmus nicht. key = SearchIntroductionKey(startFolder, identifier, algID) (N021.540) K_HBA, K_SMC–A/B, K_SMC–K Anforderung für: HBA, SMC–A/B, SMC–K Die „lokale Variable“ folder wird auf startFolder gesetzt. Dann werden folgende Schritte ausgeführt: a. Es wird im Attribut persistentIntroductionKeyList des Objektsystems nach einem Schlüsselobjekt gesucht, dessen Attribut keyIdentifier identisch zu identifier ist und das dem Ordner folder zugeordnet ist. Wenn ein solches Schlüsselobjekt 1. existiert, dann wird es als Output–Parameter key verwendet. 2. nicht existiert und folder ist i. gleich root, dann wird der Fehler „keyNotFound“ zurückgemeldet. ii. ungleich root, dann wird folder auf den nächst höheren Ordner gesetzt und der Algorithmus mit Schritt (N021.540)a fortgesetzt. (N021.550) K_HBA, K_SMC–A/B, K_SMC–K Wenn das Attribute key.listAlgorithmIdentifier nicht den Wert algID enthält, dann wird der Fehler "notSupported" zurückgemeldet. 5.3.9 Anzahl logischer Kanäle Dieses Kapitel ersetzt [gemSpec_eGK_P1#(N026.100)]. Damit mehrere Leistungserbringer im „Multitasking“ Betrieb quasi parallel Stapelsignaturen auszuführen in der Lage sind, unterstützt das COS das Konzept der logischen Kanäle gemäß [ISO7816–4]. (N026.150) K_externeWelt {K_HBA, K_SMC–A/B, K_SMC–K} Die Kanalnummer MUSS entweder null sein, oder der Nummer eines geöffneten Kanals entsprechen (siehe Kapitel 5.3.19.1). 5.3.10 Attribute eines logischen Kanals Dieses Kapitel ergänzt [gemSpec_eGK_P1#(N029.900)c]. (N029.950) K_HBA, K_SMC–A/B, K_SMC–K Der channelContext MUSS eine Liste keyReferenceList besitzen, mit folgendem zusätzlichem Element: macCalculation mit den Komponenten keyReference und algorithmIdentifier. 5.3.11 Secure Messaging Layer Dieses Kapitel ersetzt komplett [gemSpec_eGK_P1#14.1] inklusive aller Unterkapitel. Seite 23 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Dieses Unterkapitel beschreibt die Funktionsweise des Layers „SecMes“ in [gemSpec_eGK_P1#Abbildung 1]. Dieser Layer benutzt neben den Informationen aus [gemSpec_eGK_P1#(N029.900)d] folgende weitere Attribute: • KD.i ist ein Oktettstring, der eine vom COS generierte Zufallszahl speichert, die im Rahmen der Ableitung von Sessionkeys verwendet wird. • KD.e ist ein Oktettstring, der eine extern generierte Zufallszahl speichert, die im Rahmen der Ableitung von Sessionkeys verwendet wird. 5.3.11.1 Ableitung von Sessionkeys Input: Output: Errors: Notation: – – – der benötigte Input wird dem channelContext entnommen kein Output vorhanden keine SessionkeyDerivation() Im folgenden gelten die Definitionen: algId = channelContext.keyReferenceList.externalAuthenticate.algorithmIdentifier PrK = privater Schlüssel, der an der Authentisierung beteiligt war, referenziert in channelContext.keyReferenceList.internalAuthenticate.keyReference chr = channelContext.keyReferenceList.externalAuthenticate.keyReference cha = Attribute CHA (siehe [gemSpec_eGK_P1#(N019.700)a]) des Schlüssels mit der Referenz chr. bitList = … (für Generation 2 ergänzen) (N031.400) Falls algId die Aushandlung von 3TDES Schlüsseln anzeigt, gilt a. K_eGK, K_HBA, K_SMC–A/B, K_SMC–K für die Attribute aus SessionkeyContext: (Kenc, SSCenc, Kmac, SSCmac) = KeyDerivation_3TDES (KD.i XOR KD.e). (N031.500) K_eGK, K_HBA, K_SMC–A/B, K_SMC–K Falls algId die Aushandlung von AES–128 Schlüsseln anzeigt, gilt … (für Generation 2 vervollständigen). (N031.520) Falls algId anzeigt, dass die Sessionkeys a. K_eGK, K_HBA, K_SMC–A/B, K_SMC–K im Rahmen von Secure Messaging einzusetzen sind, dann setze SessionkeyContext.flagSessionEnabled = SK4SM. b. K_SMC–A/B, K_SMC–K den Betrieb eines Trusted Channels zu unterstützen haben, dann 1. setze SessionkeyContext.flagSessionEnabled = SK4TC und 2. trage in channelContext.keyReferenceList.dataDecipher eine herstellerspezifische keyReference und algorithmReference = desSessionkey4TC ein und 3. trage in channelContext.keyReferenceList.macCalculation eine herstellerspezifische keyReference und algorithmReference = desSessionkey4TC ein. c. K_HBA, K_SMC–A/B, K_SMC–K persistent zu speichern sind, dann setze SessionkeyContext.flagSessionEnabled = noSK. Seite 24 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K (N031.540) K_HBA, K_SMC–A/B, K_SMC–K Falls algId anzeigt, dass die Sessionkeys persistent zu speichern sind, dann a. gilt obj = SearchIntroductionKey( keyId ). Falls die Suche erfolglos verlief, dann MUSS obj auf ein beliebiges Element von persistentIntroductionkeyList gesetzt werden. b. Die Attribute des durch obj referenzierten Listenelementes, werden auf folgende Werte gesetzt: 1. obj.keyIdentifier = ´02´ || I2OS( OS2I( chr ), 11), siehe Hinweis (4) 2. obj.accessRuleList = PrK.accessRuleList 3. obj.encKey = SSCenc. 4. obj.macKey = SSCmac. 5. obj.cha = cha. 6. Für das Attribute listAlgorithmIdentifier gilt: i. Schritt 1: obj.listAlgorithmIdentifier = {desRoleCheck} ii. Schritt 2: Falls PrK.listAlgorithemIdentifier einen Werte aus der Menge { rsaClientAuthentication, rsaRoleAuthentication} enthält dann gilt: obj.listAlgorithmIdentifier += desRoleAuthentication iii. Schritt 3: Falls PrK.listAlgorithemIdentifier den Wert rsaSessionkey4SM enthält dann gilt: obj.listAlgorithmIdentifier += desSessionkey4SM iv. Schritt 4: Falls PrK.listAlgorithemIdentifier den Wert rsaSessionkey4TC enthält dann gilt: obj.listAlgorithmIdentifier += desSessionkey4TC 7. Falls der private Schlüssel, zu dem algId gehört, derselben Ebene oder einer tieferen zugeordnet ist, als der öffentliche Schlüssel, welcher durch chr referenziert wird, dann MUSS obj dem Ordner des private Schlüssels zugeordnet werden. 8. Sonst MUSS obj dem Ordner des öffentlichen Schlüssels zugeordnet werden. 5.3.11.2 Bearbeitung einer Kommando APDU (N031.600) K_eGK, K_HBA, K_SMC–A/B, K_SMC–K Falls im CLA Byte kein Secure Messaging angezeigt wird (siehe [ISO7816–4] Kapitel 5.1.1) und SessionkeyContext.flagSessionEnabled den Wert a. SK4SM besitzt, dann 1. MUSS der Sicherheitszustand des zugehörigen Aushandlungsschlüssels mittels clearSecurityStatus(…) zurückgesetzt werden. 2. MUSS CmdApdu3 = CmdApdu2 gesetzt werden. b. sonst MUSS CmdApdu3 = CmdApdu2 gesetzt werden. (N031.500) K_eGK, K_HBA, K_SMC–A/B, K_SMC–K Falls im CLA Byte Secure Messaging angezeigt wird und flagSessionEnabled besitzt den Wert a. SK4SM, dann MUSS Seite 25 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 1. die gesicherte CmdApdu2 den normativen Vorgaben aus [gemSpec_eGK_P1#14.2] entsprechen. Falls ein DO mit Tag = ´87´ in der CmdApdu2 vorhanden ist, MUSS flagCmdEnc auf True gesetzt werden, sonst auf False. Das COS KANN weitere Secure Messaging Formate akzeptieren. Das COS KANN weitere Secure Messaging Formate ablehnen. 2. die gesicherte CmdApdu2 analog zu den Regeln aus [gemSpec_eGK_P1#14.2] entsichert werden. Das Ergebnis ist dann CmdApdu3. Falls dabei ein Fehler festgestellt wird, genau dann i. MUSS der Sicherheitszustand des zugehörigen Aushandlungsschlüssels mittels clearSecurityStatus(…) zurückgesetzt werden (siehe [gemSpec_eGK_P1#13.4]). ii. MUSS die Bearbeitung des Kommandos terminieren. iii. RspApdu2 enthält in diesem Fall keine Antwortdaten und besteht lediglich aus dem Trailer IncorrectSmDo = ´69 88´. b. andernfalls 1. MUSS die Bearbeitung des Kommandos terminieren. 2. RspApdu2 enthält in diesem Fall keine Antwortdaten und besteht lediglich aus dem Trailer IncorrectSmDo = ´69 88´. (N031.800) K_eGK, K_HBA, K_SMC–A/B, K_SMC–K Die vom Secure Messaging Layer („SecMes“ in [gemSpec_eGK_P1#Abbildung 1]) gegebenenfalls weitergeleitete CmdApdu3 MUSS gemäß den Vorgaben dieses Dokumentes bearbeitet werden, wobei eine Antwortnachricht RspApdu1 entsteht. Es wird davon ausgegangen, dass der Secure Messaging Layer CmdApdu3 so aufbereitet, dass im CLA Byte kein Secure Messaging angezeigt wird und die Kanalnummer stets auf null gesetzt wurde. (N031.900) K_eGK, K_HBA, K_SMC–A/B, K_SMC–K Falls flagSessionEnabled den Wert a. SK4SM besitzt, dann MUSS die ungesicherte RspApdu1 gemäß [gemSpec_eGK_P1#14.3] in die gesicherte RspApdu2 umgewandelt werden. b. sonst MUSS RspApdu2 = RspApdu1 gesetzt werden. (N031.920) K_eGK, K_HBA, K_SMC–A/B, K_SMC–K Falls sowohl KD.i, als auch KD.e vorhanden sind (einer oder beide Werte wurden mit dem gerade bearbeiteten Kommando gesetzt), dann a. MUSS SessionkeyContext mittels SessionkeyDerivation() geändert werden (siehe Kapitel 5.3.11.1) und anschließend b. MÜSSEN KD.i und KD.e auf den Wert „nicht vorhanden“ gesetzt werden. 5.3.12 EXTERNAL AUTHENTICATE Dieses Kapitel ergänzt [gemSpec_eGK_P1#15.7.1] um weitere Algorithmen. 5.3.12.1 Use Case externe Authentisierung Dieses Kapitel ergänzt [gemSpec_eGK_P1#15.7.1.1] um weitere Algorithmen. Seite 26 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K (N031.921) Wenn algId gleich a. K_SMC–A/B, K_SMC–K desSessionKey4TC ist, dann MUSS cmdData gleich 104 Oktett lang sein. b. K_HBA, K_SMC–A/B, K_SMC–K rsaSessionkey4Intro oder rsaSessionkey4TC ist, dann MUSS cmdData genauso viele Oktette enthalten, wie der Modulus des Authentisierungsschlüssels. 5.3.12.2 Kommandobearbeitung, Schlüsselsuche Dieses Kapitel ersetzt [gemSpec_eGK_P1#15.7.1.4] Punkt (N084.200)c. (N031.922) Wenn channelContext.keyReferenceList.externalAuthenticate a. nicht leer ist und eine Referenz auf ein symmetrisches Authentisierungsobjekt enthält, dann wird affectedObject = SearchKey( currentFolder, channelContext.keyReferenceList.externalAuthenticate.keyReference, channelContext.keyReferenceList.externalAuthenticate.algID ) gesetzt. Gemäß (N021.540) sowie [gemSpec_eGK_P1#10.2.3] und [gemSpec_eGK_P1#(N104.300)] KANN es vorkommen, dass die Schlüsselsuche nicht erfolgreich ist. Wenn die Schlüsselsuche den Fehler Hinweis (6) Der letzte Satz in (N031.922)a erscheint unvollständig. In [gemSpec_eGK_P1#15.7.4.3] Punkt (N086.700)b existieren Unterpunkte zu der ersetzenden Stelle, die den Satzanfang fortführen. 5.3.12.3 Kommandoabarbeitung, neue Algorithmen Dieses Kapitel ergänzt [gemSpec_eGK_P1#15.7.1.4] um weitere Algorithmen. (N031.923) Wenn channelContext.keyReferenceList.externalAuthenticate.algID den Wert a. K_SMC–A/B, K_SMC–K desSessionKey4TC besitzt, dann werden folgende Schritte ausgeführt: 1. cmdData wird wie folgt aufgeteilt: i. cmdData = C2 || MAC2 ii. OctetLength( MAC2 ) = 8. 2. out = VERIFY_Retail_MAC( affectedObject.macKey, MAC2, C2 ) 3. Falls out den Wert INVALID besitzt, dann MUSS das Kommando mit dem Trailer AuthenticationFailure terminieren. 4. R = 3TDES_CBC_DEC( affectedObject.encKey, 0, C2 ) 5. R wird wie folgt aufgeteilt: i. R = token || RND.int || ICCSN8.int || KD.i ii. Es sei 16 = OctetLength ( token ) iii. Es sei 8 = OctetLength( RND.int ) iv. Es sei 8 = OctetLength( ICCSN8.int ) Seite 27 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K v. Es sei 64 = OctetLength( KD.i ) 6. Das Kommando MUSS genau dann mit AuthenticationFailure terminieren, falls i. RND.int ungleich RND.ICC (siehe [gemSpec_eGK_P1#(N029.900)b]) ist, oder ii. ICCSN8.int ungleich iccsn8 (siehe [gemSpec_eGK_P1#(N019.900)c]) ist. 7. KD.i MUSS an den Secure Messaging Layer übergeben werden (siehe Kapitel 5.3.10). b. K_HBA, K_SMC–A/B, K_SMC–K rsaSessionkey4TC besitzt, dann MUSS im Rahmen der Kommandobearbeitung identisch zu rsaSessionkey4SM verfahren werden. c. K_HBA, K_SMC–A/B, K_SMC–K rsaSessionkey4Intro besitzt, dann MUSS im Rahmen der Kommandobearbeitung identisch zu rsaSessionkey4SM verfahren werden, bis auf folgende Ausnahme: Der Text von [gemSpec_eGK_P1#(N084.600)] ist durch folgenden Text zu ersetzen: Falls das Kommando mit dem Trailer NoError antwortet und der Wert von channelContext.keyReferenceList.externalAuthenticate.algID ungleich rsaSessionkey4Intro ist, genau dann MUSS setSecurityStatus( affectedObject ) ausgeführt werden. 5.3.13 INTERNAL AUTHENTICATE Dieses Kapitel ergänzt [gemSpec_eGK_P1#15.7.4] um weitere Algorithmen. 5.3.13.1 Use Case interne Authentisierung Dieses Kapitel ergänzt [gemSpec_eGK_P1#15.7.4.1] um weitere Algorithmen. (N031.924) K_externeWelt Wenn algId gleich a. {K_SMC–A/B, K_SMC–K} desSessionKey4TC ist, dann MUSS token gleich 16 Oktett lang sein. b. {K_HBA, K_SMC–A/B, K_SMC–K} rsaSessionkey4Intro oder rsaSessionkey4TC ist, dann MUSS token gemäß [gemSpec_eGK_P1#(N106.700)] gewählt werden. c. {K_HBA, K_SMC–A/B, K_SMC–K} signPKCS1_V1_5 ist, dann MUSS die Anzahl Oktette in token kleiner als 0,4 OctetLength( n ) sein, mit n als Modulus des ausgewählten Authentisierungsschlüssels. 5.3.13.2 Kommandobearbeitung, Schlüsselsuche Dieses Kapitel ersetzt [gemSpec_eGK_P1#15.7.4.3] Punkt (N086.700)b. (N031.925) Wenn channelContext.keyReferenceList.internalAuthenticate Seite 28 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K a. nicht leer ist, dann wird affectedObject = SearchKey( currentFolder, channelContext.keyReferenceList.internalAuthenticate.keyReference, channelContext.keyReferenceList.internalAuthenticate.algID ) gesetzt. Gemäß (N021.540) sowie [gemSpec_eGK_P1#10.2.3] und [gemSpec_eGK_P1#(N104.300)] KANN es vorkommen, dass die Schlüsselsuche nicht erfolgreich ist. Wenn die Schlüsselsuche den Fehler Hinweis (7) Der letzte Satz in (N031.925)a erscheint unvollständig. In [gemSpec_eGK_P1#15.7.4.3] Punkt (N086.700)b existieren Unterpunkte zu der ersetzenden Stelle, die den Satzanfang fortführen. 5.3.13.3 Kommandoabarbeitung, neue Algorithmen Dieses Kapitel ergänzt [gemSpec_eGK_P1#15.7.4.3] um weitere Algorithmen. (N031.926) Wenn channelContext.keyReferenceList.internalAuthenticate.algID den Wert a. K_SMC–A/B, K_SMC–K desSessionKey4TC besitzt, dann werden folgende Schritte ausgeführt: 1. Setze RND.int = RAND( 8 ) 2. Setze ICCSN8.int = iccsn8 (siehe [gemSpec_eGK_P1#(N019.900)c]) 3. Setze KD.e = RAND( 64 ) 4. Setze S = RND.int || ICCSN8.int || token || KD.e 5. Setze C1 = 3TDES_CBC_ENC ( affectedObject.encKey, 0, S ) 6. Setze MAC1 = CALCULATE_Retail_MAC( affectedObject.macKey, C1 ) 7. Setze response = C1 || MAC1 8. RND.int MUSS als RND.ICC [gemSpec_eGK_P1#(N029.900)b]). gespeichert werden (siehe 9. KD.e MUSS an den Secure Messaging Layer übergeben werden (siehe Kapitel 5.3.10). b. K_HBA, K_SMC–A/B, K_SMC–K rsaSessionkey4Intro oder rsaSessionkey4TC besitzt, dann MUSS im Rahmen der Kommandobearbeitung identisch zu rsaSessionkey4SM verfahren werden. c. K_HBA, K_SMC–A/B, K_SMC–K signPKCS1_V1_5 besitzt, dann gilt: response = RSASSA_PKCS1_V1_5_SIGN( PrK, token ) 5.3.14 PSO Compute Cryptographic Checksum Dieses Kapitel ergänzt [gemSpec_eGK_P1#15.8] um ein weiteres Kommando. Das Kommando PSO Compute CC berechnet zu gegebenen Daten eine kryptographische Checksumme mittels eines symmetrischen Schlüssels. Der symmetrische Schlüssel wird im Rahmen einer gegenseitigen Authentisierung (siehe Anhang A.2) ausgehandelt. Die durch eine Checksumme zu schützenden Daten sind als Parameter in der Kommandonachricht enthalten. Seite 29 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 5.3.14.1 Use Case Berechnen einer kryptographischen Checksumme In dieser Variante enthält die APDU des PSO Compute CC Kommandos zwei Parameter: (N087.220) K_externeWelt {K_SMC–A/B, K_SMC–K} Der Parameter data enthält die zu schützenden Daten. Der Parameter data ist ein Oktettstring mit beliebigem Inhalt. Die Länge von data unterliegt nur den Beschränkungen aus [gemSpec_eGK_P1#12.5.5]. (N087.224) K_externeWelt {K_SMC–A/B, K_SMC–K} Der Parameter length bestimmt die Länge der erwarteten Antwortdaten. Der Wert von length MUSS aus dem in [gemSpec_eGK_P1#12.5.6] definierten Bereich gewählt werden. (N087.228) K_externeWelt {K_SMC–A/B, K_SMC–K} Es MUSS eine Case 4 Kommando APDU gemäß [gemSpec_eGK_P1#12.7.4.1] über die Schnittstelle „Interpreter“ geschickt werden. Für die Konstruktion dieser Case 4 Kommando APDU MÜSSEN die Angaben aus Tabelle 5 verwendet werden. Tabelle 5: PSO Compute CC, Berechnen einer kryptographischen Checksumme CLA INS P1 P2 Data Ne Inhalt ´00´ ´2A´ ´8E´ ´80´ ´XX…YY´ length Beschreibung CLA Byte gemäß [ISO7816–4] Instruction Byte gemäß [ISO7816–4] Beschreibung der Antwortdaten, hier kryptographische Checksumme Beschreibung der Kommandodaten, hier Klartext data Anzahl der erwarteten Oktette in den Antwortdaten 5.3.14.2 Antwort der Karte auf Berechnen einer kryptographischen Checksumme Tabelle 6: PSO Compute CC Antwort APDU im Erfolgsfall Daten ´XX…YY´ Trailer ´9000´ Inhalt mac Inhalt NoError Beschreibung kryptographische Checksumme Beschreibung erfolgreiche Berechnung eines MAC Tabelle 7: PSO Compute CC Antwort APDU im Fehlerfall Trailer Inhalt Beschreibung ´69 85´ ´6A 88´ ´6A 81´ ´69 82´ NoKeyReference KeyNotFound UnsupportedFunction SecurityStatusNotSatisfied kein Schlüssel für MAC Berechnung ausgewählt kein Schlüssel für MAC Berechnung vorhanden Schlüssel unterstützt den angegeben Algorithmus nicht Zugriffsregel nicht erfüllt Hinweis (8) Diese Tabelle enthält keine Fehler, die in den Komponenten I/O, ChannelSwitch und SecMes in [gemSpec_eGK_P1#Abbildung 1] entdeckt wurden. (N087.232) K_SMC–A/B, K_SMC–K Ein COS KANN zusätzliche Trailer verwenden. Seite 30 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 5.3.14.3 Kommandoabarbeitung innerhalb der Karte (N087.236) K_SMC–A/B, K_SMC–K Das COS MUSS die PSO Compute CC Variante aus Kapitel 5.3.14.1 unterstützen. Das COS KANN weitere PSO Compute CC Varianten unterstützen. Das COS KANN weitere PSO Compute CC Varianten ablehnen. (N087.240) K_SMC–A/B, K_SMC–K Wenn channelContext.keyReferenceList.macCalculation a. leer ist, genau dann MUSS das Kommando mit dem Trailer NoKeyReference terminieren. b. nicht leer ist, dann wird affectedObject = SearchKey( currentFolder, channelContext.keyReferenceList.macCalculation.keyReference, channelContext.keyReferenceList.macCalculation.algID ) gesetzt. Gemäß (N021.540) sowie [gemSpec_eGK_P1#10.2.3] und [gemSpec_eGK_P1#(N104.300)] KANN es vorkommen, dass die Schlüsselsuche nicht erfolgreich ist. Wenn die Schlüsselsuche den Fehler 1. keyNotFound meldet, genau dann MUSS das Kommando mit dem Trailer KeyNotFound terminieren. 2. notSupported meldet, genau dann MUSS das Kommando mit dem Trailer UnsupportedFunction terminieren. (N087.244) K_SMC–A/B, K_SMC–K Wenn AccessRuleEvaluation( affectedObject, CLA, INS, P1, P2 ) den Wert False zurückliefert, genau dann MUSS das Kommando mit dem Trailer SecurityStatusNotSatisfied terminieren. (N087.248) K_SMC–A/B, K_SMC–K Mit den Attributen SSCmac und Kmac aus dem Attribut SessionkeyContext des aktuellen channelContext des logischen Kanals gilt: a. SSCmac = SSCmac + 1. b. mac = CALCULATE_Retail_MAC( Kmac, I2OS( SSCmac, 8) || data ). (N087.252) K_SMC–A/B, K_SMC–K Als Datenfeld der Antwortnachricht MUSS mac verwendet werden. (N087.256) K_SMC–A/B, K_SMC–K Als Trailer MUSS NoError gewählt werden. (N087.260) K_SMC–A/B, K_SMC–K Für die Priorität der Trailer gilt: a. Die Priorität der Trailer in Tabelle 7 ist herstellerspezifisch. b. Jeder Trailer in Tabelle 7 MUSS eine höhere Priorität als NoError haben. 5.3.15 PSO Decipher Dieses Kapitel ergänzt [gemSpec_eGK_P1#15.8.2]. 5.3.15.1 Use Case Entschlüsseln mittels 3TDES, G1 (normativ) Dieses Kapitel ergänzt [gemSpec_eGK_P1#15.8.2] um einen weiteren Use Case. Seite 31 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Diese Variante gilt für folgenden Algorithmus: desSessionkey4TC. In dieser Variante enthält die APDU des PSO Decipher Kommandos zwei Parameter: (N089.840) K_externeWelt {K_SMC–A/B, K_SMC–K} Der Parameter C enthält die zu entschlüsselnden Daten. Der Parameter C ist ein Oktettstring mit beliebigem Inhalt. Die Anzahl Oktette in C MUSS ein ganzzahliges Vielfaches von acht sein. (N089.843) K_externeWelt {K_SMC–A/B, K_SMC–K} Der Parameter length bestimmt die Länge der erwarteten Antwortdaten. Der Wert von length MUSS aus dem in [gemSpec_eGK_P1#12.5.6] definierten Bereich gewählt werden. (N089.845) K_externeWelt {K_SMC–A/B, K_SMC–K} Es MUSS eine Case 4 Kommando APDU gemäß [gemSpec_eGK_P1#12.7.4] über die Schnittstelle „Interpreter“ geschickt werden. Für die Konstruktion dieser Case 4 Kommando APDU MÜSSEN die Angaben aus Tabelle 8 verwendet werden. Tabelle 8: PSO Decipher, Entschlüsseln mittels DES Inhalt ´00´ ´2A´ ´80´ ´86´ ´XX…YY´ length CLA INS P1 P2 Data Ne Beschreibung CLA Byte gemäß [ISO7816–4] Instruction Byte gemäß [ISO7816–4] Beschreibung der Antwortdaten, hier Klartext Beschreibung der Kommandodaten, hier Chiffrat ´01´ || C = Paddingindikator || Kryptogramm Anzahl der erwarteten Oktette in den Antwortdaten 5.3.15.2 Kommandobearbeitung, Schlüsselsuche Dieses Kapitel ersetzt [gemSpec_eGK_P1#15.8.2.4] Punkt (N090.100)b. (N089.846) Wenn channelContext.keyReferenceList.dataDecipher a. nicht leer, dann wird affectedObject = SearchKey( currentFolder, channelContext.keyReferenceList.dataDecipher.keyReference, channelContext.keyReferenceList dataDecipher.algID ) gesetzt. Gemäß (N021.540) sowie [gemSpec_eGK_P1#10.2.3] und [gemSpec_eGK_P1#(N104.300)] KANN es vorkommen, dass die Schlüsselsuche nicht erfolgreich ist. Wenn die Schlüsselsuche den Fehler Hinweis (9) Der letzte Satz in (N089.846)a erscheint unvollständig. [gemSpec_eGK_P1#15.8.2.4] Punkt (N090.100)b existieren Unterpunkte zu der ersetzenden Stelle, die den Satzanfang fortführen. 5.3.15.3 Kommandoabarbeitung, neue Algorithmen Dieses Kapitel ergänzt [gemSpec_eGK_P1#15.8.2.4] um einen weiteren Algorithmus. (N089.847) Wenn channelContext.keyReferenceList.dataDecipher.algID den Wert a. K_SMC–A/B, K_SMC–K desSessionkey4TC besitzt, dann gilt mit den Attributen SSCenc und Kenc aus Seite 32 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K dem Attribut SessionkeyContext des aktuellen channelContext des logischen Kanals 1. Schritt 1: SSCenc = SSCenc + 1. 2. Schritt 2: P = 3TDES_CBC_DEC( Kenc, SSCenc, C ). 3. Schritt 3: plain = TruncateIso( P, 8 ). 4. Falls die Funktion TruncateIso mit dem Fehler paddingError terminiert, genau dann MUSS das Kommando mit dem Trailer WrongCiphertext terminieren. 5.3.16 PSO Encipher Dieses Kapitel ergänzt [gemSpec_eGK_P1#15.8.3]. 5.3.16.1 Use Case Verschlüsseln mittels 3TDES, G1 (normativ) Dieses Kapitel ergänzt [gemSpec_eGK_P1#15.8.3] um einen weiteren Use Case. Diese Variante gilt für folgenden Algorithmus: desSessionkey4TC. In dieser Variante enthält die APDU des PSO Encipher Kommandos zwei Parameter: (N091.440) K_externeWelt { K_SMC–A/B, K_SMC–K} Der Parameter M enthält die zu verschlüsselnden Daten. Der Parameter M ist ein Oktettstring mit beliebigem Inhalt. Die Länge von M unterliegt nur den Beschränkungen aus [gemSpec_eGK_P1#12.5.5]. (N091.443) K_externeWelt {K_SMC–A/B, K_SMC–K} Der Parameter length bestimmt die Länge der erwarteten Antwortdaten. Der Wert von length MUSS aus dem in [gemSpec_eGK_P1#12.5.6] definierten Bereich gewählt werden. (N091.446) K_externeWelt {K_SMC–A/B, K_SMC–K} Es MUSS eine Case 4 Kommando APDU gemäß [gemSpec_eGK_P1#12.7.4] über die Schnittstelle „Interpreter“ geschickt werden. Für die Konstruktion dieser Case 4 Kommando APDU MÜSSEN die Angaben aus Tabelle 9 verwendet werden. Tabelle 9: PSO Encipher, Verschlüsseln mittels DES Inhalt ´00´ ´2A´ ´86´ ´80´ ´XX…YY´ length CLA INS P1 P2 Data Ne Beschreibung CLA Byte gemäß [ISO7816–4] Instruction Byte gemäß [ISO7816–4] Beschreibung der Antwortdaten, hier Chiffrat Beschreibung der Kommandodaten, hier Klartext M Anzahl der erwarteten Oktette in den Antwortdaten 5.3.16.2 Kommandobearbeitung, Schlüsselsuche Dieses Kapitel fügt nach [gemSpec_eGK_P1#(N091.600)] folgendes ein. (N091.650) K_SMC–A/B, K_SMC–K Wenn channelContext.keyReferenceList.dataDecipher a. nicht leer, dann wird affectedObject = SearchKey( currentFolder, Seite 33 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K channelContext.keyReferenceList.dataDecipher.keyReference, channelContext.keyReferenceList.externalAuthenticate.algID ) gesetzt. Gemäß (N021.540) sowie [gemSpec_eGK_P1#10.2.3] und [gemSpec_eGK_P1#(N104.300)] KANN es vorkommen, dass die Schlüsselsuche nicht erfolgreich ist. Wenn die Schlüsselsuche den Fehler 5.3.16.3 Kommandoabarbeitung, neue Algorithmen Dieses Kapitel ergänzt [gemSpec_eGK_P1#15.8.3.3] um einen weiteren Algorithmus. (N091.655) K_SMC–A/B, K_SMC–K Wenn channelContext.keyReferenceList.dataDecipher.algID den Wert a. desSessionkey4TC besitzt, dann gilt mit den Attributen SSCenc und Kenc aus dem Attribut SessionkeyContext des aktuellen channelContext des logischen Kanals 1. Schritt 1: SSCenc = SSCenc + 1. 2. Schritt 2: P = PaddingIso( M, 8 ). 3. Schritt 3: C = 3TDES_CBC_ENC( Kenc, SSCenc, P ). 4. Schritt 3: cipher = ´01´ || C. 5.3.17 Verify Cryptographic Checksum Dieses Kapitel ergänzt [gemSpec_eGK_P1#15.8] um ein weiteres Kommando. Das Kommando PSO Verify CC überprüft mittels eines symmetrischen Schlüssels, ob eine gegebene kryptographische Checksumme zu gegebenen Daten passt. Der symmetrische Schlüssel wird im Rahmen einer gegenseitigen Authentisierung (siehe Anhang A.2) ausgehandelt. Checksumme und geschützte Daten sind als Parameter in der Kommandonachricht enthalten. 5.3.17.1 Use Case Prüfung einer kryptographischen Checksumme In dieser Variante enthält die APDU des PSO Verify CC Kommandos zwei Parameter: (N096.340) K_externeWelt {K_SMC–A/B, K_SMC–K} Der Parameter data enthält die geschützten Daten. Der Parameter data ist ein Oktettstring mit beliebigem Inhalt. (N096.343) K_externeWelt {K_SMC–A/B, K_SMC–K} Der Parameter mac enthält eine kryptographische Checksumme. Der Parameter mac ist ein Oktettstring mit beliebigem Inhalt, dessen Länge NICHT größer sein DARF, als die Blocklänge des symmetrischen Algorithmus. (N096.346) K_externeWelt {K_SMC–A/B, K_SMC–K} Die Parameter data und mac MÜSSEN im Datenfeld der Kommandonachricht enthalten sein. Die Kodierung wird in (N096.372)a spezifiziert. (N096.349) K_externeWelt {K_SMC–A/B, K_SMC–K} Es MUSS eine Case 3 Kommando APDU gemäß [gemSpec_eGK_P1#12.7.3] über die Schnittstelle „Interpreter“ geschickt werden. Für die Konstruktion dieser Case 3 Kommando APDU MÜSSEN die Angaben aus Tabelle 10 verwendet werden. Seite 34 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Tabelle 10: PSO Verify CC, Prüfen einer kryptographischen Checksumme Inhalt ´00´ ´2A´ ´00´ ´A2´ ´XX…YY´ CLA INS P1 P2 Data Beschreibung CLA Byte gemäß [ISO7816–4] Instruction Byte gemäß [ISO7816–4] Beschreibung der Antwortdaten, hier keine Antwortdaten Beschreibung der Kommandodaten, hier Input Template für MAC inputTemplate 5.3.17.2 Antwort der Karte auf Berechnen einer kryptographischen Checksumme Tabelle 11: PSO Verify CC Antwort APDU im Erfolgsfall Trailer ´9000´ Inhalt NoError Beschreibung erfolgreiche Verifizierung eines MAC Tabelle 12: PSO Verify CC Antwort APDU im Fehlerfall Trailer ´69 85´ ´6A 88´ ´6A 81´ ´69 82´ ´6A 80´ Inhalt NoKeyReference KeyNotFound UnsupportedFunction SecurityStatusNotSatisfied VerificationError Beschreibung kein Schlüssel für MAC Berechnung ausgewählt kein Schlüssel für MAC Berechnung vorhanden Schlüssel unterstützt den angegeben Algorithmus nicht Zugriffsregel nicht erfüllt MAC Prüfung fehlgeschlagen Hinweis (10) Diese Tabelle enthält keine Fehler, die in den Komponenten I/O, ChannelSwitch und SecMes in [gemSpec_eGK_P1#Abbildung 1] entdeckt wurden. (N096.360) K_SMC–A/B, K_SMC–K Ein COS KANN zusätzliche Trailer verwenden. 5.3.17.3 Kommandoabarbeitung innerhalb der Karte (N096.363) K_SMC–A/B, K_SMC–K Das COS MUSS die PSO Verify CC Variante aus 5.3.17.1 unterstützen. Das COS KANN weitere PSO Verify CC Varianten unterstützen. Das COS KANN weitere PSO Verify CC Varianten ablehnen. (N096.366) K_SMC–A/B, K_SMC–K Wenn channelContext.keyReferenceList.macCalculation a. leer ist, genau dann MUSS das Kommando mit dem Trailer NoKeyReference terminieren. b. nicht leer ist, dann wird affectedObject = SearchKey( currentFolder, channelContext.keyReferenceList.macCalculation.keyReference, channelContext.keyReferenceList.macCalculation.algID ) gesetzt. Gemäß (N021.540) sowie [gemSpec_eGK_P1#10.2.3 und (N104.300)] KANN es vorkommen, dass die Schlüsselsuche nicht erfolgreich ist. Wenn die Schlüsselsuche mit den Fehler 1. keyNotFound meldet, genau dann MUSS das Kommando mit dem Trailer KeyNotFound terminieren. 2. notSupported meldet, genau dann MUSS das Kommando mit dem Trailer UnsupportedFunction terminieren. Seite 35 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K (N096.369) K_SMC–A/B, K_SMC–K Wenn AccessRuleEvaluation( affectedObject, CLA, INS, P1, P2 ) den Wert False zurückliefert, genau dann MUSS das Kommando mit dem Trailer SecurityStatusNotSatisfied terminieren. (N096.372) K_SMC–A/B, K_SMC–K Es gilt: a. inputTemplate = ´80 – L80 – data || 8E – L8E – mac´ (N096.375) K_SMC–A/B, K_SMC–K Mit den Attributen SSCmac und Kmac aus dem Attribut SessionkeyContext des aktuellen channelContext des logischen Kanals gilt: a. SSCmac = SSCmac + 1. b. result = VERIFY_Retail_MAC(Kmac, mac, I2OS( SSCmac, 8) || data ). (N096.378) K_SMC–A/B, K_SMC–K Falls result den Wert a. INVALID besitzt, genau dann MUSS als Trailer VerificationError verwendet werden. b. VALID besitzt, genau dann MUSS als Trailer NoError verwendet werden. (N096.381) K_SMC–A/B, K_SMC–K Für die Priorität der Trailer gilt: a. Die Priorität der Trailer in Tabelle 12 ist herstellerspezifisch. b. Jeder Trailer in Tabelle 12 MUSS eine höhere Priorität als NoError haben. 5.3.18 GET RANDOM Das Kommando GET RANDOM erzeugt eine Zufallszahl. Im Unterschied zu GET CHALLENGE steht diese Zufallszahl nach Abschluss des Kommandos kartenintern nicht für weitere Aktionen zur Verfügung. Dafür erfüllt die mittels GET RANDOM erzeugte Zufallszahl gewisse Sicherheitsanforderungen (siehe (N098.766)b). 5.3.18.1 Use Case Erzeugen kryptographisch sicherer Zufallszahl In dieser Variante enthält die APDU des GET RANDOM Kommandos einen Parameter: (N098.730) K_externeWelt {K_SMC–A/B, K_SMC–K} Der Parameter length bestimmt die Länge der erwarteten Antwortdaten. Der Wert von length MUSS aus dem in [gemSpec_eGK_P1#12.5.6] definierten Bereich gewählt werden. (N098.732) K_externeWelt {K_SMC–A/B, K_SMC–K} Es MUSS eine Case 2 Kommando APDU gemäß [gemSpec_eGK_P1#12.7.2] über die Schnittstelle „Interpreter“ geschickt werden. Für die Konstruktion dieser Case 2 Kommando APDU MÜSSEN die Angaben aus Tabelle 13 verwendet werden. Seite 36 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Tabelle 13: GET RANDOM CLA INS P1 P2 Ne Inhalt Beschreibung ´80´ ´84´ ´00´ ´00´ length CLA Byte gemäß [ISO7816–4] wird hier „proprietary“ angezeigt Instruction Byte gemäß [ISO7816–4] (identisch zu GET CHALLENGE) – – Anzahl der erwarteten Oktette in den Antwortdaten 5.3.18.2 Antwort der Karte auf Erzeugen einer kryptographisch sicheren Zufallszahl Tabelle 14: GET RANDOM Antwort APDU im Erfolgsfall Daten Inhalt Beschreibung ´XX…YY´ random Zufallszahl Trailer Inhalt Beschreibung ´90 00´ NoError erfolgreiche Erzeugung einer Zufallszahl Tabelle 15: GET RANDOM Antwort APDU im Fehlerfall Trailer Inhalt Beschreibung ´69 82´ SecurityStatusNotSatisfied Zugriffsregel nicht erfüllt Hinweis (1): Diese Tabelle enthält keine Fehler, die in den Komponenten I/O, ChannelSwitch und SecMes aus [gemSpec_eGK_P1#Abbildung 1] entdeckt wurden. (N098.750) K_SMC–A/B, K_SMC–K Ein COS KANN zusätzliche Trailer verwenden. 5.3.18.3 Kommandoabarbeitung innerhalb der Karte (N098.754) K_SMC–A/B, K_SMC–K Das COS MUSS die GET RANDOM Variante aus 5.3.18.1 unterstützen. Das COS KANN weitere GET RANDOM Varianten unterstützen. Das COS KANN weitere GET RANDOM Varianten ablehnen. (N098.758) K_SMC–A/B, K_SMC–K Als affectedObject MUSS currentFolder verwendet werden. (N098.762) K_SMC–A/B, K_SMC–K Wenn AccessRuleEvaluation( affectedObject, CLA, INS, P1, P2 ) den Wert False zurückliefert, genau dann MUSS das Kommando mit dem Trailer SecurityStatusNotSatisfied terminieren. (N098.766) K_SMC–A/B, K_SMC–K Das COS MUSS a. einen zufälligen Oktettstring random mit length Oktett erzeugen und b. die Güte dieser Zufallszahl MUSS mindestens [gemSpec_Krypt#5.2] entsprechen. (N098.770) K_SMC–A/B, K_SMC–K Als Trailer MUSS NoError gewählt werden. (N098.774) K_SMC–A/B, K_SMC–K Das Datenfeld der Antwortnachricht enthält random. Seite 37 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 5.3.19 MANAGE CHANNEL Dieses Kapitel ersetzt [gemSpec_eGK_P1#15.9.5]. Das Kommando MANAGE CHANNEL dient dem Öffnen und Schließen von logischen Kanälen mit einer von null verschiedenen Kanalnummer. Ob ein Kanal geöffnet oder welcher Kanal geschlossen wird, bestimmen Parameter, die diesem MANAGE CHANNEL Kommando beigefügt sind. (N099.500) K_externeWelt {K_HBA, K_SMC–A/B, K_SMC–K} Ein zusätzlich zum Basiskanal 0 geöffneter logischer Kanal KANN Einfluss auf die Kommandoausführung haben, wenn diese Kommandos auf Objekte zugreifen, die in anderen logischen Kanälen aktiv sind. Deshalb gilt folgende Anforderung, die von der Kommando APDU schickenden Einheit einzuhalten ist: Die Kommandos DELETE, ACTIVATE und DEACTIVATE DÜRFEN NICHT an das COS gesendet werden, wenn außer dem Basiskanal noch ein weiterer logischer Kanal geöffnet ist. 5.3.19.1 Use Case Öffnen eines logischen Kanals In dieser Variante enthält die APDU des MANAGE CHANNEL drei Parameter: (N099.503) K_externeWelt {K_HBA, K_SMC–A/B, K_SMC–K} Der Parameter logicalChannelNumber enthält die Nummer des Kanals, in welchem dieses Kommando auszuführen ist. Der Wert von logicalChannelNumber MUSS null sein und MUSS gemäß [ISO7816–4] Kapitel 5.1.1 ins CLA Byte der APDU eingestellt werden, die an der Schnittstelle „Interface I/O“ sichtbar ist. (N099.506) K_externeWelt {K_HBA, K_SMC–A/B, K_SMC–K} Der Parameter intendedAction zeigt an, dass ein logischer Kanal zu öffnen ist wobei die Kanalnummer vom COS bestimmt wird. Der Wert von intendedAction MUSS 0 = ´0000´ sein. (N099.509) K_externeWelt {K_HBA, K_SMC–A/B, K_SMC–K} Der Parameter length bestimmt die Länge der erwarteten Antwortdaten. Der Wert von length MUSS 1 = ´01´ sein. (N099.512) K_externeWelt {K_HBA, K_SMC–A/B, K_SMC–K} Es MUSS eine Case 2 Kommando APDU gemäß [gemSpec_eGK_P1#12.7.2.1] über die Schnittstelle „Interpreter“ geschickt werden. Für die Konstruktion dieser Case 2 Kommando APDU MÜSSEN die Angaben aus Tabelle 16 verwendet werden. Tabelle 16: MANAGE CHANNEL zum Öffnen eines logischen Kanals CLA INS P1 P2 Ne Inhalt ´00´ ´70´ ´00´ ´00´ ´01´ Beschreibung CLA Byte gemäß [ISO7816–4] Instruction Byte gemäß [ISO7816–4] intendedAction, hier Öffnen eines Kanals, Kanalnummer wird vom COS bestimmt. Anzahl der erwarteten Oktette in den Antwortdaten Seite 38 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 5.3.19.2 Use Case Schließen eines logischen Kanals In dieser Variante enthält die APDU des MANAGE CHANNEL Kommandos zwei Parameter: (N099.530) K_externeWelt {K_HBA, K_SMC–A/B, K_SMC–K} Der Parameter logicalChannelNumber MUSS die Nummer eines geöffneten Kanals enthalten, der zu schließen ist. Der Wert von logicalChannelNumber MUSS von null verschieden sein und MUSS gemäß [ISO7816–4] Kapitel 5.1.1 ins CLA Byte der APDU eingestellt werden, die an der Schnittstelle „Interface I/O“ sichtbar ist. (N099.533) K_externeWelt {K_HBA, K_SMC–A/B, K_SMC–K} Der Parameter intendedAction zeigt an, dass ein logischer Kanal zu schließen ist wobei die Kanalnummer im CLA Byte übertragen wird. Der Wert von intendedAction MUSS 32768 = ´8000´ sein. (N099.536) K_externeWelt {K_HBA, K_SMC–A/B, K_SMC–K} Es MUSS eine Case 1 Kommando APDU gemäß [gemSpec_eGK_P1#12.7.1] über die Schnittstelle „Interface I/O“ geschickt werden. Für die Konstruktion dieser Case 1 Kommando APDU MÜSSEN die Angaben aus Tabelle 17 verwendet werden. Tabelle 17: MANAGE CHANNEL zum Schließen eines Kanals CLA Inhalt ´XX´ INS P1 P2 ´70´ ´80´ ´00´ Beschreibung CLA Byte gemäß [ISO7816–4] mit einer von 0 verschiedenen Kanalnummer Instruction Byte gemäß [7816–4] intendedAction, hier Schließen eines Kanals, betroffener Kanal wird im CLA Byte angezeigt. 5.3.19.3 Antwort der Karte auf Kanalmanagementoperationen Tabelle 18: MANAGE CHANNEL Antwort APDU im Erfolgsfall Daten Kanalnr. Trailer ´90 00´ Inhalt ´XX´ Inhalt NoError Beschreibung Nummer des soeben geöffneten Kanals Beschreibung erfolgreiche Operation Tabelle 19: MANAGE CHANNEL Antwort APDU im Fehlerfall Trailer ´68 81´ Inhalt NoMoreChannelsAvailable Beschreibung kein weiterer logischen Kanäle verfügbar Hinweis (11) Diese Tabelle enthält keine Fehler, die in den Komponenten I/O, ChannelSwitch und SecMes in [gemSpec_eGK_P1#Abbildung 1] entdeckt wurden. (N099.540) K_HBA, K_SMC–A/B, K_SMC–K Ein COS KANN zusätzliche Trailer verwenden. 5.3.19.4 Kommandoabarbeitung innerhalb der Karte (N099.542) K_HBA, K_SMC–A/B, K_SMC–K Das COS MUSS die MANAGE CHANNEL Varianten aus Kapitel 5.3.19.1 und 5.3.19.2 unterstützen. Das COS KANN weitere MANAGE CHANNEL Varianten unterstützen. Das COS KANN weitere MANAGE CHANNEL Varianten ablehnen. Seite 39 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K (N099.545) K_Anwendungsspezifikation {K_HBA, K_SMC–A/B, K_SMC–K} Die Zugriffsbedingung für alle MANAGE CHANNEL Varianten MUSS ALWAYS sein. (N099.548) K_HBA, K_SMC–A/B, K_SMC–K Wenn intendedAction das Öffnen eines Kanals anzeigt a. und bereits alle verfügbaren logischen Kanäle geöffnet sind, dann MUSS das Kommando mit dem Trailer NoMoreChannelsAvailable terminieren, b. andernfalls MUSS das COS 1. eine nicht verwendete Kanalnummer newChannelNumber allokieren, 2. einen weiteren logischen Kanal öffnen, 3. diesem die allokierte Nummer newChannelNumber zuweisen und 4. dessen Kanalkontext entsprechend [gemSpec_eGK_P1#(N030.100)] initialisieren. c. Als Datenfeld der Antwortnachricht MUSS I2OS( newChannelNumber, 1) verwendet werden. (N099.551) K_HBA, K_SMC–A/B, K_SMC–K Wenn intendedAction das Schließen eines Kanals anzeigt a. dann MUSS der entsprechende logische Kanal geschlossen werden und b. die freiwerdende Kanalnummer MUSS für zukünftige Allokationen verfügbar sein. c. Das Datenfeld der Antwortnachricht MUSS leer sein. (N099.554) K_HBA, K_SMC–A/B, K_SMC–K Für die Priorität der Trailer gilt: a. Die Priorität der Trailer in Tabelle 19 ist herstellerspezifisch. b. Jeder Trailer in Tabelle 19 MUSS eine höhere Priorität als NoError haben. 5.3.20 MANAGE SECURITY ENVIRONMENT Dieses Kapitel ergänzt [gemSpec_eGK_P1#15.9.6] um weitere Use Cases. 5.3.20.1 Use Case Schlüsselauswahl zur internen, symmetrischen Authentisierung Diese Kapitel ersetzt [gemSpec_eGK_P1#(N100.200)] und [gemSpec_eGK_P1#(N100.300)]. (N100.200) K_externeWelt Der Parameter keyRef enthält den neuen Wert für das Element keyReference im Listenelement internalAuthenticate. Wert und Kodierung MÜSSEN a. {K_eGK, K_HBA, K_SMC–A/B, K_SMC–K} entweder gemäß [gemSpec_eGK_P1#(N099.600)] gewählt werden, oder b. {K_HBA, K_SMC–A/B, K_SMC–K} gemäß (N019.830) gewählt werden. (N100.300) K_externeWelt Der Parameter algId enthält den neuen Wert für das Element algorithmIdentifier im Listenelement internalAuthenticate. Wert und Kodierung MÜSSEN gemäß [gemSpec_eGK_P1#Tabelle 166]gewählt werden, wobei ein Wert aus der Menge { Seite 40 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K desRoleAuthentication, {K_eGK, K_HBA, K_SMC–A/B, K_SMC–K} desSessionkey4TC { K_SMC–A/B, K_SMC–K} } verwendet werden MUSS. Das COS KANN weitere Werte für algId akzeptieren. Das COS KANN weitere Werte für algId ablehnen. 5.3.20.2 Use Case Schlüsselauswahl zur internen, asymmetrischen Authentisierung Diese Kapitel ersetzt [gemSpec_eGK_P1#(N100.800)]. (N100.800) K_externeWelt Der Parameter algId enthält den neuen Wert für das Element algorithmIdentifier im Listenelement internalAuthenticate. Wert und Kodierung MÜSSEN gemäß [gemSpec_eGK_P1# Tabelle 166] gewählt werden, wobei ein Wert aus der Menge { rsaClientAuthentication, {K_eGK, K_HBA, K_SMC–A/B, K_SMC–K} rsaRoleAuthentication, {K_eGK, K_HBA, K_SMC–A/B, K_SMC–K} rsaSessionkey4Intro, { K_HBA, K_SMC–A/B, K_SMC–K} rsaSessionkey4SM, {K_eGK, K_HBA, K_SMC–A/B, K_SMC–K} rsaSessionkey4TC, { K_SMC–A/B, K_SMC–K} signPKCS1_V1_5 {K_eGK, K_HBA, K_SMC–A/B, K_SMC–K} } verwendet werden MUSS. Das COS KANN weitere Werte für algId akzeptieren. Das COS KANN weitere Werte für algId ablehnen. 5.3.20.3 Use Case Schlüsselauswahl zur externen, symmetrischen Authentisierung Diese Kapitel ersetzt [gemSpec_eGK_P1#(N101.200)] und [gemSpec_eGK_P1#(N101.300)]. (N101.200) K_externeWelt Der Parameter keyRef enthält den neuen Wert für das Element keyReference im Listenelement externalAuthenticate. Wert und Kodierung MÜSSEN a. {K_eGK, K_HBA, K_SMC–A/B, K_SMC–K} entweder gemäß [gemSpec_eGK_P1#(N099.600)] gewählt werden, oder b. {K_HBA, K_SMC–A/B, K_SMC–K} gemäß (N019.830) gewählt werden. (N101.300) K_externeWelt Der Parameter algId enthält den neuen Wert für das Element algorithmIdentifier im Listenelement externalAuthenticate. Wert und Kodierung MÜSSEN gemäß [gemSpec_eGK_P1#Tabelle 166] gewählt werden, wobei ein Wert aus der Menge { desRoleCheck, {K_eGK, K_HBA, K_SMC–A/B, K_SMC–K} desSessionkey4TC { K_SMC–A/B, K_SMC–K} } verwendet werden MUSS. Das COS KANN weitere Werte für algId akzeptieren. Das COS KANN weitere Werte für algId ablehnen. 5.3.20.4 Use Case Schlüsselauswahl zur externen, asymmetrischen Authentisierung Diese Kapitel ersetzt [gemSpec_eGK_P1#(N101.800)]. (N101.800) K_externeWelt Der Parameter algId enthält den neuen Wert für das Element algorithmIdentifier im Listenelement externalAuthenticate. Wert und Kodierung MÜSSEN gemäß Seite 41 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K [gemSpec_eGK_P1#Tabelle 166] gewählt werden, wobei ein Wert aus der Menge { rsaRoleCheck, {K_eGK, K_HBA, K_SMC–A/B, K_SMC–K} rsaSessionkey4Intro, { K_HBA, K_SMC–A/B, K_SMC–K} rsaSessionkey4SM, {K_eGK, K_HBA, K_SMC–A/B, K_SMC–K} rsaSessionkey4TC, { K_SMC–A/B, K_SMC–K} } verwendet werden MUSS. Das COS KANN weitere Werte für algId akzeptieren. Das COS KANN weitere Werte für algId ablehnen. 5.3.20.5 Use Case Schlüsselauswahl zur symmetrischen, gegenseitigen Authentisierung Diese Kapitel ersetzt [gemSpec_eGK_P1#(N102.200)]. (N102.200) K_externeWelt Der Parameter keyRef enthält den neuen Wert für das Element keyReference im Listenelement externalAuthenticate. Wert und Kodierung MÜSSEN a. {K_eGK, K_HBA, K_SMC–A/B, K_SMC–K} entweder gemäß [gemSpec_eGK_P1#(N099.600)] gewählt werden, oder b. {K_HBA, K_SMC–A/B, K_SMC–K} gemäß (N019.830) gewählt werden. Hinweis (12) Es ist nicht erforderlich die normative Forderung [gemSpec_eGK_P1#(N102.300)] zu ändern oder zu erweitern, weil das Kommando MUTUAL AUTHENTICATE stets zur Etablierung von Sessionkeys für Secure Messaging verwendet wird. Seite 42 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 6 Lebenszyklus von Karte und Applikation (informativ) Hinweis (13) Die in diesem Kapitel verwendeten Begriff Vorbereitungsphase und Nutzungsphase werden in [gemSpec_eGK_P1] Kapitel 5 definiert. Diese Spezifikation gilt nicht für die Vorbereitungsphase von Applikationen oder deren Bestandteile. Sie beschreibt lediglich den Zustand des Objektsystems in der Nutzungsphase. Die Nutzungsphase einer Applikation oder eines Applikationsbestandteils beginnt, sobald sich ein derartiges Objekt, wie in der Spezifikation der Anwendung definiert, verwenden lässt. Die Nutzungsphase einer Applikation oder eines Applikationsbestandteils endet, wenn das entsprechende Objekt gelöscht oder terminiert wird. Seite 43 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 7 Anwendungsübergreifende Festlegungen (normativ) 7.1 Attributstabellen (N980.100) K_Personalisierung Die in diesem Dokument definierten Zugriffsregeln DÜRFEN in der Nutzungsphase (siehe Kapitel 4) NICHT veränderbar sein. (N980.200) K_Personalisierung Der Terminus „alle SE“ bedeutet, dass Objekte sich in SE#1 wie angegeben verwenden lassen MÜSSEN. Diese Objekte KÖNNEN in anderen SE verwendet werden und MÜSSEN dort dieselben Eigenschaften wie in SE#1 besitzen. 7.1.1 Attribute eines Ordners (N980.300) K_Personalisierung Enthält eine Tabelle mit Ordnerattributen a. keinen applicationIdentifier (AID), so KANN diesem Ordner herstellerspezifisch ein beliebiger AID zugeordnet werden. b. einen oder mehrere AID, dann MUSS sich dieser Ordner mittels aller angegebenen AID selektieren lassen. c. keinen fileIdentifier (FID), 1. so DARF dieser Ordner sich NICHT mittels eines fileIdentifier aus dem Intervall gemäß [gemSpec_eGK_P1] Kapitel 9.1.1 selektieren lassen, es sei denn es handelt sich um den Ordner root, dessen optionaler fileIdentifier den Wert ´3F00´beistzen MUSS. 2. so KANN diesem Ordner ein beliebiger fileIdentifier außerhalb des Intervalls gemäß [gemSpec_eGK_P1] Kapitel 9.1.1 zugeordnet werden. 7.1.2 Attribute einer Datei (EF) (N980.400) K_Personalisierung Enthält eine Tabelle mit Attributen einer Datei keinen shortFileIdentifier, so DARF sich dieses EF NICHT mittels shortFileIdentifier aus dem Intervall gemäß [gemSpec_eGK_P1] Kapitel 9.1.2 selektieren lassen. 7.2 Zugriffsregeln für besondere Kommandos Gemäß[gemSpec_eGK_P1] gilt: (N980.500) K_Personalisierung Die Zugriffsbedingung für die Kommandos GET CHALLENGE, MANAGE SECURITY ENVIRONMENT und SELECT MUSS stets ALWAYS sein, unabhängig vom lifeCycleStatus und unabhängig vom aktuellen Security Environment. Seite 44 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8 Dateisystem der SMC–K (normativ) Dieses Kapitel beschreibt die Konfiguration des Dateisystems, wobei folgende Applikationen berücksichtigt werden: • MF siehe Kapitel 8.2 • DF.AK siehe Kapitel 8.3 • DF.NK siehe Kapitel 8.4 • DF.SAK siehe Kapitel 8.5 (N984.000) K_Personalisierung Alle normativen Anforderungen des Kapitels 8 und seiner Unterkapitel MÜSSEN für SMC–K gelten. (N984.100) K_Personalisierung Die SMC–K KANN Applikationen enthalten, die in diesem Dokument nicht genannt sind. (N984200) K_Personalisierung Die SMC–K KANN außer den in diesem Dokument genannten Applikationen keine weiteren Applikationen enthalten. 8.1 Attribute des Objektsystems Das Objektsystem gemäß [gemSpec_eGK_P1] enthält folgende Attribute: (N984.300) K_Personalisierung Der Wert des Attributes root MUSS die Anwendung gemäß Tabelle 22 sein. (N984.400) K_Personalisierung Der Wert des Attributes answerToReset MUSS gemäß Kapitel 8.1.1 sein. (N984.500) K_Personalisierung Der Wert des Attributes iccsn8 MUSS identisch zu den letzten acht Oktetten im body von EF.GDO sein (siehe Kapitel 8.2.4). (N984.600) K_Personalisierung Das Attribut persistentPublicKeyList MUSS den Schlüssel PuK.RCA.CS enthalten (siehe Tabelle 28). (N984.700) K_Personalisierung Das Attribut persistentIntroductionKeyList MUSS in der Lage sein, mindestens 100 Listenelemente zu speichern. 8.1.1 Answer To Reset Tabelle 20: ATR Kodierung Zeichen TS T0 Wert ´3B´ ´9x´ Bedeutung Initial Character (direct convention) Format Character (TA1/TD1 indication, x = no. of HB) Seite 45 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Zeichen TA1 TD1 TD2 TA3 TB3 TD3 TA4 Ti TCK Wert ´xx´ ´81´ ´B1´ ´FE´ ´45´ ´1F´ ´xx´ HB XOR Bedeutung Interface Character (FI/DI, erlaubte Werte: siehe [gemSpec_eGK_P1]) Interface Character, (T=1, TD2 indication) Interface Character, (T=1, TA3/TB3/TD3 indication) Interface Character (IFSC coding) Interface Character, (BWI/CWI coding) Interface Character, (T=15, TA4 indication) Interface Character (XI/UI coding) Historical Bytes (HB, imax. = 15) Check Character (exclusive OR) (N984.800) K_Personalisierung Der ATR SOLL ein TC1 Byte mit dem Wert ´FF´ enthalten. In diesem Fall MUSS T0 auf den Wert ´Dx´ gesetzt werden. (N984.900) K_Personalisierung Die Historical Bytes MÜSSEN gemäß [ISO7816–4] kodiert werden. Tabelle 21: Beispielhafte Kodierung der Historical Bytes Zeichen CI TPI TCS TCC CLS Bedeutung ‘00’ gemäß [ISO7816–4] ‘6x’ gemäß [ISO7816–4] (x kodiert die Länge des DO), Wertfeld gemäß (N985.200) ‘31’ gemäß [ISO7816–4], Wertfeld ist Card Service Data Byte gemäß [ISO7816–4] ‘73’ gemäß [ISO7816–4], Wertfeld ist Card Capabilities Data Bytes gemäß [ISO7816–4], Anzeige von unterstützten logischen Kanälen, Extended Le–Feld, …) Card Life Cycle (Default–Wert ‘00’) 8.2 Root, die Wurzelapplikation Diese Applikation beinhaltet allgemeine Datenelemente und Informationen, die dem Betrieb der Chipkarte als solche dienen, oder allen Anwendungen gleichermaßen zur Verfügung stehen. Tabelle 22: Attribute / MF Attribute Wert Objekttyp Ordner AID ´D276 0001 4480 01´ FID ´3F 00´ lifeCycleStatus „Operational state (activated)“ Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung SELECT ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung Bemerkung Bemerkung Hinweis (14) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem Ordnerobjekt arbeiten sind: ACTIVATE, DEACTIVATE, DELETE, LOAD APPLICATION, SELECT Seite 46 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Hinweis (15) Da sich weder dieser Ordner noch der übergeordnete Ordner deaktivieren lassen, braucht dieser Zustand für Objekte im Kapitel 8.2 nicht berücksichtigt werden. Abbildung 3: Dateistruktur einer SMC–K auf oberster Ebene 8.2.1 / MF / EF.ATR Die transparente Datei EF.ATR enthält Informationen zur maximalen Größe einer APDU in Sende- und Empfangsrichtung sowie zur Identifizierung des Betriebssystems. Tabelle 23: Attribute / MF / EF.ATR Attribute Wert Objekttyp transparentes Elementary File fileIdentifier ´2F 01´ shortFileIdentifier ´1D´ = 29 numberOfBytes herstellerspezifisch flagTransactionMode False flagChecksum True lifeCycleStatus „Operational state (activated)“ body ´XX…YY´ Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung READ BINARY ALWAYS SELECT ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung siehe Hinweis (17) siehe unten Bemerkung Bemerkung Hinweis (16) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem transparenten EF arbeiten sind: ACTIVATE, DEACTIVATE, DELETE, ERASE BINARY, READ BINARY, SELECT, UPDATE BINARY Hinweis (17) Der Wert des Attributs fileIdentifier ist in [ISO7816–4] festgelegt. Seite 47 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Für das Attribut body gelten folgende Festlegungen: (N985.000) K_Personalisierung Der Oktettstring body MUSS DER–TLV kodierte Datenobjekte (DO) enthalten, welche lückenlos hintereinander konkateniert werden MÜSSEN. (N985.100) K_Personalisierung In body MUSS an erster Stelle genau ein DO_BufferSize mit folgenden Eigenschaften enthalten sein: a. Tag = ´E0´. b. DO_Buffersize MUSS genau vier DO mit einem Tag ´02´ enthalten. Der Tag ´02´ bezeichnet einen Integer Wert, der gemäß [ISO8825–1] Kapitel 8.3 kodiert werden MUSS. c. Das erste DO mit Tag ´02´ gibt die maximale Anzahl der Oktette an, die eine ungesicherte Kommando APDU nicht überschreiten SOLL. d. Das zweite DO mit Tag ´02´ gibt die maximale Anzahl der Oktette an, die eine ungesicherte Antwort nicht überschreiten SOLL. e. Das dritte DO mit Tag ´02´ gibt die maximale Anzahl der Oktette an, die eine gesicherte Kommando APDU nicht überschreiten SOLL. f. Das vierte DO mit Tag ´02´ gibt die maximale Anzahl der Oktette an, die eine gesicherte Antwort nicht überschreiten SOLL. (N985.200) K_Personalisierung In body MUSS an zweiter Stelle genau ein DO_CardData mit folgenden Eigenschaften enthalten sein: a. Tag = ´66´. b. Das Wertfeld von DO_CardData MUSS genau ein DO_PreIssuingData mit folgenden Eigenschaften enthalten sein: 1. Tag = ´46´. 2. Das erste Oktett des Wertfeldes MUSS die Chiphersteller ID gemäß [ISO_SD5] enthalten. 3. Die Oktette zwei bis sechs MÜSSEN die Kartenhersteller–ID enthalten. Anträge unter http://www.sit.fraunhofer.de/ bzw. http://141.12.72.35/_karten_ident/SIT/pdfs/ICCM_Antrag_2006.pdf. 4. Weitere Oktette sind herstellerspezifisch zu kodieren und SOLLEN eine Betriebssystemversion eineindeutig referenzieren. c. Das Wertfeld von DO_CardData KANN weitere DER–TLV kodierte Datenobjekte enthalten sein. (N985.300) K_Personalisierung In body KÖNNEN weitere DER–TLV kodierte Datenobjekte enthalten sein. Seite 48 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8.2.2 / MF / EF.C.CA_SAK.CS Diese Datei enthält ein CV–Zertifikat gemäß [gemPKI_Reg] und [gemSpec_eGK_P1], welches den öffentlichen Schlüssel PuK.CA_SAK.CS einer CA enthält. Das Zertifikat lässt sich mittels PuK.RCA.CS (siehe Kapitel 8.2.6) prüfen. Der im Zertifikat enthaltene öffentliche Schlüssel dient der Verifizierung von weiteren Zertifikaten, die im Dateisystem enthalten sind (siehe zum Beispiel Kapitel 8.5.1). Tabelle 24: Attribute / MF / EF.C.CA_SAK.CS Attribute Wert Objekttyp transparentes Elementary File fileIdentifier ´2F 04´ shortFileIdentifier ´04´ = 4 numberOfBytes ´014B´ Oktett = 331 Oktett flagTransactionMode False flagChecksum False lifeCycleStatus „Operational state (activated)“ body ´7F21 820146 XX...YY´ Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung READ BINARY ALWAYS SELECT ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung wird personalisiert Bemerkung Bemerkung Hinweis (18) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem transparenten EF arbeiten sind: ACTIVATE, DEACTIVATE, DELETE, ERASE BINARY, READ BINARY, SELECT, UPDATE BINARY Seite 49 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8.2.3 / MF / EF.DIR Die Datei EF.DIR enthält eine Liste mit Anwendungstemplates gemäß [ISO7816–4]. Tabelle 25: Attribute / MF / EF.DIR Attribute Wert Objekttyp linear variables Elementary File fileIdentifier ´2F 00´ shortFileIdentifier ´1E´ = 30 numberOfBytes herstellerspezifisch maxNumRecords herstellerspezifisch maxRecordLength herstellerspezifisch flagRecordLCS False flagTransactionMode False flagChecksum True lifeCycleStatus „Operational state (activated)“ recordList Rekord 1 ´61 09 (4F 06 D27600014480 01)´ Rekord 2 ´61 08 (4F 06 D27600000102)´ Rekord 3 … … Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung READ RECORD ALWAYS SEARCH RECORD SELECT ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung siehe Hinweis (20) siehe Hinweis (20) root, siehe 8.2 SAK, siehe 8.5 siehe Hinweis (21) Bemerkung Bemerkung Hinweis (19) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem linear variablen EF arbeiten sind: ACTIVATE, ACTIVATE RECORD, DEACTIVATE, DEACTIVATE RECORD, DELETE, APPEND RECORD, ERASE RECORD, READ RECORD, SEARCH RECORD, SELECT, UPDATE RECORD Hinweis (20) Die Werte von fileIdentifier und shortFileIdentifier sind in [ISO7816–4] festgelegt. Hinweis (21) Weitere Records existieren nur, wenn optionale Applikationen vorhanden sind. Seite 50 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8.2.4 / MF / EF.GDO In EF.GDO wird das Datenobjekt ICCSN gespeichert, welches die Kennnummer der Karte enthält. Tabelle 26: Attribute / MF / EF.GDO Attribute Wert Objekttyp transparentes Elementary File fileIdentifier ´2F 02´ shortFileIdentifier ´02´ = 2 numberOfBytes ´000C´ Oktett = 12 Oktett flagTransactionMode False flagChecksum True lifeCycleStatus „Operational state (activated)“ body ´5A 0A XX...YY´ Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung READ BINARY ALWAYS SELECT ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung wird personalisiert Bemerkung Bemerkung Hinweis (22) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem transparenten EF arbeiten sind: ACTIVATE, DEACTIVATE, DELETE, ERASE BINARY, READ BINARY, SELECT, UPDATE BINARY Das Attribut body enthält die Seriennummer der Karte. Dabei gilt: (N985.400) K_Personalisierung In body MUSS genau ein DER–TLV kodiertes Datenobjekt DO_ICCSN mit folgenden Eigenschaften enthalten sein: a. Tag = ´5A´ und Längenfeld = ´0A´. b. Für das Wertfeld MUSS gelten: 1. Das erste Oktett MUSS den Major Industry Identifer (MII) mit dem Wert ´80´ enthalten, welcher eine Gesundheitskarte kennzeichnet (siehe [EN 1867]). 2. Die nächsten drei Nibble MÜSSEN den Country Code Deutschlands mit dem Wert ´276´enthalten (siehe [ISO3166]). 3. Die nächsten fünf Nibble MÜSSEN den Issuer Identifer enthalten. 4. Die restlichen 5 Oktette MÜSSEN BCD kodiert eine Seriennummer enthalten. Hinweis (23) Die Kennung eines Kartenherausgebers (Issuer Identifier) erlaubt in Verbindung mit dem Ländercode eine weltweit eineindeutige Identifizierung des Kartenherausgebers. In Verbindung mit der Seriennummer ist es deshalb möglich, eine Karte weltweit eineindeutig zu referenzieren. Hinweis (24) Die Kennung des Kartenherausgebers entsprechend [EN 1867] wird in Deutschland im Auftrag des DIN durch GS1 Germany GmbH, Köln (www.gs1-germany.de) vergeben. Der Kartenherausgeber ist gewöhnlich der rechtmäßige Besitzer der ausgegebenen Karte. Seite 51 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8.2.5 / MF / EF.Version Diese Datei enthält Informationen zur Version des Betriebssystems und zur Version des Dateisystems. Tabelle 27: Attribute / MF / EF.Version Attribute Wert Objekttyp linear fixes Elementary File fileIdentifier ´2F 10´ shortFileIdentifier ´10´ = 16 maxNumRecords 2 Rekord maxRecordLength 5 Oktett flagRecordLCS False flagTransactionMode False flagChecksum True lifeCycleStatus „Operational state (activated)“ recordList Rekord 1 ´XX…YY´ Rekord 2 ´XX…YY´ … … Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung READ RECORD ALWAYS SEARCH RECORD SELECT ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung siehe Hinweis (26) Versionsnummer siehe Hinweis (28) siehe Hinweis (28) siehe Hinweis (26) Bemerkung Bemerkung Hinweis (25) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem linear variablen EF arbeiten sind: ACTIVATE, ACTIVATE RECORD, DEACTIVATE, DEACTIVATE RECORD, DELETE, APPEND RECORD, ERASE RECORD, READ RECORD, SEARCH RECORD, SELECT, UPDATE RECORD Hinweis (26) Diese Datei MUSS mindestens zwei Records enthalten. Sie KANN mehr Records enthalten. Der Inhalt weiterer Records ist herstellerspezifisch. Hinweis (27) Eine Versionsnummer wird wie folgt zum Inhalt eines Rekords in EF.Version konvertiert: Die erste und zweite Zahl werden in drei Stellen BCD kodiert. Die dritte Zahl in vier Stellen BCD kodiert. Beispiel: Versionsnummer 5.9.10 à ´0050090010´ = ´005´ || ´009 || ´0010´. Hinweis (28) Record 1 enthält die Versionsnummer des Betriebssystems. Record 2 enthält die Versionsnummer der Dateisystemkonfiguration. Da für die SMC–K derzeit beides in einem Dokument beschrieben ist, sind die beiden Record-Inhalte identisch. Seite 52 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8.2.6 / MF / PuK.RCA.CS Dieses Objekt enthält den öffentlichen Schlüssel der Root–CA, welche an der Wurzel der CVC–Hierarchie steht. Der öffentliche Schlüssel dient der Überprüfung von Zertifikaten, welche von dieser Root–CA ausgestellt wurden (siehe zum Beispiel Kapitel 8.2.2). Tabelle 28: Attribute / MF / PuK.RCA.CS Attribute Wert Objekttyp öffentliches RSA Signaturprüfobjekt keyIdentifier ´XX…YY´, acht Oktette publicKey …, Moduluslänge 2048 Bit oid ´2B24 0304 0202 03´ = {1 3 36 3 4 2 2 3} Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung PSO Verify Cert. ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung wird personalisiert wird personalisiert Bemerkung Bemerkung Hinweis (29) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem öffentlichen Signaturprüfobjekt arbeiten sind: PSO Verify Certificate Seite 53 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8.3 / MF / DF.AK (normativ, optional) Die Anwendung DF.AK enthält kryptographische Objekte des Anwendungskonnektors. Der in dieser Anwendung enthaltene Schlüssel PrK.AK.AUT unterstützt den Aufbau eines TLS-Kanals zwischen dem Anwendungskonnektor und dem Primärsystem oder einem Kartenterminal andererseits. Wegen des erhöhten Schutzbedarfes dieser Verbindungen wird eine Schlüssellänge von 2048 Bit verwendet (siehe [gemSpec_Krypt#5.1.1.8]). Diese Anwendung enthält neben dem vorgenannten Schlüssel PrK.AK.AUT ein Zertifikat C.AK.AUT, welches den öffentlichen Schlüssel PuK.AK.AUT enthält. Es wird als nicht erforderlich angesehen, dass die Anwendung auch Zertifikate höherer Ebenen enthält. (N985.500) K_Personalisierung Die Anwendung DF.AK KANN auf einer SMC–K vorhanden sein. In diesem Sinne sind die Angaben dieses Unterkapitels optional. (N985.600) K_Personalisierung Falls die Anwendung DF.AK auf einer SMC–K vorhanden ist, dann MUSS sie gemäß den Angaben dieses Unterkapitels konfiguriert sein. In diesem Sinne sind die Angaben dieses Unterkapitels normativ. Tabelle 29: Attribute / MF / DF.AK Attribute Wert Objekttyp Ordner applicationIdentifier ´D276 0001 4402´ fileIdentifier herstellerspezifisch lifeCycleStatus „Operational state (activated)“ Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung SELECT ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung Bemerkung Bemerkung Hinweis (30) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem Ordnerobjekt arbeiten sind: ACTIVATE, DEACTIVATE, DELETE, LOAD APPLICATION, SELECT Hinweis (31) Da sich weder dieser Ordner noch der übergeordnete Ordner deaktivieren lassen, braucht dieser Zustand für Objekte im Kapitel 8.3 nicht berücksichtigt werden. Abbildung 4: Dateistruktur der Anwendung DF.AK Seite 54 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8.3.1 / MF / DF.AK / EF.C.AK.AUT Diese Datei enthält ein Zertifikat mit dem öffentlichen Schlüssel PuK.AK.AUT zu PrK.AK.AUT (siehe Kapitel 8.3.2). Der Zertifikatsinhalt wird in [gemX.509_Kon] beschrieben. Tabelle 30: Attribute / MF / DF.AK / EF.C.AK.AUT Attribute Wert Objekttyp transparentes Elementary File fileIdentifier ´C5 03´ shortFileIdentifier ´03´ = 3 numberOfBytes KANN passend zum Dateiinhalt gewählt werden flagTransactionMode False flagChecksum False lifeCycleStatus „Operational state (activated)“ body ´XX…YY´ Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung READ BINARY ALWAYS SELECT ALWAYS UPDATE BINARY ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung wird personalisiert Bemerkung Bemerkung Hinweis (32) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem transparenten EF arbeiten sind: ACTIVATE, DEACTIVATE, DELETE, ERASE BINARY, READ BINARY, SELECT, UPDATE BINARY Seite 55 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8.3.2 / MF / DF.AK / PrK.AK.AUT Dieser Schlüssel ermöglicht den Aufbau eines TLS-Kanals vom Anwendungskonnektor zum Primärsystem, oder vom Anwendungskonnektor zu einem Kartenterminal. Wegen des erhöhten Schutzbedarfes dieser Verbindung wird hier eine Schlüssellänge von 2048 Bit verwendet (siehe [gemSpec_Krypt#5.1.1.8]). Der öffentliche Teil zu diesem privaten Schlüssel ist in EF.C.AK.AUT enthalten (siehe Kapitel 8.3.1). Aus Sicht des Primärsystems handelt der Anwendungskonnektor beim Aufbau der TLSVerbindung als Server. Gemäß [TLS#8.1.1] wird dabei während der Serverauthentisierung eine Entschlüsselung nach [PKCS#1v2.1#7.2.2] durchgeführt. Tabelle 31: Attribute / MF / DF.AK / PrK.AK.AUT Attribute Objekttyp keyIdentifier privateKey algorithmIdentifier Wert privates RSA Objekt ´03´ = 3 …, Moduluslänge 2048 Bit alle Werte aus der Menge, siehe [gemSpec_eGK_P1]: { rsaDecipherPKCS1_V1_5 signPKCS1_V1_5 } Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung INTERNAL AUTH. ALWAYS PSO Decipher ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung wird personalisiert Serverauthent. Clientauthent. Bemerkung Bemerkung Hinweis (33) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem privaten Authentisierungsobjekt arbeiten sind: EXTERNAL AUTHENTICATE, INTERNAL AUTHENTICATE Seite 56 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8.4 / MF / DF.NK (normativ, optional) Die Anwendung DF.NK enthält kryptographische Objekte des Netzkonnektors. Die in dieser Anwendung enthaltenen Schlüssel PrK.NK.VPN.R1024S1 und PrK.NK.VPN.R2048S256 unterstützen den Aufbau einer VPN-Verbindung zum VPNKonzentrator. Weil noch nicht alle VPN-Konzentratoren eine Schlüssellänge von 2048 Bit unterstützen, ist übergangsweise auch ein Schlüssel mit 1024 Bit vorgesehen (vergleiche hierzu auch [gemSpec_Krypt#5.1.1.5]). Sobald im Rahmen der Algorithmen-Migration die VPN-Algorithmen vollständig auf RSA2048/SHA256 umgestellt wurden, wird das RSA1024/SHA1 Zertifikat bzw. die zugehörigen Schlüssel auf SMC-K nicht mehr notwendig sein und in darauf folgenden Versionen der Spezifikation entfallen. Diese Anwendung enthält neben den vorgenannten privaten Schlüsseln pro privatem Schlüssel ein Zertifikat mit dem öffentlichen Schlüssel zum jeweiligen privaten Schlüssel. Es wird als nicht erforderlich angesehen, dass die Anwendung auch Zertifikate höherer Ebenen enthält. (N985.700) K_Personalisierung Die Anwendung DF.NK KANN auf einer SMC–K vorhanden sein. In diesem Sinne sind die Angaben dieses Unterkapitels optional. (N985.800) K_Personalisierung Falls die Anwendung DF.NK auf einer SMC–K vorhanden ist, dann MUSS sie gemäß den Angaben dieses Unterkapitels konfiguriert sein. In diesem Sinne sind die Angaben dieses Unterkapitels normativ. Tabelle 32: Attribute / MF / DF.NK Attribute Wert Objekttyp Ordner applicationIdentifier ´D276 0001 4403´ fileIdentifier herstellerspezifisch lifeCycleStatus „Operational state (activated)“ Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung SELECT ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung Bemerkung Bemerkung Hinweis (34) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem Ordnerobjekt arbeiten sind: ACTIVATE, DEACTIVATE, DELETE, LOAD APPLICATION, SELECT Hinweis (35) Da sich weder dieser Ordner noch der übergeordnete Ordner deaktivieren lassen, braucht dieser Zustand für Objekte im Kapitel 8.4 nicht berücksichtigt werden. Seite 57 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Abbildung 5: Dateistruktur der Anwendung DF.NK 8.4.1 / MF / DF.NK / EF.C.NK.VPN.R1024S1 Diese Datei enthält ein Zertifikat mit dem öffentlichen Schlüssel zu PrK.NK.VPN.R1024S1 (siehe Kapitel 8.4.3). Der Zertifikatsinhalt wird in [gemX.509_Kon] beschrieben. Tabelle 33: Attribute / MF / DF.NK / EF.C.NK.VPN.R1024S1 Attribute Wert Objekttyp transparentes Elementary File fileIdentifier ´C5 04´ shortFileIdentifier ´04´ = 4 numberOfBytes KANN passend zum Dateiinhalt gewählt werden flagTransactionMode False flagChecksum False lifeCycleStatus „Operational state (activated)“ body ´XX…YY´ Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung READ BINARY ALWAYS SELECT ALWAYS UPDATE BINARY ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung wird personalisiert Bemerkung Bemerkung Hinweis (36) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem transparenten EF arbeiten sind: ACTIVATE, DEACTIVATE, DELETE, ERASE BINARY, READ BINARY, SELECT, UPDATE BINARY Seite 58 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8.4.2 / MF / DF.NK / EF.C.NK.VPN.R2048S256 Diese Datei enthält ein Zertifikat mit dem öffentlichen Schlüssel PrK.NK.VPN.R2048S256 (siehe Kapitel 8.4.4). Der Zertifikatsinhalt wird [gemX.509_Kon] beschrieben. zu in Tabelle 34: Attribute / MF / DF.NK / EF.C.NK.VPN.R2048S256 Attribute Wert Objekttyp transparentes Elementary File fileIdentifier ´C5 05´ shortFileIdentifier ´05´ = 5 numberOfBytes KANN passend zum Dateiinhalt gewählt werden flagTransactionMode False flagChecksum False lifeCycleStatus „Operational state (activated)“ body ´XX…YY´ Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung READ BINARY ALWAYS SELECT ALWAYS UPDATE BINARY ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung wird personalisiert Bemerkung Bemerkung Hinweis (37) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem transparenten EF arbeiten sind: ACTIVATE, DEACTIVATE, DELETE, ERASE BINARY, READ BINARY, SELECT, UPDATE BINARY Seite 59 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8.4.3 / MF / DF.NK / PrK.NK.VPN.R1024S1 Dieser Schlüssel ermöglicht den Aufbau eines VPN-Kanals zu einem VPN-Konzentrator, der nicht in der Lage ist, mit einer Schlüssellänge von 2048 Bit zu arbeiten. Dies ist gemäß [gemSpec_Krypt#5.1.1.5] zulässig. Der öffentliche Teil zu diesem Schlüssel ist in EF.C.NK.VPN.R1024S1 enthalten (siehe Kapitel 8.4.1). Es ist vorgesehen, dass der Netzkonnektor die beiden Verfahren (1) " Authentication with Digital Signatures", [IKEv1#5.1] und (2) " Authentication with Public Key Encryption", [IKEv1#5.2] unterstützt. Hinweis (38) [IKEv1#5.1] spricht zwar von "RSA signatures MUST be encoded as a private key encryption in PKCS #1 format and not as a signature in PKCS #1 format", was in der Sprache von [PKCS#1v2.1] wegen des Wortes "encryption" an den Algorithmus RSAES-PKCS1-v1_5 denken lässt. Allerdings ist [IKEv1] im Kontext von [PKCS#1v1.5] geschrieben worden. In [PKCS#1v1.5#9.4] wird in Bullet 3 implizit vorgeschrieben, dass in der Sprache von [PKCS#1v2.11] nicht RSAES-PKCS1-v1_5 sondern RSASSA-PKCS1-v1_5 zu verwenden ist. Tabelle 35: Attribute / MF / DF.NK / PrK.NK.VPN.R1024S1 Attribute Objekttyp keyIdentifier privateKey algorithmIdentifier Wert privates RSA Objekt ´04´ = 4 …, Moduluslänge 1024 Bit alle Werte aus der Menge, siehe [gemSpec_eGK_P1]: { signPKCS1_V1_5 rsaDecipherPKCS1_V1_5 } Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung INTERNAL AUTH. ALWAYS PSO Decipher ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung wird personalisiert siehe [IKEv1#5.1] siehe [IKEv1#5.2] Bemerkung Bemerkung Hinweis (39) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem privaten Authentisierungsobjekt arbeiten sind: EXTERNAL AUTHENTICATE, INTERNAL AUTHENTICATE Seite 60 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8.4.4 / MF / DF.NK / PrK.NK.VPN.R2048S256 Dieser Schlüssel ermöglicht den Aufbau eines VPN-Kanals zu einem VPN-Konzentrator, der in der Lage ist, mit einer Schlüssellänge von 2048 Bit zu arbeiten. Der öffentliche Teil zu diesem Schlüssel ist in EF.C.NK.VPN.R2048S256 enthalten (siehe Kapitel 8.4.2). Es ist vorgesehen, dass der Netzkonnektor die beiden Verfahren (1) " Authentication with Digital Signatures", [IKEv1#5.1] und (2) " Authentication with Public Key Encryption", [IKEv1#5.2] unterstützt. Hinweis (40) [IKEv1#5.1] spricht zwar von "RSA signatures MUST be encoded as a private key encryption in PKCS #1 format and not as a signature in PKCS #1 format", was in der Sprache von [PKCS#1v2.1] wegen des Wortes "encryption" an den Algorithmus RSAES-PKCS1-v1_5 denken lässt. Allerdings ist [IKEv1] im Kontext von [PKCS#1v1.5] geschrieben worden. In [PKCS#1v1.5#9.4] wird in Bullet 3 implizit vorgeschrieben, dass in der Sprache von [PKCS#1v2.11] nicht RSAES-PKCS1-v1_5 sondern RSASSA-PKCS1-v1_5 zu verwenden ist. Tabelle 36: Attribute / MF / DF.NK / PrK.NK.VPN.R2048S256 Attribute Objekttyp keyIdentifier privateKey algorithmIdentifier Wert privates RSA Objekt ´05´ = 5 …, Moduluslänge 2048 Bit alle Werte aus der Menge, siehe [gemSpec_eGK_P1: { signPKCS1_V1_5 rsaClientAuthentication rsaDecipherPKCS1_V1_5 } Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung INTERNAL AUTH. ALWAYS PSO Decipher ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung wird personalisiert siehe [IKEv1#5.1] siehe [IKEv1#5.2] Bemerkung Bemerkung Hinweis (41) Kommandos, die gemäß [gemSpec_eGK_P1 mit einem privaten Authentisierungsobjekt arbeiten sind: EXTERNAL AUTHENTICATE, INTERNAL AUTHENTICATE Seite 61 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8.5 / MF / DF.SAK (normativ) Die Anwendung DF.SAK enthält kryptographische Objekte der Signaturanwendungskomponente. Der in dieser Anwendung enthaltene Schlüssel PrK.SAK.AUT unterstützt den Aufbau eines TLS-Kanals zwischen der SAK und einem Extended Trusted Viewer sowie der SAK zu einem Kartenterminal. Wegen des erhöhten Schutzbedarfes dieser Verbindungen wird eine Schlüssellänge von 2048 Bit verwendet (siehe [gemSpec_Krypt#5.1.1.8]). Diese Anwendung enthält neben dem vorgenannten Schlüssel PrK.SAK.AUT ein Zertifikat C.SAK.AUT, welches den öffentlichen Schlüssel PuK.SAK.AUT enthält. Es wird als nicht erforderlich angesehen, dass die Anwendung auch Zertifikate höherer Ebenen enthält. Mit dem Schlüsselpaar PrK.SAK.SIG und PuK.SAK.SIG wird die Erstellung einer Signatur, bzw. Überprüfung einer Signatur für den Integritätsschutz von Konfigurationsdaten der SAK ermöglicht. Es wird eine Schlüssellänge von 2048 Bit verwendet. Der in dieser Anwendung enthaltene Schlüssel PrK.SAK.AUTD_CVC unterstützt den Aufbau eines Trusted Channels zwischen der Signaturanwendungskomponente einerseits und der sicheren Signaturerstellungseinheit andererseits. Diese Anwendung enthält neben dem vorgenannten Schlüssel PrK.SAK.AUTD_CVC ein Zertifikat C.SAK.AUTD_CVC, welches den öffentlichen Schlüssel zu PrK.SAK.AUTD_CVC enthält. Zur Prüfung des Zertifikates C.SAK.AUTD_CVC wird der öffentliche Schlüssel aus C.CA_SAK.CS (siehe Kapitel 8.2.2) benötigt. (N985.900) K_Personalisierung Die Anwendung DF.SAK MUSS auf einer SMC–K vorhanden sein. (N986.000) K_Personalisierung Die Anwendung DF.SAK MUSS gemäß den Angaben dieses Unterkapitels konfiguriert sein. Tabelle 37: Attribute / MF / DF.SAK Attribute Wert Objekttyp Ordner applicationIdentifier ´D276 0001 4404´ fileIdentifier herstellerspezifisch lifeCycleStatus „Operational state (activated)“ Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung SELECT ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung Bemerkung Bemerkung Hinweis (42) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem Ordnerobjekt arbeiten sind: ACTIVATE, DEACTIVATE, DELETE, LOAD APPLICATION, SELECT Hinweis (43) Da sich weder dieser Ordner noch der übergeordnete Ordner deaktivieren lassen, braucht dieser Zustand für Objekte im Kapitel 8.5 nicht berücksichtigt werden. Seite 62 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Abbildung 6: Objektstruktur der Anwendung DF.SAK 8.5.1 / MF / DF.SAK / EF.C.SAK.AUT Diese Datei enthält ein Zertifikat mit dem öffentlichen Schlüssel PuK.SAK.AUT zu PrK.SAK.AUT (siehe Kapitel 8.5.3). Der Zertifikatsinhalt wird in [gemX.509_Kon] beschrieben. Tabelle 38: Attribute / MF / DF.SAK / EF.C.SAK.AUT Attribute Wert Objekttyp transparentes Elementary File fileIdentifier ´C5 06´ shortFileIdentifier ´06´ = 6 numberOfBytes KANN passend zum Dateiinhalt gewählt werden flagTransactionMode False flagChecksum False lifeCycleStatus „Operational state (activated)“ body ´XX…YY´ Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung READ BINARY ALWAYS SELECT ALWAYS UPDATE BINARY ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung wird personalisiert Bemerkung Bemerkung Hinweis (44) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem transparenten EF arbeiten sind: ACTIVATE, DEACTIVATE, DELETE, ERASE BINARY, READ BINARY, SELECT, UPDATE BINARY Seite 63 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8.5.2 / MF / DF.SAK / EF.C.SAK.AUTD_CVC Diese Datei enthält ein CV–Zertifikat gemäß [gemPKI_Reg] und [gemSpec_eGK_P1], welches den öffentlichen Schlüssel PuK.SAK.AUTD_CVC (siehe Tabelle 41) enthält. Dieses Zertifikat lässt sich mittels des öffentlichen Schlüssels aus EF.C.CA_SAK.CS (siehe Tabelle 24) prüfen. (N986.100) K_Personalisierung Für die CHR des Zertifikates MUSS gelten: CHR = ´0090´ || ICCSN, wobei die ICCSN denselben Wert besitzen MUSS wie das Wertfeld aus (N985.400)b. Tabelle 39: Attribute / MF / EF.C.SAK.AUTD_CVC Attribute Wert Objekttyp transparentes Elementary File fileIdentifier ´2F 03´ shortFileIdentifier ´03´ = 3 numberOfBytes ´0155´ Oktett = 341 Oktett flagTransactionMode False flagChecksum False lifeCycleStatus „Operational state (activated)“ body ´7F21 820150 XX...YY´ Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung READ BINARY ALWAYS SELECT ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung wird personalisiert Bemerkung Bemerkung Hinweis (45) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem transparenten EF arbeiten sind: ACTIVATE, DEACTIVATE, DELETE, ERASE BINARY, READ BINARY, SELECT, UPDATE BINARY Hinweis (46) Das Zertifikat enthält die Rolle CHA = Signaturanwendungskomponente (SAK) = ´D2760000400033´ (siehe [gemPKI_Reg]) Seite 64 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8.5.3 / MF / DF.SAK / PrK.SAK.AUT Dieser Schlüssel ermöglicht den Aufbau eines TLS-Kanals von der SAK zu einem Trusted Viewer, oder von der SAK zu einem Kartenterminal. Wegen des erhöhten Schutzbedarfes dieser Verbindung wird hier eine Schlüssellänge von 2048 Bit verwendet (siehe [gemSpec_Krypt#5.1.1.8]). Der öffentliche Teil zu diesem privaten Schlüssel ist in EF.C.AK.AUT enthalten (siehe Kapitel 8.3.1). Aus Sicht des Trusted Viewers handelt die SAK beim Aufbau der TLS-Verbindung als Client oder Server. Gemäß [TLS#8.1.1] wird dabei während der Serverauthentisierung eine Entschlüsselung nach [PKCS#1v2.1#7.2.2] durchgeführt. Aus Sicht des Kartenterminals handelt die SAK beim Aufbau des TLS-Kanals als Client. Gemäß [TLS#7.4.8] wird dabei während der Clientauthentisierung eine Signatur nach [PKCS#1v2.1] durchgeführt, wobei der Chipkarte der DigestInfo vorgegeben wird. Tabelle 40: Attribute / MF / DF.SAK / PrK.SAK.AUT Attribute Objekttyp keyIdentifier privateKey algorithmIdentifier Wert privates RSA Objekt ´06´ = 6 …, Moduluslänge 2048 Bit alle Werte aus der Menge, siehe [gemSpec_eGK_P1]: { rsaDecipherPKCS1_V1_5 signPKCS1_V1_5 } Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung INTERNAL AUTH. ALWAYS PSO Decipher ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung wird personalisiert Serverauthent. Clientauthent. Bemerkung Bemerkung Hinweis (47) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem privaten Authentisierungsobjekt arbeiten sind: EXTERNAL AUTHENTICATE, INTERNAL AUTHENTICATE Seite 65 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8.5.4 / MF / DF.SAK / PrK.SAK.AUTD_CVC Dieser Schlüssel wird im Rahmen von asymmetrischen Authentisierungsprotokollen verwendet. Insbesondere dient dieser Schlüssel der Vereinbarung von Introductionkeys (siehe Anhang A.1). Die Schlüssellänge ist in [gemSpec_Krypt#5.1.2.1] festgelegt. Tabelle 41: Attribute / MF / DF.SAK / PrK.SAK.AUTD_CVC Attribute Objekttyp keyIdentifier privateKey algorithmIdentifier Wert privates RSA Objekt ´10´ = 16 …, Moduluslänge 2048 Bit alle Werte aus der Menge, siehe [gemSpec_eGK_P1] {rsaSessionkey4Intro, rsaSessionkey4TC} Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung EXTERNAL AUTH. ALWAYS INTERNAL AUTH. AUT( ´D276 0000 4000 35´ ) andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung wird personalisiert Bemerkung siehe Hinweis (49) Bemerkung Hinweis (48) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem privaten Authentisierungsobjekt arbeiten sind: EXTERNAL AUTHENTICATE, INTERNAL AUTHENTICATE Hinweis (49) Diese Rolle ist gemäß [gemPKI_Reg#Tabelle 12] einem HBA zugewiesen. Seite 66 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8.5.5 / MF / DF.SAK / PrK.SAK.SIG Dieser private Schlüssel dient dazu Konfigurationsdaten der SAK zu signieren mit dem Ziel die Integrität der Daten zu schützen. Da es sich um eine SAK interne Funktionalität handelt, ist weder ein Zertifikat noch ein Zugriffschutz erforderlich. Der zugehörige öffentliche Schlüssel wird mit PuK.SAK.SIG bezeichnet und lässt sich mittels des in [gemSpec_eGK_P1#15.9.2.2] beschriebenen Use Cases auslesen. Tabelle 42: Attribute / MF / DF.SAK / PrK.SAK.SIG Attribute Objekttyp keyIdentifier privateKey algorithmIdentifier Wert privates RSA Objekt ´11´ = 17 …, Moduluslänge 2048 Bit alle Werte aus der Menge, siehe [gemSpec_eGK_P1] { sign9796_2_DS2, signPKCS1_V1_5, signPSS } Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung GEN. ASYM KEY P. nicht Gegenstand dieser Spezifikation P1=´84´ GEN. ASYM KEY P. ALWAYS P1=´81´ PSO CompDigSig ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung wird personalisiert Bemerkung Bemerkung Hinweis (50) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem privaten Signaturobjekt arbeiten sind: GENERATE ASYMMETRIC KEY PAIR, PSO Compute Digital Signature Seite 67 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8.6 / MF / DF.Sicherheitsanker (normativ) Die Anwendung DF.Sicherheitsanker enthält Zertifikate, die im Rahmen der Prüfung von TSL- oder TCL-Listen relevant sind. Hinweis (51) Aktuell wird in diesem Ordner nur das Root Zertifikat C.TSL.CA gespeichert. Dieses selbstsignierte Zertifikat enthält einen öffentlichen Schlüssel zur Prüfung der Signer Zertifikate C.TSL.SIG und C.TCL.SIG. Die öffentlichen Schlüssel der letztgenannten Signaturzertifikate dienen dazu, Signaturen von TSL bzw. TCL Listen zu prüfen. Da die Gültigkeit der Signaturzertifikate vergleichsweise kurz ist (nach derzeitiger Festlegung zwei Jahre) im Vergleich zur (derzeit fünfjährigen) Gültigkeit des Root–Zertifikates und ein Zertifikatsupdate innerhalb der SMC–K derzeit nicht möglich ist, wird auf der SMC–K nur das Root–Zertifikat gespeichert. (N986.100) K_Personalisierung Die Anwendung DF.Sicherheitsanker KANN auf einer SMC–K vorhanden sein. Die Anwendung DF.Sicherheitsanker KANN auf einer SMC–K fehlen. (N986.200) K_Personalisierung Wenn die Anwendung DF.Sicherheitsanker vorhanden ist, dann MUSS sie gemäß den Angaben dieses Unterkapitels konfiguriert sein. Tabelle 43: Attribute / MF / DF.Sicherheitsanker Attribute Wert Objekttyp Ordner applicationIdentifier ´D276 0001 4405´ fileIdentifier herstellerspezifisch lifeCycleStatus „Operational state (activated)“ Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung SELECT ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung Bemerkung Bemerkung Hinweis (52) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem Ordnerobjekt arbeiten sind: ACTIVATE, DEACTIVATE, DELETE, LOAD APPLICATION, SELECT Hinweis (53) Da sich weder dieser Ordner noch der übergeordnete Ordner deaktivieren lassen, braucht dieser Zustand für Objekte im Kapitel 8.6 nicht berücksichtigt werden. Abbildung 7: Dateistruktur der Anwendung DF.Sicherheitsanker Seite 68 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 8.6.1 / MF / DF.Sicherheitsanker / EF.C.TSL.CA Diese Datei enthält ein Zertifikat mit dem öffentlichen Schlüssel PuK.TSL.CA. Dieser öffentliche Schlüssel dient der Verifikation der Zertifikate C.TCL.SIG und C.TSL.SIG. Bei C.TSL.CA handelt es sich um ein selbstsigniertes Zertifikat. Tabelle 44: Attribute / MF / DF.Sicherheitsanker / EF.C.TSL.CA Attribute Wert Objekttyp transparentes Elementary File fileIdentifier ´C6 01´ shortFileIdentifier ´01´ = 1 numberOfBytes KANN passend zum Dateiinhalt gewählt werden flagTransactionMode False flagChecksum False lifeCycleStatus „Operational state (activated)“ body ´XX…YY´ Zugriffsregel für logischen LCS „Operational state (activated)”, alle SE Zugriffsart Zugriffsbedingung READ BINARY ALWAYS SELECT ALWAYS andere NEVER Zugriffsregel für logischen LCS „Operational state (deactivated)” Zugriffsart Zugriffsbedingung alle herstellerspezifisch Bemerkung wird personalisiert Bemerkung Bemerkung Hinweis (54) Kommandos, die gemäß [gemSpec_eGK_P1] mit einem transparenten EF arbeiten sind: ACTIVATE, DEACTIVATE, DELETE, ERASE BINARY, READ BINARY, SELECT, UPDATE BINARY Seite 69 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K 9 Verschiedenes (informativ) 9.1 Äußere Gestaltung Die äußere Gestaltung einer SMC–K ist in [gemSpec_SMC_OPT] festgelegt. Hinweis (55) Gemäß [gemSpec_SMC_OPT] handelt es sich um eine ID–1 Karte, mit heraustrennbarem ID–000 Plug–in. 9.2 Zulassung Die Zulassung einer SMC–K wird im Dokument [gemZulKomp-SMC] festgelegt. Seite 70 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Anhang A: Use Cases in DF.SAK (informativ) Dieser Anhang beschreibt die wesentlichen Use Cases der Applikation DF.SAK. A.1 – Vorstellungsrunde Im Rahmen der hier so bezeichneten „Vorstellungsrunde“ findet eine gegenseitige Authentisierung mit Aushandlung von Sessionkeys statt, die im Anschluss an eine erfolgreiche Authentisierung persistent als Introductionkeys gespeichert werden. Der Nutzen dieser „Vorstellungsrunde“ liegt darin, dass bei späteren Authentisierungen dann performant nutzbare symmetrische Schlüssel in den beteiligten Komponenten vorliegen. Die vereinbarten Introductionkeys sind individuell für die beteiligten Authentisierungsschlüssel. Falls also eine Komponente A n anderen Komponenten „vorgestellt“ wird, so sind in Komponente A deshalb n verschiedene Introductionkeys zu speichern. Offensichtlich ist dieses Verfahren weniger geeignet eGKs einem HBA dauerhaft vorzustellen. Dazu reicht der Speicherplatz des HBA nicht aus. Sinnvoll einsetzbar ist dieses Verfahren in Organisationen, wo insgesamt eine überschaubare Menge von HBA, SMC– A/B und SMC–K vorhanden ist und diese Karten laufend miteinander interagieren. Hier wird davon ausgegangen, dass (1) eine SMC–K und ein HBA beteiligt sind, (2) die SMC–K im Besitz des öffentlichen Schlüssels PuK.HPC.AUTD_CVC ist, mithin das entsprechende Zertifikat C.HPC.AUTD_CVC in die SMC–K importiert wurde, (3) der HBA im Besitz des öffentlichen Schlüssels PuK.SAK.AUTD_CVC ist, mithin das entsprechende Zertifikat C.SAK.AUTD_CVC in den HBA importiert wurde. Es werden folgende Schritte durchgeführt: (4) In der SMC–K wird gemäß Kapitel 5.3.20.2 der Schlüssel PrK.SAK.AUTD_CVC mit der algId rsaSessionkeyIntro selektiert. (5) In der SMC–K wird gemäß Kapitel 5.3.20.4 der öffentliche Schlüssel PuK.HPC.AUTD_CVC mit der keyReference = CHR aus C.HPC.AUTD_CVC und algId rsaSessionkeyIntro selektiert. (6) Im HBA wird gemäß Kapitel 5.3.20.2 der Schlüssel PrK.HPC.AUT_CVC mit der algId rsaSessionkeyIntro selektiert. (7) Im HBA wird gemäß Kapitel 5.3.20.4 der öffentliche Schlüssel PuK.SAK.AUTD_CVC mit der keyReference = CHR aus C.SAK.AUTD_CVC und der algId rsaSessionkeyIntro selektiert. (8) Die Authentisierungssequenz gemäß [gemSpec_eGK_P1#16.4.2]wird ausgeführt, wobei die SMC–K den Platz der „Gegenstelle“ innehat und der HBA den Platz der „eGK“. Seite 71 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K A.2 – Aufbau Trusted Channel Hier wird davon ausgegangen, dass (1) eine SMC–K und ein HBA beteiligt sind, (2) Vorstellungsschlüssel gemäß Anhang A.1 zwischen der SMC–K und dem HBA etabliert wurden, (3) die Seriennummer der SAK aus deren EF.GDO bekannt sei, (4) die Seriennummer des HBA aus dessen EF.GDO bekannt sei. Es werden folgende Schritte durchgeführt: (5) In der SMC–K wird gemäß Kapitel 5.3.20.1 der Vorstellungsschlüssel mit der keyRef gemäß der CHR aus C.HPC.AUTD_CVC unter Berücksichtigung von Hinweis (4) mit der algId desSessionkey4TC selektiert. (6) In der SMC–K wird gemäß Kapitel 5.3.20.3 der Vorstellungsschlüssel mit der keyRef gemäß der CHR aus C.HPC.AUTD_CVC unter Berücksichtigung von Hinweis (4) mit der algId desSessionkey4TC selektiert. (7) Im HBA wird gemäß Kapitel 5.3.20.5 der Vorstellungsschlüssel mit der keyRef gemäß der CHR aus C.SAK.AUTD_CVC unter Berücksichtigung von Hinweis (4) mit der algId desSessionkey4SM selektiert. (8) Die Authentisierungssequenz gemäß [gemSpec_eGK_P1#16.4.1] wird ausgeführt, wobei entweder a) die SMC–K den Platz der „Gegenstelle“ und der HBA den Platz der „eGK“ innehat, oder b) die SMC–K den Platz der „eGK“ und der HBA den Platz der „Gegenstelle“ innehat. Hinweis (56) In Punkt (8) werden zwei Alternativen für die Authentisierungsreihenfolge genannt. Je nach Konfiguration der Zugriffsbedingungen für die beteiligten privaten Schlüssel ist es möglich, dass eine der Alternativen nicht durchführbar ist. A.3 – Austausch von APDUs mittels Trusted Channel Die in diesem Anhang behandelten technischen Use Cases unterstützen einen Trusted Channel derart, dass es der SAK möglich ist, eine ungeschützte Kommando APDU (das heißt ohne Secure Messaging) in eine gesicherte Kommando APDU zu transformieren. Zudem wird es der SAK ermöglicht, eine geschützte Antwort APDU in eine ungesicherte Antwort APDU zu transformieren A.3.1 – Sicherung einer Kommando APDU Die dabei zu verwendenden Algorithmen sind in [gemSpec_eGK_P1#Kapitel 14.2] beschrieben. Falls die Kommando APDU Daten enthält und diese verschlüsselt zu übertragen sind, dann führt die SMC–K dabei die Schritte gemäß [gemSpec_eGK_P1#(N032.200)a] und Seite 72 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K [gemSpec_eGK_P1#(N032.200)b] durch. Dazu wird das Kommando PSO Encipher gemäß Kapitel 5.3.16.1 verwendet. Dabei gelten folgende Zusammenhänge: Tabelle 45: Verschlüsselung von Kommandodaten [gemSpec_eGK_P1] (N032.200)a: Data (N032.200)a: C dieses Dokument (N091.440): M (N091.655)a.3: C In jedem Fall ist die Kommando APDU bei der gesicherten Übertragung durch einen MAC zu sichern. Dabei führt die SMC–K die Schritte gemäß [gemSpec_eGK_P1#(N032.700)] und [gemSpec_eGK_P1#(N032.800)a.v] durch. Dazu wird das Kommando PSO Compute CC gemäß Kapitel 5.3.14.1 verwendet. Dabei gelten folgende Zusammenhänge: Tabelle 46: MAC Sicherung eines Kommandos [gemSpec_eGK_P1] (N032.800)a.v: MACin (N032.800)a.v: MAC dieses Dokument (N087.220): data (N087.248)b: mac B.3.2 – Entsicherung einer Antwort APDU Die dabei verwendeten Algorithmen sind in [gemSpec_eGK_P1#Kapitel 14.3] beschrieben. In jedem Fall ist die Antwort APDU bei der gesicherten Übertragung durch einen MAC geschützt. Zur MAC–Prüfung wird das Kommando PSO Verify CC gemäß Kapitel 5.3.17.1 verwendet. Dabei gelten folgende Zusammenhänge: Tabelle 47: Prüfung eines MAC in einer Antwort APDU [gemSpec_eGK_P1] (N034.100)a.iv: MACin (N034.100)a.iv: MAC dieses Dokument (N096.340): data (N096.343): mac Hinweis (57) Der Zusammenhang zwischen der Antwort APDU einerseits und MACin und MAC andererseits ist in [gemSpec_eGK_P1#(N034.300)a, (N034.100)a und (N034.200]) beschrieben. Falls die Antwort APDU Daten enthält und diese verschlüsselt übertragen wurden, dann wird zur Entschlüsselung das Kommando PSO Decipher gemäß Kapitel 5.3.15.1 verwendet. Dabei gelten folgende Zusammenhänge: Tabelle 48: Entschlüsselung von Antwortdaten [gemSpec_eGK_P1] (N033.700)b: C (N033.700)b: Data dieses Dokument (N089.840): C (N089.847)a.3: plain Hinweis (58) Der Zusammenhang zwischen der Antwort APDU einerseits und C andererseits ist in [gemSpec_eGK_P1#(N034.300)a und (N033.700)d] beschrieben. Seite 73 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Anhang B B1 – Abkürzungen Kürzel Erläuterung AK APDU ATR CA C2C DF EF GDO HBA MF NK RCA SAK TPM TSL VPN Anwendungskonnektor Application Protocol Data Unit Answer to Reset Certification Authority Card to Card Dedicated File Elementary File Global Data Object Heilberufeausweis Master File Netzkonnektor Root Certification Authority Signaturanwendungskomponente Trusted Platform Module Trust-service Status List Virtual Private Network B2 – Glossar Das Projektglossar wird als eigenständiges Dokument zur Verfügung gestellt. B3 – Abbildungsverzeichnis Abbildung 1: Überblick über die Funktionsblöcke des Konnektors .................................. 16 Abbildung 2: Aufbau der COS Spezifikationen................................................................ 19 Abbildung 3: Dateistruktur einer SMC–K auf oberster Ebene.......................................... 47 Abbildung 4: Dateistruktur der Anwendung DF.AK ......................................................... 54 Abbildung 5: Dateistruktur der Anwendung DF.NK ......................................................... 58 Abbildung 6: Objektstruktur der Anwendung DF.SAK ..................................................... 63 Abbildung 7: Dateistruktur der Anwendung DF.Sicherheitsanker .................................... 68 B4 – Tabellenverzeichnis Tabelle 1: Liste der Komponenten, aus deren Sicht Anforderungen betrachtet werden .. 13 Tabelle 2: Funktionale Anforderungen ............................................................................ 14 Seite 74 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Tabelle 3: Nicht–funktionale Anforderungen ................................................................... 15 Tabelle 4: Sicherheitsanforderungen .............................................................................. 15 Tabelle 5: PSO Compute CC, Berechnen einer kryptographischen Checksumme.......... 30 Tabelle 6: PSO Compute CC Antwort APDU im Erfolgsfall ............................................. 30 Tabelle 7: PSO Compute CC Antwort APDU im Fehlerfall .............................................. 30 Tabelle 8: PSO Decipher, Entschlüsseln mittels DES ..................................................... 32 Tabelle 9: PSO Encipher, Verschlüsseln mittels DES ..................................................... 33 Tabelle 10: PSO Verify CC, Prüfen einer kryptographischen Checksumme.................... 35 Tabelle 11: PSO Verify CC Antwort APDU im Erfolgsfall ................................................ 35 Tabelle 12: PSO Verify CC Antwort APDU im Fehlerfall ................................................. 35 Tabelle 13: GET RANDOM............................................................................................. 37 Tabelle 14: GET RANDOM Antwort APDU im Erfolgsfall................................................ 37 Tabelle 15: GET RANDOM Antwort APDU im Fehlerfall................................................. 37 Tabelle 16: MANAGE CHANNEL zum Öffnen eines logischen Kanals ........................... 38 Tabelle 17: MANAGE CHANNEL zum Schließen eines Kanals ...................................... 39 Tabelle 18: MANAGE CHANNEL Antwort APDU im Erfolgsfall....................................... 39 Tabelle 19: MANAGE CHANNEL Antwort APDU im Fehlerfall........................................ 39 Tabelle 20: ATR Kodierung............................................................................................. 45 Tabelle 21: Beispielhafte Kodierung der Historical Bytes ................................................ 46 Tabelle 22: Attribute / MF................................................................................................ 46 Tabelle 23: Attribute / MF / EF.ATR ................................................................................ 47 Tabelle 24: Attribute / MF / EF.C.CA_SAK.CS................................................................ 49 Tabelle 25: Attribute / MF / EF.DIR ................................................................................. 50 Tabelle 26: Attribute / MF / EF.GDO ............................................................................... 51 Tabelle 27: Attribute / MF / EF.Version ........................................................................... 52 Tabelle 28: Attribute / MF / PuK.RCA.CS........................................................................ 53 Tabelle 29: Attribute / MF / DF.AK .................................................................................. 54 Tabelle 30: Attribute / MF / DF.AK / EF.C.AK.AUT.......................................................... 55 Tabelle 31: Attribute / MF / DF.AK / PrK.AK.AUT............................................................ 56 Tabelle 32: Attribute / MF / DF.NK .................................................................................. 57 Tabelle 33: Attribute / MF / DF.NK / EF.C.NK.VPN.R1024S1 ......................................... 58 Tabelle 34: Attribute / MF / DF.NK / EF.C.NK.VPN.R2048S256 ..................................... 59 Tabelle 35: Attribute / MF / DF.NK / PrK.NK.VPN.R1024S1 ........................................... 60 Tabelle 36: Attribute / MF / DF.NK / PrK.NK.VPN.R2048S256 ....................................... 61 Tabelle 37: Attribute / MF / DF.SAK................................................................................ 62 Tabelle 38: Attribute / MF / DF.SAK / EF.C.SAK.AUT..................................................... 63 Seite 75 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Tabelle 39: Attribute / MF / EF.C.SAK.AUTD_CVC......................................................... 64 Tabelle 40: Attribute / MF / DF.SAK / PrK.SAK.AUT ....................................................... 65 Tabelle 41: Attribute / MF / DF.SAK / PrK.SAK.AUTD_CVC ........................................... 66 Tabelle 42: Attribute / MF / DF.SAK / PrK.SAK.SIG ........................................................ 67 Tabelle 43: Attribute / MF / DF.Sicherheitsanker............................................................. 68 Tabelle 44: Attribute / MF / DF.Sicherheitsanker / EF.C.TSL.CA .................................... 69 Tabelle 45: Verschlüsselung von Kommandodaten ........................................................ 73 Tabelle 46: MAC Sicherung eines Kommandos.............................................................. 73 Tabelle 47: Prüfung eines MAC in einer Antwort APDU.................................................. 73 Tabelle 48: Entschlüsselung von Antwortdaten............................................................... 73 B5 – Referenzierte Dokumente Die nachfolgende Tabelle enthält die Bezeichnung der in dem vorliegenden Dokument referenzierten Dokumente der gematik. Der mit dem vorliegenden Dokument korrelierende Entwicklungsstand dieser Konzepte und Spezifikationen, die im Rahmen des Vorhabens zur Einführung der Gesundheitskarte veröffentlicht werden, wird pro Release in einer Dokumentenlandkarte definiert. Version und Stand der referenzierten Dokumente sind daher in der nachfolgenden Tabelle nicht aufgeführt. Die jeweils gültige Version und das Freigabedatum der aufgeführten gematik-Dokumente entnehmen Sie bitte der von der gematik veröffentlichten Dokumentenlandkarte (aktuell [gemDokLK_2.3.4]), wobei jeweils der aktuellste Releasestand maßgeblich ist, in dem die vorliegende Version aufgeführt wird. Zur Unterstützung der Zuordnung wird in der Dokumentenlandkarte im Kapitel 4 eine Übersicht über die Dokumentenversionen und deren Zuordnung zu den verschiedenen Releases bereitgestellt. [Quelle] Herausgeber (Erscheinungsdatum): Titel [gemDokLK_2.3.4] gematik: Einführung der Gesundheitskarte – Dokumentenlandkarte Releasestand 2.3.4 – Online Feldtest 10.000 Festlegung der Versionsstände gematik: Einführung der Gesundheitskarte – Gesamtarchitektur gematik: Einführung der Gesundheitskarte – Registrierung einer CVC-CA der zweiten Ebene gematik: Einführung der Gesundheitskarte – Spezifikation elektronische Gesundheitskarte; Teil 1 – Spezifikation der elektrischen Schnittstelle gematik: Einführung der Gesundheitskarte – Konnektorspezifikation gematik: Einführung der Gesundheitskarte – Verwendung kryptographischer Algorithmen in der Telematikinfrastruktur gematik: Einführung der Gesundheitskarte – Spezifikation eHealth-Kartenterminal gematik: Einführung der Gesundheitskarte – Gemeinsame optische Merkmale der SMC [gemGesArch] [gemPKI_Reg] [gemSpec_eGK_P1] [gemSpec_Kon] [gemSpec_Krypt] [gemSpec_KT] [gemSpec_SMC_OPT] Seite 76 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K [Quelle] Herausgeber (Erscheinungsdatum): Titel [gemX.509_Kon] [gemZulKomp-SMC] gematik: Einführung der Gesundheitskarte – Festlegungen zu den X.509-Komponentenzertifikaten des Konnektors gematik: Einführung der Gesundheitskarte – Zulassungsverfahren Komponente SMC Weitere Referenzierungen: [Quelle] [EN 1867] [IKEv1] [ISO3166] [ISO7816–4] [ISO8825–1] [ISO_SD5] [PKCS#1v1.5] [PKCS#1v2.1] [RFC 2119] [TLS] [TR–03114] [TR–03115] Herausgeber (Erscheinungsdatum): Titel EN 1867:1997 Machine readable cards – Health care applications – Numbering system and registration procedure for issuer identifiers DIN EN 1867:1997 Maschinenlesbare Karten – Anwendungen im Gesundheitswesen – Benummerungssystem und Registrierungsverfahren für Kartenausgeberschlüssel The Internet Key Exchange (IKE), RFC 2409 ISO/IEC 3166: Codes for the representations of names of countries Identification cards — Integrated circuit cards — Part 4: Organization, security and commands for interchange, second edition, 2005-01-15 Information technology – ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER) http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf ISO/IEC JTC1/SC17 STANDING DOCUMENT 5, 2006-06-19 Register of IC manufacturers http://www.pkicc.de/cms/media/pdfs/IC_manufacturer_ISO_SD5_1962006.pdf PKCS #1: RSA Encryption Standard, An RSA Laboratories Technical Note Version 1.5, Revised November 1, 1993 PKCS #1 v2.1: RSA Cryptography Standard, RSA Laboratories, 2002-06-14 Network Working Group, Request for Comments: 2119, S. Bradner Harvard, University, March 1997, Category: Best Current Practice Key words for use in RFCs to Indicate Requirement Levels http://www.apps.ietf.org/rfc/rfc2119.html The Transport Layer Security (TLS) Protocol, Version 1.1, RFC 4346 BSI TR–03114, Stapelsignatur mit dem Heilberufsausweis Version: 2.0, Veröffentlichung: 22.10.2007 http://www.bsi.de/literat/tr/tr03114/BSI-TR-03114.pdf BSI TR-03115, Komfortsignatur mit dem Heilberufsausweis Version: 2.0, Veröffentlichung: 19.10.2007 http://www.bsi.de/literat/tr/tr03115/BSI-TR-03115.pdf B6 – Klärungsbedarf Kap. Offener Punkt Zuständig 6.4 Auswirkungen von IKEv2 auf Kapitel 6.4 sind zu prüfen SPE/DK, AFI Zugriffsrechtematrix in SMC–K oder in SAK IST, BSI Seite 77 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008 Spezifikation der SMC–K Anhang Y: Sicherheitshinweise (informativ) Der Hauptteil des Dokumentes enthält im Wesentlichen funktionale Anforderungen. Darüber hinaus sind bei der COS Entwicklung auch Sicherheitsanforderungen zu beachten. Grundsätzlich sind Sicherheitsanforderungen in einem Protection Profile oder Security Target zu finden. Deshalb ist die Zukunft dieses Abschnittes ungewiss, da Redundanzen zwischen den vorgenannten Dokumenten und diesem Abschnitt unerwünscht sind. Entweder dient dieser Abschnitt in Zukunft als Stoffsammlung für Aspekte, welche die vorgenannten Dokumente (neben anderem) enthalten sollten, oder dieser Abschnitt entfällt mangels Relevanz. 1. Symmetrische Vorstellungsobjekte sind sicher zu speichern. Seite 78 von 78 gematik_SMC_Spezifikation_SMC-K.doc Version: 1.1.1 © gematik Stand: 26.08.2008