Elektronische Gesundheitskarte und Telematikinfrastruktur





Spezifikation

Private Key Generator




    
Version 0.0.0
Revision 548770
Stand 28.02.2020
Status in Bearbeitung
Klassifizierung nicht öffentlich
Referenzierung gemSpec_PKG

Dokumentinformationen

Änderungen zur Vorversion

Es handelt sich um die Erstversion des Dokumentes.

Dokumentenhistorie

Version
Stand
Kap./ Seite
Grund der Änderung, besondere Hinweise
Bearbeitung






Inhaltsverzeichnis

1 Einordnung des Dokumentes

1.1 Zielsetzung

Die vorliegende Spezifikation definiert Anforderungen an den Produkttyp "Private Key Generator" (PKG) und beschreibt die Funktionsweise der identitätsbasierten (asymmetrischen) Verschlüsselung innerhalb der TI.

1.2 Zielgruppe

Das Dokument richtet sich an Hersteller und Anbieter des Produkts Private Key Generator" (PKG)". Weiterhin unterstützt das Dokument Anwendungen der TI, die eine identitätsbasierten Verschlüsselung verwenden möchten, indem hier ebenfalls Client-spezifische Abläufe normativ beschrieben werden. Auf diese kann eine Anwendungsspezifikation verweisen.

1.3 Geltungsbereich

Dieses Dokument enthält normative Festlegungen zur Telematikinfrastruktur des deutschen Gesundheitswesens. Der Gültigkeitszeitraum der vorliegenden Version und deren Anwendung in Zulassungsverfahren wird durch die gematik GmbH in gesonderten Dokumenten (z. B. Dokumentenlandkarte, Produkttypsteckbrief, Leistungsbeschreibung) festgelegt und bekannt gegeben.

Schutzrechts-/Patentrechtshinweis

Die nachfolgende Spezifikation ist von der gematik allein unter technischen Gesichtspunkten erstellt worden. Im Einzelfall kann nicht ausgeschlossen werden, dass die Implementierung der Spezifikation in technische Schutzrechte Dritter eingreift. Es ist allein Sache des Anbieters oder Herstellers, durch geeignete Maßnahmen dafür Sorge zu tragen, dass von ihm aufgrund der Spezifikation angebotene Produkte und/oder Leistungen nicht gegen Schutzrechte Dritter verstoßen und sich ggf. die erforderlichen Erlaubnisse/Lizenzen von den betroffenen Schutzrechtsinhabern einzuholen. Die gematik GmbH übernimmt insofern keinerlei Gewährleistungen.

1.4 Abgrenzungen

Es ist keine Abgrenzung gegenüber anderen Spezifikationen/Konzepten oder im Kontext derzeit nicht relevanten Themen erforderlich.

1.5 Methodik

Anforderungen als Ausdruck normativer Festlegungen werden durch eine eindeutige ID in eckigen Klammern sowie die dem RFC 2119 [RFC2119] entsprechenden, in Großbuchstaben geschriebenen deutschen Schlüsselworte MUSS, DARF NICHT, SOLL, SOLL NICHT, KANN gekennzeichnet.

Sie werden im Dokument wie folgt dargestellt:
<AFO-ID> - <Titel der Afo>
Text / Beschreibung
[<=]

Dabei umfasst die Anforderung sämtliche zwischen Afo-ID und der Textmarke [<=] angeführten Inhalte.

2 Überblick

Der Private Key Generator (PKG) ist ein Dienst der TI-Plattform, der von beliebigen Anwendungen der TI verwendet werden kann. Er ist Teil eines identitätsbasierten, asymmetrischen Verschlüsselungsverfahrens (Identity Based Encryption (IBE)). Bei einem IBE kann ein Sender aus systemweit bekannten öffentlichen Parametern (Public Parameter) und einem eindeutigen Identifikationsmerkmal (bspw. einer KVNR, einer Telematik-ID, einer E-Mail-Adresse etc.) einen öffentlichen Schlüssel berechnen. Mittels dieses öffentlichen Schlüssels kann der Sender eine Nachricht (ein Dokument etc.) für den Empfänger, dem dieses Identifikationsmerkmal zugeordnet ist, asymmetrisch verschlüsseln. Für diese Verschlüsselung ist keine direkte Interaktion mit dem PKG notwendig, d. h. die Verschlüsselung wird vollständig lokal beim Sender durchgeführt.

Als erste Anwendungen in der TI werden die Anwendung eRezept und die Anwendung KOM-LE ein identitätsbasiertes, asymmetrisches Verschlüsselungsverfahren verwenden.

Der PKG hat zwei Aufgaben:

  1. Er berechnet initial jedes Jahr die "Public-Parameter" (ca. 800 Byte).
  2. Er berechnet auf Nutzer-Anfrage (Empfänger) innerhalb eines quasi autonom arbeitenden PKG-HSM den privaten Schlüssel, der zum verwendeten öffentlichen Schlüssel passt, nachdem der Nutzer erfolgreich authentifiziert wurde.

Die Public-Parameter (ca. 800 Byte) werden über die TSL übertragen und durch die TSL authentizitäts- und integritätsgeschützt. Der Schutz der Public-Parameter auf diese beiden Schutzziele ist von zentraler Bedeutung. Für Systeme die keine TSL verwenden, bietet der PKG die Möglichkeit die aktuell gültigen Public Parameter vom PKG zu erfragen.

Der PKG bietet zwei HTTPS-Schnittstellen an -- eine im Internet und eine in der TI.

Das Standard-Vorgehen bei IBE-Verfahren ist, bei der Berechnung des öffentlichen Schlüssels ebenfalls Anwendungszweck (Anwendung) und Zeitinformationen und ggf. andere Angaben mit einfließen zu lassen. Auf diese Weise erfolgt zum einem eine Schlüsseldiversifizierung -- für unterschiedlichen Anwendungszwecken und Anwendungen werden unterschiedliche Schlüssel verwendet. Andererseits wird es aufgrund des Zeitbezugs möglich, die Schlüsselnutzung zeitlich zu begrenzen.

Zur Berechnung des öffentlichen Schlüssels eines Empfängers wird für die TI eine Zeichenkette vom Sender der folgenden Form verwendet:

<ID-Public-Parameter>:<Anwendung>:<Operation>:<Typ-des-Identifikationsmerkmals>:<Identifikationsmerkmal>:<Datum>

Beispiele:

  1. PP1:eR:eR:KVNR:A0123456789:20200216
  2. PP1:KOM-LE:M:TID:2-20a1201-001:20200410

Solch eine Zeichenkette wird im folgenden als erweiterte Identifikationszeichenkette bezeichnet. Sie wird im Klartext an jedes mit ihrer Hilfe erzeugte Chiffrat beigefügt. Sie ist (1) empfängerspezifisch (Ende-zu-Ende-Verschlüsselung), (2) anwendungsspezifisch, (3) operationsspezifisch, und (4) tagesspezifisch.

Bei der Verwendung von IBE-Verfahren in der TI muss für die Verschlüsselung kein direkter Kontakt mit dem PKG oder einem OCSP-Responder hergestellt werden -- die Verschlüsselung kann also rein lokal erfolgen. 

Der Empfänger kann sich täglich (bspw. LEI) oder beliebig oft (bspw. FdV) einen privaten Schlüssel vom PKG berechnen lassen und vom PKG erhalten. Dieser wird über einen Ende-zu-Ende verschlüsselten Kanal zwischen Client und PKG übermittelt. Die privaten Schlüssel korrespondieren immer genau zu einer erweiterten Identifikationszeichenkette. Als Beispiel bei der Anwendung eRezept wird i. d. R. ein Apothekensystem genau ein mal den privaten Schlüssel für "PP1:eR:eR:TID:2-20a1201-001:20200410" für die Entschlüsselung aller eRezepte, die für die Apotheke am 10.04.2020 verschlüsselt wurden, vom PKG berechnen lassen. Anschließend verbleibt der Schlüssel lokal im Apothekensystem.

Der PKG muss die meisten der durch Doppelpunkt (":") getrennten Bestandteile in der erweiterten Identifikationszeichenkette nicht auswerten oder verstehen. Er muss nur wissen, dass das Identifikationsmerkmal (KVNR etc.) vor dem Datum am Ende erscheint. Der PKG ist also anwendungsunabhängig. Der PKG muss bei einer Authentisierung des Nutzers über einen Token die Gleichheit der Identitätsattribute (KVNR, Telematik-ID, E-Mail-Adresse etc.) im Token und in der erweiterten Identifikationszeichenkette des öffentlichen Schlüssels überprüfen. Wenn dann zusätzlich die Datumsinformationen nicht zu alt sind (oder gar in der Zukunft liegen) kann der PKG den zur erweiterten Identifikationszeichenkette passenden privaten Schlüssel für den Nutzer berechnen und ihn sicher an den Nutzer übermitteln. Die Berechnung erfolgt dabei innerhalb eines speziellen PKG-HSM, das durch technische Maßnahmen verhindert, dass der Betreiber unberechtigte Schlüsselberechnungen vornehmen kann.

Die folgende Abbildung gibt eine Übersicht über den grundsätzlichen Aufbau eines PKG:

Abbildung 1: Strukturübersicht PKG

2.1 Akteure, Rollen und Komponenten

Die beteiligten Akteure sind:

Tabelle 1: beteiligte Akteure im Kontext IBE

Rolle Beschreibung
Verschlüsselnder (Sender) Ein Sender möchte für einen Empfänger eine beliebige Nachricht (ein Dokument etc.) asymmetrisch verschlüsseln. Er benötigt (1) die aktuellen Public-Parameter (i. d. R. aus der TSL) und (2) ein eindeutiges Identifikationsmerkmal des Empfängers (KVNR, Telematik-ID etc.). Der Sender benötigt keine direkte Interaktion mit dem PKG.
Entschlüsselnder (Empfänger) Der Empfänger erhält eine vom Sender für ihn asymmetrisch verschlüsselte Nachricht (Chiffrat). Beim Chiffrat ist im Klartext beigefügt welchen erweiterte Identifikationszeichenkette als Basis für die Berechnung des öffentlichen Schlüssels vom Sender verwendet wurde. Diese präsentiert der Empfänger dem PKG. Nach erfolgreicher Authentifizierung durch ein PKG-HSM berechnet dieses den dazu passenden privaten Schlüssel und übergibt diesen an den Empfänger. Lokal entschlüsselt der Empfänger die Nachricht. Je nach Client (vgl. Tabelle 2) kann der Empfänger den privaten Schlüssel länger lokal speichern und kann diesen für die Entschlüsselung von weiteren Chiffraten verwenden.
Anbieter des PKG Der Anbieter des PKG wird von der gematik beauftragt als Dienst der TI einen PKG zur Verfügung zu stellen. Die PKG-HSM innerhalb des PKG berechnen jährlich neue Public-Parameter und auf Anfrage private Schlüssel für authentifizierte Nutzer (Empfänger).

Die beteiligten Komponenten und Dienste sind:

Tabelle 2: beteiligte Komponenten und Dienste im Kontext IBE

Rolle technisch umsetzende Komponente oder Dienst
Sender beispielsweise: das E-Rezept-Frontend des Versicherten, die E-Rezept-Verarbeitungslogik in einem Praxisverwaltungssystem, ein Client-Modul bei KOM-LE Version 2.0
Empfänger s. o. bei Sender. In der Regel sind in bei aktuellen TI-Anwendungen Sender ebenfalls Empfänger von verschlüsselten Nachrichten.
PKG der in [gemSpec_PKG] definierte Produkttyp PKG
TSL-Dienst Der TSL-Dienst TI transportiert die Public-Parameter, der PKG jährlich neu erzeugt, authentizitäts- und integritätsgeschützt.

2.2 Beziehung zwischen SGD und PKG

Ein Schlüsselgenerierungsdienst (SGD) berechnet für Anfragende symmetrische Schlüssel nach bestimmten Schlüssel-Ableitungsregeln, nachdem der Anfragende vom SGD-HSM erfolgreich authentifiziert wurde. Über einen beidseitig authentisierten und Ende-zu-Ende-verschlüsselten Datenkanal übergibt ein SGD-HSM die berechneten Schlüssel dem Anfragenden. Grundsätzlich ist ein SGD anwendungsunabhängig, er wird aktuell in der TI genau nur für die Anwendung elektronische Patientenakte (ePA) verwendet.

Der PKG stellt, abstrahiert gesehen, die Weiterentwicklung des SGD in Bezug auf die Berechnung von asymmetrischen Schlüsseln dar. Daher ist die Architektur von PKG und SGD sehr ähnlich. An und für sich wäre der PKG durch eine neue Ableitungsregeln in einem SGD-HSM realisierbar. Da jedoch zukünftig innerhalb der TI verstärkt die tokenbasierte Authentisierung und nicht mehr vorrangig die Authentisierung über Authentisierungszertifikate verwendet werden soll, gibt es im Bereich der Authentifizierung und der authentisierten Ende-zu-Ende-Verschlüsselung zwischen PKG und SGD deutliche Unterschiede. Da ein Anfragender keine Authentsierungszertifikate bei direkten Anfragen an ein PKG verwendet, sondern JSON Web Token (JWT) ohne nutzerspezifische kryptographische Schlüssel, kann das beim SGD verwendete Kommunikationsprotokoll für die Ende-zu-Ende-Verschlüsselung nicht verwendet werden. Daher verwendet der PKG ein anderes Kommunikationsprotokoll auf Applikationsebene und stellt damit auch andere durch einen Anfragenden aufzurufende Operationen bereit. Ebenfalls unterscheidet sich die JWT-Prüfung beim PKG deutlich von der Prüfung der Zertifikate beim SGD.

2.3 Überblick PKG-Operationen

Die folgende Tabelle gibt eine kurze Übersicht über die von einem PKG auf dessen HTTPS-Schnittstellen (vgl. Abschnitt  ) angebotenen Operationen.  

Tabelle 3: Übersicht über die von außen zugänglichen Operationen eines PKG

URL Beschreibung
/PublicParameter Clients, die nicht die TSL verwenden (nicht der Regelfall), können hier die aktuell systemweit zu verwendenden Public-Parameter des IBE-Verfahrens in der TI vom PKG erfragen.
/PrivateKey Ein Client fordert die Berechnung des privaten Schlüssel für die von ihm präsentierte erweiterten Identifikationszeichenkette an. Der Request ist für alle PKG-HSM innerhalb des PKG verschlüsselt. Im verschlüsselten Request befindet sich das Authentisierungstoken (JWT) des vom Client repräsentierten Nutzers. Die Verschlüsselung ist Ende-zu-Ende.
/Random Ein Client kann für ihn verschlüsselten Zufall von hoher kryptographischer Güte vom PKG anfordern. Diesen Zufall kann der Client parallel neben Zufall aus anderen Quellen für die Erweiterung seines lokalen Entropie-Speichers verwenden.
/Time Ein Client kann die aktuelle Zeit (bspw. "2020-04-28T05:42:47.248131+00:00") im PKG (RVE) vom PKG erfragen (vgl. Abschnitt 6.7 ).

3 Übergreifende Festlegungen

3.1 Verfügbarkeit und Performanz

Verfügbarkeits- und Performanzanforderungen für einen PKG befinden sich in [gemSpec_Perf#PKG] und sind dem Produkttypsteckbrief PKG zugewiesen.

3.2 Sichere Betreiberumgebung

Ähnlich wie einem TSP werden an den Betreiber eines PKG Anforderungen u. a. an die sichere Betreiberumgebung aus [gemSpec_DS_Anbieter] gestellt (vgl. Zuordnung im Anbietersteckbrief). Die zugeordneten Module sind "Basis-IS", "Basis-ISMS", "Erweitertes ISMS", "TI-Sicherheitsbericht" und "„Erweiterter TI-Sicherheitsbericht“.

A_19529 - Sicherer Betrieb des Produkts nach Handbuch

Der Anbieter eines PKG MUSS die im Handbuch des eingesetzten PKG-Dienstes beschriebenen Voraussetzungen für den sicheren Betrieb des Produktes gewährleisten. [<=]

A_19530 - Darstellen der Voraussetzungen für sicheren Betrieb des Produkts im Handbuch

Der Hersteller eines PKG MUSS für sein Produkt im dazugehörigen Handbuch leicht ersichtlich darstellen, welche Voraussetzungen vom Betreiber und der Betriebsumgebung erfüllt werden müssen, damit ein sicherer Betrieb des Produktes gewährleistet werden kann. [<=]

3.3 Verschiedenes

A_19527 - PKG, Zeitsynchronität mit der TI

Ein PKG MUSS mit den Stratum-1-NTP-Servern der TI synchronisieren. [<=]

A_19528 - PKG, Abschottung PKG-HSM

Ein PKG MUSS sicherstellen, dass dessen PKG-HSM keine automatische Verbindung zu Zeitserver aufbauen. [<=]

4 Bestandteile eines PKG als Dienst der TI

Ein PKG besteht aus

  1. einer HTTPS-Schnittstelle im Internet,
  2. einer HTTPS-Schnittstelle in der TI,
  3. einer Request verarbeitenden Einheit für die eingehenden HTTP-Requests

Abbildung 2: Bestandteile eines PKG

4.1 HTTPS-Schnittstellen

Vorgaben für die HTTPS-Schnittstellen befinden sich in Abschnitt . Vorgaben für das dabei zu verwendeten TLS-Protokoll finden sich in [gemSpec_Krypt] und werden über die Referenzierung im Produkttypsteckbrief PKG normativ.

4.2 Request-Verarbeitung in einem PKG

Eingehende Requests eines Clients werden von der Request verarbeitenden Einheit (RVE) an der HTTPS-Außenschnittstelle entgegengenommen. Dort werden sie entweder direkt beantwortet (Operation PublicParameter, A_xxx) oder aufbereitet und danach an ein PKG-HSM (Operation PrivateKey und Random) gesendet. Abhängig von der Antwort des PKG-HSM erzeugt die RVE eine Antwort für den Client (A_xxx) und sendet diese an ihn. Die RVE hat keinen Einblick in den beidseitig authentisierten und verschlüsselten Datenkanal zwischen Client und PKG-HSM (vgl. Abschnitt xxx). Die RVE stellt nur in Bezug auf die Verfügbarkeit (DoS-Gegenmaßnahmen, Umkodieren von Requests etc.) des PKG eine kritische Komponente dar. In Bezug auf die Vertraulichkeit der Schlüssel erbringt sie keine Sicherheitsleistung.

Die Schnittstelle zwischen RVE und PKG-HSM ist eine Innenschnittstelle (vgl. Abschnitt  ) und wird deshalb nicht ausspezifiziert beschrieben.

A_19648 - PKG, Request-Verarbeitung

Die Request verarbeitende Einheit (RVE) eines PKG MUSS die über die HTTPS-Schnittstellen ankommende HTTP-Request entgegennehmen. Sie MUSS die Operation PublicKey selbst beantworten (vgl. ). Sie MUSS die restlichen Operationen über an eine Lastverteilung an die im PKG zur Verfügung stehenden PKG-HSM verteilten (Innenschnittstelle). Die Antwort der PKG-HSM auf die Requests MUSS die RVE (ggf. nach geeigneter Umkodierung abhängig von der Gestaltung der Innenschnittstelle) als Antwort auf den Request über die entsprechende Webschnittstelle an den Client liefern. [<=]

4.2.1 DoS-Schutzmaßnahmen in der RVE und die user_id

Ziel der DoS-Schutzmaßnahmen in der RVE (also auf Applikationsebene) ist es die rechentechnisch teuren Operationen PrivateKey und Random, die Zugriff auf die PKG-HSM erfordern, zu schützen. Um diese beschränkte Ressource zu schützen wird sie an eine für einen potentiellen Angreifer beschränkte Ressource gebunden -- die Anzahl der gültigen Authentisierungstoken, auf die er Zugriff hat. Ein PKG-HSM gibt der RVE nach erfolgreichen Kommandoausführung (inkl. Verifikation des Authentisierungstokens des Aufrufers) ein sich regelmäßig wechselndes Pseudonym des Aufrufenden zurück. Dieses Pseudonym bildet die Grundlage der "user_id". Anhand dieses Pseudonyms bzw. der user_id kann die RVE beim nächsten Aufruf den Nutzer erkennen und ggf. zu viele Anfragen von ihm drosseln. Dafür wird der Nutzer aufgrund des Interface-Designs aufgefordert seine user_id bei Anfragen mit zusenden. Nutzer sind motiviert dies auch zu tun, weil Anfragen ohne gültige user_id bei hohem Lastaufkommen deutlich herunter priorisiert werden (A_xxx).

A_19663 - RVE, Authentisierungsschlüssel user_id

Die RVE MUSS initial einen AES 128 Bit Authentisierungsschlüssel (genannt Key_RVE_A) für die CMAC-Berechnung bei der Erzeugung der user_id zufällig erzeugen. Die RVE MUSS diesen Schlüssel alle x Tage zufällig neu erzeugen. Die Zeitdauer x MUSS per Konfiguration vom Administrator konfigurierbar sein. Der Default-Wert für x MUSS 40 Tage betragen. [<=]

Der Schutzbedarf von Key_RVE_A ist (nur) mittel, d. h. der Schlüssel soll per Software in der RVE vorhanden sein (keine HSM-Speicherung).

A_19664 - RVE, Erzeugung der user_id

Die RVE [<=]

4.3 PKG-HSM

Den wesentlichen Teil der Sicherheitsleistung eines PKG erbringt das (bzw. die) PKG-HSM. Das PKG-HSM entscheidet, ob eine ausreichende Authentifizierung stattgefunden hat und führt erst danach eine Berechnung eines privaten Schlüssels für einen Client durch.

A_19656 - PKG, Sicherheitsbegutachtung PKG-HSM

Ein PKG MUSS Folgendes sicherstellen:

  1. Er MUSS mindestens ein HSM, PKG-HSM genannt, einsetzen.
  2. Solch ein PKG-HSM MUSS auf einer Plattform (Hardware und Software) basieren, das zuvor bereits erfolgreich eine Zertifizierung nach FIPS 140-2 [FIPS-140-2] mindestens Level 3 durchlaufen hat.
  3. Ein solches PKG-HSM MUSS mit spezieller Firmware ausgestattet sein.
  4. Diese Firmware MUSS die Ablauflogik aus [gemSpec_PKG# ] ausführen.
  5. Im PKG-HSM MÜSSEN, neben dem speziellen Firmware-Modul, ausschließlich Standard-Firmware-Module verwendet werden (also keine anderen speziellen selbstprogrammierten Firmware-Module).
  6. Das Firmware-Modul MUSS eine Sicherheitsbegutachtung durch eine durch die gematik anerkannte unabhängige Instanz (Penetration-Tester etc.) haben. Die gematik nimmt das Gutachten ab und prüft, ob die Anforderung aus dem Produkttypsteckbrief bezogen auf die Schlüsselableitungsfunktionalität ausreichend betrachtet worden sind.
  7. Bei der Sicherheitsbegutachtung MUSS sichergestellt sein, dass die unabhängige Instanz aus Punkt 6 mit der gematik Informationen (Frage/Antwort) bezüglich der Sicherheitsbegutachtung austauschen darf.
[<=]

Hinweis zu Punkt 7:

Analog zu den CC-Evaluierungen der TI-Komponenten muss es möglich sein, ohne dass Verschwiegenheitsregelungen die Klärung von fachlichen Punkten während der Sicherheitsbegutachtung behindern, die notwendige Dauer der Sicherheitsbegutachtung zu minimieren.

4.4 Schlüssel im PKG-HSM

In einem PKG müssen verschiedene Schlüssel verfügbar sein, die durch ein PKG-HSM geschützt werden müssen.

A_19652 - Schlüssel in einem PKG-HSM

Ein PKG MUSS sicherstellen, dass in seinem (oder seinen) PKG-HSM folgende Schlüssel existieren und durch das (die) PKG-HSM geschützt werden:

  1. (S1) ein Signaturschlüsselpaar für die Authentisierung der Public-Parameter für die Operation PublicParameter (vgl. Abschnitt .
    Das Schlüsselpaar MUSS ein ECC-Schlüsselpaar für ECDSA auf Basis von brainpoolP256r1 sein.
  2. (S2) eine Liste von Root-Schlüsseln (der X.509-Root der TI),
  3. (S3) eine Liste von IdP-Zertifikaten (für die Prüfung der JWT),
  4. (S4) alle aktuell benötigten Masterkeys des IBE-Verfahrens zusammen mit den zugehörigen Public-Parametern,
  5. (S5) ein regelmäßig wechselnder Pseudonymisierungsschlüssel (DoS-Schutz).
[<=]

A_19653 - PKG-HSM: Schlüsselerstellung und Veränderung im Mehr-Augen-Prinzip

Ein PKG MUSS sicherstellen, dass die Schlüssel (S4) nur im Mehr-Augen-Prinzip erstellbar und änderbar sind.
Bei der Erstelllungsschlüsselzeremonie wird dem PKG-HSM eine Identifikator (PP-ID) für die dabei erzeugten Public-Parameter vorgegeben. Diese PP-ID MUSS den Public-Parameter zugehörig im PKG-HSM gespeichert werden. Das PKG-HSM MUSS PP-ID, die einen Doppelpunkt enthalten, ablehnen. [<=]

A_19667 - PKG-HSM: Schlüssel (S4)

Das PKG-HSM MUSS es ermöglichen mehrere [Public-Parameter, Maskerkeys, PP-ID]-Tupel im PKG-HSM zu speichern und verwenden zu können. [<=]

A_19654 - PKG-HSM: Root-Schlüssel sind Teil des Firmware-Moduls

Ein PKG MUSS sicherstellen, dass die Schlüssel (S2) Teil des PKG-HSM-Firmware-Moduls sind. [<=]

A_19655 - PKG-HSM: Exklusive Nutzungsrechte der Schlüssel für das Firmware-Modul

Ein PKG MUSS technisch sicherstellen, dass

  1. der private Schlüsselbestätigungsschlüssel bei (S1),
  2. die Masterkeys (S4),
  3. der Pseudonymisierungsschlüssel
ausschließlich durch das PKG-HSM-Firmware-Modul nutzbar sind. [<=]

A_19658 - Verfügbarkeit der Schlüssel in einem PKG-HSM

Ein PKG MUSS technisch sicherstellen, dass alle Schlüssel S4 und der private Schlüssel S1 in dessen PKG-HSM ausschließlich verschlüsselt und im Mehr-Augen-Prinzip importierbar und exportierbar sind (Ziel: Sicherstellung der Verfügbarkeit dieser Schlüssel). Der PKG MUSS technisch sicherstellen, dass beim Import und Export dieser Schlüssel notwendiger Weise ein Mitarbeiter der gematik beteiligt ist.
[<=]

A_19659 - Schutz des PKG-HSM-Firmware-Moduls

Ein PKG MUSS durch technische Maßnahmen sicherstellen, dass

  1. das Einbringen und das Update des speziellen Firmware-Moduls in ihrem (oder ihren) PKG-HSM nur im Mehr-Augen-Prinzip möglich ist,
  2. ein Mitarbeiter der gematik an diesem Vorgang beteiligt ist (durch das PKG-HSM durchgesetzt).
[<=]

Verständnishinweis zu   und  : Dies ist analog zu den Vorgaben, wie seit 2014 die CVC-Root der TI betrieben wird und so wie es auch bei den SGD umgesetzt wird. Damit wird der Betreiber eines PKG vom Verdacht befreit, er könnte die Masterkeys des IBE-Verfahrens (S4) missbrauchen. Er ist technisch aufgrund der zwei Anforderungen nicht in der Lage dies zu tun.

4.5 Pflege der Prüfschlüssel (S2) und (S3) im PKG-HSM

A_19662 - PKG, Aktualisieren von X.509-Root-Schlüsseln

Der PKG MUSS wöchentlich überprüfen, ob neue X.509-Root-CA-Versionen existieren und entsprechende Cross-Zertifikate verfügbar sind. Falls dies der Fall ist, so MUSS der PKG diese neue Root-Versionen in seine PKG-HSMs importieren (vgl.  xxx Punkt xxx).
[<=]

Hinweis: Nach der Erzeugung einer neuen Root-Version der X.509-Root-CA der TI werden dessen selbstsigniertes Zertifikat und Crosszertifikate auf den Download-Punkt  https://download.tsl.ti-dienste.de/ abgelegt. Automatisiert kann der SGD ePA von dort die Verfügbarkeit neuer Versionen überwachen. Im Regelfall wird alle zwei Jahre eine neue Root-Version erzeugt.

A_19670 - PKG, täglicher Abgleich der IdP-Zertifikate und der Schlüssel (S3) in den PKG-HSM

Der PKG MUSS täglich die TSL der TI beziehen (vgl. Download-Punkte des TSL-Dienstes, bspw. https://download.tsl.ti-dienste.de/TSL.sha2 und https://download.tsl.ti-dienste.de/TSL.xml).
Sollten sich IdP-Zertifikate in der TSL befinden, die noch nicht in den PKG-HSM in der Liste der Prüfschlüsseln (S3) enthalten sind, so MUSS der PKG diese in die PKG-HSM importieren (vgl. A_xxx, Prüfung der Zertifikate im PKG-HSM über die Root-Schlüssel (S2)).
Sollte IdP-Zertifikate nicht mehr in der TSL aufgeführt sein, so muss der PKG für diese Zertifikate Sperrinformationen vom OCSP-Responder der X.509-Root der TI beziehen und diese den PKG-HSM zur Prüfung übergeben.
Die PKG-HSM müssen bei erfolgreicher Prüfung dieser Sperrinformationen (inkl. OCSP-Responder-Zertifikat des OCSP-Responder der X.509-Root der TI) die gesperrten IdP-Zertifikate aus der Liste (S3) entfernen und dauerhaft die Sperrung im PKG-HSM speichern (ein erneutes Importieren eines gesperrten IdP-Zertifikat darf nicht mehr möglich sein). [<=]

4.6 Funktionsablauf Firmware-Modul PKG-HSM

In diesem Abschnitt wird die Ablauflogik im speziellen HSM-Firmware-Modul beschrieben. Diese Vorgaben sind ein wichtiger Bestandteil der für die Zulassung notwendigen Sicherheitsüberprüfung (vgl.  ).

4.6.1 Zertifikats- und Schlüsselprüfung im PKG-HSM

4.6.2 Kommandozeichenkette

Die Operationen PrivateKey und Random enthalten im Request einen vom Client für die PKG-HSM über ein IBE-Verfahren (vgl. [gemSpec_Krypt#]) verschlüsselte Kommandozeichenkette. Als Identifikationszeichenkette für den dabei verwendeten öffentlichen Schlüssel verwendet der Client die Zeichenkette "PKG:YYYYMMDD" (vgl.  und xxx).

A_19666 - PKG-HSM, Kommandozeichenkette auswerten

Ein PKG-HSM MUSS von der RVE die "cipher_text" der Clients aus den Operationen PrivateKey und Random entgegen nehmen.
Das PKG-HSM MUSS versuchen die Zeichenkette gemäß [gemSpec_Krypt#] mittels des für das Chiffrat zugehörigen Masterkeys (vgl. Kodierung gemäß xxx und PP-ID), der sich als privater Schlüssel im PKG-HSM befindet, zu entschlüsseln.
Falls dies fehlschlägt MUSS das PKG-HSM die mit einer entsprechender Fehlermeldung an die RVE meldet (Innenschnittstelle) und die Kommandoabarbeitung für den Request abbrechen.
Das PKG-HSM MUSS prüfen ob der entschlüsselte Klartext (= s) das folgende Format besitzt:
s="<JWT>" + " " + "<r>" + " " + "<k>" + " "+ "PrivateKey" + " " + "<erweiterte Identifikationszeichenkette>"
oder
s="<JWT>" + " " + "<r>" + " " + "<k>" + " " + "Random" + " " + "<Zahl>"

  1. <JWT> MUSS ein JWT gemäß RFC-xxx sein.
  2. <r> MUSS eine 64 Byte große Hexadezimalzeichenkette sein.
  3. <k> analog <r>.
  4. Zahl MUSS eine Zahl zwischen 256 und 2^10 sein.
[<=]

4.6.3 JWT-Prüfung

4.6.4 Schlüsselberechnung im PKG-HSM

4.6.5 Anwendungsspezifische Sonderfunktionen im PKG-HSM

A_19660 - PKG-HSM, besondere Funktion eRezept, Zeitbeschränkung

Ein PKG-HSM MUSS, wenn bei der Operation PrivateKey in der erweiterten Identifikationszeichenkette der Applikationsname "eRp" (d. h. zweites Datenfeld in der Identifikationszeichenkette) und die Datumsinformation am Ende der Identifikationszeichenkette älter als drei Monate in Bezug auf die aktuelle Zeit im PKG-HSM ist, das PKG-HSM die Schlüsselberechnung ablehnt. Die RVE MUSS dann gemäß Tabelle Tab_Fehlerfälle_und_Fehlermeldungen den Fehler date-not-valid als Antwort senden.
[<=]

 ist eine Umsetzung von [gemSysL_eRp#]. 

5 Kodierung von Schlüsseln und Nachrichten

Festlegungen in diesem Abschnitt folgen in Kürze. In der aktuell in der Entwicklung befindlichen Beispiel-Implementierung des PKG der gematik werden die Kodierungsvorgaben aktuell validiert, und anschließend in einer Folgeversion von gemSpec_PKG in diesem Abschnitt normativ festgelegt.

5.1 Kodierung der Public Parameter

Aktuell in der Validierung befindliche Kodierung der Public Parameter:

Die Public Parameter werden als JSON-Datenstruktur kodiert. Der Hauptteil ist ein Array in dem die Public Parameter ggf. mehrerer IBE-Verfahrens aufgeführt sind. Ein Client verwendet das erste Element, dessen Verfahren er unterstützt. Pro Verfahren wird genau ein Public Parameter aufgeführt.

Tabelle 4: Struktur der JSON-Kodierung der Public Parameter

[
 { "id" : "Boneh-Franklin-RFC-5091",
   "version" : "2",
   "curve_id" : "y^2 = x^3 + 1",
   "p" : "0xfaaffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffe",
   "q" : "0xfffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffe",
   "pointP" : [ "0x1", "0x2" ],
   "pointPpub" : [ "0x3" , "0x4" ],
   "hash_id" : "sha256"
  },
  { "id" : "another_ibe_cryptosystem",
    "not_know_yet" : "1"
  }

5.1.1 Aufführung in der TSL

Aktuell in der Validierung befindliche TSL-Struktur.

Tabelle 5: Struktur TSL-Eintrag für die Public Parameter

 <TSPService>
  <ServiceInformation>
    <ServiceTypeIdentifier> http://uri.telematik/TrstSvc/Svctype/PKG </ServiceTypeIdentifier>
    <ServiceName>
      <Name xml:lang="DE">PKG der Telematikinfrastruktur</Name>
    </ServiceName>
    <ServiceDigitalIdentity>
      <DigitalId>
        <Other>
            <ns:PKGPublicParameter xmlns:ns="http://uri.etsi.org/02231/v2#">
                .... Base64-kodierte Public Parameter wie in Abschnitt 5.1 definiert ...
            </ns:PKGPublicParameter>
        </Other>
      </DigitalId>
    </ServiceDigitalIdentity>
    <ServiceStatus> http://uri.etsi.org/TrstSvc/Svcstatus/inaccord</ServiceStatus>
    <StatusStartingTime> 2020-01-21T10:00:00Z</StatusStartingTime>
    <ServiceSupplyPoints>
      <ServiceSupplyPoint> http://ocsp00.gematik.invalid/not-used</ServiceSupplyPoint>
    </ServiceSupplyPoints>
    <ServiceInformationExtensions>
      <Extension Critical="false">
        <ns:ExtensionOID xmlns:ns="http://uri.etsi.org/02231/v2#"> 1.2.276.0.76.4.xxx </ns:ExtensionOID>
        <ns:ExtensionValue xmlns:ns="http://uri.etsi.org/02231/v2#"> oid_public_parameter </ns:ExtensionValue>
      </Extension>
    </ServiceInformationExtensions>
  </ServiceInformation>
</TSPService>

5.1.2 Signatur der Public Parameter für die Operation PublicParameter

Die JSON-kodierten Public Parameter werden per JSON Web Signature (JWS) [RFC-7515] signiert und vom PKG mit dem Context-Type "application/jose" an den Client als Antwort gesendet. Die Signatur wird mit dem Schlüssel (S1) aus A_19652 im PKG-HSM erzeugt.

6 Schnittstellen und Operationen

Der PKG bietet zwei HTTPS-Schnittstellen an -- eine im Internet und eine in der TI.

Die gematik stellt auf Anfrage eine Beispiel-Implementierung für die Außenschnittstellen eines PKG bereit.

6.1 Innenschnittstellen

Die Innenschnittstellen zwischen der Request verarbeitende Einheit (RVE) für die eingehenden HTTP-Request und dem PKG-HSM sind PKG-intern. Deren Ausgestaltung bleibt dem Betreiber überlassen.

6.2 HTTPS-Schnittstellen und HTTP-Kommunikation

A_19525 - PKG, HTTPS-Schnittstellen

Der PKG MUSS zwei HTTPS-Schnittstellen anbieten:

  1. eine HTTPS-Schnittstelle im Internet unter der URL https://pkg.ti-dienste.de, und
  2. eine HTTPS-Schnittstelle in der TI unter der URL https://pkg.telematik.
Für die HTTPS-Schnittstelle im Internet MUSS ein Extended Validation TLS-Zertifikat eines Herausgebers gemäß [CAB-Forum] verwendet werden.

Für die HTTPS-Schnittstelle in der TI MUSS der PKG ein TLS-Fachdienst Zertifikat (inkl. privatem Schlüssel) mit dem Profil C.FD.TLS-S (vgl. [gemSpec_PKI#C.FD.TLS-S Server-Authentisierung] und OID "oid_fd_tls_s" [gemSpec_OID]) aus der Komponenten-PKI der TI besitzen und verwenden. [<=]

Hinweis: Vorgaben für das dabei zu verwendeten TLS-Protokoll finden sich in [gemSpec_Krypt] und werden über die Referenzierung im Produkttypsteckbrief PKG normativ.

A_19526 - PKG, OCSP-Stapling

Ein PKG MUSS bei seinen HTTPS-Schnittstellen OCSP-Stapling unterstützen und verwenden. [<=]

A_19632 - PKG, HTTP-Version

Ein PKG MUSS auf den HTTPS-Schnittstellen die HTTP Version 1.1 unterstützen. [<=]

A_20084 - PKG, optionale HTTP-Versionen

Ein PKG KANN neben HTTP Version 1.1 (vgl. A_19632) zusätzlich auch höhere HTTP-Version (HTTP/2 oder  HTTP/3) unterstützen. [<=]

6.2.1 Schutz vor DoS-Angriffen

A_19634 - PKG, DoS-Schutzmaßnahmen auf Netzwerkprotokoll-Ebene

Ein PKG MUSS bei seinen beiden HTTPS-Schnittstellen Schutzmaßnahmen auf Netzwerkprotokoll-Ebene umsetzen. Diese MÜSSEN gegen Angriffe wie bspw. SYN-Flooding, Connection Flooding, ICMP Flooding wirksam sein. [<=]

A_19633 - PKG, DoS-Schutzmaßnahmen auf Applikationsebene

Ein PKG MUSS bei seinen beiden HTTPS-Schnittstellen in der Request verarbeitenden Einheit (RVE) Maßnahmen gegen DoS-Angriffe auf Applikation-Ebene umsetzen (vgl. "Hinweise zu A_19633"). Dabei MUSS der PKG zwischen zwei Klassen von Anfragenden unterscheiden: (1) die ohne einer gültigen user_id und (2) die mit einer gültigen user_id. Liegen aktuell so viele Client-Anfragen vor, dass die DoS-Schutzmaßnahmen auf Applikationsebene aktiviert werden müssen, so MUSS die RVE

  1. die Clients mit gültiger user_id mit einem Faktor von ca. 10 bevorzugen, und
  2. die Clients mit gültiger user_id, die zu viele Anfragen in einer von der RVE-Implementierung gewählten Zeiteinheit gestellt haben, mit einem try-later (vgl. Abschnitt ) abgewiesen (vgl. "Hinweis zu  A_19633").
[<=]

Hinweis zu A_19633:

Das in A_19633 Punkt 2) geforderte Verhalten, kann man effizient bspw. mittels "Counting Bloom Filter" implementieren. Die Client-ID ist der dann zu verwendende Schlüsselwert für den Bloom-Filter.

6.3 Anforderungen an die JSON-Requests und -Responses

A_19635 - Aufwärtskompatibilität JSON-Requests und -Responses

Alle an einer Kommunikation mit einem PKG beteiligten Parteien (Client, PKG selbst) MÜSSEN sicherstellen, dass die JSON-Datenstrukturen, die bei der Kommunikation übermittelt werden, zusätzliche Key-Value-Paare enthalten können, d. h. ein Beteiligter MUSS ihm unbekannte Key-Value-Paare ignorieren. [<=]

A_19636 - Maximale Größe der JSON-Requests und -Responses

Ein PKG und ein Client eines PKG MÜSSEN JSON-Requests und -Responses auf den PKG ablehnen, wenn diese größer als 2 MiB sind. [<=]

Erläuterung zu A_19636: Bei einer Sicherheitsüberprüfung muss u. a. die Validierung von Daten an der Außenschnittstelle betrachtet werden (im Fokus die Implementierung im PKG-HSM). Dabei unterstützt   indem sie eine obere Schranke für die Größe aller Eingabe-Datenfelder definiert.

6.4 Operation PublicParameter

A_19661 - PKG, Anfrage PublicParameter

Ein Client eines PKG MUSS für die Operation PublicParameter bei der URI den Pfadnamen /PublicParameter und die HTTP-GET- Methode verwenden. [<=]

A_19665 - PKG, Antwort PublicParameter

Ein PKG MUSS in Bezug auf die Beantwortung einer Anfrage auf die Operation PublicParameter sicherstellen, dass dessen RVE als Antwort die in einer Datei befindlichen signierten und kodieren Public-Parameter sendet (vgl. Abschnitt ). [<=]

Die Public-Parameter werden jährlich neu erstellt und über die TSL authentitäts- und integritätsgeschützt verteilt. Für Systeme, die die TSL nicht als Prüfbasis verwenden, sondern die X.509-Root der TI, stellt der PKG die aktuellen Public Parameter in signierte Form zur Verfügung.

Die Formulierung "in einer Datei" bei A_19665 soll verdeutlichen, dass diese Information semistatisch an den Client gesendet werden, also nicht dynamisch berechnet werden.

6.5 Operation PrivateKey

A_19643 - PKG, Anfrage PrivateKey

Ein Client eines PKG MUSS für die Verwendung der Operation PrivateKey folgende Vorgaben erfüllen:

Er MUSS bei der URI den Pfadnamen /PrivateKey und die HTTP-POST-Methode verwenden.

Er MUSS eine zufällig 256 Bit lange Request-ID erzeugen und diese hexadezimal kodieren (=r) (Beispiel:
00002a5c86824b9664fba01b649ed791365f3e7a90c5b57a6713b6ebcaba0d92
). 

Er MUSS einen zufällig einen 256 Bit langen AES-Schlüssel (=k) erzeugen und diesen hexadezimal kodieren (=k) (Beispiel: 006d92d76fff728b5440653f5d52f9e7c70928e325c62e1179c56f74808c0000).

Er MUSS die Zeichenkette s mit
s="<JWT>" + " " + "<r>" + " " + "<k>" + " "+ "PrivateKey" + "<erweiterte Identifikationszeichenkette>"
erzeugen, wo bei JWT das für den PKG dedizierte JWT (Authentisierungstoken) des Nutzers ist, und die erweiterte Identifikationszeichenkette aus dem beigefügten Daten des Chiffrat (vgl. Abschitt  ) entnommen ist.

Diese Zeichenkette s MUSS er gemäß [gemSpec_Krypt# ] mit der erweiterten Identitifkationszeichenkette "PKG:<YYYYMMDD>" verschlüsseln und gemäß xxx kodieren. So erhält er das Chiffrat c.

Er MUSS folgende JSON-Datenstruktur j erzeugen:
{ "ct" : "<c>", "user_id" : "<user_id>" }
Er MUSS bei <user_id> die ihm beim vorherigen Request zugewiesene user_id eintragen. Falls ein noch keine besitzt MUSS er als Wert leere Zeichenkette verwenden ("user_id" : "").
[<=]

6.6 Operation Random

6.7 Operation Time

Über diese Operation kann ein Client die aktuelle Zeit (bspw. "2020-04-28T05:42:47.248131+00:00") im PKG (RVE) vom PKG erfragen. Ziel ist es Clients die Möglichkeit zu geben von mehreren Quellen Zeitinformationen zu erlangen und aus dieser Menge an Antworten den Median als aktuelle Zeit zu gewinnen, insbesondere für den Fall, dass Clients die Verwendung des NTP-Protokolls nicht möglich ist (bspw. Netzwerkbeschränkungen im aktuell verwendeten WLAN). Der PKG mit dieser Operation ist eine Quelle.

A_20082 - PKG, Anfrage Time

Ein Client eines PKG MUSS für die Operation Time bei der URI den Pfadnamen /Time und die HTTP-GET- Methode verwenden. [<=]

A_20083 - PKG, Antwort Time

Ein PKG MUSS in Bezug auf in Bezug auf die Beantwortung einer Anfrage auf die Operation Time sicherstellen, dass dessen RVE als Antwort die aktuelle Systemzeit (UTC) in der RVE im Format nach ISO 8601 (Beispiel: "2020-04-28T05:42:47.248131+00:00") mit dem Content-Type "text/plain" sendet. [<=]

Beispiel-Code in Python:

from datetime import datetime, timezone

print(datetime.now(timezone.utc).isoformat())

6.8 Fehlermeldungen

A_19637 - PKG, RVE, Fehlermeldungen

Ein PKG MUSS Folgendes sicherstellen: Die RVE MUSS bei Fehlerfällen die in Tabelle ”Tab_Fehlerfälle_und_Fehlermeldungen” aufgeführten Fehlermeldungen an einen PKG-Client senden und dabei die in der Tabelle aufgeführten HTTP-Status-Codes verwenden (vgl. Erläuterung in Abschnitt 6.7.1). [<=]

Tabelle #: Tab_Fehlerfälle_und_Fehlermeldungen

Fehlerfall
an den Client zu sendende Fehlernachricht
HTTP-Status-Code
Der für das PKG-HSM verschlüsselte Request könnte nicht korrekt entschlüsselt werden (bspw. AES/GCM meldet FAIL).
{ "Status" : "decryption FAIL" }
400 Bad Request
Das Kommando an das PKG-HSM (vgl. bspw.   Zeichenkette s) ist nicht wohlgeformt. { "Status" : "command not valid" } 400 Bad Request
Die im Kommando an das PKG-HSM referenzierten Public-Parameter gibt es nicht. { "Status" : "public parameter reference not valid" } 400 Bad Request
Die erweiterte Identifikaktionszeichenkette trägt ein Datum in der Zukunft (nicht erlaubt). { "Status" : "date not valid" } 400 Bad Request
Eine Bedingung einer applikationsspezifische Sonderfunktion triff nicht zu (vgl. Abschnitt 4.6.5 ). { "Status" : "application constraint applies" } 409 Conflict
Die Tokenprüfung (JWT) im PKG-HSM ergab kein Positiv-Ergebnis.
{ "Status" : "jwt not valid" }
401 Unauthorized
Datenfelder im Request fehlen.
{ "Status" : "request not valid" }
400 Bad Request
Der Request ist größer als 2 MiB ().
{ "Status" : "payload too large" }
413 Payload Too Large 
Die RVE musste DoS-Gegenmaßnahmen einleiten und Client nun mit dieser Fehlermeldung abweisen (vgl.  ). { "Status" : "try later" } 429 Too Many Requests

A_19638 - PKG, RVE, selbst definierte Fehlermeldungen und erweiterte Statusinformationen

Eine RVE eines PKG KANN weitere Fehlermeldungen analog zu den in Tabelle [gemSpec_PKG#Tab_Fehlerfälle_und_Fehlermeldungen] aufgeführten Fehlermeldungen für sich definieren und an einen PKG-Client senden.
Eine RVE KANN schon definierte Fehlermeldungen mit beliebigen JSON-Format-konformen Statusinformationen anreichern. Dabei gilt die Größenbeschränkung aus . Vgl. auch 
Beispiel:
{
 "Status": "decryption FAIL",
 "Error": {
  "Timestamp": "2019-01-15T13:37:42.123Z",
  "Trace": {
   "LogReference": "550e8400-e29b-11d4-4ffe-446655440000"
  }
 }
}
[<=]

6.8.1 Fehlermeldungen und HTTP-Status-Code (informativ)

Da der PKG im Gegensatz zum SGD, sowohl in der TI als auch im Internet eine HTTPS-Schnittstelle anbietet, gibt es keine Weiterleitung der Nachrichten über ein Gateway (vgl. Zugangsgateway des Versicherten bei ePA). Daher gibt es beim PKG keine Motivation die Beziehung Applikationsnachrichten und HTTP-Fehlercodes für eine einfachere Weiterleitung der Nachrichten über ein Gateway zu vereinfachen. Deshalb gilt für die Außenschnittstellen des PKG der übliche REST-Ansatz (vgl. HTTP-Status-Codes in Tabelle "Tab_Fehlerfälle_und_Fehlermeldungen").

7 Clientspezifische Festlegungen

A_19651 - Sender IBE, Bildungsvorschrift für die erweiterten Identifikationszeichenkette

Ein Sender im Kontext IBE MUSS bei der Erstellung der erweiterten Identifikationszeichenkette folgende Struktur s erzeugen:
s=<ID-Public-Parameter>:<Anwendung>:<Operation>:<Typ-des-Identifikationsmerkmals>:<Identifikationsmerkmal>:<Datum>

Beispiele:

  1. PP1:eR:eR:KVNR:A0123456789:20200216
  2. PP1:KOM-LE:M:TID:2-20a1201-001:20200410
Der Sender im Kontext IBE MUSS diese Zeichenketten bei der Berechnung des öffentlichen Schlüssels (vgl. [gemSpec_Krypt#]) verwenden.
Den aktuellen Wert für ID-Public-Parameter MUSS ein Sender entweder aus der TSL im Eintrag für die Public-Parameter ermitteln oder aus der Antwort der Operation PublicParameter (xxx).
Die Festlegung für "<Anwendung>" und "<Operation>" trifft jede Anwendung für sich selbst (Teil der Anwendungsspezifikation). [<=]

Die kryptographischen Vorgaben für das zu verwendende IBE-Verfahren sind mit [gemSpec_Krypt#] festlegt,   legt die dabei zu verwendende Struktur der erweiterten Identifikationszeichenkette fest.

A_19649 - Sender IBE, Escaping des Doppelpunkt im Identifikationsmerkmal

Ein Sender im Kontext IBE MUSS bei der Erstellung der erweiterten Identifikationszeichenkette überprüfen ob Bestandteile der Identifikationszeichenkette (insbesondere die Telematik-ID) Doppelpunkte enthalten. Falls ja, so MÜSSEN diese wie folgt umkodiert werden bevor diese in die Bildung der erweiterten Identifikationszeichenkette einfließen:
Enthält der Bestandteil einen Doppelpunkt (":", Character 58), so MUSS der Sender den Bestandteil in Hexadezimalschreibweise (ohne führendes "0x") kodieren und davor ein "*" (Character 42) setzen.
Beispiel Telematik-ID:
"2-20a1201-001:AAB::112" wird zu "*322d323061313230312d3030313a4141423a3a313132"
[<=]

Erläuterung A_19649: Es ist sehr unwahrscheinlich, dass der Fall aus A_19649 auftritt, er kann jedoch formal nicht ausgeschlossen werden, da es aktuell keine normativen, vollständigen Vorgaben für die genaue Struktur von Identifikationsmerkmalen außer der KVNR gibt.

A_19657 - PKG-Client, Verwendung und Aktualisierung der user_id

Ein PKG-Client MUSS bei der Kommunikation mit dem PKG die von PKG übermittelte user_id für den nächsten Aufruf einer Operation beim PKG verwenden. [<=]

Bei den Operationen eines PKG (vgl. Abschnitte 6.4, 6.5 und 6.6) sendet der PKG eine pseudozufällig erzeugte user_id als Teil der Antwort an den PKG-Client. Diese user_id muss der Client beim nächsten Aufruf einer Operation des PKG an den PKG mitsenden.

Die user_id wird regelmäßig gewechselt (vgl. Abschnitt ) und ist eine für den PKG-Client opake Zeichenkette, d. h. der PKG-Client braucht die Bildungsvorschrift der user_id in der RVE nicht zu verstehen.

A_19650 - PKG-Client, Geheimhaltung der user_id

Ein PKG-Client MUSS die bei der Kommunikation mit dem PKG (von der RVE) erhaltenden user_id geheimhalten und ausschließlich für die Kommunikation mit dem PKG verwenden. [<=]

Erläuterung: Die user_id ist nicht erratbar und dient dem DoS-Schutz im PKG. Ihr Schutzbedarf ist (nur) mittel, sie sollte die PKG-Client-Applikation nicht unkontrolliert verlassen, da ansonsten es einem Angreifer gelingen könnte den Client mit der bekannt gewordenen user_id temporär vom PKG "auszusperren". Die Intention von  ist nicht, dass die Variable in einem TPM gespeichert werden soll.

8 Anhang A – Verzeichnisse

8.1 Abkürzungen

Kürzel
Erläuterung
IBE Identity Based Encryption
PKG Private Key Generator
SGD Schlüsselgenerierungsdienst
TPM Trusted Plattfom Modul

8.2 Glossar

Begriff
Erläuterung
Funktionsmerkmal Der Begriff beschreibt eine Funktion oder auch einzelne, eine logische Einheit bildende Teilfunktionen der TI im Rahmen der funktionalen Zerlegung des Systems.

Das Glossar wird als eigenständiges Dokument (vgl. [gemGlossar]) zur Verfügung gestellt.

8.3 Abbildungsverzeichnis

8.4 Tabellenverzeichnis

8.5 Referenzierte Dokumente

8.5.1 Dokumente der gematik

Die nachfolgende Tabelle enthält die Bezeichnung der in dem vorliegenden Dokument referenzierten Dokumente der gematik zur Telematikinfrastruktur. Der mit der vorliegenden Version korrelierende Entwicklungsstand dieser Konzepte und Spezifikationen wird pro Release in einer Dokumentenlandkarte definiert; Version und Stand der referenzierten Dokumente sind daher in der nachfolgenden Tabelle nicht aufgeführt. Deren zu diesem Dokument jeweils gültige Versionsnummern sind in der aktuellen, von der gematik veröffentlichten Dokumentenlandkarte enthalten, in der die vorliegende Version aufgeführt wird.

[Quelle]
Herausgeber: Titel
[gemGlossar] gematik: Einführung der Gesundheitskarte – Glossar
[gemSpec_Krypt] gematik: Übergreifende Spezifikation, Verwendung kryptographischer Algorithmen in der Telematikinfrastruktur
[gemSysL_eRp] gematik: Systemspezifisches Konzept E-Rezept

8.5.2 Weitere Dokumente

[Quelle]
Herausgeber (Erscheinungsdatum): Titel
[CAB-Forum]
Liste vertrauenswürdiger Zertifikatsherausgeber (Root-CAs) für Anwendungen im Internet
https://cabforum.org/members/
[RFC-7515] xxx JWS