C_12376_Anlage_V1.0.0
Prereleases:
gemSpec_Perf - Anpassungen
| Vorabinformation zum Änderungseintrag:
Folgende Änderungen sind Bestandteil des Änderungseintrages:
Hinweise zur Lesart: Text, der zur Erklärung der Änderung dient - wird nicht mit eingearbeitet/übernommen. Text, der neu ist oder aktualisiert wurde. Text, der entfernt wird. |
1 Leistungsanforderungen an die Produkttypen der TI
1.1 User-Agent
Die Produkttypen "TSL-Dienst", "gematik Root-CA" und "TSP X.509 Komp" werden den Anforderungen zum Senden und Erkennen eines TI-User-Agent zugewiesen.
A_27783 - User-Agent - Senden eines User-Agents (Zentrale Dienste der TI)
Der Produkttyp MUSS in allen HTTP-Requests an die in "Tab_gemSpec_Perf_UserAgent_Dienste" aufgeführten Schnittstellen der Produkttypen ein zusätzliches Header-Feld namens "TI-User-Agent" im Format <Client-ID>/<Version> erstellen und wie folgt befüllen:
- <Client-ID>: Alphanumerische Zeichen a-z,A-Z,0-9, sowie dem Trennzeichen "-" mit Länge von 3 bis 20 Zeichen → vergeben durch die gematik
- <Version>: Numerische Zeichen 0-9, sowie dem Trennzeichen "." und "-" mit Länge von 5 bis 15 Zeichen → Produktversion gem. gemSpec_OM::Tab_ProdIdentZ
Tabelle 1: Tab_gemSpec_Perf_UserAgent_Dienste
| PDT-ID | Produkttyp | Schnittstellen |
|---|---|---|
| PDT02 | TSP X.509 QES | I_OCSP_Status_Information |
| PDT03 | TSP X.509 nonQES - eGK | I_OCSP_Status_Information |
| PDT04 | TSL-Dienst | I_OCSP_Status_Information
I_BNetzA_VL_Download I_TSL_Download |
| PDT22 | gematik-Root-CA | I_OCSP_Status_Information |
| PDT36 | TSP X.509 nonQES - HBA | I_OCSP_Status_Information |
| PDT37 | TSP X.509 nonQES - Komponenten | I_OCSP_Status_Information
I_CRL_Download |
| PDT38 | TSP X.509 nonQES - SMC-B | I_OCSP_Status_Information |
[<=]
Zuweisen zu Prüfverfahren "funkt. Eignung: Test Produkt/FA" - TSL-Dienst, gematik Root-CA, TSP X.509 Komp
A_26182-01 - User-Agent - Erkennung des eingesetzten Clientsystems
Der Produkttyp MUSS das vom aufrufenden Nutzer verwendete Clientsystem anhand des im HTTP-Request enthaltenen Header-Feld "TI-User-Agent" erkennen und in den Einträgen zur Betriebsdatenerfassung gemäß [gemSpec_Perf] erfassen. Findet eine VAU-Kommunikation statt, so ist vorrangig der User-Agent des inneren HTTP-Requests zu erfassen. [<=]
Zuweisen zu Prüfverfahren "funkt. Eignung: Test Produkt/FA" - TSL-Dienst, gematik Root-CA, TSP X.509 Komp
A_26183-01 - User-Agent - Format
Der Produkttyp, welcher gem. [A_26182-*] das HTTP Header-Feld "TI-User-Agent" erkennt, MUSS dieses ausschließlich in folgendem Format akzeptieren:
<Client-ID>/<Version>
- <Client-ID>: Alphanumerische Zeichen a-z,A-Z,0-9, sowie dem Trennzeichen "-" mit Länge von 3 bis 20 Zeichen
- <Version>: Alphanumerische Zeichen a-z,A-Z,0-9, sowie dem Trennzeichen "." und "-" mit Länge von 3 bis 20 Zeichen
Zuweisen zu Prüfverfahren "funkt. Eignung: Test Produkt/FA" - TSL-Dienst, gematik Root-CA, TSP X.509 Komp
Von der Anforderung A_26184-01 wird eine neue Version erstellt und die Formulierung so angepasst, dass die Anfrage bei Verstößen des TI-User-Agents gegen die Regular Expression nicht abgelehnt wird. Die Anfrage soll weiterhin bearbeitet werden und lediglich der TI-User-Agent soll in den Betriebsdaten nicht sondern anstelle dessen der Wert "invalid" protokolliert werden:
A_26184-02 - User-Agent - Reporting im Fehlerfall
Der Produkttyp MUSS das HTTP Header-Feld "TI-User-Agent" auf die folgenden gültigen Zeichen überprüfen und bei Verstößen die Anfrage mit einem Error Code gem. [A_26185-*] ablehnen anstelle des HTTP Header-Feldes "TI-User-Agent" den Wert "invalid" protokollieren. Das HTTP Header-Feld "TI-User-Agent" MUSS dem folgenden regulären Ausdruck entsprechen, damit eine entsprechende Code-Injection ausgeschlossen werden kann:
[\w\-]{3,20}\/[\w\.\-]{3,20}
Wird das bemängelte HTTP Header-Feld "TI-User-Agent" aufgrund mangelnder Konformität mit den benannten regulären Ausdruck nicht protokolliert, so ist entsprechend der Regelungen zur Betriebsdatenlieferung der Wert "invalid" zu protokollieren und zu übertragen. [<=]
Zuweisen zu Prüfverfahren "funkt. Eignung: Test Produkt/FA" - TSL-Dienst, gematik Root-CA, TSP X.509 Komp
2 Produkttypspezifische Vorgaben
2.1 Trust Service Provider X.509 nonQES - Komponentenzertifikate (PDT37)
Es wird eine neue Version der AFO A_23725-03 erstellt, damit der TI-User-Agent in den Betriebsdaten berücksichtigt wird:
A_23725-04 - Performance - Betriebsdatenlieferung v2 - Spezifika TSP X.509 nonQES – Komp - Message
Der Produkttyp TSP X.509 nonQES – Komp MUSS bei Betriebsdatenlieferungen im "message"-Feld die folgenden Daten im JSON-Format übermitteln:
{ "prot": "$protocol", "res": "$result", "zert": "$zertifikatstyp", "cc": $certCount, "ip": "$IP-Adresse", "rs": "$responseStatus", "cid": "$clientID", "ver": "$version" }
- $protocol= "ECC" | "RSA" | "WEB" | "SOAP" | "CMP", Datentyp String
- $result= "GOOD" | "REVOKED" | "UNKNOWN", Datentyp String
- $zertifikatstyp = Zertifikatstyp aus Tab_gemSpec_Perf_Berichtsformat_TSP X.509 nonQES – Komp, Datentyp String
- $certCount = Anzahl der angefragten Zertifikate innerhalb eines Requests, Datentyp Integer
- $IP-Adresse = IP-Adresse des anfragenden Dienstes, Datentyp String
- $responseStatus = Response Status der Anfrage gem. GS-A_4686, Datentyp String
- $clientID = <Client-ID> aus dem HTTP-Header-Feld "TI-User-Agent" gemäß [A_26183-01], Datentyp String
- $version = <Version> aus dem HTTP-Header-Feld "TI-User-Agent" gemäß [A_26183-01], Datentyp String
Gemäß der Anforderung [A_22513-02] MUSS in dem speziellen Fall, wenn für den Key "res" der Wert "UNKNOWN" geliefert wird, der Key "zert" entfernt werden.
Der Key "rs" MUSS weggelassen werden, wenn der Response Status "successful" ist.
Bei der Erstellung des message-Feldes ist darauf zu achten, dass weder Whitespaces noch Newlines zwischen JSON-Elementen enthalten sind (kein Indenting) und Vorgaben nach [RFC7493] eingehalten werden. [<=]
Die Tabelle "Tab_gemSpec_Perf_Berichtsformat_TSP_X.509_nonQES_Komp" wird entsprechend den Änderungen aus A_24171-04 aktualisiert:
Tabelle 2: Tab_gemSpec_Perf_Berichtsformat_TSP_X.509_nonQES_Komp
| Operation / Usecase
|
Aufgerufene Schnittstelle::Operation | Message |
|---|---|---|
| TSPK_1 | I_OCSP_Status_Information::check_Revocation_Status (TI) | { "prot": "$protocol", "res": "$result", "zert": "$zertifikatstyp", "ip": "$IP-Adresse", "rs": "$responseStatus", "cid": "$clientID", "ver": "$version" }
|
| TSPK_2 | I_OCSP_Status_Information::check_Revocation_Status (Internet) | { "prot": "$protocol", "res": "$result", "zert": "$zertifikatstyp", "rs": "$responseStatus", "cid": "$clientID", "ver": "$version" }
|
| TSPK_3 | I_CRL_Download::download_CRL
|
{ "prot": "$protocol", "cid": "$clientID", "ver": "$version" }
|
| TSPK_4 | I_Cert_Provisioning::provide_Certificate (SOAP / CMP)
|
{ "prot": "$protocol", "cc": $certCount }
|
| TSPK_5 | I_Cert_Provisioning::provide_Certificate (WEB Benutzerschnittstelle)
|
{ "prot": "$protocol", "cc": $certCount }
|
| TSPK_6 | I_Cert_Revocation::revoke_Certificate (SOAP / CMP)
|
{ "prot": "$protocol", "cc": $certCount }
|
| TSPK_7 | I_Cert_Revocation::revoke_Certificate (WEB Benutzerschnittstelle)
|
{ "prot": "$protocol", "cc": $certCount }
|
2.2 TSL-Dienst (PDT04)
Es wird eine neue Version der AFO A_24171-03 erstellt, damit der TI-User-Agent in den Betriebsdaten berücksichtigt wird:
A_24171-04 - Performance - Betriebsdatenlieferung v2 - Spezifika TSL-Dienst - Message
Der Produkttyp TSL-Dienst MUSS bei Betriebsdatenlieferungen im "message"-Feld die folgenden Daten im JSON-Format übermitteln:
{ "prot": "$protocol", "res": "$result", "url": "$usedURL", "ip": "$IP-Adresse", "rs": "$responseStatus", "cid": "$clientID", "ver": "$version" }
- $protocol= Genutzter Schlüsselalgorithmus des angefragten Zertifikates, Datentyp String
- $result= Sperrstatus des angefragten Zertifikates gemäß GS-A_4690, Datentyp String
- $usedURL = "Returned Value" aus der Tabelle Tab_gemSpec_Perf_TSL-Dienst_URLs basierend darauf, welche URL der Konnektor oder Dienst zum Download der jeweiligen Datei genutzt hat, Datentyp String
- $IP-Adresse = IP-Adresse des anfragenden Dienstes, Datentyp String
- $responseStatus = Response Status der Anfrage gem. GS-A_4686, Datentyp String
- $clientID = <Client-ID> aus dem HTTP-Header-Feld "TI-User-Agent" gemäß [A_26183-01], Datentyp String
- $version = <Version> aus dem HTTP-Header-Feld "TI-User-Agent" gemäß [A_26183-01], Datentyp String
Der Key "rs" MUSS weggelassen werden, wenn der Response Status "successful" ist.
Bei der Erstellung des message-Feldes ist darauf zu achten, dass weder Whitespaces noch Newlines zwischen JSON-Elementen enthalten sind (kein Indenting) und Vorgaben nach [RFC7493] eingehalten werden. [<=]
Die Tabelle "Tab_gemSpec_Perf_Berichtsformat_TSL-Dienst" wird entsprechend den Änderungen aus A_24171-04 aktualisiert:
Tabelle 3: Tab_gemSpec_Perf_Berichtsformat_TSL-Dienst
| Operation / Usecase
|
Aufgerufende Schnittstelle::Operation | Duration | Message |
|---|---|---|---|
| TSL_1 | I_OCSP_Status_Information::check_Revocation_Status (TI) | Die Messung der Bearbeitungszeit beginnt mit der Annahme der Nachricht durch den OCSP Responder des TSL-Dienstes und endet mit dem Versand der Antwort an den Client.
|
{ "prot": "$protocol", "res": "$result", "ip": "$IP-Adresse", "rs": "$responseStatus", "cid": "$clientID", "ver": "$version" }
|
| TSL_2 | I_OCSP_Status_Information::check_Revocation_Status (Internet) | { "prot": "$protocol", "res": "$result", "rs": "$responseStatus", "cid": "$clientID", "ver": "$version" } }
|
|
| TSL_3 | I_TSL_Download::get_Hash (TI)
|
Die Messung der Bearbeitungszeit beginnt mit der Annahme der Nachricht durch den TSL-Dienst und endet mit dem Versand des letzten Bytes der Antwortnachricht.
|
{ "url": "$usedURL", "ip": "$IP-Adresse", "cid": "$clientID", "ver": "$version" } }
|
| TSL_4 | I_TSL_Download::download_TSL (TI)
|
||
| TSL_5 | I_BNetzA_VL_Download::get_Hash | { "url": "$usedURL", "cid": "$clientID", "ver": "$version" } }
|
|
| TSL_6 | I_BNetzA_VL_Download::download_VL | ||
| TSL_7 | I_TSL_Download::get_Hash (Internet)
|
||
| TSL_8 | I_TSL_Download::download_TSL (Internet) | ||
| TSL_9 | I_TSL_Download::download_TSL (Notfall) |
2.3 gematik Root-CA (PDT22)
Es wird eine neue Version der AFO A_24167-02 erstellt, damit der TI-User-Agent in den Betriebsdaten berücksichtigt wird:
A_24167-03 - Performance - Betriebsdatenlieferung v2 - Spezifika gematik Root-CA - Message
Der Produkttyp gematik Root-CA MUSS bei Betriebsdatenlieferungen im "message"-Feld die folgenden Daten im JSON-Format übermitteln:
{ "prot": "$protocol", "res": "$result", "cn": "$commonName", "rs": "$responseStatus", "cid": "$clientID", "ver": "$version" } }
- $protocol= Genutzter Schlüsselalgorithmus des angefragten Zertifikates: "ECC" | "RSA", Datentyp String
- $result= Sperrstatus des angefragten Zertifikates gemäß GS-A_4690: "GOOD" | "REVOKED" | "UNKNOWN", Datentyp String
- $commonName = commonName des Zertifikats gem. GS-A_4737, Datentyp String
- $responseStatus = Response Status der Anfrage gem. GS-A_4686. Datentyp String
- $clientID = <Client-ID> aus dem HTTP-Header-Feld "TI-User-Agent" gemäß [A_26183-01], Datentyp String
- $version = <Version> aus dem HTTP-Header-Feld "TI-User-Agent" gemäß [A_26183-01], Datentyp String
Der Key "rs" MUSS weggelassen werden, wenn der Response Status "successful" ist.
Bei der Erstellung des message-Feldes ist darauf zu achten, dass weder Whitespaces noch Newlines zwischen JSON-Elementen enthalten sind (kein Indenting) und Vorgaben nach [RFC7493] eingehalten werden. [<=]