gemSpec_Kon_V5.23.0





Elektronische Gesundheitskarte und Telematikinfrastruktur




Spezifikation

Konnektor



    
Version 5.23.0
Revision 946585
Stand 05.07.2024
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.2017

Initialversion Online-Produktivbetrieb (Stufe 2.1)
gematik
5.2.0
18.12.2017

Einarbeitung Erratas 1.6.4-1 bis 1.6.4-3, P15.1
gematik
5.3.0
14.05.2018

Einarbeitung P15.2, P15.4 und P15.5
gematik
5.4.0
26.10.2018

Einarbeitung P15.8 und P15.9
gematik
5.5.0
18.12.2018

Einarbeitung P17.1
gematik
5.6.0 15.05.2019
Einarbeitung P18.1
gematik
5.7.0 28.06.2019
Einarbeitung P19.1
gematik
5.8.0 02.10.2019 Einarbeitung P20.1/2 gematik
5.9.0 02.03.2020 Einarbeitung P21.1 gematik
5.9.1 26.06.2020 Einarbeitung P21.3 gematik
5.9.2 27.08.2020 Einarbeitung P21.4 gematik
5.9.3 21.09.2020 Einarbeitung P21.5 gematik
5.9.4 05.11.2020 Einarbeitung P21.6 gematik
5.10.0 30.06.2020 Einarbeitung P22.1 gematik
5.11.0 12.11.2020 Einarbeitung Scope-Themen zu R4.0.1 gematik
5.12.0 09.12.2020 Einarbeitung P22.5 gematik
5.13.0 30.06.2021 Einarbeitung Konn_Maintenance_21.1, _21.2, _21.3 und gemF_gSMC-K_Laufzeitverlängerung gematik
5.14.0 02.09.2021 Umbenennung der Begriffe "aAdG-NetG" in "WANDA Basic", "aAdG" und "aAdG-NetG-TI" in"WANDA Smart"
gematik
5.15.0 31.01.2022 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.2022 Einarbeitung Konn_Maintenance_22.1 (mit Ausbau der Änderungen aus gemF_gSMC-K_Laufzeitverlängerung) gematik
5.17.0 30.06.2022 Einarbeitung Konn_Maintenance_22.3 gematik
5.18.0 28.11.2022 Einarbeitung Konn_Maintenance_22.4, _22.5, _22.6, redaktionell: diskriminierungsfreie Sprache (Black-/Whitelist in Deny-/Allowlist) gematik
5.19.0 14.04.2023 Einarbeitung Konn_Maintenance_23.1 und gemF_gSMC-K_Laufzeitverlängerung gematik
5.20.0 05.05.2023 Einarbeitung Konn_Maintenance_23.2 gematik
5.21.0 23.02.2024 Einarbeitung TI-Gateway_Maintenance_23.1 gematik
5.22.0 13.06.2024 Änderungsliste HSK_24.1 gematik
5.23.0 05.07.2024 Änderungsliste Konn_24.1 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:

  1. Funktionsmerkmalweite Aspekte
  2. Durch Ereignisse ausgelöste Reaktionen
  3. Interne TUCs, nicht durch Fachmodule nutzbar
  4. Interne TUCs, auch durch Fachmodule nutzbar
  5. Operationen an der Außenschnittstelle
  6. 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
  • mandantId
  • allWorkplaces [Boolean] – optional; default: false
    (Dieser Schalter gibt an, ob eine mandantenweite Zugriffsberechtigung zum Tragen kommt…)
  • userId - optional/verpflichtend, wenn cardType = HBAx
Ausgangsdaten
  • pinStatus [PinStatus]
  • leftTries – optional/verpflichtend, wenn pinStatus = VERIFYABLE
    (Anzahl der verbleibenden Versuche für die Verifikation der PIN)

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 und NFDM ü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-02 - 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 (26.214.400 Byte) unterstützen. Der Konnektor DARF NICHT Dokumente mit einer Größe > 25 MB (26.214.400 Byte) 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_889 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
mit Abbruch des Verbindungsaufbaus reagieren. [<=]

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.   [<=]

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

[<=]

Hinweis: Es existieren Karten, welche lediglich mit RSA-Objekten bzw. lediglich mit ECC-Objekten bestückt sind. Die unbestückten Verzeichnisse können dabei leer sein oder auch gar nicht existieren.

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 Erneuerung der Zertifikate der gSMC-K

A_21736 - Verwendung erneuerter Zertifikate

Nach erfolgreicher Zertifikatserneuerung MUSS der Konnektor vor Ablauf der alten Zertifikate an allen Stellen, wo er die Zertifikate C.NK.VPN, C.AK.AUT, C.SAK.AUT, C.SAK.AUTD_CVC und C.CA_SAK.CS verarbeitet, die neuen Zertifikate verwenden, es sei denn die Spezifikation trifft andere Festlegungen. [<=]

Es werden keine expliziten Festlegungen zu herstellerspezifisch verwendetem Material auf der gSMC-K getroffen. Es liegt in der Verantwortung des Konnektor-Herstellers, dafür zu sorgen, dass der Konnektor nach Erneuerung und Aktivierung der spezifizierten Zertifikate insgesamt fehlerfrei lauffähig ist.

A_21744-01 - Zertifikate regelmäßig erneuern

Der Konnektor MUSS in folgenden Fällen einmal täglich den Zertifikatserneuerungsprozess durch Aufruf von TUC_KON_410 auslösen:
 
Bei single-personalisierten Konnektoren

  • wenn das C.NK.VPN (RSA) der gSMC-K in den nächsten 180 Tagen abläuft und noch kein Verlängerungszertifikat dafür im Konnektor vorhanden ist
  • wenn das im Konnektor vorhandene Verlängerungszertifikat C.NK.VPN (RSA) in den nächsten 180 Tagen abläuft
    Bei dual-personalisierten Konnektoren
    • wenn das C.NK.VPN (RSA) oder das C.NK.VPN (ECC) der gSMC-K in den nächsten 180 Tagen abläuft und noch kein Verlängerungszertifikat für C.NK.VPN (ECC) im Konnektor vorhanden ist
    • wenn das im Konnektor vorhandene Verlängerungszertifikat C.NK.VPN (ECC) in den nächsten 180 Tagen abläuft
    [<=]

    A_21879 - Erneuerte Zertifikate der gSMC-K manuell importieren

    Der Konnektor MUSS es dem Administrator ermöglichen, erneuerte Zertifikate C.NK.VPN, C.AK.AUT, C.SAK.AUT, C.SAK.AUTD_CVC und C.CA_SAK.CS manuell von lokaler Datenquelle einzuspielen.
    Der Konnektor MUSS dies auch im kritischen Betriebszustand EC_NK_Certificate_Expired ermöglichen. [<=]

    A_21749-04 - TUC_KON_410 „gSMC-K-Zertifikate aktualisieren“

    Der Konnektor MUSS den technischen Use Case TUC_KON_410 „gSMC-K-Zertifikate aktualisieren“ umsetzen.

    Tabelle 5: TAB_KON_930 – TUC_KON_410 „Zertifikate aktualisieren“

    Element
    Beschreibung
    Name
    TUC_KON_410 "gSMC-K-Zertifikate aktualisieren"
    Beschreibung
    Dieser TUC bezieht neue gSMC-K-Zertifikate vom Downloadpunkt des TSP X.509 nonQES für Komponenten, oder diese werden vom Administrator übergeben.
    Auslöser
    A_21744, Administrator
    Vorbedingungen
    Automatische Aktualisierung:
    • Zertifikate am Downloadpunkt vorhanden
    • MGM_LU_ONLINE=Enabled
    • Verbindung zum VPN-Konzentrator TI ist aufgebaut
    Eingangsdaten
    Manuelle Aktualisierung: 
    • Zertifikate
    Komponenten
    Konnektor, TSP Komponenten
    Ausgangsdaten
    Keine
    Standardablauf

    Automatische Aktualisierung:
    1. Für jede verbaute gSMC-K wird die zip-Datei mit neuen Zertifikaten per HTTP vom Downloadpunkt TSP Komponenten bezogen ([gemSpec_X.509_TSP#A_21770]).
    2. Die zip-Dateien werden entpackt.
      1. Prüfung auf vollständiges Vorhandensein der Zertifikate (i und iii ; ii und iii ; i, ii und iii):
        1. C.NK.VPN, C.AK.AUT, C.SAK.AUT mit RSA-Kryptographie
        2. C.NK.VPN, C.AK.AUT, C.SAK.AUT mit ECC-Kryptographie
        3. C.SAK.AUTD_CVC, C.CA_SAK.CS  
      2. Prüfung, dass C.SAK.AUTD_CVC dem Profil CHAT.51 entspricht ([gemSpec_PKI#Tab_PKI_918-01])
    3. Für jedes bezogene Zertifikat führt der Konnektor folgende Prüfungen durch:
      1. ICCSN des neuen und alten Zertifikats sind gleich
      2. Ablaufdatum des neuen Zertifikats liegt nach Ablaufdatum des alten Zertifikats
      3. Kryptografische Prüfung, dass öffentlicher Schlüssel im neuen Zertifikat zum privaten Schlüssel auf der gSMC-K passt
      4. Für C.NK.VPN-Zertifikat: OCSP-Abfrage (gemäß TUC_PKI_006)
      5. Für (C.NK.VPN, C.AK.AUT, C.SAK.AUT): Ermitteln des passenden CA-Zertifikats in der TSL und Prüfung der Signatur des neuen Zertifikats dagegen 
      6. Für (C.SAK.AUTD_CVC, C.CA_SAK.CS):
        1. Prüfung der Signatur von C.SAK.AUTD_CVC gegen C.CA_SAK.CS
        2. Ermittlung des passenden CVC-Root-Zertifikats im Truststore und Prüfung von C.CA_SAK.CS dagegen
    4. Wenn alle Zertifikate erfolgreich erneuert wurden: TUC_KON_256 {
           topic = „SMC_K/UPDATE/SUCCESS“;
           eventType = Op;
           severity = Info;
           parameters = „$Parameters“;
           doLog = true;
           doDisp = true }

    Varianten/Alternativen
    (->3d,e) Es kann auch eine vollständige Zertifikatsprüfung gemäß
    TUC_KON_037 „Zertifikat prüfen“{
       certificate = Zertifikatsreferenz;
       qualifiedCheck = not_required;
       offlineAllowNoCheck = true;
       validationMode = OCSP}
    erfolgen.
    Manuelle Aktualisierung:
    (->1) Die Files mit den neuen Zertifikaten werden vom Administrator in den Konnektor importiert.
    (->2) Herstellerspezifisch, je nach Dateiformat
    (->3d) Die OCSP-Abfrage erfolgt nur wenn
    • MGM_LU_ONLINE=Enabled und
    • Verbindung zum VPN-Konzentrator TI ist aufgebaut.
    Fehlerfälle
    (->1) Fehler beim Download:
    TUC_KON_256 {
           topic = „SMC_K/DOWNLOAD/ERROR“;
           eventType = Op;
           severity = Error;
           parameters = „$Parameters“;
           doLog = true;
           doDisp = true }

    (->2a) Wenn nicht alle erwarteten Zertifikate in der zip-Datei vorhanden sind oder ein Zertifikat nicht dekodiert werden kann: Fail=Incomplete
    Wenn eine der folgenden Prüfungen fehlschlägt, wird das bezogene Zertifikat verworfen und mit dem nächsten fortgesetzt:
    (->2a.i) Wenn C.SAK.AUTD_CVC nicht dem Profil CHAT.51 entspricht: Fail=Profile
    (->3a) ICCSN nicht gleich: Fail=Iccsn
    (->3b) Neues Ablaufdatum nicht später als altes Ablaufdatum: Fail=Date
    (->3c) Öffentlicher Schlüssel passt nicht zum privaten Schlüssel: Fail=Crypt
    (->3d) Zertifikat gesperrt oder unknown: Fail=Ocsp
    (->3e,f) Signaturprüfung fehlgeschlagen: Fail=Signature

    Bei automatischer Aktualisierung ab Schritt 2 bei jedem gefundenen Fehler:
    TUC_KON_256 {
           topic = „SMC_K/UPDATE/ERROR“;
           eventType = Op;
           severity = Error;
           parameters = „$Parameters“;
           doLog = true;
           doDisp = true }

    Nichtfunktionale Anforderungen Keine
    Zugehörige Diagramme
    Keine


    Tabelle 6: Tab_Kon_931 Fehlercodes TUC_KON_410 „gSMC-K-Zertifikate aktualisieren“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    herstellerspezifisch
    [<=]

    A_21780 - Nutzerhinweis bezüglich Fehler bei Zertifikatserneuerung

    Der Hersteller des Konnektors MUSS in seinem Handbuch den Nutzer/Administrator darauf hinweisen, dass die Ereignisse mit dem Topic=SMC_K/UPDATE/ERROR und dem Topic=SMC_K/DOWNLOAD/ERROR dringend durch das Primärsystem abonniert werden sollten und dass der Nutzer/Administrator sich bei Auftreten des Fehlers unverzüglich mit dem Hersteller in Verbindung setzen muss.
    [<=]

    3.2.2 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-01 - Unterstützung von gSMC-K Personalisierungsvarianten

    Der Konnektor MUSS unterschiedliche gSMC-K-Personalisierungsvarianten für ID.NK.VPN, ID.AK.AUT und ID.SAK.AUT unterstützen:

    • nur RSA-Zertifikate
    • RSA- und ECC-Zertifikate
    • nur ECC-Zertifikate
    [<=]

    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, entfallen dadurch die davon betroffenen Teile der 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

    1. über einen Zugriffsschutz verfügt, sodass nur Berechtigte Schlüssel darauf nutzen können,
    2. in einem zutrittsgeschützten Bereich aufbewahrt wird und
    3. mindestens nach FIPS 140-2 Level 3 oder [COS-G2] (CC-zertifizierte Chipkarte der TI) zertifiziert ist.
    Wird für die Schlüsselerzeugung eine Schlüsselableitung verwendet, so MUSS die Schlüsselableitung die fachlichen Anforderungen aus GS-A_5386 erfüllen.
    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:

    1. 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

    2. Ü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-06 - 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 7: 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
    EC_G2_HBA_USED($pseudonym) Der HBA mit dem angegebenen Pseudonym verfügt nicht über Zertifikate mit 120bit-Sicherheitsniveau und muss vor dem 01.01.2026 getauscht werden. Op Warning ExpirationDate=Ablaufdatum der Karte
    EC_G2_SMCB_USED($pseudonym) Die SMC-B mit dem angegebenen Pseudonym verfügt nicht über Zertifikate mit 120bit-Sicherheitsniveau und muss vor dem 01.01.2026 getauscht werden. OP Warning ExpirationDate=Ablaufdatum der Karte
    EC_VPN_Registration_ECC_Pending Der Konnektor ist nur mit einem ID.NK.VPN-RSA-Zertifikat beim VPN-Zugangsdienst registriert, obwohl ein ECC-Zertifikat vorhanden ist. Eine neu-Registrierung ist notwendig. Op Info 1 day Bedeutung=
    $EC.description
    Erläuterungen zu TAB_KON_503:
    Hinweis 1:
    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)“.
    Hinweis 2:
    EC.description referenziert den Text, der in der Spalte „Beschreibung“ des Zustandes spezifiziert wurde.
    Hinweis 3:
    Beim Absetzen und Subskribieren folgender EventTopics gelten zusätzliche Vorgaben:
    - EC_CardTerminal_Software_Out_Of_Date ($ctId)
    - EC_CardTerminal_gSMC-KT_Certificate_Expires_Soon ($ctId)
    - EC_CardTerminal_Not_Available ($ctId)
    - EC_OTHER_ERROR_STATE($no)
    - EC_G2_HBA_USED($pseudonym)
    - EC_G2_SMCB_USED($pseudonym)
    Beim Absetzen des Systemereignisses muss die Schreibweise der obigen EventTopics hinsichtlich der Position der Klammer strikt den Vorgaben aus der Tabelle TAB_KON_503 entsprechen.
    Beim Subskribieren der Systemereignisse bei obigen EventTopics muss beliebige Schreibweise im Bezug auf Whitespaces vor und nach den Klammern vom Konnektor toleriert werden.
    Wenn obige EventTopics ohne Parameter in Klammern subskribiert werden, so muss der Konnektor das Systemereignis an den Client für jede $ctId bzw. $no absetzen.
    [<=]

    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.
    [<=]

    A_25803 - Zurücksetzen von EC_G2_HBA_USED($pseudonym) und EC_G2_SMCB_USED($pseudonym)

    Der Konnektor MUSS einmal täglich alle aktiven Betriebszustände EC_G2_HBA_USED($pseudonym) und EC_G2_SMCB_USED ($pseudonym), deren $ValidFrom älter als 7 Tage ist, entfernen.  [<=]

    Tabelle 8: TAB_KON_504-01 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”
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    Laufzeitverlängerung gSMC-K)
    TUC_KON_410 „gSMC-K-Zertifikate aktualisieren (automatisch) - - - - - - - - - - -
    TUC_KON_410 „gSMC-K-Zertifikate aktualisieren (manuell) - - - - - - - - - - x
    TUC_KON_411 „Konnektor mit neuem NK-Zertifikat registrieren (automatisch) - - - - - - - - - - -
    TUC_KON_411 „Konnektor mit neuem NK-Zertifikat registrieren (manuell) - - - - - - - - - - x
    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-05 - 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-01 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-01 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
    Sind mehrere Fehlerzustände gleichzeitig eingetreten, dürfen nur die Operationen und TUCs ausgeführt werden, die für alle eingetretenen Fehlerzustände erlaubt sind. Der Konnektor MUSS Anfragen, die auf Grund eines kritischen Fehlerzustandes nicht ausgeführt oder abgebrochen werden, mit einem Fehler (Fehlercode 4002) beantworten.

    Tabelle 9: 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 10: 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.


    [<=]

    A_21759 - Erneuerte ID.AK.AUT für Authentisierung des Konnektors gegenüber Clientsystemen verwenden

    Der Konnektor MUSS dem Administrator das Einschalten der Verwendung von erneuerten C.AK.AUT für die Authentisierung des Konnektors gegenüber den Clientsystemen über das Managementinterface ermöglichen. 
    Der Konnektor DARF ein erneuertes C.AK.AUT NICHT automatisch verwenden. [<=]

    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

    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-01 - 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
    unterstützen.
    Ferner MUSS der Konnektor für die SOAP-Endpunkte der Fachmodule TLS unterstützen.
    Der Konnektor MUSS sich mittels ID.AK.AUT oder dem gemäß A_21699-* erzeugten oder dem gemäß A_21697-* importierten Zertifikat gegenüber dem Clientsystem 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
    Für eine erfolgreiche Prüfung mit zertifikatsbasierter Client-Authentifizierung MUSS:
      • 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
    Schlägt die Prüfung fehl, MUSS der Verbindungsversuch des Clientsystem abgelehnt werden. [<=]

    Bei der Authentisierung des Clientsystems geht es um eine Authentisierung in zwei Richtungen:

    1. Authentisierung des Clientsystems in der Rolle eines Clients gegenüber dem Konnektor für die Übertragung von SOAP-Requests.
    2. 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:

    1. 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
    1. 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
    Alle anderen Verbindungsversuche von Clientsystemen MÜSSEN vom Konnektor abgelehnt werden.
    [<=]

    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 11: 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_865-* verhalten.

    Tabelle 12: 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-04 - 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 Schlüsselpaaren und dazugehörigen X.509-Zertifikaten für Clientsysteme durch den Administrator über das Managementinterface ermöglichen. Hierbei MUSS der Konnektor dem Administrator die Möglichkeit geben, das kryptographische Verfahren gemäß Tabelle TAB_KON_866 auszuwählen. Als Exportformat MUSS PKCS#12 verwendet werden. Die so erstellten Zertifikate werden zu ANCL_CCERT_LIST angefügt. 
    Zur Sicherung der PKCS#12-Datei MUSS der Konnektor ein intern generiertes starkes Passwort anbieten, jedoch alternativ auch die Vergabe des Passwortes durch den Administrator ermöglichen. Soll vom Administrator ein alternatives Passwort gewählt werden, MUSS der Konnektor dazu Hinweise bzgl. Passwortlänge und Komplexität geben, DARF dahingehend aber NICHT technischen Einschränkungen durchsetzen.
    Der Konnektor MUSS dem Administrator ferner den Import von konnektorfremden X.509-Zertifikaten für Clientsysteme über das Managementinterface ermöglichen. Importierte Zertifikate MÜSSEN den Vorgaben von TAB_KON_866 entsprechen. Die so importierten Zertifikate werden zu ANCL_CCERT_LIST angefügt.
    [<=]

    Hinweis: In Bezug auf die Kodierung von ECC-Schlüsseln vgl. [gemSpec_Krypt#A_23511].

    Hintergrund für die Möglichkeit zur uneingeschränkten Vergabe des Passworts sind ggf. sehr einengende Vorgaben auf Seiten der Primärsysteme, die die PKCS#12 Datei importieren.
    Eine valide Umsetzung zur Vergabe des Passworts für zu exportierende PKCS#12-Dateien wäre ein Input-Feld für den Administrator, welches jegliche Werte akzeptiert, jedoch mit einem starken Passwort vorbefüllt ist.
    Da die exportierte PKCS#12-Datei unter der Kontrolle des Administrator ist, liegt die konkrete Passwortstärke für das konnektorgenerierte Passwort im Ermessen des Herstellers. Dabei sollen dennoch der Stand der Technik und die Tatsache, dass mit der exportierten Datei grundsätzlich leicht Brute-Force-Angriffe durchlaufen werden können, berücksichtigt werden.

    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 13: 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
    Liste von 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
    Liste von 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_21697-01 - 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 gemäß Tabelle TAB_KON_866 für die Authentisierung des Konnektors im Rahmen von TLS-Verbindungen gegenüber Clientsystemen über das Managementinterface ermöglichen.
    [<=]

    A_21811-04 - Vorgaben für generierte und importierte Schlüssel und Zertifikate

    Der Konnektor MUSS bezüglich selbst generierter und importierter Schlüssel und Zertifikate für die TLS-Authentisierung gegenüber Primärsystemen und für die Authentisierung des Clientsystems sowie für die Absicherung der Managementschnittstelle die kryptographischen Vorgaben aus [gemSpec_Krypt] durchsetzen und die Verfahren gemäß Tabelle TAB_KON_866 unterstützen.

    Tabelle 14 : TAB_KON_866 Unterstützte Verfahren für generierte und importierte Schlüssel und Zertifikate

    Verfahren Neugenerierung bzw. -import Bereits generiert/importiert und in Benutzung
    RSA-2048 DARF NICHT unterstützt werden
    soll nicht verwendet werden
    RSA-3072 MUSS unterstützt werden
    MUSS unterstützt werden
    ECC-256 mit NIST-Kurven
    MUSS unterstützt werden MUSS unterstützt werden
    ECC-256 mit brainpool-Kurven
    DARF NICHT unterstützt werden
    soll nicht verwendet werden
    Die [gemSpec_Krypt] führt RSA-3072 nicht auf, macht jedoch allgemeine Vorgaben für RSA, die analog auf RSA-3072 anzuwenden sind.
    RSA-2048 sowie Brainpool-Zertifikate dürfen bei der neuen Anlage von Zertifikaten nicht verwendet werden. Eine Weiternutzung von RSA-2048 sowie Brainpool-Zertifikaten nach einem Update oder dem Import eines Konfigurationsbackups ist zulässig.
    [<=]

    A_24483 - 5 Jahre Laufzeit für erzeugte TLS-Zertifikate

    Der Konnektor MUSS selbst erzeugte TLS-Server- und TLS-Client-Zertifikate mit einer Laufzeit von 5 Jahren versehen. [<=]

    A_24484 - Anzeige Fingerprint des Konnektor-TLS-Zertifikats

    Der Konnektor MUSS an der Managementschnittstelle den Fingerprint des aktiven, an der Clientsystemschnittstelle verwendeten TLS-Zertifikats des Konnektors anzeigen. Werden unterschiedliche Zertifikate für die fachliche Clientsystemschnittstelle (SOAP, LDAP, CETP) und die Managementschnittstelle verwendet, MÜSSEN beide Fingerprints angezeigt werden, wobei klar erkenntlich sein MUSS, für welche Schnittstelle der jeweilige Fingerprint gilt. [<=]

    A_24794 - Anzeige Fingerprint des Konnektor-TLS-Zertifikats - einheitliche Darstellung

    Der Konnektor MUSS für einen einfachen manuellen Abgleich des angezeigten Zertifikats-Fingerprints, diesen wie folgt darstellen:

    • 4x4 Blöcke aus je 4 Hexadezimalzahlen
    • Großbuchstaben
    • Monospace-Schrift
    Beispieldarstellung: 
    BBBB D1C3 B327 6F64
    BD7A 333F A758 6C0A
    BEBB 2370 CDC8 EAE1
    C005 0D2C 7415 82E9

    Der Konnektor KANN zusätzlich weitere Darstellungen des Fingerprints anzeigen (bspw. als Kette). [<=]

    Damit Clientsysteme einem neuen TLS-Zertifikat des Konnektors automatisch vertrauen können, muss der Konnektor den Fingerprint des neu erzeugten oder importierten Serverzertifikats an das Clientsystem melden.

    A_24485 - Zertifikats-Fingerprint über Event-Service bekanntmachen

    Der Konnektor MUSS beim Aktivieren eines an der Clientsystemschnittstelle verwendeten TLS-Zertifikats den Fingerprint (SHA-256 Hashwert) des neu konfigurierten Zertifikats mit folgendem Event verfügbar machen:
        topic=„MGM/TLS_CERT“;
        eventType=Op;
        severity=Info;
        parameters =(„Interface=CS_ITF; Fingerprint=$Fingerprint des TLS-Zertifikats“)
    Dies gilt auch für die Aktivierung eines im Zuge der Laufzeitverlängerung heruntergeladenen erneuerten C.AK.AUT-Zertifikats.
    [<=]

    Damit der Betreiber und die gematik einen Einblick in die Konfiguration haben, werden die Betriebsdaten um folgende Werte erweitert:

    A_24486 - Betriebsdaten für Quelle des TLS-Zertifikats des Konnektors an der Clientsystemschnittstelle

    Der Konnektor MUSS über die Betriebsdaten die Quelle des aktiven TLS-Zertifikats des Konnektors an der Clientsystemschnittstelle übermitteln:
    //OperatingData/Configuration/ClientConnectionMode/TlsCertSource=[SMC-K_ORIGINAL, SMC-K_RENEWED, SELFSIGNED, IMPORTED] [<=]

    A_24487 - Betriebsdaten für Kryptografie des TLS-Zertifikats des Konnektors an der Clientsystemschnittstelle

    Der Konnektor MUSS über die Betriebsdaten den kryptografischen Algorithmus des öffentlichen Schlüssels im aktiven TLS-Zertifikat des Konnektors an der Clientsystemschnittstelle übermitteln: 
    //OperatingData/Configuration/ClientConnectionMode/TlsKeyCrypt/Algorithm= [RSA, ECC-NIST, ECC-BRAINPOOL]
    //OperatingData/Configuration/ClientConnectionMode/TlsKeyCrypt/KeyLength= [256, 384, 2048, 3072] [<=]

    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-02 - 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 gemäß Tabelle TAB_KON_866 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-02 - 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 das ECC-Zertifikat C.AK.AUT2.XXXX verwenden. Wenn kein ECC-Zertifikat personalisiert ist, muss das C.AK.AUT.RSA2048 verwendet werden. Das 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. Das vor einem Update des Konnektor verwendete Zertifikat MUSS unabhängig von der Kryptographie weiter verwendet werden. [<=]

    A_22894-01 - Handbuch Erläuterungen zur Zertifikatsauswahl

    Der Hersteller des Konnektors MUSS im Administratorhandbuch erläutern, welche Abhängigkeiten die unterschiedlichen Konfigurationen zur Zertifikatsauswahl (importierte oder exportierte Zertifikate, Verwendung von ID.AK.AUT) zur Authentisierung gegenüber den Clientsystemen zu beachten sind. [<=]

    A_23549 - Unterstützung der importierten TI-Zertifikate

    Der Konnektor MUSS für die Authentifizierung von Clientsystemen im Rahmen des TLS-Verbindungsaufbaus auch Zertifikate aus dem TI-Vertrauensraum für Clients akzeptieren und importieren und diese für diesen Anwendungsfall analog zu lokal im Konnektor erzeugten oder importierten Nicht-TI-Zertifikaten behandeln. [<=]

    Hinweis: Der letzte Teilsatz bezieht sich auf die Prüfung der Zertifikate, die in diesem konkreten Anwendungsfall nicht vollständig entsprechend TUC_KON_037 stattfinden muss, nur weil es sich um ein Zertifikat aus der TI-PKI handelt.

    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 15: 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 16: 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.
    Fachmodule können die mit einem Mandanten konfigurierten SM-B_managed.telematikId abfragen.

    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 17: 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.
    telematikId Die Telematik-ID wird in den AUT-Zertifikaten von SM-B unter Admission.RegistrationNumber kodiert.
    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 18: 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 19: 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 20: 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
    • mandantId
    • clientSystemId
    • workplaceId
    • userId - optional
    • ctId - optional
      (Kartenterminalidentifikator)
    • cardHandle - optional
    • needCardSession [Boolean] – optional; default: true
        („
      needCardSession“=true; „doNotNeedCardSession“=false)
        Dieser Schalter gibt an, ob eine Kartensitzung benötigt wird
        - true, der aufrufende TUC verwendet eine Kartensitzung
        - false, der aufrufende TUC verwendet keine Kartensitzung
        Die Berechtigungsprüfung geht im Default-Fall, davon aus, dass eine    Kartensitzung benötigt wird, und prüft für diesen Fall die Berechtigung mit.
    • allWorkplaces [Boolean] – optional; default: false
      Dieser Schalter gibt an, ob eine mandantenweite Zugriffsberechtigung   gemeint ist.  
      Dieser Parameter muss dann (true) gesetzt werden, wenn die Berechtigungsprüfung nicht auf die vom angegebenen Arbeitsplatz erreichbaren Kartenterminals beschränkt ist, sondern sich auf alle vom Clientsystem (clientSystemId) und dem Mandant (mandantId) insgesamt erreichbaren Kartenterminals beziehen soll. Ist dieser Schalter gleich true, wird die Berechtigung unabhängig vom Eingangsparameter workplaceId geprüft.
    Komponenten
    Konnektor
    Ausgangsdaten
    • keine
    Nachbedingungen
    • Autorisierung erteilt
    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 21: 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 22: 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 23: 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 24: 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.

    [<=]

    A_23545 - Anzeige von Telematik-ID bei Auswahl der SMC-B

    Der Konnektor MUSS für die Konfiguration der SM-B_Verwaltet in der Auswahl der verfügbaren SMC-B die ICCSN, den OrganizationName und die Telematik-ID aus dem C.HCI.AUT anzeigen. [<=]

    A_23546-01 - Warnung bei unterschiedlichen Telematik-ID in einem Mandanten

    Der Konnektor MUSS beim Speichern einer SM-B_Verwaltet-Zuordnung prüfen, ob alle diesem Mandanten zugeordneten SM-B die gleiche Telematik-ID tragen. Bei unterschiedlichen Telematik-ID MUSS dem Administrator eine Warnung angezeigt werden. Der Konnektor MUSS die Telematik-ID im Informationsmodell persistieren. [<=]

    Bei unterschiedlichen Telematik-IDs innerhalb eines Mandanten können bei manchen Anwendungen Probleme auftreten.

    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 25: 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
    • Aufruf durch Fachmodul
    • Aufruf durch Basisdienst
    Vorbedingungen
    keine
    Eingangsdaten
    •  documentToBeValidated
      (Zu validierendes Dokument.)

    •  documentFormat
      (mögliche Werte siehe Definition
      Alle_DocFormate;
      Formatangabe für das Dokument)
    Optional für XML-Dokumente:
    •  xmlSchemas – optional/nur für XML-Dokumente
      (XML-Schema und ggf. weitere vom Hauptschema benutzte Schemata)

    •  signaturePolicyIdentifier – optional/nur für  XML-Formate gemäß einer referenzierten Signaturrichtlinie
      (URI identifiziert die Signaturrichtlinie)

    Komponenten
    Konnektor
    Ausgangsdaten
    •  documentValidationProtocol
      (Prüfprotokoll)
      Die Ausprägung dieses Konnektor-internen Parameters erfolgt herstellerspezifisch.

    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:
    • Prüfe die XML-Wohlgeformtheit des Dokumentes (documentToBeValidated)
    • Wenn signaturePolicyIdentifier vorhanden ist, dann ermittle das xmlSchema aus der referenzierten Signaturrichtlinie und prüfe die Validität von documentToBeValidated in Bezug auf das hinterlegte XML-Schema. Der Eingangsparameter xmlSchemas wird ignoriert.
    • Wenn signaturePolicyIdentifier nicht vorhanden ist und xmlSchemas übergeben wurden, dann prüfe die Wohlgeformtheit von xmlSchemas und die Validität von documentToBeValidated in Bezug auf xmlSchemas.
    • Wenn nicht durch Prüfung gegen XML-Schema bereits erfolgt, dann prüfe die Eindeutigkeit der ID-Attributwerte im XML-Dokument.  
    B) PDF/A-Dokumentvalidierung
    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 26: 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 27: 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 28: 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 29: 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 30: 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
    • serviceInformation
      (Ein XML-Dokument mit dem Wurzelelement „ServiceInformation“ gemäß dem Schema „Serviceinformation.xsd“. Eine Beschreibung des Schemas befindet sich in TAB_KON_518.)

    Komponenten
    Konnektor, Fachmodule
    Ausgangsdaten
    • Keine
    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 31: 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 32: 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
    Host: ANLW_LAN_IP_ADDRESS oder MGM_KONN_HOSTNAME

    Rückgabe

    Das Antwortdokument ist in der Schemadatei ServiceDirectory.xsd beschrieben.

    ConnectorServices




    Name

    Beschreibung

    ProductInformation

    Kurzbeschreibung des Konnektormodells

    ServiceInformation

    Beschreibung der Dienste

    ProductInformation:
    Das Schema wird in TAB_KON_517 beschrieben. Die Felder sind gemäß [gemSpec_OM] zu befüllen und gemäß dem Schema ProductInformation.xsd zu formatieren.

    TLS-Mandatory: Boolean Wert der festlegt, ob die Verwendung eines TLS-Kanals für Dienstaufrufe verpflichtend ist.
    Definierende Variable ist: ANCL_TLS_MANDATORY
    ClientAutMandatory: Boolean Wert der festlegt, ob Client Authentifizierung verpflichtend ist.
    Definierende Variable ist: ANCL_CAUT_MANDATORY.

    ServiceInformation:
    Das Schema wird in TAB_KON_518 beschrieben. Die Felder sind gemäß dem Schema ServiceInformation.xsd zu formatieren.
    Falls (ANCL_CAUT_MANDATORY = Enabled) oder (ANCL_TLS_MANDATORY = Enabled), MUSS die Rückgabedatei ausschließlich https-Endpunkte enthalten.

    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 33: 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:
    • bekannt (über Service Announcement/Service Discovery gelernte Kartenterminals),
    • zugewiesen (durch den Administrator aus dem Bereich der bekannten Kartenterminals oder manuell konfigurierte Kartenterminals),
    • gepairt (Pairing erfolgreich aber noch nicht zum Verbindungsaufbau freigegeben)
    • aktiv (durch Administrator zum Verbindungsaufbau freigegeben),
    • aktualisierend (ein laufender Updatevorgang, ausgelöst durch den Konnektor; Der Zustand tritt ein, wenn der Kartenterminaldienst das Event „KSR/UPDATE/START" fängt und endet mit dem Event „KSR/UPDATE/END")
    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 }
      rufen

    • TUC_KON_256 {
          topic = „CT/DISCONNECTED“;
          eventType = Op;
          severity = Info;
          parameters = („CtID=$CT.CTID,    Hostname=$CT.HOSTNAME“) }
      auslösen

    • CT.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 34: 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 35: TAB_KON_727 Terminalanzeigen beim Anfordern und Auswerfen von Karten

    Kontext
    Kartentyp
    Terminal-Anzeige
    Karte anfordern
    EGK
    Bitte•0x0BeGK•0x0Bin
    0x0BSLOT X0x0Bstecken

    HBA,
    HBAx,
    HBA-qSig

    Bitte•0x0BHBA•0x0Bin
    0x0BSLOT X0x0Bstecken

    SMC-B
    Bitte•0x0BSMC-B•0x0Bin
    0x0BSLOT X0x0Bstecken

    sonstiger
    Kartentyp
    oder kein explizit angegebener Kartentyp

    Bitte•0x0BKarte•0x0Bin
    0x0BSLOT X0x0Bstecken

    Karte auswerfen
    EGK
    Bitte•0x0BeGK•0x0Baus
    0x0BSLOT X0x0Bentnehmen

    HBA,
    HBAx,
    HBA-qSig

    Bitte•0x0BHBA•0x0Baus
    0x0BSLOT X0x0Bentnehmen

    SMC-B
    Bitte•0x0BSMC-B•0x0Baus
    0x0BSLOT X0x0Bentnehmen

    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.

    [<=]

    Mit der Einführung der Option_CL bei den eHealth-Kartenterminals wird dem Konnektor vom Kartenterminal abweichend von [SICCT] die Verwendung eines kontaktlosen Slots mit Functional Unit (FU) Type = 0x00 und FU-Index (Anzahl kontaktbehafteter Slots + x) signalisiert. 

    A_25832 - Reaktion auf kontaktlose KT-Slot-Ereignisse (KT.Option_CL)

    Der Kartenterminaldienst MUSS Ereignisnachrichten "Slot-Ereignis – Karte eingesteckt“ ([SICCT#6.2.4.4], TAG ‚84’) und „Slot-Ereignis – Karte entfernt“ ([SICCT#6.2.4.4], TAG ‚85’) verarbeiten, mit Functional Unit (FU) Type = 0x00 und FU-Index aus dem Intervall [1, 14] = [0x01, 0x0e]. [<=]

    TIP1-A_4541-02 - Reaktion auf KT-Slot-Ereignis – Karte eingesteckt

    Der Kartenterminaldienst MUSS auf SICCT-Ereignisnachrichten „Slot-Ereignis – Karte eingesteckt“ ([SICCT#6.2.4.4], TAG ‚84’) wie folgt reagieren:

    • das meldende Kartenterminal CT in CTM_CT_LIST ermitteln,
    • den in der Ereignisnachricht benannten Slot ( FU Type und FU Index Value ) in CT.SLOTS_USED aufnehmen,
      • kontaktbehaftet und kontaktlos: SlotNo =  FU Index Value
    • 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-02 - Reaktion auf KT-Slot-Ereignis – Karte entfernt

    Der Kartenterminaldienst MUSS auf SICCT-Ereignisnachrichten „Slot-Ereignis – Karte entfernt“ ([SICCT#6.2.4.4], TAG ‚85’) wie folgt reagieren:

    • das meldende Kartenterminal CT in CTM_CT_LIST ermitteln,
    • den in der Ereignisnachricht benannten Slot ( FU Type und FU Index Value ) aus CT.SLOTS_USED entfernen,
      • kontaktbehaftet und kontaktlos: SlotNo =  FU Index Value
    • 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-04 - TUC_KON_050 „Beginne Kartenterminalsitzung“

    Der Konnektor MUSS den technischen Use Case „Beginne Kartenterminalsitzung” gemäß TUC_KON_050 umsetzen.

    Tabelle 36: 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

    • Neustart des Konnektors
    • nach dem Setzen eines Kartenterminals auf „aktiv“
    • im Rahmen eines erneuten Verbindungsversuchs
    Vorbedingungen
    ctId ist in CTM_CT_LIST vorhanden
    Eingangsdaten

    • ctId
      (zu verbindendes Kartenterminal)
    • role
      (Benutzerrolle; gültig sind: „User“ und „Admin“)
    Komponenten
    Konnektor, Kartenterminal
    Ausgangsdaten
    keine
    Nachbedingungen

    • TLS-Kanal und SICCT-Session mit gewünschter Benutzerrolle
      aufgebaut, wenn CT.CORRELATION >= "gepairt"
    • TLS-Kanal und SICCT-Session mit leerem Username, Password
      und Session ID aufgebaut, wenn CT.CORRELATION <=
      „zugewiesen“
    • Steck-Ereignisse für alle im KT befindlichen Karten ausgelöst, wenn
      CT.CORRELATION>=„gepairt“
    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.
             
    Der Konnektor MUSS genau die Ciphersuiten aus [gemSpec_Krypt] im Client-Hello anbieten, zu denen er  ID.SAK.AUT Schlüsselmaterial zur Verfügung hat (ECC bzw. RSA). 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 Server-Zertifikat der TLS-Verbindung den zum
        Kartenterminal gespeicherten Referenzdaten (CT.SMKT_AUT)
       übereinstimmt.
       
     a. Stimmt das Zertifikat nicht überein, prüfe, ob die ICCSN aus dem Server-Zertifikat der TLS-Verbindung mit der ICCSN der zum Kartenterminal gespeicherten Referenzdaten (CT.SMKT_AUT) übereinstimmt. Bei gleicher ICCSN speichere das Server-Zertifikat aus der TLS-Verbindung als neues Referenzdatum (CT.SMKT_AUT) und führe ein Wartungspairing mit dem Kartenterminal durch.
         b.  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“
    (5a): ICCSN-Vergleich Fehlgeschlagen, 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

    Tabelle 37: 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-Zertifikat unbekannt.
    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 38: 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
    • ein empfangenes Dienstbeschreibungspaket ohne vorheriges Service Discovery
    • manuelles Hinzufügen eines KT-Eintrags
    • ein empfangenes Dienstbeschreibungspaket nach vorherigem Auslösen eines manuellen Service Discovery
    Vorbedingungen
    •     entweder ist das KT noch nicht in CTM_CT_LIST enthalten
    •     oder das KT ist unter anderer IP/anderem Hostnamen schon gelistet
    Eingangsdaten
    •     Mode (AutoAdded, ManuallyAdded, ManuallyModified)
    •     IP-Adresse (IPv4)
    •     TCP-Port (optional)
    •     MAC-Adresse (optional)
    •     Hostname (optional)
    Komponenten
    Konnektor, Kartenterminal
    Ausgangsdaten
    • keine
    Nachbedingungen
    • Das Kartenterminal ist mit allen Gerätekenndaten in CTM_CT_LIST vorhanden
    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 39: 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-03 - TUC_KON_053 „Paire Kartenterminal“

    Der Konnektor MUSS den technischen Use Case „Paire Kartenterminal” gemäß TUC_KON_053 umsetzen.

    Tabelle 40: 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
    • KT ist in CTM_CT_LIST vorhanden
    • CT.CORRELATION = „zugewiesen“
    • CT.IS_PHYSICAL = Ja
    Eingangsdaten
    • ctId
    Komponenten
    Konnektor, Kartenterminal
    Ausgangsdaten
    • Keine
    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.
         
    Der Konnektor MUSS dabei genau die Ciphersuiten aus [gemSpec_Krypt] im Client-Hello anbieten, zu denen er ID.SAK.AUT Schlüsselmaterial zur Verfügung hat (RSA bzw. ECC).
        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 41: 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
    Hinweis zu Fehler 4041:
    Nur wenn dieser Fehler wegen eines Fehlers auf der SICCT-Schnittstelle auftritt, ist der SICCT-Fehlercode mit anzugeben.

    Abbildung 8: 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 42: 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
    • TUC_KON_054
    • Ereignis „KSR/UPDATE/END“ mit „Target=KT“
    • Verändern von CT.CORRELATION auf „zugewiesen“
    • Administratoraktion
    Vorbedingungen
    • ctId ist in CTM_CT_LIST vorhanden
    Eingangsdaten
    • ctId
    Komponenten
    Konnektor, Kartenterminal
    Ausgangsdaten
    • Supported (Boolean, True, wenn die Version des KT unterstützt wird)
    Nachbedingungen
    • Die Gerätekenndaten des Kartenterminals in CTM_CT_LIST sind aktualisiert
    Standardablauf
    Setze CT = CTM_CT_LIST(ctId)
    1. Wenn CT.CONNECTED=Nein: Rufe TUC_KON_050 {
          ctId,
          role = „User” }

    2. Folgende CT.Werte via SICCT GET STATUS ermitteln und befüllen:
      •    CT.SLOTCOUNT 
      •    CT.PRODUCTINFORMATION
      •    CT.EHEALTH_INTERFACE_VERSION (Element VER aus Discretionary Data Data Object (DD DO))
      •    CT.DISPLAY_CAPABILITIES (aus Display Capabilities Data Object in [SICCT#5.5.10.17])
    3. Finde Eintrag in CTM_SUPPORTED_KT_VERSIONS anhand der ersten beiden Stellen (Haupt- und Nebenversionsnummer) aus
      CT.EHEALTH_INTERFACE_VERSION

        Eintrag gefunden:         Die dritte Stelle der KT-Version ist im Vergleich
                                             zur dritten Stelle im gefundenen Eintrag:

                                                  >=:    Setze Result = True
                                                  <:    Setze Result = False
        Kein Eintrag gefunden: Setze Result = False
    1. Setze CT.VALID_VERSION auf Result
    2. Wenn Verbindung in (1) aufgebaut wurde, trenne Verbindung
    3. Liefere Result zurück
    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 43: 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
      • KT ist in CTM_CT_LIST vorhanden
      • CT.CORRELATION = „aktiv“
      • CT.CONNECTED = Ja
      • CT.IS_PHYSICAL = Ja
    Eingangsdaten
      • ctId
        (Kartenterminalidentifikator)

      • displayMessage – optional/nicht erforderlich bei opmode=  OutputErase, sonst mandatory
        (Text zur Darstellung am KT, Länge durch KT begrenzt);

      • opMode [KtOutputMode]
        (Kommando-Modus)

      • inputLength – optional/nur bei opMode=Input
        (erwartete Eingabelänge, 0 für „beliebig“ lang)

      • waitTimer – optional/nur bei opMode=OutputWait
        (Wartezeit bis zur ersten Eingabe in Sekunden)

    Komponenten
    Konnektor, Kartenterminal
    Ausgangsdaten
      • opResult [OK | ABBRUCH ] – optional/verpflichtend, wenn opMode=Input oder opMode=OutputConfirm
        (Nutzertastendruck)
      • inputData – optional/nur bei opMode = Input
        (Zifferneingabe des Benutzers)

    Nachbedingungen
    Wenn Mode=OutputKeep bleibt Data auf dem Display des KT stehen
    Standardablauf
    Setze CT = CTM_CT_LIST(ctId)
    1. opMode=
      1.           Input:
        Der Konnektor MUSS via SICCT INPUT am CT zur Eingabe auffordern. Dabei MUSS die KT-Ansteuerung so erfolgen, dass:

        • displayMessage zur Anzeige gebracht wird
        • maximal inputLength Ziffern akzeptiert werden. Bei inputLength=0 werden 1-n Zeichen akzeptiert (n=Maximalwert, definiert durch KT)
        • die eingegebenen Zeichen am Display angezeigt werden
        • die Eingabe explizit mit OK oder ABBRUCH beendet werden muss
      2.           OutputWait:
        Der Konnektor MUSS via SICCT OUTPUT am CT displayMessage zur Anzeige bringen. Nach einer Wartezeit von waitTimer Sekunden MUSS der Konnektor die Anzeige des KT leeren.
      3.           OutputConfirm:
        Der Konnektor MUSS via SICCT INPUT am CT displayMessage zur Anzeige bringen und auf eine Bestätigung durch den Nutzer warten (zulässig: OK, ABBRUCH)

      4.           OutputKeep:
        Der Konnektor MUSS via SICCT OUTPUT am CT displayMessage zur Anzeige bringen. Die Anzeige bleibt erhalten, bis das KT neue Informationen am Display darstellen muss/soll.

      5.           OutputErase:
        Der Konnektor MUSS via SICCT OUTPUT am CT die Anzeige leeren.

    Varianten/
    Alternativen

    • Ist das Kartenterminal-Display durch einen anderen, zeitgleich im Konnektor ablaufenden Vorgang reserviert, so muss der Konnektor zunächst maximal 10 Sekunden lang versuchen, Zugriff auf das Display zu erhalten (und somit parallele Zugriffe auf das Display zu serialisieren). Erst nach Ablauf der Wartezeit wird Fehler 4039 geworfen.
    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 44: 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 45: 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
      • cardObject
        (Informationsobjekt der Karte)
    Nachbedingungen
    Im Erfolgsfall enthält die CM_CARD_LIST ein neues CARD-Objekt des geforderten Typs.
    Standardablauf
    Setze CT = CTM_CT_LIST(ctId)
    1.      Falls displayMessage nicht explizit angegeben ist, MUSS sie gemäß Anforderung [TIP1-A_5408] erstellt werden.
    2.      Der Konnektor MUSS das Kommando SICCT REQUEST ICC an das Kartenterminal CT senden. Die verfügbaren Optionen (Optical Signal, Acoustic Signal) können herstellerspezifisch sein bzw. über die Konfigurationsschnittstelle des Konnektors eingestellt werden. displayMessage wird als Eingabeaufforderung mitgegeben. Der übergebene timeOut-Wert wird dem SICCT-Kommando als Parameter übergeben.
    3.      Falls die Karte noch nicht gesteckt war, wird durch das Stecken der Karte das Ereignis „Karte gesteckt“ ausgelöst, worauf der Konnektor reagiert [TIP1-A_4563].
    4.      Die Verarbeitung wird fortgesetzt, wenn eines der Ereignisse eingetreten ist:
      1.        SICCT REQUEST ICC kehrt mit '6201' zurück (eine aktivierte Karte steckte bereits)
      2.       SICCT REQUEST ICC kehrt mit '9000' oder '9001' zurück und das Ereignis "Karte gesteckt" wurde gemäß [TIP1-A_4563] verarbeitet
      3.       SICCT REQUEST ICC kehrt mit '9000' oder '9001' zurück und das Ereignis "Karte gesteckt" wurde nicht empfangen (eine deaktivierte Karte steckte bereits), die Karte wurde durch
              Rufe TUC_KON_001 {
                    ctId; slotId }
        geöffnet.
    In allen Fällen liegt in CM_CARD_LIST ein neues CARD-Objekt vor.
    1.      Falls cardType angegeben ist, wird nach erfolgreicher Ausführung von SICCT REQUEST ICC der AID des MF der gesteckten Karte gelesen und mit dem gewünschten Kartentyp in cardType verglichen. Bei fehlender Übereinstimmung wird der Ablauf mit dem Fehler 4051 abgebrochen.
    2.      Es wird cardObject (ein Informationsobjekt der Karte, die sich in dem Slot mit der Nummer slotId befindet) zurückgegeben.
    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 46: 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 47: 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
      • ctId
        (Kartenterminalidentifikator)

      • slotId
        (Nummer des Kartenslots)

      • displayMessage – optional  
        (Text zur Darstellung am Kartenterminal, Länge durch KT begrenzt)

      • timeOut
        (Wartezeit in Sekunden)

    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)
    1.      Der Konnektor prüft, dass entweder die Karte nicht reserviert ist oder der Aufrufer im Besitz des Karten-Locks ist.
    2.      Falls displayMessage nicht explizit angegeben ist, MUSS sie gemäß Anforderung [TIP1-A_5408] erstellt werden.
    3.      Der Konnektor MUSS das Kommando SICCT EJECT ICC an das Kartenterminal CT senden. Der Aufruf MUSS mit der Option „Delivery: Mechanical Throwout“ erfolgen. Die anderen Optionen (Optical Signal, Acoustic Signal) können herstellerspezifisch eingestellt werden bzw. können über die Konfigurationsschnittstelle des Konnektors eingestellt werden. Der übergebene Wert timeOut wird dem SICCT-Kommando als Parameter übergeben.
    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 48: 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 49: 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

    • ctId
      (Kartenterminalidentifikator)
    Komponenten
    Konnektor
    Ausgangsdaten
    CT.DISPLAY_CAPABILITIES
    Nachbedingungen
    Keine

    Standardablauf

    Setze CT = CTM_CT_LIST(ctId)
    1.      Der Konnektor prüft, ob CT.DISPLAY_CAPABILITIES belegt ist.
    2.      Falls CT.DISPLAY_CAPABILITIES belegt ist, wird der Inhalt der Variable zurückgegeben.
    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 50: 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 51: 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 52: 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
    Der Ablauf der Operation RequestCard ist in Tabelle TAB_KON_717 Ablauf RequestCard beschrieben.

    Tabelle 53: 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 54: 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 55: 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.
    Der Ablauf der Operation EjectCard ist in Tabelle TAB_KON_720 Ablauf EjectCard beschrieben.

    Tabelle 56: 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 57: 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 58: 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 59: 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-02 - 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 60: 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
    CT.SMKT_AUT.CRYPT RSA
    ECC
    Kryptographie des gespeicherten C.SMKT.AUT-Zertifikats
    Verbindungs
    daten



    CT.
    CORRELATION

    bekannt
    zugewiesen
    gepairt
    aktiv
    aktualisierend

    Der Korrelationsstatus zum Konnektor:
    • bekannt (über Service Announcement/Service Discovery gelernte Kartenterminals),
    • zugewiesen (durch den Administrator aus dem Bereich der bekannten Kartenterminals oder manuell konfigurierte Kartenterminals),
    • gepairt (Pairing erfolgreich aber noch nicht zum Verbindungsaufbau freigegeben)
    • aktiv (durch Administrator zum Verbindungsaufbau freigegeben),
    • aktualisierend (ein laufender Updatevorgang, ausgelöst durch den Konnektor; Der Zustand tritt ein, wenn der Kartenterminaldienst das Event „KSR/UPDATE/START" fängt und endet mit dem Event „KSR/UPDATE/END"),
    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 61: 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)
    Bestätigt der Administrator seine Eingaben, MUSS TUC_KON_054 mit Mode=ManuallyAdded und allen eingegebenen Parametern aufgerufen werden.
    [<=]

    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:

    1. 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.
    2. Erst nach Bestätigung durch den Administrator werden die Kartenterminalinformationen in die Kartenterminalverwaltung übernommen.
    3. 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]).
      1. 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.
      2. 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.
      3. 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.
    4. 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 62: 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.
    CERTSTATUS
    Valid
    Invalid
    Inconclusive
    NotAvailable
    Prüfungsergebnis aus TUC_KON_037 für 
    • C.HCI.OSIG von SMC-B
    • C.HP.QES von HBAx
    Default ist NotAvailable
    CARD.
    CERTOCSPRESPONSE
    Good
    Revoked
    Unknown
    NotAvailable
    OCSP-Response (TUC_KON_037) für
    • C.HCI.OSIG von SMC-B
    • C.HP.QES von HBAx
    Default ist NotAvailable
    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-03 - 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 MUSS für eGK Karten der Generation 3 unterstützen. Karten der Generation 3 sind alle Karten, deren Version des dem aktiven Objektsystem zugrundeliegenden Produkttyps (Tag ‘C1‘ in EF.Version2) den Wert 5.n.m hat, wobei n, m 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 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.

    Gemäß [gemSpec_eGK_ObjSys_G2.1#4.6] gibt es Karten, deren RSA-Zertifikatscontainer vorhanden, jedoch nicht befüllt sind.

    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 63: 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-XYZ0x0BEingabe•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:X0x0B(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:

    1.      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“
    2.      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.
    3.      Im PinInputKT verschlüsselt die gSMC-KT die eingegebene PIN mit dem zuvor erzeugten Sessionkey.
    4.      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.
    5.      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.
    6.      Das Result der Zielkarte wird an den Aufrufer zurückgegeben
    Fehlermeldung: Ein Fehler in der Verarbeitung führt zum Abbruch mit Fehlercode 4053 „Remote-PIN nicht möglich“ (Security, Error).
    [<=]

    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).

    A_25895 - Exklusive Nutzung des Karten-Kommunikationskanals durch Operation SecureSendAPDU

    Wenn eine Karte durch Aufruf der Operation StartCardSession reserviert ist, dann MUSS jeder weitere Aufruf von TUC_KON_023 mit doLock=true, welcher dieselbe Karte zu reservieren versucht, mit Fehlercode 4093 abbrechen. [<=]

    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“
    • 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.

    [<=]

    A_23614-02 - SMC-B Prüfung bei Steckvorgang

    Wenn der Konnektor einen Steckvorgang für eine SMC-B erkennt, MUSS der Konnektor - im Anschluss an die in TUC_KON_001 geforderten Aktionen - das ECC-Signaturzertifikat der SMC-B wie folgt prüfen. Wenn kein ECC-Zertifikat vorhanden ist, MUSS das RSA-Zertifikat geprüft werden:

    • Wenn MGM_LU_ONLINE= "Enabled"

      TUC_KON_037 „Zertifikat prüfen“{
         certificate = C.HCI.OSIG;
         qualifiedCheck = required;
         offlineAllowNoCheck = true;
         validationMode = OCSP;
         getOCSPResponses = includeRevocationInfo}
    • Ist das Ergebnis der Statusprüfung "good", MUSS die OCSP-Response im Konnektor gespeichert werden.
      Die maximale Dauer der Speicherung von SMC-B-Informationen im Konnektor ist in TIP1-A_4558 festgelegt.
    • Ist das Ergebnis der Statusprüfung nicht "good" MUSS der Konnektor ein Event auslösen: ("SMC-B Status not good") TUC_KON_256 „Systemereignis absetzen“ {
          topic = „CERT/CARD/STATUS”;
          eventType = Op;
          severity = Warning;
          parameters = („CARD_TYPE=$Type,
              ICCSN=$ICCSN,
              CARD_HANDLE=$CardHandle,
              CardHolderName=$CardHolderName,
               CertName=$Name von certificate,
              ExpirationDate=$validity“
    CARD_CERTSTATUS= $CARD.CERTSTATUS
          doLog=false;
          doDisp = true }
    • Wenn MGM_LU_ONLINE= "Disabled",

      TUC_KON_037 „Zertifikat prüfen“{
         certificate = C.HCI.OSIG;
         qualifiedCheck = required;
         offlineAllowNoCheck = true;
         validationMode = NONE }

      und Systemereignis senden
      (SMC-B Status not available") TUC_KON_256 „Systemereignis absetzen“ {
          topic = „CERT/CARD/STATUS”;
          eventType = Op;
          severity = Warning;
          parameters = („CARD_TYPE=$Type,
              ICCSN=$ICCSN,
              CARD_HANDLE=$CardHandle,
              CardHolderName=$CardHolderName,
               CertName=$Name von certificate,
              ExpirationDate=$validity“,
    CARD_CERTSTATUS= "NotAvailable")
          doLog=false;
          doDisp = true }

    Außerdem MUSS der Konnektor für das ECC-AUT-Zertifikat der SMC-B (C.HCI.AUT) den Zertifikatsablauf wie folgt prüfen. Wenn kein ECC-Zertifikat vorhanden ist, MUSS das RSA-Zertifikat geprüft werden:
    TUC_KON_033 „Zertifikatsablauf prüfen“ {
        cardSession;
        doInformClients = true } [<=]

    A_23311-01 - HBA Prüfung bei Steckvorgang

    Wenn der Konnektor einen Steckvorgang für einen HBAx erkennt, MUSS der Konnektor - im Anschluss an die in TUC_KON_001 geforderten Aktionen - das ECC-Signaturzertifikat des HBAx wie folgt prüfen. Wenn kein ECC-Zertifikat vorhanden ist, MUSS das RSA-Zertifikat geprüft werden:

    • Wenn MGM_LU_ONLINE= "Enabled" und die Verbindung zum VPN-Konzentrator TI aufgebaut ist

      TUC_KON_037 „Zertifikat prüfen“{
         certificate = C.HP.QES;
         qualifiedCheck = required;
         offlineAllowNoCheck = true;
         validationMode = OCSP;
         getOCSPResponses = includeRevocationInfo}
    • Ist das Ergebnis der Statusprüfung "good", MUSS die OCSP-Response im Konnektor gespeichert werden.
      Die maximale Dauer der Speicherung von HBA-Informationen im Konnektor ist in TIP1-A_4558 festgelegt.
    • Ist das Ergebnis der Statusprüfung nicht "good" MUSS der Konnektor ein Event auslösen: ("HBA Status not good") TUC_KON_256 „Systemereignis absetzen“ {
          topic = „CERT/CARD/STATUS”;
          eventType = Op;
          severity = Warning;
          parameters = („CARD_TYPE=$Type,
              ICCSN=$ICCSN,
              CARD_HANDLE=$CardHandle,
              CardHolderName=$CardHolderName,
              CertName=$Name von certificate,
              ExpirationDate=$validity“
    CARD_CERTSTATUS= $CARD.CERTSTATUS
          doLog=false;
          doDisp = true }

    • Wenn MGM_LU_ONLINE= "Disabled",

      TUC_KON_037 „Zertifikat prüfen“{
         certificate = C.HP.QES;
         qualifiedCheck = required;
         offlineAllowNoCheck = true;
         validationMode = NONE }

      und Systemereignis senden
      (HBA Status not available") TUC_KON_256 „Systemereignis absetzen“ {
          topic = „CERT/CARD/STATUS”;
          eventType = Op;
          severity = Warning;
          parameters = („CARD_TYPE=$Type,
              ICCSN=$ICCSN,
              CARD_HANDLE=$CardHandle,
              CardHolderName=$CardHolderName,
               CertName=$Name von certificate,
              ExpirationDate=$validity“,
    CARD_CERTSTATUS= "NotAvailable")
          doLog=false;
          doDisp = true }

    Außerdem MUSS der Konnektor für das ECC-AUT-Zertifikat des HBAx (C.HP.AUT) den Zertifikatsablauf wie folgt prüfen. Wenn kein ECC-Zertifikat vorhanden ist, MUSS das RSA-Zertifikat geprüft werden:
    TUC_KON_033 „Zertifikatsablauf prüfen“ {
        cardSession;
        doInformClients = true }
    [<=]

    A_23702 - Keine Verzögerungen durch Prüfungen bei Steckvorgang

    Der Konnektor SOLL die gemäß A_23311 für HBAx und A_23614 für SMC-B geforderten Prüfungen asynchron durchführen und die Verfügbarkeit der Karten für die fachliche Verwendung nicht verzögern. [<=]

    A_25860 - Reaktion auf abgelaufenen APDU-Szenario-Timer

    Der Konnektor MUSS bei Eintritt der Situationen a) oder b) die Aktionen 1) und 2) ausführen:


    a) Der vorhergehende, zu einer cardSession zugehörige Aufruf der Operation SecureSendAPDU wies keinen Fehler auf und der zu derselben cardSession zugehörige Folgeaufruf von SecureSendAPDU ist nicht innerhalb des durch den vorhergehenden Aufruf definierten Zeitraums (TimeSpan) nach Absenden der Response zum vorherigen Aufruf erfolgt.
    b) Der vorhergehende, zu einer cardSession zugehörige Aufruf der Operation StartCardSession wies keinen Fehler auf und der zugehörige erste Aufruf der Operation SecureSendAPDU ist nicht innerhalb des durch $CARD_SESSION_TIMEOUT definierten Zeitraums erfolgt.

    1) Aufruf von TUC_KON_224 { sessionID = sessionID(cardSession) }
    2) Ereignis auslösen durch TUC_KON_256 Systemereignis {
          topic = „CARD/SESSION/TIMEOUT“;         
          eventType = Op;              
          severity = Info;              
          parameters  = (CardType=eGK, SessionID=$sessionID, Timer=$Timer)}
    [<=]

    A_25801 - Loggen von G2.0 Karten nach dem Stecken.

    Der Konnektor MUSS immer wenn eine G2.0 SMC-B oder ein G2.0 HBA gesteckt wird im Anschluss an TUC_KON_001 folgende Aktionen ausführen:
    1. $pseudonym berechnen als erste 10 Zeichen von SHA256(ICCSN, Ablaufdatum)
    2. Setze abhängig vom $cardType 
    den Betriebszustand EC_G2_SMCB_USED($pseudonym) oder EC_G2_HBA_USED($pseudonym) mit den Parameter $expirationDate. Setze oder aktualisiere $ValidFrom auf die aktuellen Systemzeit. 
    Der Konnektor MUSS im Administrationsinterface eine Übersichtsseite für G2-Karten (HBA und SMC-B) führen, solange die Betriebszustände aktiv sind. Die Übersicht umfasst:
    - Zeitpunkt der letzten Steckung
    - CardTyp
    - card.Cardholder
    - ICCSN
    - Ablaufdatum
    - Pseudonym
    [<=]

    4.1.5.3 Interne TUCs, nicht durch Fachmodule nutzbar
    4.1.5.3.1 TUC_KON_001 „Karte öffnen“

    TIP1-A_4565-03 - TUC_KON_001 „Karte öffnen“

    Der Konnektor MUSS den technischen Use Case „Karte öffnen“ gemäß TUC_KON_001 umsetzen.

    Tabelle 64: 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
    •      In ctId/slotId steckt eine Karte
    Eingangsdaten
    •      ctId
      (Kartenterminalidentifikator)
    •      slotId
      (Nummer des Kartenslots)
    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.
    Wenn vorhanden, ist das ECC-Zertifikat zu verwenden, andernfalls das RSA-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 65: 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
    •     Indirekter Aufruf über durch Clientsysteme ausgeführte Operationen.
    •     Aufruf durch Fachmodul
    Vorbedingungen
    Keine
    Eingangsdaten
    • mandantId
    • clientSystemId
    • cardHandle
    • userId - optional/verpflichtend, wenn cardType = HBAx
    Komponenten
    Konnektor
    Ausgangsdaten
    • cardSession
    Standardablauf
    1.    Ermittle Card in CM_CARD_LIST über cardHandle
    2.    Prüfe dass der Karte entweder kein Lock zugeordnet ist oder der Aufrufer das Karten-Lock besitzt.
    3.    Ermittle cardSession in Card.CARDSESSION_LIST über mandantId, clientSystemId und userId
    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 66: 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 67: 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
    •     Aufruf des Use Case durch Basisdienste des Konnektors
    •     Aufruf des Use Cases durch ein Fachmodul im Konnektor
    •     Aufruf der Operation VerifyPin des CardService (siehe 4.1.5.5.1) durch das Clientsystem.
    Vorbedingungen
    Karte unterstützt die übergebene pinRef
    Eingangsdaten
    • cardSession
      (Kartensitzung der Karte, deren PIN verifiziert werden soll)
    • workplaceId
    • pinRef
      (Referenz auf die zu verifizierende PIN, gemäß der Objektsystem-Spezifikation des jeweiligen Kartentyps.)
    • actionName – optional/verpflichtend, wenn cardType = eGK
      (Zeichenkette, max. 32 bzw. 22 Zeichen PIN.AMTS_REP mit dem Namen der zugreifenden Fachanwendung bzw. des zu nutzenden Datenobjekts und der Zugriffsart, die mit dieser PIN freigeschaltet werden soll,
      z. B. für MRPIN.NFD: actionName  = „Notfalldaten schreiben“;
      Positionen in der Zeichenkette, an denen ein Zeilenumbruch bei der Ausgabe am Kartenterminal erlaubt ist, werden mit `0x0B` gekennzeichnet. `0x0B` zählt bei der Länge der Zeichenkette nicht.)
    • verificationType [Mandatorisch | Sitzung]
      (Art der PIN-Verifikation:
      •          Mandatorisch: PIN wird immer verifiziert.
      •          Sitzung: PIN wird nicht erneut verifiziert, falls dies für die cardSession zuvor bereits geschehen ist und der dadurch erreichte Sicherheitszustand nicht zurückgesetzt wurde.)
    Komponenten
    Karte, Kartenterminal, Konnektor
    Ausgangsdaten
    • pinResult [PinResult]
      (Ergebnis der PIN-Verifikation)
    • leftTries – optional/verpflichtend, wenn pinResult = REJECTED
      (Anzahl der verbleibenden Versuche)
    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“


    Abbildung 9: PIC_KON_111 Aktivitätsdiagramm zu „PIN verifizieren“

    Tabelle 68: TAB_KON_089 Fehlercodes TUC_KON_012 „PIN verifizieren“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4001
    Technical
    Error
    Interner Fehler
    4043
    Technical
    Warning
    Timeout bei der PIN-Eingabe
    4049
    Technical
    Error
    Abbruch durch den Benutzer
    4053
    Security
    Error
    Remote-PIN nicht möglich
    4060
    Technical
    Error
    Ressource belegt
    4063
    Security
    Error
    PIN bereits gesperrt (BLOCKED)
    4065
    Technical
    Warning
    PIN ist transportgeschützt, Änderung erforderlich
    4072
    Technical
    Error
    Ungültige PIN-Referenz PinRef
    4092
    Technical
    Error
    Remote-PIN-KT benötigt aber für diesen Arbeitsplatz nicht definiert
    4093
    Technical
    Error
    Karte wird in einer anderen Kartensitzung exklusiv verwendet
    4094
    Technical
    Error
    Timeout beim Kartenzugriff aufgetreten



    [<=]

    4.1.5.4.3 TUC_KON_019 „PIN ändern“

    TIP1-A_4568 - TUC_KON_019 „PIN ändern”

    Der Konnektor MUSS den technischen Use Case „PIN ändern“ gemäß TUC_KON_019 umsetzen.

    Tabelle 69: TAB_KON_736 – TUC_KON_019 „PIN ändern“

    Element
    Beschreibung
    Name
    TUC_KON_019 „PIN ändern“
    Beschreibung
    Dieser Use Case führt die Änderung einer PIN einer Karte durch. Dabei wird der Anwender am Display des Kartenterminals aufgefordert, alte und neue PIN einzugeben.
    Remote-PIN-Eingabe wird dabei automatisch unterstützt.
    Auslöser
    •       Aufruf der Operation ChangePin des CardService (siehe 4.1.5.5.2) durch das Clientsystem.
    •       Aufruf durch Fachmodul
    Vorbedingungen
    Karte unterstützt die übergebene pinRef
    Eingangsdaten
    •       cardSession
    •       workplaceId
      (Arbeitsplatz-Identifikator)
    •       pinRef
      (Referenz auf die zu ändernde PIN, gemäß der Objektsystem-Spezifikation des jeweiligen Kartentyps)
    •       sourceCardSession – optional/verpflichtend, wenn C2C erforderlich ist
      (CardSession der Karte, die für die Card-to-Card-Authentisierung bei Änderung der PIN einer eGK der Generation 1+ verwendet werden soll.)
    Komponenten
    Karte, Kartenterminal, Konnektor
    Ausgangsdaten
    •       pinResult [PinResult]
      (Ergebnis der PIN-Verifikation)
    •       leftTries – optional/verpflichtend, wenn pinStatus = REJECTED
      (verbleibende Versuche)
    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. Prüfe TUC_KON_022 „Liefere PIN-Status“ {cardSession; pinRef}<>BLOCKED
    4. Wenn pinRef=PIN.AMTS_REP,  dann
      rufe TUC_KON_012 „PIN verifizieren“ {
        cardSession;
        workplaceId;
          pinRef=PIN.CH;
        actionName= „”;
        mandatorisch}
    5. Wenn Card.TYP=eGK UND Card.Version=Generation1+, dann Aufruf TUC_KON_005 „Card-to-Card authentisieren“{
           sourceCardSession;
           targetCardSession=cardSession;
           AuthMode =einseitig}.
      Falls keine sourceCardSession angegeben ist, kann die CardSession der für den Mandanten verwalteten SMC-B verwendet werden.  
    6. Ermittle PinInputKT: Wenn Card.ctId ein dem Arbeitsplatz (workplaceId) lokal zugeordnetes Kartenterminal ist (siehe Relation [6], Kapitel 4.1.1.1)
      1. Setze PinInputKT = Card.CtID
      2. sonst „lokales Kartenterminal, das für die Remote-PIN-Eingabe zu verwenden ist“: PinInputKT = Arbeitsplatz(workplaceId).remote-PIN-KT(mandantId)
    7. Atomare Operation: PIN ändern inkl. Eventing und Ergebnisvermerk
      1. Rufe TUC_KON_256 {
            topic = „CARD/PIN/CHANGE_STARTED“;
            eventType = Op;
            severity = Info;
            parameters = („CardHandle=$, CardType=$,
                        ICCSN=$, CtID=$, SlotID=$, PinRef=$,
                        PinInputCtID=$PinInputKT“);
            doLog = false }
      2. Pin-Änderung über „MODIFY VERIFICATION DATA“ ([SICCT]) mit Display Messages entsprechend TAB_KON_090 Terminalanzeigen beim Eingeben der PIN am Kartenterminal.     Bei Änderung der Versicherten-PIN der  eGK ist dabei der Platzhalter „ANW“ durch den String „Änderung“ zu ersetzen. Der Platzhalter "#UVW-XYZ" entfällt für die PIN.QES des HBA.
        Wenn PinInputKT=Card.CtID, dann PIN-Änderung direkt an Card.CtID, ansonsten Remote-PIN-Eingabe gemäß (TIP1-A_5012)    
        Dabei sowohl Unterstützung normaler PIN-Änderung als auch Umsetzens eines Transportschutzes (alle Varianten gemäß Kartenspec sind zu unterstützen)
      3. Setze pinResult in Abhängigkeit von Ergebnis MODIFY VERIFICATION DATA:
        -    pinResult = OK für erfolgreiche Änderung
        -    pinResult = ERROR für Nutzer-Abbruch oder
                                   Bearbeitungsfehler (siehe Fehlerfälle)
            pinResult = REJECTED für falsche PIN-Eingaben;
                                 leftTries = x
                                 (bei Kartenantwort ´63 Cx´, x > 0)
        -    pinResult = BLOCKED für gesperrte PIN (bei Kartenantwort ´63 C0´)
      4. Rufe TUC_KON_256 {
            topic = „CARD/PIN/CHANGE_FINISHED“;
            eventType = Op;
            severity = Info;
            parameters = („CardHandle=$, CardType=$,
                        ICCSN=$;CtID=$, SlotID=$, PinRef=$,
                        PinInputCtID=$PinInputKT, Result=pinStatus“);
            doLog = false}
      5. Wenn Result = REJECTED oder BLOCKED , dann entferne PinRef aus CARDSESSION.AUTHSTATE
    8. Liefere pinResult und ggf. leftTries zurück
    Varianten/
    Alternativen
    Schritt 4: Für eGK G2.0 gilt:
        Wenn pinRef=PIN.AMTS_REP, dann
           rufe TUC_KON_012 „PIN verifizieren“ {
                  cardSession;
                  workplaceId;
                  pinRef=MRPIN.AMTS;
                  actionName= „”;
                  mandatorisch}
    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.
    * Karte antwortet nicht innerhalb von CARD_TIMEOUT_CARD Sekunden,
       Fehlercode 4094
    (2) Karte ist fremd reserviert, Fehlercode 4093
           (3) pinStatus=BLOCKED: Fehlercode 4063
    (5) sourceCardSession benötigt aber leer, Fehlercode 4071
    (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
    (7b) neue PIN zu kurz/lang: Fehlercode 4068
    (7b) zweite neue PIN<> erste neue PIN: Fehlercode 4067
           (7b) Timeout bei PIN-Eingabe: Fehlercode 4043.
    (7b) Abbruch durch Nutzer: Fehlercode 4049.
    (7b) Ist das Kartenterminal oder Teile davon (PIN-Pad, Display) durch
          einen anderen Vorgang reserviert: Fehlercode 4060
    (7b) kein PIN-Pad am Kartenterminal verfügbar: Fehlercode 4066
    (7b) Ungültige PIN-Referenz; Fehlercode 4072
    (7b) Karte antwortet mit einer spezifischen Fehlermeldung, Fehlercode
          <Kartenfehlercode gemäß [gemSpec_COS]>
    Zusätzliche Fehlerfälle ergeben sich aus der Remote-PIN-Eingabe gemäß (TIP1-A_5012)
    Nichtfunktionale Anforderungen
    keine
    Zugehörige Diagramme
    keine

    Tabelle 70: TAB_KON_093 Fehlercodes TUC_KON_019 „PIN ändern“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4043
    Technical
    Warning
    Timeout bei der PIN-Eingabe
    4049
    Technical
    Error
    Abbruch durch den Benutzer
    4053
    Security
    Error
    Remote-PIN nicht möglich
    4060
    Technical
    Error
    Ressource belegt
    4063
    Security
    Error
    PIN bereits blockiert (BLOCKED)
    4066
    Technical
    Error
    PIN Pad nicht verfügbar
    4067
    Security
    Error
    neue PIN nicht identisch
    4068
    Security
    Error
    neue PIN zu kurz/zu lang
    4071
    Technical
    Error
    keine Karte für C2C-Auth gesetzt
    4072
    Technical
    Error
    ungültige PIN-Referenz PinRef
    4092
    Technical
    Error
    Remote-PIN-KT benötigt aber für diesen Arbeitsplatz nicht definiert
    4093
    Technical
    Error
    Karte wird in einer anderen Kartensitzung exklusiv verwendet
    4094
    Technical
    Error
    Timeout beim Kartenzugriff aufgetreten
    [<=]

    4.1.5.4.4 TUC_KON_021 „PIN entsperren“

    TIP1-A_4569-02 - TUC_KON_021 „PIN entsperren“

    Der Konnektor MUSS den technischen Use Case „PIN entsperren“ gemäß TUC_KON_021 umsetzen.

    Tabelle 71: TAB_KON_236 – TUC_KON_021 „PIN entsperren“

    Element
    Beschreibung
    Name
    TUC_KON_021 „PIN entsperren“
    Beschreibung

    Dieser Use Case setzt den Fehlbedienungszähler für diese PIN in der Karte auf seinen Anfangswert zurück und es wird optional eine neue PIN gesetzt.
    Remote-PIN-Eingabe wird dabei automatisch unterstützt.
    Auslöser

    • Aufruf der Operation UnblockPin des CardService (siehe 4.1.5.5.4) durch das Clientsystem.
    Vorbedingungen
    Karte unterstützt die übergebene pinRef
    Eingangsdaten

    • cardSession
      CardSession der Karte, deren PIN entsperrt werden soll)
    • workplaceId
    • pinRef
      (Referenz auf die zu entsperrende PIN, gemäß der Objektsystem-Spezifikation des jeweiligen Kartentyps)
    setNewPin (true/false) - Angabe, ob eine neue PIN gesetzt oder die aktuelle weiterverwendet werden soll. Default = false
    sourceCardSession - optional/wenn eGK G1+
    (CardSession der Karte, die für die Card-to-Card-Authentisierung bei Entsperrung der PIN einer eGK der Generation 1+ verwendet werden soll)

    Komponenten
    Karte, Kartenterminal, Konnektor
    Ausgangsdaten

    • result [PukResult])
      (Ergebnis der PIN-Entsperrung durch PUK-Eingabe)
    • leftTries – optional/verpflichtend, wenn pukStatus = REJECTED
      (verbleibende Versuche des PUKs)
    Standardablauf

    1.       Ermittle Card = CM_CARD_LIST(Target.CardHandle)
    2.       Prüfe, dass der Karte entweder kein Lock zugeordnet ist oder der Aufrufer das Karten-Lock besitzt.
    3.       Wenn TUC_KON_022 „Liefere PIN-Status“ {
          cardSession;
          pinRef } <>( „BLOCKED“ oder "TRANSPORT_PIN" ) 
      dann beende TUC erfolgreich.
    4.       Wenn pinRef=PIN.AMTS_REP,  dann
      1.             setNewPin = true
      2.             rufe TUC_KON_012 „PIN verifizieren“ {
            cardSession;
            workplaceId;
              pinRef=PIN.CH;
            actionName= „”;
            mandatorisch}
    5.       Wenn Card.TYP=eGK UND Card.Version=Generation1+, dann Aufruf TUC_KON_005 „Card-to-Card authentisieren“ {
         sourceCardSession;
         targetCardSession=cardSession;
         AuthMode =einseitig }.
      Falls keine sourceCardSession angegeben ist, kann die CardSession der für den Mandanten verwalteten SMC-B verwendet werden.
    6.       Ermittle PinInputKT: Wenn Card.ctId ein dem Arbeitsplatz(workplaceId) lokal zugeordnetes Kartenterminal ist (siehe Relation [6], Kapitel 4.1.1.1)
      1.             Setze PinInputKT = Card.CtID
      2.             sonst „lokales Kartenterminal, das für die Remote-PIN-Eingabe zu verwenden ist“: PinInputKT = Arbeitsplatz(workplaceId).remote-PIN-KT(mandantId)
    7.       Atomare Operation: PIN entsperren inkl. Eventing und Ergebnisvermerk
      1.             Rufe TUC_KON_256 {
            topic = „CARD/PIN/CHANGE_STARTED“;
            eventType = Op;
            severity = Info;
            parameters = („CardHandle=$, CardType=$,
                        ICCSN=$, CtID=$; SlotID=$, PinRef=$,
                        PinInputCtID=$PinInputKT“);
            doLog=false}
      2.             PIN-Entsperrung mit Display Messages entsprechend TAB_KON_090 Terminalanzeigen beim Eingeben der PIN am Kartenterminal.    
        Wenn PinInputKT=Card.CtID, dann PIN-Änderung direkt an Card.CtID, ansonsten Remote-PIN-Eingabe gemäß (TIP1-A_5012)
        •     Für pinRef == PIN.QES über „PERFORM
          VERIFICATION“ [SICCT] mit dem eingebetteten Kommando Reset Retry Counter in der Variante P1=1 (keine neue PIN setzen).
        •     Für pinRef<>PIN.QES
          wenn setNewPin = false,
              dann über PERFORM VERIFICATION“ [SICCT],
          sonst über „MODIFY VERIFICATION DATA“ [SICCT].
          Das mit dem SICCT-Kommando als Command-To-Perform mitgesandte „Reset Retry Counter“ wird entsprechend dem Wert von setNewPIN parametrisiert.
      3.             Setze result in Abhängigkeit von Ergebnis Perform Verification bzw. Modify VerificationData:
        • result = OK für erfolgreiche Entsperrung
        • result = ERROR für Nutzer-Abbruch oder Bearbeitungsfehler (siehe Fehlerfälle)
        • result = REJECTED für falsche PUK;
        • result = BLOCKED für gesperrte PUK; (bei Kartenantwort ´63 C0´)
      4.             Rufe TUC_KON_256 {
          topic=„CARD/PIN/CHANGE_FINISHED“;
          eventType=Op; severity=Info;
          parameters = („CardHandle=$; CardType=$; ICCSN=$;CtID=$; SlotID=$; PinRef=$; PinInputCtID=$PinInputKT; Result=$“);
        doLog=false }
    8.       Liefere result und ggf. leftTries zurück
    Varianten/
    Alternativen

    Schritt 4: Für eGK G2.0 gilt:
        Wenn pinRef=PIN.AMTS_REP,  dann
           rufe TUC_KON_012 „PIN verifizieren“ {
                  cardSession;
                  workplaceId;
                  pinRef=MRPIN.AMTS;
                  actionName= „”;
                  mandatorisch}

    Fehlerfälle

    Schritt 7 wird mit allen Teilschritten durchlaufen. Ein als Fehler ausgewiesener Zustand führt erst nach Schritt 7d zum Abbruch des TUCs.
      * Karte antwortet nicht innerhalb von CARD_TIMEOUT_CARD
             Sekunden, Fehlercode 4094
      (2) Karte wird in einer anderen Kartensitzung exklusiv
             verwendet, Fehlercode 4093
      (5) sourceCardSession benötigt aber leer, Fehlercode 4071  
      (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
      (7b) blockierte PUK: Fehlercode 4064
      (7b) neue PIN zu kurz/lang: Fehlercode 4068
      (7b) zweite neue PIN<> erste neue PIN: Fehlercode 4067
      (7b) Timeout bei PIN Eingabe: Fehlercode 4043.
      (7b) Abbruch durch Nutzer: Fehlercode 4049.
      (7b) Ist das Kartenterminal oder Teile davon (PIN-Pad, Display) durch
            einen anderen Vorgang reserviert: Fehlercode 4060
      (7b) Karte/Kartenterminal antwortet mit einer spezifischen
            Fehlermeldung, Fehlercode <gemäß [gemSpec_COS]/[SICCT]>
      (7b) Ungültige PIN-Referenz; Fehlercode 4072.
    Zusätzliche Fehlerfälle ergeben sich aus der Remote-PIN-Eingabe gemäß (TIP1-A_5012)

    Nichtfunktionale Anforderungen
    Keine

    Zugehörige Diagramme
    Keine

    Tabelle 72: TAB_KON_193 Fehlercodes TUC_KON_021 „PIN entsperren“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4043
    Technical
    Warning
    Timeout bei der PIN-Eingabe
    4049
    Technical
    Error
    Abbruch durch den Benutzer
    4053
    Security
    Error
    Remote-PIN nicht möglich
    4060
    Technical
    Error
    Ressource belegt
    4064
    Security
    Error
    alte PIN bereits blockiert (hier: PUK)
    4067
    Security
    Error
    neue PIN nicht identisch
    4068
    Security
    Error
    neue PIN zu kurz/zu lang
    4072 Technical Error ungültige PIN-Referenz PinRef
    4092
    Technical
    Error
    Remote-PIN-KT benötigt aber für diesen Arbeitsplatz nicht definiert
    4093
    Technical
    Error Karte wird in einer anderen Kartensitzung exklusiv verwendet
    4094
    Technical
    Error
    Timeout beim Kartenzugriff aufgetreten
    [<=]

    4.1.5.4.5 TUC_KON_022 „Liefere PIN-Status“

    TIP1-A_4570 - TUC_KON_022 „Liefere PIN-Status“

    Der Konnektor MUSS den technischen Use Case „Liefere PIN-Status“ gemäß TUC_KON_022 umsetzen.

    Tabelle 73 TAB_KON_532 – TUC_KON_022 „Liefere PIN-Status“

    Element
    Beschreibung
    Name
    TUC_KON_022 „Liefere PIN-Status“
    Beschreibung
    Dieser Use Case prüft den Zustand eines PIN-Objekts einer Karte im Kontext einer CardSession.
    Auslöser
    • Aufruf des Use Case im Rahmen von technischen Use Cases der Basisdienste des Konnektors
    • Aufruf des Use Cases durch ein Fachmodul im Konnektor
    • Aufruf der Operation GetPinStatus des CardService (siehe 4.1.5.5.1) durch das Clientsystem.
    Vorbedingungen
    Karte unterstützt die übergebene pinRef
    Eingangsdaten
    • cardSession
    • pinRef
      (Pin-Referenz der angefragten PIN, gemäß der Objektsystem-Spezifikation des jeweiligen Kartentyps)
    Komponenten
    Karte, Kartenterminal, Konnektor
    Ausgangsdaten
    • pinStatus [PinStatus]
    • leftTries – optional/verpflichtend, wenn pinStatus = VERIFYABLE
      (Anzahl der verbleibenden Versuche für die Verifikation der PIN)
    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.         pinRef in CardSession.AUTHSTATE vorhanden:
       a) Ja:    Setze pinStatus = VERIFIED oder DISABLED (wie in
                    AUTHSTATE)
       b) Nein:Aufruf der Kartenoperation „GET PIN STATUS“, Antwort der
                    Karte wird ausgewertet:
                    a.             ´90 00´ (NoError: Verifiziert ): pinStatus =
                         VERIFYABLE  (da nicht in dieser CardSession verifiziert)
                    b.             ´62 C1´: pinStatus = TRANSPORT_PIN
                    c.             ´62 C7´: pinStatus = EMPTY_PIN (Leer-PIN)
                    d.             ´63 Cx´: pinStatus = VERIFYABLE  (mit 1<= x <= 3);
                        LeftTries=x
                    e.             ´63 C0´: pinStatus = BLOCKED; leftTries=0
                    f.              ´62 D0´: pinStatus = DISABLED (Verifikation nicht
                        erforderlich, da PIN-Schutz ausgeschaltet);
                        cardSession.AUTHSTATE aktualisieren
                    g.              Antwortet die Karte mit einer Fehlermeldung, bricht
                        der TUC ab.
    Liefere leftTries nur in den Fällen d und e zurück.
    Varianten/
    Alternativen

    Fehlerfälle
    * Karte antwortet nicht innerhalb von CARD_TIMEOUT_CARD Sekunden,
           Fehlercode 4094
    (3b) pinRef nicht gefunden: Fehlercode 4072
    Zugehörige
    Diagramme
    keine

    Tabelle 74: TAB_KON_091 Fehlercodes TUC_KON_022 „Liefere PIN-Status“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4072 Technical Error ungültige PIN-Referenz PinRef
    4094
    Technical
    Error
    Timeout beim Kartenzugriff aufgetreten

    [<=]

    4.1.5.4.6 TUC_KON_027 „PIN-Schutz ein-/ausschalten“

    TIP1-A_5486 - TUC_KON_027 „PIN-Schutz ein-/ausschalten"

    Der Konnektor MUSS den technischen Use Case TUC_KON_027 „PIN-Schutz ein-/ausschalten“ umsetzen.

    Tabelle 75: TAB_KON_240 - TUC_KON_027 „PIN-Schutz ein-/ausschalten”

    Element
    Beschreibung
    Name
    TUC_KON_027 „PIN-Schutz ein-/ausschalten”
    Beschreibung

    Schaltet das Erfordernis, die PIN zu verifizieren, ein bzw. aus.
    Diese Operation wird nur unterstützt für PINs der EGK G2 gemäß [gemSpec_eGK_ObjSys]; für sie können folgende Kommandos auf das Passwortobjekt angewendet werden:
    •       DISABLE VERIFICATION REQUIREMENT
    •       ENABLE VERIFICATION REQUIREMENT
    Auslöser

    •       Aufruf durch ein Fachmodul
    •       Aufruf der Operationen EnablePin und DisablePin des CardService durch das Clientsystem.
    Vorbedingungen
    Karte unterstützt die übergebene pinRef
    Eingangsdaten

    •       cardSession
      (CardSession einer EGK G2)
    •       pinRef
      (PIN-Referenz der ab-/anzuschaltenden PIN, gemäß der Objektsystem-Spezifikation des jeweiligen Kartentyps)
    •       enable [Boolean]
      (enable = true:  Erfordernis der Benutzerverifikation einschalten;
      enable = false: Erfordernis der Benutzerverifikation abschalten)
    Komponenten
    Konnektor
    Ausgangsdaten

    •       pinResult [PinResult]
      (Ergebnis von PIN-Schutz ein-/ausschalten durch PIN-Eingabe)
    •       leftTries – optional/verpflichtend nach fehlerhafter PIN
      (verbleibende Versuche)
    Standardablauf

     1. Ermittle Card = CM_CARD_LIST(cardSession)
     2. Prüfe, dass der Karte entweder kein Lock zugeordnet ist oder der
         Aufrufer im Besitz des Karten-Locks ist.
     3. Prüfe Card.Type = EGK und Generation ≥ 2

     4. Prüfe pinRef = MRPIN.AMTS und Card.Type = EGK
                   und Generation > 2.0
     5. Wenn enable
    A: =true:
            Atomare Operation: PIN bearbeiten inkl. Eventing und
            Ergebnisvermerk
             a.            Rufe TUC_KON_256 {
                       topic = „CARD/PIN/ENABLE_STARTED“;
                       eventType = Op;
                       severity = Info;
                       parameters = („CardHandle=$, CardType=$,
                                  ICCSN=$, CtID=$, SlotID=$, PinRef=$,
                                  PinInputCtID=$PinInputKT“);
                       doLog = false }
             b.            Aufruf des Kartenterminalkommandos „SICCT PERFORM
                 VERIFICATION“ mit der Kartenoperation „ENABLE
                 VERIFICATION REQUIREMENT” als Command-To-Perform. Es
                  ist der Parameter P1=’00’ (mit Benutzerverifikation) zu
                 verwenden. Die Anzeige am KT erfolgt entsprechend
                 TAB_KON_090 Terminalanzeigen beim Eingeben der PIN am
                  Kartenterminal. Ersetze in displayMessage „ANW“ entsprechend
                 ANW(pinRef) gemäß Tabelle TAB_KON_838.
              c.           Setze pinResult in Abhängigkeit von Ergebnis Perform
                 Verification:
                        -          pinResult = OK für erfolgreiche Änderung
                        -          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/ENABLE_FINISHED“;
                       eventType = Op;
                       severity = Info;
                       parameters = („CardHandle=$, CardType=$,
                               ICCSN=$, CtID=$, SlotID=$, PinRef=$,
                               PinInputCtID=$PinInputKT”);
                       doLog = false }
    B: =false:
              Atomare Operation: PIN bearbeiten inkl. Eventing und
             Ergebnisvermerk
             a.             Rufe TUC_KON_256 {
                       topic = „CARD/PIN/DISABLE_STARTED“;
                       eventType = Op;
                       severity = Info;
                       parameters = („CardHandle=$, CardType=$,
                               ICCSN=$, CtID=$, SlotID=$, PinRef=$,
                               PinInputCtID=$PinInputKT“);
                       doLog = false }
             b.             Aufruf des Kartenterminalkommandos „SICCT PERFORM
                VERIFICATION“ mit der Kartenoperation „DISABLE
                VERIFICATION REQUIREMENT” als Command-To-Perform. Es
                ist der Parameter P1=’00’ (mit Benutzerverifikation) zu
                verwenden. Die Anzeige am KT erfolgt entsprechend
                TAB_KON_090 Terminalanzeigen beim Eingeben der PIN am
                Kartenterminal. Ersetze in displayMessage „ANW“ entsprechend
                ANW(pinRef) gemäß Tabelle TAB_KON_838.
             c.             Setze pinResult in Abhängigkeit von Ergebnis Perform
                  Verification:
                         -             pinResult = OK für erfolgreiche Änderung
                         -             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

             d.            Rufe TUC_KON_256 {
                   topic = „CARD/PIN/DISABLE_FINISHED“;
                   eventType = Op;
                   severity = Info;
                   parameters = („CardHandle=$, CardType=$,
                          ICCSN=$;CtID=$, SlotID=$, PinRef=$,
                          PinInputCtID=$PinInputKT”);  
                          doLog=false}
    6. Liefere pinResult und leftTries zurück


    Varianten/
    Alternativen

    (->3) zur Optimierung kann vor Schritt 5 der PIN-Schutz geprüft werden:
     a.         pinStatus=TUC_KON_022 „Liefere PIN-Status“ { cardSession;
           pinRef }
     b.         Wenn pinStatus<>DISABLED und enable=true, dann
            pinResult=OK und -> weiter in Schritt 6
     c.         Wenn pinStatus=DISABLED und enable=false, dann
           pinResult=OK und -> weiter in Schritt 6

    Fehlerfälle

    (2) Karte ist fremd reserviert: Fehlercode 4093
    (3) Karte ist keine eGK der Generation 2 oder höher: Fehlercode 4209
    (4) PIN nicht gefunden; Karte ist eGK G2.0: Die Operation „PIN-Schutz ein-/ausschalten“ wird für MRPIN.AMTS nicht unterstützt: Fehlercode 4072
    (5) Karte antwortet nicht innerhalb von CARD_TIMEOUT_CARD Sekunden: Fehlercode 4094
    (5) PIN nicht gefunden: Fehlercode 4072
    (5) PIN gesperrt: Fehlercode 4063
    (5) Zugriffsbedingung nicht erfüllt (PIN nicht abschaltbar): Fehlercode 4085

    Nichtfunktionale Anforderungen

    Keine

    Zugehörige Diagramme

    keine

    Tabelle 76: TAB_KON_838 Mapping von pinRef auf ANW

    pinRef
    ANW (max. 16 Zeichen)
    MRPIN.NFD
    Notfalldaten
    MRPIN.DPE
    Pers.Erklärungen
    MRPIN.AMTS
    Medikationsdaten
    MRPIN.GDD
    PIN•GDD

    Hinweis zu TAB_KON_838: Leerzeichen werden als "•" dargestellt.

    Tabelle 77: TAB_KON_241 Fehlercodes TUC_KON_027 „PIN-Schutz ein/ausschalten“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4063
    Security
    Error
    PIN bereits blockiert (BLOCKED)
    4072
    Technical
    Error
    ungültige PIN-Referenz PinRef
    4085
    Security
    Error
    Zugriffsbedingung nicht erfüllt
    4093
    Technical
    Error
    Karte wird in einer anderen Kartensitzung exklusiv verwendet
    4094
    Technical
    Error
    Timeout beim Kartenzugriff aufgetreten
    4209
    Technical
    Error
    Kartentyp %CardType% wird durch diese Operation nicht unterstützt.


    [<=]

    4.1.5.4.7 TUC_KON_023 „Karte reservieren“

    TIP1-A_4571 - TUC_KON_023 „Karte reservieren“

    Der Konnektor MUSS den technischen Use Case „Karte reservieren“ gemäß TUC_KON_023 umsetzen.

    Tabelle 78: TAB_KON_533 - TUC_KON_023 „Karte reservieren”

    Element
    Beschreibung
    Name
    TUC_KON_023 „Karte reservieren”
    Dem Aufrufer des TUC_KON_023 wird beim Reservieren (DoLock=Ja) der Karte zur ausschließlichen Nutzung ein Lock zugeordnet. Wird der TUC-KON_023 mit diesem Lock zum Freigeben der Reservierung (DoLock=Nein) aufgerufen, dann erlischt das Lock und die ausschließliche Nutzung wird beendet. Der Scope der Kartenreservierung wird vom Aufrufer des TUC_KON_023 gesteuert.
    Das Lock ist Konnektor-intern. Es darf nicht außerhalb des Konnektors referenzierbar sein. Zwei verschiedene Operationsaufrufe am Konnektor dürfen nie ein identisches Lock haben.
    Der Konnektor MUSS sicherstellen, dass auch im Fehlerfall die Reservierung zu einem Lock aufgehoben wird. Ein Lock darf nicht dauerhaft bestehen.
    Beschreibung
    Reservierung der Karte
    Auslöser
    • Aufruf des Use Case im Rahmen von technischen Use Cases der
      Basisdienste des Konnektors

    • Aufruf des Use Cases durch ein Fachmodul im Konnektor
    Vorbedingungen
    Keine
    Eingangsdaten
    • cardSession
    • doLock [Boolean]
      (Zielzustand der Karte; true = reserviert, false = freigegeben)

    Komponenten
    Konnektor
    Ausgangsdaten
    Keine
    Standardablauf
     1. Ermittle Card = CM_CARD_LIST(cardSession)
     2. Wenn doLock
    A: = true:
           i.            Prüfe, dass der zur cardSession gehörenden Karte kein
               Lock zugeordnet ist

           ii.           Dem Aufrufer wird ein Lock auf die zur cardSession
               gehörende Karte zugeordnet. Es wird nicht explizit als
               Ausgangsdatum modelliert, sondern der Aufrufer hat das Lock
               durch die Zuordnung, muss es aber nicht verwalten.

    B: = false:
           i.            Prüfe, dass der Aufrufer für die zur cardSession gehörende
               Karte ein Lock hat.

           ii.           Das der Karte zugeordnete Lock wird gelöscht.

    Varianten/
    Alternativen

    Keine
    Fehlerfälle
    (2Ai) Karte bereits reserviert, Fehlercode 4093
    (2Bi) Karte nicht durch Aufrufer reserviert, Fehlercode 4001
    Nichtfunktionale Anforderungen
    Keine
    Zugehörige Diagramme
    Keine

    Tabelle 79: TAB_KON_534 Fehlercodes TUC_KON_023 „Karte reservieren“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4001
    Technical
    Error
    interner Fehler
    4093
    Technical
    Error
    Karte bereits reserviert

    [<=]

    4.1.5.4.8 TUC_KON_005 „Card-to-Card authentisieren“

    Die C2C-Authentisierung erfolgt konform zu den in [gemSpec_COS#15] festgelegten Authentisierungsprotokollen.

    Definition Quellkarte/Zielkarte:

    Bei einseitiger Card-to-Card-Authentisierung ohne Aushandlung eines Session Key ist die Quellkarte diejenige, die die Rolle des Karteninhabers bzw. der Organisation gemäß [gemSpec_PKI_TI#Tab_PKI_254] gegenüber der anderen Karte nachweist, z. B. der HBA bei der Freischaltung einer eGK.

    Bei gegenseitiger Card-to-Card-Authentisierung ohne Aushandlung eines Session Key erfolgen nach einander zwei einseitige Card-to-Card-Authentisierungen mit vertauschten Rollen. Quell- und Zielkarte habe daher für den Gesamtablauf keine nähere Bedeutung.

    Bei Card-to-Card-Authentisierung mit Aushandlung eines Session Key ist die Quellkarte diejenige, die die SM-APDUs produzieren kann, also die SMC (-KT oder -K).

    Die Zielkarte ist jeweils die Karte, die nicht die Quellkarte ist.

    TIP1-A_4572 - TUC_KON_005 „Card-to-Card authentisieren“

    Der Konnektor MUSS den technischen Use Case „Card-to-Card authentisieren“ gemäß TUC_KON_005 umsetzen.
    Die Card-to-Card-Authentisierung zwischen zwei Karten, bei der eine Karte der Generation 1+ angehört MUSS das RSA-Verfahren verwenden.
    Die Card-to-Card-Authentisierung zwischen zwei Karten der Generation 2 MUSS das Verfahren der elliptischen Kurven verwenden.

    Tabelle 80: TAB_KON_096 – TUC_KON_005 „Card-to-Card authentisieren”

    Element
    Beschreibung
    Name
    TUC_KON_005 „Card-to-Card authentisieren“
    Beschreibung
    Durchführung einer Card-to-Card-Authentisierung
    Auslöser
    • Aufruf des Use Case im Rahmen von technischen Use Cases der Basisdienste des Konnektors
    • Aufruf des Use Cases durch ein Fachmodul im Konnektor
    Vorbedingungen
    Wert von Source_CARDSESSION.AUTHSTATE: wenn Quellkarte
    a) ein HBA ist: CHV; PIN.CH, verifiziert
    b) eine SMC-B ist: CHV; PIN.SMC verifiziert
    Eingangsdaten
    • sourceCardSession
      (Quellkarte)

    • targetCardSession
      (Zielkarte)

    • authMode (gemäß Tabelle TAB_KON_673)
    Komponenten
    Karten, Konnektor, Kartenterminal
    Ausgangsdaten
    Keine
    Standardablauf
    1.     Ermittle sCard = CM_CARD_LIST(sourceCardSession)
    2.     Ermittle tCard = CM_CARD_LIST(targetCardSession)
    3.     Prüfe, dass der Quellkarte entweder kein Lock zugeordnet ist oder der Aufrufer im Besitz auf das Lock der Quellkarte ist.
      Prüfe, dass der
      Zielkarte entweder kein Lock zugeordnet ist oder der Aufrufer im Besitz auf das Lock der Zielkarte ist.
    4.     Prüfe Aufrufparameter auf erlaubte Kombination gemäß Tabelle TAB_KON_674
    5.     Wenn das zu verwendende CV-Zertifikat der Quellkarte ein CV-Zertifikat der Generation 2 oder höher ist, dann prüfe sein  Ausstellungsdatum (CED) gegen die aktuelle Zeit
    6.     Wenn Card.TYP=eGK UND Card.Version=Generation1+, dann prüfe, ob aktuelles System-Datum < 01.01.2019 ist
    7.     Wähle Key-Referenzen gemäß Tabelle TAB_KON_674
    8.     Prüfe pinRef/keyRef in sCard.CARDSESSION.AUTHSTATE und tCard.CARDSESSION.AUTHSTATE für adressierte Schlüssel wie in Zugriffsbedingung der Karten definiert vorhanden
    9.     Durchführung der Authentisierung gemäß Tabelle TAB_KON_673 mit Key-Referenzen gemäß Tabelle TAB_KON_674
    10.     Ergänze targetCardSession.AUTHSTATE mit tKeyRef und Rolle aus sKeyRef (CHA bzw. CHAT aus dem EndEntity-CV-Zertifikat der Quellkarte)
    Varianten/
    Alternativen

    (9) Wenn der für die CA-Zertifikatsprüfung zu selektierende CVC-Root-Key auf der Zielkarte nicht vorhanden ist (Returncode des Kartenkommandos „MANAGE SECURITY ENVIRONMENT“ ist ’6A 88’), dann muss der Konnektor:
     a)      das oder die passenden Cross-CV-Zertifikate aus dem Truststore
        auswählen

     b)      mit dem Kartenkommando „PSO Verify Certificate“ jedes
        ausgewählte Cross-CV-Zertifikat durch die Zielkarte prüfen lassen.
         Dadurch wird der im Cross-CV-Zertifikat enthaltene öffentliche
         Schlüssel an die Zielkarte übertragen. Die Zielkarte speichert den
        darin enthaltenen neuen CVC-Root-Key.

     c)      den neuen CVC-Root-Key auf der Zielkarte selektieren
     d)      den Standardablauf der C2C-Authentisierung fortsetzen
    (9) Wenn tCard.TYPE=EGK und AuthMode=gegenseitig,
          dann Echtheitsprüfung der eGK durch den Konnektor:

     a)      Freischaltung der EGK durch den HBA/die SMC-B:
         Durchführen der Authentisierung gemäß Tabelle TAB_KON_673 mit Key-Referenzen gemäß Tabelle TAB_KON_674 aber mit AuthMode=einseitig

     b)      Konnektor liest das CA-Zertifikat EF.C.CA_eGK.CS (G1+) bzw.
         C.CA_eGK.CS.E256 (G2)

     c)      Konnektor liest das End-Entity-Zertifikat der EGK
        EF.C.eGK.AUT_CVC (G1+) bzw. EF.C.eGK.AUT_CVC.E256 (G2)

     d)      Konnektor prüft das CVC-EE-Zertifikat mit TUC_KON_042 „CV-
        Zertifikat prüfen“ {
             certificate = C.eGK.AUT_CVC/C.eGK.AUT_CVC.E256;
             caCertificate  = C.CA_eGK.CS/C.CA_eGK.CS.E256 }

     e)      Konnektor erzeugt Zufallszahl
     f)       Konnektor selektiert den PrK.eGK.AUT_CVC (G1+) bzw.
      PrK.eGK.AUT_CVC.E256 (G2) und stellt abhängig von der Version
       der eGK den Algorithmus auf der eGK ein (MSE Set)

     g)      Konnektor sendet Konkatenation aus Zufallszahl und
       CARD.ICCSN mit dem Befehl „INTERNAL AUTHENTICATE“ an die
       eGK

     h)      Konnektor wertet das von der Karte erhaltene Chiffrat aus

    Fehlerfälle
    * Karte antwortet nicht innerhalb von CARD_TIMEOUT_CARD Sekunden, Fehlercode 4094
    (3) Eine Karte ist fremd reserviert, Fehlercode 4093
    (5) Zertifikat der Quellkarte fehlerhaft. Ausstellungsdatum liegt in der Zukunft; Fehlercode 4233
    (6) eGK G1+ ausgealtert, Fehlercode 4192
    (8) Nötige PIN, bzw. KeyRef ist nicht verifiziert, Fehlercode 4085
    (9) Je nachdem, welche Karte den Fehler verursachte, wird zum ursprünglichen Fehler (Fehlercode gemäß [gemSpec_COS]) im Error-Trace (welcher an erster Stelle im Falle des HBA z. B. bereits ein Fehler bezüglich PIN-Verifikation enthalten kann) noch ein weiterer mit Code 4056 oder 4057 hinzugefügt. Kann der Fehler nicht eindeutig einer der beiden Karten zugeordnet so wird Error-Code 4048 verwendet.

    Nichtfunktionale Anforderungen
    keine
    Zugehörige Diagramme
    Keine

    Tabelle 81: TAB_KON_673 AuthMode für C2C

    AuthMode
    Definition des Ablaufs
    einseitig
    Externe oder Interne Authentisierung
    ([gemSpec_COS#15.1] oder [gemSpec_COS#15.2], passend zu den Zugriffsregeln der beteiligten CVC)

    gegenseitig
    Card-2-Card-Authentisierung ohne Sessionkey-Aushandlung ([gemSpec_COS#15.3])
    gegenseitig+TC
    Card-2-Card-Authentisierung mit Sessionkey-Aushandlung zur Etablierung eines Trusted Channels ([gemSpec_COS#15.4])

    Tabelle 82: TAB_KON_674 Erlaubte Parameterkombinationen und resultierende CV-Zertifikate für C2C

    Quellkarte
    Zielkarte
    AuthMode
    sKeyRef
    tKeyRef
    Fachlicher
    UseCase

    HBA
    oder
    SM-B

    eGK G1+
    einseitig
    {HPC.AUTR_
    CVC.R2048 |
    SMC.AUTR_
    CVC.R2048}


    Freischaltung
    eGK

    HBA
    oder
    SM-B

    eGK G1+
    gegen
    seitig

    {HPC.AUTR_
    CVC.R2048 |
    SMC.AUTR_
    CVC.R2048}

    eGK.AUT_
    CVC.R2048

    Freischaltung
    eGK mit
    Echtheits
    prüfung eGK

    HBA
    oder
    SM-B

    eGK G2
    einseitig
    {HPC.AUTR_
    CVC.E256 |
    SMC.AUTR_
    CVC.E256}


    Freischaltung
    eGK

    HBA
    oder
    SM-B

    eGK G2
    gegen
    seitig

    {HPC.AUTR_
    CVC.E256 |
    SMC.AUTR_
    CVC.E256}

    eGK.AUT_
    CVC.E256

    Freischaltung
    eGK mit
    Echtheits
    prüfung eGK

    SMC-K
    HBA
    gegen
    seitig+TC

    SAK.AUTD_
    CVC.E256

    HPC.AUTD_
    SUK_CVC.E256

    DTBS-
    Übertragung
    bei QES

    SMC-KT
    HBA
    gegen
    seitig+TC

    SMC.AUTD_
    RPS_CVC.E256

    HPC.AUTD_
    SUK_CVC.E256

    Remote-PIN
    SMC-KT
    SM-B
    gegen
    seitig+TC

    SMC.AUTD_
    RPS_CVC.E256

    SMC.AUTD_
    RPE_CVC.E256

    Remote-PIN

    Tabelle 83: TAB_KON_535 Fehlercodes TUC_KON_005 „Card-to-Card authentisieren“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4048
    Technical
    Error
    Fehler bei der C2C-Authentisierung
    4056
    Technical
    Error
    Fehler bei der C2C-Authentisierung, Quellkarte
    4057
    Technical
    Error
    Fehler bei der C2C-Authentisierung, Zielkarte
    4085
    Security
    Error
    Zugriffsbedingungen nicht erfüllt
    4093
    Technical
    Error
    Karte wird in einer anderen Kartensitzung exklusiv verwendet
    4094
    Technical
    Error
    Timeout beim Kartenzugriff aufgetreten
    4192
    Security
    Error
    C2C mit eGK G1+ ab 01.01.2019  nicht mehr gestattet
    4233
    Security
    Error
    Ausstellungsdatum des Zertifikats liegt in der Zukunft;

    [<=]

    4.1.5.4.9 TUC_KON_202 „LeseDatei“

    TIP1-A_4573 - TUC_KON_202 „LeseDatei”

    Der Konnektor MUSS den technischen Use Case „LeseDatei“ gemäß TUC_KON_202 umsetzen.

    Tabelle 84: TAB_KON_218 – TUC_KON_202 „LeseDatei“

    Element
    Beschreibung
    Name
    TUC_KON_202 „LeseDatei“
    Beschreibung
    Transparente Datei oder Teile davon lesen
    Auslöser
    • Aufruf des Use Case im Rahmen von technischen Use Cases der Basisdienste des Konnektors
    • Aufruf des Use Cases durch ein Fachmodul im Konnektor
    Vorbedingungen
    Die Karte MUSS den nötigen Sicherheitszustand für den Zugriff besitzen
    Eingangsdaten
    • cardSession
    • fileIdentifier – optional/verpflichtend, wenn kein sfid angegeben ist
      (FID der zu lesenden Datei)
    • sfid– optional/verpflichtend, wenn kein fileIdentifier angegeben ist
      (Short File Identifier der zu lesenden Datei)
    • folder
      (Verzeichnis/Applikation auf der Karte, in dem sich die Datei befindet)
    • offset – optional/nur verwendbar, wenn fileIdentifier angegeben ist
      (Startposition innerhalb der Datei)
    • length – optional
      (Längenangabe, um den Zugriff auf Teile einer Datei einzuschränken)
    Komponenten
    Karte, Kartenterminal, Konnektor
    Ausgangsdaten
    • content
      (Gelesene Daten)
    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. Prüfe PinRef/KeyRef in CARDSESSION.AUTHSTATE für adressierte Datei wie in Zugriffsbedingung der Karte definiert vorhanden
    4. Selektiere Verzeichnis und Datei
    5. Lies Daten über Kartenkommando „READ BINARY“ unter Berücksichtigung von Offset- und Längenangaben
    6. Die gelesenen Daten werden an den Aufrufer zurückgegeben
    Varianten/
    Alternativen
    Wenn Card.TYPE = KVK, sendet der Konnektor in diesem Fall ein "Read Binary" im Sinne von SICCT 1.2.1, 5.5.8.1 "Kommandos für synchrone Chipkarten".
    Fehlerfälle
    * Karte antwortet nicht innerhalb von CARD_TIMEOUT_CARD Sekunden, Fehlercode 4094
    (2) Karte ist fremd reserviert, Fehlercode 4093
    (3) Nötige PIN ist nicht verifiziert, Fehlercode 4085
    (5) Verzeichnis deaktiviert, Fehlercode 4086
    (4-5) Karte antwortet mit einer spezifischen Fehlermeldung, Fehlercode <Kartenfehlercode gemäß [gemSpec_COS]>
    Nichtfunktionale Anforderungen
    Keine
    Zugehörige Diagramme
    Keine

    Tabelle 85: TAB_KON_536 Fehlercodes TUC_KON_202 „LeseDatei“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4085
    Security
    Error
    Zugriffsbedingungen nicht erfüllt
    4086
    Technical
    Error
    Verzeichnis deaktiviert
    4093
    Technical
    Error
    Karte wird in einer anderen Kartensitzung exklusiv verwendet
    4094
    Technical
    Error
    Timeout beim Kartenzugriff aufgetreten


    [<=]

    4.1.5.4.10 TUC_KON_203 „SchreibeDatei“

    TIP1-A_4574 - TUC_KON_203 „SchreibeDatei„

    Der Konnektor MUSS den technischen Use Case „SchreibeDatei“ gemäß TUC_KON_203 umsetzen.

    Tabelle 86: TAB_KON_219 – TUC_KON_203 „SchreibeDatei“

    Element
    Beschreibung
    Name
    TUC_KON_203 „SchreibeDatei“
    Beschreibung
    Daten in transparente Datei schreiben
    Auslöser
    • Aufruf durch Fachmodul
    Vorbedingungen
    Die Karte MUSS den nötigen Sicherheitszustand für den Zugriff besitzen.
    Eingangsdaten
    • cardSession
    • fileIdentifier – optional/verpflichtend, wenn kein sfid angegeben ist
      (FID der zu lesenden Datei)
    • sfid– optional/verpflichtend, wenn kein fileIdentifier angegeben ist
      (Short File Identifier der zu lesenden Datei)
    • folder
      (Verzeichnis/Applikation auf der Karte, in dem sich die Datei befindet)
    • offset– optional
      (Startposition innerhalb der Datei, default: 0)  
    • length – optional
      (Längenangabe, um den Zugriff auf Teile einer Datei einzuschränken; default: alles ab offset)
    • dataToBeWritten
      (Zu schreibende Daten)
    Komponenten
    Karte, Kartenterminal, Konnektor
    Ausgangsdaten
    Keine
    Standardablauf
    1.      Ermittle Card = CM_CARD_LIST(cardSession)
    2.      Prüfe Card.TYPE <> KVK
    3.      Prüfe, dass der Karte entweder kein Lock zugeordnet ist oder der Aufrufer das Karten-Lock besitzt.
    4.      Prüfe PinRef/KeyRef in CARDSESSION.AUTHSTATE für adressierte Datei wie in Zugriffsbedingung der Karte definiert vorhanden
    5.      Selektiere Verzeichnis
    6.      Selektiere Datei mittels SELECT mit P2=‘04‘ (Selektieren einer Datei, Antwortdaten mit FCP)
    7.      Ermittle size (Größe der selektierten Datei in Byte) mit size = numberOfOctet aus FCP
    8.      Wenn size – offset  >= Größe von dataToBeWritten in Byte,
      dann schreibe dataToBeWritten mittels Kartenkommando “UPDATE BINARY“ unter Berücksichtigung von Offset- und Längenangaben
    Varianten/
    Alternativen
    keine
    Fehlerfälle
    * Karte antwortet nicht innerhalb von CARD_TIMEOUT_CARD Sekunden, Fehlercode 4094
    (2) Schreibzugriff auf KVK nicht gestattet, Fehlercode 4085
    (3) Karte ist fremd reserviert, Fehlercode 4093
    (4) Nötige PIN ist nicht verifiziert, Fehlercode 4085
    (5) Verzeichnis oder Datei existiert nicht, Fehlercode 4087
    (4-5) Karte antwortet mit einer spezifischen Fehlermeldung, Fehlercode <Kartenfehlercode gemäß [gemSpec_COS]>
    (6) Ausgewählte Datei ist nicht transparent, Fehlercode 4089
    (6) Verzeichnis deaktiviert, Fehlercode 4086
    (8) dataToBeWritten sind größer als der zur Verfügung stehende Speicherplatz, Fehlercode 4247
    Nichtfunktionale Anforderungen
    keine
    Zugehörige Diagramme
    keine

    Tabelle 87: TAB_KON_537 Fehlercodes TUC_KON_203 „Schreibe Datei“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4085
    Security
    Error
    Zugriffsbedingungen nicht erfüllt
    4086
    Technical
    Error
    Verzeichnis deaktiviert
    4087
    Technical
    Error
    Datei nicht vorhanden
    4089
    Technical
    Error
    Datei ist vom falschen Typ
    4093
    Technical
    Error
    Karte wird in einer anderen Kartensitzung exklusiv verwendet
    4094
    Technical
    Error
    Timeout beim Kartenzugriff aufgetreten
    4247
    Technical
    Error
    Speicherplatz auf der Karte nicht ausreichend


    [<=]

    4.1.5.4.11 TUC_KON_204 „LöscheDateiInhalt“

    TIP1-A_5476 - TUC_KON_204 „LöscheDateiInhalt”

    Der Konnektor MUSS den technischen Use Case „LöscheDateiInhalt“ gemäß TUC_KON_204 umsetzen.

    Tabelle 88: TAB_KON_204 – TUC_KON_204 „LöscheDateiInhalt“

    Element
    Beschreibung
    Name
    TUC_KON_204 „LöscheDateiInhalt“
    Beschreibung
    Inhalt einer transparenten Datei löschen
    Auslöser
    • Aufruf des Use Cases durch ein Fachmodul im Konnektor
    Vorbedingungen
    Die Karte MUSS den nötigen Sicherheitszustand für den Zugriff besitzen
    Eingangsdaten
    • cardSession
    • fileIdentifier – optional/verpflichtend, wenn kein sfid angegeben ist
      (FID der zu bearbeitenden Datei)
    • sfid– optional/verpflichtend, wenn kein fileIdentifier angegeben ist
      (Short File Identifier der zu bearbeitenden Datei)
    • folder
      (Verzeichnis/Applikation auf der Karte, in dem sich die Datei befindet)
    • offset – optional
      (Position, ab der der Inhalt gelöscht werden soll. Default: 0)
    Komponenten
    Karte, Kartenterminal, Konnektor
    Ausgangsdaten
    keine
    Standardablauf
    1.      Ermittle Card = CM_CARD_LIST(cardSession)
    2.      Prüfe Card.TYPE <> KVK
    3.      Prüfe, dass der Karte entweder kein Lock zugeordnet ist oder der Aufrufer im Besitz des Karten-Locks ist.
    4.      Prüfe PinRef/KeyRef in CARDSESSION.AUTHSTATE für adressierte Datei wie in Zugriffsbedingung der Karte definiert vorhanden
    5.      Selektiere Verzeichnis und Datei
    6.      Lösche Inhalt der selektierten Datei über Kartenkommando „ERASE BINARY“, ggf. ab angegebenem Offset, sonst ab Anfang
    Varianten/
    Alternativen
    keine
    Fehlerfälle
    * Karte antwortet nicht innerhalb von CARD_TIMEOUT_CARD Sekunden, Fehlercode 4094
    (2) Karte ist keine eGK der Generation 2 oder höher: Fehlercode 4209 (3) Karte ist fremd reserviert, Fehlercode 4093
    (4) Nötige PIN ist nicht verifiziert, Fehlercode 4085
    (5) Verzeichnis oder Datei existiert nicht, Fehlercode 4087
    (6) Ausgewählte Datei ist nicht transparent, Fehlercode 4089
    (6) Verzeichnis deaktiviert, Fehlercode 4086
    (5-6) Karte antwortet mit einer spezifischen Fehlermeldung, Fehlercode <Kartenfehlercode gemäß [gemSpec_COS]>
    Nichtfunktionale Anforderungen
    Keine
    Zugehörige Diagramme
    Keine

    Tabelle 89: TAB_KON_785 Fehlercodes TUC_KON_204 „LöscheDateiInhalt“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4085
    Security
    Error
    Zugriffsbedingungen nicht erfüllt
    4086
    Technical
    Error
    Verzeichnis deaktiviert
    4087
    Technical
    Error
    Datei nicht vorhanden
    4089
    Technical
    Error
    Datei ist vom falschen Typ
    4093
    Technical
    Error
    Karte wird in einer anderen Kartensitzung exklusiv verwendet
    4094
    Technical
    Error
    Timeout beim Kartenzugriff aufgetreten
    4209
    Technical
    Error
    Kartentyp %CardType% wird durch diese Operation nicht unterstützt.


    [<=]

    4.1.5.4.12 TUC_KON_209 „LeseRecord“

    TIP1-A_4575 - TUC_KON_209 „LeseRecord”

    Der Konnektor MUSS den technischen Use Case „LeseRecord“ gemäß TUC_KON_209 umsetzen.

    Tabelle 90: TAB_KON_538 – TUC_KON_209 „LeseRecord“

    Element
    Beschreibung
    Name
    TUC_KON_209 „LeseRecord"
    Beschreibung
    Daten aus strukturierter Datei lesen
    Auslöser
    • Aufruf durch Fachmodul
    Vorbedingungen
    Die Karte MUSS den nötigen Sicherheitszustand für den Zugriff besitzen
    Eingangsdaten
    • cardSession
    • fileIdentifier – optional/verpflichtend, wenn kein sfid angegeben ist
      (FID der zu lesenden Datei)
    • sfid– optional/verpflichtend, wenn kein fileIdentifier angegeben ist
      (Short File Identifier der zu lesenden Datei)
    • folder
      (Verzeichnis/Applikation auf der Karte, in dem sich die Datei befindet)
    • recordNumber
    Komponenten
    Karte, Kartenterminal, Konnektor
    Ausgangsdaten
    • content
      (Inhalt des Records)
    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. Prüfe PinRef/KeyRef in CARDSESSION.AUTHSTATE für adressierte Datei wie in Zugriffsbedingung der Karte definiert vorhanden
    4. Selektiere Verzeichnis und ggf. Datei
    5. Lies Daten über Kartenkommando „READ RECORD“ unter Berücksichtigung von recordNumber
    6. Rückgabe der Daten an den Aufrufer
    Varianten/
    Alternativen
    keine
    Fehlerfälle
    * Karte antwortet nicht innerhalb von CARD_TIMEOUT_CARD Sekunden, Fehlercode 4094
    (2) Karte ist fremd reserviert, Fehlercode 4093
    (3) Nötige PIN ist nicht verifiziert, Fehlercode 4085
    (4) Verzeichnis oder Datei oder Record existiert nicht, Fehlercode 4087
    (5) Wenn Karte WrongFileType liefert, Fehlercode 4089
    (5) Verzeichnis deaktiviert, Fehlercode 4086
    (4-5) Karte antwortet mit einer spezifischen Fehlermeldung, Fehlercode <Kartenfehlercode gemäß [gemSpec_COS]>.
    Nichtfunktionale Anforderungen
    keine
    Zugehörige Diagramme
    keine

    Tabelle 91: TAB_KON_539 Fehlercodes TUC_KON_209 „LeseRecord“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4085
    Security
    Error
    Zugriffsbedingungen nicht erfüllt
    4086
    Technical
    Error
    Verzeichnis deaktiviert
    4087
    Technical
    Error
    Datei nicht vorhanden
    4089
    Technical
    Error
    Datei ist vom falschen Typ
    4093
    Technical
    Error
    Karte wird in einer anderen Kartensitzung exklusiv verwendet
    4094
    Technical
    Error
    Timeout beim Kartenzugriff aufgetreten


    [<=]

    4.1.5.4.13 TUC_KON_210 „SchreibeRecord“

    TIP1-A_4576 - TUC_KON_210 „SchreibeRecord“

    Der Konnektor MUSS den technischen Use Case „SchreibeRecord“ gemäß TUC_KON_210 umsetzen.

    Tabelle 92: TAB_KON_224 – TUC_KON_210 „SchreibeRecord“

    Element
    Beschreibung
    Name
    TUC_KON_210 „SchreibeRecord"
    Beschreibung
    Daten in lineare Datei schreiben
    Auslöser
    • Aufruf durch Fachmodul
    Vorbedingungen
    Die Karte MUSS den nötigen Sicherheitszustand für den Zugriff besitzen
    Eingangsdaten
    • cardSession
    • fileIdentifier – optional/verpflichtend, wenn kein sfid angegeben ist
      (FID der zu bearbeitenden Datei)
    • sfid– optional/verpflichtend, wenn kein fileIdentifier angegeben ist
      (Short File Identifier der zu bearbeitenden Datei)
    • folder
      (Verzeichnis/Applikation auf der Karte, in dem sich die Datei befindet)
    • recordNumber
    • dataToBeWritten
      (Zu schreibende Daten)
    Komponenten
    Karte, Kartenterminal, Konnektor
    Ausgangsdaten
    keine
    Standardablauf
    1. Ermittle Card = CM_CARD_LIST(cardSession)
    2. Prüfe Card.TYPE <> KVK
    3. Prüfe, dass der Karte entweder kein Lock zugeordnet ist oder der Aufrufer das Karten-Lock besitzt.
    4. Prüfe PinRef/KeyRef in CARDSESSION.AUTHSTATE für adressierte Datei wie in Zugriffsbedingung der Karte definiert vorhanden
    5. Selektiere Verzeichnis und ggf. Datei
    6. Schreibe Daten über Kartenkommando „UPDATE RECORD“ unter Berücksichtigung von recordNummer
    Varianten/
    Alternativen
    keine
    Fehlerfälle
    * Karte antwortet nicht innerhalb von CARD_TIMEOUT_CARD Sekunden, Fehlercode 4094
    (2) Schreibzugriff auf KVK nicht gestattet, Fehlercode 4085
    (3) Karte ist fremd reserviert, Fehlercode 4093
    (4) Nötige PIN ist nicht verifiziert, Fehlercode 4085
    (5) Verzeichnis, Datei existiert nicht, Fehlercode 4087
    (5-6) Verzeichnis deaktiviert, Fehlercode 4086
    (4-6) Karte antwortet mit einer spezifischen Fehlermeldung, Fehlercode <Kartenfehlercode gemäß [gemSpec_COS]>
    Nichtfunktionale Anforderungen
    keine
    Zugehörige Diagramme
    keine

    Tabelle 93: TAB_KON_540 Fehlercodes TUC_KON_210 „SchreibeRecord“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4085
    Security
    Error
    Zugriffsbedingungen nicht erfüllt
    4086
    Technical
    Error
    Verzeichnis deaktiviert
    4087
    Technical
    Error
    Datei nicht vorhanden
    4088
    Technical
    Error
    Datensatz zu groß
    4093
    Technical
    Error
    Karte wird in einer anderen Kartensitzung exklusiv verwendet
    4094
    Technical
    Error
    Timeout beim Kartenzugriff aufgetreten


    [<=]

    4.1.5.4.14 TUC_KON_211 „LöscheRecordInhalt“

    TIP1-A_5477 - TUC_KON_211 „LöscheRecordInhalt“

    Der Konnektor MUSS den technischen Use Case „LöscheRecordInhalt“ gemäß TUC_KON_211 umsetzen.

    Tabelle 94: TAB_KON_211 – TUC_KON_211 „LöscheRecordInhalt“

    Element
    Beschreibung
    Name
    TUC_KON_211 „LöscheRecordInhalt“
    Beschreibung
    Inhalt eines Records einer strukturierten Datei löschen
    Auslöser
    •   Aufruf des Use Case im Rahmen von technischen Use Cases der Basisdienste des Konnektors
    •   Aufruf des Use Cases durch ein Fachmodul im Konnektor
    Vorbedingungen
    Die Karte MUSS den nötigen Sicherheitszustand für den Zugriff besitzen
    Eingangsdaten
    • cardSession
    • fileIdentifier – optional/verpflichtend, wenn kein sfid angegeben ist
      (FID der zu bearbeitenden Datei)
    • sfid– optional/verpflichtend, wenn kein fileIdentifier angegeben ist
      (Short File Identifier der zu bearbeitenden Datei)
    • folder
      (Verzeichnis/Applikation auf der Karte, in dem sich die Datei befindet)
    • recordNumber
    Komponenten
    Karte, Kartenterminal, Konnektor
    Ausgangsdaten
    keine
    Standardablauf
    1. Ermittle Card = CM_CARD_LIST(cardSession)
    2. Prüfe Card.TYPE <> KVK
    3. Prüfe, dass der Karte entweder kein Lock zugeordnet ist oder der Aufrufer im Besitz des Karten-Locks  ist.
    4. Prüfe PinRef/KeyRef in CARDSESSION.AUTHSTATE für adressierte Datei wie in Zugriffsbedingung der Karte definiert vorhanden
    5. Selektiere Verzeichnis und Datei
    6. Lösche Recordinhalt (identifiziert durch recordNumber) der selektierten Datei über Kartenkommando „ ERASE RECORD“
    Varianten/
    Alternativen
    keine
    Fehlerfälle
    * Karte antwortet nicht innerhalb von CARD_TIMEOUT_CARD Sekunden, Fehlercode 4094
    (2) Karte ist keine eGK der Generation 2 oder höher: Fehlercode 4209
    (3) Karte ist fremd reserviert, Fehlercode 4093
    (4) Nötige PIN ist nicht verifiziert, Fehlercode 4085
    (5) Verzeichnis, Datei oder Record existiert nicht, Fehlercode 4087
    (6) Verzeichnis deaktiviert, Fehlercode 4086
    (6) Record nicht vorhanden, Fehlercode 4091
    (5-6) Karte antwortet mit einer spezifischen Fehlermeldung, Fehlercode <Kartenfehlercode gemäß [gemSpec_COS]>
    Nichtfunktionale Anforderungen
    Keine
    Zugehörige Diagramme
    Keine

    Tabelle 95: TAB_KON_786 Fehlercodes TUC_KON_211 „LöscheRecordInhalt“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4085
    Security
    Error
    Zugriffsbedingungen nicht erfüllt
    4086
    Technical
    Error
    Verzeichnis deaktiviert
    4087
    Technical
    Error
    Datei nicht vorhanden
    4091
    Technical
    Error
    Record nicht vorhanden
    4093
    Technical
    Error
    Karte wird in einer anderen Kartensitzung exklusiv verwendet
    4094
    Technical
    Error
    Timeout beim Kartenzugriff aufgetreten
    4209
    Technical
    Error
    Kartentyp %CardType% wird durch diese Operation nicht unterstützt.
    [<=]

    4.1.5.4.15 TUC_KON_214 „FügeHinzuRecord“

    TIP1-A_4577 - TUC_KON_214 „FügeHinzuRecord”

    Der Konnektor MUSS den technischen Use Case „FügeHinzuRecord“ gemäß TUC_KON_214 umsetzen.

    Tabelle 96: TAB_KON_228 – TUC_KON_214 „FügeHinzuRecord“

    Element
    Beschreibung
    Name
    TUC_KON_214 „FuegeHinzuRecord"
    Beschreibung
    Daten in lineare Datei anfügen
    Auslöser
    • Aufruf durch Fachmodul
    • TUC_KON_006
    Vorbedingungen
    Die Karte MUSS den nötigen Sicherheitszustand für den Zugriff besitzen
    Eingangsdaten
    • cardSession
    • fileIdentifier – optional/verpflichtend, wenn kein sfid angegeben ist
      (FID der zu bearbeitenden Datei)
    • sfid– optional/verpflichtend, wenn kein fileIdentifier angegeben ist
      (Short File Identifier der zu bearbeitenden Datei)
    • folder
      (Verzeichnis/Applikation auf der Karte, in dem sich die Datei befindet)
    • dataToBeWritten
      (Zu schreibende Daten)
    Komponenten
    Karte, Kartenterminal, Konnektor
    Ausgangsdaten
    keine
    Standardablauf
    1.      Ermittle Card = CM_CARD_LIST(cardSession)
    2.      Prüfe Card.TYPE <> KVK
    3.      Prüfe, dass der Karte entweder kein Lock zugeordnet ist oder der Aufrufer das Karten-Lock besitzt.
    4.      Prüfe PinRef/KeyRef in CARDSESSION.AUTHSTATE für adressierte Datei wie in Zugriffsbedingung der Karte definiert vorhanden
    5.      Selektiere Verzeichnis und ggf. Datei
    6.      Schreibe Daten über Kartenkommando „APPEND RECORD“
    Varianten/
    Alternativen
    keine
    Fehlerfälle
    * Karte antwortet nicht innerhalb von CARD_TIMEOUT_CARD Sekunden, Fehlercode 4094
    (2) Schreibzugriff auf KVK nicht gestattet, Fehlercode 4085
    (3) Karte ist fremd reserviert, Fehlercode 4093
    (4) Nötige PIN ist nicht verifiziert, Fehlercode 4085
    (5-6) Verzeichnis, Datei existiert nicht, Fehlercode 4087
    (6) Verzeichnis deaktiviert, Fehlercode 4086
    (5-6) Karte antwortet mit einer spezifischen Fehlermeldung, Fehlercode <Kartenfehlercode gemäß [gemSpec_COS]>
    Nichtfunktionale Anforderungen
    keine
    Zugehörige Diagramme
    keine

    Tabelle 97: TAB_KON_541 Fehlercodes TUC_KON_214 „FügeHinzuRecord“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4085
    Security
    Error
    Zugriffsbedingungen nicht erfüllt
    4086
    Technical
    Error
    Verzeichnis deaktiviert
    4087
    Technical
    Error
    Datei nicht vorhanden
    4093
    Technical
    Error
    Karte wird in einer anderen Kartensitzung exklusiv verwendet
    4094
    Technical
    Error
    Timeout beim Kartenzugriff aufgetreten
    [<=]

    4.1.5.4.16 TUC_KON_215 „SucheRecord“

    TIP1-A_4578 - TUC_KON_215 „SucheRecord“

    Der Konnektor MUSS den technischen Use Case „SucheRecord“ gemäß TUC_KON_215 umsetzen.

    Tabelle 98: TAB_KON_229 – TUC_KON_215 „SucheRecord“

    Element
    Beschreibung
    Name
    TUC_KON_215 „SucheRecord"
    Beschreibung
    Daten in linearer Datei suchen
    Auslöser
    • Aufruf durch Fachmodul
    Vorbedingungen
    Die Karte MUSS den nötigen Sicherheitszustand für den Zugriff besitzen
    Eingangsdaten
    • cardSession
    • fileIdentifier – optional/verpflichtend, wenn kein sfid angegeben ist
      (FID der zu bearbeitenden Datei)
    • sfid– optional/verpflichtend, wenn kein fileIdentifier angegeben ist
      (Short File Identifier der zu bearbeitenden Datei)
    • folder
      (Verzeichnis/Applikation auf der Karte, in dem sich die Datei befindet)
    • pattern
      (SuchMuster)
    • recordNumber – optional; default = 1
      (Recordnummer, bei der Suche beginnen soll) ()
    Komponenten
    Karte, Kartenterminal, Konnektor
    Ausgangsdaten
    • numbersFound
      (Liste: Nummern der Records, die dem SuchMuster entsprechen)
    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.      Prüfe PinRef/KeyRef in CARDSESSION.AUTHSTATE für adressierte Datei wie in Zugriffsbedingung der Karte definiert vorhanden
    4.      Selektiere Verzeichnis und ggf. Datei
    5.      Sende Kartenkommando „SEARCH RECORD“ mit SuchMuster pattern unter Berücksichtigung von recordNumber
    6.      Liefere Antwort der Karte zurück
    Varianten/
    Alternativen
    Keine
    Fehlerfälle
    * Karte antwortet nicht innerhalb von CARD_TIMEOUT_CARD-Sekunden, Fehlercode 4094
    (2) Karte ist fremd reserviert, Fehlercode 4093
    (3) Nötige PIN ist nicht verifiziert, Fehlercode 4085
    (4-5) Verzeichnis, Datei existiert nicht, Fehlercode 4087
    (5) Verzeichnis deaktiviert, Fehlercode 4086
    (4-5) Karte antwortet mit einer spezifischen Fehlermeldung, Fehlercode <Kartenfehlercode gemäß [gemSpec_COS]>
    Nichtfunktionale Anforderungen
    keine
    Zugehörige Diagramme
    keine

    Tabelle 99: TAB_KON_542 Fehlercodes TUC_KON_215 „SucheRecord“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4085
    Security
    Error
    Zugriffsbedingungen nicht erfüllt
    4086
    Technical
    Error
    Verzeichnis deaktiviert
    4087
    Technical
    Error
    Datei nicht vorhanden
    4093
    Technical
    Error
    Karte wird in einer anderen Kartensitzung exklusiv verwendet
    4094
    Technical
    Error
    Timeout beim Kartenzugriff aufgetreten


    [<=]

    4.1.5.4.17 TUC_KON_018 „eGK-Sperrung prüfen“

    TIP1-A_4579-02 - TUC_KON_018 „eGK-Sperrung prüfen“

    Der Konnektor MUSS den technischen Use Case „eGK-Sperrung prüfen“ gemäß TUC_KON_018 umsetzen.

    Tabelle 100: TAB_KON_110 - TUC_KON_018 „eGK-Sperrung prüfen“

    Element
    Beschreibung
    Name
    TUC_KON_018 „eGK-Sperrung prüfen“
    Beschreibung
    Es wird geprüft, dass DF.HCA (Health Care Application) der eGK nicht gesperrt ist und optional, dass das AUT-Zertifikat im DF.ESIGN gültig ist.
    Für eine Karte ab der Generation G2.1 wird das AUT-Zertifikat (ECC) geprüft.
    Für eine Karte der Generation G2.0 wird das AUT-Zertifikat (RSA) geprüft.

    Auslöser
    Aufruf durch Fachmodul im Konnektor
    Vorbedingungen
    keine
    Eingangsdaten
    • cardSession
    • checkHcaOnly [Boolean] - optional; default = false
      (Prüfung auf die Frage beschränken, ob auf DF.HCA zugegriffen werden kann)
    Komponenten
    Konnektor, Kartenterminal, eGK
    Ausgangsdaten
    • Karte gesperrt: true | false
    • Status – optional/wenn checkHcaOnly = false
      • DF.HCA gesperrt: true | false
      • Ergebnis der Offline-Prüfung des C.CH.AUT-Zertifikats:
        gültig | ungültig

      • Sperrstatus des C.CH.AUT-Zertifikats:
        gut | gesperrt | nicht ermittelbar

    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. Selektiere DF.HCA :
      1. Wenn die Karte ’90 00’ zurückmeldet, war das Selektieren möglich: DF.HCA gesperrt = false
      2. In allen anderen Fällen war das Selektieren nicht fehlerfrei möglich: DF.HCA gesperrt = true
    4. Wenn checkHcaOnly = true
      Beende TUC, liefere Status.
    5. Ermittle Zertifikatsobjekt (fileIdentifier und folder) für C.AUT der Karte unter Berücksichtigung des kryptographischen Verfahrens crypt gemäß TAB_KON_858. 
      Für eine Karte ab der Generation G2.1 setze crypt=ECC.
      Für eine Karte der Generation G2.0 setze crypt=RSA.
      Rufe Cert = TUC_KON_216 „LeseZertifikat“ {cardSession; fileIdentifier; folder}
    6. Bestimme per Aufruf von TUC_KON_037 „Zertifikat prüfen“ (mit gracePeriode=20min)
      1. das Ergebnis der Offline-Prüfung des C.CH.AUT-Zertifikats (gültig | ungültig) sowie
      2. den Sperrstatus des C.CH.AUT-Zertifkats
        (gut | gesperrt | nicht ermittelbar).
    7. Die Karte ist gesperrt = true, wenn
      1. DF.HCA gesperrt = true oder
      2. Ergebnis der Offline-Prüfung des
        C.CH.AUT-Zertifikats = ungültig oder
      3. Sperrstatus des C.CH.AUT-Zertifkats = gesperrt.
        In allen anderen Fällen ist die Karte gesperrt = false.
    Varianten/
    Alternativen

    keine
    Fehlerfälle
    (2) Karte ist fremd reserviert, Fehlercode 4093
    Nichtfunktionale Anforderungen
    keine
    Zugehörige Diagramme
    keine

    Tabelle 101: TAB_KON_239 Fehlercodes TUC_KON_018 „eGK-Sperrung prüfen“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4093
    Technical
    Error
    Karte wird in einer anderen Kartensitzung exklusiv verwendet
    [<=]

    4.1.5.4.18 TUC_KON_006 „Datenzugriffsaudit eGK schreiben“

    TIP1-A_4580 - TUC_KON_006 „Datenzugriffsaudit eGK schreiben“

    Der Konnektor MUSS den technischen Use Case „Datenzugriffsaudit eGK schreiben“ gemäß TUC_KON_006 umsetzen.

    Tabelle 102: TAB_KON_108 - TUC_KON_006 „Datenzugriffsaudit eGK schreiben“

    Element
    Beschreibung
    Name
    TUC_KON_006 „Datenzugriffsaudit eGK schreiben“
    Beschreibung
    Zugriff auf eGK in EF.Logging protokollieren.
    Auslöser
    Aufruf durch ein Fachmodul
    Vorbedingungen
    Keine
    Eingangsdaten
    • cardSession
      (CardSession einer eGK)

    • sourceCardSession
      (HBA/SMC-B, der/die für den eGK-Zugriff verwendet wird)

    • dataType
      (zugreifende Anwendung, siehe [gem_Spec_Karten_Fach_TIP#4.1 – Tabelle Tab_Karten_Fach_TIP_010 _StrukturEF.Logging – Struktur der Rekords der Datei EF.Logging]

    • accessType
      (Zugriffsart, siehe ebenda)

    Komponenten
    eGK, HBA/SMC, Konnektor, Kartenterminal
    Ausgangsdaten
    Keine
    Standardablauf
    1.      Ermittle Card = CM_CARD_LIST(cardSession)
    2.      Prüfe Card.TYPE = EGK
    3.      Prüfe, dass der Karte entweder kein Lock zugeordnet ist oder der Aufrufer das Karten-Lock besitzt.
    4.      Wenn KeyRef in CARDSESSION.AUTHSTATE für DF.HCA.EF.LOGGING nicht mit passender Rolle vorhanden: Rufe TUC_CON_005 „Card-to-Card authentisieren“ {
         sourceCardSession;
         targetCardSession = cardSession;
         authMode = einseitig}

    5.      Erzeuge Loggingdaten gemäß [gem_Spec_Karten_Fach_TIP#4.1 – Tabelle Tab_Karten_Fach_TIP_010_StrukturEF.Logging – Struktur der Rekords der Datei EF.Logging]
    6.      Rufe TUC_KON_214 „FügeHinzuRecord“ {
          cardSession =$cardSession;
          folder = MF;
          
      fileIdentifier = DF.HCA/EF.Logging;
          dataToBeWritten = Loggingdaten }

    Varianten/
    Alternativen

    Keine
    Fehlerfälle
    (2) Protokoll nur für eGK gestattet, Fehlercode 4251
    (3) Karte ist fremd reserviert, Fehlercode 4093
    Nichtfunktionale Anforderungen
    keine
    Zugehörige Diagramme
    keine

    Tabelle 103: TAB_KON_238 Fehlercodes TUC_KON_006 „Datenzugriffsaudit eGK schreiben“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4093
    Technical
    Error
    Karte wird in einer anderen Kartensitzung exklusiv verwendet
    4251
    Technical
    Error
    Protokoll nur für eGK gestattet

    [<=]

    4.1.5.4.19 TUC_KON_218 „Signiere“

    TIP1-A_4581 - TUC_KON_218 „Signiere“

    Der Konnektor MUSS den technischen Use Case „Signiere“ gemäß TUC_KON_218 umsetzen.

    Tabelle 104: TAB_KON_231 – TUC_KON_218 „Signiere“

    Element
    Beschreibung
    Name
    TUC_KON_218 „Signiere“
    Beschreibung
    Dieser Use Case beschreibt das Anwenden eines privaten Schlüssels einer Karte zur Signatur oder Authentisierung.
    Auslöser
    • Aufruf einer der Operationen SignDocument des Signaturdienstes oder ExternalAuthenticate des Authentifizierungsdienstes durch das Clientsystem.
    • Aufruf durch Fachmodul
    Vorbedingungen
    Zugriffsbedingung für referenzierten Schlüssel MUSS erfüllt sein
    Eingangsdaten
    • cardSession
    • pinRef
      (PIN-Referenz, gemäß der Objektsystem-Spezifikation des jeweiligen Kartentyps)
    • keyRef
      (Referenz auf den privaten Schlüssel, mit dem signiert werden soll, gemäß der Objektsystem-Spezifikation des jeweiligen Kartentyps)
    • algorithmusId
      (einer der laut Objektspezifikation für diesen Schlüssel zulässigen algorithmIdentifier)
    • dataToBeSigned
      (Zu signierende Daten, Hashwert)
    Komponenten
    Karte, Kartenterminal, Konnektor
    Ausgangsdaten
    • chiffrat
      (Signatur)
    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.      Prüfe pinRef in CARDSESSION.AUTHSTATE vorhanden:
    4.      Setze keyRef und algorithmusId der Karte
    5.      Sende „PSO: COMPUTE DS“ mit dataToBeSigned an Karte
    6.      Gib chiffrat an den Aufrufer zurück
    Varianten/
    Alternativen
    Keine
    Fehlerfälle
    * Karte antwortet nicht innerhalb von CARD_TIMEOUT_CARD Sekunden, Fehlercode 4094
    (2) Karte ist fremd reserviert, Fehlercode 4093
    (3) Nötige PIN ist nicht verifiziert, Fehlercode 4085
    (5) Karte antwortet mit einer spezifischen Fehlermeldung, Fehlercode <Kartenfehlercode gemäß [gemSpec_COS]>
    Nichtfunktionale Anforderungen
    Keine
    Zugehörige Diagramme
    Keine

    Tabelle 105: TAB_KON_543 Fehlercodes TUC_KON_218 „Signiere“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4085
    Security
    Error
    Zugriffsbedingungen nicht erfüllt
    4093
    Technical
    Error
    Karte wird in einer anderen Kartensitzung exklusiv verwendet
    4094
    Technical
    Error
    Timeout beim Kartenzugriff aufgetreten
    [<=]

    4.1.5.4.20 TUC_KON_219 „Entschlüssele“

    TIP1-A_4582 - TUC_KON_219 „Entschlüssele“

    Der Konnektor MUSS den technischen Use Case „Entschlüssele“ gemäß TUC_KON_219 umsetzen.

    Tabelle 106: TAB_KON_232 – TUC_KON_219 „Entschlüssele“

    Element
    Beschreibung
    Name
    TUC_KON_219 „Entschlüssele“
    Beschreibung
    Dieser Use Case beschreibt das Anwenden eines privaten Schlüssels einer Karte zur Entschlüsselung.
    Auslöser
    • Aufruf durch Fachmodul
    Vorbedingungen
    Zugriffsbedingung für referenzierten Schlüssel muss erfüllt sein
    Eingangsdaten
    • cardSession
    • pinRef
      (Referenz auf die PIN, mit der der Entschlüsselungsschlüssel freigeschaltet werden kann, gemäß der Objektsystem-Spezifikation des jeweiligen Kartentyps)
    • keyRef
      (Referenz auf den privaten Schlüssel, mit dem entschlüsselt werden soll, gemäß der Objektsystem-Spezifikation des jeweiligen Kartentyps.)
    • algorithmusId
      (einer der für diesen Schlüssel zulässigen algorithmIdentifier)
    • encryptedData
      (Zu entschlüsselnde Daten, Chiffrat)
    Komponenten
    Karte(n), Kartenterminal, Konnektor
    Ausgangsdaten
    • plainData
      (Entschlüsselte Daten)
    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.      Prüfe pinRef in CARDSESSION.AUTHSTATE vorhanden:
    4.      Selektiere DF, in dem der private Schlüssel (keyRef) liegt, falls er noch nicht selektiert ist.
    5.      Setze Schlüssel (keyRef) und algorithmusId.
    6.      Sende encryptedData mittels Kommandos PSO: DECIPHER.
    7.      gib plainData an den Aufrufer zurück
    Varianten/
    Alternativen
    Keine
    Fehlerfälle
    * Karte antwortet nicht innerhalb von CARD_TIMEOUT_CARD Sekunden, Fehlercode 4094
    (2) Karte ist fremd reserviert, Fehlercode 4093
    (3) Nötige PIN ist nicht verifiziert, Fehlercode 4085
    (5) Schlüssel nicht vorhanden, Fehlercode 4079
    (6) Fehler im Chiffrat: Fehlercode 4069
    (4, 6) Karte antwortet mit einer spezifischen Fehlermeldung, Fehlercode <Kartenfehlercode gemäß [gemSpec_COS]>
    Varianten/
    Alternativen
    Keine
    Nichtfunktionale Anforderungen
    Keine
    Zugehörige Diagramme
    Keine

    Tabelle 107: TAB_KON_210 Fehlercodes TUC_KON_219 „Entschlüssele“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4069
    Technical
    Error
    korruptes Chiffrat bei asymmetrischer Entschlüsselung
    4079
    Technical
    Error
    Schlüsseldaten fehlen
    4085
    Security
    Error
    Zugriffsbedingungen nicht erfüllt
    4093
    Technical
    Error
    Karte wird in einer anderen Kartensitzung exklusiv verwendet
    4094
    Technical
    Error
    Timeout beim Kartenzugriff aufgetreten
    [<=]

    4.1.5.4.21 TUC_KON_223 „Starte Kartensitzung“

    A_26067 - TUC_KON_223 "Starte Kartensitzung"

    Der Konnektor MUSS den technischen Use Case „Starte Kartensitzung“ gemäß TAB_KON_279 umsetzen.

    Tabelle 108: TAB_KON_279 – TUC_KON_223 „Starte Kartensitzung“

    Element
    Beschreibung
    Name
    TUC_KON_223 „Starte Kartensitzung“
    Beschreibung
    Der technische Use Case richtet eine Karte für eine Kartensitzung ein. Als Kartentyp wird die eGK unterstützt.
    Auslöser
    Operation StartCardSession
    Vorbedingungen
    keine
    Eingangsdaten
    • cardSession
    Komponenten
    Karte, Kartenterminal, Konnektor
    Ausgangsdaten
    • sessionID
    Standardablauf
    1. Karte reservieren mit TUC_KON_023 {
          cardSession;
          doLock = true }

    2. Karte zurücksetzen mit TUC_KON_024 { cardSession }
    3. Generiere sessionID als UUID gem. [RFC4122] und persistiere diese im Kontext der $cardSession
    4. Setze APDU-Szenario-Timer auf Wert von CARD_SESSION_TIMEOUT
    Varianten/
    Alternativen

    Keine
    Fehlerfälle
    Keine

    Tabelle 109: TAB_KON_280 – Fehlercodes TUC_KON_223 „Starte Kartensitzung“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases treten keine weiteren Fehlercodes auf.



    [<=]

    4.1.5.4.22 TUC_KON_208 „Sende gesicherte APDU“

    A_26069 - TUC_KON_208 "Sende gesicherte APDU"

    Der Konnektor MUSS den technischen Use Case „Sende gesicherte APDU“ gemäß TAB_KON_283 umsetzen.

    Tabelle 110: TAB_KON_283 – TUC_KON_208 „Sende gesicherte APDU“


    Element
    Beschreibung
    Name
    TUC_KON_208 „Sende gesicherte APDU“
    Beschreibung
    Der technische Use Case löst Karten-Transaktionen aus. Aus übergebenen integritäts- und authentizitätsgeschützten Transaktionsdaten extrahiert er APDUs, sendet diese zur Ausführung an die Karte und gibt die Ergebnisse an den Aufrufer zurück. Als Kartentyp wird die eGK unterstützt.
    Auslöser
    Operation SecureSendAPDU
    Vorbedingungen
    keine
    Eingangsdaten
    • transactionData
    Komponenten
    Karte, Kartenterminal, Konnektor
    Ausgangsdaten
    • transactionResult
    • timeSpan
    Standardablauf
    1. Setze die Liste der erwarteten StatusCodes ($StatusCodeList) durch Leeren der Liste und Einfügen eines Code-Elements mit Wert 0x9000 zurück.
    2. Dekodiere transactionData (siehe Eingangsdaten) und extrahiere als Scenario eine Liste von Elements, die jeweils SequenceCounter und SessionID enthalten. Das Format von Scenario ist in [api-popp] beschrieben.
    3. Prüfe, ob eine CardSession mit $SessionID existiert (d. h. durch Aufruf von TUC_KON_223 persistiert wurde)
    4. Prüfe, dass ein Lock für die durch $SessionID identifizierte CardSession bereits existiert
    5. Prüfe ob die laufende Sequenznummer $SequenceCounter entweder die erste ($SequenceCounter = 0) oder das Inkrement des vorhergehenden Aufrufes ist
    6. Für jedes $Element aus $Scenario.Scenario7816:
      1. Falls $Element eine Liste von erwarteten StatusCodes (ExpectedStatusWords) ist
        • $StatusCodeList = "$Element"
      2. Falls $Element eine Kommando-APDU (CommandAPDU) ist
        • Ermittle $responseAPDU für das $Element mittels Aufruf von TUC_KON_200 {
          • cardSession = "$cardSession";
          • ctId nicht übergeben;
          • commandAPDU = "$Element" }
        • Hänge $responseAPDU an das Ende der ResultList
        • Falls Status der $responseAPDU nicht in StatusCodeList
          • nimm die Warnung 4284 in die Antwort auf
          • verlasse die Schleife
      3. Falls $Element eine Logging-Information (LoggingInformation) ist
        • führe für das $Element keine Aktionen durch
      4. Falls $Element ein anderes Element als die in a)-c) aufgezählten ist
        • führe für das $Element keine Aktionen durch
    7. Falls $Scenario.TimeSpan = 0 (letztes Szenario):
      stoppe Kartensitzung durch TUC_KON_224 { sessionID = $SessionID" } 
      Andernfalls: Setze APDU-Szenario-Timer auf Wert von $Scenario.TimeSpan
    8. Setze timeSpan = $Scenario.TimeSpan
    Varianten/
    Alternativen

    Keine
    Fehlerfälle

    (->2) Die dekodierten Eingabeparameter sind nicht nach [api-popp] validierbar: Fehlercode 4286
    (->3) $SessionID existiert nicht: Fehlercode 4288
    (->4) Es ist kein Lock für $SessionID gesetzt: Fehlercode 4289
    (->5) Die laufende Sequenznummer $SequenceCounter ist nicht die erste und nicht das Inkrement des vorhergehenden Aufrufes: Fehlercode 4285

    In Fehlerfällen ab Schritt 5): TUC_KON_224 { sessionID = $SessionID }


    Tabelle 111: TAB_KON_280 – Fehlercodes TUC_KON_223 „Sende gesicherte APDU“

    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4284 Technical Warnung APDU konnte nicht verarbeitet werden.
    4285 Technical Error Unerwartetes Sequence-Element
    4286 Technical Error Inhalt von TransactionData nicht valide
    4288 Technical Error Unbekannte Session ID
    4289 Technical Error Karte nicht reserviert

    [<=]

    4.1.5.4.23 TUC_KON_224 „Stoppe Kartensitzung“

    A_26068 - TUC_KON_224 "Stoppe Kartensitzung"

    Der Konnektor MUSS den technischen Use Case „Stoppe Kartensitzung“ gemäß TAB_KON_281 umsetzen.

    Tabelle #: TAB_KON_281 – TUC_KON_224 „Stoppe Kartensitzung“

    Element
    Beschreibung
    Name
    TUC_KON_224 „Stoppe Kartensitzung“
    Beschreibung
    Der technische Use Case beendet eine Kartensitzung.
    Auslöser
    Operation StopCardSession
    Vorbedingungen
    keine
    Eingangsdaten
    • sessionID
    Komponenten
    Karte, Kartenterminal, Konnektor
    Ausgangsdaten
    Keine
    Standardablauf
    1. Ermittle durch $sessionID identifizierte CardSession
    2. Entferne die SessionID aus dem persistierten CardSession Kontext
    3. Setze die Karte zurück mittels TUC_KON_024 { cardSession }
    4. Entferne das Lock von der Karte durch TUC_KON_023 {
          cardSession;
          doLock = false }

    Varianten/
    Alternativen
    Keine
    Fehlerfälle
    (->1) $SessionID existiert nicht: Fehlercode 4288

    Tabelle 113: TAB_KON_282 – Fehlercodes TUC_KON_224 „Stoppe Kartensitzung“


    Fehlercode
    ErrorType
    Severity
    Fehlertext
    Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
    4288 Technical Error