C_12143_Anlage_V1.0.0


C_12143_Anlage

Inhaltsverzeichnis

1 Änderungsbeschreibung

Es erfolgt eine Anpassung am VSDM-plus-Prüfnachweis. Der Aufbau wird verändert. Deshalb gibt es Anpassungen beim Erzeuger (VSDM-FD) und den auswertenden Fachdiensten (E-Rezept-Fachdienst und ePA-Aktensystemen). Der neuer VSDM-plus-Prüfnachweis Version 2 hat die gleiche Länge und "äußere Form" wie ein bislang verwendete VSDM-plus-Prüfziffer. Deshalb ergibt sich keine Änderung an anderen Systemen wie dem Konnektor oder am Intermediär. Auch für ein Primärsystem ist die Änderung der Prüfziffer unsichtbar.

2 Änderung in gemSpec_Krypt

In gemSpec_Krypt wird der Abschnitt "3.17 HMAC-Sicherung der Prüfziffer VSDM" nach "3.17 kryptographisch gesicherte VSDM-Prüfziffer Version 1" umbenannt und ein neuer Abschnitt "3.18 VSDM-Prüfziffer Version 2" wie folgt eingefügt (auf die Gelbfärbung des ganzen Abschnitts wird verzichtet, weil in Gänze neuer Text).

3.18 Kryptographisch gesicherte VSDM-Prüfziffer Version 2

Bei der kryptographischen Sicherung der VSDM-Prüfziffer Version 1 wird im VSDM-FD im Jahresrythmus ein Geheimnis erzeugt, das als Grundlage für die kryptographische Sicherung der Integrität einer VSDM-Prüfziffer über einen HMAC dient. Für Version 2 der kryptographischen Sicherung der VSDM-Prüfziffer werden die wesentlichen Teile der Prüfziffer vertaulichkeitsgeschützt (verschlüsselt) und authentitäts-/integritätsgeschützt. Dabei wird wie in der TI üblich AES/GCM als "Authenticated Encryption with Associated Data (AEAD)"-Verfahren verwendet. Damit werden die Klartext-Daten bei der AES/GCM-Verschlüsselung ebenfalls authentizitäts- und integritätsgeschützt (GMAC-Wert/Authentication-Tag). Deshalb kommt bei der Version 2 kein HMAC mehr bei der eigentlichen Sicherung der Prüfziffern Version 2 zur Anwendung sondern AES/GCM (inkl. GMAC).

A_27274 - VSDM-Betreiber: jährliche Erzeugung des gemeinsamen Geheimnisses

Ein Betreiber eines VSDM-Dienstes MUSS (min.) jährlich ein Geheimnis für die kryptographische Sicherung der VSDM-Prüfziffern zufällig mit einer Länge von 256 Bit  (= 32 Byte) und einer Mindestentropie von 120 Bit erzeugen. [<=]
[<=]

Hinweis: es gelten die Anforderungen aus Abschnitt "2.2 Zufallszahlengeneratoren" (Güte der Zufallsquellen) auch für die VSDM-Betreiber (Anbietersteckbrief).

Die erzeugten Geheimnisse müssen für die prüfenden System E-Rezept-VAU und ePA-Aktensystem-VAU (Plural) verschlüsselt (A_27275-*) überführt werden. Dafür gibt es im Kontext Prüfziffer Version 1 einen etablierten Prozess, bei dem die Authentizität und Integrität der verschlüsselten Geheimnisse sichergestellt wird. Dieser Prozess wird unverändert weitergeführt auch für den sicheren Transport der gemeinsamen Geheimnisse im Kontext Prüfziffer 2.

A_27275 - VSDM-Betreiber: verschlüsselter Export des gemeinsamen Geheimnisses für Prüfziffer prüfende Fachdienste-VAUs

Ein Betreiber eines VSDM-Dienstes MUSS das gemeinsame Geheimnis (vgl. A_27274-*) mittels des ECIES-Verfahrens [SEC1-2009] für den Export an die VAUs der prüfenden Fachdienste (E-Rezept-FD, ePA-Aktensysteme) verschlüsseln und dabei folgende Vorgaben umsetzen

  1. Er MUSS ein ephemeres ECDH-Schlüsselpaar erzeugen, auf der Kurve des EE-Schlüssels aus dem Verschlüsselungszertifikat des Empfängers (VAUENC) -- als P-256 oder brainpoolP256r1, und mit diesem und dem VAU-Schlüssel aus A_20160-* ein ECDH gemäß [NIST-800-56-A] durchführen. Das somit erzeugte gemeinsame Geheimnis ist Grundlage für die folgende Schlüsselableitung.
  2. Als Schlüsselableitungsfunktion MUSS er die HKDF nach [RFC-5869] auf Basis von SHA-256 verwenden.
  3. Dabei MUSS er den Ableitungsvektor "ecies-vau-transport" verwenden, d. h. in der Formulierung von [RFC-5869] info="ecies-vau-transport" .
  4. Er MUSS mit dieser Schlüsselableitung einen AES-128-Bit Content-Encryption-Key für die Verwendung von AES/GCM ableiten.
  5. Er MUSS für Verschlüsselung mittels AES/GCM einen 96 Bit langen IV zufällig erzeugen.
  6. Er MUSS mit dem CEK und dem IV mittels AES/GCM p verschlüsseln, wobei dabei ein 128 Bit langer Authentication-Tag zu verwenden ist.
  7. Er MUSS das Ergebnis wie folgt kodieren: chr(0x01) || <32 Byte X-Koordinate von öffentlichen Schlüssel aus (a) > || <32 Byte Y-Koordinate> || <12 Byte IV> || <AES-GCM-Chiffrat> || <16 Byte AuthenticationTag> (vgl. auch Tab_KRYPT_ERP und folgende die Beispielverschlüsselung).
    Die Koordinaten sind (wie üblich) vorne mit chr(0) zu padden solange bis sie eine Kodierungslänge von 32 Byte erreichen.
[<=]

Hinweis: Die gematik stellt Beispiel-Code bereit.

A_27276 - VSDM: Export-Paket

Ein VSDM-FD MUSS bei der Erstellung der Export-Pakete für den Export der gemeinsamen Geheimnisse (vgl. A_27274-*) an die prüfenden Systeme (E-Rezept-VAU, ePA-Aktensystem-VAU-HSM etc.) die gleiche Export-Paket-Struktur verwenden wie im Kontext Prüfziffer Version 1. [<=]

Beispiel für ein Export-Paket

{
  "betreiberkennung": "X",
  "version": "2",
  "exp": "2025-07-31",
  "encrypted_key": "019cd8fd69893e0cca78284b73281cb5e6978f9ec69f8475e30da8709d582d1241188e5f11ae14b68defcb28f55b279a61e2b0a03314a9d105c67089602c0904f76f0f90b93547f02078f2c6c3d0469b6e43fe2e5a512c3594537184b15c9aaf4b77b7da792e2e1eaae92d812ddf7633c8b6e9bfe3fa7ff67daedb1185",
  "hmac_empty_string": "b9cda130455534eca5c767d8e1a6e62ff896c2e4a3a02fd7515466f4de2eb0e6"
}

Hinweis: Auch bei beim Export-Paket für Version 2 wird als Integritätssicherung des Exports ein HMAC -- wie bei Version 1 -- verwendet. Für die Sicherung der Prüfziffern selbst im Betrieb wird dann AES/GCM verwendet.

Die gematik stellt Beispiel-Code für die Erzeugung eine Export-Pakets gemäß A_27276-* bereit.

A_27356 - VSDM: explizite Angabe der Geheimnis-Version bei Erzeugung

Ein VSDM-FD MUSS es einem VSDM-FD-Betreiber ermöglichen:

  1. bei der (im Regelfall jährlichen) Erzeugung des Geheimnisses die Schlüsselversion, die bei der Erzeugung zu verwenden ist, explizit und beliebig (außer die aktuell aktive Schlüsselversion) anzugeben, 
    (Es ist also keine strenge Monotonie bei der Folge der Schlüsselversionen durchzusetzen.)
  2. explizit und beliebig auszuwählen welche Schlüsselversion aktiv (zur Erzeugung von Prüfziffern) verwendet werden soll, und  
  3. explizit auszuwählen welche Schlüsselversion zu löschen ist.
[<=]

Erläuterung zu A_27356-*:

Als Beispiel ein VSDM-FD verwendet die Schlüsselversion 3, keine anderen Schlüsselversionen liegen im VSDM-FD vor. Dann kommt es zur (im Regelfall jährlichen) Erneuerung. Dabei muss ein Betreiber angeben können das neu erzeugte Schlüsselmaterial soll die Version "1" haben. Dafür wird ein Export-Paket erzeugt und die Geheimnisse wurde in die ePA-Aktensysteme und den E-Rezept-FD erfolgreich importiert. Dann muss der Betreiber des VSDM-FD konfigurieren können: ab jetzt soll Version "1" aktiv sein (Version "3" ist dann inaktiv). Der Betreiber wird im Normalfall dann Version "3" löschen.

A_27277 - VSDM-Betreiber: Schlüsselwechsel

Ein Betreiber eines VSDM-Dienstes MUSS folgendes sicherstellen.

  1. Nach der jährlicher Erneuerung des gemeinsamen Geheimnisses (vgl. A_27274-*) MUSS dieses mittels A_27275-* und A_27276-* und des schon für die Prüfziffer Version 1 etablierten Prozess jeweils für die prüfenden Systeme (E-Rezept-VAU und ePA-Aktensystem-VAUs) verschlüsselt und an diese übermittelt werden.
  2. Das gemeinsame Geheimnis MUSS zunächst "inaktiv" sein.
  3. Erst nach erfolgreichen Import durch alle prüfenden Systeme MUSS das gemeinsame Geheimnis aktiviert werden und mittels A_27286-* der entsprechende AES/GCM-Schlüssel abgeleitet werden. Dieser ist dann aktiv und der jüngste AES/GCM-Schlüssel und MUSS nach A_27278-* für die Erzeugung der Prüfziffern Version 2 verwendet werden.
[<=]

A_27286 - VSDM-FD: Ableitung des AES/GCM-Schlüssel für die Sicherung der Prüfziffern Version 2 aus dem gemeinsamen Geheimnis

Ein VSDM-FD MUSS nach der Erzeugung eines gemeinsamen Geheimnisses (vgl. A_27274-*), mit dem Geheimnis eine Schlüsselableitung durchführen. Mittels der HKDF nach [RFC-5869] auf Basis von SHA-256 und dem Ableitungsvektor "VSDM+ Version 2 AES/GCM" ein 128 Bit (=16 Byte) Wert (Bitfolge) abgeleitet werden. Diese 128 Bit Bitfolge MUSS als AES/GCM-Schlüssel für die Erzeugung der Prüfziffern Version 2 gemäß A_27278-* verwendet werden.

D. h. Es wird nach A_27274-* ein neuer Schlüssel jährlich erzeugt, der dann die Versionsnummer x habe. Anschließend erfolgt einmalig eine Schlüsselableitung wie in A_27286-* definiert. Damit wird der AES/GCM-Schlüssel-Version x erzeugt. Nach "Aktivierung" (vgl. A_27277-*) wird dieser gemäß A_27278-* verwendet um Prüfziffern zu erzeugen.
[<=]

Hinweis: Die gematik stellt Beispiel-Code zur Verfügung.

Beispiel:

Sei das gemeinsame 256-Bit lange Geheimnis (hexdump):

0000000000000000000000000000000000000000000000000000000000000001

dann ist der nach A_27286-* abgleitete 128-Bit lange AES/GCM-Schlüssel (hexdump):

b453cd39ea09dbc3a4ff47ebc8bbbfb2

A_27323 - VSDM-FD: relative Zeit (Zeit-offset) Prüfziffer Version 2

Ein VSDM-FD MUSS als Offset für die Zeitkodierung (iat) bei der Erstellung der Prüfziffer Version 2 (A_27278-*) folgende Vorgabe verwenden:

offset-Name Wert Erläuterung
iat_offset 1735689600 offset für die Erzeugungszeit (iat) der Prüfziffer Version 2

Hinweis: Die Zeit "2025-01-01T00:00:00+00:00" (ISO-Format 8601) nach Unix-Zeit (UTC) konvertiert ist 1735689600.
[<=]

Erläuterung zu A_27323-*

Für die Kodierung von Daten in der Prüfziffer Version 2 stehen nur 18 Byte zur Verfügung deshalb wird die iat-Zeiten nicht wie bei der Unix-Zeit üblich von 1.1.1970 00:00:00 (UTC) startend kodiert, sondern vor der Kodierung in der Prüfziffer die für die Kodierung notwendige Bitlänge durch Subtraktion eines entsprechenden Offsets reduziert.

Die Kodierungslänge von iat wird wie in A_27278-* definiert sogar nochmal um 3 Bit reduziert (r_iat_8).

A_27352 - VSDM-Prüfziffer Version 2: Erzeugung von hcv

Ein den hcv-Wert (Hash Check Value) erzeugendes System (VSDM-FD oder Primärsystem) MUSS bei der Erzeugung des hcv-Wertes, wie folgt vorgehen:

  1. Es sei VB gleich der Versicherungsbeginn (UC_AllgemeineVersicherungsdatenXML.Versicherter.Versicherungsschutz.Beginn, https://github.com/gematik/api-telematik/blob/OPB5/fa/vsds/Schema_VSD.xsd ). VB MUSS keine Leerzeichen enthalten. 
  2. Falls der Versicherte eine "StrassenAdresse" (vgl. XML-Schema) und darin ein nichtleeres Element "Strasse" besitzt, dann sei SAS gleich der Wert in diesem Element. Andernfalls sei SAS="" (leere Zeichenfolge). Ggf. Führende oder endende Leerzeichen MÜSSEN entfernt werden.
  3. Sei SHA-256 wie in [FIPS-180-4] definiert.
  4. Sei H = SHA-256(VB || SAS).
  5. Sei H_40 die ersten 5 Bytes (40 Bit) von H.
  6. Von H_40 setzt man das MSB im ersten Byte auf 0, dass Ergebnis sei H_40_0. 
Der hcv-Wert ist gleich H_40_0.

[<=]

A_27278 - VSDM-FD: Struktur einer Prüfziffer der Version 2

Ein VSDM-FD MUSS zunächst folgende innere Datenstruktur (Klartext) erstellen:

Name  Länge Festlegungen und Erläuterung
I_Feld_1 5 In diesem Feld sind Sperrinformationen und ein gekürzter Hashwert kodiert.

Sperrinformation:
Falls die eGK ungültig/gesperrt ist, sei S=128, anderenfalls sei S=0.

Hashwert:
Der hcv-Wert MUSS wie in A_27352-* definiert berechnet werden. Und wird im Folgenden als H_40_0 bezeichnet. Sei H_40_0[0] das erste Byte von H_40_0 und H_40_0[1:] alle restlichen Bytes von H_40_0.

Dann ist I_Feld_1 = (H_40_0[0] | S) || H_40_0[1:].

(Erläuterung zum besseren Verständnis: das MSB im ersten Byte von H_40 wird auf 0 gesetzt (A_27352-*, Schritt 6) und man erhält H_40_0. Anschließend wird die Sperrinformation auf das erste Byte aufaddiert. D. h. wenn von I_Feld_1 das MSBit des ersten Bytes 1 ist, dann ist die eGK ungültig/gesperrt.)

r_iat_8 3 Sei iat die aktuelle Unix-Zeit (UTC) in Sekunden (also keine Nachkommastellen) im VSDM-FD zum Erzeugungszeitpunkt der Prüfziffer. Dann MUSS r_iat_8 = (iat - iat_offset) >> 3

Alle Zahlenwerte MÜSSEN in Network-Byte-Order (= Byte-Order Big) kodiert werden. Alle Zeiten sind wie bei der Unix-Zeit üblich UTC.

Hinweis: für iat_offset vgl. A_27323-*.

Beispiel: Wird die Prüfziffer um "2025-01-02T00:00:00+00:00" = 1735776000 erzeugt, dann ist
r_iat = (1735776000 - 1735689600) >> 3 = 10800

KVNR 10 10 Stellige KVNR, ASCII-kodiert (Beispiel: A123456789)

Der Klartext hat damit eine Länge von 18 Byte.


Name Länge
Feld_1 1 In diesem Feld sind drei Informationen kodiert:

(1) Kennzeichnung für Version 2 der Prüfziffer
Sei V = 128.

(2) Betreiberkennung
Die Betreiberkennung (wie bspw. im Export-Paket (A_27276-*) übertragen) ist zunächst ein Buchstabe von 'A' bis 'Z'. Sei BK diese Betreiberkennung als ASCII-Zeichen. 
Sei BK_D = BK - 65 und sei BK_D_4 = BK_D << 2.

(3) Geheimnis/Schlüssel-Version
Sei SV gleich die Geheimnis/Schlüssel-Version, die für die Verschlüsselung des Klartextes (siehe Tabelle oben) verwendet wird. SV wird binär kodiert, bspw. wenn SV = 2 ist, so ist SV kodiert \x02. SV MUSS kleiner 4 sein (vgl. auch A_27356-*).

Sei Feld_1 = V + BK_D_4 + SV

Beispiel:
Sei die Betreiberkennung gleich 'B' und die Schlüssel-Version gleich 2, dann ist BK_D_4 gleich 4. Und damit Feld_1 = 128 + 4 + 2 = 134.
Intitialisierungsvektor für AES/GCM 12 wie bei AES/GCM üblich MUSS der 96 Bit lange IV (= 12 Bytes) pro Verschlüsselung zufällig über eine kryptographisch hochwertige Zufallsquelle erzeugt werden
eigentliches Chiffrat 18 mittels AES/GCM verschlüsselter Klartext (innere Datenstruktur, s. o.) mit dem jüngsten aktivierten AES/GCM-Schlüssel (vgl. A_27286-*)
AES/GCM Authentication-Tag (GMAC) 16 128-Bit Authentication-Tag, der bei der AES/GCM entsteht (berechnet wird)

Die oben aufgeführte Datenstruktur hat die Gesamtgröße von 47 Byte. Diese Datenstruktur MUSS base64-kodiert werden. Das Ergebnis der Kodierung ist "die Prüfziffer Version 2". Deren Länge ist 64 Byte (Hinweis: gleiche Länge wie eine Prüfziffer Version 1).

[<=]

Hinweise zu A_27278-*:

Am ersten Byte (Feld_1) kann man eine Prüfziffer Version 1 (beginnt immer mit Zeichen aus dem Intervall [0x4a, 0x5a]) und eine Prüfziffer Version 2 eindeutig unterscheiden. Wenn das erste Byte von Feld_1 kleiner als 128 ist, so muss es eine Prüfziffer der Version 1 sein, anderenfalls ist es eine Prüfziffer der Version 2.

Aktuell (Januar 2024) besitzen alle gemeinsamen Geheimnisse in den VSDM-Fachdiensten die Versionsnummer 2. Mit der nächsten regulären Erneuerung (Q2/Q3 2025, A_27274-*) wird die Versionsnummer 3 verwendet, usw..

Mit der Erzeugungsvorschrift und Kodierung von r_iat_8 kommt es mit dem 03.04.2029 um 10:42:07 (UTC) zum Zählerüberlauf bei r_iat_8. Dies ist also eine obere Schranke für die Verwendbarkeit der Prüfziffer Version 2.

Die gematik stellt Beispiel-Code für die Erstellung und Prüfung einer Prüfziffer bereit.

A_27299 - VSDM-Prüfziffer Version 2: prüfenden Systeme, Import der gemeinsamen Geheimnisse und AES/GCM-Schlüsselableitung

Ein die Prüfziffer Version 2 prüfendes System (E-Rezept-FD-VAU, ePA-Aktensystem-VAU/VAU-HSM etc.) MUSS Export-Pakete gemäß A_27276-* importieren. Es werden dabei gemeinsame Geheimnisse gemäß A_27274-* importiert. Diese MUSS die im Export-Paket aufgeführte Betreiberkennung und Version zugeordnet werden. Mit dem gemeinsamen Geheimnis MUSS das prüfende System eine Schlüsselableitung gemäß A_27286-* durchführend und dem erhaltenen AES/GCM-Schlüssel die Betreiberkennung und Version des gemeinsamen Geheimnisses (also aus dem entsprechenden Import) zuordnen.

Anschließend MÜSSEN die AES/GCM über Betreiberkennung und Version (vgl. Kodierung der beiden Werte in einer Prüfziffer Version 2 in A_27278-*) im prüfenden System verfügbar/adressierbar sein.

Ein prüfendes System MUSS die Möglichkeit besitzen alte gemeinsame Geheimnisse und abgleitete AES/GCM-Schlüssel (Kontext Prüfung Prüfziffer Version 2) im System per Administration zu löschen.
[<=]

Erläuterung:

Bei ePA erfolgt die Administration (also auch die konfigurative Änderungen) der VAU-HSM im technisch durchgesetzten 4-Augen-Prinzip mit ePA-Aktensystem-Betreiber und gematik zusammen.

A_27342 - Konfigurationsvariable enforce_hcv_check

Ein die Prüfziffer Version 2 prüfendes System (E-Rezept-VAU, ePA-Aktensystem-VAU-HSM etc.) MUSS eine Konfigurationsvariable enforce_hcv_check besitzen, die standarmäßig auf false gesetzt ist. [<=]

A_27279 - VSDM-Prüfziffer Version 2: Prüfung und Entschlüsselung

Ein die Prüfziffer Version 2 prüfendes System (E-Rezept-VAU, ePA-Aktensystem-VAU-HSM etc.) MUSS folgende Prüfungen der Prüfziffer Version 2 vornehmen. Ergibt eine der Prüfungen ein nicht-positives Prüfergebnis, so MUSS die Prüfziffer als ungültig abgelehnt werden.

  1. Prüfung: besitzt die Prüfziffer eine Länge von 64 Bytes.
  2. Prüfung: kann die Prüfziffer erfolgreich base64-dekodiert werden.
    Die nun erhaltene erfolgreich base64-dekodierte 47 Byte lange Bytefolge wird als dtbc (data to be checked) im Folgenden bezeichnet.
  3. Prüfung: ist das erste Byte von dtbc größer als 128 (das MSBit ist also auf 1 gesetzt).
    Hinweis: ansonsten handelt es sich um eine Prüfziffer Version 1 (für die Prüfung in A_27279-* also nicht geeignet).
  4. Prüfung: gibt es im prüfenden System einen AES/GCM-Schlüssel mit der im ersten Byte von dtbc aufgeführter Betreiberkennung und aufgeführter Version (vgl. A_27299-* und A_27278-*).
  5. Die folgenden 12 Byte in dtbc werden als IV bezeichnet. Die darauf folgenden 18 Bytes werden als ciphertext bezeichnet. Die darauf folgenden 16 Bytes werden als Authentication-Tag bezeichnet.
    Prüfung: ist die AES/GCM-Entschlüsselung erfolgreich mittels des in Schritt 4 identifizierten AES/GCM-Schlüssels und mit IV, ciphertext, Authentication-Tag
    D. h. gibt es gerade kein Symbol FAIL als Ergebnis der AES/GCM-Entschlüsselung -- die Authentizität und Integrität des Chiphertexts/Klartexts ist damit festgestellt.
    Im folgenden wird der erfolgreich entschlüsselte Klartext betrachtet.
  6. Prüfung: ist das MSBit im ersten Byte des Klartextes gleich 0 (ansonsten ist die eGK gesperrt).
  7. Prüfung zeitliche Gültigkeit der Prüfziffer:
    Sei, wie in A_27278-*, definiert r_iat_8 die Bytefolge von Byte-Offset 5 bis inkl. Byte-Offset 7 (also 3 Byte groß) aus dem Klartext. r_iat_8 MUSS im Network-Byte-Order (= Byte-Order Big) kodierte unsignierte Zahl interpretiert werden.
    Zunächst MUSS der Wert iat mit iat = (r_iat << 3) + iat_offset (vgl. A_27323-*) berechnet werden.
    Anschließend MUSS anwendungsspezifisch iat mit der aktuellen Zeit überprüft werden:
    ePA: A_24573-* (20 Minuten Fenster)
    E-Rezept: A_23451-* (30 Minuten Fenster)
  8. Prüfung hcv:
    Im folgenden werden die ersten 5 Byte des Klartextes als H_40_0 bezeichnet.
    Genau dann wenn enforce_hcv_check (vgl. A_27342-*) auf true gesetzt ist, dann MUSS geprüft werden, ob H_40_0 gleich dem vom Primärsystem übergebenen hcv-Wert ist (vgl. A_24590-*).
    (Der hcv-Wert aus A_24590-* MUSS vor dem Vergleich base64-dekodiert werden.)
  9. Die letzten 10 Byte des Klartextes werden als KVNR bezeichnet.
    Prüfung: ist die KVNR aus dem Klartext gleich der KVNR, die im Anwendungskontext erwartet wird.

[<=]

Hinweis zu A_27279-*:

Je nach Anwendung und Implementierung (ePA oder E-Rezept) werden Teile der Anforderung im VAU-HSM und in der VAU erbracht.

Die gematik stellt Beispiel-Code für die Erstellung und Prüfung einer Prüfziffer bereit.

3 Änderung in gemSpec_Aktensystem_ePAfueralle

3.1 Änderungen in Abschnitt 3.3

ALT:

A_24611-02 - ePA-Aktensystem - Im VAU-HSM gespeicherte Schlüssel und Informationen für VAU-Betrieb

Das ePA-Aktensystem MUSS sicherstellen, dass folgende, für den Betrieb der VAU notwendigen Schlüssel und Informationen in einem HSM (als VAU-HSM bezeichnet) gespeichert werden:

  • privater Schlüssel der Authentisierungsidentität der Aktenkontoverwaltungs-VAU (u.a. genutzt für die Authentisierung der VAU beim Aufbau des VAU-Kanals)
  • ggf. private Schlüssel der Authentisierungsidentität der Befugnisverifikations-VAU
  • ggf. private Schlüssel der Authentisierungsidentitäten für Service-VAUs
  • privater Schlüssel der Verschlüsselungsidentität der VAU
  • privater Schlüssel der Signaturidentität der VAU
  • Zertifikat C.FD.ENC mit policyIdentifier oid_epa_vau für die Verschlüsselungsidentität des anderen ePA-Aktensystembetreibers
  • Masterkeys für die Ableitung der versichertenindividuellen Datenpersistierungsschlüssel
  • Masterkeys für die Ableitung der versichertenindividuellen Befugnispersistierungsschlüssel
  • Masterkeys für die Ableitung der versichertenindividuellen Überschlüsselungsschlüssel (vgl. Abschnitt "Umschlüsselung und Überschlüsselung")
  • symmetrische Schlüssel für die HMAC-Prüfung der VSDM-Prüfziffern (jeweils einen pro VSD-Dienst-Betreiber)
  • symmetrischer Schlüssel für CMAC (zur Sicherung der registrierten Befugnisse)
  • Hashwertrepräsentationen der erlaubten VAU-Software und VAU-Hardware (für die Aktenkontoverwaltungs-VAU, ggf. für die Befugnisverifikations-VAU und ggf. für Service-VAUs)
  • Root-CA (nur, falls das Befugnisverifikations-Modul im VAU-HSM läuft).
[<=]

NEU:

A_24611-03 - ePA-Aktensystem - Im VAU-HSM gespeicherte Schlüssel und Informationen für VAU-Betrieb

Das ePA-Aktensystem MUSS sicherstellen, dass folgende, für den Betrieb der VAU notwendigen Schlüssel und Informationen in einem HSM (als VAU-HSM bezeichnet) gespeichert werden:

  • privater Schlüssel der Authentisierungsidentität der Aktenkontoverwaltungs-VAU (u.a. genutzt für die Authentisierung der VAU beim Aufbau des VAU-Kanals)
  • ggf. private Schlüssel der Authentisierungsidentität der Befugnisverifikations-VAU
  • ggf. private Schlüssel der Authentisierungsidentitäten für Service-VAUs
  • privater Schlüssel der Verschlüsselungsidentität der VAU
  • privater Schlüssel der Signaturidentität der VAU
  • Zertifikat C.FD.ENC mit policyIdentifier oid_epa_vau für die Verschlüsselungsidentität des anderen ePA-Aktensystembetreibers
  • Masterkeys für die Ableitung der versichertenindividuellen Datenpersistierungsschlüssel
  • Masterkeys für die Ableitung der versichertenindividuellen Befugnispersistierungsschlüssel
  • Masterkeys für die Ableitung der versichertenindividuellen Überschlüsselungsschlüssel (vgl. Abschnitt "Umschlüsselung und Überschlüsselung")
  • symmetrische Schlüssel für die HMAC-Prüfung der VSDM-Prüfziffern (jeweils einen pro VSD-Dienst-Betreiber), die im Kontext der Prüfziffer Version 2 auch als gemeinsames Geheimnis bezeichnet werden.
  • symmetrischer Schlüssel für CMAC (zur Sicherung der registrierten Befugnisse)
  • Hashwertrepräsentationen der erlaubten VAU-Software und VAU-Hardware (für die Aktenkontoverwaltungs-VAU, ggf. für die Befugnisverifikations-VAU und ggf. für Service-VAUs)
  • Root-CA (nur, falls das Befugnisverifikations-Modul im VAU-HSM läuft).

[<=]

Hinweis: Es gelten die Anforderungen aus [gemSpec_Krypt#3.18 VSDM-Prüfziffer Version 2] für ein ePA-Aktensystem in der Rolle "Prüfziffer Version 2 prüfendes System". Aus den ins HSM importierten gemeinsamen Geheimnissen erfolgt im HSM eine Schlüsselableitung (A_27299-*) der für die Entschlüsselung der Prüfziffer Version 2 benötigten AES/GCM-Schlüssel.

ALT:

A_24612-03 - ePA-Aktensystem - Erzwingen von 4-Augen-Prinzip für Einbringen und Verwalten von Informationen ins VAU-HSM

Das ePA-Aktensystem MUSS technisch erzwingen, dass die folgenden, für den Betrieb der VAU notwendigen Schlüssel und Informationen ausschließlich im 4-Augen-Prinzip in das VAU-HSM eingebracht und verwaltet werden können:

  • privater Schlüssel der Authentisierungsidentität der Aktenkontoverwaltungs-VAU
  • ggf. privater Schlüssel der Authentisierungsidentität der Befugnisverifikations-VAU
  • ggf. private Schlüssel der Authentisierungsidentitäten für Service-VAUs
  • privater Schlüssel der Verschlüsselungsidentität der VAU
  • privater Schlüssel der Signaturidentität der VAU
  • Zertifikat C.FD.ENC mit policyIdentifier oid_epa_vau für die Verschlüsselungsidentität des anderen ePA-Aktensystembetreibers
  • symmetrische Schlüssel für HMAC der VSDM-Prüfziffer (jeweils einen pro VSD-Dienst-Betreiber)
  • symmetrischer Schlüssel für CMAC (zur Sicherung der registrierten Befugnisse)
  • Hashwertrepräsentationen der erlaubten VAU-Software und VAU-Hardware (für die Aktenkontoverwaltungs-VAU, ggf. für die Befugnisverifikations-VAU und ggf. für Service-VAUs)
  • Root-CA (nur, falls das Befugnisverifikations-Modul im VAU-HSM läuft).
[<=]

NEU:

A_24612-04 - ePA-Aktensystem - Erzwingen von 4-Augen-Prinzip für Einbringen und Verwalten von Informationen ins VAU-HSM

Das ePA-Aktensystem MUSS technisch erzwingen, dass die folgenden, für den Betrieb der VAU notwendigen Schlüssel und Informationen ausschließlich im 4-Augen-Prinzip in das VAU-HSM eingebracht und verwaltet werden können:

  • privater Schlüssel der Authentisierungsidentität der Aktenkontoverwaltungs-VAU
  • ggf. privater Schlüssel der Authentisierungsidentität der Befugnisverifikations-VAU
  • ggf. private Schlüssel der Authentisierungsidentitäten für Service-VAUs
  • privater Schlüssel der Verschlüsselungsidentität der VAU
  • privater Schlüssel der Signaturidentität der VAU
  • Zertifikat C.FD.ENC mit policyIdentifier oid_epa_vau für die Verschlüsselungsidentität des anderen ePA-Aktensystembetreibers
  • symmetrische Schlüssel für HMAC der VSDM-Prüfziffer (jeweils einen pro VSD-Dienst-Betreiber), die im Kontext der Prüfziffer Version 2 auch als gemeinsames Geheimnis bezeichnet werden.
  • symmetrischer Schlüssel für CMAC (zur Sicherung der registrierten Befugnisse)
  • Hashwertrepräsentationen der erlaubten VAU-Software und VAU-Hardware (für die Aktenkontoverwaltungs-VAU, ggf. für die Befugnisverifikations-VAU und ggf. für Service-VAUs)
  • Root-CA (nur, falls das Befugnisverifikations-Modul im VAU-HSM läuft).

[<=]

ALT:

A_24614-02 - ePA-Aktensystem - Einbringung von Informationen ins VAU-HSM im 4-Augen-Prinzip mit der gematik

Der Betreiber des ePA-Aktensystems MUSS sicherstellen, dass die folgenden, für den Betrieb der VAU notwendigen Schlüssel und Informationen ausschließlich im 4-Augen-Prinzip ins VAU-HSM eingebracht und im VAU-HSM verwaltet werden, bei dem eine von der gematik benannte Person beteiligt ist:

  • privater Schlüssel der Authentisierungsidentität der Aktenkontoverwaltungs-VAU
  • ggf. private Schlüssel der Authentisierungsidentität der Befugnisverifikations-VAU
  • ggf. private Schlüssel der Authentisierungsidentitäten für Service-VAUs
  • privater Schlüssel der Verschlüsselungsidentität der VAU
  • privater Schlüssel der Signaturidentität der VAU
  • Zertifikat C.FD.ENC mit policyIdentifier oid_epa_vau für die Verschlüsselungsidentität des anderen ePA-Aktensystembetreibers
  • symmetrische Schlüssel für HMAC der VSDM-Prüfziffer (jeweils einen pro VSD-Dienst-Betreiber)
  • symmetrischer Schlüssel für CMAC (zur Sicherung der registrierten Befugnisse)
  • Hashwertrepräsentationen der erlaubten VAU-Software und VAU-Hardware (für die Aktenkontoverwaltungs-VAU, ggf. für die Befugnisverifikations-VAU und ggf. für Service-VAUs)
  • Root-CA (nur, falls das Befugnisverifikations-Modul im VAU-HSM läuft).
[<=]

NEU:

A_24614-03 - ePA-Aktensystem - Einbringung von Informationen ins VAU-HSM im 4-Augen-Prinzip mit der gematik

Der Betreiber des ePA-Aktensystems MUSS sicherstellen, dass die folgenden, für den Betrieb der VAU notwendigen Schlüssel und Informationen ausschließlich im 4-Augen-Prinzip ins VAU-HSM eingebracht und im VAU-HSM verwaltet werden, bei dem eine von der gematik benannte Person beteiligt ist:

  • privater Schlüssel der Authentisierungsidentität der Aktenkontoverwaltungs-VAU
  • ggf. private Schlüssel der Authentisierungsidentität der Befugnisverifikations-VAU
  • ggf. private Schlüssel der Authentisierungsidentitäten für Service-VAUs
  • privater Schlüssel der Verschlüsselungsidentität der VAU
  • privater Schlüssel der Signaturidentität der VAU
  • Zertifikat C.FD.ENC mit policyIdentifier oid_epa_vau für die Verschlüsselungsidentität des anderen ePA-Aktensystembetreibers
  • symmetrische Schlüssel für HMAC der VSDM-Prüfziffer (jeweils einen pro VSD-Dienst-Betreiber), die im Kontext der Prüfziffer Version 2 auch als gemeinsames Geheimnis bezeichnet werden.
  • symmetrischer Schlüssel für CMAC (zur Sicherung der registrierten Befugnisse)
  • Hashwertrepräsentationen der erlaubten VAU-Software und VAU-Hardware (für die Aktenkontoverwaltungs-VAU, ggf. für die Befugnisverifikations-VAU und ggf. für Service-VAUs)
  • Root-CA (nur, falls das Befugnisverifikations-Modul im VAU-HSM läuft).

[<=]

ALT:

A_24618-02 - ePA-Aktensystem - Zugriff auf Schlüssel und Informationen im VAU-HSM

Das ePA-Aktensystem MUSS sicherstellen, dass auf die folgenden, für den Betrieb der VAU notwendigen und im VAU-HSM gespeicherten Schlüssel und Informationen ausschließlich über attestierte VAU-Instanzen zugegriffen werden kann:

  • privater Schlüssel der Authentisierungsidentität der VAU ausschließlich durch eine Aktenkontoverwaltungs-VAU-Instanz
  • privater Schlüssel der Authentisierungsidentität der Befugnisverifikations-VAU ausschließlich durch eine Befugnisverifikations-VAU-Instanz
  • privater Schlüssel der Authentisierungsidentität eines Service-VAU-Typs ausschließlich durch eine Service-VAU-Instanz dieses Service-VAU-Typs
  • privater Schlüssel der Verschlüsselungsidentität der VAU ausschließlich durch eine Aktenkontoverwaltungs-VAU-Instanz
  • privater Schlüssel der Signaturidentität der VAU ausschließlich durch eine Aktenkontoverwaltungs-VAU-Instanz
  • Zertifikat C.FD.ENC mit policyIdentifier oid_epa_vau für die Verschlüsselungsidentiät des anderen ePA-Aktensystembetreibers ausschließlich durch eine Aktenkontoverwaltungs-VAU-Instanz
  • Masterkeys für die Ableitung der versichertenindividuellen Datenpersistierungsschlüssel ausschließlich durch eine Aktenkontoverwaltungs-VAU-Instanz
  • Masterkeys für die Ableitung der versichertenindividuellen Befugnispersistierungsschlüssel ausschließlich durch eine Aktenkontoverwaltungs-VAU-Instanz
  • Masterkeys für die Ableitung der versichertenindividuellen Überschlüsselungsschlüssel (vgl. Abschnitt "Umschlüsselung und Überschlüsselung") ausschließlich durch die Aktenkontoverwaltungs-VAU-Instanz oder durch eine dedizierte Überschlüsselungs-VAU
  • symmetrische Schlüssel für HMAC der VSDM-Prüfziffer (jeweils einen pro VSD-Dienst-Betreiber) ausschließlich durch eine Aktenkontoverwaltungs-VAU-Instanz oder eine Befugnisverifikations-VAU-Instanz
  • symmetrischer Schlüssel für CMAC (zur Sicherung der registrierten Befugnisse) ausschließlich durch eine Aktenkontoverwaltungs-VAU-Instanz oder eine Befugnisverifikations-VAU-Instanz.
[<=]

NEU:

A_24618-03 - ePA-Aktensystem - Zugriff auf Schlüssel und Informationen im VAU-HSM

Das ePA-Aktensystem MUSS sicherstellen, dass auf die folgenden, für den Betrieb der VAU notwendigen und im VAU-HSM gespeicherten Schlüssel und Informationen ausschließlich über attestierte VAU-Instanzen zugegriffen werden kann:

  • privater Schlüssel der Authentisierungsidentität der VAU ausschließlich durch eine Aktenkontoverwaltungs-VAU-Instanz
  • privater Schlüssel der Authentisierungsidentität der Befugnisverifikations-VAU ausschließlich durch eine Befugnisverifikations-VAU-Instanz
  • privater Schlüssel der Authentisierungsidentität eines Service-VAU-Typs ausschließlich durch eine Service-VAU-Instanz dieses Service-VAU-Typs
  • privater Schlüssel der Verschlüsselungsidentität der VAU ausschließlich durch eine Aktenkontoverwaltungs-VAU-Instanz
  • privater Schlüssel der Signaturidentität der VAU ausschließlich durch eine Aktenkontoverwaltungs-VAU-Instanz
  • Zertifikat C.FD.ENC mit policyIdentifier oid_epa_vau für die Verschlüsselungsidentiät des anderen ePA-Aktensystembetreibers ausschließlich durch eine Aktenkontoverwaltungs-VAU-Instanz
  • Masterkeys für die Ableitung der versichertenindividuellen Datenpersistierungsschlüssel ausschließlich durch eine Aktenkontoverwaltungs-VAU-Instanz
  • Masterkeys für die Ableitung der versichertenindividuellen Befugnispersistierungsschlüssel ausschließlich durch eine Aktenkontoverwaltungs-VAU-Instanz
  • Masterkeys für die Ableitung der versichertenindividuellen Überschlüsselungsschlüssel (vgl. Abschnitt "Umschlüsselung und Überschlüsselung") ausschließlich durch die Aktenkontoverwaltungs-VAU-Instanz oder durch eine dedizierte Überschlüsselungs-VAU
  • symmetrische Schlüssel für HMAC der VSDM-Prüfziffer (jeweils einen pro VSD-Dienst-Betreiber), die im Kontext der Prüfziffer Version 2 auch als gemeinsames Geheimnis bezeichnet werden, ausschließlich durch eine Aktenkontoverwaltungs-VAU-Instanz oder eine Befugnisverifikations-VAU-Instanz
  • symmetrischer Schlüssel für CMAC (zur Sicherung der registrierten Befugnisse) ausschließlich durch eine Aktenkontoverwaltungs-VAU-Instanz oder eine Befugnisverifikations-VAU-Instanz.

[<=]

3.2 Änderungen in Abschnitt 3.4

3.2.1 Änderungen in Abschnitt 3.4.1

ALT:

A_25282-01 - ePA-Aktensystem - Regeln des VAU-Token-Moduls

Das VAU-Token-Modul MUSS die in Tabelle Tab_AS_VAU_Token_Modul_Rules definierten Regeln umsetzen. [<=]

Tabelle 1: Tab_AS_VAU_Token_Modul_Rules -Prüfregeln VAU Token

hsm-r3 Diese Regel dient zur Nutzung des HMAC bzgl. VSDM-Prüfziffern
Eingangsdaten
:
  • Daten
  • Bezeichner des HMAC-Schlüssels
  • VAU-Attestierungstoken einer Aktenkontoverwaltungs-VAU
  • VAU-Attestierungstoken einer Befugnisverifikations-VAU (opt.)
Ausgangsdaten:
  • HMAC der Daten mit dem symmetrischen Schlüssel, der zum übergebenen Bezeichner des HMAC-Schlüssels gehört
Prüfschritte:
  1. prüfen der Signatur(en) des(r) VAU-Attestierungstoken (herstellerspezifisch)
  2. prüfen, ob die im VAU-Attestierungstoken für die Aktenkontoverwaltungs-VAU attestierte VAU-Software und VAU-Hardware dem HSM bekannt sind
  3. (opt.) prüfen, ob die im VAU-Attestierungstoken für die Befugnisverifikations-VAU attestierte VAU-Software und VAU-Hardware dem HSM bekannt sind
Falls die Prüfungen 1) - 3) erfolgreich waren, wird der HMAC mit dem gewünschten HMAC-Schlüssel über die Daten gebildet.

NEU:

A_25282-02 - ePA-Aktensystem - Regeln des VAU-Token-Moduls

Das VAU-Token-Modul MUSS die in Tabelle Tab_AS_VAU_Token_Modul_Rules definierten Regeln umsetzen. [<=]

Tabelle 2: Tab_AS_VAU_Token_Modul_Rules -Prüfregeln VAU Token

hsm-r3 Diese Regel dient zur Nutzung des HMAC bzgl. VSDM-Prüfziffern der Version 1 oder der Entschlüsselung der VSDM-Prüfziffern der Version 2

Eingangsdaten
:
  • VAU-Attestierungstoken einer Aktenkontoverwaltungs-VAU
  • VAU-Attestierungstoken einer Befugnisverifikations-VAU (opt.)
  • Szenario VSDM-Prüfziffer Version 1
    • Daten
    • Bezeichner des HMAC-Schlüssels
  • Szenario VSDM-Prüfziffer Version 2
    • VSDM-Prüfziffer in Version 2
Ausgangsdaten:
  • Szenario VSDM-Prüfziffer Version 1: HMAC der Daten mit dem symmetrischen Schlüssel, der zum übergebenen Bezeichner des HMAC-Schlüssels gehört
  • Szenario VSDM-Prüfziffer Version 2: innere Struktur der VSDM-Prüfziffer im Klartext gemäß A_27278-* (I_Feld_1, r_iat_8, KVNR) bei erfolgreichen Entschlüsselung
Prüfschritte:
  1. prüfen der Signatur(en) des(r) VAU-Attestierungstoken (herstellerspezifisch)
  2. prüfen, ob die im VAU-Attestierungstoken für die Aktenkontoverwaltungs-VAU attestierte VAU-Software und VAU-Hardware dem HSM bekannt sind
  3. (opt.) prüfen, ob die im VAU-Attestierungstoken für die Befugnisverifikations-VAU attestierte VAU-Software und VAU-Hardware dem HSM bekannt sind
Szenario VSDM-Prüfziffer Version 1: Falls die Prüfungen 1) - 3) erfolgreich waren, wird der HMAC mit dem gewünschten HMAC-Schlüssel über die Daten gebildet.

Szenario VSDM-Prüfziffer Version 2: Falls die Prüfungen 1) - 3) erfolgreich waren, wird die VSDM-Prüfziffer gemäß den Prüfschritten 4. und 5. aus  A_27279-* geprüft und entschlüsselt. Bei erfolgreicher Entschlüsselung der VSDM-Prüfziffer wird die innere Struktur der VSDM-Prüfziffer im Klartext gemäß A_27278-* (I_Feld_1, r_iat_8, KVNR) zurückgeliefert, ansonsten ein Fehler. 

3.2.2 Änderungen in Abschnitt 3.4.2

ALT:

A_24573-03 - ePA-Aktensystem - Regeln des Befugnisverifikations-Moduls

Das Befugnisverifikations-Modul  MUSS die in den Tabellen Tab_AS_Entitlement_Registration_Rules und Tab_AS_SDS-Key_Rules definierten Regeln umsetzen. [<=]

Tabelle 3: Tab_AS_Entitlement_Registration_Rules - Regeln zur Registrierung von Befugnissen

rr3 Mit dieser Regel werden Befugnisse im Aktensystem registriert, die sich durch das Stecken der eGK in einer Leistungserbringerumgebung ergeben.

Eingangsdaten
:
  • VAU-Attestierungstoken einer Aktenkontoverwaltungs-VAU
  • Prüfziffer des VSDM-Prüfungsnachweises signiert mit AUT-Identität der SMC-B
Ausgangsdaten:
  • Befugnis = (KVNR Aktenkonto, Telematik-ID, Gültigkeitszeitraum) gesichert mittels CMAC
Prüfschritte:
  1. prüfen der SMC-B-Signatur der signierten VSDM-Prüfziffer gemäß A_25042-* (C.HCI.AUT)
  2. prüfen, dass das JWT gemäß A_24590-* zeitlich gültig ist ( iat - 15s <= aktuelle Zeit < exp+15s)
  3. prüfen, dass der Ausstellungszeitpunkt der VSDM-Prüfziffer nicht länger als 20 Minuten zurückliegt
  4. prüfen des HMAC der VSDM-Prüfziffer mittels VAU-HSM Regel hsm-r3
    1. Falls das Befugnisverifikations-Modul in einer Befugnisverifikations-VAU ausgeführt wird, wird zusätzlich ein VAU-Attestierungstoken für die Befugnisverifikations-VAU mit übergeben.
  5. Falls die Prüfungen in 1) bis 4) erfolgreich waren, wird vom Befugnisverifikations-Modul die Befugnis mit folgenden Inhalten erstellt:
    • Aktenkonto: die KVNR aus dem VSDM-Prüfziffer
    • Telematik-ID: die Telematik-ID aus der SMC-B-Signatur
    • Gültigkeitszeitraum: ergibt sich aus der fachlichen Rollen-OID der SMC-B-Signatur.
  6. Aufruf der VAU-HSM Zugriffsregel hsm-r1 mit dem VAU-Attestierungstoken der Aktenkontoverwaltung und der erstellten Befugnis
    1. Falls das Befugnisverifikations-Modul in einer Befugnisverifikations-VAU ausgeführt wird, wird zusätzlich ein VAU-Attestierungstoken für die Befugnisverifikations-VAU mit übergeben.
  7. Das Befugnisverifikations-Modul liefert die mittels CMAC gesicherte Befugnis als Ergebnis des Regelaufrufs zurück.

NEU:

A_24573-04 - ePA-Aktensystem - Regeln des Befugnisverifikations-Moduls

Das Befugnisverifikations-Modul  MUSS die in den Tabellen Tab_AS_Entitlement_Registration_Rules und Tab_AS_SDS-Key_Rules definierten Regeln umsetzen. [<=]

Tabelle 4: Tab_AS_Entitlement_Registration_Rules - Regeln zur Registrierung von Befugnissen

rr3 Mit dieser Regel werden Befugnisse im Aktensystem registriert, die sich durch das Stecken der eGK in einer Leistungserbringerumgebung ergeben.

Eingangsdaten
:
  • VAU-Attestierungstoken einer Aktenkontoverwaltungs-VAU
  • VSDM-Prüfziffer in Version 1 oder 2 des VSDM-Prüfungsnachweises signiert mit AUT-Identität der SMC-B
Ausgangsdaten:
  • Befugnis = (KVNR Aktenkonto, Telematik-ID, Gültigkeitszeitraum) gesichert mittels CMAC
  • falls VSDM-Prüfziffer in Version 2, zusätzlich die innere Struktur der Prüfziffer im Klartext gemäß A_27278-* (I_Feld_1, r_iat_8, KVNR)
Prüfschritte:
Prüfen, ob die übergebene VSDM-Prüfziffer eine Version 1 oder Version 2 ist: Führe für die VSDM-Prüfziffer die Prüfschritte 1. und 2. gemäß A_27279-* durch. Es ergibt sich die dekodierte VSD-Prüfziffer, an der man am Most-significant-Bit erkennt, ob es sich um Version 1 oder Version 2 der Prüfziffer handelt.

Szenario VSDM-Prüfziffer in Version 1:
  1. prüfen der SMC-B-Signatur der signierten VSDM-Prüfziffer gemäß A_25042-* (C.HCI.AUT)
  2. prüfen, dass das JWT gemäß A_24590-* zeitlich gültig ist (iat - 15s <= aktuelle Zeit < exp+15s)
  3. prüfen, dass der Ausstellungszeitpunkt der VSDM-Prüfziffer nicht länger als 20 Minuten zurückliegt
  4. prüfen des HMAC der VSDM-Prüfziffer mittels VAU-HSM Regel hsm-r3
    1. Falls das Befugnisverifikations-Modul in einer Befugnisverifikations-VAU ausgeführt wird, wird zusätzlich ein VAU-Attestierungstoken für die Befugnisverifikations-VAU mit übergeben.
  5. Falls die Prüfungen in 1) bis 4) erfolgreich waren, wird vom Befugnisverifikations-Modul die Befugnis mit folgenden Inhalten erstellt:
    • Aktenkonto: die KVNR aus dem VSDM-Prüfziffer
    • Telematik-ID: die Telematik-ID aus der SMC-B-Signatur
    • Gültigkeitszeitraum: ergibt sich aus der fachlichen Rollen-OID der SMC-B-Signatur.
  6. Aufruf der VAU-HSM Zugriffsregel hsm-r1 mit dem VAU-Attestierungstoken der Aktenkontoverwaltung und der erstellten Befugnis
    1. Falls das Befugnisverifikations-Modul in einer Befugnisverifikations-VAU ausgeführt wird, wird zusätzlich ein VAU-Attestierungstoken für die Befugnisverifikations-VAU mit übergeben.
  7. Das Befugnisverifikations-Modul liefert die mittels CMAC gesicherte Befugnis als Ergebnis des Regelaufrufs zurück.
Szenario VSDM-Prüfziffer in Version 2:
  1. prüfen der SMC-B-Signatur der signierten VSDM-Prüfziffer gemäß A_25042-* (C.HCI.AUT)
  2. prüfen, dass das JWT gemäß A_24590-* zeitlich gültig ist ( jwt.iat - 15s <= aktuelle Zeit < jwt.exp+15s)
  3. Aufruf von VAU-HSM Regel hsm-r3 mit der dekodierten VSDM-Prüfziffer
    1. Falls das Befugnisverifikations-Modul in einer Befugnisverifikations-VAU ausgeführt wird, wird zusätzlich ein VAU-Attestierungstoken für die Befugnisverifikations-VAU mit übergeben.
  4. prüfen der inneren Struktur nach Prüfschritt 6 gemäß A_27279-* (d.h. eGK ist nicht gesperrt)
  5. prüfen, dass der Ausstellungszeitpunkt der VSDM-Prüfziffer (prüfziffer.iat) nicht länger als 20 Minuten zurückliegt (prüfziffer.iat - 30s <= aktuelle Zeit < prüfziffer.iat + 20 Minuten +15s, Hinweis in der Prüfziffer gibt es kein exp, deshalb wird im Vergleich explizit 20 Minuten + 15 Sekunden angegeben)
  6. prüfen des prüfziffer.hcv nach Prüfschritt 8 gemäß A_27279-* bzgl. des hcv im JWT
  7. Falls die Prüfungen in 1) bis 6) erfolgreich waren, und die VAU-HSM Regel hsm-r3 den Klartext der inneren Struktur der Prüfziffer zurückgeliefert hat, wird vom Befugnisverifikations-Modul die Befugnis mit folgenden Inhalten erstellt:
    • Aktenkonto: KVNR, die als Ergebnis der VAU-HSM Regel hsm-r3 zurückgeliefert wird
    • Telematik-ID: die Telematik-ID aus der SMC-B-Signatur
    • Gültigkeitszeitraum: ergibt sich aus der fachlichen Rollen-OID der SMC-B-Signatur.
  8. Aufruf der VAU-HSM Zugriffsregel hsm-r1 mit dem VAU-Attestierungstoken der Aktenkontoverwaltung und der erstellten Befugnis
    1. Falls das Befugnisverifikations-Modul in einer Befugnisverifikations-VAU ausgeführt wird, wird zusätzlich ein VAU-Attestierungstoken für die Befugnisverifikations-VAU mit übergeben.
  9. Das Befugnisverifikations-Modul liefert die mittels CMAC gesicherte Befugnis sowie die entschlüsselte innere Struktur der Prüfziffer im Klartext gemäß A_27278-* als Ergebnis des Regelaufrufs zurück.

3.2.3 Änderungen in Anschnitt 3.9.2.2

 

Neue Anforderungen in Kapitel 3.9.2.2 „Befugnisvergabe durch ein Primärsystem“:

A_27288 - Entitlement Management – Abgleich der KVNR bei Erstellen einer Befugnis über VSDM-Prüfziffer

Das Entitlement Management MUSS sicherstellen, dass für die in setEntitlementPs vom Primärsystem in x-insurantid übergebene KVNR und die übergebene Befugnis (signiertes JWT) folgendes gilt: die KVNR in x-insurantid stimmt mit der KVNR überein, die in der CMAC-gesicherten Befugnis enthalten ist, die als Ergebnis des Aufrufs der Regel rr3 mit der vom Primärsystem erhaltenen Befugnis (signiertes JWT) vom HSM zurückgegeben wird.
[<=]

A_27321 - Entitlement Management – Abgleich hcv bei Erstellen einer Befugnis über VSDM-Prüfziffer in Version 2

Falls vom Primärsystem in setEntitlementPs eine Befugnis (signiertes JWT) mit einer Prüfziffer in Version 2 übergeben wird und das Ergebnis des Aufrufs der Regel rr3 eine interne Datenstruktur der VSDM-Prüfziffer zurückliefert MUSS das Entitlement Management sicherstellen, dass

  • bei einem JWT mit Attribut "hcv" der Wert von "hcv" mit dem Wert von hcv aus der VSDM-Prüfziffer übereinstimmt und ansonsten die Operation setEntitlementPs abbricht,
  • bei einem JWT ohne Attribut "hcv" die Operation setEntitlementPs abbricht, falls der Konfigurationsparameter enforce_hcv_check (vgl. A_27342-*) auf true gesetzt ist.
[<=]

A_27289 - Entitlement Management – Maximale Anzahl fehlerhafter Abgleiche der KVNR bei Erstellen einer Befugnis über VSDM-Prüfziffer

Das Entitlement Management MUSS sicherstellen, dass ein Nutzer (LEI) innerhalb einer Stunde maximal fünfmal eine Befugnis (signiertes JWT) über setEntitlementPs übermitteln kann, bei der die mitgelieferte KVNR in x-insurantId von der KVNR abweicht, die in der Prüfziffer der übermittelten Befugnis (signiertes JWT) enthalten ist, andernfalls für den Nutzer für diesen Zeitraum die Operation setEntitlementPs abbrechen. [<=]

A_27322 - Entitlement Management – Maximale Anzahl fehlerhafter Abgleiche der VSD-Update-Zeit bei Erstellen einer Befugnis über VSDM-Prüfziffer in Version 2

Das Entitlement Management MUSS sicherstellen, dass ein Nutzer (LEI) innerhalb einer Stunde maximal fünfmal eine Befugnis (signiertes JWT) mit einer Prüfziffer in Version 2 über setEntitlementPs übermitteln kann, bei der die Operation setEntitlementPs gemäß A_27321-* abbricht. [<=]

A_24590-02 - Entitlement Management - Befugnis durch ein Primärsystem

Das Entitlement Management MUSS sicherstellen, dass die Befugnisvergabe durch ein Primärsystem über die Schnittstelle I_Entitlement_Management durch Verwendung eines gültig signierten JWT mit den dargestellten Mindest-Inhalten erfolgt:

Befugnis Claim Name Claim
Protected Header
"typ" "JWT"
"alg" "ES256" oder "PS256"
"x5c" Signaturzertifikat C.HCI.AUT
Payload
"iat" Zeitstempel Ausgabezeitpunkt
"exp" Verfalldatum, = "iat" + 20 min
"auditEvidence" VSDM-Prüfziffer aus dem VSDM-Prüfungsnachweis, base64-kodiert.
"hcv" Hash check value der als Ergebnis der Operation ReadVSD gemäß A_27352-* berechnet wird. Der berechnete hcv-Wert MUSS base64 kodiert werden.
[<=]

4 Änderung in gemILF_PS_ePA

Änderung in Kapitel 3.9.1 Umsetzung:

Die Aktivitäten des Anwendungsfalles Erstellen einer Befugnis sind:

Vorbedingung:

  • Ermittelter Service-Endpunkt zum Aktenkonto
  • erfolgreiches ReadVSD mit Online-Prüfung

Auslöser:

  • Erhalt einer Prüfziffer durch Lesen der eGK mit erfolgreicher Online-Prüfung (Prüfnachweis 1 oder 2)
  • manuelle Auslösung
  • Nachfrage bei uploadpflichtigen PVS-Aktionen und fehlender Befugnis

Aktivitäten:

  • Auswahl KVNR
  • Auswahl des Service-Endpunkts zum Aktenkonto
  • Auswahl der Prüfziffer des Versicherten
  • Bildung des Hash Check Value (hcv) gemäß A_27352:  Die Werte für die Berechnung des hcv-Wertes werden aus UC_AllgemeineVersicherungsdatenXML.Versicherter.Versicherungsschutz.Beginn und UC_PersoenlicheVersichertendatenXML.Versicherter.Person.StrassenAdresse.Strasse  der ReadVSDResponse entnommen.
  • Bildung eines JWS mit Prüfziffer und Zertifikat
  • JWS signieren mit SMC-B
  • JWS als Entitlement einstellen
  • Auswertung des Ergebnisses

Resultat:

...

Hinweis:

Durch die Erweiterung des jwt für setEntitlementPS um den Timestamp der letzten Aktualisierung der VSD (A_24590-02) ist eine Anpassung  Primärsystem-Schnittstelle für ePA notwendig. Sichtbar wird dies in den Steckbriefen gemSST_PS_ePA und gemSST_PS_ePA_Apotheke durch die Ablösung von A_24590 durch A_24590-02.

5 Änderung in gemSpec_FD_eRp

5.1 Änderung in "6.1.1 HTTP-Operation GET"

alt: 

A_25208 - E-Rezept-Fachdienst - Rezepte lesen - Apotheke - VSDM - PN3 - URL kvnr

Der E-Rezept-Fachdienst MUSS beim Aufruf der HTTP-GET-Operation auf den Endpunkt /Task mit den URL-Parameter pnw="..." durch eine abgebende LEI, falls das Ergebnis im VSDM Prüfungsnachweis gleich 3 ist, prüfen, ob ein URL-Parameter kvnr="..." übermittelt wurde und bei fehlerhafter Prüfung mit dem Fehler 455 abbrechen. [<=]

neu:

A_25208-01 - E-Rezept-Fachdienst - Rezepte lesen - Apotheke - VSDM - URL kvnr

Der E-Rezept-Fachdienst MUSS beim Aufruf der HTTP-GET-Operation auf den Endpunkt /Task mit den URL-Parameter pnw="..." durch eine abgebende LEI prüfen, ob ein URL-Parameter kvnr="..." übermittelt wurde und bei fehlerhafter Prüfung mit dem Fehler 455 abbrechen. [<=]

neu:

A_27346 - E-Rezept-Fachdienst - Rezepte lesen - Apotheke - VSDM - URL hcv

Der E-Rezept-Fachdienst MUSS beim Aufruf der HTTP-GET-Operation auf den Endpunkt /Task mit den URL-Parameter pnw="..." durch eine abgebende LEI prüfen, falls enforce_hcv_check = TRUE, ob ein URL-Parameter hvc="..." übermittelt wurde und bei fehlerhafter Prüfung mit dem Fehler 457 abbrechen. [<=]

alt:

A_23450 - E-Rezept-Fachdienst - Rezepte lesen - Apotheke - VSDM - Prüfung Prüfungsnachweis

Der E-Rezept-Fachdienst MUSS beim Aufruf der HTTP-GET-Operation auf den Endpunkt /Task mit den URL-Parametern pnw="..." durch eine abgebende LEI, den im Parameter pnw übermittelten Prüfungsnachweis extrahieren, prüfen und bei Fehlen oder fehlerhafter Prüfung mit dem Fehler 403 abbrechen, damit nur Clients die Operation aufrufen können, welche einen Anwesenheitsnachweis erfolgreich durchgeführt haben.  [<=]

neu:

A_23450-01 - E-Rezept-Fachdienst - Rezepte lesen - Apotheke - VSDM - Prüfung Prüfungsnachweis

Der E-Rezept-Fachdienst MUSS beim Aufruf der HTTP-GET-Operation auf den Endpunkt /Task mit den URL-Parametern pnw="..." durch eine abgebende LEI, den im Parameter pnw übermittelten Prüfungsnachweis extrahieren, die Version der Prüfziffer bestimmen, den Prüfungsnachweis prüfen und bei Fehlen oder fehlerhafter Prüfung mit dem Fehler 403 abbrechen, damit nur Clients die Operation aufrufen können, welche einen Anwesenheitsnachweis erfolgreich durchgeführt haben.  [<=]

Die Version der Prüfziffer wird aus der Struktur der Prüfziffer abgeleitet.

In der Version 1 beginnt die Prüfziffer mit einem Großbuchstaben. Die Prüfung des Prüfungsnachweises für Prüfziffer Version 1 ist in Kapitel "HTTP-Operation GET - Prüfung VSDM Prüfungsnachweis (Version 1)" beschrieben.

In der Version 2 ist das erste Byte der Prüfziffer > 128. Die Prüfung des Prüfungsnachweises für Prüfziffer Version 2 ist in Kapitel "HTTP-Operation GET - Prüfung VSDM Prüfungsnachweis (Version 2)" beschrieben.

neu:

A_27287 - E-Rezept-Fachdienst - Rezepte lesen - Apotheke - VSDM - Vergleich KVNR

Der E-Rezept-Fachdienst MUSS beim Aufruf der HTTP-GET-Operation auf den Endpunkt /Task mit den URL-Parameter pnw="..." durch eine abgebende LEI prüfen, ob die in der Prüfziffer übermittelte KVNR identisch ist mit dem Wert im URL-Parameter kvnr="..." und bei Ungleichheit mit dem Fehler 456 abbrechen. [<=]

A_27347 - E-Rezept-Fachdienst - Rezepte lesen - Apotheke - VSDM - Vergleich hcv

Der E-Rezept-Fachdienst MUSS beim Aufruf der HTTP-GET-Operation auf den Endpunkt /Task mit den URL-Parameter pnw="..." durch eine abgebende LEI prüfen, falls im Operationsaufruf  der URL-Parameter hcv übermittelt wurde, den im URL-Parameter übermittelten Wert transformieren, miteinander vergleichen und bei Ungleichheit mit dem Fehler 458 abbrechen. [<=]

Die Kodierung und das Format den in der Prüfziffer übermittelten Wert für hcv ist in A_27278-* beschrieben. Das Primärsystem übermittelt hcv Base64URLSafe-kodiert.

5.2 Neues Kapitel "HTTP-Operation GET - Prüfung VSDM Prüfungsnachweis (Version 2)"

Der VSDM Prüfungsnachweis wird URL-codiert übertragen.

Das Informationsmodel des VSDM Prüfungsnachweises ist in [gemSysL_VSDM] beschrieben.

Die Struktur der VSDM Prüfziffer Version 2 ist in [gemSpec_Krypt#A_27278-* VSDM-FD: Struktur einer Prüfziffer der Version 2] beschrieben.

A_27301 - E-Rezept-Fachdienst - Prüfung und Entschlüsselung Prüfziffer Version 2

Der E-Rezept-Fachdienst MUSS eine Prüfziffer Version 2 gemäß [gemSpec_Krypt#A_27279-*] entschlüsseln und prüfen.  [<=]

Hinweis: Der Abgleich der erfolgreich entschlüsselten KVNR mit der vom Client gesendeten KVNR erfolgt in A_27287-*. Der Abgleich des erfolgreich entschlüsselten Hashwert hcv mit der vom Client übermittelten hcv erfolgt in A_27347-*.

6 Änderung in gemILF_PS_eRP

6.1 Änderung in 5.3.1 E-Rezepte von einem Versicherten abrufen

alt:

A_23448 - PS abgebende LEI: E-Rezepte von Versicherten abrufen (VSDM)

Das PS der abgebenden LEI MUSS den Anwendungsfall "E-Rezepte eines Versicherten durch Abgebenden abrufen" gemäß TAB_ILFERP_020 umsetzen. 

Tabelle 5 : TAB_ILFERP_020 – E-Rezepte von Versicherten abrufen (VSDM)

Name E-Rezepte von Versicherten abrufen (VSDM)
Auslöser
  • Aufruf des Anwendungsfalls in der GUI
Akteur Leistungserbringer, Mitarbeiter der abgebenden LEI
Vorbedingung
  • Der eGK des Versicherten ist im eHealth-Kartenterminal gesteckt.
  • Die LEI hat sich gegenüber der TI authentisiert.
Nachbedingung
  • Es steht eine Liste von Informationen mit Task-ID und zugehörigen AccessCode zu einlösbaren E-Rezepten des Versicherten für die Weiterverarbeitung zu Verfügung.
Standardablauf
  1. VSD der eGK lesen
  2. VSDM Prüfungsnachweis ermitteln
  3. E-Rezepte abrufen
[<=]

neu:

A_23448-01 - PS abgebende LEI: E-Rezepte von Versicherten abrufen (VSDM)

Das PS der abgebenden LEI MUSS den Anwendungsfall "E-Rezepte eines Versicherten durch Abgebenden abrufen" gemäß TAB_ILFERP_020 umsetzen. 

Tabelle 6 : TAB_ILFERP_020 – E-Rezepte von Versicherten abrufen (VSDM)

Name E-Rezepte von Versicherten abrufen (VSDM)
Auslöser
  • Aufruf des Anwendungsfalls in der GUI
Akteur Leistungserbringer, Mitarbeiter der abgebenden LEI
Vorbedingung
  • Der eGK des Versicherten ist im eHealth-Kartenterminal gesteckt.
  • Die LEI hat sich gegenüber der TI authentisiert.
Nachbedingung
  • Es steht eine Liste von Informationen mit Task-ID und zugehörigen AccessCode zu einlösbaren E-Rezepten des Versicherten für die Weiterverarbeitung zu Verfügung.
Standardablauf
  1. VSD der eGK lesen
  2. VSDM Prüfungsnachweis ermitteln
  3. Hashwert hcv ermitteln
  4. E-Rezepte abrufen
[<=]

Der Prüfungsnachweis wird aus dem ReadVSD Response entnommen, URL-kodiert und in den Aufruf des E-Rezept-Fachdienstes übernommen. 

Die Werte für den Hashwert hcv werden aus UC_PersoenlicheVersichertendatenXML.Versicherter.Person.StrassenAdresse.Strasse und UC_AllgemeineVersicherungsdatenXML.Versicherter.Versicherungsschutz.Beginn entnommen. Der Hashwert hcv wird Base64URLSafe-kodiert und in den Aufruf des E-Rezept-Fachdienstes übernommen. 

Die Versicherten-ID kann aus UC_PersoenlicheVersichertendatenXML.Versicherter.Versicherten_ID ermittelt werden.

neu:

A_27354 - PS abgebende LEI: E-Rezepte von Versicherten abrufen - Hashwert hcv erzeugen

Das PS der abgebenden LEI MUSS im Anwendungsfall "E-Rezepte von Versicherten abrufen" den Hashwert hcv erzeugen. [<=]

Die Bildungsvorschrift für den Hashwert hcv ist in [gemSpec_Krypt#A_27352-*] beschrieben.

A_27355 - PS abgebende LEI: E-Rezepte von Versicherten abrufen - Hashwert hcv Base64URLSafe kodieren

Das PS der abgebenden LEI MUSS im Anwendungsfall "E-Rezepte von Versicherten abrufen" den Hashwert hcv Base64URLSafe kodieren. [<=]

Die Vorschrift zum Kodieren ist in https://www.educative.io/answers/what-is-base64urlsafeb64encodes-in-python beschrieben.

alt:

A_23449-01 - PS abgebende LEI: E-Rezepte von Versicherten abrufen - E-Rezepte abrufen

Das PS der abgebenden LEI MUSS im Anwendungsfall "E-Rezepte von Versicherten abrufen" die HTTP-Operation GET /Task mit

  • ACCESS_TOKEN im Authorization-Header
  • base64- und URL-codierter Prüfungsnachweis in URL-Parameter pnw
  • Versicherten-ID in URL-Parameter kvnr
ausführen. [<=]

neu:

A_23449-02 - PS abgebende LEI: E-Rezepte von Versicherten abrufen - E-Rezepte abrufen

Das PS der abgebenden LEI MUSS im Anwendungsfall "E-Rezepte von Versicherten abrufen" die HTTP-Operation GET /Task mit

  • ACCESS_TOKEN im Authorization-Header
  • base64- und URL-codierter Prüfungsnachweis in URL-Parameter pnw
  • Versicherten-ID in URL-Parameter kvnr
  • Base64URLSafe-kodierter Hashwert hcv in URL-Parameter hcv
ausführen. [<=]

7 Änderungen an I_Entitlement_Management.yaml

Wenn enforce_hcv_check == true und hcv im JWT ist nicht enthalten, dann wird die Operation mit Fehler 409 hcvMissing abgebrochen. 

Wenn hcv aus JWT nicht identisch ist zu hcv aus HSM rule rr3, dann wird die Operation mit Fehler 403 invalidToken abgebrochen.

Wenn die Anzahl fehlerhafter hcv Prüfungen und KVNR-Prüfungen die Zahl 5 übersteigt, dann wird die Operation mit Fehler 423 locked abgebrochen.

**Provider**:</br>
This operation does not require an existing entitlement for the requesting user. Instead,
an entitlement for this user shall be the result of this operation.

The lack of an existing entitlement for this operation is substituted by verifiable

evidence (JWT) associated to the health record owner acting as health record owner's explicit
permission for the requesting user to establish a new entitlement.
       
The operation shall count the number of failed comparison check of _hcv_ values 
and also _kvnr_ for each user (telematik-id).
In case of more than 5 failed comparison checks (5 checks for each counter) within 1 hour
the operation shall be aborted. 

...

The completed entitlement shall NOT be stored and cause operation abortion in cases:
- _oid_ is not in the list of allowed usergroups (role)
- _actorId_ is referenced by a Blocked User Policy assignment
- if enforce_hcv_check == true or _hcv_ value of JWT and _hcv_ from hsm rule _rr3_ are both available:
       - _hcv_ value of JWT does not match _hcv_ from hsm rule _rr3_
       - _x-insurantid_ does not match _kvnr_ from hsm rule _rr3_

| Conditions | Status code | Error code | Remarks |
|------------|-------------|------------|---------|

...

| HSM Token verification failed | 403 | invalidToken ||

...

| hcv-value of jwt does not exist | 409 | hcvMissing | only in case of enforce_hcv_check == true|

| to many failed attempts | 423 | locked | _hcv_ check or _kvnr_ check limit |