gemSpec_Kon_V5.17.0
Elektronische Gesundheitskarte und Telematikinfrastruktur
Spezifikation
Konnektor
| Version | 5.17.0 |
| Revision | 927032 |
| Stand | 30.06.2022 |
| Status | freigegeben |
| Klassifizierung | öffentlich |
| Referenzierung | gemSpec_Kon |
Dokumentinformationen
Änderungen zur Vorversion
Anpassungen des vorliegenden Dokumentes im Vergleich zur Vorversion können Sie der nachfolgenden Tabelle entnehmen.
Dokumentenhistorie
| Version |
Stand |
Kap./ Seite |
Grund der Änderung, besondere Hinweise |
Bearbeitung |
|---|---|---|---|---|
| 5.1.0 |
05.10.17 |
Initialversion Online-Produktivbetrieb (Stufe 2.1) |
gematik |
|
| 5.2.0 |
18.12.17 |
Einarbeitung Erratas 1.6.4-1 bis 1.6.4-3, P15.1 |
gematik |
|
| 5.3.0 |
14.05.18 |
Einarbeitung P15.2, P15.4 und P15.5 |
gematik |
|
| 5.4.0 |
26.10.18 |
Einarbeitung P15.8 und P15.9 |
gematik |
|
| 5.5.0 |
18.12.18 |
Einarbeitung P17.1 |
gematik |
|
| 5.6.0 | 15.05.19 | Einarbeitung P18.1 |
gematik |
|
| 5.7.0 | 28.06.19 | Einarbeitung P19.1 |
gematik |
|
| 5.8.0 | 02.10.19 | Einarbeitung P20.1/2 | gematik | |
| 5.9.0 | 02.03.20 | Einarbeitung P21.1 | gematik | |
| 5.9.1 | 26.06.20 | Einarbeitung P21.3 | gematik | |
| 5.9.2 | 27.08.20 | Einarbeitung P21.4 | gematik | |
| 5.9.3 | 21.09.20 | Einarbeitung P21.5 | gematik | |
| 5.9.4 | 05.11.20 | Einarbeitung P21.6 | gematik | |
| 5.10.0 | 30.06.20 | Einarbeitung P22.1 | gematik | |
| 5.11.0 | 12.11.20 | Einarbeitung Scope-Themen zu R4.0.1 | gematik |
|
| 5.12.0 | 09.12.20 | Einarbeitung P22.5 | gematik |
|
| 5.13.0 | 30.06.21 | Einarbeitung Konn_Maintenance_21.1, _21.2, _21.3 und gemF_gSMC-K_Laufzeitverlängerung | gematik | |
| 5.14.0 | 02.09.21 | Umbenennung der Begriffe "aAdG-NetG" in "WANDA Basic", "aAdG" und "aAdG-NetG-TI" in"WANDA Smart" |
gematik | |
| 5.15.0 | 31.01.22 | Einarbeitung Konn_Maintenance_21.6, Einarbeitung CI_Maintenance_21.2: Ergänzung der Tabelle 3 im Kap. 4.2.1.1.1 um "WANDA Basic" | gematik | |
| 5.16.0 | 02.05.22 | Einarbeitung Konn_Maintenance_22.1 (mit Ausbau der Änderungen aus gemF_gSMC-K_Laufzeitverlängerung) | gematik | |
| 5.17.0 | 30.06.22 | Einarbeitung Konn_Maintenance_22.3 | gematik |
Inhaltsverzeichnis
1 Einordnung des Dokumentes
1.1 Zielsetzung
Die vorliegende Spezifikation definiert die Anforderungen zu Herstellung, Test und Betrieb des Produkttyps Konnektor.
Dieses Dokument beschreibt die dezentrale Komponente zur sicheren Anbindung von Clientsystemen der Institutionen und Organisationen des Gesundheitswesens an die Telematikinfrastruktur – den Konnektor. Der Konnektor ist einerseits verantwortlich für den Zugriff auf die in der Einsatzumgebung befindlichen Kartenterminals sowie Karten und andererseits für die Kommunikation mit den zentralen Diensten der TI-Plattform und fachanwendungsspezifischen Diensten. Aus den Kommunikationsbeziehungen mit Clientsystem, Kartenterminals, Karten und zentralen Diensten der TI-Plattform und fachanwendungsspezifischen Diensten resultieren vom Konnektor anzubietende Schnittstellen, die gemeinsam in diesem Dokument sowie den fachanwendungsspezifischen Fachmodulspezifikationen normativ geregelt werden. Vom Konnektor genutzte Schnittstellen liegen zumeist in anderen Verantwortungsbereichen (zentrale TI-Plattform aber auch Schnittstellen der Kartenterminals und Karten). Diese werden in den übergreifenden Spezifikationen der TI sowie den Produkttypspezifikationen definiert.
Dieses Dokument regelt somit nur einen Teil des Konnektors (wenngleich auch den Wesentlichen). Für die Implementierung eines Konnektors ist entsprechend die Kenntnis aller weiteren Spezifikationen erforderlich. Die Gesamtheit aller für den Konnektor relevanten Dokumente wird im Produkttypsteckbrief des Konnektors erhoben.
1.2 Zielgruppe
Das Dokument richtet sich an Konnektorhersteller sowie Hersteller und Anbieter von Produkttypen (dies beinhaltet auch die Anbieter zur G2-Ausschreibung), die hierzu eine Schnittstelle besitzen.
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 werden durch die gematik GmbH in gesonderten Dokumenten (z. B. Dokumentenlandkarte, Produkttypsteckbrief, Leistungsbeschreibung) festgelegt und bekannt gegeben.
Wichtiger 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 Abgrenzung des Dokuments
Spezifiziert werden in dem Dokument die von dem Produkttyp bereitgestellten (angebotenen) Schnittstellen. Benutzte Schnittstellen werden hingegen in der Spezifikation desjenigen Produkttypen beschrieben, der diese Schnittstelle bereitstellt. Auf die entsprechenden Dokumente wird referenziert.
Die vollständige Anforderungslage für den Produkttyp ergibt sich aus weiteren Konzept- und Spezifikationsdokumenten, diese sind in dem Produkttypsteckbrief des Produkttyps Konnektor verzeichnet.
1.5 Methodik
1.5.1 Anforderungen
Anforderungen als Ausdruck normativer Festlegungen werden durch eine eindeutige ID 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 innerhalb der Afo-ID und der Textmarke angeführten Inhalte.
<AFO-ID> - *
Das Zeichen '*' steht hierbei für den Suffix der Anforderung. Es gilt der im Dokumentenpaket gültige Suffix.
1.5.2 Offene Punkte
Zum Zeitpunkt der Spezifikationserstellung konnten nicht alle Details abschließend geklärt werden, insbesondere, da Abstimmungsbedarf mit der umsetzenden Industrie besteht. Details, die keine produkttypübergreifenden Auswirkungen haben und die im Rahmen des Verhandlungsverfahrens mit der Industrie besprochen werden müssen, werden als „Offene Punkte“ ausgewiesen und wie folgt im Dokument kenntlich gemacht:
| Die XYZ müssen noch definiert werden. |
1.5.3 Erläuterungen zur Spezifikation des Außenverhaltens
Der Konnektor stellt einen vergleichsweise komplexen Produkttyp dar, dessen Beschreibung eine Herausforderung darstellt und somit in vielen verschiedenen Varianten möglich wäre. An dieser Stelle folgen daher wesentliche Informationen, die das korrekte Verstehen der Spezifikation fördern:
Die Spezifikation des Konnektors ist eine Black-Box-Spezifikation, das heißt alle Festlegungen dienen ausschließlich der Beschreibung des von der Komponente verlangten Verhaltens an der Außenschnittstelle.
Normative Festlegungen, die eine Festlegung des inneren Verhalten vermuten lassen (beispielsweise die Definitionen der Technischen Use Cases - TUCs) sind nur in so weit normativ, wie ihre Festlegungen auf die Außenschnittstelle wirken. Sie legen explizit nicht die intern zu verwendende Implementierung fest. Die Notwendigkeit für diese Art der „scheinbaren internen Beschreibung“ ergibt sich aus der Komplexität der Gesamtkomponente, sowie dem Bedarf, wiederholt ähnlich Verhaltensweisen in Außenschnittstellen darstellen zu müssen. In diesem Fall werden die sich wiederholenden Verhaltensanteile in internen TUCs zur editoriellen Wiederverwendung gekapselt. Die konkrete konnektorinterne Modularisierung bleibt dem Hersteller freigestellt. Insbesondere bleibt es dem Hersteller freigestellt, intern bereits Mechanismen für kommende Releases zu realisieren, sofern diese an der Außenschnittstelle keine Auswirkung zeigen.
Die einzige Abweichung von dieser Vorgehensweise ergibt sich für Sicherheitsaspekte. Hier können interne Vorgänge normativ gefordert sein, die sich an der Außenschnittstelle nicht manifestieren (Beispiel „Verpflichtung auf sicheres Löschen eines temporären Schlüssels nach Gebrauch“). In diesem Fall erfolgt die Überprüfung der Einhaltung dieser Anforderungen im Rahmen der CC-Evaluierung.
1.5.4 Erläuterungen zur Dokumentenstruktur und „Dokumentenmechanismen“
1.5.4.1 Modulare Spezifikation über Funktionsmerkmale
Die Beschreibung des Konnektors erfolgt soweit wie möglich modular, d. h. alle Aspekte, die für einen logischen Bereich relevant sind, werden in einem Kapitel beschrieben. Diese logischen Bereiche werden als Funktionsmerkmal bezeichnet.
Funktionsmerkmale kennzeichnet ein eigener Verantwortungsbereich. In diesen Verantwortungsbereich greifen keine anderen Funktionsmerkmale ein. So kann ein logischer Bereich vollständig durchdrungen werden, ohne dass in anderen Kapiteln Anforderungen zu erwarten wären, die das Verhalten des Funktionsmerkmals beeinflussen. Da zwischen Funktionsmerkmalen Wechselwirkungen bestehen (Die Erkennung einer gesteckten Karte im Kartenterminaldienst löst eine Reaktion im Kartendienst aus), wurden zur „dokumententechnischen Interaktion“ zwischen Funktionsmerkmalen ein interner Event-Mechanismus sowie Konfigurationsparameter und Zustandswerte eingeführt (siehe Folgekapitel).
Funktionsmerkmale bestehen (bis auf wenige Ausnahmen) immer aus folgenden Unterkapiteln:
- Funktionsmerkmalweite Aspekte
- Durch Ereignisse ausgelöste Reaktionen
- Interne TUCs, nicht durch Fachmodule nutzbar
- Interne TUCs, auch durch Fachmodule nutzbar
- Operationen an der Außenschnittstelle
- Betriebsaspekte
Die Unterkapitel 1-5 dienen der funktionalen Beschreibung des Funktionsmerkmals.
Punkte, die zum Funktionieren des Funktionsmerkmals relevant sind: Initialisierungsaspekte, durch den Administrator festzulegenden Konfigurationsparameter etc., werden im Unterkapitel Betriebsaspekte erfasst.
In jedem Funktionsmerkmal sind immer alle Unterkapitel enthalten, auch wenn es im konkreten Einzelfall dort keine Inhalte gibt. Diese feste Struktur innerhalb der Funktionsmerkmale erleichtert die Orientierung und erhöht somit die Lesbarkeit.
1.5.4.2 Technische Use Cases - TUCs
Innerhalb der Funktionsmerkmale in Kapitel 4 erfolgt eine Unterscheidung der TUCs in solche, die nur durch die Basisdienste des Konnektors aufgerufen werden dürfen (rein interne TUCs) und solche die neben den Basisdiensten auch durch Fachmodule genutzt werden dürfen. Diese Unterteilung ergibt sich ausschließlich aus dem Bedarf der editoriellen Steuerung der verschiedenen Spezifikationen (Konnektor- und Fachmodulspezifikationen). Es besteht im Rahmen der Implementierung des Konnektors keine Anforderung diese Trennung intern durchzusetzen.
Die Beschreibung der TUCs erfolgt nach folgendem Muster:
- TUC-Tabelle
- Aktivitäts- oder Sequenzdiagramm (optional)
- Fehlercodetabelle
Dabei wird innerhalb der TUC-Tabelle in der Zeile „Standardablauf“ ausschließlich der Gut-Durchlauf beschrieben. Fehler, die innerhalb dieses Ablaufs auftreten können, werden in der Zeile „Fehlerfälle“ erhoben. Dabei wird auf die jeweilige Schrittnummer innerhalb des Ablaufs referenziert. In dieser Tabellenzeile werden nur Fehlercodes erhoben, die im jeweiligen Fehlerfall geworfen werden müssen. Die genauen Festlegungen zu den Fehlern, neben Fehlercode auch: ErrorType, Severity und Fehlertext, werden in der Fehlercodetabelle festgelegt.
Die Spezifikation, in der ein TUC definiert wird, ist an den mittleren drei Buchstaben der TUC-Referenz zu erkennen:
- TUC_KON_xxx entsprechend in dieser Konnektorspezifikation
- TUC_PKI_xxx in der PKI-Spezifikation [gemSpec_PKI]
- TUC_VPN_ZD-xxxx in der Spezifikation des VPN-Zugangsdienstes [gemSpec_VPN_ZugD]
- TUC_VZD_xxx in der Spezifikation des Verzeichnisdienstes [gemSpec_VZD]
Festlegungen zur Schreibweise von Eingangs- und Ausgangsdaten von TUCs
a) Eingangs- und Ausgangsparameter werden in TUC-Tabellen wie folgt beschrieben:
Name des Eingangs- bzw. Ausgangsparameters
gefolgt von (falls definiert):[Datentyp]
gefolgt von (falls zutreffend):
- optional; default: <Defaultwert> bzw.
- optional;/<erklärender Text>
Hierbei bedeuten:
- optional; kennzeichnet optionale Ein- und Ausgangsparameter
default: <Defaultwert> definiert den Defaultwert für den Fall, dass der Eingangsparameter leer ist bzw. nicht übergeben wurde
/ <erklärender Text> beschreibt Bedingungen, unter denen der Eingangsparameter optional ist
gefolgt von (falls vorhanden):(<erklärender Text>)
b) Namen mit kleinem Anfangsbuchstaben bezeichnen Ein- und Ausgangsparameter; Namen mit großem Anfangsbuchstaben bezeichnen Datentypen.
Beispiel:
| Eingangsdaten |
|
| Ausgangsdaten |
|
Die im Dokument verwendeten Datentypen sind definiert in [Anhang L – Datentypen von Eingangs- und Ausgangsdaten].
Festlegungen zur Schreibweise des Aufrufs von TUCs
Ein TUC-Aufruf erfolgt nach folgendem Muster:
<TUC-Bezeichner> {
<TUC-Eingangsparameter Name> = <TUC Eingangsparameter Wert>;
… }
Beispiel:
TUC_KON_256 {
topic = „CT/DISCONNECTED“;
eventType = Op;
severity = Info;
parameters = („CtID=$CT.CTID, Hostname=$CT.HOSTNAME“) }
Vereinfachung:
Ist <TUC-Eingangsparameter Name> des aufzurufenden TUCs gleich der Variablen, die als < TUC Eingangsparameter Wert> gesetzt wird, so kann dieser Bezeichner ohne Zuweisung geschrieben werden.
Beispiel: (cardSession und pinRef sind Eingangsdaten des aufrufenden TUCs):
TUC_KON_022 „Liefere PIN-Status“ {cardSession=cardSession; pinRef=pinRef}
vereinfachte Schreibweise:
TUC_KON_022 „Liefere PIN-Status“ {cardSession; pinRef}
1.5.4.3 Event-Mechanismus
Der in Kapitel 4.1.6 spezifizierte Event-Mechanismus zur Unterrichtung von Clientsystemen wird innerhalb dieser Spezifikation auch zur internen Verzahnung der einzelnen Funktionsmerkmale eingesetzt. So wird ein Ereignis, das in der Managementschnittstelle durch Änderung eines Konfigurationsparameters ausgelöst wird, innerhalb des DHCP-Kapitels als Trigger für eine Lease-Erneuerung verwendet. Dies bedeutet nicht, dass im Rahmen der Implementierung intern ein Event-Mechanismus zwischen den Modulen verwendet werden muss. Auch hier dient die Form der Darstellung (Events) lediglich der editoriellen Kopplung verschiedener Verhaltensbeschreibungen.
Um den Ursprung eines Events erkennen zu können, verwenden alle Events ein Haupt-Topic passend zum Funktionsmerkmal: „DHCP/LAN_CLIENT/RENEW” wird im Funktionsmerkmal DHCP ausgelöst, „CARD/INSERTED” wird im Funktionsmerkmal Kartendienst ausgelöst usw.
1.5.4.4 Konfigurationsparameter und Zustandswerte
Werte die der Administrator des Konnektors einsehen oder verändern können muss, werden zusätzlich zu den Festlegungen in Kapitel 4.3 Konnektormanagement auch pro Funktionsmerkmal in den jeweiligen Unterkapiteln „Betriebsaspekte“ erhoben. Diese Konfigurationsparameter werden über eine ReferenzID definiert. Definierte Konfigurationsparameter können in allen Kapiteln der Spezifikation referenziert werden. Den Ort, an welchem ein solcher Konfigurationsparameter definiert/erhoben und somit dessen Bedeutung beschrieben wird, lässt sich über den Präfix der ReferenzID erkennen: CERT_CRL_DOWNLOAD_ADDRESS (also „Cert“) wird im Zertifikatsdienst definiert, MGM_LU_ONLINE (also „MGM“) wird im Konnektormanagement definiert usw.
Die ReferenzIDs der Konfigurationsparameter besitzen in ihrer Schreibweise nur innerhalb des Dokuments Gültigkeit. In der Umsetzung können für die Konfigurationswerte herstellerspezifische Beschreibungen und Labels verwendet werden.
Vergleichbar zu diesen Konfigurationsparametern, sind Zustandswerte. Auch diese werden über ReferenzIDs definiert, nur können sie nicht durch den Administrator verändert oder eingesehen werden. Sie finden nur konnektorintern Verwendung und sind für die Beschreibung der Verhaltensweise notwendig, Beispiele sind CTM_CT_LIST für die Liste der durch den Konnektor verwalteten Kartenterminals oder CM_CARD_LIST für die Liste der aktuell erreichbaren Karten. Zustandswerte verwenden die gleichen Präfixe wie Konfigurationsparameter.
2 Systemüberblick
Der Konnektor ist ein Produkttyp der TI gemäß [gemKPT_Arch_TIP#5.3.9].
Er bietet seine Basisdienste sowohl intern den in ihm laufenden Fachmodulen an, als auch externen Clientsystemen über die Konnektoraußenschnittstellen.
Im lokalen Netz der Einsatzumgebung kommuniziert das Clientsystem mit dem Konnektor über dessen LAN-seitiges Ethernet-Interface. Alleinig der Konnektor kommuniziert mit den in lokalen Netzen angeschlossenen Kartenterminals und Karten. Auch die Kommunikation mit den zentralen Diensten der TI-Plattform und fachanwendungsspezifischen Diensten erfolgt ausschließlich über den Konnektor über dessen WAN-seitiges Ethernet-Interface.
Abbildung PIC_KON_116 stellt die Schnittstellen im Umfeld des Konnektors dar.
Abbildung 1: PIC_KON_116 Schnittstellen des Konnektors von und zu anderen Produkttypen
Die logischen Außenschnittstellen aus [gemKPT_Arch_TIP] werden im Konnektor technisch vorrangig als SOAP-Schnittstellen ausgeprägt. Von dieser Regel wird insbesondere bei Netzwerkschnittstellen abgewichen, wenn bereits etablierte Schnittstellenstandards für Basisdienste existieren (IPsec, TLS, NTP, DNS etc.). Eine Übersicht der Zuordnung „logische Schnittstellen technische Schnittstellen“ findet sich in Anhang H.
Zum Nachweis der Sicherheit müssen Konnektoren im Rahmen der Zulassung nach Common Criteria gegen die Schutzprofile [PP_NK] und [PP_KON] evaluiert und zertifiziert werden.
Die zu verwendenden kryptographischen Verfahren und zugehörige Parameter (z. B. Schlüssellängen) für alle kryptographischen Operationen innerhalb der Telematikinfrastruktur, werden durch das Dokument „Verwendung kryptographischer Algorithmen in der Telematikinfrastruktur“ [gemSpec_Krypt] normativ geregelt.
2.1 Logische Struktur
Der Produkttyp Konnektor besitzt eine Vielzahl verschiedenster Operationen und Verhaltensweisen an seiner Außenschnittstelle. Um sein komplexes Gesamtverhalten sinnvoll beschreiben zu können, wird der Konnektor innerhalb dieser Spezifikation logisch unterteilt und strukturiert. Es wird primär zwischen Anwendungs- und Netzkonnektor unterschieden, begleitet von Mechanismen, die blockübergreifend beschrieben werden.
Der logische Aufbau des Konnektors ist in Abbildung PIC_KON_117 dargestellt.
- Der Anwendungskonnektor bietet anwendungsnahe Basisdienste (inklusive Signaturdienst) und Fachmodule zur Nutzung durch ein Clientsystem an.
- Der Netzkonnektor bietet transportnahe Basisdienste und verbindet das lokale Netz der Nutzer mit der zentralen TI-Plattform.
- Die gSMC-K ist zwar ein eigenständiger Produkttyp innerhalb der TI, wird im Konnektor jedoch als Verbaukomponente betrachtet. Sie enthält die kryptographischen Identitäten des Konnektors, sowie Steuerdaten (Umgebungsinformationen TU/RU/PU, zugehörige Adressbereiche, herstellerspezifische Konfigurationsdaten), die aus Sicherheitsgründen unveränderlich in den Konnektor eingebracht werden müssen.
- Das Konnektormanagement dient der administrativen Verwaltung und Steuerung des gesamten Konnektors.
- Der Sichere Datenspeicher dient der integeren, vertraulichen und authentischen Persistierung von veränderlichen Daten (siehe auch Kapitel 2.2).
Abbildung 2: PIC_KON_117 Logische Zerlegung des Konnektors in Anwendungs- und Netzkonnektor
Diese logische Unterteilung schreibt in keiner Art und Weise die spätere Implementierung durch den Hersteller vor. Der Hersteller kann seine interne Modularisierung des Konnektors frei wählen. Normativ wirksam ist ausschließlich das durch die Detailfestlegungen in Summe beschriebene Verhalten an den Außenschnittstellen des Konnektors als Ganzes.
2.2 Sicherer Datenspeicher
Wie im vorherigen Kapitel dargestellt, wird für den Konnektor ein Datenspeicher angenommen, in welchem der Konnektor alle sicherheitskritischen, veränderlichen Daten dauerhaft speichert, die für seinen Betrieb relevant sind. Dieser Datenspeicher sichert die Integrität, Authentizität und Vertraulichkeit der in ihm hinterlegten Daten bzw. der aus ihm entnommenen Daten. Alleinig der Konnektor hat auf diesen Datenspeicher Zugriff. Für folgende, im weiteren Verlauf der Spezifikation anfallende Daten wird angenommen, dass diese im Sicheren Datenspeicher persistiert werden:
- Der Trust Store des Zertifikatsdienstes
- Die Konfigurationsdaten des Konnektormanagements
- Die Konfigurationsdaten aller Funktionsmerkmale
Ferner stellt der Konnektor den in ihm laufenden Fachmodulen ebenfalls eine Nutzung dieses Datenspeichers für ihre sensiblen Daten zur Verfügung.
Da es sich bei dem Sicheren Datenspeicher um ein internes Modul handelt, welches an der Außenschnittstelle nicht testbar ist, werden an dieses Modul im Rahmen dieser Spezifikation keine Anforderungen erhoben. Da dieses logische Modul aber essenzielle Sicherheitsfunktionen bietet, ohne die ein Konnektor nicht sicher betrieben werden kann, werden die Funktionen, die ein Hersteller für sein Konnektormodell real umsetzt, um die notwendigen sicheren Speicherfunktionen zu realisieren, im Rahmen der CC-Evaluierung geprüft werden. Näheres hierzu regeln die Schutzprofile des Konnektors.
2.3 Überblick Konnektoridentität
Die Geräteidentität des Konnektors (Konnektoridentität) teilt sich in drei Identitäten auf:
- ID.NK.VPN für den Netzkonnektor
Die Identität des Netzkonnektors dient der Authentisierung gegenüber den zentralen Netzwerkdiensten und wird für die Anmeldung an den VPN-Konzentrator genutzt. - ID.AK.AUT für den Anwendungskonnektor
Die Identität des Anwendungskonnektors dient der Authentisierung gegenüber den Clientsystemen im Rahmen von TLS-Verbindungen. - ID.SAK.AUT für die im Anwendungskonnektor enthaltene Signaturanwendungskomponente
Die Identität des Signaturdienstes dient zur Authentisierung gegenüber den Kartenterminals. Darüber hinaus muss sich der Signaturdienst des Konnektors gegenüber dem Heilberufsausweis mittels eines kartenverifizierbaren Zertifikats (C.SAK.AUTD_CVC) mit entsprechendem Profil ausweisen, um Stapelsignaturen durchführen zu können.
In der Regel ergibt sich aus dem Kontext, welche Identität gemeint ist, sodass in diesen Fällen nur kurz von der Konnektoridentität geschrieben wird.
Die Geräteidentitäten werden durch asymmetrische Schlüssel und X.509-Zertifikate umgesetzt. In Abhängigkeit vom gewählten kryptographischen Verfahren werden RSA-Schlüssel bzw. ECC-Schlüssel verwendet.
2.4 Mandantenfähigkeit
Den Anforderungen aus [gemKPT_Arch_TIP#TIP1-A_2200] folgend, wird die Mandantenfähigkeit innerhalb des Konnektors nicht durch eine einzelne Funktion, sondern durch Berücksichtigung in einer Reihe von Funktionsmerkmalen umgesetzt.
Die Mandantenfähigkeit wirkt dabei auf:
- Zugriffsberechtigungsdienst: Kapitel 4.1.1
(und über diesen auf alle Karten- und Kartenterminaloperationen) - Systeminformationsdienst: Kapitel 4.1.6
2.5 Versionierung
Gemäß [gemSpec_OM] müssen Konnektor und Kartenterminals über eine Versionierung verfügen. Die relevanten Versionsinformationen sind durch das O&M-Schema ProductInformation.xsd definiert. Ferner definiert [gemSpec_OM], dass Konnektor und Kartenterminal das Konzept der Firmware-Gruppe verwenden müssen. Daher verfügen die beiden Produkttypen auch über eine aktuelle Firmware-Gruppenversion.
Versionsinformationen werden innerhalb des Konnektor an folgenden Stellen ver- und bearbeitet:
- Dienstverzeichnisdienst (Kapitel 4.1.3): Ausgabe der Konnektorversion über SOAP
- Kartenterminaldienst (Kapitel 4.1.4): Anzeige der Versionsinformationen der verwalteten Kartenterminals
- Konnektormanagement (Kapitel 4.3):
- Anzeige der Versionsinformationen des Konnektors (Kapitel 4.3.2)
- Software-Aktualisierung (KSR-Client) für Konnektor und Kartenterminals (Kapitel 4.3.9)
2.6 Fachanwendungen
Der Konnektor ist als Plattformkomponente der TI für die Erbringung von Basisdiensten verantwortlich. Fachliche Funktionalitäten werden über die Fachmodule bereitgestellt.
Das Fachmodul wird dabei als integraler Bestandteil des Konnektors verstanden (Konnektor als Monolith), d. h., die Spezifikationen zu Konnektor (als Plattformkomponente) und dem Fachmodul sind zwar getrennt, werden aber von einem Hersteller in einer Gesamtkomponente umgesetzt. Die inneren Schnittstellen zwischen Fachmodul und Konnektor sind von außen nicht erkennbar.
In dieser Ausbaustufe unterstützt der Konnektor die Fachanwendungen VSDM, AMTS, NFDM und ePA über jeweils ein Fachmodul.
Neben Fachanwendungen, die über ihr Fachmodul mit einem gesicherten Fachdienst kommunizieren, unterstützt der Konnektor einen Zugriff von Clientsystemen auf offene Fachdienste.
2.7 Netzseitige Einsatzszenarien
Der Konnektor unterstützt unterschiedliche netzseitige Einsatzszenarien, die in Anhang K beispielhaft dargestellt sind.
Der Konnektor bietet hierzu Konfigurations-Parameter, die je nach netzseitigem Einsatzszenario konfiguriert werden müssen.
2.7.1 Parameter ANLW_ANBINDUNGS_MODUS
Konfiguration 1: Konnektor als Gateway (ANLW_ANBINDUNGS_MODUS = InReihe):
Diese Konfiguration ist geeignet für Szenarien, in denen der Konnektor zwischen das lokale Netz und das Internet Access Gateway (IAG) (z. B. Router mit DSL-/Kabelmodem) geschaltet wird. (vgl. Anhang K, Szenario 1)
Konfiguration 2: Konnektor eingebettet in existierende Infrastruktur (ANLW_ANBINDUNGS_MODUS = Parallel): Diese Konfiguration ist geeignet für Szenarien, in denen der Konnektor als weiteres Gerät in die bestehende Netzwerkinfrastruktur integriert wird. (vgl. Anhang K, Szenario 3)
Aus Sicherheitsgründen soll die Kommunikation der Clientsysteme mit dem Konnektor hierbei verschlüsselt erfolgen (ANCL_TLS_MANDATORY=Enabled). Falls diese Kommunikation unverschlüsselt erfolgt (ANCL_TLS_MANDATORY=Disabled), übernimmt der Nutzer die Verantwortung für die Sicherstellung der vertraulichen Übertragung.
Für den Einsatz und die Nutzung von DHCP gibt es im Zusammenhang mit diesem Konfigurationsparameter folgende Möglichkeiten:
- Die Netzwerkinfrastruktur der Einsatzumgebung verwendet den DHCP-Server des Konnektors (siehe Kap. 4.2.2).
- Ein bestehender DHCP-Server im Netz der Einsatzumgebung wird weiter verwendet und derart konfiguriert, dass als Default Gateway und DNS-Server entweder bestehende Infrastruktur oder der Konnektor verwendet wird.
- Es kommt kein DHCP-Server zum Einsatz. Bei allen Clients im Netz der Einsatzumgebung werden das Default Gateway und der DNS-Server statisch auf den Konnektor gesetzt.
Die DHCP-Konfiguration ist in Konfiguration 1 in aller Regel die folgende: Die WAN-Seite des Konnektors verwendet den DHCP-Server des bestehenden IAG. An der LAN-Seite stellt der Konnektor einen DHCP-Server für alle Clients zur Verfügung.
2.7.2 Parameter ANLW_INTERNET_MODUS
Grundsätzlich routet der Konnektor im Modus ANLW_INTERNET_MODUS=SIS alle für das Internet bestimmten Pakete von Clients, die ihn als Default Gateway verwenden, in den VPN-Tunnel zum SIS, während er im Modus ANLW_INTERNET_MODUS=Keiner diese Pakete verwirft.
Im Unterschied zu (ANLW_ANBINDUNGS_MODUS = InReihe) ist die Nutzung des SIS bei (ANLW_ANBINDUNGS_MODUS = Parallel) optional. Alternativ können auch die Clients, die den Konnektor als Default Gateway verwenden, per Redirect direkt ins Internet verwiesen werden (ANLW_INTERNET_MODUS=IAG).
2.8 Lokale und entfernte Kartenterminals
Gemäß [gemKPT_Arch_TIP] ermöglicht die Telematikinfrastruktur dem Anwender die PIN-Eingabe zur Freischaltung eines HBAs oder einer SMC-B wahlweise lokal oder über das Remote-PIN-Eingabeverfahren durchzuführen. Deshalb unterscheidet auch der Konnektor zwischen einem lokalen Kartenterminal – räumlich („in Sichtweite“) dem Arbeitsplatz zugeordnet – und einem entfernten Kartenterminal.
Ein lokales Kartenterminal befindet sich lokal an einem Arbeitsplatz und kann von diesem aus genutzt werden. Hingegen ist das entfernte Kartenterminal einem entfernten oder auch – für zentral steckende Karten – keinem Arbeitsplatz fest zugewiesen. Ein lokales Kartenterminal kann als sogenanntes Remote-PIN-KT verwendet werden, um die PIN für eine in einem entfernten Kartenterminal steckende Karte einzugeben.
2.9 Standalone-Szenario
Gemäß § 291 Absatz 2b SGB V müssen „Diese Dienste [zur Online-Aktualisierung der Versichertendaten auf der eGK] […] auch ohne Netzanbindung an die Praxisverwaltungssysteme der Leistungserbringer online genutzt werden können.“
Dies bedeutet, dass der Konnektor ohne ein steuerndes Clientsystem ereignisgetrieben Fachanwendungen ausführen können muss. Aus Fachsicht „steht der Konnektor alleine“, ohne Clientsysteme. Die konkreten Aktionen, die Fachanwendungen in diesen Fällen ausführen, sowie deren Auslöser werden in den jeweiligen Fachmodulspezifikationen beschrieben.
Ein solcher alleinstehender Konnektor mit Zugang zur TI muss zur Durchführung der Fachanwendungen durch einen weiteren Konnektor unterstützt werden, der in direkter Verbindung zum Clientsystem steht, selbst aber keine Online-Anbindung besitzt.
3 Übergreifende Festlegungen
Für die folgenden Inhalte bitte die Hinweise in Kapitel 1.5.3 „Erläuterungen zur Spezifikation des Außenverhaltens" sowie Kapitel 1.5.4 Erläuterungen zur Dokumentenstruktur und „Dokumentenmechanismen“ beachten.
In diesem Kapitel werden die Aspekte des Konnektors behandelt, die Funktionsmerkmalübergreifend geregelt werden müssen.
Die Managementschnittelle/Administrationsoberfläche des Konnektors wird dabei nicht als übergreifender Aspekt, sondern als eigenes Funktionsmerkmal gewertet. Die Festlegungen hierzu finden sich entsprechend in Kapitel 4.3.
3.1 Allgemeine übergreifende Festlegungen
3.1.1 Dokumentformate
Mit dem Aufruf einer Operation, die Dokumente verarbeitet, muss durch den Aufrufer festgelegt werden können, um welches Dokumentenformat es sich handelt, damit die unterschiedlichen Formate zur Verarbeitung und etwaigen Anzeige unterschieden werden können. Die nicht-XML-Formate werden dabei nach MIME-Typ-Klassen unterschieden:
- „PDF/A” für MIME-Typ „application/pdf-a” gemäß [ISO 19005],
- „Text” für MIME-Typ „text/plain”,
- „TIFF“ für MIME-Typ „image/tiff” gemäß [TIFF6]
- „Binär“ für alle übrigen MIME-Typen.
Folgende Bezeichner werden verwendet:
Alle_DocFormate: XML, PDF/A, Text, TIFF, Binär
nonQES_DocFormate: XML, PDF/A, Text, TIFF, Binär
QES_DocFormate: XML, PDF/A, Text, TIFF
Für nonQES_DocFormate wird, trotz Gleichheit zu Alle_DocFormate, ein eigener Referenzbezeichner verwendet, da sich diese Liste noch ändern könnte. TIFF wird durch [gemKPT_Arch_TIP] nicht für die nonQES verlangt. Die Unterstützung dieses Formats für nonQES bedeutet jedoch keinen Mehraufwand, da die Routinen durch QES bereits implementiert sind und nachgenutzt werden können.
TIP1-A_4500-01 - Dokumentgrößen von 25 MB
Der Konnektor MUSS für alle Außenschnittstellen, in denen ein Dokument verarbeitet wird, Dokumente mit einer Größe <= 25 MB unterstützen. Der Konnektor DARF NICHT Dokumente mit einer Größe > 25 MB unterstützen.
[<=]
A_19052-01 - Mindestanforderungen an Dokumente und Nachrichten
Der Konnektor MUSS bei der Verarbeitung von Dokumenten und Nachrichten die Mindestanforderungen aus TAB_KON_775 erfüllen. Wenn vom Aufrufer übergebene Dokumente oder Nachrichten die vom Konnektor unterstützte Dimensionierung überschreiten, MUSS der Konnektor die Verarbeitung mit Fehler 4280 abweisen.
Tabelle 1 Fehlercodes TAB_KON_890 Mindestanforderungen an Dokumente und Nachrichten
| Fehlercode | ErrorType | Severity | Fehlertext |
|---|---|---|---|
| 4280 | Security | Error | Dimensionierung des Dokuments nicht unterstützt |
A_22673 - Unerlaubte Inhalte in Dokumenten und Nachrichten
Der Konnektor MUSS bei der Verarbeitung von Dokumenten und Nachrichten die Einhaltung der Vorgaben aus TAB_KON_889 sicherstellen. Wenn vom Aufrufer an den Konnektor übergebene Dokumente oder Nachrichten gegen Vorgaben aus TAB_KON_778 verstoßen, MUSS der Konnektor die Verarbeitung mit Fehler 4281 abbrechen.
Tabelle 2 Fehlercodes TAB_KON_891 Unerlaubte Inhalte in Dokumenten und Nachrichten
| Fehlercode | ErrorType | Severity | Fehlertext |
|---|---|---|---|
| 4281 | Security | Error | Dokument enthält unzulässige Inhalte |
A_22923 - XML-Attribute schemaLocation und noNamespaceSchemaLocation nicht auswerten
Der Konnektor DARF in XML-Dokumenten- und Nachrichten enthaltene Attribute schemaLocation und noNamespaceSchemaLocation NICHT auswerten. [<=]
TIP1-A_4502 - Zeichensatzcodierungen UTF-8 und ISO-8859-15
Der Konnektor MUSS bei der Verarbeitung von Dokumenten der Formate XML und Text die Zeichensatzkodierungen UTF-8 und ISO-8859-15 unterstützen. Das verarbeitete Dokument MUSS der Konnektor mit demselben Zeichensatz kodieren, in dem das Eingangsdokument kodiert war. [<=]
TIP1-A_5541-01 - Referenzen in Dokumenten nicht dynamisch auflösen
Der Konnektor DARF in Dokumenten eventuell vorhandene Referenzen auf externe Ressourcen NICHT auflösen, es sei denn es sind Verweise auf im Konnektor sicher eingebrachte vorliegende Schemata oder dies wird im Einzelfall normativ gefordert. [<=]
3.1.2 Kartentypen
Der Konnektor unterstützt eine Reihe von Kartentypen. Die folgende Tabelle enthält die Liste der Referenzbezeichner für die verschiedenen Kartentypen, wie sie im weiteren Verlauf verwendet werden. Die Unterstützung von Karten der Generation 2 (G2.x: G2.0, G2.1 und höher) beschränkt sich bei diesen auf die Datenstrukturen und Schlüssel, die aus Gründen der Abwärtskompatibilität zu den Karten der Generation 1+ vorhanden sind. Eine Ausnahme hiervon bilden die Geräte-CVCs, die bereits für dieses Release basierend auf ECC verwendet werden.
Tabelle 3: TAB_KON_500 Wertetabelle Kartentypen
| ReferenzID Kartentyp |
Karten- generation |
Beschreibung |
|---|---|---|
| EGK |
G1+ |
Die elektronische Gesundheitskarte gemäß [gemSpec_eGK_P1] und [gemSpec_eGK_P2] |
| EGK |
G2 |
Die elektronische Gesundheitskarte gemäß [gemSpec_COS] und [gemSpec_eGK_ObjSys] bzw. [gemSpec_eGK_ObjSys_G2.1] |
| HBA-qSig |
- |
HBA-Vorläuferkarte gemäß [HPC-P1] und [HPC-P2] |
| HBA |
G2 |
Der elektronische Heilberufsausweis (HBA) gemäß [gemSpec_COS] und [gemSpec_HBA_ObjSys] |
| SMC-B |
G2 |
Die Institutionskarte Typ B (Secure Module Card) gemäß [gemSpec_COS] und [gemSpec_SMC-B_ObjSys] |
| HSM-B |
HSM-Variante einer SM-B. Das HSM-B wird in dieser Fassung als ein oder mehrere virtuelle Kartenterminals verstanden, in denen virtuelle Karten stecken. |
|
| SMC-KT |
G2 |
Die Karte Typ KT (Secure Module Card) gemäß [gemSpec_COS] und [gemSpec_gSMC-KT_ObjSys] |
| KVK |
- |
Die Krankenversichertenkarte gemäß der Spezifikation [KVK] |
| ZOD_2.0 |
- |
HBA-Vorläuferkarte gemäß [HPC-P1] und [HPC-P2] |
| UNKNOWN |
Eine nicht erkannte Karte oder nicht lesbare Karte |
|
| Zusammenfassende ReferenzIDs |
||
| HBA-VK |
Adressiert die HBA-Vorläuferkarten HBA-qSig und ZOD_2.0. Wird dieser Referenzbezeichner verwendet, gelten die zugehörigen Aussagen und Festlegungen für beide Kartentypen. |
|
| HBAx |
Adressiert sowohl den HBA, als auch die HBA-Vorläuferkarten (HBA-VK) Wird dieser Referenzbezeichner verwendet, gelten die zugehörigen Aussagen und Festlegungen für alle drei Kartentypen. |
|
| SM-B |
Adressiert sowohl eine echte SMC-B als auch eine in einem HSM-B enthaltene virtuelle SMC-B. Wird dieser Referenzbezeichner verwendet, gelten die zugehörigen Aussagen und Festlegungen für beide Typen. |
3.1.3 Übergreifende Festlegungen zum Aufbau von sicheren Verbindungen
TIP1-A_7254 - Reaktion auf OCSP-Abfrage beim TLS-Verbindungsaufbau
Der Konnektor MUSS beim Aufbau von TLS-gesicherten Verbindungen zu einem zentralen Dienst der TI-Plattform oder zu einem fachanwendungsspezifischen Dienst, bei denen eine OCSP-Abfrage des Serverzertifikats nach TUC_PKI_006 erfolgt, neben Fehlerfällen bei folgenden Warnungen gemäß [gemSpec_PKI#Tab_PKI_274]
- CERT_REVOKED
- CERT_UNKNOWN
- OCSP_CHECK_REVOCATION_FAILED
In [gemSpec_Krypt#6] wird das Kommunikationsprotokoll zwischen einem Client und einer Vertrauenswürdigen Ausführungsumgebung (VAU) spezifiziert. Dabei wird ein sicherer Kanal auf HTTP-Anwendungsschicht zwischen dem Client und der VAU (Server) aufgebaut. Der Client ist hier ein Fachmodul des Konnektors; der Server ist ein Fachdienst.
A_17225-01 - Aufbau einer sicheren Verbindung zur Vertrauenswürdige Ausführungsumgebung (VAU)
Der Konnektor MUSS für Fachmodule den Aufbau einer sicheren Verbindung zur Vertrauenswürdigen Ausführungsumgebung (VAU) gemäß Kommunikationsprotokoll [gemSpec_Krypt#6] unterstützen und das vom Server übergebene Zertifikat wie folgt prüfen:
TUC_KON_037 „Zertifikat prüfen“ {
certificate = C.FD.AUT;
qualifiedCheck = not_required;
offlineAllowNoCheck = false;
policyList = oid_fd_aut;
intendedKeyUsage= intendedKeyUsage(C.FD.AUT);
validationMode = OCSP}
Der Konnektor MUSS die vom Fachmodul übergebene Rolle gegen die aus dem Zertifikat ermittelte Rolle prüfen. [<=]
A_17777 - sicherheitstechnische Festlegungen zum Abruf von kryptographischen Schlüsseln von einem Schlüsselgenerierungsdienst
Der Konnektor MUSS für Fachmodule für die Nutzung der Schlüsselableitungsfunktionalität die sicherheitstechnischen Festlegungen gemäß [gemSpec_Krypt#3.15.5 Schlüsselableitungsfunktionalität ePA] und [gemSpec_SGD] bereitstellen. [<=]
Der Gesamtablauf der Schlüsselableitungsfunktionalität gemäß [gemSpec_SGD#2.3] für den Konnektor als Client ist aufgeteilt zwischen Basiskonnektor und Fachmodul. Die kryptographischen Vorgaben (u.a. Durchführung des ECDH, Schlüsselerzeugung, Ver- und Entschlüsselung, Signaturerzeugung und -prüfung) werden dabei durch den Basiskonnektor realisiert.
3.2 Konnektoridentität und gSMC-K
TIP1-A_4503 - Verpflichtung zur Nutzung von gSMC-K
Der Konnektor MUSS das geheime Schlüsselmaterial zur Geräteidentität (ID.NK.VPN, ID.AK.AUT, ID.SAK.AUT) und der Rolle SAK (C.SAK.AUTD_CVC) über Smartcards des Typs gSMC-K gemäß [gemSpec_gSMC-K_ObjSys] nutzen. Der Konnektor MUSS mit einer gSMC-K bestückt sein. Er KANN mit mehr als einer gSMC-K bestückt sein.
[<=]Die Notwendigkeit, den Konnektor mit mehr als einer gSMC-K zu bestücken, kann sich aus den Lastanforderungen aus [gemSpec_Perf#4.1.2] ergeben.
TIP1-A_4504 - Keine Administratorinteraktion bei Einsatz mehrerer gSMC-Ks
Verwendet der Konnektor mehrere gSMC-Ks, DARF eine Administratorinteraktion für diese Belange NICHT erforderlich sein.
[<=]TIP1-A_5543 - Keine manuelle PIN-Eingabe für gSMC-K
Der Konnektor DARF Anwender und Administratoren außer bei der Inbetriebnahme (erstmalig oder nach Werksreset) NICHT auffordern, eine PIN für eine gSMC-K einzugeben.
[<=]TIP1-A_4505 - Schutz vor physischer Manipulation gSMC-K (Sichere Verbundenheit der gSMC-K)
Die gSMC-K des Konnektors MÜSSEN durch den Einsatz physikalischer Sperren oder manipulationssicherer Siegel so mit dem Konnektor verbunden sein, dass physischer Missbrauch oder physische Manipulation erkennbar ist.
[<=]gSMC-Ks gemäß [gemSpec_gSMC-K_ObjSys] verfügen über die Möglichkeit zur nachträglichen Generierung von Schlüsselpaaren und dem Nachladen der zugehörigen Zertifikate. Dieser Mechanismus wird erst in kommenden Releases durch den Konnektor unterstützt. Initial sind alle Identitäten bereits einmal auf der gSMC-K vorhanden.
TIP1-A_4506 - Initiale Identitäten der gSMC-K
In Abhängigkeit vom kryptographischen Verfahren MUSS der Konnektor folgende Objekte der gSMC-K als Quelle seiner Identitäten verwenden:
Tabelle 4: TAB_KON_856: Identitäten des Konnektors auf der gSMC-K
Identifier |
Verzeichnis |
Objekt der gSMC-K in Abhängikeit vom kryptographischen Verfahren | |
|---|---|---|---|
| RSA | ECC | ||
| ID.NK.VPN | MF/DF.NK | EF.C.NK.VPN.R2048 | EF.C.NK.VPN2.XXXX |
| ID.AK.AUT | MF/DF.AK | EF.C.AK.AUT.R2048 | EF.C.AK.AUT2.XXXX |
| ID.SAK.AUT | MF/DF.SAK | EF.C.SAK.AUT.R2048 | EF.C.SAK.AUT2.XXXX |
| C.SAK.AUTD_CVC | MF/DF.SAK | - | EF.C.SAK.AUTD_CVC.E256 |
[<=]
A_21849 - Anzeige verwendeter Zertifikate
Der Konnektor MUSS dem Administrator anzeigen, welche Zertifikate aktuell verwendet werden. Dies gilt für diese Strecken bzw. Anwendungsfälle: VPN-Tunnel (C.NK.VPN), TLS zum PS (C.AK.AUT oder lokales Zertifikat), TLS zum KT (C.SAK.AUT) und C2C für SUK (C.SAK.AUTD_CVC und C.CA_SAK.CS). [<=]
3.2.1 Organisatorische Anforderungen und Sperrprozesse
TIP1-A_5392 - gSMC-K-Verantwortung durch den Hersteller des Konnektors
Der Hersteller des Konnektors MUSS die Rolle des Kartenherausgebers für in seinen Konnektoren verbauten gSMC-Ks einnehmen.
Der Hersteller des Konnektors KANN die von ihm verantwortete Personalisierung der gSMC-K durch einen von ihm zu beauftragenden Dienstleister in seinem Namen vornehmen lassen.
[<=]TIP1-A_5696 - Prüfung der personalisierten gSMC-K
Der Hersteller des Konnektors MUSS sich von der korrekten Personalisierung der herausgegebenen gSMC-K überzeugen.
[<=]A_18928 - Ausstattung mit dual-personalisierten gSMC-K-X.509-Zertifikaten
Der Hersteller des Konnektors MUSS die Konnektoren mit einer gSMC-K mit personalisierten RSA- und ECC-Zertifikaten gemäß TAB_KON_856 ausstatten. [<=]
A_18930 - Unterstützung von gSMC-K Personalisierungsvarianten
Der Konnektor MUSS unterschiedliche gSMC-K-Personalisierungsvarianten sowohl mit als auch ohne ECC-Zertifikate für ID.NK.VPN, ID.AK.AUT und ID.SAK.AUT unterstützen. [<=]
Die Anforderung ist für die Anwendungsfälle Registrierung, IPsec-Authentisierung und Autorisierung beim VPN-Zugangsdienst, TLS-Authentisierung zum eHealth-Kartenterminal, TLS-Authentisierung zum Primärsystem nachzuweisen. Wenn RSA-2048 in der TI abgekündigt wird, entfällt dadurch die Anforderung.
TIP1-A_5393 - Dokumentation der Konnektorzertifikatszuordnungen
Der Hersteller des Konnektors MUSS die Zuordnung von Konnektor und jeweils eingebrachtem C.NK.VPN-Zertifikat mit dem Ziel dokumentieren, anhand eines Sperrauftrages für einen Konnektor, das zu sperrende C.NK.VPN-Zertifikat identifizieren zu können.
[<=]Das bedeutet, dass der Konnektorhersteller je Konnektor die für die Identifikation des C.NK.VPN-Zertifikates relevanten Daten wie z. B. Seriennummer des Konnektors und Art der verbauten Komponenten, Seriennummer der gSMC-K, etc. für seinen Sperrprozesse dokumentieren muss.
TIP1-A_5394 - Bereitstellen eines Konnektorsperrprozesses
Der Hersteller des Konnektors MUSS für die von ihm verantworteten Konnektoren einen Sperrprozess etablieren, unterhalten und der gematik zugänglich machen.
Der Hersteller des Konnektors KANN die operative Durchführung des Sperrprozesses an Dritte delegieren.
[<=]Sperrberechtigt ist die gematik im Rahmen des Change-Verfahrens (siehe [gemRL_Betr_TI#5.4).
TIP1-A_5395 - Sperrberechtigung der gematik gegenüber Konnektorhersteller
Der Hersteller des Konnektors MUSS im Rahmen der Change-Durchführung erteilte Sperraufträge der gematik fristgemäß (gemäß Change-Auftrag) bei dem TSP X.509 nonQES (Zertifikatsaussteller) umsetzen.
[<=]Dazu bedient er die standardmäßige Schnittstelle zum TSP (siehe [gemSpec_X.509_TSP#TIP1-A_3643]).
TIP1-A_5396 - Prüfung des Sperrauftrages für Konnektoren
Der Hersteller des Konnektors MUSS vor der Umsetzung des Sperrauftrages für einen Konnektor die Sperrberechtigung des Beauftragenden prüfen und verhindern, dass Konnektoren missbräuchlich gesperrt werden.
[<=]TIP1-A_5397 - Umsetzung von Sperraufträgen für Konnektoren
Der Hersteller des Konnektors MUSS nach erfolgreicher Prüfung der Sperrberechtigung des Beauftragenden die Sperrung der entsprechenden C.NK.VPN-Zertifikate unverzüglich bei dem TSP X.509 nonQES (Zertifikatsaussteller) beauftragen.
[<=]TIP1-A_5398 - Beschränkung der Sperrberechtigung des Konnektorherstellers
Der Hersteller des Konnektors DARF NICHT die Sperrung von C.NK.VPN-Zertifikaten bei dem TSP X.509 nonQES (Zertifikatsaussteller) beauftragen, wenn er nicht durch einen für den Konnektor Sperrberechtigten dazu beauftragt wurde.
[<=]TIP1-A_5399 - Protokollierung der Sperrung von Konnektoren
Der Hersteller des Konnektors MUSS die Durchführung der Sperrung eines Konnektors protokollieren und der gematik auf Anfrage übermitteln.
Dabei MÜSSEN folgende Informationen protokolliert werden:
- Zeitpunkt der Beantragung und Umsetzung der Sperrung
- Grund der Sperrung
- Konnektoridentifikation
Der Hersteller des Konnektors übernimmt im Rahmen der organisatorischen Sperrung die Aufgabe der Anwenderkommunikation gegenüber den betroffenen Anwendern. Die Eckpunkte zur Kommunikation sind Bestandteil des Beschlusses zur Außerbetriebnahme einer Konnektor-Baureihe und im Rahmen des Change-Verfahrens zwischen den Beteiligten abgestimmt.
TIP1-A_5400 - Fortführen des Konnektor-Sperrprozesses
Der Hersteller des Konnektors MUSS die Fortführung des Sperrprozesses über die Einstellung seiner Geschäftstätigkeit hinaus gewährleisten.
[<=]Dies kann bspw. durch Übertragung der Aufgabe an einen Dritten realisiert werden. Dabei sind die Zuordnungen Konnektor zu Zertifikat gemäß Anforderung „Dokumentation der Konnektorzertifikatszuordnungen“ zur Verfügung zu stellen.
Bei der Schlüsselerzeugung für die gSMC-K muss insbesondere auch mit technischen Maßnahmen die Vertraulichkeit der relevanten Schlüssel sichergestellt werden:
TIP1-A_7225 - Schlüsselerzeugung bei einer Schlüsselspeicherpersonalisierung
Der Hersteller des Konnektors, der Schlüssel für die gSMC-K erzeugt, MUSS diese Schlüssel mittels eines technischen Sicherheitsmoduls (HSM, Chipkarte, TPM etc.) erzeugen, welches
- über einen Zugriffsschutz verfügt, sodass nur Berechtigte Schlüssel darauf nutzen können,
- in einem zutrittsgeschützten Bereich aufbewahrt wird und
- mindestens nach FIPS 140-2 Level 3 oder [COS-G2] (CC-zertifizierte Chipkarte der TI) zertifiziert ist.
Es ist zulässig, dass asymmetrische Schlüssel bei der Personalisierung auf der gSMC-K selbst erzeugt werden und symmetrische Schlüssel mittels einer Schlüsselableitung erzeugt werden, bei dem sich der Ableitungsschlüssel (Masterkey) innerhalb eines nach 3. zulässigen Hardwaresicherheitsmoduls befindet.
Es ist zulässig, sicherheitstechnisch geeignete Maßnahmen zur Sicherstellung der Verfügbarkeit der Ableitungsschlüssel (Masterkey) umzusetzen (bspw. Shamir Secret-Sharing-Verfahren).
Der Hersteller des Konnektors MUSS die Schlüsselerzeugung und die Schlüsselverwaltung in einem Konzept darstellen, das die technischen und organisatorischen Maßnahmen beschreibt, die den Schutzbedarf der verarbeiteten Informationsobjekte befriedigen. Der Hersteller des Konnektors MUSS dieses Konzept der gematik zur Verfügung stellen. [<=]
TIP1-A_5703 - Geschützte Übertragung von Daten zum Kartenpersonalisierer
Der Hersteller des Konnektors, der Daten für die gSMC-K erzeugt (bspw. Schlüssel), MUSS diese Daten bei der Übertragung zum Kartenpersonalisierer hinsichtlich Vertraulichkeit, Authentizität und Integrität mit einem Verfahren nach [gemSpec_Krypt] schützen.
[<=]3.3 Bootup-Phase
TIP1-A_4507 - Isolation während der Bootup-Phase
Da während der Bootup-Phase des Konnektors noch nicht alle Sicherheitsmechanismen ihre Leistung erbringen können, DÜRFEN die Dienste des Konnektors während dem Bootup über physikalische Schnittstellen von außen NICHT erreichbar sein.
[<=]TIP1-A_4508 - Konnektorzustand nach Bootup
Der Konnektor MUSS nach Beendigung der Bootup-Phase die Initialisierung der Funktionsmerkmale durchlaufen haben. Die Startreihenfolge der Funktionsmerkmale kann unter Berücksichtigung von TIP1-A_4507 herstellerspezifisch gestaltet werden.
Im Rahmen der Bootup-Phase MÜSSEN folgende TUCs ausgeführt werden: TUC_KON_025, TUC_KON_035, TUC_KON_272, TUC_KON_341, TUC_KON_343, TUC_KON_352 (die Reihenfolge der TUC-Ausführung ist herstellerspezifisch).
Treten während der Bootup-Phase Fehler auf, so MUSS die Bootup-Phase, sofern möglich, abgeschlossen werden.
Sobald die Bootup-Phase abgeschlossen ist, MUSS TUC_KON_256 „Systemereignis absetzen“ mit folgenden Parameter aufgerufen werden:
TUC_KON_256 {
topic = "BOOTUP/BOOTUP_COMPLETE";
eventType = Op;
severity = Info;
}
[<=]
Die hier gelisteten TUCs bilden nicht die abschließende Menge der während der Bootup-Phase zu erfüllenden Anforderungen. In den einzelnen Funktionsmerkmalen werden weitere Einzelanforderungen erhoben, die als Ausführungszeitpunkt die Bootup-Phase benennen (siehe Unterkapitel „Betriebsaspekte“ der einzelnen Funktionsmerkmal-Kapiteln, sowie Kapitel 4.3 Konnektormanagement).
3.4 Betriebszustand
TIP1-A_4509 - Betriebszustand erfassen
Der Konnektor MUSS seinen Betriebszustand gemäß Tabelle TAB_KON_503 Betriebszustand_Fehlerzustandsliste über Fehlerzustände $EC erfassen.
Tritt die in Spalte „Beschreibung“ charakterisierte Fehlersituation eines Fehlerzustandes $EC ein, wird sein Wert $EC.value = true. Sobald die Fehlersituation beendet ist, springt der Wert auf $EC.value = false. Die Fehlerzustände müssen dabei innerhalb der „max. Feststellungszeit“ (Tabellenspalte) erfasst werden. Eine maximale Feststellungszeit von einen Tag (1 day) verlangt, dass einmal am Tag der Zustand geprüft werden muss, unabhängig davon, welche TUCs aufgerufen werden. Eine maximale Feststellungszeit von 1 sec, 10 sec, 1 min und 300 sec verlangt, dass nach der Feststellung einer Fehlfunktion innerhalb eines TUCs die Zustandsänderung innerhalb der angegebenen Zeit stattfinden muss.
Nach Abschluss des Boot-Vorgangs müssen sämtliche Fehlerzustände mit einer „max. Feststellungszeit“ von „1 day“ erfasst worden sein.
[<=]TIP1-A_4597 - Unterstützung von Missbrauchserkennungen
Der Konnektor MUSS zur Unterstützung von Missbrauchserkennungen für alle Operationen, die in EVT_MONITOR_OPERATIONS gelistet sind und deren Alarmwert > 0 ist, kontinuierlich folgende Aktivitäten durchlaufen:
Minütlich gleitende 10-Minuten-Summe je in EVT_MONITOR_OPERATIONS gelistete Operation berechnen. Dazu gehen
erfolgreiche Abschlüsse der Operation mit dem OK_Val der Operation ein
eine fehlerhaft beendete Operation mit dem NOK_Val der Operation ein
Überschreitet der gleitende 10-Minuten-Summenwert einer in EVT_MONITOR_OPERATIONS gelisteten Operation den zugehörigen Alarmwert, so setze EC_CRYPTOPERATION_ALARM auf True.
Erklärung „Minütlich gleitende 10-Minuten-Summe“: Für die jeweilige Operation wird die Summe aller OK_Val und NOK_Val der letzten 10 Minuten gebildet. Diese Summe wird jede Minute neu berechnet.
TIP1-A_4512-04 - Ereignis bei Änderung des Betriebszustandes
Der Konnektor MUSS per Ereignisdienst TUC_KON_256 über Änderungen des Betriebszustandes (Tabelle TAB_KON_503 Betriebszustand_Fehlerzustandsliste) informieren.
Der Konnektor muss dazu für jeden Fehlerzustand $EC mit Error Condition $EC.errorcondition mit verändertem Wert $EC.value den technischen Anwendungsfall TUC_KON_256 „Systemereignis absetzen“ mit folgenden Parametern aufrufen:
TUC_KON_256 {
topic = "OPERATIONAL_STATE/$EC.errorcondition";
eventType = $EC.type;
severity = $EC.severity;
parameters = („Value=$EC.value, $EC.parameterlist”)
}
Tabelle 5: TAB_KON_503 Betriebszustand_Fehlerzustandsliste
| ErrorCondition (siehe Hinweis 1) |
Beschreibung |
Type |
Seve rity |
max. Fest stell ungs- zeit |
Parameterlist (siehe Hinweis 2) |
|---|---|---|---|---|---|
| EC_CardTerminal_ Software_Out_Of_ Date ($ctId) |
Software auf Kartenterminal($ctId) ist nicht aktuell |
Op |
Info |
1 day |
CtID=$ctId; Bedeutung= $EC.description |
| EC_CardTerminal_ gSMC-KT_Certificate_ Expires_Soon ($ctId) |
Das Zertifikat der gSMC-KT im Kartenterminal($ctId) läuft in weniger als 5 Wochen ab |
Op | Info | 7 days | CtID=$ctId; Bedeutung= $EC.description |
| EC_Connector_ Software_Out_ Of_Date |
I_KSRS_Download::list_ Updates liefert mindestens eine UpdateInformation mit einer UpdateInformation/Firmware/ FWVersion > aktuelle Version der Konnektorsoftware, deren UpdateInformation/Firmware/ FWPriority = „Kritisch“ |
Op |
Info |
1 day |
Bedeutung= $EC.description |
| EC_FW_Update_Available |
I_KSRS_Download::list_ Updates liefert mindestens eine UpdateInformation mit einer UpdateInformation/Firmware/ FWVersion > aktuelle Version der Konnektor- oder Kartenterminalsoftware |
Op |
Info |
1 day |
Bedeutung= $EC.description |
| EC_FW_Not_ Valid_Status_ Blocked |
Konnektor Firmware muss aktualisiert werden. Zugang zur TI momentan nicht erlaubt. |
Sec |
Fatal |
1 day |
Bedeutung= $EC.description |
| EC_Time_Sync_ Not_Successful |
der letzte Synchronisationsversuch der Systemzeit war nicht erfolgreich. |
Op |
Info |
1 sec |
LastSyncAttempt= $lastSyncAttempt Timestamp; LastSyncSuccess =$lastSyncSuccess Timestamp; Bedeutung= $EC.description |
| EC_TSL_Update_ Not_Successful |
das letzte Update der TSL war nicht erfolgreich. |
Op |
Info |
1 sec |
Bedeutung= $EC.description; LastUpdateTSL= $lastUpdateTSL Timestamp |
| EC_TSL_Expiring |
Systemzeit t mit t > NextUpdate-Element der TSL – 7 Tage und t <= NextUpdate-Element der TSL |
Sec |
Info |
1 day |
NextUpdateTSL =$NextUpdate- Element der TSL; Bedeutung= $EC.description |
| EC_BNetzA_VL_ Update_ Not_Successful |
Das letzte Update der BNetzA-VL war nicht erfolgreich |
Op |
Info |
1 sec |
LastUpdateBNetz AVL= $lastUpdateBNetz AVLTimestamp; Bedeutung= $EC.description |
| EC_ BNetzA_VL_ not_valid |
Systemzeit t mit t > NextUpdate-Element der BNetzA-VL |
Sec |
War ning |
1 day |
NextUpdateBNetz AVL =$NextUpdate- Element der BNetzA-VL; Bedeutung= $EC.description |
| EC_TSL_Trust_ Anchor_Expiring |
Gültigkeit des Vertrauensankers ist noch nicht abgelaufen, läuft aber innerhalb von 30 Tagen ab. |
Sec |
Info |
1 day |
ExpiringDateTrust Anchor= Ablaufdatum der Vertrauensanker gültigkeit; Bedeutung= $EC.description |
| EC_LOG_ OVERFLOW |
Wenn im Rahmen der Regeln für die rollierende Speicherung von Logging-Einträgen Einträge gelöscht werden, die nicht älter als SECURITY_LOG_DAYS, LOG_DAYS bzw. FM_ <fmName>_LOG_DAYS sind, tritt der Fehlerzustand ein. Der Fehlerzustand kann nur durch einen Administrator wieder zurückgesetzt werden. Unter Protokoll wird die Liste der auslösenden Protokolle angegeben. |
Op |
War ning |
1 sec |
Protokoll=$Protokoll; Bedeutung= $EC.description |
| EC_CRL_Expiring |
Systemzeit t > NextUpdate der CRL – 3 Tage |
Sec |
War ning |
1 day |
ExpiringDateCRL= NextUpdate der CRL; Bedeutung= $EC.description |
| EC_Time_Sync_ Pending_Warning |
MGM_LU_ONLINE=Enabled und keine erfolgreiche Synchronisation der Systemzeit seit d Tagen und d > NTP_WARN_PERIOD und d <= NTP_GRACE_PERIOD. Nach einer Korrektur oder Bestätigung der Systemzeit durch einen Administrator muss der Konnektor wie nach einer erfolgreichen Zeitsynchronisation verfahren, d.h., der Tagezähler wird auf 0 zurückgesetzt. |
Sec |
War ning |
1 day |
LastSyncSuccess= $lastSyncSuccess Timestamp; Bedeutung= $EC.description |
| EC_TSL_Out_ Of_Date_Within_ Grace_Period |
Systemzeit t mit t > NextUpdate-Element der TSL und t <= NextUpdate-Element der TSL + CERT_TSL_ DEFAULT_GRACE_ PERIOD_DAYS und eine neue TSL ist nicht verfügbar |
Sec |
War ning |
1 day |
NextUpdateTSL =$NextUpdate- Element der TSL; GracePeriodTSL =CERT_TSL_ DEFAULT_ GRACE_PERIOD_ DAYS; Bedeutung= $EC.description |
| EC_CardTerminal_ Not_Available ($ctId) |
Kartenterminal($ctId) ist nicht verfügbar. Dieser Betriebszustand bezieht sich auf die als „aktiv“ gekennzeichneten KTs. |
Op |
Error |
1 sec |
CtID=$ctId; Bedeutung= $EC.description |
| EC_No_VPN_TI_ Connection |
Kein sicherer Kanal (VPN) in die Telematikinfrastruktur aufgebaut. Der Wert 300 sec ist abgeleitet aus der maximalen Verbindungsaufbauzeit bei einem Standortausfall des VPN-Zugangsdienstes. |
Op |
Error |
300 sec |
Bedeutung= $EC.description |
| EC_No_VPN_ SIS_Connection |
Kein sicherer Kanal (VPN) zu den Sicheren Internet Services aufgebaut. Der Wert 300 sec ist abgeleitet aus der maximalen Verbindungsaufbauzeit bei einem Standortausfall des VPN-Zugangsdienstes. |
Op |
Error |
300 sec |
Bedeutung= $EC.description |
| EC_No_Online_ Connection |
Konnektor kann Dienste im Transportnetz nicht erreichen. |
Op |
Error |
10 sec |
Bedeutung= $EC.description |
| EC_IP_Adresses_ Not_Available |
Die IP-Adressen des Netzkonnektors sind nicht oder falsch gesetzt. |
Sec |
Error |
1 sec |
Bedeutung= $EC.description |
| EC_CRL_Out_Of_ Date |
Systemzeit t > Next Update der CRL |
Sec |
Fatal |
1 day |
NextUpdateCRL= $NextUpdate der CRL; Bedeutung= $EC.description |
| EC_Firewall_Not_ Reliable |
Firewall-Regeln konnten nicht fehlerfrei generiert werden oder beim Laden der Firewall-Regeln ist ein Fehler aufgetreten. |
Sec |
Fatal |
1 sec |
Bedeutung= $EC.description |
| EC_Random_ Generator_ Not_Reliable |
Der Zufallszahlengenerator kann die Anforderungen an die zu erzeugende Entropie nicht erfüllen. |
Sec |
Fatal |
1 sec |
Bedeutung= $EC.description |
| EC_Secure_ KeyStore_ Not_Available |
Sicherer Zertifikats- und Schlüsselspeicher des Konnektors (gSMC-K oder Truststore) nicht verfügbar |
Sec |
Fatal |
1 sec |
Bedeutung= $EC.description |
| EC_Security_ Log_ Not_Writable |
Das Sicherheitslog kann nicht geschrieben werden. |
Op |
Fatal |
1 sec |
Bedeutung= $EC.description |
| EC_Software_ Integrity_ Check_Failed |
Eine oder mehrere konnektorinterne Integritätsprüfungen der aktiven Konnektorbestandteile sind fehlgeschlagen. |
Sec |
Fatal |
1 day |
Bedeutung= $EC.description |
| EC_Time_ Difference_ Intolerable |
Abweichung zwischen der lokalen Zeit und der per NTP empfangenen Zeit bei der Zeitsynchronisation größer als NTP_MAX_ TIMEDIFFERENCE. Nach einer Korrektur oder Bestätigung der Systemzeit durch einen Administrator muss der Konnektor den Fehlerzustand zurücksetzen. |
Sec |
Fatal |
1 sec |
NtpTimedifference= Zeitabweichung; NtpMaxAllowed Timedifference =NTP_MAX_ TIMEDIFFERENCE; Bedeutung= $EC.description |
| EC_Time_Sync_ Pending_Critical |
MGM_LU_ONLINE= Enabled und keine erfolgreiche Synchronisation der Systemzeit seit d Tagen und d > NTP_GRACE_PERIOD Nach einer Korrektur oder Bestätigung der Systemzeit durch einen Administrator muss der Konnektor wie nach einer erfolgreichen Zeitsynchronisation verfahren, d.h., der Tagezähler wird auf 0 zurückgesetzt. |
Sec |
Fatal |
1 day |
LastSyncSuccess =$lastSync SuccessTimestamp; NtpGracePeriod= NTP_GRACE_ PERIOD; Bedeutung= $EC.description |
| EC_TSL_Trust_ Anchor_ Out_Of_Date |
Gültigkeit des Vertrauensankers ist abgelaufen |
Sec |
Fatal |
1 day |
ExpiringDateTrust Anchor= Ablaufdatum der Vertrauensanker gültigkeit; Bedeutung= $EC.description |
| EC_TSL_Out_ Of_Date_ Beyond_Grace_ Period |
Systemzeit t mit t > NextUpdate-Element der TSL + CERT_TSL_DEFAULT_ GRACE_ PERIOD_DAYS und eine neue TSL ist nicht verfügbar |
Sec |
Fatal |
1 day |
NextUpdateTSL =$NextUpdate- Element der TSL; GracePeriodTSL =CERT_TSL_ DEFAULT_ GRACE_PERIOD_ DAYS; Bedeutung= $EC.description |
| EC_ CRYPTOP ERATION_ ALARM |
Gemäß TIP1-A_4597 wurde ein potentieller Missbrauch einer Kryptooperation erkannt. Nur der Administrator kann die Alarmmeldung zurücksetzen. |
Sec |
War ning |
1 min |
Operation= $Operationsname; Count=$Summenwert; Arbeitsplatz= $<Liste operationsaufrufenden workplaceIDs>; Meldung= ’Auffällige Häufung von Operationsaufrufen in den letzten 10 Minuten’ |
| EC_OTHER_ ERROR_ STATE($no) |
Herstellerspezifische Fehlerzustände, die per $no (von 1 aufsteigend nummeriert) identifiziert werden. $Type, $Severity und $ParameterList legt der Hersteller nach Bedarf fest. |
$Type |
$Sev erity |
<= 1 day |
Bedeutung= $EC.description |
| EC_NK_Certificate_Expiring | Das C.NK.VPN-Zertifikat läuft bald ab. Systemzeit t > (Ablaufdatum von C.NK.VPN – 180 Tage) |
Sec | Warning | 1 day | Iccsn=$Iccsn; Serial=$Serialnumber; Bedeutung= $EC.description |
| EC_NK_Certificate_Expired | Das C.NK.VPN-Zertifikat ist abgelaufen. Systemzeit t > Ablaufdatum von C.NK.VPN |
Sec | Fatal | 1 day | Iccsn=$Iccsn; Serial=$Serialnumber; Bedeutung= $EC.description |
| EC_TLS_Client_Certificate Security | Das für die Authentifizierung gegenüber dem Clientsystem konfigurierte Zertifikat hat ein Sicherheitsniveau von weniger als 120bit. Zu verwenden ist ein RSA -Zertifikat mit mindestens 3000 bit Schlüssellänge oder ein ECC Zertifikat. | Sec | Info | 1 day | Bedeutung= $EC.description |
Jeder Fehlerzustand wird durch einen eindeutigen ErrorCondition identifiziert. Dieser kann einen Parameter enthalten. Sind etwa die Kartenterminals mit ctId=47 und das mit ctId=93 nicht erreichbar, so lauten die ErrorCondition „EC_CardTerminal_Not_Available(47)“ und „EC_CardTerminal_Not_Available(93)“.
EC.description referenziert den Text, der in der Spalte „Beschreibung“ des Zustandes spezifiziert wurde.
Unter „kartenbasiert“ sind nicht nur Lösungen mit Smartcards sondern auch solche mit HSMs (Hardware Security Modules) zu verstehen.
A_17085 - Bedingung für den Fehlerzustand EC_No_VPN_TI_Connection
Wenn MGM_LU_ONLINE=Enabled nicht erfüllt ist, DARF der Konnektor den Zustand EC_No_VPN_TI_Connection NICHT annehmen. [<=]
A_17086 - Bedingung für den Fehlerzustand EC_No_VPN_SIS_Connection
Wenn MGM_LU_ONLINE=Enabled oder ANLW_INTERNET_MODUS=SIS nicht erfüllt ist, DARF der Konnektor den Zustand EC_No_VPN_SIS_Connection NICHT annehmen. [<=]
A_17087 - Bedingung für den Fehlerzustand EC_No_Online_Connection
Wenn MGM_LU_ONLINE=Enabled nicht erfüllt ist, DARF der Konnektor den Zustand EC_No_Online_Connection NICHT annehmen. [<=]
A_22970 - Bedingung für den Betriebszustand EC_NK_Certificate_Expiring
Der Konnektor MUSS 180 Tage vor Ablauf des aktuell verwendeten C.NK.VPN-Zertifikats in den Zustand EC_NK_Certificate_Expiring wechseln.
[<=]
A_22971 - Bedingung für den Betriebszustand EC_NK_Certificate_Expired
Der Konnektor MUSS mit dem Ablauf des aktuell verwendeten C.NK.VPN-Zertifikats in den Zustand EC_NK_Certificate_Expired wechseln.
[<=]
Tabelle 6: TAB_KON_504 Ausführungserlaubnis für Dienste in kritischen Fehlerzuständen
| EC_ Software_ Integrity_ Check_ Failed |
EC_ Random_ Generator_ Not_ Reliable |
EC_ Security_ Log_ Not_ Writable |
EC_ Time_ Sync_ Pending_ Critical |
EC_ Time_ Diffe rence_ Intoler able |
EC_ CRL_ Out_ Of_ Date |
EC_ TSL_ Out_ Of_ Date_ Beyond_ Grace_ Period |
EC_ TSL_ Trust_ Anchor_ Out_ Of_ Date |
EC_ Secure_ KeyStore_ Not_ Available |
EC_ FW_ Not_ Valid_ Status_ Blocked |
EC_ NK_ Certificate_ Expired |
||
| Technische Use Cases (TUCs) der Basisdienste relevant für Fachanwendung und die Kommunikation mit Weiteren Anwendungen und SIS |
||||||||||||
| Zugriffsberechtigungsdienst |
|
|
|
|
|
|
|
|
|
|||
| TUC_KON_000 Prüfe Zugriffsberechtigung |
- |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
|
| Dienstverzeichnisdienst |
|
|
|
|
|
|
|
|
|
|||
| |
TUC_KON_041 Einbringen der Endpunktinformationen während der Bootup-Phase |
- |
- |
- |
x |
x |
x |
x |
x |
x |
x |
x |
| Kartenterminaldienst |
|
|
|
|
|
|
|
|
|
|||
| TUC_KON_051 Mit Anwender über Kartenterminal interagieren |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| Kartendienst |
|
|
|
|
|
|
|
|
|
|||
| TUC_KON_005 Card-to-Card authentisieren |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| TUC_KON_006 Datenzugriffsaudit eGK schreiben |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| TUC_KON_018 eGK-Sperrung prüfen |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| TUC_KON_024 Karte zurücksetzen |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| TUC_kON_026 Liefere CardSession |
- |
- |
- |
- |
- |
x |
- |
x |
- |
- |
- |
|
| TUC_KON_200 SendeAPDU |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| TUC_KON_202 LeseDatei |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| TUC_KON_203 SchreibeDatei |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| TUC_KON_209 LeseRecord |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| Systeminformationsdienst |
||||||||||||
| TUC_KON_256 Systemereignis absetzen |
- |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
|
| Verschlüsselungsdienst |
|
|
|
|
|
|
|
|
|
|||
| TUC_KON_072 Daten symmetrisch verschlüsseln |
- |
- |
- |
x |
x |
x |
x |
x |
- |
x |
- |
|
| TUC_KON_073 Daten symmetrisch entschlüsseln |
- |
- |
- |
x |
x |
x |
x |
x |
- |
x |
- |
|
| Zertifikatsdienst |
|
|
|
|
|
|
|
|
|
|||
| |
TUC_KON_034 Zertifikatsinformationen extrahieren |
- |
- |
- |
x |
x |
x |
x |
x |
- |
x |
x |
| Protokollierungsdienst |
|
|
|
|
|
|
|
|
|
|||
| TUC_KON_271 Schreibe Protokolleintrag |
- |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
|
| TLS-Dienst |
|
|
|
|
|
|
|
|
|
|||
| TUC_KON_110 Kartenbasierte TLS-Verbindung aufbauen |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
|
| Verbindung zum VPN-Konzentrator |
|
|
|
|
|
|
|
|
|
|||
| |
TUC_VPN-ZD_0001 „IPsec Tunnel TI aufbauen” |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
| TUC_VPN-ZD_0002 „IPsec Tunnel SIS aufbauen” |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
|
| Operationen der Basisdienste |
||||||||||||
| Kartendienst |
|
|
|
|
|
|
|
|
|
|||
| VerifyPin |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| UnblockPin |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| ChangePin |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| GetPinStatus |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| Systeminformationsdienst |
|
|
|
|
|
|
|
|
|
|||
| Schnittstelle der Ereignissenke |
- |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
|
| GetCardTerminals |
- |
x |
x |
x |
x |
x |
x |
x |
x |
x |
- |
|
| GetCards |
- |
x |
x |
x |
x |
x |
x |
x |
x |
x |
- |
|
| GetResourceInformation |
- |
x |
x |
x |
x |
x |
x |
x |
x |
x |
- |
|
| Subscribe |
- |
x |
x |
x |
x |
x |
x |
x |
x |
x |
- |
|
| RenewSubscription |
- |
x |
x |
x |
x |
x |
x |
x |
x |
x |
- |
|
| Unsubscribe |
- |
x |
x |
x |
x |
x |
x |
x |
x |
x |
- |
|
| GetSubscription |
- |
x |
x |
x |
x |
x |
x |
x |
x |
x |
- |
|
| Verschlüsselungsdienst |
|
|
|
|
|
|
|
|
|
|||
| EncryptDocument |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| DecryptDocument |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| Signaturdienst |
|
|
|
|
|
|
|
|
|
|||
| SignDocument |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| VerifyDocument |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| GetJobNumber |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| StopSignature |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| ActivateComfortSignature |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| DeactivateComfortSignature |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| GetSignatureMode |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| Authentifizierungsdienst |
||||||||||||
| ExternalAuthenticate |
- |
- |
- |
- |
- |
x |
x |
x |
- |
x |
- |
|
| Zertifikatsdienst |
|
|
|
|
|
|
|
|
|
|||
| ReadCardCertificate |
- |
- |
- |
- |
- |
x |
x |
x |
x |
x |
- |
|
| CheckCertificateExpiration |
- |
- |
- |
- |
- |
x |
x |
x |
x |
x |
- |
|
| VerifyCertificate |
- |
- |
- |
- |
- |
x |
- |
x |
x |
x |
- |
|
| Zeitdienst |
|
|
|
|
|
|
|
|
|
|||
| I_NTP_Time_Information |
- |
- |
- |
- |
- |
x |
x |
x |
x |
- |
- |
|
| Konnektormanagement |
|
|
|
|
|
|
|
|
|
|||
| Softwareaktualisierung |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
|
| Protokolleinsicht |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
|
| Werksreset |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
|
| Sonstiges |
- |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
|
In den kritischen Fehlerzuständen, in denen keine TLS-Verbindung ins LAN aufgebaut werden (EC_Random_Generator_Not_Reliable, EC_Software_Integrity_Check_Failed, EC_Security_Log_Not_Writable, EC_Time_Sync_Pending_Critical, EC_Time_Difference_Intolerable, EC_NK_Certificate_Expired), kann keine Verbindung zu den Kartenterminals aufgebaut werden. Infolge sind hier keine Kartenoperationen zugelassen.
Wenn keine Verbindung zum VPN-Konzentrator des SIS aufgebaut werden kann, ist dadurch das Internet nicht über den Konnektor erreichbar. Wenn keine Verbindung zum VPN-Konzentrator der TI aufgebaut werden kann, sind Bestandsnetze nicht erreichbar.
Bezüglich der Administration des Konnektors im Zustand EC_FIREWALL_NOT_RELIABLE ist eine Abstimmung mit der Prüfstelle und der Zertifizierungsstelle notwendig.
A_16203 - Nutzbarkeit im Zustand EC_FIREWALL_NOT_RELIABLE
Im Zustand EC_Firewall_Not_Reliable DARF der Konnektor NICHT nutzbar sein. Möglichkeiten zur Behebung des Zustandes EC_Firewall_Not_Reliable sind mit dem CC - Evaluierer und Zertifizierer abzustimmen. [<=]
Die Architektur der TI ist so angelegt, dass die Fehlerzustände mit Severity=Fatal in den Tabellen TAB_KON_504 und TAB_KON_503 mit vernachlässigbarer Wahrscheinlichkeit von externen Einflüssen abhängen. Die SLAs für Dienste der zentralen TI-Plattform sind so gefasst, dass diese schwerwiegend verletzt werden müssten, um dadurch einen Konnektor in einen solchen kritischen Zustand zu bringen (externer Fehler aus Sicht des Konnektors). Dass beispielsweise der TSL-Dienst über den Zeitraum der Grace-Period-TSL (typisch: 7 Tage) nicht erreichbar ist (ErrorCondition EC_TSL_Out_Of_Date _Beyond_Grace_Period), kann nur bei massiver Verletzung der für zentrale Dienste festgelegten SLAs eintreten.
Um die konnektorinternen Fehlerquellen zu erfassen, die dazu führen, dass ein Fehlerzustand mit Severity=Fatal eintritt oder ein anderer Zustand, in dem der Konnektor nicht verwendbar ist, wird Folgendes gefordert:
TIP1-A_5148 - Performance - Konnektor - Mittlerer Abstand zwischen Ausfällen
Der Konnektorhersteller MUSS den mittleren Zeitabstand zwischen Ausfällen (MTBF) als Produkteigenschaft ausweisen. Der Konnektor soll einen mittleren Zeitabstand zwischen Ausfällen (MTBF) von mindestens 50 Jahren haben.
Ein „Ausfall“ gilt dann als eingetreten, wenn
der Konnektor nicht mehr gebootet werden kann, d. h. kein „BOOTUP/BOOTUP_COMPLETE“ Event ausgelöst wird, und dies nicht auf einen externen Fehler zurückzuführen ist,
oder sich der Konnektor in einem Fehlerzustand mit Severity=Fatal befindet, der nicht auf einen externen Fehler zurückzuführen ist,
oder Funktionen des Konnektors ausgefallen sind, ohne dass dies auf externe Fehler zurückzuführen ist.
Bei einem mittleren Zeitabstand zwischen Ausfällen (MTBF) von 50 Jahren ist die Wahrscheinlichkeit, dass ein Fehlerzustand mit Severity=Fatal auftritt, kleiner 2 % pro Jahr.
TIP1-A_4510-04 - Sicherheitskritische Fehlerzustände
Der Konnektor MUSS bei eingetretenem Fehlerzustand aus Tabelle Tab_ Kon_503 Betriebszustand_Fehlerzustandsliste mit Severity=Fatal dafür sorgen, dass von den Operationen der Basisdienste und Technische Use Cases (TUCs) der Basisdienste, die relevant für Fachanwendungen sind, nur erlaubte Operationen und TUCs gestartet und ausgeführt werden.
Welche Operationen und TUCs je eingetretenem Fehlerzustand ausgeführt werden dürfen, legt Tabelle „TAB_KON_504 Ausführungserlaubnis für Dienste in kritischen Fehlerzuständen“ fest: Jede Erlaubnis ist dort durch ein „x“ definiert.
Abweichend zu Angaben in der Tabelle TAB_KON_504 DÜRFEN folgende Operationen und TUCs NICHT im Zustand EC_Firewall_Not_Reliable ausgeführt werden:
- TUC_KON_000 PrüfeAufrufkontext
- TUC_KON_041 Einbringen der Endpunktinformationen während der Bootup-Phase
- GetCardTerminals
- GetCards
- GetResourceInformation
- Subscribe
- RenewSubscription
- Unsubscribe
- GetSubscription
- ReadCardCertificate
- CheckCertificateExpiration
- VerifyCertificate
Tabelle 7: TAB_KON_502 Fehlercodes „Betriebszustand“
| Fehlercode |
ErrorType |
Severity |
Fehlertext |
|---|---|---|---|
| 4002 |
Security |
Fatal |
Der Konnektor befindet sich in einem kritischen Betriebszustand |
[<=]
3.4.1 Betriebsaspekte
Der Konnektor soll per Signaleinrichtung am Konnektor die Fehlerzustände mit Severity „Error“ und „Fatal“ anzeigen (siehe [TIP1-A_4843]).
TIP1-A_4513 - Betriebszustände anzeigen und Fehlerzustände zurücksetzen
Der Konnektor MUSS es dem Administrator ermöglichen, den aktuellen Betriebszustand einzusehen und Fehlerzustände zurückzusetzen, soweit diese Möglichkeit in Tabelle „TAB_KON_503 Betriebszustand_Fehlerzustandsliste“ für den jeweiligen Fehlerzustand festgelegt ist.
Ferner MUSS es die Managementschnittstelle dem Administrator ermöglichen, Konfigurationsänderungen gemäß Tabelle TAB_KON_505 vorzunehmen:
Tabelle 8: TAB_KON_505 Konfigurationswerte Missbrauchserkennung
ReferenzID |
Belegung |
Bedeutung und Administrator-Interaktion |
|---|---|---|
EVT_MONITOR_OPERATIONS |
Liste von: - Operationsname - OK_Val (Nummer) - NOK_Val (Nummer) - Alarmwert (Nummer) |
Der Administrator MUSS in der Liste der zur Missbrauchserkennung überwachbaren Operationen alle Listeneinträge einsehen können. Er MUSS den jeweiligen Alarmwert editieren können (0-9999, 0=deaktiviert). OK_VAL und NOK_VAL DÜRFEN durch den Administrator NICHT veränderbar sein. |
3.5 Fachliche Anbindung der Clientsysteme
Für die Schnittstellen des Konnektors zu den Clientsystemen kann gesteuert werden:
- ob die Kommunikation zwischen Konnektor und Clientsystemen hinsichtlich Vertraulichkeit, Integrität und Authentizität zwingend durch TLS gesichert werden muss
- ob sich Clientsysteme zwingend authentisieren müssen
- welche Clientsysteme auf den Konnektor zugreifen dürfen (Whitelisting)
Dabei werden die folgenden zwei Nutzungsszenarien nicht unterschieden:
- Nutzung von Fachanwendungen (in Form von Fachmodulen)
- Nutzung von Basisdiensten des Konnektors
Sowohl die Anbindung zur Administration des Konnektors, als auch die Anbindung zur Nutzung von Bestandsnetzen oder dem gesicherten Internetzugang sind nicht Gegenstand dieser Schnittstellenfestlegungen. Für die Anbindung zu Administration wird diese im Kapitel Konnektormanagement beschrieben, für die Anbindung von Bestandsnetzen bzw. dem gesicherten Internetzugang ist diese Art der Regelung nicht erforderlich, da es sich dort um Routing-Funktionen handelt.
Die seitens des Administrators einstellbaren Werte und Listen sind, der allgemeinen Struktur dieses Dokuments folgend, im Unterkapitel 3.4.1 Betriebsaspekte beschrieben.
TIP1-A_4514 - Verfügbarkeit einer TLS-Schnittstelle
Der Konnektor MUSS TLS in Richtung der Clientsysteme für alle Außenschnittstellen der Basisdienste:
- Dienstverzeichnisdienst
- Kartenterminaldienst
- Systeminformationsdienst
- Verschlüsselungsdienst
- Signaturdienst
- Zertifikatsdienst
- Kartendienst
- LDAP-Proxy
Ferner MUSS der Konnektor für die SOAP-Endpunkte der Fachmodule TLS unterstützen.
Der Konnektor MUSS sich mittels ID.AK.AUT gegenüber dem Client authentisieren.
[<=]
TIP1-A_4515 - Verpflichtung zur Nutzung der TLS-Verbindung
Der Konnektor MUSS immer TLS-Verbindungsanfragen von Clientsystemen annehmen.
Der Konnektor MUSS bei gesetzter Variable ANCL_TLS_MANDATORY = Enabled den Verbindungsversuch von Clientsystemen ohne TLS ablehnen. Ausgenommen hiervon sind Anfragen an den Dienstverzeichnisdienst bei gesetzter Variable ANCL_DVD_OPEN = Enabled.
[<=]TIP1-A_4516 - Authentifizierung der Clients über Basic-Auth und X.509-Zertifikate
Der Konnektor MUSS zur Client-Authentifizierung die Verfahren Basic Authentication (Username/Password) [RFC2617] über HTTP/TLS [RFC2818] und zertifikatsbasierte Client-Authentifizierung (X.509) [gemSpec_PKI#8.3.1.4] über TLS anbieten.
Dabei MUSS für eine erfolgreiche Prüfung bei Basic Authentication:
- das seitens des Clientsystems präsentierte Credential in ANCL_CUP_LIST enthalten sein
- das seitens des Clientsystems präsentierte Zertifikat in ANCL_CCERT_LIST enthalten sein
- die Zertifikatsprüfung (nur Prüfung auf „mathematische Korrektheit“ und „Gültigkeit nicht abgelaufen“) erfolgreich durchlaufen werden
Bei der Authentisierung des Clientsystems geht es um eine Authentisierung in zwei Richtungen:
- Authentisierung des Clientsystems in der Rolle eines Clients gegenüber dem Konnektor für die Übertragung von SOAP-Requests.
- Authentisierung des Clientsystems in der Rolle eines Servers gegenüber dem Konnektor zum Empfang von CETP-Ereignismitteillungen des Systeminformationsdienstes.
Für beide Richtungen kann das Clientsystem dasselbe Zertifikat verwenden.
TIP1-A_5009 - Authentifizierungsvarianten für Verbindungen zwischen Konnektor und Clientsystemen
Der Konnektor MUSS für Verbindungen zu Clientsystemen als Authentifizierungsmethode ausschließlich folgende Varianten erlauben:
- Für Verbindungen mit dem Konnektor in der Rolle des Servers (SOAP-Requests):
- TLS-Server-Authentifizierung des Konnektors und TLS-Client-Authentifizierung des Clientsystems
- TLS-Server-Authentifizierung des Konnektors und BasicAuthentifizierung des Clientsystems
- TLS-Server-Authentifizierung des Konnektors ohne TLS-Client-Authentifizierung des Clientsystems
- Keine Authentifizierung des Konnektors und des Clientsystems
- Für Verbindungen mit dem Konnektor in der Rolle des Clients (CETP-Protokoll):
- TLS-Server-Authentifizierung des Clientsystems und TLS-Client-Authentifizierung des Konnektors
- TLS-Server-Authentifizierung des Clientsystems ohne TLS-Client-Authentifizierung des Konnektors
- Keine Authentifizierung des Konnektors und des Clientsystems
[<=]
Für die Anbindung der Clientsysteme ergeben sich verschiedene Konfigurationsvarianten bezüglich der Absicherung der Verbindungen zwischen Konnektor und Clientsystemen. Tabelle TAB_KON_852 listet die Varianten für die Verbindungen zum Aufruf der WebService-Schnittstellen (Varianten SOAP1 bis SOAP4), für die Verbindungen zum Senden von Events (Varianten CETP1 und CETP2) und für Verbindungen zum Abruf des Dienstverzeichnisses (Varianten DVD1, DVD2 und DVD3).
Tabelle 9: TAB_KON_852 Konfigurationsvarianten der Verbindungen zwischen Konnektor und Clientsystemen
| Konfigu- rations- variante |
ANCL_ TLS_ MAN- DATORY |
ANCL_ CAUT_ MAN- DATORY |
ANCL_ CAUT_ MODE |
ANCL_
DVD_ OPEN |
Bedeutung |
|---|---|---|---|---|---|
| CETP1 |
Enabled
|
Irrelevant
|
Irrelevant
|
Irrelevant
|
Der Konnektor sendet Events ausschließlich über TLS. Er authentisiert sich, wenn ihn das Clientsystem im Rahmen des TLS-Handshakes dazu auffordert. |
| CETP2 |
Disabled
|
Irrelevant
|
Irrelevant
|
Irrelevant
|
Der Konnektor sendet Events immer über eine TCP-Verbindung ohne TLS. |
| SOAP1 |
Enabled
|
Enabled
|
CERTIFICATE
|
Irrelevant
|
Der Konnektor akzeptiert vom Clientsystem nur Aufrufe über TLS. Der Konnektor verlangt beim TLS-Handshake die Authentisierung des Clientsystems per Zertifikat. |
| SOAP2 |
Enabled
|
Enabled
|
PASSWORD
|
Irrelevant
|
Der Konnektor akzeptiert vom Clientsystem nur Aufrufe über TLS. Der Konnektor prüft auf Anwendungsebene, dass Aufrufer sich per Username/Password [RFC2617] authentisieren. |
| SOAP3 |
Enabled
|
Disabled
|
Irrelevant
|
Irrelevant
|
Der Konnektor akzeptiert vom Clientsystem nur Aufrufe über TLS. Der Konnektor nimmt keine Clientauthentifizierung vor. |
| SOAP4 |
Disabled
|
Irrelevant
|
Irrelevant
|
Irrelevant
|
Der Konnektor akzeptiert vom Clientsystem sowohl Aufrufe ohne TLS als auch über TLS. Im zweiten Fall sollte der Konnektor das Clientsystem nicht authentifizieren, wenn er es aber für den Sonderfall ANCL_CAUT_MANDATORY=Enabled aktuell tut, sehen wir das nicht als Fehler. |
| DVD1 |
Irrelevant
|
Irrelevant
|
Irrelevant
|
Enabled
|
Zugriff auf Dienstverzeichnisdienst kann über HTTP und HTTPS erfolgen. |
| DVD2 |
Enabled
|
* |
* |
Disabled
|
Zugriff auf Dienstverzeichnisdienst kann nur über HTTPS erfolgen. *) Bzgl. Clientauthentisierung wirken die Schalter wie in SOAP 1, SOAP 2, SOAP 3 |
| DVD3 |
Disabled
|
Irrelevant
|
Irrelevant
|
Disabled
|
Zugriff auf Dienstverzeichnisdienst kann über HTTP und HTTPS erfolgen. |
Client-Authentisierung bei Nutzung des LDAP-Proxy
Für die Nutzung des LDAP-Proxy gelten abweichende Festlegungen, da viele Standard LDAP- / Mail-Clients grundsätzlich keine Funktion zur Client-Authentisierung anbieten. Um die Nutzung des LDAP-Proxy und somit des VZD der TI dennoch zu ermöglichen, ohne dabei auf eine verpflichtende Client-Authentisierung für SOAP-Aufrufe zu verzichten, werden für LDAP gesonderte Regelungen getroffen.
A_21224-01 - Authentifizierung für Verbindungen zwischen Konnektor und Clientsystemen bei LDAP
Bei der Verwendung des LDAP-Proxies im Konnektor, MUSS sich der Konnektor abhängig von der Stellung der Schalter ANCL_TLS_MANDATORY, ANCL_CAUT_MANDATORY, ANCL_CAUT_MODE und ANCL_CAUT_LDAP gemäß der Tabelle TAB_KON_860 verhalten.
Tabelle 10: TAB_KON_865-01 Konfigurationsvarianten der Verbindungen zwischen Konnektor und Clientsystemen bei LDAP
| Konfigu- rations- variante |
ANCL_ TLS_ MAN- DATORY |
ANCL_ CAUT_ MAN- DATORY |
ANCL_ CAUT_ MODE |
ANCL_ CAUT_ LDAP |
Bedeutung |
|---|---|---|---|---|---|
| LDAP1 |
Enabled
|
Enabled
|
Irrelevant | CERTIFICATE | Der Konnektor akzeptiert vom Clientsystem nur Aufrufe über TLS. Der Konnektor verlangt beim TLS-Handshake bei Nutzung des LDAP-Proxy die Authentisierung des Clientsystems per Zertifikat. |
| LDAP2 |
Enabled |
Enabled |
Irrelevant |
None | Der Konnektor akzeptiert vom Clientsystem nur Aufrufe über TLS. Der Konnektor nimmt bei Nutzung des LDAP-Proxy keine Clientauthentifizierung vor. |
| LDAP3 |
Enabled
|
Disabled
|
Irrelevant
|
Irrelevant | Der Konnektor akzeptiert vom Clientsystem nur Aufrufe über TLS. Der Konnektor nimmt keine Clientauthentifizierung vor. |
| LDAP4 |
Disabled
|
Irrelevant
|
Irrelevant
|
Irrelevant | Der Konnektor akzeptiert vom Clientsystem sowohl Aufrufe ohne TLS als auch über TLS. Im zweiten Fall sollte der Konnektor das Clientsystem nicht authentifizieren, wenn er es aber für den Sonderfall ANCL_CAUT_MANDATORY=Enabled, ANCL_CAUT_LDAP=CERTIFICATE aktuell tut, sehen wir das nicht als Fehler. |
Aus A_21224 resultiert direkt, dass als Client-Authentisierung für LDAPS nur Client-Zertifikate unterstützt werden müssen. Die Authentisierung mit Username/Passwort wird bei LDAPS nicht unterstützt.
Es sei noch einmal betont, dass TIP1-A_5009 sich nur auf SOAP und CETP bezieht und TIP1-A_4516 das Basic-Authentication Verfahren nur für HTTP fordert.
3.5.1 Betriebsaspekte
Damit sich ein Clientsystem mittels X.509 authentisieren kann, muss es über ein entsprechendes Zertifikat verfügen. Diese Zertifikate kann der Administrator entweder mit seinen lokalen Mitteln selbst oder mittels des Konnektors erzeugen. In beiden Fällen müssen diese Zertifikate sowohl im Clientsystemen (hier zusammen mit ihren privaten Schlüsseln), als auch im Konnektor vorhanden sein.
Da es sich um eine lokal begrenzte Authentisierung im Verantwortungsbereich des Betreibers des lokalen Netzes handelt, werden keine weiteren Vorgaben zu den Schlüsselspeichern auf Clientsystemseite erhoben. Auch hinsichtlich der außerhalb des Konnektors erzeugten Zertifikate gelten keine weiteren Vorgaben. Ferner ist eine Online-Prüfung dieser Zertifikate nicht erforderlich.
TIP1-A_4517 - Schlüssel und X.509-Zertifikate für die Authentisierung des Clientsystems erzeugen und exportieren sowie X.509-Zertifikate importieren
Der Konnektor MUSS die Erstellung und den Export von X.509-Zertifikaten für Clientsysteme und der zugehörigen privaten Schlüssel durch den Administrator über das Managementinterface ermöglichen. Hierbei MUSS der Konnektor dem Administrator die Möglichkeit geben, das kryptographische Verfahren RSA-2048 oder ECC-256 auszuwählen. Als Exportformat MUSS PKCS#12 verwendet werden. Die so erstellten Zertifikate werden zu ANCL_CCERT_LIST angefügt.
Der Konnektor MUSS dem Administrator ferner den Import von konnektorfremden X.509-Zertifikaten für Clientsysteme über das Managementinterface ermöglichen. Die so importierten Zertifikate werden zu ANCL_CCERT_LIST angefügt.
[<=]
TIP1-A_4518-02 - Konfiguration der Anbindung Clientsysteme
Der Administrator MUSS in der Managementoberfläche die in TAB_KON_506 genannten Parameter im Managementinterface konfigurieren können.
Wird ANCL_TLS_MANDATORY auf ENABLED gewechselt, MÜSSEN alle nicht per TLS gesicherten http-Verbindungen geschlossen werden, sobald die in den Verbindungen jeweils aktuell laufenden Außenschnittstelle-Operationen abgeschlossen wurden, mit Ausnahme von http-Verbindungen zum Dienstverzeichnisdienst.
Der Konnektor MUSS den Administrator geeignet und verständlich auf seine Verantwortung für die Sicherung der Kommunikation hinweisen.
Tabelle 11: TAB_KON_506-01 Konfigurationsparameter der Clientsystem-Authentisierung
| ReferenzID |
Belegung |
Bedeutung und Administrator-Interaktion |
|---|---|---|
| ANCL_TLS_MANDATORY |
Enabled/Disabled |
Der Administrator MUSS die verpflichtende Verwendung eines TLS gesicherten Kanals an- und abschalten können. Wenn ANLW_ANBINDUNGS_MODUS = Parallel MUSS der Administrator vor dem Disablen von ANCL_TLS_MANDATORY einen Warnhinweis bestätigen, der ihn über die mit der Abschaltung verbundenen Risiken informiert und darlegt, dass in diesem Fall der Nutzer die Verantwortung für die Sicherstellung der vertraulichen Übertragung übernimmt. Default-Wert: Enabled |
| ANCL_CAUT_MANDATORY |
Enabled/Disabled |
Der Administrator MUSS die verpflichtende Authentifizierung der Clientsysteme an- und abschalten können. Default-Wert: Enabled |
| ANCL_CAUT_MODE |
CERTIFICATE / PASSWORD |
Der Administrator MUSS konfigurieren können, welcher Client Authentifizierungsmodus genutzt werden kann bzw. genutzt werden muss. Default-Wert: CERTIFICATE |
| ANCL_CAUT_LDAP | Enabled/Disabled | Der Administrator MUSS die verpflichtende Authentifizierung der Clientsysteme für die Nutzung des LDAP-Proxy an- und abschalten können. Default-Wert: Enabled |
| ANCL_CCERT_LIST |
Liste von X.509-Zertifikaten zugeordnet zu ClientID |
Whitelist an importierten oder vom Konnektor erzeugten X.509-Zertifikaten und dazugehörenden Clientsystem IDs. Der Administrator MUSS die Liste der Zertifikate und den zugehörenden Clientsystemen verwalten können, der Inhalt der Zertifikate MUSS menschlich lesbar dargestellt werden. Es muss für den Administrator erkennbar sein, welches kryptographische Verfahren (RSA-2048 oder ECC -256) dem jeweiligen Zertifikat zugrunde liegt. |
| ANCL_CUP_LIST |
Liste von Benutzer/Passwort Kombinationen, zugeordnet zu ClientID |
Whitelist an UserCredentials und dazugehörenden Clientsystem IDs. Der Administrator MUSS eine Liste von Credentials und zugehörendem Clientsystem verwalten können. Bei diesen Benutzer-/Passwortkombinationen handelt es sich nicht um personenbezogene Credentials, sondern um clientbezogene. |
| ANCL_DVD_OPEN |
Enabled/Disabled |
Der Administrator MUSS konfigurieren können, ob der Zugriff auf den Dienstverzeichnisdienst auch dann über einen ungesicherten http-Kanal erfolgen kann (ENABLED), wenn ANCL_TLS_MANDATORY = ENABLED ist. Default-Wert: Enabled |
[<=]
Damit sich der Konnektor mittels X.509 gegenüber Clientsystemen authentisieren kann, muss er über ein entsprechendes Zertifikat und dazu passendes Schlüsselmaterial verfügen. Dieses Zertifikat und Schlüsselmaterial befinden sich auf der gSMC-K (ID.AK.AUT). Der Administrator hat neben der Konfiguration zur Nutzung des erneuerten C.AK.AUT , welches vom Konnektor heruntergeladen wurde, auch mehrere Möglichkeiten, die ID.AK.AUT von der gSMC-K für die Authentisierung gegenüber den Clientsystemen zu ersetzen:
- er kann ein Zertifikat und das dazugehörige Schlüsselmaterial Konnektor-extern mit seinen lokalen Mitteln erzeugen und in den Konnektor importieren oder
- er kann ein Zertifikat und das dazugehörige Schlüsselmaterial im Konnektor erzeugen und das Zertifikat ggf. aus dem Konnektor exportieren.
Da es sich um eine lokal begrenzte Authentisierung im Verantwortungsbereich des Betreibers des lokalen Netzes handelt, werden keine weiteren Vorgaben zur Erstellung und Handhabung in der LE-Umgebung der außerhalb des Konnektors erzeugten Zertifikate und Schlüssel erhoben. Eine Online-Status-Prüfung dieser Zertifikate ist nicht erforderlich und nicht vorgesehen.
A_21811 - Vorgaben für generierte und importierte Schlüssel und Zertifikate entsprechend gemSpec_Krypt
Der Konnektor SOLL bezüglich selbst generierter und importierter Schlüssel und Zertifikate für die TLS-Authentisierung gegenüber Primärsystemen die kryptographischen Vorgaben aus gemSpec_Krypt durchsetzen. [<=]
Bezüglich der Nutzung von Schlüsseln und Zertifikaten basierend auf elliptischer Kurven Kryptographie, sind für die generierten und importierten Daten für die TLS-Authentisierung gegenüber Primärsystemen neben den in gemSpec_Krypt genannten Brainpoolkurven auch die NIST-Kurven gleicher Stärke gestattet.
A_21697 - Schlüsselpaar und dazugehöriges X.509-Zertifikat für Authentisierung des Konnektors gegenüber Clientsystemen importieren
Der Konnektor MUSS dem Administrator den Import eines extern generierten Schlüsselpaars und des dazugehörigen X.509-Zertifikats für die Authentisierung des Konnektors im Rahmen von TLS-Verbindungen gegenüber Clientsystemen über das Managementinterface ermöglichen. [<=]
A_21698 - Importiertes Schlüsselpaar und dazugehöriges X.509-Zertifikat für Authentisierung des Konnektors gegenüber Clientsystemen verwenden
Der Konnektor MUSS dem Administrator das Einschalten der Verwendung von importiertem Schlüsselpaar und dazugehörigem X.509-Zertifikat für die Authentisierung des Konnektors gegenüber Clientsystemen über das Managementinterface ermöglichen. [<=]
A_21699-01 - Schlüssel und X.509-Zertifikate für Authentisierung des Konnektors gegenüber Clientsystemen erzeugen
Der Konnektor MUSS die Erstellung eines Schlüsselpaars und eines dazugehörigen X.509-Zertifikats für die Authentisierung des Konnektors im Rahmen von TLS-Verbindungen gegenüber den Clientsystemen durch den Administrator über das Managementinterface ermöglichen. Hierbei MUSS der Konnektor dem Administrator die Möglichkeit geben, das kryptographische Verfahren RSA-2048, RSA-3072 oder ECC-256 auszuwählen. Ferner MUSS der Konnektor dem Administrator die Möglichkeit geben, den Hostnamen des Konnektors im Zertifikat zu vergeben.
[<=]
A_21701 - X.509-Zertifikate für Authentisierung des Konnektors gegenüber Clientsystemen exportieren
Der Konnektor MUSS dem Administrator den Export von intern generierten X.509-Zertifikaten, die für die Authentisierung des Konnektors im Rahmen von TLS-Verbindungen gegenüber den Clientsystemen verwendet werden, über das Managementinterface ermöglichen. Der private Schlüssel verbleibt im Konnektor. [<=]
A_21702 - Intern generierte Schlüssel und X.509-Zertifikate für Authentisierung des Konnektors gegenüber Clientsystemen verwenden
Der Konnektor MUSS dem Administrator das Einschalten der Verwendung von intern generierten Schlüsseln und X.509-Zertifikaten für die Authentisierung des Konnektors gegenüber den Clientsystemen über das Managementinterface ermöglichen. [<=]
A_21760-01 - ID.AK.AUT auf gSMC-K für Authentisierung des Konnektors gegenüber Clientsystemen verwenden
Der Konnektor MUSS dem Administrator das Einschalten der Verwendung von ID.AK.AUT auf der gSMC-K für die Authentisierung des Konnektors gegenüber den Clientsystemen über das Managementinterface ermöglichen. Der Konnektor MUSS dabei zur Auswahl das RSA-Zertifikat C.AK.AUT.R2048 und (falls personalisiert) das ECC-Zertifikat C.AK.AUT2.XXXX anbieten. Das ausgewählte Zertifikat MUSS sowohl für die Serveridentität an der SOAP-Schnittstelle als auch für die Clientidentität an der CETP-Schnittstelle verwendet werden.
[<=]
A_22894 - Handbuch Erläuterungen zur Zertifikatsauswahl
Der Hersteller des Konnektors MUSS im Administratorhandbuch erläutern, welche Abhängigkeiten die unterschiedlichen Konfigurationen zur Authentifizierung gegenüber den Clientsystemen zu beachten sind. [<=]
3.6 Clientsystemschnittstelle
TIP1-A_5401 - Parallele Nutzbarkeit Clientsystemschnittstelle
Alle Schnittstellen, die der Konnektor den Clientsystemen zur Verfügung stellt, MÜSSEN parallel durch mehrere Aufrufer nutzbar sein.
[<=]
3.6.1 SOAP-Schnittstelle
Für die Beschreibung der SOAP-Schnittstelle zum Clientsystem wird in dieser Spezifikation WSDL Version 1.1 [WSDL1.1] eingesetzt. Die Interoperabilität zwischen verschiedenen SOAP-Implementierungen wird durch die Vorgaben des WS-I Basic Profile erreicht.
A_15601 - SOAP für Web-Services der Basisdienste
Der Konnektor MUSS für die an der Clientsystemschnittstelle definierten Web-Services der Basisdienste [SOAP1.1] verwenden. [<=]
TIP1-A_4519 - Web-Services konform zu [BasicProfile1.2]
Der Konnektor MUSS die für die Clientsystemschnittstelle definierten Web-Services konform zu [BasicProfile1.2] anbieten.
Abweichend von R1012 in [BasicProfile1.2] MUSS der Konnektor nur das Character Encoding UTF-8 unterstützen. Andere Kodierungen MUSS der Konnektor mit einem Fehler beantworten. [<=]
TIP1-A_4519-01 - ab PTV4: Web-Services konform zu [BasicProfile1.2]
Der Konnektor MUSS die für die Clientsystemschnittstelle definierten Web-Services der Basisdienste konform zu [BasicProfile1.2] anbieten.
[<=]
A_15606 - Character Encoding für Web-Services
Abweichend von R1012 in [BasicProfile1.2] und [BasicProfile2.0] MUSS der Konnektor nur das Character Encoding UTF-8 unterstützen. Andere Kodierungen MUSS der Konnektor mit einem Fehler beantworten.
[<=]Da der Konnektor UTF-16 nicht unterstützt, muss das Clientsystem den Request in UTF-8 kodieren. Diese Festlegungen gelten nur für die eigentliche SOAP-Nachricht. Sind in der SOAP-Nachricht base64-encodierte XML-Elemente vorhanden, so können diese XML-Elemente andere Zeichencodierungen aufweisen.
Fachmodule
Fachmodule können für Web-Services, die Clientsystemen bereitgestellt werden, entweder [SOAP1.1] mit [BasicProfile1.2] oder [SOAP1.2] mit [BasicProfile2.0] verwenden. Die genaue Ausprägung erfolgt in der jeweiligen Interfacebeschreibung des Web-Services für das Fachmodul.
A_15607 - SOAP für Web-Services der Fachmodule
Der Konnektor MUSS für die an der Clientsystemschnittstelle definierten Web-Services der Fachmodule [SOAP1.1] und [SOAP1.2] unterstützen. Die SOAP-Version pro Web-Service Endpunkt wird durch die WSDL des jeweiligen Web-Service definiert. [<=]
A_15608 - Web-Services der Fachmodule konform zu [BasicProfile1.2]
Der Konnektor MUSS für die an der Clientsystemschnittstelle definierten Web-Services der Fachmodule bei [SOAP1.1] die Profilierung konform zu [BasicProfile1.2] anbieten. [<=]
A_15609 - Web-Services der Fachmodule konform zu [BasicProfile2.0]
Der Konnektor MUSS für die an der Clientsystemschnittstelle definierten Web-Services der Fachmodule bei [SOAP1.2] die Profilierung konform zu [BasicProfile2.0] anbieten. [<=]
3.6.2 Statusrückmeldung und Fehlerbehandlung
Der Konnektor bietet Operationen an der Außenschnittstelle über SOAP-Webservices an. Treten bei der Ausführung einer Operation Fehler auf, so werden diese an das aufrufende System gemeldet. Die von den Basisdiensten des Konnektors angebotenen SOAP-Webservices melden Fehler, die bei der Ausführung einer Operation auftreten, über eine SOAP-Fault-Nachricht (siehe auch [gemSpec_OM#3.2.3]).
TIP1-A_5058 - Fehlerübermittlung durch gematik-SOAP-Fault
Der Konnektor MUSS Fehlermeldungen, die im Rahmen einer über die Außenschnittstelle aufgerufenen Operation auftreten, an das Clientsystem mittels gematik-SOAP-Faults melden.
[<=]
TIP1-A_5058-01 - ab PTV4: Fehlerübermittlung durch gematik-SOAP-Fault
Der Konnektor MUSS Fehlermeldungen, die im Rahmen einer über die Außenschnittstelle aufgerufenen Operation eines Basisdienst-SOAP-Webservices auftreten, an das Clientsystem mittels gematik-SOAP-Faults melden.
[<=]
Treten bei konnektorinternen Operationen (TUCs) Fehler auf, so werden diese an den Aufrufer (aufrufender TUC oder aufrufende Operation) zurückgegeben. Der Aufrufer kann den aufgetretenen Fehler in seinem Kontext neu interpretieren. Das bedeutet insbesondere, dass ein Error eines aufgerufenen TUCs nicht zwingend zum Abbruch des aufrufenden TUCs bzw. der aufrufenden Operation führen muss. So ist es dem Aufrufer möglich, einen Error als Warnung zu interpretieren und an den eigenen internen oder externen Aufrufer zurückzumelden. Diese dabei erzeugte Fehlerkette wird in Form einer Fehler-Trace-Struktur abgebildet, um eine Nachverfolgung von Fehlern zu ermöglichen.
Operationen an der Außenschnittstelle können die Fehlerkette zu Informationszwecken in der SOAP-Antwort an das Clientsystem senden. Dazu enthält jede SOAP-Antwort das Element Status, dass gemäß dem XML-Schema [ConnectorCommon.xsd] aufgebaut ist (siehe auch Abbildung PIC_KON_107 XML-Struktur des Status-Elements einer SOAP-Antwort).
Abbildung 3: PIC_KON_107 XML-Struktur des Status-Elements einer SOAP-Antwort
Schlägt eine Operation fehl, so wird eine SOAP-Fault-Meldung an das Clientsystem versendet. Im Erfolgsfall wird das Status-Element in die Antwortnachricht an das Clientsystem aufgenommen. Ist der Fehler-Trace leer (Element GERROR:Error ist nicht vorhanden), so wird CONN:Result auf OK gesetzt. Andernfalls, d. h. wenn in GERROR:Trace Fehler der Schwere Info oder Warning (zu Informationszwecken) enthalten sind, wird CONN:Result auf Warning gesetzt.
TIP1-A_4521 - Protokollierung von Fehlern inkl. Trace-Struktur
Der Konnektor MUSS Fehler protokollieren, die in fachlichen und technischen Abläufen von der gematik spezifiziert oder herstellerspezifisch definiert sind und den Schweregrad (Severity) Warning, Error oder Fatal haben. Zur Nachvollziehbarkeit des Fehlers MÜSSEN Fehlerursache, fachliche und technische Auslöser des Fehlverhaltens aus den Protokolleinträgen erkennbar sein.
[<=]
A_14159 - Rückgabe von Fehlermeldungen an der Außenschnittstelle
Der Konnektor MUSS bei der Rückgabe von Fehlermeldungen an der Außenschnittstelle sicherstellen, dass im letzten“ GERROR:Trace“-Element der GERROR-Struktur ein von der gematik spezifizierter Fehler steht. Die GERROR-Struktur kann weitere gematik- und herstellerspezifische Fehler enthalten.
[<=]
In der Regel ist es ausreichend, wenn die GERROR-Struktur an der Außenschnittstelle nur ein Element „GERROR:Trace“ mit einem gematik-Fehler enthält.
Wenn für eine Fehlersituation kein Fehlercode spezifiziert ist, kann ein herstellerspezifischer Fehler zur Detaillierung verwendet werden. In diesem Fall muss ein passender gematik-Fehler als letztes GERROR:Trace-Element gewählt werden. Bei Fehlern in technischen Abläufen kann Fehlercode 4001 als letztes GERROR:Trace-Element verwendet werden. Die Wahl des letzten GERROR:Trace-Elements ist mit der gematik abzustimmen.
Zur Struktur von Fehlermeldungen siehe auch [gemSpec_OM#GS-A_3856-*].
3.6.3 Transport großer Dokumente
SOAP Message Transmission Optimization Mechanism (MTOM) ermöglicht den direkten Transport von binären Daten in Webservices, d.h. ohne dass eine zur Laufzeit aufwändige Verpackung der binären Daten in ein Base64-XML-Element notwendig wird. Auf die Definition der Webservices und ihre Funktionalität hat dieser Optimierungsmechanismus keinen Einfluss. Der Einsatz von MTOM dient der Verbesserung des Performance-Verhaltens für große Dokumente.
Das Clientsystem kann die Optimierung des Transports großer Dokumente per SOAP Message Transmission Optimization Mechanism (MTOM) anstoßen. In den WSDL-Dateien werden keine MTOM Serialization Policy Assertion [WS-MTOMPolicy] eingebettet.
TIP1-A_5694 - SOAP Message Transmission Optimization Mechanism für Basisdienste
Der Konnektor KANN SOAP Message Transmission Optimization Mechanism (MTOM) gemäß [MTOM] unterstützen.
Wenn der Konnektor MTOM unterstützt, MUSS er MTOM für Signatur- und Verschlüsselungsdienst unterstützen, DARF aber NICHT MTOM für andere Dienste unterstützen.
Wenn der Konnektor MTOM unterstützt, MUSS er, vergleichbar dem Einsatz des Attributs wsp:Optional="true" einer MTOM Serialization Policy Assertion [WS-MTOMPolicy], genau dann MTOM für die Antwortnachricht verwenden, wenn entweder
- die Aufrufnachricht eine application/xop+xml Nachricht ist
- oder der Accept HTTP header der Aufrufnachricht folgenden Wert hat:
multipart/related; type=application/xop+xml
TIP1-A_5694-02 - ab PTV4: SOAP Message Transmission Optimization Mechanism für Basisdienste
Der Konnektor KANN SOAP Message Transmission Optimization Mechanism (MTOM) gemäß [MTOM-SOAP1.1] für Basisdienste unterstützen. [<=]
TIP1-A_5694-03 - ab PTV5: SOAP Message Transmission Optimization Mechanism für Basisdienste
Der Konnektor MUSS SOAP Message Transmission Optimization Mechanism (MTOM) gemäß [MTOM-SOAP1.1] für Basisdienste unterstützen.
[<=]
A_15786 - SOAP Message Transmission Optimization Mechanism für Basisdienste - Einschränkung
Wenn der Konnektor MTOM für Basisdienste unterstützt, MUSS er MTOM für Signatur- und Verschlüsselungsdienst unterstützen, DARF aber NICHT MTOM für andere Dienste unterstützen. [<=]
A_15610 - Verwendung von MTOM für Antwortnachricht
Wenn der Konnektor MTOM unterstützt, MUSS er, vergleichbar dem Einsatz des Attributs wsp:Optional="true" einer MTOM Serialization Policy Assertion [WS-MTOMPolicy], genau dann MTOM für die Antwortnachricht verwenden, wenn entweder
- die Aufrufnachricht eine application/xop+xml Nachricht ist
- oder der Accept HTTP header der Aufrufnachricht folgenden Wert hat:
multipart/related; type=application/xop+xml.
A_15611 - SOAP Message Transmission Optimization Mechanism für Fachmodule
Der Konnektor MUSS SOAP Message Transmission Optimization Mechanism (MTOM) gemäß [MTOM] für Fachmodule unterstützen, wenn es in der Schnittstellenbeschreibung des Fachmodules explizit gefordert wird. [<=]
3.7 Verwendung manuell importierter CA-Zertifikate
TI-fremde X.509-Zertifikate werden im Rahmen des Verschlüsselungsdienstes verwendet. Um den Vertrauensraum für diese Zertifikate abzubilden, erlaubt der Konnektor, X.509-CA-Zertifikate zu diesen TI-fremden X.509-Zertifikaten in eine interne Liste (CERT_IMPORTED_CA_LIST) zu importieren.
Der Konnektor kann dann im Rahmen der Hybridverschlüsselung den symmetrischen Schlüssel empfängerspezifisch mit dessem TI-fremden X.509-Zertifikat verschlüsseln. Die TI-fremden Zertifikate dürfen nicht zu einem anderen Zweck als diesem eingesetzt werden.
TIP1-A_5433 - Manuell importierte X.509-CA-Zertifikate nur für hybride Verschlüsselung
Der Konnektor DARF End-Entity-Zertifikate, die lediglich gegen manuell importierte X.509-CA-Zertifikate geprüft werden, die von CAs außerhalb der TI stammen (CERT_IMPORTED_CA_LIST), NICHT für andere Zwecke als zur hybriden Verschlüsselung von Dokumenten verwenden.
[<=]Die Berücksichtigung der CA-Zertifikate aus CERT_IMPORTED_CA_LIST muss auf folgende Anwendungsfälle beschränkt werden:
1. Prüfung eines Zertifikates im Rahmen der hybriden Verschlüsselung
2. Prüfung eines Zertifikates im Rahmen eines Aufrufes der Operation "VerifyCertificate"
TIP1-A_5660 - Hinweise im Handbuch für manuell importierte X.509-CA-Zertifikate
Das Handbuch des Konnektors MUSS sinngemäß folgende Hinweise enthalten:
Der Administrator übernimmt die Verantwortung für die Verlässlichkeit der importierten CA-Zertifikate.
Der Administrator kann sich bei seiner Entscheidung für einen Import von CA-Zertifikaten auf die Informationen der gematik stützen.
Die gematik veröffentlicht dazu Informationen über CA-Betreiber, welche die Erfüllung der Sicherheitsanforderungen der gematik nachgewiesen haben.
3.8 Testunterstützung
Gemäß Testkonzept der TI [gemKPT_Test#TIP1-A_6526] muss ein Hersteller eines Konnektors seine Modelle in verschiedenen Ausführungen vorsehen: für Testumgebung, für die Referenzumgebung und für die Produktivumgebung.
Damit trotz dieser Forderung die Firmware je Konnektorversion für alle Umgebungen identisch ist, wird die Erkennung der Umgebung an die gSMC-K gebunden. Die Konnektor-Firmware muss zwischen den Umgebungen PU und RU/TU unterscheiden. Die gSMC-K besitzt hierzu den Datencontainer MF/EF.EnvironmentSettings, der die jeweilige Umgebungskennung enthält (PU bzw. TU/RU). Die Umgebungskennung wird read-only auf der gSMC-K gespeichert.
TIP1-A_4981 - Steuerung der Betriebsumgebung via gSMC-K
Der Produkttyp Konnektor MUSS sowohl in der Testumgebung (TU), der Referenzumgebung (RU) wie auch der Produktivumgebung (PU) betreibbar sein.
Die Information, ob eine Konnektorinstanz in der TU/RU oder PU betrieben wird, MUSS der Konnektor dem File MF/EF.EnvironmentSettings der gSMC-K entnehmen.
Abhängig von der ermittelten Betriebsumgebung MÜSSEN die Konfigurationswerte gemäß Tabelle TAB_KON_812 verwendet werden.
Tabelle 12: TAB_KON_812 Umgebungsabhängige Konfigurationsparameter
| Betriebs umgebung |
Konfigurations parameter |
Konfigurations wert |
Beschreibung |
|---|---|---|---|
| PU |
NET_TI_ ZENTRAL |
siehe [gemSpec_Net#Tab_ Adrkonzept_Produktiv] |
Siehe TAB_KON_680. Dieser Wert MUSS für den Administrator über die Managementschnittstelle einsehbar, DARF aber NICHT änderbar sein. |
| NET_TI_ GESICHERTE_FD |
siehe [gemSpec_Net#Tab_ Adrkonzept_Produktiv] |
Siehe TAB_KON_680. Dieser Wert MUSS für den Administrator über die Managementschnittstelle einsehbar, DARF aber NICHT änderbar sein. |
|
| NET_TI_ OFFENE_FD |
siehe [gemSpec_Net#Tab_ Adrkonzept_Produktiv] |
Siehe TAB_KON_680. Dieser Wert MUSS für den Administrator über die Managementschnittstelle einsehbar, DARF aber NICHT änderbar sein. |
|
| DNS_TOP_ LEVEL_DOMAIN_TI |
telematik. |
Siehe TAB_KON_731. Dieser Wert MUSS für den Administrator über die Managementschnittstelle einsehbar, DARF aber NICHT änderbar sein. |
|
| RU/TU |
NET_TI_ ZENTRAL |
siehe [gemSpec_Net# Tab_Adrkonzept_Test] |
Siehe TAB_KON_680. Dieser Wert MUSS für den Administrator über die Managementschnittstelle mit dem Konfigurationswert voreingestellt und änderbar sein. |
| NET_TI_ GESICHERTE_FD |
siehe [gemSpec_Net# Tab_Adrkonzept_Test] |
Siehe TAB_KON_680. Dieser Wert MUSS für den Administrator über die Managementschnittstelle mit dem Konfigurationswert voreingestellt und änderbar sein. |
|
| NET_TI_ OFFENE_FD |
siehe [gemSpec_Net# Tab_Adrkonzept_Test] |
Siehe TAB_KON_680. Dieser Wert MUSS für den Administrator über die Managementschnittstelle mit dem Konfigurationswert voreingestellt und änderbar sein. |
|
| DNS_TOP_ LEVEL_ DOMAIN_TI |
telematik-test. |
Siehe TAB_KON_731. Dieser Wert MUSS für den Administrator über die Managementschnittstelle einsehbar, aber nicht änderbar sein. |
TIP1-A_4707 - Betrieb in Test- und Referenzumgebung
Der Produkttyp Konnektor MUSS auch in der Test- und Referenzumgebung betrieben werden können. Dafür MUSS der Vertrauensanker des Konnektors für diese Umgebung ausgetauscht werden können. Dies KANN durch Lieferung eines neuen Konnektors oder durch Austausch der gSMC-K durch den Hersteller ermöglicht werden. Der Hersteller MUSS sicherstellen, dass Konnektoren ausschließlich mit den zu ihrer Einsatzumgebung gehörenden Vertrauensankern ausgestattet werden.
[<=]TIP1-A_4982 - Anzeige von TU/RU in der Managementschnittstelle
Die Administrationsoberfläche MUSS, wenn der Konnektor in der Testumgebung (TU) oder Referenzumgebung (RU) betrieben wird, die Umgebungsbezeichnung zu jeder Zeit erkennbar in der Managementschnittstelle anzeigen.
Die Anzeige eines Betriebs in der Produktivumgebung DARF NICHT explizit angezeigt werden.
[<=]4 Funktionsmerkmale
Für die folgenden Inhalte bitte die Hinweise in Kapitel 1.5.3 „Erläuterungen zur Spezifikation des Außenverhaltens„ sowie Kapitel 1.5.4 Erläuterungen zur Dokumentenstruktur und „Dokumentenmechanismen“ beachten.
4.1 Anwendungskonnektor
4.1.1 Zugriffsberechtigungsdienst
Der Zugriffsberechtigungsdienst ist ein interner Dienst. Er ermöglicht es Operationen eine Prüfung auf Zugriffsberechtigung für die von ihnen benötigten Ressourcen durchzuführen. Die Prüfung erfolgt direkt nach Aufruf einer Operation des Konnektors durch das Clientsystem und basiert auf den im Clientaufruf enthaltenen Parametern.
Der Zugriffsberechtigungsdienst definiert über ein Informationsmodell die erlaubten Zugriffsmöglichkeiten. Um dies zu erreichen, modelliert es Mandanten und ordnet ihnen Clientsysteme sowie die vom Konnektor verwalteten externen Ressourcen (Kartenterminal mit Slots, Arbeitsplatz mit SMC-Bs) zu. Diese durch einen Administrator persistent zu modellierenden Entitäten und Beziehungen beinhalten die erlaubten Zugriffswege vom Clientsystem über Arbeitsplatz zum Kartenterminal und dessen Slots. Sie werden im Konnektor administrativ konfiguriert.
Neben diesen persistenten Entitäten und Beziehungen bildet das Modell auch die in den Slots temporär gesteckten Karten und die zugehörigen Kartensitzungen als transiente Entitäten und Beziehungen ab.
Abbildung PIC_Kon_100 stellt das Informationsmodell dar. Die persistenten Entitäten haben einen grünen Hintergrund, die transienten einen weißen.
Tabelle TAB_KON_507 beschreibt die Entitäten und legt ihren Identitätsschlüssel fest. Tabelle TAB_KON_508 beschreibt die Attribute. Tabelle TAB_KON_509 beschreibt die Entitätsbeziehungen und referenziert dabei die in Abbildung PIC_Kon_100 durch Zahlen in eckigen Klammern markierten Beziehungen. Tabelle TAB_KON_510 definiert Constraints, die zusätzlich zu den in Abbildung PIC_Kon_100 definierten Kardinalitäten gelten. Die Constraints werden mittels Object Constraint Language (OCL) definiert.
4.1.1.1 Funktionsmerkmalweite Aspekte
TIP1-A_4522 - Zugriffsberechtigungs-Informationsmodell des Konnektors
Der Konnektor MUSS die Entitäten, Attribute und Beziehungen des Informationsmodells intern vorhalten, dabei für die Einhaltung der definierten Constraints sorgen und die persistenten Entitäten und Beziehungen dauerhaft speichern. Der Konnektor MUSS dabei eine Mindestanzahl von 999 Mandanten unterstützen.
Das Informationsmodell ist definiert durch das UML-Diagramm „PIC_Kon_100 Informationsmodell des Konnektors„ und die Tabelle „TAB_KON_510 Informationsmodell Constraints“. Der Konnektor darf nur Daten in sein Informationsmodell übernehmen, die alle Eigenschaften des Informationsmodells, insbesondere die Constraints, erfüllen.
Die Entitäten werden in Tabelle „TAB_KON_507 Informationsmodell Entitäten“ beschrieben, die Attribute in Tabelle „TAB_KON_508 Informationsmodell Attribute“ und die Beziehungen in Tabelle „TAB_KON_509 Informationsmodell Entitätenbeziehungen“.
[<=]Hinweis zu den Bezeichnern der Entitäten und ihrer Attribute: Im Folgenden beginnen Entitäten mit einem Großbuchstaben, Attribute mit einem Kleinbuchstaben. Werden die Entitäten und Attribute in XML-Dokumenten verwendet, so beginnen die zugeordneten XML-Elementbezeichner grundsätzlich mit einem Großbuchstaben und verwenden den englischen Begriff, der im Folgenden in Klammern angegeben ist, wenn zur besseren Lesbarkeit im Modell ein deutscher Begriff verwendet wird.
Abbildung 4: PIC_Kon_100 Informationsmodell des Konnektors
Tabelle 13: TAB_KON_507 Informationsmodell Entitäten
| Entität |
persistent/ transient |
Identitätsschlüssel |
Beschreibung |
|---|---|---|---|
| Mandant |
persistent |
mandantId |
Zu Mandanten und Mandantenfähigkeit siehe Kapitel Mandantenfähigkeit. |
| Clientsystem |
persistent |
clientSystemId |
Unter einem Clientsystem wird hier ein einzelnes oder eine Gruppe von Systemen verstanden, welche im LAN der Einsatzumgebung auf die Clientsystem-Schnittstelle des Konnektors zugreifen. |
| CS-AuthMerkmal (CS-AuthProperty) |
persistent |
csAuthId |
Das Authentifizierungsmerkmal dient der Authentifizierung, wenn sich das Clientsystem gegenüber dem Konnektor authentisiert. Der Identitätsschlüssel csAuthId wird bei der Administration vergeben |
| Arbeitsplatz (Workplace) |
persistent |
workplaceId |
alle dem Konnektor bekannten Arbeitsplätze |
| Kartenterminal (CardTerminal) |
persistent |
ctId |
alle dem Konnektor bekannten Kartenterminals. |
| KT-Slot (CT-Slot) |
persistent |
ctId, slotNo |
Die sich in den Kartenterminals befindenden Chipkartenslots (Functional Unit Type 00) |
| Karte (Card) |
transient |
cardHandle oder iccsn |
Die in den Kartenterminals steckenden Smartcards des Gesundheitswesens, die persönliche Identitäten oder Rollen repräsentieren (eGK, HBA, SMC-B). Karten, die nur Geräteidentitäten tragen (gSMC-K, gSMC-KT) werden in diesem Modell nicht betrachtet. Karten im Sinne dieses Informationsmodells existieren maximal so lange, wie sie im Kartenterminal stecken. Die aktuell im System steckenden Karten werden vom Clientsystem über das cardHandle adressiert. Die iccsn erlaubt eine dauerhafte Adressierung einer Karte. Für den Kartentyp „SM-B“ kann hier auch eine in einem HSM-B enthaltene virtuelle SMC-B abgebildet werden. |
| Kartensitzung (CardSession) |
transient |
siehe konkrete Kartensitzungen |
Kartensitzungen stellen ein wesentliches Konzept im Sicherheitsmodell des Konnektors dar. Eine Kartensitzung verwaltet einen aktuellen logischen Sicherheitsstatus einer Karte. Die Kartensitzungen sind einer Karte fest zugewiesen. Zu einer Karte kann es mehrere Kartensitzungen geben, die voneinander logisch unabhängige Sicherheitsstatus einer Karte verwalten. Der Konnektor führt alle Zugriffe auf eine Karte im Kontext einer Kartensitzung zu dieser Karte aus. Das Attribut logischerKanal bezeichnet den logischen Kanal zur Karte, der im Rahmen der Kartensitzung verwendet wird (gemäß Standard [7816–4]). |
| Kartensitzung_eGK (CardSession_eGK) |
transient |
cardHandle |
Kartensitzung für eine eGK. Die KVK ist im Modell nicht explizit dargestellt. Soweit anwendbar, gelten für die KVK die gleichen Aussagen wie für die eGK. |
| Kartensitzung_SM-B (CardSession_SM-B) |
transient |
cardHandle, mandantId |
Kartensitzung für eine SM-B |
| Kartensitzung_HBAx (CardSession_HBAx) |
transient |
cardHandle, clientSystemId, userId |
Kartensitzung für einen HBAx. Unter dem Typ „HBAx“ sind auch die Vorläuferkarten wie „HBA-qSig” und „ZOD_2.0“ inkludiert. |
| SM-B_Verwaltet (SM-B_managed) |
persistent |
iccsn |
SM-Bs müssen im Gegensatz zu den übrigen Karten im Konnektor vor ihrer Verwendung persistent im Informationsmodell als „SM-B_Verwaltet“ per Administration aufgenommen werden. Dies gilt auch für die in einem HSM-B enthaltenen virtuellen SMC-Bs. |
| CS_AP |
persistent |
mandantId, clientSystemId, workplaceId |
CS_AP legt die von einem Clientsystem pro Mandanten nutzbaren Arbeitsplätze fest. Ein Clientsystem kann dabei mehrere Arbeitsplätze bedienen. Ebenso können Arbeitsplätze von mehreren Clientsystemen, auch gleichzeitig, genutzt werden, z. B. bei zwei unterschiedlichen, voneinander unabhängigen Praxisprogrammen. |
| Remote-PIN-KT |
persistent |
mandantId, workplaceId, ctId |
Remote-PIN-KT legt pro Mandant und Arbeitsplatz fest, über welches Kartenterminal eine Remote PIN-Eingabe erfolgen soll, wenn an diesem Arbeitsplatz die PIN-Eingabe für eine Karte erforderlich ist, die nicht in einem dem Arbeitsplatz lokal zugeordneten Kartenterminal steckt. |
| AuthState |
transient |
cardHandle, (clientSystemId), (userId), ref |
Zu einer Kartensitzung gibt es höhere AuthorizationStates, die durch (type =C2C) Freischaltung oder durch PIN-Eingabe (type=CHV) erreicht werden können. Für eGK G2.0 wird der Zustand der MRPINs nicht in AuthState gespeichert. |
Tabelle 14: TAB_KON_508 Informationsmodell Attribute
| Attribut |
Beschreibung |
|---|---|
| cardHandle |
Das Identifikationsmerkmal einer Karte für die Dauer eines Steckzyklusses. Es wird mit dem Entfernen der Karte aus dem Kartenterminal ungültig. Es wird automatisch vom Konnektor vergeben. |
| clientSystemId |
Das Identifikationsmerkmal eines Clientsystems. Es wird per Administration dem Mandanten im Clientsystem und im Konnektor zugeordnet. |
| csAuthId |
Das Identifikationsmerkmal eines Authentifizierungsmerkmals. |
| ctId |
Das Identifikationsmerkmal eines Terminals. Es ist eine fixe Eigenschaft des Kartenterminals. |
| iccsn |
Die Seriennummer einer Karte. Sie identifiziert eine Karte dauerhaft. |
| isHSM |
Attribut der Entitäten Karte und SM-B_Verwaltet. Es ist false, wenn eine echte Smardcard abgebildet wird und true, wenn es sich um eine virtuelle SMC-B handelt, die in einem HSM-B enthalten ist. |
| isPhysical |
Attribut des Kartenterminals das den Wert „Ja“ hat, wenn es sich um ein tatsächlich existierendes Kartenterminal handelt. Ist der Wert „Nein“, dann handelt es sich um ein logisches Kartenterminal im Zusammenhang mit einem HSM-B. |
| logicalChannel |
Referenz auf ein Objekt, das einen logischen Kanal repräsentiert. |
| mandantId |
Das Identifikationsmerkmal eines Mandanten. Es wird per Administration dem Mandanten im Clientsystem und im Konnektor zugeordnet. |
| ref |
Das Identifikationsmerkmal eines AuthState zu einer gegebenen Kartensitzung. Im Falle C2C handelt es sich um die KeyRef (mit einer bestimmten Rolle) und in Falle CHV um eine referenzierte PIN. |
| slotNo |
Das Identifikationsmerkmal eines Slot für ein bestimmtes Kartenterminal. Diese fortlaufende Nummer ist eine fixe Eigenschaft des Kartenterminals. Sie beginnt bei 1. |
| type |
Als Kartenattribut: Typ einer Karte. Im Folgenden berücksichtigte Werte: „HBAx“, „SM-B“, „EGK“. Als Attribute eines AuthState: Typ des AuthState. „C2C“ steht für gegenseitige Kartenauthentisierung. „CHV“ steht für Card Holder Verification per PIN-Eingabe. |
| userId |
Das Identifikationsmerkmal des Nutzers im Clientsystem (Die userId wird durch das Clientsystem vergeben und verwaltet). Die userId wird im Kontext eine Kartensitzung_HBAx vom Konnektor verwendet, um als Bestandteil des Identitätsschlüssels die Kartensitzung_HBAx zu identifizieren. |
| workplaceId |
Das Identifikationsmerkmal eines Arbeitsplatzes. Es wird per Administration dem Mandanten im Clientsystem und im Konnektor zugeordnet. |
Tabelle 15: TAB_KON_509 Informationsmodell Entitätenbeziehungen
| Entitätenbeziehung |
persistent/ transient |
Beschreibung |
|---|---|---|
| Authentifikationsmerkmale des Clientsystems [1] |
persistent |
Diese Relation legt für jedes Clientsystem eine Menge von Authentisierungsmerkmalen fest. Mit einem dieser Authentisierungsmerkmale muss sich ein Client gegenüber dem Konnektor authentisiert haben, um als das entsprechende Clientsystem vom Konnektor akzeptiert zu werden. |
| Clientsysteme des Mandanten [2] |
persistent |
Diese Relation weist Clientsystemen Mandanten zu. |
| Arbeitsplätze des Mandanten [3] |
persistent |
Diese Relation weist Arbeitsplätze Mandanten zu. Arbeitsplätze können von mehreren Mandanten genutzt werden. Z. B. kann ein von mehreren Mandanten genutzter gemeinsamer Empfang als ein Arbeitsplatz modelliert werden. |
| Kartenterminals des Mandanten [5] |
persistent |
Diese Relation weist Kartenterminals Mandanten zu. |
| Lokale Kartenterminals [6] |
persistent |
Diese Relation erfasst die Kartenterminals, die sich lokal an einem Arbeitsplatz befinden und von diesem genutzt werden können. Die Modellierung lässt es zu, dass Kartenterminals mehreren Arbeitsplätzen lokal zugewiesen werden. Jeder an der TI teilnehmende Arbeitsplatz wird in der Regel mindestens ein lokales Kartenterminal benötigen. |
| Entfernte Kartenterminals [7] |
persistent |
Diese Relation beschreibt, auf welche Kartenterminals Arbeitsplätze (remote) zugreifen dürfen. Dies ist für zentral steckende Karten vorgesehen. |
| Slot eines Kartenterminals [8] |
persistent |
Die Zuordnung von Slots zu einem Kartenterminal ergibt sich automatisch aus den Eigenschaften des Kartenterminals. |
| SM-B_Verwaltet eines Mandanten [9] |
persistent |
Diese Relation legt fest, welche verwalteten SM-Bs einem Mandanten zugeordnet sind. |
| Kartenterminal-Slot, in dem eine Karte steckt [10] |
transient |
Sobald eine Karte in ein Kartenterminal gesteckt wird, ergibt sich implizit eine Relation der Karte zu dem Slot, in dem sie steckt, [6] und indirekt über [4] zum Kartenterminal. |
| Mandant der Kartensitzung SM-B [11] |
transient |
Beim Anlegen einer Kartensitzung SM-B wird diese immer dem zugreifenden Mandanten zugeordnet. |
| Arbeitsplatz der Kartensitzung eGK [12] |
transient |
Eine Kartensitzung eGK ist immer einem Arbeitsplatz zugeordnet. |
| Karte einer Kartensitzung [13] |
transient |
Jeder Kartensitzung ist genau einer Karte zugeordnet. |
| Gesteckte SM-B [14] |
transient |
Wird eine SM-B gesteckt und handelt es sich um eine verwaltete SM-B, ergibt sich über die iccsn die Zuordnung. |
| Freischaltung einer Karte [15] |
transient |
Diese Relation erfasst die Freischaltung einer Karte durch eine andere Karte. |
| Bindung der Kartensitzung_HBAx an Clientsystem [16] |
transient |
Kartensitzungen HBAx sind einem Clientsystem zugeordnet. |
| AuthState pro Kartensitzung [17] |
transient |
Eine Kartensitzung kann erhöhte Sicherheitszustände (Authorization State) haben. |
Tabelle 16: TAB_KON_510 Informationsmodell Constraints
| # |
Beschreibung |
Definition mittels OCL (Die Constraints werden im UML ergänzenden Standard OCL definiert.) |
|---|---|---|
| C1 |
Eine eGK muss eine oder keine Kartensitzung haben. |
context Karte inv: self.type = "eGK" implies self.kartensitzung.size() <= 1 |
| C2 |
Wenn zwei Kartensitzungen einer HBAx dem gleichen Clientsystem zugeordnet sind und ihre userIds gleich sind, dann müssen die beiden Kartensitzungen identisch sein. |
context Kartensitzung-HBAx inv: forAll(k1, k2 : Kartensitzung-HBAx | k1.karte = k2.karte and k1.clientsystem = k2.clientsystem and k1.userId = k2.userId implies k1 = k2) |
| C3 |
Wenn zwei SM-B-Kartensitzungen einer Karte dem gleichen Mandanten zugeordnet sind, dann müssen die beiden Kartensitzungen identisch sein. |
context Kartensitzung-SM-B inv: forAll(k1, k2 : Kartensitzung-SM-B | k1.karte = k2.karte and k1.mandant = k2.mandant implies k1 = k2) |
| C4 |
Die Seriennummer iccsn einer Karte muss eindeutig sein. |
context Karte inv: Karte.allInstances -> isUnique(iccsn) |
| C5 |
Die Seriennummer iccsn einer Karte muss für die vom Konnektor verwalteten SM-Bs eindeutig sein. |
context SM-B_Verwaltet inv: SM-B_Verwaltet.allInstances -> isUnique(iccsn) |
| C6 |
Das CardHandle einer Karte muss eindeutig sein. |
context Karte inv: Karte.allInstances -> isUnique(cardHandle) |
| C7 |
Die Identifikationsnummer des Clientsystems muss eindeutig sein. |
context Clientsystem inv: Clientsystem.allInstances -> isUnique(clientSystemId) |
| C8 |
Die Identifikationsnummer des Mandanten muss eindeutig sein. |
context Mandant inv: Mandant.allInstances -> isUnique(mandantId) |
| C9 |
Die Identifikationsnummer des Arbeitsplatzes muss eindeutig sein. |
context Arbeitsplatz inv: Arbeitsplatz.allInstances -> isUnique(workplaceId) |
| C10 |
Die Identifikationsnummer des Kartenterminals muss eindeutig sein. |
context Kartenterminal inv: Kartenterminal.allInstances -> isUnique(ctId) |
| C11 |
Die Identifikationsnummer (slotNo) des Kartenterminal-Slots für ein gegebenes Kartenterminal muss eindeutig sein. |
context Kartenterminal inv: self.kT-Slot -> isUnique(slotNo) |
| C12 |
Es muss gewährleistet sein, dass nur Arbeitsplätze und Clientsysteme einander im Rahmen eines Mandanten zugeordnet werden, die diesem Mandanten selbst zugeordnet sind. |
context CS-AP inv: self.arbeitsplatz.mandant.includes( self.mandant) inv: self.clientsystem.mandant.includes( self.mandant) |
| C13 |
Es muss gewährleistet sein, dass nur Kartenterminals und Arbeitsplätze einander im Rahmen eines Mandanten zur Remote-PIN-Eingabe zugeordnet werden, die diesem Mandanten selbst zugeordnet sind. |
context Remote-PIN-KT inv: self.arbeitsplatz.mandant.includes( self.mandant) inv: self.kartenterminal.mandant.includes( self.mandant) |
| C14 |
Zur Remote-PIN-Eingabe muss ein lokales Kartenterminal ausgewählt sein. |
context Remote-PIN-KT inv: self.arbeitsplatz .localKartenterminal .includes(self.kartenterminal) inv: not self.arbeitsplatz .entferntKartenterminal .includes(self.kartenterminal) |
| C15 |
Zur Remote-PIN-Eingabe darf pro Mandanten und Arbeitsplatz nicht mehr als ein Kartenterminal ausgewählt werden. |
context Remote-PIN-KT inv: forAll(r1, r2 : Remote-PIN-KT | r1.arbeitsplatz = r2.arbeitsplatz and r1.mandant = r2.mandant implies r1 = r2) |
| C16 |
Eine Kartensitzung-HBAx muss immer eine zugehörige userId haben. |
context Kartensitzung-HBAx inv: self.userId <> null |
Hinweis zur Remote-PIN-Eingabe: Constraints C14 und C15 legen fest, dass auch im Fall mehrerer lokaler Kartenterminals an einem Arbeitsplatz nur eines (oder keines) dieser Kartenterminals pro Mandant für die Remote-PIN-Eingabe im Informationsmodell konfiguriert wird.
TIP1-A_4523 - Sicherung der Aktualität des Informationsmodells Zugriffsberechtigungsdienst
Der Konnektor MUSS seine Entscheidungen zur Zugriffsberechtigung basierend auf den aktuellen, realen statischen wie transienten Entitäten und Beziehungen des Informationsmodells treffen. Veränderungen an der statischen Definition (durch den Administrator), sowie Veränderungen an den Entitäten (Änderung der Verfügbarkeit und Zustandsänderung von Karten, Kartenterminals und Clientsystemen) MÜSSEN bei Zugriffsanfragen unmittelbare Auswirkung auf die Entscheidung des Zugriffsberechtigungsdienstes zur Folge haben.
[<=]4.1.1.2 Durch Ereignisse ausgelöste Reaktionen
Keine.
4.1.1.3 Interne TUCs, nicht durch Fachmodule nutzbar
Keine.
4.1.1.4 Interne TUCs, auch durch Fachmodule nutzbar
4.1.1.4.1 TUC_KON_000 „Prüfe Zugriffsberechtigung“
Vor Ausführung jeder Operation an der Außenschnittstelle muss der Konnektor prüfen, ob die Operation ausgeführt werden darf (Autorisierung). Diese Prüfung auf Zugriffsberechtigung wird in TUC_KON_000 „Prüfe Zugriffsberechtigung“ gekapselt.
TUC_KON_000 „Prüfe Zugriffsberechtigung“ hat als Aufrufparameter den Aufrufkontext der Operation (siehe Abbildung PIC_KON_101), optional das cardHandle einer Karte, optional eine Kartenterminal-ID ctId und optional die Steuerungsparameter „needCardSession“ sowie „allWorkplaces“. Über den Steuerungsparameter „needCardSession“ wird festgelegt, ob zu den CardHandles im Rahmen der Operationsausführung eine Kartensitzung benötigt wird. Über den Steuerungsparameter „allWorkplaces“. wird festgelegt, ob die Auswertung im Rahmen der Operation arbeitsplatzübergreifend für alle vom Mandanten für das angegebene Clientsystem erreichbaren Kartenterminals erfolgen soll.
Abbildung 5: PIC_KON_101 Aufrufkontext der Operation
TIP1-A_4524-03 - TUC_KON_000 „Prüfe Zugriffsberechtigung”
Der Konnektor MUSS den technischen Use Case TUC_KON_000 „Prüfe Zugriffsberechtigung“ umsetzen.
Tabelle 17: TAB_KON_511-01 – TUC_KON_000 „Prüfe Zugriffsberechtigung“
| Element |
Beschreibung |
| Name |
TUC_KON_000 ”Prüfe Zugriffsberechtigung” |
| Beschreibung |
Es wird geprüft, ob eine Autorisierung im Rahmen der angegebenen Eingangsdaten erteilt wird. Die Autorisierung wurde erteilt, wenn der TUC erfolgreich durchlaufen wurde (kein Abbruch durch Fehlermeldung).“ |
| Eingangs- anforderungen |
keine |
| Auslöser und Vorbedingungen |
Aufruf einer Operation des Konnektors durch das Clientsystem. |
| Eingangsdaten |
|
| Komponenten |
Konnektor |
| Ausgangsdaten |
|
| Nachbedingungen |
|
| Standardablauf |
1. Prüfe, ob die Pflichtparameter (mandantId, clientSystemId, workplaceId) vollständig gesetzt sind. 2. Falls ANCL_CAUT_MANDATORY = Enabled, dann prüfe, ob die gemäß [TIP1-A_4516] unter Berücksichtigung von [TIP1-A_5009] und [A_21224] durchgeführte Authentifizierung über ein dem Clientsystem zugeordnetes CS-AuthMerkmal erfolgte. 3. Ermittle Zugriffsregel R zu den Aufrufparametern: 3.1. Falls der Parameter cardHandle nicht null ist, muss das Kartenobjekt des Informationsmodells Karte(cardHandle) ermittelt werden. 3.2. Zu den Parametern (ctId, cardHandle, needCardSession, allWorkplaces) muss mittels Tabelle „TAB_KON_513 Zugriffsregeln Regelzuordnung“ die Zugriffsregel R ermittelt werden. 4. Prüfe die Bedingungen der in Schritt 3 ermittelten Regel R: 4.1. Zur Regel R muss die relevante Spalte in Tabelle „TAB_KON_514 Zugriffsregeln Definition“ ermittelt werden. 4.2. Jede Zeile, die in der Spalte R ein „x“ hat, muss geprüft werden: 4.2.1 Prüfe, ob die in Spalte „Bedingung“ mittels OCL formulierte Bedingung für die Eingangsdaten erfüllt ist. |
| Varianten/ Alternativen |
2. Bei einem Aufruf mit einem cardHandle zu den Kartentypen SMC-KT und UNKNOWN wird Schritt 3 in folgender Variante durchlaufen: Ermittle Zugriffsregel R zu den Aufrufparametern: 3.1. ctId wird zum cardHandle bestimmt Zu den Parametern ( ctId, cardHandle = null, needCardSession = false, allWorkplaces = false) muss mittels Tabelle „TAB_KON_513 Zugriffsregeln Regelzuordnung“ die Zugriffsregel R ermittelt werden. |
| Fehlerfälle |
Fehler im Ablauf (Standardablauf oder Varianten) führen in den folgend ausgewiesenen Schritten zu einem Abbruch der Verarbeitung mit den ausgewiesenen Fehlercodes: (1) Es sind nicht alle Pflichtparameter gesetzt, Fehlercode: 4021 (2) Clientsystem aus dem Aufrufkontext nicht authentifiziert, Fehlercode: 4204 (3.1) Karte nicht als gesteckt identifiziert, Fehlercode: 4008 (3.2) Zu den Parametern konnte keine Regel ermittelt werden, Fehlercode: 4019 (4.2.1) Bedingung nicht erfüllt Fehlercode: wie in Spalte „ErrorCode“ der geprüften Zeile aus Tabelle „TAB_KON_514-01 Zugriffsregeln Definition“ |
| Nichtfunktionale Anforderungen |
keine |
| Zugehörige Diagramme |
PIC_KON_118 Aktivitätsdiagramm zu „TUC_KON_000 Prüfe Zugriffsberechtigung“ |
[<=]
Eine Beschreibung aller Zugriffsregeln gibt Tabelle TAB_KON_512.
Tabelle 18: TAB_KON_512 Zugriffsregeln Beschreibung
| Regel |
Beschreibung |
|---|---|
| R1 |
Innerhalb des Mandanten m darf das Clientsystem cs verwendet werden. |
| R2 |
Innerhalb des Mandanten m darf das Clientsystem cs auf das Kartenterminal kt zugreifen. |
| R3 |
Innerhalb des Mandanten m darf das Clientsystem cs den Arbeitsplatz ap nutzen. |
| R4 |
Innerhalb des Mandanten m darf das Clientsystem cs über den Arbeitsplatz ap auf das Kartenterminal kt zugreifen. |
| R5 |
Innerhalb des Mandanten m darf das Clientsystem cs über den Arbeitsplatz ap auf die lokal gesteckte eGK zugreifen. Eine Kartensitzung wird nicht benötigt. |
| R6 |
Innerhalb des Mandanten m darf das Clientsystem cs über den Arbeitsplatz ap auf die lokal gesteckte eGK zugreifen. Eine Kartensitzung wird benötigt. Wenn bereits eine Kartensitzung besteht, ist sichergestellt, dass sie vom Arbeitsplatz ap gestartet wurde. |
| R7 |
Innerhalb des Mandanten m darf das Clientsystem cs über den Arbeitsplatz ap auf die SM-B zugreifen. Es wird dabei sichergestellt, dass es sich um eine im Mandanten verwaltete SM-B handelt. |
| R8 |
Innerhalb des Mandanten m darf das Clientsystem cs auf den HBAx zugreifen. Eine Kartensitzung wird nicht benötigt. |
| R9 |
Innerhalb des Mandanten m darf das Clientsystem cs auf den HBAx zugreifen. Eine Kartensitzung wird benötigt. Wenn bereits Kartensitzungen zum HBAx bestehen, wird der Zugriff auf den HBAx verhindert, wenn es eine Kartensitzung zum selben Clientsystem, aber einer anderen UserId gibt, deren Sicherheitszustand erhöht ist. |
Abbildung 6: PIC_KON_118 Aktivitätsdiagramm zu „TUC_KON_000 Prüfe Zugriffsberechtigung“
Welche Zugriffsregel für einen gegebenen Satz an Aufrufparametern anzuwenden ist, wird in Tabelle TAB_KON_513 ermittelt. Die Pflichtfelder mandantId, clientSystemId und workplaceId und das optionale Feld userId sind zwar für die Auswertung der Regeln wichtig, tragen aber nicht zur Auswahl der Regel bei und sind daher in der Tabelle nicht vorhanden. Zur Auswahl einer Regel ist relevant,
- ob ctId bzw. cardHandle als Aufrufparameter gesetzt sind (not null) oder leer sind (null),
- von welchem Typ eine Karte ist, falls der Aufrufparameter cardHandle gesetzt ist,
- und welchen Wert die Aufrufparameter „needCardSession“ und „allWorkplaces“ annehmen.
Tabelle 19: TAB_KON_513 Zugriffsregeln Regelzuordnung
| Parameter |
R1 |
R2 |
R3 |
R4 |
R5 |
R6 |
R7 |
R8 |
R9 |
|---|---|---|---|---|---|---|---|---|---|
| ctId |
null |
not null |
null |
not null |
|||||
| cardHandle |
null |
null |
null |
null |
not null |
not null |
not null |
not null |
not null |
| Karte(cardHandle).type |
eGK oder KVK |
eGK oder KVK |
|||||||
| Karte(cardHandle).type |
SM-B |
||||||||
| Karte(cardHandle).type |
HBAx |
HBAx |
|||||||
| needCardSession |
false |
false |
false |
false |
false |
true |
true oder false |
false |
true |
| allWorkplaces |
true |
true |
false |
false |
false |
false |
false |
false |
false |
Tabelle TAB_KON_514 definiert einzelne Bedingungen, ordnet sie den Regeln zu und definiert ErrorCodes für den Fall, dass eine Bedingung nicht erfüllt ist.
Die Bedingungen in Tabelle TAB_KON_514 sind wie folgt gruppiert:
- Entitäten: Hier wird geprüft, ob die Entitäten, die mit den Aufrufparametern adressiert werden, im Informationsmodell existieren.
- Mandantenbezug: Hier wird geprüft, ob die adressierten Entitäten im Informationsmodell dem adressierten Mandanten zugeordnet sind.
- Relationen: Hier wird geprüft, ob die benötigen Zugriffbeziehungen zum Zugriff auf die adressierten Entitäten im Informationsmodell existieren.
- Kartensitzungen: Hier wird geprüft, ob die benötigte Kartensitzung im Rahmen der bereits existierenden Kartenbeziehungen existieren darf.
Die Fehlercodes mit Beschreibung, ErrorType und Severity Tabelle TAB_KON_515.
Tabelle 20: TAB_KON_514-01 Zugriffsregeln Definition
| Bedingung (siehe Hinweis 1) |
R1 |
R2
|
R3 |
R4 |
R5 |
R6 |
R7 |
R8 |
R9 |
Error Code |
|
|---|---|---|---|---|---|---|---|---|---|---|---|
|
Entität
(siehe Hinweis 2) |
inv : userId <> null |
x |
4003 |
||||||||
| let m : Mandant = Mandant(mandantId) inv : m <> null |
x |
x |
x |
x |
x |
x |
x |
x |
x |
4021 an der Außenschnittstelle 4004 im Protokoll (siehe Hinweis 3) |
|
| let cs : Clientsystem = Clientsystem (clientSystemId) inv : cs <> null |
x |
x |
x |
x |
x |
x |
x |
x |
x |
4021 an der Außenschnittstelle 4005 im Protokoll (siehe Hinweis 3) |
|
| let ap : Arbeitsplatz = Arbeitsplatz (workplaceId) inv : ap <> null |
|
x |
x |
x |
x |
x |
x |
x |
4021 an der Außenschnittstelle 4006 im Protokoll (siehe Hinweis 3) |
||
| let kt : Kartenterminal = Kartenterminal (ctId) inv : kt <> null |
|
x |
x |
4007 |
|||||||
| let k : Karte = Karte (cardHandle) inv : k <> null |
|
|
|
|
x |
x |
x |
x |
x |
4008 |
|
| Mandant bezug |
let m : Mandant = Mandant(mandantId) let cs : Clientsystem = Clientsystem (clientSystemId) inv : cs.mandant. includes(m) |
x |
x |
x |
x |
x |
x |
x |
x |
x |
4010 |
| let m : Mandant = Mandant(mandantId) let ap : Arbeitsplatz = Arbeitsplatz (workplaceId) inv : ap.mandant. includes(m) |
|
x |
x |
x |
x |
x |
x |
x |
4011 |
||
| let m : Mandant = Mandant(mandantId) let kt : Kartenterminal = Kartenterminal(ctId) inv : kt.mandant. includes(m) |
|
x |
x |
4012 |
|||||||
| let m : Mandant = Mandant(mandantId) let k : Karte = Karte(cardHandle) inv : k.kT-Slot. kartenterminal.mandant .includes(m) |
x |
x |
x |
x |
x |
4012 |
|||||
| Relation |
let k : Karte = Karte(cardHandle) inv : k.SM-B_Verwaltet <> null |
|
|
|
|
|
|
x |
|
|
4009 |
| let m : Mandant = Mandant(mandantId) let k : Karte = Karte(cardHandle) inv : k.SM-B_Verwaltet .mandant -> includes(m) |
|
|
|
|
|
|
x |
|
|
4013 |
|
| let m : Mandant = Mandant(mandantId) let cs : Clientsystem = Clientsystem (clientSystemId) let ap : Arbeitsplatz = Arbeitsplatz (workplaceId) inv : CS_AP.allInstances -> exists(c : CS_AP | c.mandant = m and c.arbeitsplatz = ap and c.clientsystem = cs) |
|
x |
x |
x |
x |
x |
x |
x |
4014 |
||
| let ap : Arbeitsplatz = Arbeitsplatz (workplaceId) let kt : Kartenterminal = Kartenterminal (ctId) inv : ap.lokalKartenterminal .includes(kt) or ap.entferntKarten terminal .includes(kt) |
|
|
x |
|
|
4015 |
|||||
| let ap : Arbeitsplatz = Arbeitsplatz (workplaceId) let kt : Kartenterminal = Karte(cardHandle).kT-Slot.kartenterminal inv : ap.lokalKartenterminal .includes(kt) or ap.entferntKarten terminal .includes(kt) |
x |
x |
x |
4015 |
|||||||
| let m : Mandant = Mandant (mandantId) let kt : Kartenterminal = Kartenterminal(ctId) let cs : Clientsystem = Clientsystem (clientSystemId) inv : CS_AP.allInstances -> exists(c : CS_AP | c.arbeitsplatz .lokalKartenterminal .includes(kt) or c.arbeitsplatz .entferntKartenterminal .includes(kt) and c.mandant = m and c.arbeitsplatz.mandant .includes(m) and c.clientsystem = cs) |
x |
4020 |
|||||||||
| let ap : Arbeitsplatz = Arbeitsplatz (workplaceId) let kt : Kartenterminal = Karte(cardHandle).kT-Slot.kartenterminal inv : ap.lokalKartenterminal .includes(kt) |
|
|
|
|
x |
x |
|
|
|
4016 |
|
| Karten sitzungen |
let ap : Arbeitsplatz = Arbeitsplatz (workplaceId) let k : Karte = Karte(cardHandle) inv : k.kartensitzung -> not exists(ks : Kartensitzung | ks.arbeitsplatz <> ap) |
|
|
|
|
x |
|
|
|
4017 |
|
| let k : Karte = Karte (cardHandle) let cs : Clientsystem = Clientsystem (clientSystemId) inv : k.kartensitzung -> not exists (ks : Kartensitzung | ks .clientsystem = cs and ks .userId <> userId and ks .authState.size() > 0 ) |
|
|
|
|
|
|
|
x
|
4018
|
Erläuterungen zu TAB_KON_514-01:
Hinweis 1:
Jede Bedingung ist als Constraint mittels OCL definiert, ist einzeln prüfbar und hat als Eingangsparameter mandantId, clientSystemId, workplaceId, ctId, cardHandle und userId.
Hinweis 2:
Zur Bezeichnung einer Objektinstanz, die im Informationsmodell vorhanden ist, wird die Notation <<Entitätsbezeichner>>(<<Komma separierte Liste der Identitätsschlüssel>> verwendet.
Hinweis 3:
Bei manchen Bedingungen gibt es unterschiedliche Fehlermeldungen für die Außenschnittstelle und für die interne Protokollierung. Dann wird folgende Notation in Spalte "Error Code" verwendet:
"<<Fehlercode>> an der Außenschnittstelle" für den Fehlercode, der über die Außenschnittstelle zurückgegeben werden muss
"<<Fehlercode>> im Protokoll" für den Fehlercode, der für die interne Protokollierung verwendet werden muss.
Tabelle 21: TAB_KON_515 Fehlercodes TUC_KON_000 „Prüfe Zugriffsberechtigung“
| Fehlercode | ErrorType | Severity | Fehlertext |
|---|---|---|---|
| Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten: |
|||
| 4003 |
Technical |
Error |
Keine User-ID angegeben, die zur Identifikation der Kartensitzung_HBAx benötigt wird. |
| 4004 |
Technical |
Error |
Ungültige Mandanten-ID |
| 4005 |
Technical |
Error |
Ungültige Clientsystem-ID |
| 4006 |
Technical |
Error |
Ungültige Arbeitsplatz-ID |
| 4007 |
Technical |
Error |
Ungültige Kartenterminal-ID |
| 4008 |
Technical |
Error |
Karte nicht als gesteckt identifiziert |
| 4009 |
Security |
Error |
SM-B ist dem Konnektor nicht als SM-B_Verwaltet bekannt |
| 4010 |
Security |
Error |
Clientsystem ist dem Mandanten nicht zugeordnet |
| 4011 |
Security |
Error |
Arbeitsplatz ist dem Mandanten nicht zugeordnet |
| 4012 |
Security |
Error |
Kartenterminal ist dem Mandanten nicht zugeordnet |
| 4013 |
Security |
Error |
SM-B_Verwaltet ist dem Mandanten nicht zugeordnet |
| 4014 |
Security |
Error |
Für den Mandanten ist der Arbeitsplatz nicht dem Clientsystem zugeordnet |
| 4015 |
Security |
Error |
Kartenterminal ist weder lokal noch entfernt vom Arbeitsplatz aus zugreifbar |
| 4016 |
Security |
Error |
Kartenterminal ist nicht lokal vom Arbeitsplatz aus zugreifbar |
| 4017 |
Security |
Error |
Die eGK hat bereits eine Kartensitzung, die einem anderen Arbeitsplatz zugeordnet ist. |
| 4018 |
Security |
Error |
Der HBAx hat mindestens eine Kartensitzung zu einer anderen UserId, deren Sicherheitszustand erhöht ist.(Sicherheitszustand wird bei PIN-Eingabe erhöht.) |
| 4019 |
Technical |
Error |
Zu den Parametern konnte keine Regel ermittelt werden. |
| 4020 |
Security |
Error |
Kartenterminal ist weder lokal noch entfernt über irgendeinen dem Clientsystem zugeordneten Arbeitsplatz aus zugreifbar |
| 4021 |
Technical |
Error |
Es sind nicht alle Pflichtparameter mandantId, clientSystemId, workplaceId gefüllt. |
| 4204 |
Security |
Error |
Clientsystem aus dem Aufrufkontext konnte nicht authentifiziert werden. |
Hinweis zu Fehler 4018: Sicherheitszustand wird bei PIN-Eingabe erhöht.
4.1.1.5 Operationen an der Außenschnittstelle
Keine
4.1.1.6 Betriebsaspekte
TIP1-A_4525 - Initialisierung Zugriffsberechtigungsdienst
Der Konnektor MUSS mit Abschluss der Bootup-Phase den Ist-Zustand transienter Entitäten und Beziehungen des Informationsmodells erfasst haben.
[<=]TIP1-A_4526 - Bearbeitung Informationsmodell Zugriffsberechtigungsdienst
Für die Administration MUSS der Konnektor eine Administrationsoberfläche zur Pflege des Informationsmodells zur Verfügung stellen. Die Oberfläche muss es ermöglichen, sämtliche persistente Entitäten und Beziehungen des durch Abbildung „PIC_Kon_100 Informationsmodell des Konnektors“ und Tabelle „TAB_KON_510 Informationsmodell Constraints“ definierten Informationsmodells initial anzulegen, zu ändern und zu löschen.
[<=]Im Anhang I „Umsetzungshinweise“ werden Empfehlungen zur Umsetzung der Administration des Informationsmodells gegeben.
4.1.2 Dokumentvalidierungsdienst
Der Dokumentvalidierungsdienst ist ein Dienst, der nur intern genutzt wird, d. h., dass dessen definierte Verhaltensweisen nur in anderen TUCs des Konnektors nachgenutzt werden. Er bietet Schnittstellen zum Validieren von Dokumenten an. Dabei werden diejenigen spezifischen Dokumentformate unterstützt, die an den Außenschnittstellen anderer Dienste wie Signatur- und Verschlüsselungsdienst auftreten können (Alle_DocFormate gemäß Kapitel 3).
Die jeweils gültigen XML-Schemas der Fachmodule werden den Herstellern von der gematik bereitgestellt.
4.1.2.1 Funktionsmerkmalweite Aspekte
A_18780 - PDF/A-3 DARF NICHT unterstützt werden
Der Konnektor DARF Dokumente im PDF/A-3 Format NICHT unterstützen.
[<=]
4.1.2.2 Durch Ereignisse ausgelöste Reaktionen
Keine.
4.1.2.3 Interne TUCs, nicht durch Fachmodule nutzbar
Keine
4.1.2.4 Interne TUCs, auch durch Fachmodule nutzbar
4.1.2.4.1 TUC_KON_080 „Dokument validieren”
TIP1-A_4527-04 - TUC_KON_080 „Dokument validieren”
Der Konnektor MUSS den technischen Use Case TUC_KON_080 „Dokument validieren” umsetzen.
Tabelle 22: TAB_KON_143 – TUC_KON_080 „Dokument validieren“
| Element |
Beschreibung |
| Name |
TUC_KON_080 „Dokument validieren“ |
| Beschreibung |
Dieser TUC prüft das Format eines Dokuments und führt dokumententyp-spezifische Validierungen durch. Unterstützt werden Alle_DocFormate(außer „Binär“). |
| Auslöser |
|
| Vorbedingungen |
keine |
| Eingangsdaten |
|
| Komponenten |
Konnektor |
| Ausgangsdaten |
|
| Nachbedingungen |
Keine |
| Standardablauf |
Validierung der Dokumente auf Typkonformität Der Konnektor führt je nach Format des Dokuments (documentFormat) eine der folgenden Prüfungen durch: A) XML-Dokumentvalidierung Im Fall eines XML-Dokuments prüft der Konnektor:
PDF/A-Dokumente werden geprüft, ob sie sich als PDF/A Dokumente in ihren PDF/A-Metadaten ausweisen. Es werden alle PDF/A-1 und PDF/A-2 konformen Dokumente unterstützt, einschließlich PDF/A-1A, PDF/A-1B, PDF/A-2A, PDF/A-2B, PDF/A-2U. Beispiele: <pdfaid:part xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/">1</pdfaid:part> <rdf:Description rdf:about="" xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/" pdfaid:part="1" pdfaid:conformance="B"/> C) TIFF-Dokumentvalidierung Der Konnektor prüft, ob das Dokument an Hand seiner ersten 8 Byte als TIFF-Dokument [TIFF6] zu identifizieren ist. D) MIME-Dokumentvalidierung Die Struktur von MIME-Dokumenten wird entsprechend [MIME] validiert. E) Text-Dokumentvalidierung Der Konnektor prüft die Konformität zum im Dokumentenformat vorgegebenen Character-Encoding. Für Binärdokumente findet keine Validierung statt. Hinweis: Byte-order-marks (BOM) sind im Rahmen von UTF-8 kodierten Dokumenten gemäß UTF8 Standard ([RFC3629], Kapitel 6) erlaubt, aber nicht notwendigerweise im Dokument vorhanden. Validierung der Dokumentformate Der Konnektor prüft für das Dokument, ob die Vorgaben zu Dokumenten aus Kapitel 3.1.1 "Dokumentformate" eingehalten sind. |
| Varianten/ Alternativen |
keine |
| Fehlerfälle |
Standardablauf: Bei der Dokumentenvalidierung protokolliert der TUC alle aufgetretenen Fehler im Rückgabewert documentValidationProtocol. Validierung der Dokumente auf Typkonformität (A) Fehlerfälle bei XML-Dokumentvalidierung Wenn keine Schemata übergeben wurden (xmlSchemas oder signaturePolicyIdentifier nicht vorhanden): Fehlercode 4193 Wenn eines der übergebenen Schemata selbst nicht wohlgeformt oder invalide ist, wird Fehlercode 4026 gemeldet. Wenn das XML-Dokument nicht wohlgeformt ist, wird Fehlercode 4022 gemeldet. Das XML-Dokument ist nicht valide in Bezug auf das zur Validierung benutzte Schema (xmlSchemas bzw. signaturePolicyIdentifier): Fehlercode 4023. (B) Fehlerfälle bei PDF/A-Dokumentvalidierung Bei fehlgeschlagener Validierung: Fehlercode 4024, Dokumentformat = PDF/A (C) Fehlerfälle bei TIFF-Dokumentvalidierung Bei fehlgeschlagener Validierung: Fehlercode 4024, Dokumentformat = TIFF (D) Fehlerfälle bei MIME-Dokumentvalidierung Bei fehlgeschlagener Validierung: Fehlercode 4024, Dokumentformat = MIME (E) Fehlerfälle bei Text-Dokumentvalidierung Bei fehlgeschlagener Validierung: Fehlercode 4024, Dokumentformat = Text Validierung der Dokumentformate Bei Verletzung einer Vorgabe aus Kapitel 3.1.1 bricht der Konnektor die Verarbeitung mit einem entsprechenden Fehlercode ab. |
| Nichtfunktionale Anforderungen |
keine |
| Zugehörige Diagramme |
keine |
Tabelle 23: TAB_KON_144 Fehlercodes TUC_KON_080 „Dokument validieren“
| Fehlercode |
ErrorType |
Severity |
Fehlertext |
|---|---|---|---|
| Neben den Fehlercodes der aufgerufenen technischen Use Cases und Fehlercodes aus Kapitel 3.1.1 können folgende weitere Fehlercodes auftreten: |
|||
| 4022 |
Security |
Error |
XML-Dokument nicht wohlgeformt |
| 4023 |
Security |
Error |
XML-Dokument nicht valide in Bezug auf XML-Schema |
| 4024 |
Security |
Error |
Formatvalidierung fehlgeschlagen (<Dokumentformat>) Der Parameter Dokumentformat kann die Werte XML, PDF/A, TIFF, MIME und Text annehmen. |
| 4026 |
Security |
Error |
XML-Schema nicht valide |
| 4193 |
Security |
Warning |
kein XML-Schema für XML-Dokument vorhanden |
[<=]
4.1.2.5 Operationen an der Außenschnittstelle
Keine
4.1.2.6 Betriebsaspekte
Keine
4.1.3 Dienstverzeichnisdienst
Der Dienstverzeichnisdienst liefert dem aufrufenden Clientsystem sowohl Informationen über die Version und Produktkenndaten des Konnektors, als auch die SOAP-Endpunkte, über die das Clientsystem die einzelnen Dienstoperationen erreichen kann.
4.1.3.1 Funktionsmerkmalweite Aspekte
Die Endpunkte der Basisdienste werden in WSDL spezifiziert. Diese Endpunkte und weitere konnektormodellspezifische Informationen werden dem Clientsystem in Form eines Dienstverzeichnisdienstes gesammelt angeboten.
Der prinzipielle Ablauf sieht dabei folgendermaßen aus:
Das Clientsystem ruft beim Initialisieren des Systems mit HTTP-GET die vordefinierte URL: https://<ANLW_LAN_IP_ADDRESS oder MGM_KONN_HOSTNAME>/connector.sds oderhttp://<ANLW_LAN_IP_ADDRESS oder MGM_KONN_HOSTNAME>/connector.sds des Konnektors auf.
Der Konnektor stellt die Liste der Dienste, der Versionen und die Endpunkte der Dienste in einem XML-Dokument zusammen. Jeder über SOAP erreichbare Basisdienst des Konnektors wird in dieser Liste geführt. Ferner können Fachmodule ihre eigenen Endpunkte über TUC_KON_041 „Einbringen der Endpunktinformationen während der Bootup-Phase“ einbringen. Die so erstellte Liste der Dienste wird als Antwort an das Clientsystem übergeben.
Das Clientsystem prüft, ob die gewünschten Dienste und Versionen unterstützt werden und merkt sich die Endpunkte der Dienste für die späteren Aufrufe. Danach kann das Clientsystem diese Dienstendpunkte nach Bedarf aufrufen.
TIP1-A_4528 - Bereitstellen des Dienstverzeichnisdienst
Der Konnektor MUSS den Dienstverzeichnisdienst anbieten. Dieser Dienst veröffentlicht auf: https://$ANLW_LAN_IP_ADDRESS oder $MGM_KONN_HOSTNAME>/connector.sds oder http://$ANLW_LAN_IP_ADDRESS oder $MGM_KONN_HOSTNAME>/connector.sds.
Die Datei MUSS über https erreichbar sein.
Wenn (ANCL_DVD_OPEN = Enabled) oder (ANCL_TLS_MANDATORY = Disabled) MUSS die Datei auch über http erreichbar sein.
[<=]TIP1-A_4529-02 - Formatierung der Ausgabedatei
Das XML-Dokument, welches als „connector.sds“ dem Aufrufer zurückgeliefert wird, MUSS gemäß dem Schema „conn/ServiceDirectory.xsd“ formatiert sein. conn/ServiceDirectory.xsd referenziert die Schemata „tel/version/ProductInformation.xsd“ (siehe [gemSpec_OM]) und „conn/ServiceInformation.xsd“.
TAB_KON_516, TAB_KON_517 und TAB_KON_518 beschreiben die Elemente der zu verwendenden Schemastruktur.
Tabelle 24: TAB_KON_516 Basisanwendung Dienstverzeichnisdienst
| Name |
ConnectorServiceDirectory |
|---|---|
| Version |
3.1.0 (XSD-Version) |
| Namensraum |
Siehe GitHub |
| Namensraum-Kürzel |
CONN |
| Operationen |
Lesen der vom Konnektor unterstützten Dienste |
| WSDL |
Keine |
| Schema |
ServiceDirectory.xsd |
Tabelle 25: TAB_KON_517 Schemabeschreibung Produktinformation (ProductInformation.xsd)
| Element |
Bedeutung |
| ProductInformation/InformationDate |
Datum der Informationsabfrage über das Produkt |
| ProductInformation/ProductTypeInformation/ ProductType |
Produkttyp (Konnektor) |
| ProductInformation/ProductTypeInformation/ ProductTypeVersion |
Produkttypversion des Konnektormodells |
| ProductInformation/ProductIdentification/ ProductVendorID |
ID des Konnektorherstellers |
| ProductInformation/ProductIdentification/ ProductCode |
Produktkürzel |
| ProductInformation/ProductIdentification/ ProductVersion/Local/HWVersion |
Hardwareversion des Konnektormodells |
| ProductInformation/ProductIdentification/ ProductVersion/Local/FWVersion |
Firmwareversion des Konnektormodells |
| ProductInformation/ProductMiscellaneous/ ProductVendorName |
Name des Konnektorherstellers |
| ProductInformation/ProductMiscellaneous/ ProductName |
Produktname |
Tabelle 26: TAB_KON_518 Schemabeschreibung Serviceinformation (Serviceinformation.xsd)
| Element |
Bedeutung |
| ServiceInformation/Service |
Element beschreibt einen Dienst oder ein Fachmodul |
| ServiceInformation/Service/@Name |
Name des Dienstes. Dieser Wert korrespondiert mit dem Feld „Name“ aus der jeweiligen Basisanwendung/Dienstbeschreibung (englischer Dienstname in Tabelle TAB_KON_798). |
| ServiceInformation/Service/Abstract |
eine kurze textuelle Beschreibung des Dienstes/Fachmoduls |
| ServiceInformation/Service/Versions |
die Liste der unterstützten Versionen |
| ServiceInformation/Service/Versions/Version |
Beschreibung der Dienstversion/Fachmodulversion |
| ServiceInformation/ Service/Versions/Version/@TargetNamespace |
der Namensraum der Dienst-/Fachmodulversion |
| ServiceInformation/Service/Versions/Version/@Version |
Vollständige Versionsnummer (Konnektordienstversion) des Dienstes/Fachmoduls. Dieser Wert entspricht dem Wert „WSDL-Version“ des jeweiligen Dienstes in Tabelle TAB_KON_798. |
| ServiceInformation/Service/Versions/Version/Abstract |
Eine kurze textuelle Beschreibung dieser Version des Dienstes/Fachmoduls |
| ServiceInformation/ Service/Versions/Version/EndpointTLS/@Location |
Absoluter URL des über TLS erreichbaren Dienstes. |
| ServiceInformation/ Service/Versions/Version/Endpoint/@Location |
Absoluter URL des erreichbaren Dienstes (ohne TLS). |
| ServiceInformation/ Service/Versions/Version/WSDL/@Location |
(optional) Absoluter URL der WSDL-Beschreibung |
[<=]
TIP1-A_4530 - Aufbau Dienst URLs
Die URLs der Dienste KÖNNEN herstellerspezifisch aufgebaut werden.
[<=]4.1.3.2 Durch Ereignisse ausgelöste Reaktionen
Keine.
4.1.3.3 Interne TUCs, nicht durch Fachmodule nutzbar
Keine
4.1.3.4 Interne TUCs, auch durch Fachmodule nutzbar
Da der Konnektor als Black-Box mit inkludierten Fachmodulen ohne erkennbare Innenschnittstellen spezifiziert wird, stellt der folgende TUC lediglich einen Mechanismus zur editoriellen Kopplung der Fachmodulspezifikationen mit der Konnektorspezifikation dar:
4.1.3.4.1 TUC_KON_041 „Einbringen der Endpunktinformationen während der Bootup-Phase“
TIP1-A_4531 - TUC_KON_041 „Einbringen der Endpunktinformationen während der Bootup-Phase“
Der Dienstverzeichnisdienst des Konnektors MUSS es den Fachmodulen ermöglichen, die zum jeweiligen Fachmodul gehörenden Endpunkte während der Bootup-Phase des Konnektors in den Dienstverzeichnisdienst einzubringen.
Tabelle 27: TAB_KON_519 - TUC_KON_041 „Einbringen der Endpunktinformationen während der Bootup-Phase“
| Element |
Beschreibung |
|---|---|
| Name |
TUC_KON_041 „Einbringen der Endpunktinformationen während der Bootup-Phase“ |
| Beschreibung |
Fachmodule MÜSSEN ihre Endpunktinformationen während der Bootup-Phase in den Dienstverzeichnisdienst einbringen können. |
| Auslöser und Vorbedingungen |
Keine |
| Eingangsdaten |
|
| Komponenten |
Konnektor, Fachmodule |
| Ausgangsdaten |
|
| Standardablauf |
Die übergebenen Serviceinformationen des Fachmoduls werden in die Gesamtstruktur „connector.sds“ aufgenommen. Falls beim Speichern der eingebrachten Endpunktinformationen ein Fehler auftritt, wird Fehler 4027 ausgelöst. |
| Varianten/Alternativen |
Keine |
| Fehlerfälle |
4027: Die Endpunktinformationen konnten nicht übernommen werden. |
| Nichtfunktionale Anforderungen |
Keine |
| Zugehörige Diagramme |
Keine |
Tabelle 28: TAB_KON_520 Fehlercodes TUC_KON_041 „Einbringen der Endpunktinformationen während der Bootup-Phase“
| Fehlercode |
ErrorType |
Severity |
Fehlertext |
|---|---|---|---|
| 4027 |
Technical |
Error |
Die Endpunktinformationen konnten nicht übernommen werden. |
[<=]
4.1.3.5 Operationen an der Außenschnittstelle
TIP1-A_4532 - Schnittstelle der Basisanwendung Dienstverzeichnisdienst
Der Dienstverzeichnisdienst des Konnektors MUSS die in Tabelle TAB_KON_521 Schnittstelle der Basisanwendung Dienstverzeichnisdienst beschriebene Schnittstelle anbieten.
Tabelle 29: TAB_KON_521 Schnittstelle der Basisanwendung Dienstverzeichnisdienst
Dienstname |
ConnectorServiceDirectory |
|
|---|---|---|
Beschreibung |
Der Aufruf liefert Angaben über den Hersteller, über das Konnektormodell und die Liste der Dienste, Konnektordienstversionen (KDV) und Endpunkte der Dienste. |
|
Aufruf |
GET /connector.sds HTTP/1.1 |
|
Rückgabe |
Das Antwortdokument ist in der Schemadatei ServiceDirectory.xsd beschrieben. |
|
ConnectorServices |
||
Name |
Beschreibung |
|
ProductInformation |
Kurzbeschreibung des Konnektormodells |
|
ServiceInformation |
Beschreibung der Dienste |
|
ProductInformation: |
||
TLS-Mandatory: Boolean Wert der festlegt, ob die Verwendung eines TLS-Kanals für Dienstaufrufe verpflichtend ist. |
||
ServiceInformation: |
||
Fehlercodes |
Die Standard HTTP1.1 Fehlercodes [RFC2616] |
|
Vorbedingungen |
Keine |
|
Nachbedingungen |
Keine |
|
Hinweise |
Keine |
|
4.1.3.6 Betriebsaspekte
TIP1-A_4533 - Dienstverzeichnisdienst initialisieren.
Mit Abschluss der Bootup-Phase MUSS der Dienstverzeichnisdienst an der Außenschnittstelle die vollständige Liste aller Services bereitstellen, die der Anwendungskonnektor den Clientsystemen anbietet, inklusive der Services der Fachmodule.
[<=]4.1.4 Kartenterminaldienst
Die Aufgabe des Kartenterminaldienstes ist das Management aller vom Konnektor adressierbaren Kartenterminals. Dies umfasst alle administrativen Prozesse (insbesondere das Pairing, vgl. [gemSpec_KT#2.5.2]). Ferner kapselt der Kartenterminaldienst die Zugriffe auf Kartenterminals durch Basisdienste und Fachmodule.
Für die TLS-Verbindungen zu den Kartenterminals muss der Konnektor die Vorgaben aus [gemSpec_Krypt#3.3.2] und hinsichtlich ECC-Migration die Vorgaben aus [gemSpec_Krypt#5] befolgen.
Innerhalb des Kartenterminaldienstes werden folgende Präfixe für Bezeichner verwendet:
- Events (Topic Ebene 1): „CT“
- Konfigurationsparameter: „CTM_“
Der Kartenterminaldienst verwaltet hinsichtlich der Kartenterminals mindestens die in der informativen Tabelle TAB_KON_522 Parameterübersicht des Kartenterminaldienstes ausgewiesenen Parameter, weitere herstellerspezifische Parameter sind möglich. Die normative Festlegung wann welche Parameter mit welchen Werten belegt werden, erfolgt in den folgenden Abschnitten und Unterkapiteln.
Dabei beschrieben CTM_xyz-Bezeichner Parameter, die den Dienst als Ganzes betreffen. Zu jedem Kartenterminal selbst werden dessen Parameter in einem CT-Object gekapselt. Die folgende Tabelle zeigt die Attribute der jeweiligen CT-Objekte über Punktschreibweise.
Tabelle 30: TAB_KON_522 Parameterübersicht des Kartenterminaldienstes
| ReferenzID |
Belegung |
Zustandswerte |
|---|---|---|
| CTM_CT_LIST |
Liste von CT-Objekten |
Eine Liste von Repräsentanzen (CT-Objects) der dem Konnektor bekannten Kartenterminals. |
| Pro CTM_CT_LIST Eintrag: |
||
| Gerätekenndaten |
||
| CT.CTID |
Identifier |
Eindeutige, statische Identifikation des Kartenterminals |
| CT.IS_PHYSICAL |
Ja/Nein |
Kennzeichnung, ob es sich um ein physisches oder logisches Kartenterminal handelt, zur Unterscheidung von eHealth-Kartenterminals und HSM-Bs. Da dieser Unterschied gemäß der aktuellen HSM-B-Lösung für den Konnektor transparent ist, wird der Parameter in dieser Spezifikation immer auf „Ja“ gesetzt. Der Parameterwert „Nein“ ist für zukünftige Nutzung vorgesehen. |
| CT.MAC_ADRESS |
MAC-Adresse |
Die MAC-Adresse des Kartenterminals |
| CT.HOSTNAME |
String |
SICCT-Terminalname des Kartenterminals, auch als FriendlyName bezeichnet |
| CT.IP_ADRESS |
IP-Adresse |
Die IP-Adresse des Kartenterminals |
| CT.TCP_PORT |
Portnummer |
Der TCP-Port des SICCT-Kommandointerpreters des Kartenterminals |
| CT.SLOTCOUNT |
Nummer |
Anzahl der Slots des Kartenterminals |
| CT.SLOTS_USED |
Liste |
Liste der aktuell mit Karten belegten Slots |
| CT.PRODUCT INFORMATION |
Inhalt ProductIn formation.xsd |
Die Herstellerinformationen zum Kartenterminal gemäß [gemSpec_OM] |
| CT.EHEALTH_ INTERFACE_VERSION |
Version |
Die EHEALTH-Interface-Version des Kartenterminals, die mittels GET STATUS aus dem Element VER des Discretionary Data Objects ermittelt wurde. |
| CT.VALID_VERSION |
Boolean |
True, wenn die Version des Kartenterminals (CT.EHEALTH_INTERFACE_VERSION) durch den Konnektor unterstützt wird, d.h. zu den in CTM_SUPPORTED_KT_VERSIONS passt Default-Wert = false |
| CT.DISPLAY_CAPABILITIES |
Datenstruktur |
Displayeigenschaften wie in der Struktur Display Capabilities Data Object in [SICCT#5.5.10.17] beschrieben |
| Pairingdaten |
||
| CT.SMKT_AUT |
X.509-Cert |
C.SMKT.AUT-Zertifikat des Kartenterminals, gespeichert im Rahmen des Pairings |
| CT.SHARED_SECRET |
ShS.KT.AUT, gespeichert im Rahmen des Pairings |
|
| Verbindungsdaten |
||
| CT.CORRELATION |
bekannt zugewiesen gepairt aktiv aktualisierend |
Der Korrelationsstatus zum Konnektor:
|
| CT.CONNECTED |
Ja/Nein |
Der Verfügbarkeitsstatus des Kartenterminals (Ja = nach Aufbau der TLS-Verbindung und erfolgter zweiter Authentifizierung) |
| CT.ACTIVEROLE |
User/Admin |
Benutzerrolle, die für die aktuelle Session verwendet wird |
| KT-Admin-Credentials |
||
| CT.ADMIN_USERNAME |
String |
Username des Administrators am KT |
| CT.ADMIN_PASSWORD |
String |
Password des Administrators am KT |
Zum besseren Verständnis sind die Zustände, die ein Kartenterminal einnehmen kann, im nachfolgenden Zustandsdiagramm PIC_KON_071 dargestellt.
Abbildung 7: PIC_KON_071 Korrelationszustände eines eHealth-KT
4.1.4.1 Funktionsmerkmalweite Aspekte
TIP1-A_4534 - Kartenterminals nach eHealth-KT-Spezifikation
Der Kartenterminaldienst MUSS Kartenterminals nach der eHealth-Kartenterminal Spezifikation [gemSpec_KT] unterstützen.
[<=]Zur Unterstützung von HSM-Bs benötigt der Konnektor virtuelle Kartenterminals (CT.IS_PHYSICAL=Nein), in denen virtuelle SMC-Bs „stecken“ können (siehe Kapitel 4.1.4). Diese Kartenterminals werden innerhalb des Zugriffsberechtigungsdienstes sowie des Systeminformationsdienstes wie normale Kartenterminals berücksichtigt. Weitere Details zu den logischen Kartenterminals finden sich im Kapitel Betriebsaspekte.
TIP1-A_4535 - Unterstützung logischer Kartenterminals für HSMs
Der Kartenterminaldienst MUSS logische Kartenterminals mit logischen Slots unterstützen. Zu jedem verwalteten HSM (siehe Kartendienst) MUSS der Konnektor ein oder mehrere logische Kartenterminal mit folgenden Bedingungen vorhalten:
- Jedes logische KT MUSS als CT-Object mit eindeutiger CTID in CTM_CT_LIST enthalten sein
- Die CT-Attribute MÜSSEN gemäß TAB_KON_522 Parameterübersicht des Kartenterminaldienstes gesetzt werden.
TIP1-A_4536 - TLS-Verbindung zu Kartenterminals halten
Der Kartenterminaldienst MUSS jede mit einem Kartenterminal etablierte Verbindung durch Nutzung des in [SICCT#6.1.4.5] definierten Keep-Alive Mechanismus halten. Der Konnektor MUSS für das Heartbeat-Interval gemäß [SICCT#6.1.4.5] den Wert CTM_KEEP_ALIVE_INTERVAL verwenden und beim Ausbleiben von Terminal-Antworten eines Kartenterminals nach der Anzahl von CTM_KEEP_ALIVE_TRY_COUNT Versuchen die Netzwerkverbindung zu diesem Kartenterminal beenden.
[<=]TIP1-A_6725 - Lebensdauer von Textanzeigen am Kartenterminal
Der Konnektor MUSS steuern, dass Textanzeigen am Kartenterminal nur so lange angezeigt werden, wie sie im jeweiligen Anwendungskontext benötigt werden.
[<=]Ziel der Textanzeigen am Kartenterminal ist die Kommunikation mit dem Benutzer zur Unterstützung der Anwendungsfälle. Die Anzeige am Kartenterminal muss daher einen engen zeitlichen Bezug zum jeweiligen Anwendungskontext haben.
Nachrichten, deren Anwendungskontext mit einem Event beendet werden, wie etwa die Aufforderung zum Stecken der Karte im Kontext von TUC_KON_056, deren inhaltliche Berechtigung mit dem Stecken der Karte erlischt, (ebenso zum Ziehen der Karte im Rahmen von TUC_KON_057) müssen sofort gelöscht werden, wenn das Event eintritt.
Nachrichten, deren Lebensdauer nicht durch ein natürliches Event beendet wird, müssen eine vordefinierte Lebensdauer erhalten, die per Konfiguration an die Bedürfnisse der Leistungserbringer anpassbar sein sollte. Das gilt für Ergebnisanzeigen oder Anzeigen von Fehlern.
TIP1-A_4537 - KT-Statusanpassung bei Beendigung oder Timeout einer Netzwerkverbindung
Tritt ein Timeout ein oder wird eine Netzwerkverbindung zu einem Kartenterminal (oder zu einem HSM, welches einem logischen Kartenterminal zugeordnet ist) beendet oder zurückgesetzt und ist CT.CONNECTED = Ja, so MUSS der Konnektor:
CT.CONNECTED für das Kartenterminal auf „Nein“ setzen
Für jeden in CT.SLOTS_USED gelisteten Slot X zur weiteren internen Bearbeitung TUC_KON_256 {
topic = „CT/SLOT_FREE“;
eventType = Op;
severity = Info;
parameters = („CtID=$CT.CTID, SlotNo=$X“);
doLog = false;
doDisp = false }
rufenTUC_KON_256 {
topic = „CT/DISCONNECTED“;
eventType = Op;
severity = Info;
parameters = („CtID=$CT.CTID, Hostname=$CT.HOSTNAME“) }
auslösenCT.SLOTS_USED leeren
TIP1-A_4538 - Wiederholter Verbindungsversuch zu den KTs
Sind in CTM_CT_LIST Kartenterminals mit CT.CONNECTED=Nein und CT.VALID_VERSION = True und CT.CORRELATION = „aktiv“ und ist CTM_SERVICE_DISCOVERY_CYCLE>0, MUSS der Konnektor im Zeitabstand CTM_SERVICE_DISCOVERY_CYCLE-Minuten entweder eine Service Discovery-Nachricht an alle KTs als Broadcast oder an jedes einzelne dieser unverbundenen KTs als Unicast senden.
[<=]
TIP1-A_4538-02 - ab PTV4: Wiederholter Verbindungsversuch zu den KTs
Sind in CTM_CT_LIST Kartenterminals mit CT.CONNECTED=Nein und CT.VALID_VERSION = True und CT.CORRELATION = „aktiv“ und ist CTM_SERVICE_DISCOVERY_CYCLE>0, MUSS der Konnektor im Zeitabstand CTM_SERVICE_DISCOVERY_CYCLE-Minuten an jedes einzelne dieser unverbundenen KTs eine Service-Discovery-Nachricht als Unicast senden.
[<=]
TIP1-A_6478 - Erlaubte SICCT-Kommandos bei CT.CONNECTED=Nein
Der Kartenterminaldienst DARF SICCT-bzw. EHEALTH-Kommandos NICHT an ein Kartenterminal senden, wenn für dieses Kartenterminal CT.CONNECTED=Nein gesetzt ist. Ausgenommen hiervon sind die in TAB_KON_785 gelisteten EHEALTH- bzw. SICCT-Kommandos.
[<=]Tabelle 31: TAB_KON_785 Erlaubte SICCT-Kommandos bei CT.CONNECTED=Nein
| SICCT-Kommando |
|---|
| SICCT CT INIT CT SESSION |
| SICCT CT CLOSE SESSION |
| SICCT GET STATUS |
| SICCT SET STATUS |
| SICCT CT DOWNLOAD INIT |
| SICCT CT DOWNLOAD DATA |
| SICCT CT DOWNLOAD FINISH |
| EHEALTH TERMINAL AUTHENTICATE |
TIP1-A_4539 - Robuster Kartenterminaldienst
Das Ziehen einer Karte während einer Kartenaktion DARF NICHT dazu führen, dass das verwaltete Kartenterminal im Anschluss durch den Konnektor nicht weiter genutzt werden kann. Die entsprechende Ressource MUSS nach Erkennung der Fehlersituation freigegeben werden. Ein manuelles Eingreifen DARF NICHT erforderlich sein.
[<=]TIP1-A_5408 - Terminal-Anzeigen beim Anfordern und Auswerfen von Karten
Der Konnektor MUSS beim Anfordern und Auswerfen von Karten die folgenden Display-Nachrichten für die Anzeige im Kartenterminal verwenden, wenn der Aufrufer keine konkrete Display-Nachricht übergeben hat. Der Verweis auf den Kartenterminal-Slot SOLL in der Display-Nachricht entfallen, wenn es keine Slot-Auswahl am Kartenterminal gibt.
Tabelle 32: TAB_KON_727 Terminalanzeigen beim Anfordern und Auswerfen von Karten
| Kontext |
Kartentyp |
Terminal-Anzeige |
| Karte anfordern |
EGK |
Bitte•0x0BeGK•0x0Bin •0x0BSLOT X•0x0Bstecken |
| HBA, HBAx, HBA-qSig |
Bitte•0x0BHBA•0x0Bin •0x0BSLOT X•0x0Bstecken |
|
| SMC-B |
Bitte•0x0BSMC-B•0x0Bin •0x0BSLOT X•0x0Bstecken |
|
| sonstiger Kartentyp oder kein explizit angegebener Kartentyp |
Bitte•0x0BKarte•0x0Bin •0x0BSLOT X•0x0Bstecken |
|
| Karte auswerfen |
EGK |
Bitte•0x0BeGK•0x0Baus •0x0BSLOT X•0x0Bentnehmen |
| HBA, HBAx, HBA-qSig |
Bitte•0x0BHBA•0x0Baus •0x0BSLOT X•0x0Bentnehmen |
|
| SMC-B |
Bitte•0x0BSMC-B•0x0Baus •0x0BSLOT X•0x0Bentnehmen |
|
| sonstiger Kartentyp oder kein explizit angegebener Kartentyp |
Bitte•0x0BKarte•0x0Bentnehmen |
4.1.4.2 Durch Ereignisse ausgelöste Reaktionen
TIP1-A_4540 - Reaktion auf Dienstbeschreibungspakete
Der Konnektor MUSS Service Announcement für das Auffinden von Kartenterminals entsprechend [SICCT] und [gemSpec_KT] unterstützen. Der Konnektor MUSS Dienstbeschreibungspakete auf UDP Port CTM_SERVICE_ANNOUNCEMENT_PORT entgegennehmen.
Erhält er ein solches Dienstbeschreibungspaket, MUSS er
TUC_KON_054 mit Mode=AutoAdded und IP-Adresse; TCP-Port; MAC-Adresse; Hostname aus dem Dienstbeschreibungspaket, aufrufen
für das mit der MAC-Adressen in CTM_CT_LIST korrelierende CT-Object, wenn CT.CORRELATION > "bekannt" und CT.VALID_VERSION = true ist, TUC_KON_050 { ctId = CT.CtID; role = „User“} aufrufen.
TIP1-A_4541 - Reaktion auf KT-Slot-Ereignis – Karte eingesteckt
Der Kartenterminaldienst MUSS auf SICCT-Ereignisnachrichten „Slot-Ereignis – Karte eingesteckt“ ([SICCT#6.1.4.4], TAG ‚84’) wie folgt reagieren:
das meldende Kartenterminal CT in CTM_CT_LIST ermitteln,
den in der Ereignisnachricht benannten Slot (FU-Nummer) in CT.SLOTS_USED aufnehmen,
zur weiteren internen Bearbeitung rufe TUC_KON_256 {
topic = „CT/SLOT_IN_USE“;
eventType = Op;
severity = Info;
parameters = („CtID=$CT.CTID,
SlotNo=<FU-Nummer aus Ereignisnachricht>„);
doLog = false;
doDisp = false } auf.
TIP1-A_4542 - Reaktion auf KT-Slot-Ereignis – Karte entfernt
Der Kartenterminaldienst MUSS auf SICCT-Ereignisnachrichten „Slot-Ereignis – Karte entfernt“ ([SICCT#6.1.4.4], TAG ‚85’) wie folgt reagieren:
das meldende Kartenterminal CT in CTM_CT_LIST ermitteln,
den in der Ereignisnachricht benannten Slot (FU-Nummer) aus CT.SLOTS_USED entfernen,
zur weiteren internen Bearbeitung rufe TUC_KON_256 {
topic = „CT/SLOT_FREE“;
eventType = Op;
severity = Info;
parameters = („CtID=$CT.CTID,
SlotNo==<FU-Nummer aus Ereignisnachricht>„„);
doLog = false;
doDisp = false }
auf.
TIP1-A_4543 - KT-Statusanpassung bei Beginn eines Updatevorgangs
Tritt der Event "KSR/UPDATE/START" mit „Target=KT“ ein, MUSS der Konnektor:
Setze CT = CTM_CT_LIST(CTID-Parameter des Ereignisses)
CT.CORRELATION für das Kartenterminal merken und auf „aktualisierend“ setzen
Für jeden in CT.SLOTS_USED gelisteten Slot X zur weiteren internen Bearbeitung TUC_KON_256 {
topic = „CT/SLOT_FREE“;
eventType = Op;
severity = Info;
parameters = („CtID=$CT.CTID, SlotNo=$CT.SLOTS_USED[X]“);
doLog = false;
doDisp = false
} aufrufen
TIP1-A_4544 - KT-Statusanpassung bei Ende eines Updatevorgangs
Tritt der Event "KSR/UPDATE/END" mit „Target=KT“ ein, MUSS der Konnektor:
Setze CT = CTM_CT_LIST(CTID-Parameter des Ereignisses)
CT.CORRELATION auf den beim „KSR/UPDATE/START“ gemerkten Wert setzen
Aktualisiere Gerätedaten durch Aufruf TUC_KON_055 „Befülle CT-Object“ { ctId = CTID}
Wenn CT.VALID_VERSION = true, Rufe TUC_KON_050 „Beginne Kartenterminalsitzung“ { ctId = CTID; role = „User“}
Wenn CT.VALID_VERSION = false und CT.CORRELATION = „aktiv“, setze CT.CORRELATION=„gepairt“
4.1.4.3 Interne TUCs, nicht durch Fachmodule nutzbar
4.1.4.3.1 TUC_KON_050 „Beginne Kartenterminalsitzung“
TIP1-A_4545-03 - TUC_KON_050 „Beginne Kartenterminalsitzung“
Der Konnektor MUSS den technischen Use Case „Beginne Kartenterminalsitzung” gemäß TUC_KON_050 umsetzen.
Tabelle 33: TAB_KON_039 – TUC_KON_050 „Beginne Kartenterminalsitzung“
| Element |
Beschreibung |
|---|---|
| Name |
TUC_KON_050 „Beginne Kartenterminalsitzung“ |
| Beschreibung |
TUC_KON_050 baut eine TLS-Verbindung vom Konnektor zum Kartenterminal auf und beginnt eine SICCT-Sitzung. Anschließend erfolgt die 2. Authentifizierung des Kartenterminals (Prüfung SharedSecret). |
| Auslöser |
|
| Vorbedingungen |
ctId ist in CTM_CT_LIST vorhanden |
| Eingangsdaten |
|
| Komponenten |
Konnektor, Kartenterminal |
| Ausgangsdaten |
keine |
| Nachbedingungen |
|
| Standardablauf |
Setze CT = CTM_CT_LIST(ctId) 1. Wenn CT.IS_PHYSICAL = Nein: prüfen, ob role = „User“ Wenn CT.CONNECTED = Ja: TUC endet erfolgreich Nein: - Verbindung zu HSM in Slot 1 aufbauen - weiter mit Schritt 9 2. Wenn CT.CONNECTED = Ja prüfen, ob CT.ACTIVEROLE = role Ja: TUC endet erfolgreich Nein: - Schließen der Cardterminal Session mit dem Kartenterminalkommando SICCT CLOSE CT SESSION, - weiter ab Schritt 6 (halten der TLS-Verbindung und nur Wechsel der Session) 3. Aufbau einer TLS-Verbindung mit dem Kartenterminal unter Verwendung von ID.SAK.AUT. Dabei Prüfung des KT-Zertifikats mittels TUC_KON_037 { certificate= C.SMKT.AUT; qualifiedCheck=not_required; offlineAllowNoCheck=true; policyList= oid_smkt_aut; intendedKeyUsage= intendedKeyUsage(C.SMKT.AUT); intendedExtendedKeyUsage=id-kp-serverAuth; validationMode=NONE } 4. Wenn CT.CORRELATION <=„zugewiesen“: a. Öffne eine Cardterminal Session mit dem Kartenterminalkommando SICCT INIT CT SESSION (siehe [SICCT#5.10]) mit leerem Username, Password und Session ID b. Nur Verbindung in niedriger Korrelation, daher setze CT.CONNECTED = Nein, um fachliche Nutzung des KT zu verhindert c. beende TUC erfolgreich 5. Prüfe, ob das Zertifikat aus der TLS-Verbindung mit den zum Kartenterminal gespeicherten Referenzdaten (CT.SMKT_AUT) übereinstimmt. a. Läuft das Zertifikat CT.SMKT_AUT (oder C.SMKT.AUT, sie müssen hier identisch sein) in weniger als 35 Tagen ab, so geht der Konnektor in den Betriebszustand EC_CardTerminal_gSMC-KT_Certificate_Expires_Soon (ctId) über. 6. Parallelisierung a. Generierung eines zufälligen Werts (Challenge) mit mindestens 16 Byte Länge gemäß [gemSpec_Krypt#2.2] (siehe [gemSpec_KT#DO_KT_0004]), b. Öffnen einer Cardterminal Session mit dem Kartenterminalkommando SICCT INIT CT SESSION (siehe [SICCT#5.10]) mit - ctId als Adressat - Wenn role = User dann mit leerem Username, Password und Session ID Wenn role = „Admin dann mit leerer Session ID aber mit CT.ADMIN_USERNAME und CT.ADMIN_PASSWORD 7. Senden der Challenge mittels Kartenterminalkommando EHEALTH TERMINAL AUTHENTICATE (siehe [gemSpec_KT#3.7.2]) in der Ausprägung VALIDATE mit: - Kartenterminal als Empfänger - und mit der in Schritt 6a generierten Challenge im Shared Secret Challenge DO 8. Prüfe Antwort des Kartenterminals, ob sie einen korrekten Hashwert über Challenge und angehängtes CT.SHARED_SECRET gemäß [gemSpec_KT#SEQ_KT_0002] Schritt 4-5 enthält 9. Setze: a. CT.ACTIVEROLE = $role b. CT.CONNECTED = Ja 10 . Wenn TLS-Verbindung neu aufgebaut werden musste, rufe TUC_KON_256 { topic = „CT/CONNECTED“; eventType = „Op“; severity = Info; parameters = („CtID=$CT.CTID, Hostname=$CT.HOSTNAME“) } 11. Ermittle alle im KT gesteckten Karten und befülle entsprechend CT.SLOTS_USED Für jeden in CT.SLOTS_USED gelisteten Slot X zur weiteren internen Bearbeitung TUC_KON_256{ topic = „CT/SLOT_IN_USE“; eventType = Op; severity = Info; parameters = („CtID=$CT.CTID, SlotNo=$CT.SLOTS_USED[X]“); doLog = false; doDisp = false } rufen. |
| Varianten/ Alternativen |
Keine. |
| Fehlerfälle |
Fehler in den folgenden Schritten des Ablaufs führen zu: Aufruf von TUC_KON_256 { topic = "CT/TLS_ESTABLISHMENT_FAILURE"; eventType = $ErrorType; severity = $Severity; parameters = („CtID=$CT.ID, Name=$CT.HOSTNAME, Error=$Fehlercode, Bedeutung=$Fehlertext“) } Abbruch der Verarbeitung mit den ausgewiesenen Fehlercodes (1): Admin-Rolle für logische KTs nicht möglich (hätte bei korrekter Implementierung nicht stattfinden dürfen), Fehlercode: 4032 (1): Verbindungsaufbau zu HSM fehlgeschlagen, Fehlercode: 4032 (3): Fehler im TLS-Verbindungsaufbau bzw. Zertifikatsprüfung, Fehlercode: 4028 und setze CT.CONNECTED auf „Nein“ (3): TLS-Verbindung konnte nicht innerhalb von CTM_TLS_HS_TIMEOUT Sekunden aufgebaut werden , Fehlercode: 4028 und setze CT.CONNECTED auf „Nein“ (5): Präsentiertes Zertifikat nicht das aus dem Pairing, Fehlercode: 4029 und setze CT.CORRELATION auf „gepairt“ und setze CT.CONNECTED auf „Nein“ und terminiere TLS-Verbindung (6b): Hinterlegte KT-Admin-Credentials fehlerhaft, Fehlercode: 4030 und in die User-Session zurückzuwechseln (damit das KT für den normalen Fachbetrieb weiterhin zur Verfügung steht) (8): Prüfung auf Nachweis SharedSecret fehlgeschlagen, Fehlercode 4029 und setze CT.CORRELATION auf „gepairt“ und setze CT.CONNECTED auf „Nein“ und terminiere TLS-Verbindung |
| Nichtfunktionale Anforderungen |
keine |
| Zugehörige Diagramme |
Abbildung PIC_KON_110 Aktivitätsdiagramm zu „Beginne Kartenterminalsitzung |
Abbildung 8: PIC_KON_110 Aktivitätsdiagramm zu „Beginne Kartenterminalsitzung“
Tabelle 34: TAB_KON_523 Fehlercodes TUC_KON_050 „Beginne Kartenterminalsitzung“
| Fehlercode |
ErrorType |
Severity |
Fehlertext |
|---|---|---|---|
| Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten: |
|||
| 4028 |
Technical |
Error |
Fehler beim Versuch eines Verbindungsaufbaus zu KT |
| 4029 |
Security |
Error |
Fehler bei der KT-Authentisierung. KT möglicherweise manipuliert |
| 4030 |
Security |
Error |
Admin-Werte für KT fehlerhaft |
| 4032 |
Technical |
Error |
Verbindung zu HSM konnte nicht aufgebaut werden |
4.1.4.3.2 TUC_KON_054 „Kartenterminal hinzufügen“
TIP1-A_4546 - TUC_KON_054 „Kartenterminal hinzufügen“
Der Konnektor MUSS den technischen Use Case TUC_KON_054 „Kartenterminal hinzufügen“ umsetzen.
Tabelle 35: TAB_KON_524 – TUC_KON_054 „Kartenterminal hinzufügen“
| Element |
Beschreibung |
|---|---|
| Name |
TUC_KON_054 „Kartenterminal hinzufügen“ |
| Beschreibung |
Dieser TUC nimmt ein neues Kartenterminal in die zentrale Verwaltung auf (CTM_CT_LIST) oder aktualisiert die Einträge zu einem bereits erfassten Kartenterminal. |
| Auslöser |
|
| Vorbedingungen |
|
| Eingangsdaten |
|
| Komponenten |
Konnektor, Kartenterminal |
| Ausgangsdaten |
|
| Nachbedingungen |
|
| Standardablauf |
1. Sofern optionale Parameter nicht übergeben wurden oder Mode<>AutoAdded, ermittle Port, MAC und Hostname via Service Discovery als UDP/IP-Unicast an IP-Adresse und Port CTM_SERVICE_DISCOVERY_PORT 2. Finde CT in CTM_CT_LIST über MAC-Adresse 3. Wenn MAC-Adresse nicht in CTM_CT_LIST: a) Erzeuge neuen CT-Object-Eintrag in CTM_CT_LIST und - Generiere eindeutige CT.CTID - setzte CT.MAC_ADRESS auf MAC-Adresse - Setze CT.CORRELATION =„bekannt“ - Setze CT.CONNECTED = „Nein“ b) Wenn Mode= ManuallyAdded setze CT.CORRELATION =„zugewiesen“ 4. Wenn CT.CONNECTED = Ja und (IP-Adresse <> CT.IP_ADRESS oder TCP-Port <> CT.TCP_PORT), beende TLS-Verbindung und setze CT.CONNECTED = „Nein“ 5. Befülle: CT.IP_ADRESS, CT.Hostname, CT.TCP_PORT 6. Wenn CT.CORRELATION>=„zugewiesen“ rufe TUC_KON_055 „Befülle CT-Object“ |
| Varianten/ Alternativen |
Keine |
| Fehlerfälle |
Fehler im Ablauf (Standardablauf oder Varianten) führen in den folgend ausgewiesenen Schritten zu einem Abbruch der Verarbeitung mit den ausgewiesenen Fehlercodes: (1) Keine Antwort innerhalb CTM_SERVICE_DISCOVERY_TIMEOUT, Fehlercode: 4033 (1) Ermittelte MAC-Adresse weicht von übergebener MAC-Adresse ab, Fehlercode: 4035 (1) Ermittelter Hostname-Adresse weicht von übergebenem Hostname ab, Fehlercode: 4036 (2) Wenn Mode=ManuallyModified und nicht gefunden, Fehlercode: 4037 Zusätzlich im Abbruchfall: - Aufruf von TUC_KON_256 { topic = "CT/CT_ADDING_ERROR"; eventType = $ErrorType; severity = $Severity; parameters = („IP=$IP-Adresse, Name=$HOSTNAME, Error=$Fehlercode, Bedeutung=$Fehlertext“) } - Keine Veränderung an CTM_CT_LIST |
| Nichtfunktionale Anforderungen |
Keine |
| Zugehörige Diagramme |
keine |
Tabelle 36: TAB_KON_525 Fehlercodes TUC_KON_054 „Kartenterminal hinzufügen“
| Fehlercode |
ErrorType |
Severity |
Fehlertext |
|---|---|---|---|
| Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten: |
|||
| 4033 |
Technical |
Error |
Kartenterminal antwortet nicht, Zufügen fehlgeschlagen |
| 4035 |
Technical |
Error |
Angegebener IP-Adresse gehört zu einer anderen MAC-Adresse als die, die übergeben wurde. Angaben zur MAC prüfen |
| 4036 |
Technical |
Error |
Angegebener IP-Adresse gehört zu einem anderen Hostname als der, der übergeben wurde. Angaben zum Hostname prüfen |
| 4037 |
Technical |
Error |
Verwaltung der Kartenterminals inkonsistent |
4.1.4.3.3 TUC_KON_053 „Paire Kartenterminal“
TIP1-A_4548-02 - TUC_KON_053 „Paire Kartenterminal“
Der Konnektor MUSS den technischen Use Case „Paire Kartenterminal” gemäß TUC_KON_053 umsetzen.
Tabelle 37: TAB_KON_041 – TUC_KON_053 „Paire Kartenterminal“
| Element |
Beschreibung |
|---|---|
| Name |
TUC_KON_053 „Paire Kartenterminal“ |
| Beschreibung |
TUC_KON_053 führt das Pairing zwischen dem Konnektor und einem eHealth-Kartenterminal durch. |
| Auslöser |
Dialoge zur Administration des Konnektors. Der Administrator hat ein Kartenterminal im Dialog der Managementschnittstelle ausgewählt und das Pairing aufgerufen. |
| Vorbedingungen |
|
| Eingangsdaten |
|
| Komponenten |
Konnektor, Kartenterminal |
| Ausgangsdaten |
|
| Nachbedingungen |
- CT.CORRELATION = „aktiv“, wenn Pairing erfolgreich - CT.CORRELATION = „zugewiesen“, wenn Pairing nicht erfolgreich - CT.CONNECTED = „Ja“, wenn Pairing erfolgreich |
| Standardablauf |
Setze CT = CTM_CT_LIST(ctId) 1. Prüfe CT.VALID_VERSION = true 2. Aufbau einer TLS-Verbindung mit dem Kartenterminal unter Verwendung von ID.SAK.AUT. Dabei: a. Speichern des präsentierten KT-Zertifikats in CT.SMKT_AUT b. Prüfung des KT-Zertifikats mittels TUC_KON_037{ certificate = C.SMKT.AUT; qualifiedCheck = not_required; offlineAllowNoCheck = true; policyList = oid _smkt_aut; intendedKeyUsage= intendedKeyUsage(C.SMKT.AUT); intendedExtendedKeyUsage = id-kp-serverAuth; validationMode = NONE } 3. Der Konnektor entnimmt den Fingerprint dem KT-Zertifikat und stellt dies dem Administrator im Dialog der Managementschnittstelle dar. Der Konnektor fordert den Administrator auf, den Fingerprint zu akzeptieren oder zurückzuweisen. 4. Wenn der Administrator den Fingerprint bestätigt, a. generiert der Konnektor einen neuen Schlüssel, das Shared Secret ShS.KT.AUT gemäß [gemSpec_Krypt#2.2] (siehe [gemSpec_KT#3.7]) und speichert es in CT.SHARED_SECRET b. und eröffnet der Konnektor mit dem Kartenterminalkommando SICCT INIT CT SESSION (siehe [SICCT#5.10]) mit - ctId als Adressat - und mit leerem Username, Password und Session ID eine Cardterminal Session. 5. Der Konnektor sendet mittels Kartenterminalkommando EHEALTH TERMINAL AUTHENTICATE (siehe [gemSpec_KT#3.7.2]) in der Ausprägung CREATE mit - ctId als Empfänger - und mit dem in Schritt 4.a generierten Schlüssel im Shared Secret DO und der Display Message „KT:$CT.MAC_ADRESS MIT KON:$MGM_KONN_HOSTNAME PAIREN OK?“, wobei die MAC-Adresse mit Trenner im folgenden Format dargestellt werden MUSS: „AABBCC:DDEEFF“ das Shared Secret an das Kartenterminal. 6. Der Konnektor prüft ob in der Antwort des Kartenterminals eine korrekte Signatur des Shared Secrets gemäß [gemSpec_KT#SEQ_KT_0001] Schritt 7, ausgeführt mit dem Schlüssel zum Zertifikat CT.SMKT_AUT vorliegt. 7. CT.CORRELATION wird auf „gepairt“ gesetzt 8. TLS-Verbindung, die zum Pairen diente, beenden und zuvor das Kartenterminalkommando SICCT CLOSE CT SESSION mit ctId als Adressat senden 9. Automatischer Zustandsübergang CT.CORRELATION = „gepairt“ nach „aktiv“ (implizite Aktion des Administrators durch Aufruf von TUC_KON_053). 10. „Arbeits“-TLS-Verbindung neu aufbauen durch Aufruf TUC_KON_050 { ctId; role = „User“} |
| Varianten/ Alternativen |
(4): weist der Administrator den Fingerprint in Schritt 3 ab, wird TUC_KON_053 nach Ausführung folgender Aktivitäten beendet: 4.1.a) Löschen von CT.SMKT_AUT 4.1.b) Abbau der TLS-Verbindung, Setzen von CT.CONNECTED auf „Nein“ |
| Fehlerfälle |
Fehler in den folgenden Schritten des Ablaufs führen zu: a) Aufruf von TUC_KON_256 { topic = "CT/ERROR"; eventType = $ErrorType; severity = $Severity; parameters = („CtID=$ctId, Name=$CT.HOSTNAME, Error=$Fehlercode, Bedeutung=$Fehlertext“); doDisp = false } b) Löschen von CT.SMKT_AUT, CT.SHARED_SECRET c) Direkte Anzeige der Fehlermeldung für den Administrator d) Abbruch der Verarbeitung mit den ausgewiesenen Fehlercodes (1) Version des KT wird nicht unterstützt, Fehlercode: 4042 (2b) Zertifikat ist zeitlich nicht gültig, Fehlercode: 1021 (CERTIFICATE_NOT_VALID_TIME) (2) Fehler im TLS Verbindungsaufbau bzw. Zertifikatsprüfung, Fehlercode: 4040 (4b) Fehler in SICCT INIT CT SESSION, Fehlercode: 4041 mit Angabe des SICCT-Fehlers (5) Fehler in EHEALTH TERMINAL AUTHENTICATE, Fehlercode: 4041 mit Angabe des SICCT-Fehlers (6) Signaturprüfung fehlgeschlagen, Fehlercode: 4041 |
| Zugehörige Diagramme |
Siehe PIC_KON_057 |
Tabelle 38: TAB_KON_113 Fehlercodes TUC_KON_053 „Paire Kartenterminal“
| Fehlercode |
ErrorType |
Severity |
Fehlertext |
|---|---|---|---|
| Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten: |
|||
| 4040 |
Security |
Error |
Fehler beim Versuch eines Verbindungsaufbaus zum KT |
| 4041 |
Technical |
Error |
Fehler im Pairing, SICCT-Fehler(Nur wenn dieser Fehler wegen eines Fehlers auf der SICCT-Schnittstelle auftritt, ist der SICCT-Fehlercode mit anzugeben.): <SICCT-Fehler> |
| 4042 |
Technical |
Error |
Die Version des Kartenterminals wird nicht unterstützt |
Nur wenn dieser Fehler wegen eines Fehlers auf der SICCT-Schnittstelle auftritt, ist der SICCT-Fehlercode mit anzugeben.
Abbildung 9: PIC_KON_057 Aktivitätsdiagramm zu „PaireKartenterminal“
[<=]4.1.4.3.4 TUC_KON_055 „Befülle CT-Object“
TIP1-A_4985 - TUC_KON_055 „Befülle CT-Object“
Der Konnektor MUSS den technischen Use Case TUC_KON_055 „Befülle CT-Object“ umsetzen.
Tabelle 39: TAB_KON_526 – TUC_KON_055 „Befülle CT-Object“
| Element |
Beschreibung |
| Name |
TUC_KON_055 „Befülle CT-Object“ |
| Beschreibung |
Dieser TUC befüllt ein vorhandenes CT-Object aus CTM_CT_LIST mit den aktuellen Produktinformationen, die vom Kartenterminal bezogen werden und prüft, ob die Version des Kartenterminals unterstützt wird. |
| Auslöser |
|
| Vorbedingungen |
|
| Eingangsdaten |
|
| Komponenten |
Konnektor, Kartenterminal |
| Ausgangsdaten |
|
| Nachbedingungen |
|
| Standardablauf |
Setze CT = CTM_CT_LIST(ctId)
zur dritten Stelle im gefundenen Eintrag: >=: Setze Result = True <: Setze Result = False Kein Eintrag gefunden: Setze Result = False
|
| Varianten/ Alternativen |
(->5) Wenn CT.CORRELATION="aktiv", kann die in (1) aufgebaute Verbindung bestehen bleiben. |
| Fehlerfälle |
-> 2) Kartenterminal antwortet mit einer spezifischen Fehlermeldung, Fehlercode <gemäß [SICCT]> |
| Nichtfunktionale Anforderungen |
Keine |
| Zugehörige Diagramme |
keine |
[<=]
4.1.4.4 Interne TUCs, auch durch Fachmodule nutzbar
4.1.4.4.1 TUC_KON_051 „Mit Anwender über Kartenterminal interagieren“
TIP1-A_4547 - TUC_KON_051 „Mit Anwender über Kartenterminal interagieren“
Der Konnektor MUSS den technischen Use Case „Mit Anwender über Kartenterminal interagieren” gemäß TUC_KON_051 umsetzen.
Tabelle 40: TAB_KON_112 – TUC_KON_051 „Mit Anwender über Kartenterminal interagieren“
| Element |
Beschreibung |
| Name |
TUC_KON_051 „Mit Anwender über Kartenterminal interagieren“ |
| Beschreibung |
Der TUC ermöglicht es, Meldungen an das Display eines Kartenterminals zu senden oder Eingaben vom Benutzer über das PIN-Pad eines Kartenterminals abzufragen (unter Anzeige einer Meldung). |
| Auslöser |
Fachmodul im Konnektor oder anderer technischer Use Case ruft diesen Use Case auf. |
| Vorbedingungen |
|
| Eingangsdaten |
|
| Komponenten |
Konnektor, Kartenterminal |
| Ausgangsdaten |
|
| Nachbedingungen |
Wenn Mode=OutputKeep bleibt Data auf dem Display des KT stehen |
| Standardablauf |
Setze CT = CTM_CT_LIST(ctId)
|
| Varianten/ Alternativen |
|
| Fehlerfälle |
Fehler in den folgenden Schritten des Ablaufs führen zum Aufruf von TUC_KON_256 { topic = "CT/ERROR"; eventType = $ErrorType; severity = $Severity; parameters = („CtID=$ctId, Name=$CT.HOSTNAME, Error=$Fehlercode, Bedeutung=$Fehlertext“) } (1) Display und PinPad des Kartenterminals sind aktuell belegt (PIN, Eingabe, andere Ausgabe etc.), Fehlercode: 4039 (1) Kartenterminal antwortet mit einer spezifischen Fehlermeldung, Fehlercode <gemäß [SICCT]> |
| Nichtfunktionale Anforderungen |
Keine |
| Zugehörige Diagramme |
Keine |
Tabelle 41: TAB_KON_114 Fehlercodes TUC_KON_051 „Mit Anwender über Kartenterminal interagieren“
| Fehlercode |
ErrorType |
Severity |
Fehlertext |
|---|---|---|---|
| Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten: |
|||
| 4039 |
Technical |
Error |
Kartenterminal durch andere Nutzung aktuell belegt |
[<=]
4.1.4.4.2 TUC_KON_056 „Karte anfordern“
TIP1-A_5409 - TUC_KON_056 „Karte anfordern“
Der Konnektor MUSS den technischen Use Case „Karte anfordern” gemäß TUC_KON_056 umsetzen.
Tabelle 42: TAB_KON_723 - TUC_KON_056 „Karte anfordern“
| Element |
Beschreibung |
| Name |
TUC_KON_056 „Karte anfordern“ |
| Beschreibung |
Der TUC ermöglicht es, die Aufforderung zum Karte-Stecken an das Kartenterminal zu senden und dabei eine Meldung zum Anzeigen im Display des Kartenterminals mitzugeben. |
| Auslöser |
Fachmodul im Konnektor oder Operation RequestCard ruft diesen Use Case auf. |
| Vorbedingungen |
|
| Eingangsdaten |
- ctId (Kartenterminalidentifikator) - slotId (Nummer des Kartenslots) - cardType - optional - displayMessage – optional (Text zur Darstellung am Kartenterminal, Länge durch KT begrenzt) - timeOut (Wartezeit in Sekunden) |
| Komponenten |
Konnektor, Kartenterminal |
| Ausgangsdaten |
|
| Nachbedingungen |
Im Erfolgsfall enthält die CM_CARD_LIST ein neues CARD-Objekt des geforderten Typs. |
| Standardablauf |
Setze CT = CTM_CT_LIST(ctId)
In allen Fällen liegt in CM_CARD_LIST ein neues CARD-Objekt vor.
|
| Varianten/ Alternativen |
Die Ausgabe einer Display-Nachricht entfällt, wenn der adressierte Slot bereits eine gesteckte Karte enthält. |
| Fehlerfälle |
Fehler in den folgenden Schritten des Ablaufs führen zu Aufruf von TUC_KON_256 { topic = "CT/ERROR"; eventType = $ErrorType; severity = $Severity; parameters = („CtID=$ctId, Name=$CT.HOSTNAME, Error=$Fehlercode, Bedeutung=$Fehlertext“) } (2) Display des Kartenterminals ist aktuell belegt, Fehlercode: 4039 (2) Fehler beim Zugriff auf das Kartenterminal, Fehlercode: 4044 (2) Ungültige Kartenterminal-ID: Fehlercode: 4007 (2) Ungültige Kartenslot-ID: Fehlercode: 4097 (2) Kartenterminal nicht aktiv, Fehlercode: 4221 (2) Kartenterminal ist nicht verbunden, Fehlercode: 4222 (2) Kartenterminal antwortet mit einer spezifischen Fehlermeldung, Fehlercode <gemäß [SICCT]> (4) Timeout. Es wurde keine Karte innerhalb der angegebenen Zeitspanne gesteckt, Fehlercode: 4202 (5) Falscher Kartentyp, Fehlercode: 4051 |
| Nichtfunktionale Anforderungen |
Keine |
| Zugehörige Diagramme |
Keine |
Tabelle 43: TAB_KON_724 Fehlercodes TUC_KON_056 „Karte anfordern“
| Fehlercode |
ErrorType |
Severity |
Fehlertext |
|---|---|---|---|
| Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten: |
|||
| 4039 |
Technical |
Error |
Kartenterminal durch andere Nutzung aktuell belegt |
| 4044 |
Technical |
Error |
Fehler beim Zugriff auf das Kartenterminal |
| 4051 |
Technical |
Error |
Falscher Kartentyp |
| 4007 |
Technical |
Error |
Ungültige Kartenterminal-ID |
| 4097 |
Technical |
Error |
Ungültige Kartenslot-ID |
| 4202 |
Technical |
Error |
Timeout. Es wurde keine Karte innerhalb der angegebenen Zeitspanne gesteckt. |
| 4221 |
Technical |
Error |
Kartenterminal nicht aktiv |
| 4222 |
Technical |
Error |
Kartenterminal ist nicht verbunden |
[<=]
4.1.4.4.3 TUC_KON_057 „Karte auswerfen“
TIP1-A_5410 - TUC_KON_057 „Karte auswerfen“
Der Konnektor MUSS den technischen Use Case „Karte auswerfen” gemäß TUC_KON_057 umsetzen.
Tabelle 44: TAB_KON_725 – TUC_KON_057 „Karte auswerfen“
| Element |
Beschreibung |
| Name |
TUC_KON_057 „Karte auswerfen“ |
| Beschreibung |
Der TUC ermöglicht es, das SICCT-Kommando zum Auswerfen der Karte an das Kartenterminal zu senden und dabei eine Meldung zum Anzeigen im Display des Kartenterminals mitzugeben, die den Benutzer zum Entnehmen der Karte auffordert. |
| Auslöser |
Fachmodul im Konnektor oder Operation EjectCard ruft diesen Use Case auf. |
| Vorbedingungen |
|
| Eingangsdaten |
|
| Komponenten |
Konnektor, Kartenterminal |
| Ausgangsdaten |
keine |
| Nachbedingungen |
Durch das Entfernen der Karte wird das Ereignis „Karte entfernt“ ausgelöst, worauf der Konnektor reagiert [TIP1-A_4562]. |
| Standardablauf |
Setze CT = CTM_CT_LIST(ctId)
|
| Varianten/ Alternativen |
Auch im Falle, dass nach der internen Buchführung des Konnektors in dem angegebenen Slot des Kartenterminals keine Karte steckt, MUSS der Konnektor das SICCT-Kommando SICCT EJECT ICC an das Kartenterminal senden. Meldet das Kartenterminal keinen Fehler, so meldet auch der Konnektor keinen Fehler und es kann davon ausgegangen werden, dass sich keine Karte mehr in dem Slot befindet. |
| Fehlerfälle |
Fehler in den folgenden Schritten des Ablaufs führen zu Aufruf von TUC_KON_256 { topic = "CT/ERROR"; eventType = $ErrorType; severity = $Severity; parameters = („CtID=$CtID, Name=$CT.HOSTNAME, Error=$Fehlercode, Bedeutung=$Fehlertext“) } (1) Die Karte ist fremdreserviert, Fehlercode 4093 (3) Display des Kartenterminals ist aktuell belegt, Fehlercode: 4039 (3) Fehler beim Zugriff auf das Kartenterminal, Fehlercode: 4044 (3) Karte deaktiviert, aber nicht entnommen, Fehlercode: 4203 (3) Ungültige Kartenterminal-ID: Fehlercode: 4007 (3) Ungültige Kartenslot-ID: Fehlercode: 4097 (3) Kartenterminal nicht aktiv, Fehlercode: 4221 (3) Kartenterminal ist nicht verbunden, Fehlercode: 4222 (3) Kartenterminal antwortet mit einer spezifischen Fehlermeldung, Fehlercode <gemäß [SICCT]> |
| Nichtfunktionale Anforderungen |
Keine |
| Zugehörige Diagramme |
Keine |
Tabelle 45: TAB_KON_796 Fehlercodes TUC_KON_057 „Karte auswerfen“
| Fehlercode |
ErrorType |
Severity |
Fehlertext |
|---|---|---|---|
| Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten: |
|||
| 4039 |
Technical |
Error |
Kartenterminal durch andere Nutzung aktuell belegt |
| 4044 |
Technical |
Error |
Fehler beim Zugriff auf das Kartenterminal |
| 4203 |
Technical |
Error |
Karte deaktiviert, aber nicht entnommen |
| 4093 |
Technical |
Error |
Karte wird in einer anderen Kartensitzung exklusiv verwendet |
| 4007 |
Technical |
Error |
Ungültige Kartenterminal-ID |
| 4097 |
Technical |
Error |
Ungültige Kartenslot-ID |
| 4221 |
Technical |
Error |
Kartenterminal nicht aktiv |
| 4222 |
Technical |
Error |
Kartenterminal ist nicht verbunden |
[<=]
4.1.4.4.4 TUC_KON_058 „Displaygröße ermitteln“
A_17473 - TUC_KON_058 „Displaygröße ermitteln“
Der Konnektor MUSS den technischen Use Case „Displaygröße ermitteln“ gemäß TUC_KON_058 umsetzen.
Tabelle 46: TAB_KON_854 – TUC_KON_058 „Displaygröße ermitteln“
| Element |
Beschreibung |
|---|---|
| Name |
TUC_KON_058 „Displaygröße ermitteln“ |
| Beschreibung |
Der TUC liefert den Inhalt der Variable CT.DISPLAY_CAPABILITIES zurück. |
| Auslöser |
Fachmodul im Konnektor ruft diesen Use Case auf. |
| Vorbedingungen |
|
| Eingangsdaten |
|
| Komponenten |
Konnektor |
| Ausgangsdaten |
CT.DISPLAY_CAPABILITIES |
| Nachbedingungen |
Keine |
| Standardablauf |
Setze CT = CTM_CT_LIST(ctId)
|
| Varianten/ Alternativen |
Keine |
| Fehlerfälle |
Fehler in den folgenden Schritten des Ablaufs führen zu Aufruf von TUC_KON_256 { topic = "CT/ERROR"; eventType = $ErrorType; severity = $Severity; parameters = („CtID=$CtID, Name=$CT.HOSTNAME, Error=$Fehlercode, Bedeutung=$Fehlertext“) } (2) CT.DISPLAY_CAPABILITIES ist nicht belegt, Fehlercode 4254 |
| Nichtfunktionale Anforderungen |
Keine |
| Zugehörige Diagramme |
Keine |
Tabelle 47: TAB_KON_855 Fehlercodes TUC_KON_058 „Displaygröße ermitteln“
| Fehlercode |
ErrorType |
Severity |
Fehlertext |
|---|---|---|---|
| 4254 |
Technical |
Error |
Keine Displaygröße für das Kartenterminal definiert |
4.1.4.5 Operationen an der Außenschnittstelle
TIP1-A_5411-02 - Basisdienst Kartenterminaldienst
Der Konnektor MUSS Clientsystemen den Basisdienst Kartenterminaldienst anbieten.
Tabelle 48: TAB_KON_722 Basisdienst Kartenterminaldienst
| Name |
CardTerminalService |
|
|---|---|---|
| Version (KDV) |
1.1.0 (WSDL-Version) 1.1.2 (XSD-Version) |
|
| Namensraum |
Siehe GitHub |
|
| Namensraum-Kürzel |
CT für Schema und CTW für WSDL |
|
| Operationen |
Name |
Kurzbeschreibung |
| RequestCard |
Karte anfordern |
|
| EjectCard |
Karte auswerfen |
|
| WSDL |
CardTerminalService.wsdl |
|
| Schema |
CardTerminalService.xsd |
|
4.1.4.5.1 RequestCard
TIP1-A_5412 - Operation RequestCard
Der Konnektor MUSS an der Außenschnittstelle eine Operation RequestCard, wie in Tabelle TAB_KON_716 Operation RequestCard beschrieben, anbieten.
Tabelle 49: TAB_KON_716 Operation RequestCard
| Name |
RequestCard |
|
|---|---|---|
| Beschreibung |
Liefert die Information zu einer Karte, die in dem Slot eines Kartenterminals steckt oder innerhalb einer bestimmten Zeit (Timeout) gesteckt wird. |
|
| Aufruf-parameter |
||
| Name |
Beschreibung |
|
| CCTX:Context |
MandantId, CsId, WorkplaceId verpflichtend |
|
| CT:Slot |
Adressiert den Slot eines Kartenterminals über die Identifikation des Kartenterminal CARDCMN:CtId und die Nummer des Slots CARDCMN:SlotId |
|
| CARDCMN: CardType |
Ein Kartentyp aus {EGK, KVK, HBAx, SM-B} als optionaler Filter. Wenn angegeben, werden nur Karten vom spezifizierten Typ zurückgegeben. |
|
| CT:DisplayMsg |
Diese Nachricht wird am Display des Kartenterminals angezeigt, um den Nutzer zum Stecken der Karte aufzufordern. |
|
| CT:TimeOut |
Die Zeit in sec, die maximal gewartet wird bis zum Stecken einer Karte. Wird dieser Parameter nicht übergeben, SOLL der Konnektor den Wert 20 sec verwenden. Optional KANN dieser Default-Wert im Konnektor konfigurierbar sein. |
|
| Rückgabe |
|
|
| Name |
Beschreibung |
|
| CONN:Status |
Enthält den Ausführungsstatus der Operation (siehe 3.5.2) |
|
| CT:AlreadyInserted |
Dieses optionale Flag gibt an, ob die Karte bereits vor der Anfrage steckte (Wert true) oder erst auf Anforderung dieses Aufrufs gesteckt wurde (Wert false oder Element nicht vorhanden). |
|
| CARD:Card |
Falls eine Karte gesteckt ist, werden Information zur Karte zurückgegeben (siehe 4.1.6.5.2) |
|
| Vorbedingung |
keine |
|
| Nachbedingung | keine | |
Tabelle 50: TAB_KON_717 Ablauf RequestCard
| Nr. |
Aufruf Technischer Use Case oder Interne Operation |
Beschreibung |
|---|---|---|
| 1. |
checkArguments |
Die übergebenen Werte werden auf Konsistenz und Gültigkeit überprüft. Treten hierbei Fehler auf, so bricht die Operation mit Fehler 4000 ab. Wird die Operation für einen nicht unterstützten Kartentypen aufgerufen, so bricht die Operation mit Fehler 4058 ab. |
| 2. |
TUC_KON_000 „Prüfe Zugriffs-berechtigung“ |
Prüfung der Zugriffsberechtigung durch den Aufruf TUC_KON_000 { mandantId = $context.mandantId; clientSystemId = $context.clientsystemId; workplaceId = $context.workplaceId; ctId = $Slot.CtId; needCardSession=false; allWorkplaces=false } Tritt bei der Prüfung ein Fehler auf, so bricht die Operation mit dem Fehlercode aus TUC_KON_000 ab. |
| 3. |
TUC_KON_056 „Karte anfordern“ |
Anforderung der Karte vom Kartenterminal durch Aufruf TUC_KON_056( ctId = $Slot.CtId; slotId = $Slot.SlotId; $cardType; displayMessage = $DisplayMsg; $timeOut) |
Tabelle 51: TAB_KON_718 Fehlercodes „RequestCard“
| Fehlercode |
ErrorType |
Severity |
Fehlertext |
|---|---|---|---|
| Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten: |
|||
| 4000 |
Technical |
Error |
Syntaxfehler |
| 4058 |
Security |
Error |
Aufruf nicht zulässig |
4.1.4.5.2 EjectCard
TIP1-A_5413 - Operation EjectCard
Der Konnektor MUSS an der Außenschnittstelle eine Operation EjectCard, wie in Tabelle TAB_KON_719 Operation EjectCard beschrieben, anbieten.
Tabelle 52: TAB_KON_719 Operation EjectCard
| Name |
EjectCard |
|
|---|---|---|
| Beschreibung |
Beendet die Kommunikation mit der Karte und wirft sie aus, falls das Kartenterminal eine solche mechanische Funktion hat. |
|
| Aufruf-parameter |
||
| Name |
Beschreibung |
|
| Context |
MandantId, CsId, WorkplaceId verpflichtend |
|
| CONN: CardHandle |
Adressiert die Karte, die ausgeworfen werden soll. |
|
| CT:Slot |
Adressiert alternativ den Slot eines Kartenterminals, aus dem die Karte ausgeworfen werden soll. Die Adressierung erfolgt über die Identifikation des Kartenterminal CARDCMN:CtId und die Nummer des Slots CARDCMN:SlotId. |
|
| CT: DisplayMsg |
Diese Nachricht wird am Display des Kartenterminals angezeigt, um den Nutzer zum entnehmen der Karte aufzufordern. |
|
| CT:TimeOut |
Die Zeit in msec, die maximal gewartet wird bis eine Karte gezogen ist. Wird dieser Parameter nicht übergeben, SOLL der Konnektor den Wert 20 sec verwenden. Optional KANN dieser Default-Wert im Konnektor konfigurierbar sein. |
|
| Rückgabe |
|
|
| Name |
Beschreibung |
|
| Status |
Enthält den Ausführungsstatus der Operation (siehe 3.5.2) |
|
| Vorbedingung | keine. | |
| Nachbedingung |
keine. |
|
Tabelle 53: TAB_KON_720 Ablauf EjectCard
| Nr. |
Aufruf Technischer Use Case oder Interne Operation |
Beschreibung |
|---|---|---|
| 1. |
checkArguments |
Die übergebenen Werte werden auf Konsistenz und Gültigkeit überprüft. Treten hierbei Fehler auf, so bricht die Operation mit Fehler 4000 ab. |
| 2. |
TUC_KON_000 „Prüfe Zugriffs-berechtigung“ |
Ist $cardHandle vorgegeben, so wird $ctId als Id des Kartenterminals bestimmt, in dem die Karte steckt. Prüfung der Zugriffsberechtigung durch den Aufruf TUC_KON_000 { mandantId = $Context.MandantId; clientSystemId = $Context.ClientSystemId; workplaceId = $Context.WorkplaceId; ctId = $Slot.CtId bzw. ctId = CM_CARD_LIST($CardHandle).CTID; needCardSession = false; allWorkplaces = false } Tritt bei der Prüfung ein Fehler auf, bricht die Operation mit Fehlercode aus TUC_KON_000 ab. |
| 3. |
TUC_KON_057 „Karte auswerfen“ |
Wurde EjectCard mit dem Parameter Slot aufgerufen: Veranlassen des Kartenauswurfs am Kartenterminal durch Aufruf TUC_KON_057 { ctId = $Slot.CtId; slotId = $Slot.Slotid; displayMessage = $DisplayMsg; $timeOut } Wurde EjectCard mit dem Parameter CardHandle aufgerufen: Veranlassen des Kartenauswurfs am Kartenterminal durch Aufruf TUC_KON_057 { ctId = CM_CARD_LIST($CardHandle).CTID; slotId = CM_CARD_LIST ($CardHandle).SLOTNO; ; displayMessage = $DisplayMsg; $timeOut } |
Tabelle 54: TAB_KON_721 Fehlercodes Operation „EjectCard“
| Fehlercode |
ErrorType |
Severity |
Fehlertext |
|---|---|---|---|
| Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten: |
|||
| 4000 |
Technical |
Error |
Syntaxfehler |
| 4203 |
Technical |
Error |
Karte deaktiviert, aber nicht entnommen |
| 4101 |
Technical |
Error |
Karten-Handle ungültig |
4.1.4.6 Betriebsaspekte
4.1.4.6.1 Allgemeine Betriebsaspekte
TIP1-A_4549 - Initialisierung Kartenterminaldienst
Während des Bootvorgangs, nach dem Einlesen der persistierten Informationen des Kartenterminaldienstes MUSS der Konnektor für jedes Kartenterminal CT in CTM_CT_LIST:
- die zugehörigen Attribute CT.SLOTS_USED, CT.VALID_VERSION und ggf. (bei dynamischer Adressvergabe) CT.IP_ADRESS aktualisieren
- für jedes CT mit CT.CORRELATION = „aktiv“:
- Wenn CT.VALID_VERSION = True: TUC_KON_050 „Beginne Kartenterminalsitzung“ {ctId=CT.CtID; role=„User“} aufrufen
- Wenn CT.VALID_VERSION = False: CT.CORRELATION=„gepairt“ setzen
Hinweis: Bei der Initialiserung des Kartenterminaldienstes liest der Konnektor noch nicht die Karten, um zu ermitteln, welche Karten gesteckt sind. Dies erfolgt erst bei Initialisierung des Kartendienstes.
TIP1-A_4550 - Konfigurationsparameter des Kartenterminaldienstes
Die Managementschnittstelle MUSS es einem Administrator ermöglichen Konfigurationsänderungen gemäß Tabelle TAB_KON_527 vorzunehmen:
Tabelle 55: TAB_KON_527 Konfigurationswerte eines Kartenterminalobjekts
| ReferenzID |
Belegung |
Bedeutung und Administrator-Interaktion |
|---|---|---|
| CTM_SERVICE_DISCO VERY_PORT |
Portnummer |
Der Administrator MUSS die Portnummer eingeben können, auf der die KTs im lokalen Netz auf Dienstanfragen hören. Default-Wert=4742 |
| CTM_SERVICE_DISCO VERY_TIMEOUT |
X Sekunden |
Der Administrator MUSS die Anzahl Sekunden eingeben können, die der Konnektor auf Antworten zu Service-Discovery-Anfragen wartet. Default-Wert=3 |
| CTM_SERVICE_ANNOU NCEMENT_PORT |
Portnummer |
Der Administrator MUSS die Portnummer eingeben können, auf der der Konnektor auf Dienstbeschreibungspakete hört. Default-Wert=4742 |
| CTM_SERVICE_DISCO VERY_CYCLE |
X Minuten |
Der Administrator MUSS die Anzahl Minuten einstellen können, in denen der Konnektor wiederholt Service Discovery Nachrichten absetzt. Default-Wert=10, 0=Deaktiviert |
| CTM_KEEP_ALIVE_IN TERVAL |
X Sekunden |
Intervall in Sekunden in den Keep-Alive-Nachrichten an das Kartenterminal gesendet werden Der Administrator MUSS diesen Wert im vorgegebenen Bereich anpassen können. Wertebereich:1-10 Default-Wert=10 |
| CTM_KEEP_ALIVE_TR Y_COUNT |
Anzahl der Versuche |
Anzahl von aufeinander folgenden, nicht beantworteten Keep-Alive-Nachrichten, nach denen ein Timeout der TLS-Verbindung festgestellt wird Der Administrator MUSS diesen Wert im vorgegebenen Bereich anpassen können. Wertebereich:3-10 Default-Wert=3 |
| CTM_TLS_HS_TIMEOUT |
X Sekunden |
Der Administrator MUSS die Anzahl Sekunden eingeben können, die der Konnektor auf den TLS-Verbindungsaufbau zum Kartenterminal wartet (Handshake-Timeout). Wertebereich:1-60 Default-Wert=10 |
[<=]
TIP1-A_4986 - Informationsparameter des Kartenterminaldienstes
Die Managementschnittstelle MUSS es einem Administrator ermöglichen die Informationsparameter gemäß Tabelle TAB_KON_528 einzusehen:
Tabelle 56: TAB_KON_528 Informationsparamter des Kartenterminaldienstes
| ReferenzID |
Belegung |
Bedeutung und Administrator-Interaktion |
|---|---|---|
| CTM_SUPPORTED_KT_ VERSIONS |
Liste von EHEALTH-Interface-Versionen |
Der Administrator MUSS die Liste der vom Konnektor unterstützten modellunabhängigen EHEALTH-Interface-Versionen einsehen können. |
[<=]
4.1.4.6.2 Kartenterminals pflegen
Im Folgenden werden die Administratorinteraktionen beschrieben, die zum Hinzufügen, Pairen, Bearbeiten und Löschen von Kartenterminals innerhalb der CTM_CT_LIST angeboten werden müssen. Eine Aktualisierung der Kartenterminals mit neuer Firmware wird in Kapitel 4.3.9 beschrieben.
TIP1-A_4551 - Einsichtnahme von Kartenterminaleinträgen
Die Managementschnittstelle MUSS es einem Administrator ermöglichen die Liste der verwalteten und neu entdeckten Kartenterminals einzusehen (CTM_CT_LIST).
[<=]TIP1-A_4552 - Manueller Verbindungsversuch zu Kartenterminals
Die Managementschnittstelle MUSS es einem Administrator ermöglichen zu jedem CT-Object-Eintrag in CTM_CT_LIST mit CT.CONNECTED=Nein und CT.CORRELATION=aktiv einen manuellen Verbindungsaufbau über TUC_KON_050 {ctId=CtID; role=„User“} auszulösen.
[<=]TIP1-A_4553 - Einsichtnahme in und Aktualisierung der Kartenterminaleinträge
Die Managementschnittstelle MUSS es einem Administrator ermöglichen zu jedem CT-Object-Eintrag in CTM_CT_LIST die Werte gemäß Tabelle TAB_KON_529 einsehen zu können:
Zu jedem Eintrag MUSS der Administrator TUC_KON_055 „Befülle CT-Object“ auslösen können.
Tabelle 57: TAB_KON_529 Anzeigewerte zu einem Kartenterminalobjekt
| ReferenzID |
Belegung |
Bedeutung und Administrator-Interaktion |
|---|---|---|
| Geräte kenndaten |
||
| CT.CTID |
Identifier |
Eindeutige, statische Identifikation des Kartenterminals |
| CT.IS_PHYSICAL |
Ja/Nein |
Kennzeichnung, ob es sich um ein logisches oder physisches Kartenterminal handelt (siehe auch TAB_KON_522 Parameterübersicht des Kartenterminaldienstes) |
| CT.MAC_ADRESS |
MAC-Adresse |
die MAC-Adresse des Kartenterminals |
| CT.HOSTNAME |
String |
SICCT-Terminalname des Kartenterminals, auch als FriendlyName bezeichnet |
| CT.IP_ADRESS |
IP-Adresse |
die IP-Adresse des Kartenterminals |
| CT.TCP_PORT |
Portnummer |
der TCP-Port des SICCT-Kommandointerpreters des Kartenterminals |
| CT.SLOTCOUNT |
Nummer |
Anzahl der Slots des Kartenterminals |
| CT.SLOTS_USED |
Liste |
Liste der mit Karten belegten Slots |
| CT.PRODUCT INFORMATION |
Inhalt Product Information.xsd |
die Herstellerinformationen zum Kartenterminal gemäß [gemSpec_OM] |
| CT.EHEALTH_ INTERFACE_ VERSION |
Version |
Die EHEALTH-Interface-Version des Kartenterminals, die mittels des SICCT-Kommandos GET STATUS aus dem Element VER des Discretionary Data Objects ermittelt wurde |
| CT.VALID_ VERSION |
Boolean |
True, wenn die Version des Kartenterminals (CT.EHEALTH_INTERFACE_VERSION) durch den Konnektor unterstützt wird, d.h. zu den in CTM_SUPPORTED_KT_VERSIONS passt |
| Pairingdaten |
||
| CT.SMKT_AUT |
X.509-Cert |
C.SMKT.AUT-Zertifikat des Kartenterminals, gespeichert im Rahmen des Pairings |
| Verbindungs daten |
||
| CT. CORRELATION |
bekannt zugewiesen gepairt aktiv aktualisierend |
Der Korrelationsstatus zum Konnektor:
|
| CT.CONNECTED |
Ja/Nein |
Der Verfügbarkeitsstatus des Kartenterminals (Ja = nach Aufbau der TLS-Verbindung und erfolgter zweiter Authentifizierung) |
| CT.ACTIVEROLE |
User/Admin |
Benutzerrolle, die für die aktuelle Session verwendet wird |
| KT-Admin-Credentials |
||
| CT.ADMIN_ USERNAME |
String |
Username des Administrators am KT |
[<=]
TIP1-A_4554 - Bearbeitung von Kartenterminaleinträgen
Die Managementschnittstelle MUSS es einem Administrator ermöglichen zu jedem CT-Object-Eintrag in CTM_CT_LIST die Werte gemäß Tabelle TAB_KON_530 ändern zu können:
Zur Überprüfung der veränderten Parameter auf Korrektheit MUSS nach Änderung von CT.IP_ADRESS, TCP_PORT oder HOSTNAME TUC_KON_054 mit Mode= ManuallyModified und allen vorhandenen CT-Parametern aufgerufen werden. Endet der Aufruf von TUC_KON_054 mit einem Fehler, MUSS der Konnektor die geänderten Konfigurationswerte auf ihren Ausgangswert zurücksetzen.
Tabelle 58: TAB_KON_530 Konfigurationswerte eines Kartenterminalobjekts
| ReferenzID |
Belegung |
Bedeutung und Administrator-Interaktion |
|---|---|---|
| CT.IP_ADRESS |
IP-Adresse |
Der Administrator MUSS für KTs mit CT.IS_PHYSICAL=Ja die IPv4-Adresse des Kartenterminals eingeben können. |
| CT.TCP_PORT |
Portnummer |
Der Administrator MUSS für KTs mit CT.IS_PHYSICAL=Ja den TCP-Port des SICCT-Kommandointerpreters des Kartenterminals eingeben können. |
| CT.HOSTNAME |
String |
Der Administrator MUSS den SICCT-Terminalnamen (Hostname) - auch als FriendlyName bezeichnet - des Kartenterminals eingeben können. |
| CT.ADMIN_USERNAME |
String |
Der Administrator MUSS für KTs mit CT.IS_PHYSICAL=Ja den Username des KT-Administrators des Kartenterminals eingeben können. |
| CT.ADMIN_PASSWORD |
String |
Der Administrator MUSS für KTs mit CT.IS_PHYSICAL=Ja das Password des KT-Administrators des Kartenterminals eingeben können. |
[<=]
TIP1-A_6477 - Manuelles Service Discovery
Die Managementschnittstelle MUSS es einem Administrator ermöglichen, ein Service Discovery entsprechend [SICCT] auszulösen, um neue Kartenterminals hinzuzufügen.
[<=]TIP1-A_4555 - Manuelles Hinzufügen eines Kartenterminals
Die Managementschnittstelle MUSS es einem Administrator ermöglichen für neue Kartenterminals CT-Objects manuell in CTM_CT_LIST aufzunehmen.
Hierzu MUSS der Administrator für das neue Kartenterminal folgende Werte eingeben können:
- IP-Adresse (Eingabe verpflichtend)
- TCP-Port (Eingabe optional)
- MAC-Adresse (Eingabe optional)
- Hostname (Eingabe optional)
[<=]
Als Sicherung gegen den unbemerkten Austausch von Kartenterminals oder deren Identitäten wird das gSMC-KT über den Konnektor logisch an das eHealth-Kartenterminal gebunden. Dieser Vorgang wird als Pairing von Kartenterminal und gSMC-KT bezeichnet und ist ausführlich in [gemSpec_KT] beschrieben.
TIP1-A_4556 - Pairing mit Kartenterminal durchführen
Die Managementschnittstelle MUSS es einem Administrator ermöglichen alle Kartenterminals mit CT.CORRELATION = „zugewiesen“ in einer Liste einzusehen und für einen ausgewählten Eintrag mit CT.VALID_VERSION=True TUC_KON_053 auslösen zu können.
[<=]TIP1-A_4557 - Ändern der Korrelationswerte eines Kartenterminals
Die Managementschnittstelle MUSS es einem Administrator ermöglichen zu einem Kartenterminal aus CTM_CT_LIST für KTs mit CT.IS_PHYSICAL=Ja den Wert für CT.CORRELATION nach folgenden Mustern zu ändern:
- CT.CORRELATION = „bekannt“
Das Kartenterminal gilt als nicht durch den Konnektor verwaltet. - „zugewiesen“:
Ein (per Service Announcement entdecktes) Kartenterminal dem Konnektor
zuweisen.
Folgende Schritte MUSS der Konnektor für diesen Zustandswechsel zuvor
erfolgreich durchlaufen:
- Rufe TUC_KON_055 „Befülle CT-Object“
- Prüfen, ob CT.HOSTNAME bereits für ein anderes
Kartenterminal in CTM_CT_LIST verwendet wird. Wenn ja
MUSS dieser Änderungsversuch fehlschlagen (Prinzip der
Eindeutigkeit verletzt). Der Administrator MUSS eine
entsprechende Fehlermeldung erhalten.
- CT.CORRELATION = „zugewiesen“
Das Kartenterminal gilt als durch den Konnektor verwaltet. - „bekannt“
- „gepairt“:
Das Pairing wurde erfolgreich durchgeführt; die Werte
CT.SMKT_AUT, CT.SHARED_SECRET sind im CT-Objekt
eingetragen. - CT.CORRELATION = „gepairt“
Verbundenheit zwischen Kartenterminal und gesteckter gSMC-KT wurde
nachgewiesen - „zugewiesen“:
Die Werte CT.SMKT_AUT, CT.SHARED_SECRET werden gelöscht - „aktiv“:
Wechsel nur möglich, wenn CT.VALID_VERSION=True. Dann Aufruf
von TUC_KON_050 „Beginne Kartenterminalsitzung“ {ctId=CT.CtID;
role=„User“} - CT.CORRELATION = „aktiv"
Das Kartenterminal kann fachlich genutzt werden - „gepairt“:
Eventuelle TLS-Verbindung wird beendet, CT.CONNECTED auf Nein
gesetzt.
TIP1-A_5698 - Löschen von Kartenterminaleinträgen
Die Managementschnittstelle MUSS einem Administrator die Möglichkeit bieten, Kartenterminals aus der Liste der Kartenterminals (CTM_CT_LIST) zu entfernen.
[<=]
4.1.4.6.3 Import der Kartenterminal-Informationen
Im Rahmen des Konnektormanagements müssen die Konfigurationsdaten des Konnektors ex- und importiert werden können (siehe Kapitel 4.3.3). Eine Sonderstellung nimmt dabei der Import von Kartenterminalinformationen ein, da hier im Rahmen des Imports folgende Interaktion mit dem Administrator erforderlich ist:
TIP1-A_5011 - Import von Kartenterminal-Informationen
Der Konnektor MUSS vor der endgültigen Aktivierung der importierten Kartenterminalkonfiguration folgende zusätzliche Schritte ausführen:
- Die Liste der zu importierenden Kartenterminals MUSS dem Administrator angezeigt werden. Er MUSS die Möglichkeit erhalten, einzelne Kartenterminals aus dieser Liste zu löschen.
- Erst nach Bestätigung durch den Administrator werden die Kartenterminalinformationen in die Kartenterminalverwaltung übernommen.
- Sofern die Kartenterminal-Konfiguration in einen Konnektor mit neuer Identität importiert werden soll (neuer Konnektor oder neuer privater Schlüssel und neues Zertifikat C.SAK.AUT auf der gSMC-K), muss die neue Identität des Konnektors allen importierten Kartenterminals bekannt gemacht werden (Wartungs-Pairing, siehe auch [gemSpec_KT#2.5.2.4]).
- Dazu baut der Konnektor unter der Nutzung von C.SAK.AUT eine temporäre TLS-Verbindung auf und sendet das eHealth-Kartenterminal-Kommando EHEALTH TERMINAL AUTHENTICATE in der Variante „ADD” an jedes in der Liste aufgeführte Kartenterminal. Mit dem Kommando und P2=03 holt sich der Konnektor eine Challenge.
- Der eigentliche Austausch bzw. die Aufnahme des neuen Zertifikates erfolgt im KT erst, nachdem diese Challenge mit dem Kommando EHEALTH TERMINAL AUTHENTICATE im Modus P2=04 vom Konnektor korrekt beantwortet wurde. Dieses Kommando sowie die Erzeugung der Challenge-Antwort wird in [gemSpec_KT#3.7.2.4] und [gemSpec_KT#3.7.2] beschrieben.
- Nach erfolgreicher Abarbeitung des Kommandos wird der Eintrag in die interne Liste der gepairten Kartenterminals übernommen und die temporäre Verbindung zum Kartenterminal abgebaut. Kann ein Kartenterminal nicht erreicht werden, so MUSS die Befehlskette nachgeholt werden, sobald das Kartenterminal vom Konnektor wieder als verfügbar erkannt wird.
- Zur abschließenden Kontrolle und zur weiteren fachlichen Nutzung baut der Konnektor zu jedem der neu konfigurierten und aktiv gesetzten Kartenterminals via TUC_KON_050 eine Verbindung auf.
4.1.5 Kartendienst
Innerhalb des Kartendienstes werden folgende Präfixe für Bezeichner verwendet:
- Events (Topic Ebene 1): „CARD“
- Konfigurationsparameter: „CM_“
Der Konnektor verwaltet eine Liste aller Karten (CM_CARD_LIST), die in die vom Konnektor verwalteten Kartenterminals gesteckt sind (CTM_CT_LIST). Alle Ereignisse und Operationen, die sich auf Karten beziehen, werden durch diesen Basisdienst gekapselt.
Für jede gesteckte Karte vergibt er einen eindeutigen Identifikator (im weiteren Text CardHandle bezeichnet), mit dem diese Karte adressiert werden kann, um zu diesen oder mit diesen Karten Operationen auszuführen. Dieses Handle ist gültig bis zum Entfernen der Karte aus dem Kartenterminal.
Um die in [gemSpec_Perf] geforderten Zeiten für kartenbezogene Operationen erreichen zu können, kann es erforderlich sein, dass der Konnektor möglichst viele Informationen der Karten cached. Hierzu gehören Steuerdaten wie Extended Length, Version etc. aber auch Zertifikate der Karte (X.509 und CVC). Da es sich bei Caching um einen internen Mechanismus handelt, der sich nicht auf das funktionale Außenverhalten von TUCs oder Operationen auswirkt, wird das Caching nicht weiter beschrieben oder explizit gefordert. Es kann aber Anforderungen aus Sicherheitssicht bezüglich des Cachings geben (insbesondere hinsichtlich der erlaubten Caching-Dauer). Die Einhaltung dieser Vorgaben wird im Rahmen der CC-Evaluierung geprüft werden.
Der Kartendienst verwaltet mindestens die in der informativen Tabelle TAB_KON_531 ausgewiesenen Parameter, weitere herstellerspezifische Parameter sind möglich. Die normative Festlegung wann welche Parameter wie belegt werden, erfolgt in den folgenden Abschnitten und Unterkapiteln.
Tabelle 59: TAB_KON_531 Parameterübersicht des Kartendienstes
| ReferenzID |
Belegung |
Zustandswerte |
|---|---|---|
| CM_CARD_LIST |
Liste von Card-Objekten |
Eine Liste von Repräsentanzen (CardObjects) der dem Konnektor bekannten Karten. Die Attribute der Card-Objekte sind im Folgenden gelistet. |
| CARD.CARDHANDLE |
vom Konnektor vergebenen eindeutigen Identifikator (Handle). |
|
| CARD.CTID |
Kartenterminal, in dem die Karte steckt |
|
| CARD.SLOTNO |
Slot, in dem die Karte steckt |
|
| CARD.ICCSN |
ICCSN der Karte (sofern auslesbar), |
|
| CARD.TYPE |
Typ der Karte gemäß Tabelle TAB_KON_500 Wertetabelle Kartentypen |
|
| CARD.CARDVERSION |
die Versionsinformationen zum Produkttyp der Karte und den gespeicherten Datenstrukturen gemäß [gemSpec_Karten_Fach_TIP]. |
|
| CARD.CARDVERSION. COSVERSION |
Produkttypversion des COS |
|
| CARD.CARDVERSION. OBJECTSYSTEMVERSION |
Produkttypversion des Objektsystems |
|
| CARD.CARDVERSION. CARDPTPERSVERSION |
Produkttypversion der Karte bei Personalisierung |
|
| CARD.CARDVERSION. DATASTRUCTUREVERSION |
Version der Speicherstrukturen (aus EF.Version) |
|
| CARD.CARDVERSION. LOGGINGVERSION |
Version der Befüllvorschrift für EF.Logging |
|
| CARD.CARDVERSION. ATRVERSION |
Version der Befüllvorschrift für EF.ATR |
|
| CARD.CARDVERSION. GDOVERSION |
Version der Befüllvorschrift für EF.GDO |
|
| CARD.CARDVERSION. KEYINFOVERSION |
Version der Befüllvorschrift für KeyInfo |
|
| CARD.INSERTTIME |
Timestamp |
Zeitpunkt, an dem die Karte gesteckt wurde |
| CARD.CARDHOLDERNAME |
String |
Name des Karteninhabers bzw. der Institution/Organisation (subject.commonName) |
| CARD.KVNR |
String |
Versicherten-ID (unveränderbarer Teil der KVNR) |
| CARD. CERTEXPIRATIONDATE |
Ablaufdatum des AUT-Zertifikats der Karte |
|
| CARD.CARDSESSION_ LIST |
Liste von CardSession-Objekten |
Eine Liste von Repräsentanzen (CardSession-Objects) der pro Karte vorhandenen Kartensitzungen. Die Attribute der CardSession-Objekte sind im Folgenden gelistet. Das Tripel aus MandantID, CSID und UserID bildet den Kontext ab, in welchem diese Kartensitzung initiiert wurde. |
| CARDSESSION. AUTHSTATE |
Liste von Einträgen aus a)C2C:KeyRef, Role oder b) CHV: PINRef |
Liste von erreichten Sicherheitszuständen. Jeder einzelne Sicherheitszustand kann entweder über C2C gegen KeyRef (mit einer bestimmten Rolle gemäß [gemSpec_PKI_TI#Tab_PKI_918]) oder Card Holder Verification (CHV) gegen eine referenzierte PIN erreicht worden sein. Für eGK G2.0 wird der Zustand der MRPINs nicht in AuthState gespeichert. |
| CARDSESSION. MANDANTID |
Mandant-ID |
|
| CARDSESSION.CSID |
Clientsystem-ID |
|
| CARDSESSION.USERID |
Nutzer-ID |
|
| CARDSESSION.AUTHBY |
Referenz auf CardSession |
Kartensitzung, über die diese Karte freigeschaltet wurde (nur für eGK belegt) |
| CARDSESSION. SIGNMODE |
„PIN“ oder „Comfort“ |
Signaturmodus „PIN“: Komfortsignaturmodus ist für die CardSession ausgeschaltet "Comfort“: Komfortsignaturmodus ist für die CardSession eingeschaltet Default-Wert=“PIN“ Nur relevant für den HBA Eine HBA-CardSession mit eingeschaltetem Komfortsignaturmodus wird im Folgenden als Komfortsignatursession bezeichnet. |
4.1.5.1 Funktionsmerkmalweite Aspekte
TIP1-A_4988-02 - Unterstützung von Kartengenerationen
Der Konnektor MUSS für eGK, HBA, SMC-B, gSMC-KT und gSMC-K Karten der Generation 2 unterstützen. Karten der Generation 2 sind alle Karten, deren Version des dem aktiven Objektsystem zugrundeliegenden Produkttyps (Tag ‘C1‘ in EF.Version2) den Wert 4.x.y hat, wobei x,y in {0, …, 255}.
Der Konnektor DARF eGKs der Generation < 2 (also 1 und 1+) NICHT unterstützen. eGKs der Generation < 2 werden im Konnektor als CARD.TYPE = UNKNOWN geführt.
Bei Karten der Generation 2
- MUSS der Konnektor die RSA-basierten Geräte-CV-Zertifikate unterstützen,
- MUSS der Konnektor die ECC-basierten Geräte-CV-Zertifikate unterstützen.
Es kann notwendig sein, Karten der Generation 2 (G2) näher zu bezeichnen. In diesem Fall wird in G2.0- und G2.1-Karten unterschieden. Wird von Karten der Generation 2 gesprochen, so gilt die Festlegung für G2.x (G2.0, G2.1 und höher) des betrachteten Kartentyps.
TIP1-A_4558 - Caching-Dauer von Kartendaten im Konnektor
Sofern der Konnektor Daten gesteckter Karten cached, so DÜRFEN diese Daten von HBAx und SM-B NICHT länger als 24 Stunden gecached werden.
Der Konnektor DARF Daten der eGK NICHT über den Steckzyklus der Karte hinaus cachen.
Ausnahme: Eine Cachingdauer über den Steckzyklus der eGK hinaus wird von einer Fachanwendung gefordert und durch die Fachmodulspezifikation dieser Fachanwendung definiert.
TIP1-A_6031 - Kein selbsttätiges Zurücksetzen der SM-B
Der Konnektor DARF NICHT selbsttätig die SM-B und deren Sicherheitszustände zurücksetzen, auch nicht, wenn die Daten der SM-B nach Ablauf der 24-Stunden-Frist neu in den Cache eingelesen werden.
[<=]TIP1-A_4559 - Konnektorzugriffsverbot auf DF.KT
Der Konnektor DARF NICHT auf das DF.KT einer gSMC-KT zugreifen.
[<=]TIP1-A_4560 - Rahmenbedingungen für Kartensitzungen
Der Konnektor MUSS alle Zugriffe auf Karten aus CM_CARD_LIST, die den Sicherheitszustand der Karte erhöhen können oder einen erhöhten Sicherheitszustand der Karte voraussetzen, im Kontext einer Kartensitzung zu dieser Karte durchführen (CARD.CARDSESSION). Ausgenommen hiervon ist der Zugriff durch das CMS (bzw. VSDD) auf die eGK.
Der Konnektor MUSS sicherstellen, dass in einer Kartensitzung nur dann auf einen erhöhten Sicherheitszustand einer Karte zugegriffen werden kann, wenn die zur Erreichung dieses Sicherheitszustandes erforderlichen Authentisierungen (PIN-Verifikation, C2C-Rollen-Authentisierung etc.) in dieser verwendeten Kartensitzung erfolgreich durchgeführt wurden.
Der Konnektor MUSS Authentisierungen in einer Kartensitzung so durchführen, dass in anderen Kartensitzungen vorhandene Sicherheitszustände nicht beeinflusst werden. (Eine falsche PIN-Eingabe in einer Kartensitzung darf den erhöhten Sicherheitszustand einer anderen Sitzung nicht zurücksetzen etc.).
Der Konnektor SOLL die Verwaltung der Sicherheitsstatus der Kartensitzungen so über die Nutzung logischer Kartenkanäle umsetzen, dass PIN-Verifikationen, die für die Dauer der Kartensitzung Gültigkeit haben, nicht unnötig wiederholt werden müssen.
[<=]Für die TUCs zur PIN-Eingabe, Änderung und Entsperrung sind Festlegungen hinsichtlich der auf dem Kartenterminal anzuzeigenden Meldungen erforderlich. Die folgende Tabelle definiert diese Terminalanzeigen gemäß [SICCT#5.5.10.19].
TIP1-A_4561-02 - Terminal-Anzeigen für PIN-Operationen
Der Konnektor MUSS im Rahmen des interaktiven PIN-Handlings die folgenden Displaymessages für die Anzeige im Kartenterminal verwenden:
Tabelle 60: TAB_KON_090 Terminalanzeigen beim Eingeben der PIN am Kartenterminal
| Karte/ Kontext |
PIN-Referenz |
I/O |
Terminal-Anzeige |
ANW (max.Anz. Zeichen) |
| eGK /PIN-Eingabe für Vertreter-PIN |
PIN.AMTS_REP |
I |
Vertreter-PIN•0x0Bfür•0x0BANW 0x0FVertr-PIN: |
22 |
| eGK /PIN-Eingabe für Vertreter-PIN ändern |
PIN.AMTS_REP |
I |
Vertreter-PIN•0x0Bändern 0x0FPIN.eGK: |
|
| eGK /PIN-Eingabe für Vertreter-PIN entsperren |
PIN.AMTS_REP |
I |
Vertreter-PIN•0x0entsperren 0x0FPIN.eGK: |
|
| eGK /PIN-Eingabe für PIN-Schutz einschalten |
MRPIN.NFD, MRPIN.DPE, MRPIN.AMTS, MRPIN.GDD |
I |
PIN-Schutz•0x0BANW•0x0Beinschalten 0x0FPIN.eGK: |
16 |
| eGK /PIN-Eingabe für PIN-Schutz abschalten |
MRPIN.NFD, MRPIN.DPE, MRPIN.AMTS, MRPIN.GDD |
I |
PIN-Schutz•0x0BANW•0x0Babschalten 0x0FPIN.eGK: |
16 |
| eGK /Sonstige |
ALLE (außer PIN.AMTS_REP) |
I |
PIN•0x0Bfür•0x0BANW 0x0FPIN.eGK: |
32 |
| HBAx |
PIN.CH |
I |
Eingabe•0x0BFreigabe-PIN•0x0BHBA 0x0FPIN.HBA: |
|
| PIN.QES (Signatur auslösen) |
I |
#UVW-XYZ•0x0BEingabe•0x0BSignatur- PIN•0x0BHBA 0x0FPIN.QES: |
||
| HBA | PIN.QES (Komfortsignatur aktivieren) | I | Komfortsignatur•0x0Baktivieren•0x0BHBA 0x0FPIN.QES: |
|
| SMC-B |
PIN.SMC |
I |
Eingabe•0x0BPIN•SMC-B•0x0BSLOT:X 0x0FPIN.SMC: |
|
| ANDERE |
BELIEBIG |
I |
Herstellerspezifisch |
|
| Erfolgreiche PIN-Eingabe |
ALLE |
O |
PIN•0x0Berfolgreich•0x0Bverifiziert! |
|
| Fehlerhafte PIN-Eingabe |
ALLE |
O |
PIN•0x0Bfalsch•0x0Boder•0x0Bgesperrt! |
|
| PUK-Eingabe |
eGK PUK.CH |
I |
Eingabe•0x0BVersicherten-0x0BPUK 0x0FPUK.eGK: |
|
| HBAx PUK.CH |
I |
Eingabe•0x0BFreigabe-PUK•0x0BHBA 0x0FPUK.HBA: |
||
| HBAx PUK.QES |
I |
Eingabe•0x0BSignatur-PUK•0x0BHBA 0x0FPUK.QES: |
||
| SMC-B PUK.SMC |
I |
Eingabe•0x0BPUK•SMC-B•0x0BSLOT:X 0x0FPUK.SMC: |
||
| Erfolgreiche PUK-Eingabe |
ALLE |
O |
PIN•0x0Berfolgreich•0x0Bentsperrt! |
|
| Fehlerhafte PUK-Eingabe |
ALLE |
O |
PUK•0x0Bfalsch•0x0Boder•0x0Bgesperrt! |
|
| Eingabe einer neuen PIN |
eGK ALLE (außer PIN.AMTS_REP) |
I |
Eingabe• 0x0Bneue•0x0BVersicherten-0x0BPIN• 0x0B(6-8•Ziffern) 0x0FPIN.eGK: |
|
| eGK PIN.AMTS_REP |
I |
Eingabe• 0x0Bneue•0x0BVertreter-PIN• 0x0B(6-8•Ziffern) 0x0FVertr-PIN: |
||
| HBAx PIN.CH |
I |
Eingabe•0x0Bneue•0x0BFreigabe-PIN•0x0BHBA•0x0B(6-8•Ziffern) 0x0FPIN.HBA: |
||
| HBAx PIN.QES |
I |
Eingabe• 0x0Bneue•0x0BSignatur-PIN•0x0BHBA•0x0B(6-8•Ziffern) 0x0FPIN.QES: |
||
| SMC-B PIN.SMC |
I |
Eingabe•0x0Bneue•0x0BPIN•SMC-B• 0x0BSLOT:X•0x0B(6-8•Ziffern) 0x0FPIN.SMC: |
||
| Eingabe einer Transport-PIN |
eGK PIN.CH |
I |
Eingabe•0x0BTransport-0x0BVersicherten-0x0BPIN 0x0FT-PIN.eGK: |
|
| HBAx PIN.CH |
I |
Eingabe•0x0BTransport-0x0BPIN•0x0BHBA 0x0FT-PIN.HBA: |
||
| HBAx PIN.QES |
I |
Eingabe•0x0BTransport-0x0BPIN•0x0BHBA 0x0FT-PIN.QES: |
||
| SMC-B PIN.SMC |
I |
Eingabe•0x0BTransport-0x0BPIN•SMC-B•0x0BSLOT:X 0x0FT-PIN.SMC: |
||
| Wieder-holung einer neuen PIN |
eGK PIN.CH |
I |
Eingabe•0x0BVersicherten-0x0BPIN•0x0B wiederholen! 0x0FPIN.eGK: |
|
| eGK PIN.AMTS_REP |
I |
Eingabe• 0x0Bneue•0x0BVertreter-PIN• 0x0B wiederholen! 0x0FVertr-PIN: |
||
| HBAx PIN.CH |
I |
Eingabe•0x0Bfür•HBA•0x0Bwiederholen! 0x0FPIN.HBA: |
||
| HBAx PIN.QES |
I |
Eingabe•0x0Bfür•HBA•0x0Bwiederholen! 0x0FPIN.QES: |
||
| SMC-B PIN.SMC |
I |
Eingabe•0x0BPIN.SMC•0x0BSLOT:X• 0x0Bwiederholen! 0x0FPIN.SMC: |
||
| Ungleichheit bei der Wieder-holung der Eingabe der neuen PIN |
ALLE |
O |
PINs•0x0B nicht•0x0Bidentisch!•0x0BAbbruch! |
|
| Erfolgreiche PIN-Änderung |
ALLE |
O |
PIN•0x0Berfolgreich•0x0Bgeändert! |
|
| Anzeigen am lokalen Terminal beim Remote-PIN-Verfahren für das Ergebnis der Verschlüsselung durch die gSMC-KT |
||||
| Erfolgreiche Verschlüsselung |
ALLE |
O |
Eingabe•0x0Bwird•0x0Bbearbeitet. |
|
| Fehler bei der Verschlüsselung |
ALLE |
O |
Eingabe•0x0Bfehlgeschlagen. |
|
[<=]
Hinweise zu den Terminalanzeigen bei PIN-Eingaben und zu obiger Tabelle:
- ANW kennzeichnet den Anwendungsfall und wird durch den vom Aufrufer übergebenen String ersetzt (siehe z. B. TUC_KON_012 „PIN verifizieren“)
- Zu PIN.SMC: "Slot:X" im PIN-Prompt gibt die Slot-Nummer im Kartenterminal an, in der die SMC steckt, da in einem Kartenterminal mehr als eine SMC stecken kann.
- Variable Teile der Terminalanzeige (Job- und Slot-Nummer) sind kursiv formatiert.
- Zeichensatz gemäß ISO 646DE-/DIN 66003-Codierung
- max. 48 Zeichen Text + 10 Zeichen PIN-Prompt bei Input
- max. 48 Zeichen bei Output
- Leerzeichen werden als "•" dargestellt
- UVW-XYZ: zeigt die Jobnummer an (siehe Kapitel 4.1.8.1.4)
- #: Beginn der Jobnummer zur Verifizierung des korrekten Kartenterminals
- Weitere Details zur Gestaltung der Jobnummer finden sich im Kapitel 4.1.8.1.4.
- Die Zeilenumbrüche in der Spalte "Terminal-Anzeige" sind editorisch bedingt.
- 0x0B und 0x0F (Sollbruchstellen bzw. Trennung zwischen Nachricht und PIN-Prompt) sind Trennzeichen gemäß [SICCT#5.6.1].
In den Technischen Use Cases TUC_KON_012 „PIN verifizieren“, TUC_KON_019 „PIN ändern“, TUC_KON_021 „PIN entsperren“ wird das Remote-PIN-Verfahren verwendet, sofern die Zielkarte in einem als für den Arbeitsplatz entfernt definiertem Kartenterminal steckt (siehe Kap. 4.1.1.1, Relation [7]). In diesem Fall erfolgt die Nutzerinteraktion am Remote-PIN-KT von workplaceId (PinInputKT). Dabei wendet der Konnektor das folgende Verfahren an:
TIP1-A_5012 - Remote-PIN-Verfahren
Der Konnektor MUSS das Remote-PIN Verfahren im Sinne der BSI TR-03114 unterstützen. Abweichend von der TR-03114 MUSS statt der SMC-A eine gSMC-KT verwendet werden.
Der Konnektor MUSS für die PIN-Objekte: HBA.PIN.CH, HBA.PUK.CH, HBA.PIN.QES, HBA.PUK.QES, SM-B.PIN.SMC und SM-B.PUK.SMC das Remote-PIN Verfahren unterstützen. Für alle anderen Karten und PIN-Objekte DARF das Verfahren NICHT verwendet werden.
Für die Interaktion mit dem Anwender MÜSSEN die Display Messages entsprechend TAB_KON_090 Terminalanzeigen beim Eingeben der PIN am Kartenterminal verwendet werden.
Der Ablauf für eine PIN-Operation gegen eine Zielkarte MUSS in diesen logischen Schritten erfolgen:
- Aufruf TUC_KON_005 „Card-to-Card authentisieren“ mit eigens für diesen Zweck erzeugten Cardsession sowohl für die „Sendekarte“ im PinInputKT (gSMC-KT) sowie der Zielkarte. AuthMode ist „gegenseitig+TC“
- Der Benutzer wird mit dem SICCT-Kommando PERFORM VERIFICATION bzw. MODIFY VERIFICATION DATA zur Eingabe der PIN am PinInputKT aufgefordert. Als Display Messages für die erfolgreiche Bearbeitung bzw. Fehler in der Bearbeitung dieser Kommandos müssen die Texte mitgesendet werden, die in TAB_KON_090 für die Ergebnisse der Verschlüsselung durch die gSMC-KT festgelegt sind.
- Im PinInputKT verschlüsselt die gSMC-KT die eingegebene PIN mit dem zuvor erzeugten Sessionkey.
- Die verschlüsselte PIN wird in das zur intendierten PIN-Operation passende Kommando eingebettet (PIN verifizieren, ändern oder entsperren - wird durch den eigentlichen PIN-TUC festgelegt) und das Kommando vom Konnektor an die Zielkarte zur Entschlüsselung und Verifikation übergeben. Dabei MUSS die Übertragung im gleichen Logischen Kanal wie die SM Vereinbarung erfolgen.
- Der Konnektor zeigt das Resultat der Zielkarte mittels SICCT OUTPUT am lokalen Kartenterminal an. Er verwendet dabei den in TAB_KON_090 für die aktuelle PIN-Operation spezifizierten Ausgabetexte.
- Das Result der Zielkarte wird an den Aufrufer zurückgegeben
[<=]
Hinweis: Derzeit schlägt die Freischaltung der SMC-B durch Card-2-Card-Authentisierung ohne Fehlermeldung fehl. Der Sicherheitszustand der SMC-B wird nicht verändert. Diese Einschränkung betrifft TUC_KON_005 „Card-to-Card authentisieren“ (TAB_KON_096).
4.1.5.2 Durch Ereignisse ausgelöste Reaktionen
TIP1-A_4562 - Reaktion auf „Karte entfernt“
Empfängt der Kartendienst das Ereignis „CT/SLOT_FREE“, so MUSS der Konnektor:
- das über die im Ereignis gemeldeten Parameter CtID und SlotNo in CM_CARD_LIST adressierte CardObject CARD identifizieren
- für dieses CardObject folgendes Ereignis absetzen:
TUC_KON_256{
topic = „CARD/REMOVED“;
eventType = Op;
Severity = Info;
parameters = <Params>}
wobei <Params> mit folgenden Werten belegt werden MUSS: -
- „CardHandle=$CARD.CARDHANDLE,
- Type=$CARD.TYP,
- CardVersion=$CARD.VER,
- ICCSN=$CARD.ICCSN,
- CtID=$CARD.CTID,
- SlotID=$CARD.SLOTID,
- InsertTime=$CARD.INSERTTIME,
- CardHolderName=$CARD.CARDHOLDERNAME,
- KVNR=$CARD.KVNR“
- „CardHandle=$CARD.CARDHANDLE,
- das zugehörige CardObject aus CM_CARD_LIST entfernen.
[<=]
TIP1-A_4563 - Reaktion auf „Karte gesteckt“
Empfängt der Kartendienst das Ereignis „CT/SLOT_IN_USE“, so MUSS der Konnektor für die Karte, die über die im Ereignis gemeldeten Parameter CtID und SlotNo adressiert ist, über TUC_KON_001 ein neues CardObject in CM_CARD_LIST anlegen.
[<=]4.1.5.3 Interne TUCs, nicht durch Fachmodule nutzbar
4.1.5.3.1 TUC_KON_001 „Karte öffnen“
TIP1-A_4565 - TUC_KON_001 „Karte öffnen“
Der Konnektor MUSS den technischen Use Case „Karte öffnen“ gemäß TUC_KON_001 umsetzen.
Tabelle 61: TAB_KON_734 – TUC_KON_001 „Karte öffnen“
| Element |
Beschreibung |
| Name |
TUC_KON_001 „Karte öffnen“ |
| Beschreibung |
Der TUC initialisiert ein Card-Object basierend auf einer physikalischen Karte und fügt es CM_CARD_LIST zu. Die Karte kann erst im Anschluss unter Verwendung des erzeugten CardHandles verwendet werden. |
| Auslöser |
Der Kartenterminaldienst meldet das Belegen eines KT-Slots |
| Vorbedingungen |
|
| Eingangsdaten |
|
| Komponenten |
Karte, Kartenterminal, Konnektor |
| Ausgangsdaten |
Keine |
| Standardablauf |
1. Prüfe, ob unter ctId und slotId ein Eintrag in CM_CARD_LIST vorhanden ist. Wenn bereits ein Eintrag vorhanden ist, lösche diesen. 2. Erzeuge neuen Card-Object-Eintrag in CM_CARD_LIST und a) Generiere CARD.CARDHANDLE. mit folgenden Anforderungen: - Das CardHandle MUSS innerhalb CM_CARD_LIST eindeutig sein. - Ein ungültig gewordenes CardHandle DARF innerhalb von 48h NICHT als neues CardHandle vergeben werden. b) Befülle CARD.CTID und CARD.SLOTNO mit den Eingangsdaten c) Ermittle und befülle (soweit durch Karte unterstützt) die folgenden Daten: - CARD.ICCSN - CARD.TYPE (mögliche Werte siehe Tabelle TAB_KON_500 Wertetabelle Kartentypen) - CARD.CARDVERSION - CARD.INSERTTIME (=aktuelle Systemzeit) - CARD.CARDHOLDERNAME (aus X.509-AUT- Zertifikat) - CARD.KVNR (nur für eGK, aus C.CH.AUT: unveränderbarer Teil der KVNR) - CARD.CERTEXPIRATIONDATE (=validity aus X.509- AUT-Zertifikat) X.509-AUT-Zertifikat bezeichnet für eGK das C.CH.AUT-Zertifikat, für HBAx das C.HP.AUT-Zertifikat und für SMC-B das C.HCI.AUT-Zertifikat. 3. Rufe TUC_KON_256{ topic = „CARD/INSERTED“; eventType = Op; severity = Info; parameters = <Params>} mit <Params> belegt aus dem CARD-Object: „CardHandle=$, CardType=$, CardVersion=$, ICCSN=$,CtID=$, SlotID=$, InsertTime=$, CardHolderName=$, KVNR=$, CertExpirationDate=$“ In CardVersion sind die Werte - COSVERSION und - OBJECTSYSTEMVERSION aus CARD.CARDVERSION einzutragen. Für eGK G1+ ist zusätzlich die - DATASTRUCTUREVERSION aus CARD.CARDVERSION einzutragen. CardVersion kann weitere Werte aus CARD.CARDVERSION enthalten. |
| Varianten/ Alternativen |
Im Falle der KVK gibt es kein EF.ATR, EF.GDO und EF.DIR. Es wird daher lediglich der ATR ausgewertet, den das Kartenterminal beim Stecken der Karte liefert. |
| Fehlerfälle |
(-> 2c) Karte/Kartenterminal antwortet mit einer spezifischen Fehlermeldung, Fehlercode <gemäß [gemSpec_COS]/[SICCT]> Auch im Fehlerfall wird Schritt 3 durchlaufen. Wenn nicht alle zu einem Kartentyp notwendigen Daten von der Karte gelesen werden konnten, dann wird Schritt 3 mit CardType=UNKNOWN ausgeführt. Auch im Fehlerfall wird Schritt 3 durchlaufen. Wenn nicht alle zu einem Kartentyp notwendigen Daten von der Karte gelesen werden konnten, dann wird Schritt 3 mit CardType=UNKNOWN ausgeführt. |
| Nichtfunktionale Anforderungen |
Keine |
| Zugehörige Diagramme |
Keine |
[<=]
4.1.5.4 Interne TUCs, auch durch Fachmodule nutzbar
4.1.5.4.1 TUC_KON_026 „Liefere CardSession“
TIP1-A_4566 - TUC_KON_026 „Liefere CardSession“
Der Konnektor MUSS den technischen Use Case „Liefere CardSession“ gemäß TUC_KON_26 umsetzen.
Tabelle 62: TAB_KON_735 - TUC_KON_026
| Element |
Beschreibung |
|---|---|
| Name |
TUC_KON_026 „Liefere CardSession“ |
| Beschreibung |
Dieser Use Case gibt auf Grund der übergebenen Parameter die zugehörige CardSession zurück. Ist für die Parameterkombination noch keine CardSession vorhanden, wird eine neue erzeugt und im zugehörigen Card-Object hinterlegt. |
| Auslöser |
|
| Vorbedingungen |
Keine |
| Eingangsdaten |
|
| Komponenten |
Konnektor |
| Ausgangsdaten |
|
| Standardablauf |
|
| Varianten/ Alternativen |
(3) Wenn keine CardSession für diese Parameter vorhanden: 1. erzeuge neue CardSession in Card. CARDSESSION_LIST 2. Befülle CARDSESSION.MANDANTID, .CSID und .USERID mit Übergabeparametern |
| Fehlerfälle |
(2) Karte bereits reserviert, Fehlercode 4093 |
| Nichtfunktionale Anforderungen |
keine |
| Zugehörige Diagramme |
keine |
Tabelle 63: TAB_KON_824 Fehlercodes TUC_KON_026 „Liefere CardSession“
| Fehlercode |
ErrorType |
Severity |
Fehlertext |
|---|---|---|---|
| 4093 |
Technical |
Error |
Karte wird in einer anderen Kartensitzung exklusiv verwendet |
[<=]
Hinweis zu TAB_KON_735 - TUC_KON_026: Die WorkplaceId wird als Eingangsparameter nicht benötigt. Bereits TUC_KON_000 stellt sicher, dass eine eGK jeweils nur von einem einzigen Arbeitsplatz aus angesprochen werden kann.
4.1.5.4.2 TUC_KON_012 „PIN verifizieren“
TIP1-A_4567 - TUC_KON_012 „PIN verifizieren”
Der Konnektor MUSS den technischen Use Case „PIN verifizieren“ gemäß TUC_KON_012 umsetzen.
Tabelle 64: TAB_KON_087 – TUC_KON_012 „PIN verifizieren“
| Element |
Beschreibung |
|---|---|
| Name |
TUC_KON_012 „PIN verifizieren“ |
| Beschreibung |
Dieser Use Case führt die Verifikation einer PIN einer Karte durch. Dabei wird der Anwender am Display des Kartenterminals aufgefordert, die PIN einzugeben. Dies erfolgt am PIN-Pad des Kartenterminals. Remote-PIN-Eingabe wird dabei automatisch unterstützt. |
| Auslöser |
|
| Vorbedingungen |
Karte unterstützt die übergebene pinRef |
| Eingangsdaten |
|
| Komponenten |
Karte, Kartenterminal, Konnektor |
| Ausgangsdaten |
|
| Standardablauf |
1. Ermittle Card = CM_CARD_LIST(CardSession) 2. Prüfe, dass der Karte entweder kein Lock zugeordnet ist oder der Aufrufer das Karten-Lock besitzt. 3. Wenn PinTyp(pinRef) = PIN.QES oder VerificationType = Mandatorisch 6. 4. Wenn pinRef in CARDSESSION.AUTHSTATE vorhanden: pinResult = OK; 5. Prüfe TUC_KON_022 „Liefere PIN-Status“ a. „VERIFYABLE“; b. „DISABLED“: pinResult = OK; 6. Ermittle PinInputKT: Wenn Card.ctId ein dem Arbeitsplatz(workplaceId) lokal zugeordnetes Kartenterminal ist (siehe Relation [6], Kapitel 4.1.1.1) a. Setze PinInputKT = Card.CtID b. sonst „lokales Kartenterminal, das für die Remote-PIN- Eingabe zu verwenden ist“: PinInputKT = Arbeitsplatz(workplaceId).remote-PIN-KT(mandantId) 7. Atomare Operation: PIN verifizieren inkl. Eventing und Ergebnisvermerk a. Rufe TUC_KON_256 { topic = „CARD/PIN/VERIFY_STARTED“; eventType = Op; severity =Info; parameters = („CardHandle=$, CardType=$, ICCSN=$, CtID=$, SlotID=$, PinRef=$, PinInputCtID=$PinInputKT“, doLog=false)} b. Pin-Verifikation über „Perform Verification“ ([SICCT]) mit Display Messages gemäß Kontext in TAB_KON_090 Terminalanzeigen beim Eingeben der PIN am Kartenterminal, bei eGK ersetze „ANW“ durch actionName in Display Message. Wenn PinInputKT=Card.CtID dann PIN Verifikation direkt an Card.CtID, ansonsten Remote-PIN-Eingabe gemäß (TIP1- A_5012) c. Setze pinResult in Abhängigkeit von Ergebnis Perform Verification: - pinResult = OK für erfolgreiche Prüfung - pinResult = ERROR für Nutzer-Abbruch oder Bearbeitungsfehler (siehe Fehlerfälle) - pinResult = REJECTED für falsche PIN; leftTries = x (bei Kartenantwort ´63 Cx´, x > 0) - pinResult = BLOCKED für gesperrte PIN (bei Kartenantwort ´63 C0´) d. Rufe TUC_KON_256 { topic = „CARD/PIN/VERIFY_FINISHED“; eventType = Op; severity = Info; parameters = („CardHandle=$, CardType=$, ICCSN=$, CtID=$, SlotID=$, PinRef=$, PinInputCtID=$PinInputKT, Result=$pinResult“); doLog = false } e. befülle CARDSESSION.AUTHSTATE mit pinRef und Ergebnis der PIN-Prüfung 8. Liefere pinResult zurück |
| Varianten/ Alternativen |
Schritt 7e: Für eGK G2.0 wird der Zustand der MRPINs nicht in AuthState gespeichert. |
| Fehlerfälle |
Schritt 7 wird mit allen Teilschritten durchlaufen. Ein als Fehler ausgewiesener Zustand führt erst nach Schritt 7e zum Abbruch des TUCs. Fehleingaben zählen explizit nicht zu den Fehlerzuständen, sondern werden auf das Ergebnis REJECTED oder BLOCKED abgebildet. * Karte antwortet nicht innerhalb von CARD_TIMEOUT_CARD Sekunden, Fehlercode 4094 (2) Karte ist fremd reserviert, Fehlercode 4093 (5) Rückgabewert= - VERIFIED, Fehlercode 4001 - TRANSPORT_PIN oder EMPTY_PIN, Fehlercode 4065 - BLOCKED, Fehlercode 4063 (6b) kein Remote-PIN-KT zugeordnet, Fehlercode 4092 (->6b) Card.TYP=eGK und Card.CtID ist nicht dem durch workplaceId bezeichneten Arbeitsplatz lokal zugeordnet: Fehlercode 4053 (7) Timeout bei PIN Eingabe: Fehlercode 4043 (7) Abbruch durch Nutzer: Fehlercode 4049 (7) Sind das für die PIN-Eingabe benötigte Kartenterminal oder benötigte Teile davon (PIN Pad, Display) durch einen anderen zeitgleich im Konnektor ablaufenden Vorgang reserviert, so bricht der Use Case mit Fehler 4060 ab. (7) Rückgabewert= - transportgeschützt (Transport-PIN oder Leer-PIN), Fehlercode 4065 (7b) Ungültige PIN-Referenz; Fehlercode 4072 (7b) Karte/Kartenterminal antwortet mit einer spezifischen Fehlermeldung, Fehlercode <gemäß [gemSpec_COS]/[SICCT]> Zusätzliche Fehlerfälle ergeben sich aus der Remote-PIN-Eingabe gemäß (TIP1-A_5012) |
| Nichtfunktionale Anforderungen |
|
| Zugehörige Diagramme |
Abbildung PIC_KON_111 Aktivitätsdiagramm zu „PIN verifizieren“ |