Telematikinfrastruktur 2.0





Feature:

Zero Trust


    
Version 1.0.0_CC
Revision 887428
Stand 15.04.2024
Status zur Abstimmung freigegeben
Klassifizierung öffentlich_Entwurf
Referenzierung gemF_Zero-Trust


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
1.0.0_CC 15.04.2024 initiale Erstellung gematik

Inhaltsverzeichnis

1 Einordnung des Dokuments

Dieses Dokument stellt eine übergreifende Spezifikation dar, ohne einen ersten konkreten Bezug zu einem Produkttypen oder zu Schnittstellen herzustellen. Anforderungen dieses Dokuments werden Produkttypen, Schnittstellen, Komponenten oder Diensten von konkreten Use Cases bzw. von Fachanwendungen zugewiesen.

Die in diesem Dokument beschriebenen Konzepte, Abläufe und Informationsmodelle sind eine Blaupause für die Umsetzung der Paradigmen des Zero Trust in einer "Telematikinfrastruktur 2.0". Zero Trust stellt keinen Produkttyp innerhalb der Telematikinfrastruktur (TI) dar. 

Sämtliche Ausführungen sind zurückzuführen auf das Konzept [gemKPT_ZeroTrust] über die Einführung von Zero Trust zur Modernisierung der TI und konkretisieren die dortigen Ansätze zur Umsetzung in einer Fachanwendung, und revidieren an einigen Stellen vorzeitige Vorfestlegungen bzw. wählen zwischen dort vorgeschlagenen Varianten einer möglichen Zero Trust Umsetzung.

Das Zero-Trust-Modell ist ein Sicherheitskonzept, das auf dem Prinzip strenger Zugriffskontrollen und dem grundsätzlichen Misstrauen (kein implizites Vertrauen) gegenüber jedem Kommunikationsteilnehmer beruht, selbst denen, die sich bereits innerhalb eines Netzwerkperimeters befinden. Es handelt sich um ein Sicherheitsrahmenwerk, das erfordert, dass alle Benutzer, sowohl innerhalb als auch außerhalb der Netzwerkperimeter, authentifiziert, autorisiert und kontinuierlich auf ihre Sicherheitskonfiguration und Sicherheitsnachweise überprüft werden, bevor ihnen Zugriff auf Anwendungen und Daten gewährt oder dieser aufrechterhalten wird. Motiviert durch den „Assume Breach“-Ansatz basiert dieses Architekturdesign-Paradigma im Kern auf dem Prinzip der minimalen Rechte aller Entitäten in der Gesamtinfrastruktur.

1.1 Zielsetzung

Ziel des Dokuments ist die Sammlung der technischen, betrieblichen und testrelevanten Anforderungen an Clients, Backendservices, Produkttypen, Komponenten und Dienste, die sich untereinander über das Internet vernetzen, im Gegensatz zur bestehenden TI als geschlossenes VPN. Dieses Pattern wird bisweilen auch als TI 2.0 bezeichnet.

1.2 Zielgruppe

Dieses Dokument richtet sich an Architekten und Entwickler von Komponenten, Diensten, Produkttypen, Schnittstellen und Clients für den Datenaustausch im deutschen Gesundheitswesen.

1.3 Abgrenzungen

Diesem Dokument ist kein Produkt- oder Anbietertyp zuzuordnen. Anforderungen in diesem Dokument finden Anwendung in Produkt- und Anbietertypen von konkreten Fachanwendungen bzw. Use Cases.

1.4 Methodik

1.4.1 Anforderungen

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

Da in dem Beispielsatz „Eine leere Liste DARF NICHT ein Element besitzen.“ die Phrase „DARF NICHT“ semantisch irreführend wäre (wenn nicht ein, dann vielleicht zwei?), wird in diesem Dokument stattdessen „Eine leere Liste DARF KEIN Element besitzen.“ verwendet. Die Schlüsselworte werden außerdem um Pronomen in Großbuchstaben ergänzt, wenn dies den Sprachfluss verbessert oder die Semantik verdeutlicht.

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

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

2 Features und Epics

Der folgende Abschnitt gibt einen groben Überblick über die Features und Epics, die sich in Anwendungen wiederfinden, wenn sie nach dem Paradigma des Zero Trust umgesetzt werden. Diese Epics sind als Enabler zu verstehen, um Fachanwendungen einen sicheren Verbindungsaufbau zwischen Clientsystemen und Backenddiensten zu ermöglichen. Es werden keine User Stories formuliert, da für den Verbindungsaufbau keine Nutzerinteraktion angedacht ist.

Im Rahmen der Nutzeridentifikation (Authentifizierung) findet eine Verifikation ausgegebener Authentisierungsmerkmale statt, deren Nutzerinteraktion als Teil der Spezifikation des Identity Managements beschrieben sind.

2.1 Clientregistrierung

Gemäß des Zero Trust Ansatzes ist jeder Schnittstellenaufruf potentiell gefährlich, soweit nicht anders festgestellt. Dazu zählt auch das Vertrauen in bekannte bzw. Misstrauen in unbekannte Geräte bzw. Clients. Um Geräte bzw. Clients wiedererkennbar zu machen, soll eine Registrierung dieser erfolgen. Sind in der Registrierung zusätzliche Sicherheitsmerkmale über das Gerät und den Aufrufkontext feststellbar, stärken diese das Vertrauen in nachfolgenden Aufrufen fachlicher Schnittstellen.

2.1.1 Wiedererkennung bekannter Clients

Die Wiedererkennung bekannter Geräte und Clients und deren Bindung an identifizierbare Nutzer des Gesundheitswesens soll über eine Registrierung erfolgen. Die Identifikation des Nutzers erfolgt dabei über ein unterstütztes Identifikationsmerkmal (SmartCard oder digitale Identität) und einen selbstgewählten, vom System unterstützten zweiten Faktor (E-Mail, SMS, etc.).

2.1.2 Device Security Rating

Zum Einschluss bzw. Ausschluss bestimmter Eigenschaften von Geräten und Clients, sollen selbige einer automatischen Sicherheitsprüfung unterzogen werden können (DSR - Device Security Rating), soweit es die gegebenen Plattformmechanismen erlauben und die Usability der im Fokus stehenden Anwendung nicht karikiert.

2.2 Policy Enforcement

Für den Zugriff auf personenbezogene und medizinische Daten und zur Sicherstellung der Integrität, Verfügbarkeit, Vertraulichkeit und Authentizität transportierter Daten gelten Regeln. Diese fachlichen, technischen und organisatorischen Regeln gelten bei jedem Zugriff auf Daten, die über eine Schnittstelle zugreifbar gemacht werden.

2.2.1 Zugriffsschutz

Das Policy Enforcement soll als eine Art Gatekeeper bzw. Türsteher den Zugriff auf Schnittstellen von Backendservices durch beliebige Clients durchsetzen. Grundlage ist das Vertrauen in eine Policy-Entscheidung durch eine Komponente zur Auswertung eines Regelwerks.

2.2.2 http Proxy

Nur und ausschließlich wenn ein Zugriffsversuch als legitim beschrieben wird, soll dieser Zugriff gewährt werden, im Sinne des oben genannten Gatekeepers bzw. Türstehers muss dann auch ein Zugriffsversuch gewährt und an eine fachliche Schnittstelle weitergereicht werden.

2.3 Decide from Policies

Die Menge an Regeln für die Gewähr eines Zugriffs auf Daten oder Schnittstellen ist groß und speist sich aus gesetzlichen Forderungen bzw. Verboten, Vertragskonstrukten, Sicherheitsmechanismen, Architekturentscheidungen und Informationen aus der "Umgebung" des Betriebs von Clients und Backendservices.

2.3.1 Maschinenlesbare Zugriffsregeln

Die Menge (potentiell) geltender Regeln zur Absicherung des Zugriffs auf Daten und Dienste formt ein Set von Policies. Um im Fall eines Zugriffsversuchs schnell entscheiden zu können, sollen diese Regeln maschinenlesbar definiert sein.

2.3.2 Ein reproduzierbares Ja/Nein/Vielleicht

Die Auswertung eines komplexen Regelwerks liefert bei identischen Eingangsparametern reproduzierbar das identische Ergebnis.

2.3.3 Policies nach Betroffenheit

Regeln beziehen sich auf verschiedene Aspekte einer Zugriffsentscheidung. Es gelten fachliche Regeln, Regeln zur Benutzung von Clients bzw. Geräten und ebenso technische Regeln sowie solche, die Betriebsumgebung von Backenddiensten betreffend.

2.4 Policy Information und Administration

Regeln können sich ändern und Regeln beeinflussen Regeln.

2.4.1 Policy Verwaltung

Eine Policyentscheidung kann Eingangsinformation für andere Policies sein, ebenso kann das Ändern von Rahmenbedingungen oder eine Anomalieerkennung zur Beeinflussung von Policies führen. Aus diesem Grund führen Beobachtungen über Policyentscheidungen zu Informationen über das Gesamtsystem, die als Eingangsdaten für nachfolgende Policyentscheidungen herangezogen werden. Daneben ist es erforderlich, Anpassungen am Regelwerk dem System über authentizitäts- und integritätsgeschützte Wege bekannt zu machen.

2.4.2 Monitoring

Durch ein Monitoring von Betriebsparametern und Telemetriedaten wird die Durchsetzung von Policies sowie die Auswirkung möglicher Policyänderungen transparent.

2.5 Client Authorization

Menschen benutzen Clients und Geräte. Jeder Zugriff auf Daten oder Schnittstellen wird auf eine menschliche Interaktion (Authentifizierung) zurückgeführt. Nach Stand der Technik erfolgt die sichere Authentifizierung meist über 2 Faktoren. Zur Wiedererkennung und sicheren Identifikation werden Menschen und Clients bzw. Geräten Authentifizierungsmerkmale ausgestellt. Die sichere Identifikation und Authentifizierung ist eine wichtige Eingangsgröße für Zugriffsentscheidungen (s. o.).

2.5.1 Autorisierung auf Basis von Policy Entscheidungen

Die Autorisierung von Zugriffen auf Daten oder Schnittstellen wird bei positiver Entscheidung durch ein Set von Policies gewährt. Die Zugriffsentscheidung und -gewähr bettet sich in eine Verkettung von Informationen und von Aufrufen verschiedener Schnittstellen ein, die dem fachlichen Aufruf einer Schnittstelle bzw. Abruf von Daten voranstehen. Stand der Technik dieses Flows mehrerer Aufrufe und der dabei transportierten Informationen ist der OAuth2-Standard, vgl. [RFC6749 et al.].

2.5.2 Client Authentication

Menschen und Clients bzw. Geräte werden anhand sicherer Merkmale authentifiziert, die Identifikation ist nachrangig bzw. in nachgelagerten fachlichen Anwendungsfällen bzw. in fachlichen Zugriffsregeln relevant.

Kann ein Mensch oder Client bzw. Gerät nicht sicher authentifiziert werden oder wird der Authentifizierung zeitlich oder anderweitig nicht vertraut oder passen die Umgebungs- bzw. die den Aufruf begleitenden Parameter nicht zum Vertrauen in die Authentifizierung, wird eine erneute Authentifizierung als erforderlich angesehen ("Step-Up-Authentication").

3 Einordnung in die TI 2.0

Die TI 1.0 bildet mit ihrem geschlossenen Netz eine reale Infrastruktur. Das Konzept einer TI 2.0 löst sich von einer real existierenden, dedizierten Infrastruktur und setzt auf die Vernetzung über das Internet.

Diese übergreifende Spezifikation richtet Anforderungen an Akteure, die sich über das Internet miteinander vernetzen. Diese Akteure seien im Folgenden einerseits Clients (Software: Aufrufende einer Schnittstelle, Anfragende an einen Datenabruf oder -zugriff), häufig bedient durch einen Menschen, und Backendservices (Software: bereitstellende Schnittstelle, Datenbereitstellung etc.) auf der anderen Seite.

Zur Absicherung dieser Clients und Backendservices werden zum einen Anforderungen erhoben und wird eine Empfehlung gegeben, diese Anforderungen in konkreten Softwarekomponenten innerhalb dieser Akteure umzusetzen. Die Empfehlung zur Separierung der Zero Trust Mechanismen in unterschiedliche Komponenten folgt der Zero Trust NIST Referenzarchitektur, welche im Feinkonzept [gemKPT_Zero_Trust] vorgeschlagen und für passend befunden wurde.

Abbildung 1: NIST Zero Trust Referenzarchitektur

Im Architekturkonzept der TI 1.0 werden konkrete Umgebungsannahmen zu Consumer Zonen, Secure Consumer Zonen, Plattformzonen, Personal Zonen usw. getroffen, in denen kein (Personal Zone) bzw. ein gewisses Sicherheitsniveau (überall sonst) axiomatisch angenommen wird. Das Zero Trust Konzept löst sich von der Aufteilung in verschiedene Zonen, insbesondere, da weniger (teilweise gar keine mehr) TI-Plattform-Produkttypen zwischen den Datenaustauschen unter Clients mit Backendservices involviert werden. Im Folgenden ist eine Produkttypzerlegung für die Umsetzung der NIST-Referenzarchitektur einer generischen Fachwendung dargestellt.

In diesem Pattern greift ein Nutzer über ein Client-System auf Daten einer Fachanwendung zu, die von einem Anbieter des fachanwendungsspezifischen Fachdienstes bereitgestellt wird. Das folgende Bild zeigt eine Übersicht der beteiligten Komponenten in der Vernetzung zwischen einem Client (links grün) und einem Backendservice (rechts grün: Ressource Backend).

Abbildung 2 : Komponenten zwischen Client und Server

Die obige Abbildung zeigt die Einbettung von Zero Trust bezogenen, logischen Komponenten (orange) in die Aufrufkette zwischen einem Client und einem Ressource Backend. (Grau) Dargestellt sind zusätzlich heute bereits vorhandene und genutzte Komponenten und Dienste, die für die Nutzerauthentifizierung (z. B. eGK und IDP) bzw. die Betriebsüberwachung (z. B. mittels Betriebsdatenerfassung - kurz BDE) in Anwendungsfällen der TI 2.0 weitergenutzt werden können. In diese Abbildung sind diverse Architekturentscheidungen eingearbeitet, die im Kapitel 4 und 5 erläutert bzw. spezifiziert werden.

4 Technisches Konzept

Im Kapitel zuvor wurden zwei Abbildungen vorgestellt, welche technischen Zero Trust-Komponenten (orange) an der Umsetzung fachlicher Anwendungsfälle von Clients, Komponenten und Backendservices von Fachanwendungen (grün) beteiligt sind. Im Folgenden werden diese technischen Komponenten genauer beschrieben und eingeordnet, welche Rolle sie in einer Architektur nach dem Zero Trust-Paradigma einnehmen. Dieser Komponentenschnitt ist nicht notwendigerweise ein Schnitt in konkrete Produkttypen einer Fachanwendung. Je nach gegebenem Rahmen setzen Produkttypen einer Fachanwendung diese Komponenten um oder nutzen Schnittstellen zu diesen Komponenten in anderen (bestehenden) Produkttypen der TI 2.0.

Zero Trust in der TI zeichnet sich über folgende Eigenschaften aus:

  • Registrierung der Geräte zu einer Identität
  • Attestation der Geräteeigenschaften
  • Bereitstellung einer von Maschinen interpretierbaren Policy durch die gematik
  • Einheitliches Durchsetzen der Policy durch die Fachdienste
  • Sicherstellung des Sicherheitszustands der gesamten TI, Anbieter übergreifend
  • Telemetrie und Monitoring

4.2 Policy Enforcement Point (PEP)

Ein Policy Enforcement Point (PEP) ist eine Schlüsselkomponente im Zero Trust-Paradigma, der darauf abzielt, dass Sicherheitsmodell von einem vertrauensbasierten auf ein verifizierungsbasiertes umzustellen. Der PEP dient dazu, den Zugriff auf Ressourcen, basierend auf vordefinierten Richtlinien, zu kontrollieren und durchzusetzen. Im Kontext der TI 2.0 übernimmt der PEP folgende Funktionen:

  • Der PEP agiert als Forwardproxy, der den Datenverkehr zwischen Clientanwendungen und den zu schützenden Ressourcen kontrolliert. Dadurch kann der PEP den gesamten Datenverkehr überwachen und filtern, um sicherzustellen, dass er den festgelegten Sicherheitsrichtlinien entspricht.
  • Der PEP ist als vertrauenswürdige Relying Party im föderierten Identitätsmanagement registriert. Dadurch kann der PEP Identitätsinformationen von Benutzern sicher und vertrauenswürdig beziehen und bei Bedarf eine (erneute) Nutzer-Authentifizierung an die IDPs delegieren. Dadurch stellt der PEP sicher, dass nur authentifizierte Benutzer Zugriff auf die geschützten Ressourcen erhalten.
  • Der PEP fungiert als OAuth2 Autorisierungsdienst und verwaltet die Autorisierung von Benutzeranfragen auf geschützte Ressourcen. Zudem überwacht der PEP die Benutzersessions, um sicherzustellen, dass sie gültig sind und den Sicherheitsrichtlinien entsprechen.
  • Der PEP ermöglicht die dynamische Registrierung von Clients bzw. Geräten, die auf geschützte Ressourcen zugreifen möchten. Dies umfasst auch die Offband-Bestätigung, bei der zusätzliche Sicherheitsmechanismen (Verifikation via E-Mail oder SMS) verwendet werden, um die Identität und Integrität (plattformabhängig) der registrierten Clients zu überprüfen.

Insgesamt agiert der PEP als zentraler Kontrollpunkt im Zero Trust-Netzwerk, der sicherstellt, dass nur autorisierte Benutzer und Geräte Zugriff auf die Ressourcen erhalten und dabei die definierten Sicherheitspolicies einhalten. Die Entscheidung zwischen verschiedenen Policies auf Basis der vom Client übergebenen Signale, Sicherheitsnachweise und Token trifft der Policy Decision Point.

In der TI 2.0 ist der PEP Teil der Betriebsumgebung eines Fachdienstes einer Fachanwendung.

4.3 Policy Decision Point (PDP)

Ein Policy Decision Point (PDP) ist die wesentliche Komponente im Zero Trust-Paradigma, die Zugriffsentscheidungen auf Plattformebene trifft, indem sie Richtlinien (Policies) interpretiert und anhand dieser Richtlinien Zugriffsanfragen bewertet. Folgende Funktionen eines PDP sind dabei zentral:

  • Der PDP analysiert und interpretiert die Sicherheitsrichtlinien, die im Rahmen des Zero Trust-Modells definiert sind. Diese Policies können Kriterien enthalten wie Benutzeridentität, Gerätetyp, Standort, Zeitpunkt der Anfrage und andere Kontextinformationen ("Signale"), die relevant für die Zugriffsentscheidung sind.
  • Basierend auf der Interpretation der Policies trifft der PDP Entscheidungen darüber, ob eine Zugriffsanfrage auf eine bestimmte Ressource genehmigt oder abgelehnt wird. Diese Entscheidungen erfolgen auf Plattformebene, was bedeutet, dass der PDP die Zugriffsanfragen im Kontext der gesamten Plattform oder des Netzwerks bewertet, und nicht isoliert betrachtet. Die Zugriffsentscheidung resultiert dann in der Ausstellung eines Access Tokens, das für den konkret angefragten Zugriff verwendet wird (siehe Policy Enforcement).
  • Der PDP verwendet dabei die Informationen, die ihm übermittelt werden, um die Zugriffsentscheidung zu treffen. Dazu gehören nicht nur die Policies selbst, sondern auch Echtzeitinformationen über den Zustand von Benutzeridentitäten, Geräten und andere Kontextinformationen, die für die Bewertung der Zugriffsanfrage relevant sind.

Insgesamt fungiert der PDP als zentraler Mechanismus zur Durchsetzung von Sicherheitsrichtlinien im Rahmen des Zero Trust-Modells. Durch die Analyse von Policies und die Bewertung von Zugriffsanfragen auf Plattformebene trägt der PDP dazu bei, sicherzustellen, dass nur autorisierte Benutzer und Geräte Zugriff auf geschützte Ressourcen erhalten, unabhängig von ihrem Standort oder anderen Kontextfaktoren.

In der TI 2.0 ist der PDP entweder Teil der Betriebsumgebung eines Fachdienstes einer Fachanwendung oder wird durch einen zentralen Fachdienst realisiert, der die (erste) Autorisierungsentscheidung für Fachdienste weiterer Fachanwendungen übernimmt - bspw. als Nachweis einer Proof-of-Patient-Presence.

4.4 Trust Client

Im Kontext von Zero Trust stellt der "Trust Client" eine logische Komponente innerhalb einer Clientanwendung (Primärsystem (PS), Frontend des Versicherten (FdV) etc.) dar, die im Rahmen des Zero Trust-Paradigmas als vertrauenswürdig eingestuft wird. Dies steht im Gegensatz zu der traditionellen Annahme, dass ein eine Schnittstelle aufrufendes Clientsystem automatisch als vertrauenswürdig betrachtet wird. Das Vertrauen in Clientanwendungen erwächst beispielsweise durch regelmäßige Softwareupdates, authentische und  verschlüsselte Kommunikation und die Verwendung von Zertifikaten, die die Einhaltung dieser Maßnahmen beweisen.

Ein Trust Client im Zero Trust-Modell wird nicht mehr blind als vertrauenswürdig angesehen, sondern muss genauso wie alle Komponenten im Netzwerk kontinuierlich authentifiziert und autorisiert werden. Selbst wenn ein Endpunkt als Trust Client eingestuft ist, bedeutet dies nicht, dass er ungehinderten Zugriff auf alle Ressourcen im Netzwerk hat. Stattdessen werden Zugriffsentscheidungen basierend auf aktuellen Richtlinien, Kontextinformationen, Bedrohungsinformationen und insbesondere in Kenntnis des diesen Client benutzenden Benutzers getroffen (s. u. Zusammenspiel mit Identity Provider (IdP)).

4.5 Policy Information und -Administration

Im Zero Trust-Paradigma spielen der Policy Information Point (PIP) und der Policy Administration Point (PAP) wichtige Rollen bei der Verwaltung und Durchsetzung von Sicherheitsrichtlinien bzw. Policies. Zusammen ermöglichen der PIP und der PAP eine zentrale Verwaltung und Bereitstellung von Policies im Zero Trust-Netzwerk.

Der PAP stellt Policies bereit und der PIP stellt die Daten für die Policies bereit, sodass sich aus beiden ein Regelwerk ergibt, das der PDP anwendet, um zu entscheiden, ob eine Kommunikationsanfrage zulässig ist.

4.5.1 Policy Information Point (PIP)

Der PIP ist für die Bereitstellung von Informationen über Sicherheitsrichtlinien zuständig. Er dient als zentraler Informationsdienst, der anderen Systemen und Komponenten im Zero Trust-Netzwerk Zugriff auf aktuelle Sicherheitsrichtlinien ermöglicht. Der PIP kann Attribute wie Benutzerrollen, Zugriffsrechte, Gerätezustände und andere Kontextinformationen bereitstellen, die von anderen Komponenten für die Zugriffsentscheidung benötigt werden. Der PIP kann Daten aus verschiedenen Quellen beziehen, einschließlich einer zentralen Richtliniendatenbank, externen Identitätsanbietern, Sicherheitsinformationen von Geräten und anderen Quellen.

4.5.2 Policy Administration Point (PAP)

Der PAP ist für die Verwaltung und Konfiguration von Sicherheitsrichtlinien verantwortlich. Er bietet eine Schnittstelle oder eine Konsole, über die Richtlinien in hoheitlicher Verantwortung definiert, geändert und gelöscht werden können. Policy-Administratoren können im PAP Zugriffsregeln, Autorisierungsniveaus, Bedrohungsabwehrmaßnahmen und andere Sicherheitsrichtlinien festlegen. Der PAP ermöglicht es Administratoren, Richtlinien - basierend auf verschiedenen Kriterien wie Benutzerrollen, Gruppenzugehörigkeit, Standorten und Geräteattributen - zu differenzieren. Änderungen an den Sicherheitsrichtlinien, die im PAP vorgenommen werden, werden an den PIP weitergegeben, damit andere Komponenten im Zero Trust-Netzwerk auf die aktualisierten Richtlinien zugreifen können. Das Vertrauen in bereitgestellte und angepasste Policies wird über Signaturen für die Sicherstellung von Integrität und Authentizität jeder Policy sichergestellt.

4.6 Clientregistrierung

Alle Clients, die mit Diensten der TI2.0 kommunizieren, sind zur Laufzeit bekannt. Mit einer Attestierung in Abhängigkeit der verfügbaren Mechanismen der Laufzeitumgebung (Geräte-Features, Betriebssystem) kann ein Vertrauen und eine Wiedererkennung von Clients und Geräten aufgebaut werden.

Die folgenden statischen Eigenschaften werden im Rahmen der Bereitstellung von Clientanwendungen erfasst und sind unabhängig von der Nutzung durch einen konkreten Benutzer.

Tabelle 1: Statische Eigenschaften Clientsysteme auf Hersteller-/Herausgeber-/Anbieterebene

Client Eigenschaft Beschreibung
Produkt-Id Eindeutige ID der Client-Software,, vergeben durch gematik über einen ITSM Prozess
Produkt-Name Produkt-Name, vergeben durch den Hersteller
Hersteller-Id Kennung des Herstellers aus TI-ITSM
Hersteller-Name Name des Herstellers aus TI-ITSM
Produkt-Platform Zunächst werden zwei Plattformen gesondert behandelt: Android und Apple (iOS, macOS etc). Diese beide Plattformen bieten Mechanismen für die Attestation der Client-Instanzen und der Umgebung, in welcher diese Clients ausgeführt werden.

Alle andere Clients werden zunächst als generische Software-Produkte eingestuft.
Produkt-Plattform-Id Plattformspezifisch eindeutige Kennung der Client-Software

Android: Package-Name und Signer-Zertifikat Fingerprint
Apple: Bundle-ID und Apple-ID
Software: Registriert durch gematik , analog zu ClientIds in E-Rezept
Attestation-Methode Die Methode, nach welcher die Client-Software und die Ablaufumgebung attestiert werden kann.

Zunächst werden Android und Apple unterstützt, weil diese Plattformen entsprechende Mechanismen zur Remote-Attestation anbieten. 

Perspektivisch ist es geplant, weitere Plattformen zur Attestation der Clients einzuführen, z. B. über TPM 2.0 auf Windows und Linux. Nicht attestierbare Software-Clients müssen zunächst einen weiteren Faktor verwenden, z. B. SM-B.

Bei der Registrierung werden die statischen Eigenschaften eines Client-Systems für jede Client-Instanz mit einem vom Client-Besitzer signierten Softwarestatement bekannt gemacht. Durch die Registrierung bekommen die Clients eine kryptographische Identität und werden Server-seitig an den Besitzer gebunden. Der Besitzer muss bei der Registrierung eine TI-Identität vorweisen, z. B. GesundheitsID oder SM-B (über IDP-Dienst der gematik).

Zur Laufzeit werden die Client-Eigenschaften durch Client-Instanz-Eigenschaften ergänzt. Sie sind spezifisch für eine konkrete Installation auf einem bestimmten Gerät eines Benutzers. Sie sind insofern dynamisch, als dass sich der Patchlevel des Betriebssystems oder sich die Version der Clientinstanz durch Updates verändern kann.

Tabelle 2 : Eigenschaften Clientsysteme auf Instanzebene (pro Installation

Client-Instanz-Eigenschaften Beschreibung
Produkt-Version Aktuelle Version der Client-Software
Client-Besitzer (Owner) Informationen über den Client-Besitzer
Client-Eigenschaften (Posture) Aktuelle Eigenschaften der Ablaufumgebung des Clients, insbesondere:
  • Betriebssystem
  • Betriebssystem-Version
Client-Attestation Falls die Plattform die Attestation des Clients ermöglicht, wird hier plattformspezifische Attestation angegeben.
  • Android: Key ID Attestation
  • Apple: DCAppAttest
  • Software: keine Attestation, nur Besitzer-Bindung

Die Auskünfte bzw. Attestation von Clientsoftware und Geräten werden von einer Backendschnittstelle für die Clientregistrierung geprüft. Zusätzlich wird über diese Schnittstelle eine Offband-Verifikation des Benutzers durchgeführt, beispielsweise über Bestätigungscode oder -link via E-Mail. Ist die Clientregistrierung erfolgreich, wird der Client-Instanz(!) ein Nachweis über die attestierten Client- und Client-Instanz-Eigenschaften ausgestellt. Dieser Nachweis ist in folgenden Aufrufen von Schnittstellen der TI Teil der Zugangsprüfung.

Die Geräteattribute werden von den Plattformen der Endgeräte geliefert. Ihre Erhebung erfolgt im TrustClient des Endgeräts mittels plattformspezifischer Attestierungs- und Erhebungsmechanismen (siehe [Apple Platform Security Guide] und [Android Platform Security Model]). Die Attribute sind daher für die jeweilige Plattform und ihr Sicherheitsmodell spezifisch. Die für die Zugriffsentscheidung verwendeten Attribute werden daher im Folgenden für iOS-Geräte separat von denen für Android-Geräte aufgeführt.

Android

Tabelle 3: Verwendete Device Claims für Android-Geräte

Attribute Beschreibung
aktuelle Android Version aktuell auf dem Gerät laufende Android Version bzw. API Level / SDK Version
Android Version bei Veröffentlichung Android Version (API level) mit welchem das Gerät veröffentlicht / CTS durchlief
Patchlevel Verschiedene Patch-Level-Angaben für OS & Co
FDE / FBE Gibt an, ob Geräteverschlüsselung unterstützt wird und ob diese aktiviert ist.
System PIN / Password /Pattern gesetzt
Gibt an, ob ein PIN/Pattern/Passwort für den Sperrbildschirm gesetzt ist.
System PIN / Password /Pattern Qualität Über den Device Policy Manger kann abgefragt werden, ob aktuell bestimmte Passwort-Komplexitätslevel erfüllt werden.
VerifiedBoot verfügbar Gibt an, ob VerifiedBoot auf dem Gerät zur Verfügung steht (siehe [VerifiedBoot]).
Mainline Patchlevel Gibt an, wann der letzte Mainline Patch installiert wurde.
Gerätehersteller / -modell Gibt Informationen zu Hersteller, Model usw. zurück.
Biometric Class Gibt Informationen zur Güte der vorhandenen biometrischen Sensoren zurück.

iOS

Tabelle 4: Verwendete Device Claims für iOS-Geräte

Attribute
Description
System Name Name des Betriebssystems auf dem Gerät
System Version Version des Betriebssystems auf dem Gerät
Model Art des Geräts, z. B. ”iPhone” oder”iPod touch”
identifierForVendor Eindeutige Kennung des Geräts für den App-Anbieter
App Version Version der App auf dem Gerät

4.7 Monitoring

Das Monitoring im Kontext von Zero Trust ist ein entscheidender Aspekt, um die Sicherheit des Netzwerks und der Ressourcen kontinuierlich zu überwachen und potenzielle Bedrohungen oder Anomalien zu identifizieren. Dieses bedient sich auch eines Security Information and Event Management (SIEM) und Shared Signals, die zukünftige Policyentscheidungen beeinflussen, in dem Erkenntnisse des Monitorings über den Policy Information Point den Policy Decision Points der verschiedenen Fachanwendungen verfügbar gemacht werden.

Insgesamt ermöglicht das Monitoring im Kontext von Zero Trust eine kontinuierliche Überwachung der Sicherheitslage, indem es aktuelle Sicherheitsrichtlinien berücksichtigt, potenzielle Bedrohungen identifiziert und auf Shared Signals zurückgreift, um umfassende Sicherheitseinblicke zu erhalten.

4.7.1 Security Information and Event Management (SIEM):

SIEM-Systeme spielen eine zentrale Rolle im Monitoring im Zero Trust-Paradigma. Sie sammeln Daten aus verschiedenen Quellen wie Protokollen, Ereignissen und Alarmen von Sicherheitskomponenten im Netzwerk. Durch die Analyse dieser Daten in Echtzeit können SIEM-Systeme potenzielle Sicherheitsvorfälle erkennen und Anomalien identifizieren. SIEM-Systeme können auf die vom PIP bereitgestellten Sicherheitsrichtlinien zugreifen und sicherstellen, dass die Überwachung entsprechend den aktuellen Richtlinien erfolgt. Anbieter von Betriebsleistungen mittels Produkttypen der TI (1.0) erhalten durch eine Anbieterzulassung die Auflage, Anforderungen an ein [ISMS] zu erfüllen. Hierfür können sie bspw. SIEM-Systeme oder Intrusion Detection Systeme (IDS) verwenden. In der Weiterentwicklung zur TI 2.0 wird dieses Konzept fortgeführt, und finden die so gesammelten Informationen über den Sicherheitszustand eines Systems wieder Eingang in Zugriffsentscheidungen eines Policy Decision Points.

4.7.2 Shared Signals

Shared Signals sind Hinweise oder Indikatoren für Sicherheitsvorfälle, die von verschiedenen Systemen und Quellen im Netzwerk gemeinsam genutzt werden. Diese Signale können von verschiedenen Sicherheitskomponenten wie Firewalls, Endpunktschutzsystemen, Intrusion Detection Systems (IDS) und anderen generiert werden.

SIEM-Systeme aggregieren und korrelieren diese Signale, um umfassende Einblicke in die Sicherheitslage des Netzwerks zu erhalten und potenzielle Bedrohungen zu identifizieren. Durch die Integration von Shared Signals in das Monitoring kann eine umfassende und ganzheitliche Sicherheitsüberwachung gewährleistet werden, die potenzielle Angriffe frühzeitig erkennt und darauf reagiert.

4.7.3 Telemetrie, Monitoring und Logging

Betriebliche Monitoring-Daten werden Zero-Trust-Komponenten-übergreifend in einem betrieblichen Rohdaten Log erfasst. Das Log wird für die Generierung von Bestandsdaten für die gematik benutzt. Dieses Log kann von dem Betreiber für sein eigenes betriebliches Monitoring und als Quelle für sein SIEM-System verwendet werden.

4.8 Zusammenspiel mit IdP

Im Zero Trust-Paradigma arbeiten der PEP und der IdP zusammen, um den Zugriff auf Ressourcen - basierend auf den definierten Sicherheitsrichtlinien und der Benutzeridentität - zu kontrollieren. Das Stichwort "Step-up-Authentifizierung" bezieht sich auf eine Sicherheitsmaßnahme, bei der der Benutzer zusätzliche Authentifizierungsschritte durchlaufen muss, um auf sensible Ressourcen zuzugreifen. Diese Maßnahme wird wie folgt realisiert:

  1. Zugriffsanfrage des Benutzers: Ein Benutzer möchte auf eine geschützte Ressource zugreifen und sendet eine Zugriffsanfrage an den PEP.
  2. Überprüfung durch den PEP: Der PEP empfängt die Zugriffsanfrage und überprüft sie gemäß den definierten Sicherheitsrichtlinien. Dies kann bedeuten, dass der PEP feststellt, dass die Zugriffsanfrage eine höhere Sicherheitsstufe erfordert als die Standardauthentifizierungsmethode des Benutzers oder der Authentifizierung wird nicht mehr vertraut, da sie zu weit in der Vergangenheit liegen.
  3. Weiterleitung an den IDP: Falls eine Step-up-Authentifizierung erforderlich ist, löst der PEP die Zugriffsanfrage an den IDP aus, der für die Authentifizierung des Benutzers zuständig ist.
  4. Step-up-Authentifizierung: Der IDP erkennt die Anforderung für eine Step-up-Authentifizierung und fordert den Benutzer auf, zusätzliche Authentifizierungsschritte durchzuführen. Dies könnte beispielsweise die Eingabe eines Einmalpassworts, die Verwendung von Biometrie oder die Bestätigung über ein zweites Gerät sein.
  5. Authentifizierungsbestätigung: Nach erfolgreicher Durchführung der Step-up-Authentifizierung bestätigt der IDP die Identität des Benutzers gegenüber dem PEP.
  6. Zugriffsgewährung durch den PEP: Der PEP erhält die Authentifizierungsbestätigung vom IDP und gewährt dem Benutzer basierend auf den Sicherheitsrichtlinien Zugriff auf die angeforderte Ressource.

Das Zusammenspiel zwischen PEP und IDP ermöglicht es, den Zugriff auf sensible Ressourcen - basierend auf der aktuellen Sicherheitslage und der Identität des Benutzers - zu steuern. Die Step-up-Authentifizierung stellt sicher, dass zusätzliche Sicherheitsmaßnahmen - wenn erforderlich - ergriffen werden, um die Integrität und Vertraulichkeit der geschützten Daten zu gewährleisten.

4.9 Fachdienst-Backend

Das Fachdienst-Backend stellt das Ziel jedes Zugriffswunschs eines Nutzers über sein Clientsystem dar. Es stellt fachliche Schnittstellen zur Nutzung durch Clientsysteme dar, die über die Mechanismen des Zero Trust abgesichert werden. 

5 Spezifikation

Dieses Kapitel beschreibt die technische Umsetzung der beschriebenen Konzepte an die oben eingeführten Komponenten des Zero Trust (Zero Trust-Komponenten) als generische Produkt- und Anbietertypen. Diese Anforderungen finden Anwendung in den Steckbriefen von konkreten Produkt- und Anbietertypen der jeweiligen Fachanwendung und erhalten erst in der dortigen Zuordnung ein konkretes Prüfverfahren.

5.1 Übergreifende Anforderungen für Datenschutz und Sicherheit

A_25400 - Zero Trust-Komponenten - Umsetzung Sicherer Softwareentwicklungsprozess

Der Hersteller einer Zero Trust-Komponente MUSS einen sicheren Softwareentwicklungsprozess umsetzen (siehe [gemSpec_DS_Hersteller#Kapitel 2.2 Sicherer Softwareentwicklungsprozess]). [<=]

A_25401 - Zero Trust-Komponenten - Darstellung der Voraussetzungen für sicheren Betrieb des Produkts im Handbuch

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

A_25402 - Zero Trust-Komponenten - Schutz der transportierten Daten

Alle Zero Trust-Komponenten MÜSSEN sicherstellen, dass die Vertraulichkeit und Integrität der transportierten Daten gewährleistet ist. [<=]

A_25403 - Zero Trust-Komponenten - Schutzmaßnahmen gegen die OWASP Top 10 Risiken

Alle Zero-Trust-Komponenten MÜSSEN technische Maßnahmen zum Schutz vor den Risiken in der aktuellen Version der [OWASP-Top-10-Risiken] umsetzen. [<=]

A_25404 - Zero Trust-Komponenten - Angriffe erkennen

Alle Zero Trust-Komponenten MÜSSEN Maßnahmen zur Erkennung, Kategorisierung und Protokollierung bzw. Meldung von Angriffen umsetzen. [<=]

Hinweis: Für die Kategorisieren von Angriffen ist eine Kategorisierung nach "CAPEC: OWASP Related Patterns"[CAPEC OWASP] zu verwenden.

A_25405 - Zero Trust-Komponenten - Angriffen entgegenwirken

Alle Zero Trust-Komponenten MÜSSEN Maßnahmen zur Schadensreduzierung und -verhinderung von Angriffen umsetzen. [<=]

A_25406 - Zero Trust-Komponenten - Eingabe Validierung von Operationen

Alle Zero Trust-Komponenten MÜSSEN sicherstellen, dass alle Daten und Parameter, die über eine API kommuniziert werden, sicherheitstechnisch validiert werden. [<=]

Hinweis: Eine Eingabe-Validierung von Fachdienst APIs erfolgt im Fachdienst und nicht in den Zero Trust-Komponenten. 

A_25407 - Zero Trust-Komponenten - Sicherheitstechnische Validierung von Policy und Konfigurationen

Alle Zero Trust-Komponenten MÜSSEN sicherstellen, dass alle Daten und Parameter, die von einer Konfigurationsdatei oder Policy gelesen werden, sicherheitstechnisch validiert werden. [<=]

A_25408 - Zero Trust-Komponenten - Verbot unbefugter Profilbildung

Der Betreiber einer Zero Trust-Komponente DARF anfallende Zero Trust-Verbindungsdaten (Client Eigenschaften, Client-IP-Adresse etc.) NICHT für eine unbefugte Profilbildung der verbundenen Clients bzw. ihrer Nutzer verwenden.
[<=]

A_25409 - Zero Trust-Komponenten - Privacy by Design

Alle Zero Trust-Komponenten MÜSSEN sicherstellen, dass bei Konfigurationsmöglichkeiten die datenschutzfreundlichere Option vorausgewählt ist. [<=]

A_25410 - Zero Trust-Komponenten - Verbot von Werbe- und Usability-Tracking

Alle Zero Trust-Komponenten DÜRFEN im Produktivbetrieb ein Werbe- und Usability-Tracking NICHT verwenden. [<=]

A_25411 - Zero Trust-Komponenten - Verbot vom dynamischen Inhalt

Alle Zero Trust-Komponenten DÜRFEN dynamischen Inhalt von Drittanbietern NICHT herunterladen und verwenden. [<=]

A_25412 - Zero Trust-Komponenten - Zusätzliche Verschlüsselung bei der Persistierung

Unabhängig davon, ob die Daten schon verschlüsselt vorliegen, MÜSSEN alle Zero Trust-Komponenten die Daten der Komponente bei der Persistierung verschlüsseln.   [<=]

A_25413 - Zero Trust-Komponenten - Ordnungsgemäße IT-Administration

Der Betreiber einer Zero Trust-Komponente MUSS die Maßnahmen für erhöhten Schutzbedarf des BSI-Bausteins „OPS.1.1.2 Ordnungsgemäße IT-Administration“ [BSI-Grundschutz] während des gesamten Betriebs der Komponente umsetzen.    [<=]

A_25718 - Zero Trust-Komponenten - Bereitstellung Security-KPIs

Alle Zero Trust-Komponenten MÜSSEN sicherstellen, dass die für die Komponente relevante Security-KPIs in    automatisch für den Betreiber bereitgestellt werden.  
[<=]

Hinweis: Die Anforderung ist besonders wichtig, falls die Zero Trust-Komponente in einer VAU betrieben wird. Die Bereitstellung der Daten soll in das betriebliche Rohdaten-Log erfolgen.

5.1.1 Sicherheits- und Datenschutzanforderungen an Logging und Monitoring

Hinweis: Die Anforderungen dieses Abschnitts könnten sich noch ändern, falls sich bei der Umsetzung des Zero Trust herausstellt, dass weitere Protokollierungen auf Seiten des Betreibers notwendig werden.

A_25744 - Zero Trust-Komponenten - Datenschutzkonformes Logging und Monitoring

Die Zero Trust-Komponenten MÜSSEN die für den Betrieb des Zero Trust erforderlichen Logging- und Monitoring-Informationen in solcher Art und Weise erheben und verarbeiten, dass mit technischen Mitteln ausgeschlossen ist, dass dem Betreiber der Zero Trust-Komponenten vertrauliche oder zur unautorisierten Profilbildung geeignete Daten zur Kenntnis gelangen. [<=]

A_25745 - Zero Trust-Komponenten - Keine medizinischen Informationen in Logging und Monitoring

Die Zero Trust-Komponenten MÜSSEN sicherstellen, dass in für den Betrieb erstellten Protokollen keine personenbezogenen medizinischen Informationen enthalten sind (u. a. medizinische Daten von Versicherten oder Informationen, aus denen sich ableiten lässt, bei welchen Leistungserbringerinstitutionen ein Versicherter in Behandlung ist). [<=]

A_25746 - Zero Trust-Komponenten - Keine sicherheitsrelevanten Daten in Logging und Monitoring

Die Zero Trust-Komponenten MÜSSEN sicherstellen, dass in für den Betrieb erstellten Protokollen des Betreibers keine sicherheitsrelevanten Daten enthalten sind. [<=]

Hinweis: Sicherheitsrelevante Daten sind zum Beispiel, Kryptoschlüssel, Access/Refresh Token usw.

A_25747 - Zero Trust-Komponenten - Löschfristen Protokolle

Der Betreiber einer Zero Trust-Komponente MUSS sicherstellen, dass die

  • zum Zwecke der Fehleranalyse erhobenen Protokolle nach Behebung des Fehlers unverzüglich gelöscht werden,
  • zum Zwecke des Security Monitorings erhobenen Protokolle nach 6 Monaten gelöscht werden.
[<=]

5.1.2 Sicherheits- und Datenschutz-Anforderungen an das Security Monitoring

Das SIEM, Plattform-Monitoring und Shared Signals bilden das Security Monitoring von Zero Trust ab.  Die folgenden Anforderungen beschreiben die Fähigkeiten des Security Monitorings und welche Ereignisse erkannt werden sollen.

A_25419 - Security Monitoring - Erkennungsfähigkeit

Der Betreiber des Monitoring Systems MUSS sicherstellen, dass die folgenden Arten von Anomalien erkannt werden können:

  • Geolokation - Land und Ort
  • Impossible Travel
  • Zugriffe über TOR Netzwerke
  • Zugriff von VPN-Provider
  • Zugriffe über Proxies
  • Zugriffe über Botnetze
  • Traffic Volumen Anomalien
  • Network-Protokoll Anomalien
[<=]

Hinweis: Impossible Travel ist eine Methode zur Anomalieerkennung in der Cybersicherheit, die potenzielle Kompromittierungen identifiziert, indem sie Benutzeranmeldeaktivitäten analysiert und mit geografischen Standorten korreliert. Dabei werden Fälle markiert, in denen auf das Benutzerkonto innerhalb eines verdächtig kurzen Zeitraums aus zwei verschiedenen Ländern zugegriffen wird.

Der Fachdienst kann eine Missbrauchserkennung implementieren. Dabei werden mögliche Angriffe und Anomalien innerhalb der Anwendungslogik erkannt (z. B. falsche/manipulierte Metadaten für Dokumente in der elektronischen Patientenakte (ePA)) und an das SIEM System gemeldet.

A_25421 - Security Monitoring - Empfang von Missbrauchserkennung auf Fachdienstebene

Falls der Fachdienst eine Missbrauchserkennung durchführt, MUSS der Betreiber des Security Monitorings sicherstellen, dass das Security Monitoring solche Missbrauchssignale von dem Fachdienst empfangen und verarbeitet werden kann. [<=]

A_25420 - Security Monitoring - Anomalien signalisieren

Der Betreiber des Monitoring Systems MUSS sicherstellen, dass bei der Erkennung von den folgenden Anomalien automatisiert ein Abbruchsignal an dem PEP und PDP gesendet wird:

  • Impossible Travel
  • Zugriffe über TOR Netzwerke
  • Zugriffe über Proxies
  • Zugriffe über Botnetze
  • Zugriff von VPN-Provider
  • Traffic Volumen Anomalien
  • Network-Protokoll Anomalien
  • Missbrauchssignale von dem Fachdienst (falls implementiert)
[<=]

Hinweis: Mit dem Abbruchsignal wird signalisiert, dass der PEP das aktuelle Access Token sperren soll, sodass der Client ein neues Access Token beim Authorization Server abfragen muss.

A_25484 - Security Monitoring - Security KPIs

Der Betreiber des Monitoring Systems MUSS einmal täglich als Teil der Bestandsdatenlieferung die folgende Sicherheits-KPIs automatisiert über die von der gematik angebotene Schnittstelle an das TI SIEM System übermitteln:

  • Anzahl versuchter Zugriffe von nicht registrierten Geräten (hier muss die KPIs zwischen Fachdienst APIs und Clientregistrierung APIs unterscheiden)
  • Anzahl von Netzwerk-Protokoll-Anomalien
  • Anzahl von Zugriffen von Botnetzen
  • Anzahl von Zugriffen aus jedem Land gezählt plus weitere Zugriffe, die separat in Versicherte und LE ausgewiesen werden
  • Anzahl fehlerhafter Gerätfreischaltungen plus weitere breakdown in Versicherte und LE
  • Anzahl von Impossible travel Zugriffen (inkl. Land- und Ortsdaten) plus weitere breakdown in Versicherte und LE
  • Anzahl von Zugriffen über TOR Netzwerke plus weitere breakdown in Versicherte und LE
  • Anzahl von Zugriffen über Proxies plus weitere breakdown in Versicherte und LE
  • Anzahl von Zugriffen über VPNs plus weitere breakdown in Versicherte und LE
  • Traffic Volumes plus weitere breakdown in Versicherte und LE
  • Anzahl erkannte Angriffe in Kategorie (siehe ) plus weitere breakdown in Versicherte und LE
  • Anzahl fehlerhafte Authorization Codes vom IDP.
[<=]

Hinweis: Security KPIs beinhalten anonyme Daten und sind nicht auf individuelle Nutzer zurückzuführen. 

Hinweis: Netzwerk-Protokoll-Anomalien sind z.B. ungewöhnliche Netzwerk-Aktivitäten, Netzwerk-Protokoll-Aktivitäten oder die Manipulation von Netzwerk-Paketen. 

A_25485 - Security Monitoring - Sicherheitsmeldung bei Aktualisierung von PIP-Daten oder PDP-Policies

Der Betreiber des Security Monitoring MUSS sicherstellen, dass bei der Aktualisierung der PIP-Daten oder PDP-Policies eine Sicherheitsmeldung automatisiert über die von der gematik angebotene Schnittstelle an das TI SIEM System übermittelt wird. [<=]

A_25606 - Security Monitoring - Fehlermeldung bei Aktualisierung von PIP-Daten oder PDP-Policies

Der Betreiber des Security Monitoring MUSS sicherstellen, dass beim folgenden Fehler während der Aktualisierung der PIP-Daten oder PDP-Policies eine Fehlermeldung automatisiert über die von der gematik angebotene Schnittstelle an das TI SIEM System übermittelt wird:

  • Policy Download Fehler ((HTTP Fehlercode: 400, 404)
  • Fehler bei der Integritätsprüfung der Policysignatur
[<=]

5.1.3 Sicherheits- und Datenschutz-Anforderungen an die Verarbeitung von Daten mit dem Schutzbedarf "sehr hoch"

Falls der Fachdienst personenbezogene medizinische Daten verarbeitet, gibt es Sonderanforderungen, um die Daten während der Verarbeitung zu schützen.

A_25608 - PEP und PDP - Verarbeitung von personenbezogenen medizinische Daten in einer VAU

Der PEP und der PDP MÜSSEN in einer VAU umgesetzt werden.  [<=]

A_25763 - Zero Trust-Komponenten - Private Schlüssel der Komponenten-Identitäten in einem HSM

Die privaten Schlüssel der Identitäten aller Zero Trust-Komponenten MÜSSEN in einem HSM gespeichert werden. [<=]

A_25764 - Zero Trust-Komponenten - Sicherer Betrieb und Nutzung eines HSMs

Der Betreiber einer Zero Trust-Komponente MUSS beim Einsatz eines HSMs sicherstellen, dass die auf dem HSM verarbeiteten privaten Schlüssel, Konfigurationen und eingesetzte Software nicht unautorisiert ausgelesen, unautorisiert verändert, unautorisiert ersetzt oder in anderer Weise unautorisiert benutzt werden können. [<=]

A_25765 - Zero Trust-Komponenten - Einsatz zertifizierter HSM

Alle Zero Trust-Komponenten MÜSSEN beim Einsatz eines HSMs sicherstellen, dass dessen Eignung durch eine erfolgreiche Evaluierung nachgewiesen wurde. Als Evaluierungsschemata kommen dabei Common Criteria, ITSEC oder Federal Information Processing Standard (FIPS) in Frage. 
Die Prüftiefe MUSS mindestens:

  1. FIPS 140-2 Level 3 oder
  2. FIPS 140-3 Level 3 oder  
  3. Common Criteria EAL 4+ (mit AVA_VAN.5)
entsprechen. [<=]

5.1.4 Sicherheits- und Datenschutz Anforderungen an dem Trust Client

A_25802 - Trust Client - Einhaltung der BSI-Prüfvorschrift

Der Trust Client MUSS die Prüfaspekte aus der BSI-Prüfvorschrift [BSI-Prüfvorschrift] erfüllen, sofern sie für das Trust Client anwendbar sind. [<=]

Hinweis: Nicht anwendbar können zum Beispiel sein: O.Paid .. Die Anwendbarkeit ist zwischen Hersteller des Trust Clients und dem Gutachter zu klären. Der Gutachter gibt sein Votum über die Erfüllung der BSI-Prüfvorschrift in Form der Bewertung der Erfüllung der A_25802  ab, wobei die A_25802 als „umgesetzt“ bewertet werden kann, wenn die anwendbaren Prüfaspekte der BSI-Prüfvorschrift aus Sicht des Gutachters erfüllt sind. 

5.2 Anforderungen an Clientsysteme

Ein Clientsystem ist eine Softwarekomponente in der Verwendung eines Benutzers zum Ausführen fachlicher Anwendungsfälle z.B. als Primärsystem (PVS, AVS, LIS, KIS etc.) oder als Frontend des Versicherten (ePA-App, E-Rezept-App, TI-Messenger etc.). Dieses Clientsystem wird dem Benutzer durch einen Hersteller bzw. Herausgeber zur Verfügung gestellt.

5.2.1 Hersteller und Herausgeber

A_25335 - Hersteller Clientsystem - Hinweise und Maßnahmen sicherer Betrieb

Der Hersteller bzw. Herausgeber eines Clientsystems MUSS den Benutzer über Maßnahmen zum sicheren Betrieb seines Clientsystems vor der Inbetriebnahme informieren und während des Betriebs stets zum Abruf durch den Benutzer bereithalten. [<=]

A_25336 - Hersteller Clientsystem - Regelmäßige Updates

Der Hersteller bzw. Herausgeber eines Clientsystems MUSS dem Benutzer für wenigstens 5 Jahre regelmäßig (z. B. quartalsweise) Updates für das Clientsystem bereitstellen, um das Clientsystem dauerhaft auf dem Stand der Technik zu halten und Sicherheitslücken zu schließen. [<=]

A_25337 - Hersteller Clientsystem - Registrierung für product_id

Der Hersteller bzw. Herausgeber eines Clientsystems MUSS sich über einen organisatorischen Prozess bei der gematik für die Nutzung von Diensten, für welche Token abgerufen werden sollen, registrieren. Der Hersteller bzw. Herausgeber eines Clientsystems bekommt dabei eine "product_id" zugewiesen, die in jeder Instanz des Clientsystems verwendet werden MUSS. [<=]

A_25427 - Hersteller Clientsystem Android - Google Cloud Projekt

Der Hersteller bzw. Herausgeber eines Clientsystems für eine Android-basierte Betriebsumgebung MUSS ein Google Cloud Projekt führen, um Nachweise über die Geräteintegrität einer jeden Clientsysteminstallation über die Google Play Integrity API beziehen zu können. [<=]

5.2.2 Verbindungsaufbau

A_25338 - Clientsystem - User-Agent

Das Clientsystem MUSS in allen HTTP-Requests an Dienste der TI den HTTP-Header user-agent gemäß [RFC7231] mit <product_id>/<product_version> mit

  • <product_id> gemäß Registrierung bei der gematik,
  • <product_version> gemäß Produktidentifikation
des Clientsystems befüllen. [<=]

A_25339 - Clientsystem - Exponential Backoff

Das Clientsystem SOLL bei Server-seitigen Fehlermeldungen, die auf eine Überlastung des Zielsystems schließen lassen (z. B. http-status 5xx, 429 - too many requests etc.), erneute Verbindungsversuche nach dem Prinzip des Exponential Backoffs [ExpBack] durchführen. [<=]

A_25340 - Clientsystem - Zertifikatsprüfung

Das Clientsystem MUSS alle Zertifikate, die es aktiv verwendet (bspw. TLS-Verbindungsaufbau), auf Integrität und Authentizität prüfen. Falls die Prüfung kein positives Ergebnis ("gültig") liefert, so MUSS es die von dem Zertifikat und den darin enthaltenen Attributen (bspw. öffentliche Schlüssel) abhängenden Arbeitsabläufe ablehnen.
Das Clientsysem MUSS alle öffentlichen Schlüssel, die es verwenden will, auf eine positiv verlaufene Zertifikatsprüfung zurückführen können. [<=]

A_25341 - Clientsystem - TLS- oder JWT-Clientauthentisierung

Das Clientsystem MUSS sich in allen HTTP-Requests an der Außenschnittstelle des PEP entweder

  • mittels eines gültigen TLS-Clientzertifikats oder
  • mittels private JWT und DPoP-Token
als legitimer Client authentisieren. Verfügt das Clientsystem über kein gültiges Clientauthentisierungsmittel, MUSS es den Bezug über die Clientregistrierung starten. [<=]

5.2.3 Clientregistrierung

Offener Punkt: Details in diesem Kapitel werden im Rahmen der Implementierung zwischen gematik und dem Zero-Trust-Hersteller festgelegt.

A_25432 - Clientsystem - Ablauf Clientregistrierung

Das Clientsystem MUSS, sofern es an Schnittstellen der Telematikinfrastruktur wegen einer ungültigen/fehlenden Geräteregistrierung abgewiesen wird, eine Clientregistrierung am Service der Dynamic Client Registration durchführen, in dem es

  • den/die Benutzer:in mittels OpenID Connect authentifiziert,
  • kryptografische Client-Credentials lokal generiert, 
  • die generierten Credentials sowie die Clientintegrität attestiert und
  • eine zusätzliche Benutzerbestätigung mittels One-Time-Passwort über einen zweiten Kommunikationsweg (z. B. E-Mailbestätigung) startet
[<=]

A_25766 - Clientsystem - Client Credentials in TI Qualität

Das Clientsystem MUSS die Client-Credentials im Form von kryptografischen Schlüsseln gemäß der Festlegungen in [gemSpec_Krypt] (Verfahren, Algorithmen, Schlüssellängen etc.) unterstützen. [<=]

A_25769 - Clientsystem - Client Credentials sicher generieren und schützen

Das Clientsystem auf mobilem Gerät mit Apple- oder Android-basierter Betriebsumgebung MUSS die Generierung der Client-Credentials in Hardware-Modulen derart generieren und speichern, dass ein Kopieren und Exportieren der Schlüssel durch die Hardware verhindert wird. [<=]

A_25770 - Clientsystem - Client Credentials Rotation

Das Clientsystem MUSS seine Client-Credentials regelmäßig rotieren (erneuern und neu registrieren), wobei die Häufigkeit der Rotation durch die gematik nach einer Auswertung der initialen Benutzererfahrung festgelegt wird. [<=]

Hinweis: Perspektivisch werden weitere Attestierungsmechanismen für Clientsysteme aufgenommen, z. B. FIDO2, TPM2, SMC-B.

A_25767 - Clientsystem - Clientkey in JWT oder Zertifikat

Das Clientsystem MUSS wahlweise Private Key JWT (RFC7521 und RFC7523) oder mutual TLS (RFC8705) zur Authentifizierung unterstützen. [<=]

A_25434 - Clientsystem - Clientregistrierung mit bestätigten Umgebungseigenschaften Android

Das Clientsystem für eine Android-basierte Betriebsumgebung MUSS seine Client-Credentials, App-Integrität und -Authentizität sowie Ablaufumgebung-Eigenschaften über Key and ID Attestation gegenüber PEP Client Registrierung bestätigen.. [<=]

A_25768 - Clientsystem - Clientregistrierung mit bestätigten Umgebungseigenschaften Apple

Das Clientsystem für eine Apple-basierte Betriebsumgebung (iOS, macOS) MUSS die Client-Credentials, App Integrität und Authentizität über DCAppAttest gegenüber PEP Client Registrierung bestätigen. Eigenschaften der Ablaufumgebung MÜSSEN durch das Clientsystem über einen geprüften Prozess bestätigt werden. [<=]

A_25758 - Clientsystem - Erfassung Kontaktinformation für Offband-Verifikation

Das Clientsystem MUSS vom Benutzer eine strukturell valide Kontaktinformation (E-Mailadresse, Telefonnummer) abfragen und für eine Offband-Verifikation (Trust on First Use) an Endpunkt der Dynamic Client Registration übertragen. [<=]

A_25732 - Clientsystem - Unterstützung des Nutzers bei der Registrierung

Das Clientsystem MUSS den Nutzer bei der Clientregistrierung und -Verwaltung geeignet unterstützen (z. B. mittels Guide, Tutorial o. ä.). [<=]

A_25733 - Clientsystem - Clientverwaltung und manuelle De-Registrierung

Das Clientsystem MUSS dem Nutzer eine Übersicht aller beim Clientregistrierungsdienst registrierten Clients darstellen und die Möglichkeit zur De-Registrierung einzelner Clients anbieten. [<=]

A_25734 - Clientsystem - Zugriffsprotokoll Clientregistrierung

Das Clientsystem MUSS dem Nutzer einen Einblick in das Zugriffsprotokoll der Schnittstellen des Clientregistrierungsdienstes für genutzte Clients dieses Nutzers geben. [<=]

A_25735 - Clientsystem - Aktivierung Push-Benachrichtigung

Das Clientsystem MUSS dem Nutzer die Möglichkeit geben, Push-Benachrichtigungen für Aktivitäten über registrierte Clients und Neuregistrierungen für diesen Nutzer zu aktivieren. [<=]

5.2.4 Nutzerauthentifizierung

A_25761 - Clientsystem - Nutzerauthentifizierung mittels etablierter Standards

Das Clientsystem MUSS die Mechanismen OAuth2, OpenID Connect und OpenID Federation (Auswahl des zuständigen sektoralen IDP) unterstützen.   [<=]

Hinweis: Perspektivisch sollen Clientsysteme auch OpenID for Verifiable Credentials (OIDC4VC) unterstützen.

A_25762 - Clientsystem - Nutzerauthentifizierung - Unterstützung etablierter Identitäten und Dienste

Das Clientsystem MUSS zur Authentifizierung des Nutzers mindestens eines der folgenden Verfahren unterstützen:

  • Authentifizierung des Benutzers gegenüber einem Sektoralen IDP der IDP Föderation gemäß [gemSpec_IDP_Sek] (GesundheitsID)
  • Authentifizierung des Benutzers gegenüber dem zentralen IDP-Dienst der TI gemäß [gemSpec_IDP_Dienst] (SmartCardIDP für kartengebundene Identitäten).
[<=]

5.2.5 Session Management

A_25781 - Clientsysteme - OAuth2 Autorisierung

Das Clientsystem MUSS die Rolle eines OAuth2 Clients [RFC6749] übernehmen und eine Autorisierung vom Autorisation Server einholen. Dabei MUSS PKCE Flow [RFC7636] verwendet werden. 
[<=]

A_25782 - Clientsystem - OAuth2 Session Management

Das Clientsystem MUSS

  • die vom Autorisation Server ausgestellten Access- und Refresh-Token gemäß [RFC6749#1.5] bis zur nächsten Aufforderung zur Autorisierung oder Authentifizierung als User-Session sicher aufbewahren,
  • regelmäßig neue Access-Token über Refresh-Token erneuern und
  • eine Refresh-Token-Rotation gemäß [RFC6749#10.4] unterstützen.
[<=]

A_25783 - Clientsystem - Anweisungen aus HTTP Response Status Codes und Header folgen

Das Clientsystem MUSS die HTTP Response Status Codes und HTTP Header entsprechend der Vorgaben der Fachdienste und Zero Trust APIs auswerten und den Anweisungen daraus folgen und insbesondere

  • eine Step-Up- oder erneute Authentifizierung des Nutzers,
  • eine Re-Autorisierung und erneute Attestation der Client-Instanz,
  • eine Anzeige der Warnungen aufgrund der Policy Entscheidungen und
  • ein Nonce-Replay gemäß [RFC8555#6.5.1]
umsetzen. [<=]

5.4 Anforderungen an Policy Enforcement Points

Der Policy Enforcement Point (PEP) stellt die zentrale Sicherheitskomponente einer Zero Trust Architektur dar, da in dieser alle Zugriffsentscheidungen durchgesetzt (engl.: enforce) werden. Gemäß oben vorgeschlagener Architekturzerlegung, empfiehlt es sich, den PEP in mehreren Teilkomponenten zu realisieren.

Mittels einer Dynamic Client Registration werden von Nutzern verwendete Geräte identifizierbar gemacht und können ausgegebene Zugriffstoken an diese Geräte gebunden werden. Über einen Authorization Server kann im PEP eine Benutzersession angelegt und verwaltet werden, über die eine mögliche Veränderung von Sessionparametern (verwendetes Gerät, Zugriffsfrequenz) beobachtet werden kann, um nach Bedarf zusätzliche Sicherheitsmechanismen aktivieren zu können (Step-Up-Authentication, Throttling etc.). Ist ein Zugriff zu gewähren, wird der Nutzerrequest über einen http Upstream Proxy an das angefragte Resource Backend weitergeleitet.

5.4.1 PEP Client Registry

A_25644 - PEP Client Registration - Mobile Attestation

Die Komponente Dynamic Client Registration MUSS die Clients bei der Registrierung über folgende Mechanismen attestieren:

  • Android Key ID Attestation
  • Apple DCAppAttest.
[<=]

A_25645 - PEP Client Registration - User Authentication in Attestation

Die Komponente Dynamic Client Registration MUSS die Registrierung über eine TI-Smartcard durchführen (eGK, SMC-B, HBA), falls die Ausführungsumgebung des Clients keine plattformseitigen Attestationsmechanismen anbietet. Die Verwendung des zentralen IDP-Dienstes ist für die Nutzerauthentifizierung zulässig. [<=]

A_25646 - PEP Client Registration - SubCA Device Certificate

Die Komponente Dynamic Client Registration MUSS über ein SubCA-Zertifikat verfügen, um TLS Client Zertifikate für die Client Instanzen ausstellen zu können. [<=]

Hinweis: Die Mechanismen und Prozesse zur Absicherung des Schlüsselmaterials zu diesem SubCA-Zertifikat haben nach dem Stand der Technik zur Herstellung eines angemessenen Vertrauensniveaus zu erfolgen. Detailfestlegungen erfolgen zu einem späteren Zeitpunkt, wenn die funktionalen Lücken zwischen Clientsystem und der Komponente Dynamic Client Registration geschlossen werden.

A_25647 - PEP Client Registration - Certificate Signing Request

Die Komponente Dynamic Client Registration MUSS die automatisierte Erneuerung bzw. Ausstellung neuer TLS Client Zertifikate  über einen Certificate Signing Request unterstützen. [<=]

A_25648 - PEP Client Registration - Device Session Credentials

Die Komponente Dynamic Client Registration MUSS die Client Credentials aufbewahren und Verifikationsmechanismen dem PEP Authorisation Server bereitstellen [<=]

A_25649 - PEP Client Registration - Regelmäßige Wiederholung der Attestation

Die Komponente Dynamic Client Registration MUSS die Client Attestierung regelmäßig gemäß Festlegungen in der Device Policy wiederholen. [<=]

A_25650 - PEP Client Registration - UserID in Attestation

Die Komponente Dynamic Client Registration MUSS den registrierten Client an eine TI-Identität (KVNR oder TelematikID, festgestellt z. B. über die Einbindung des zentralen IDP-Dienstes oder eines Sektoralen IDP) binden. [<=]

A_25651 - PEP Client Registration - Offband User Verification

Die Komponente Dynamic Client Registration MUSS einen Offband Prozess (z. B. E-Mail, SMS) für die Kommunikation mit diesem Nutzer unterstützen (Trust on First Use), wobei der Nutzer seine E-Mail Adresse bzw. Kontaktinformation eigenverantwortlich vergibt. [<=]

A_25652 - PEP Client Registration - Push Gateway

Die Komponente Dynamic Client Registration MUSS Push-Notifications über die von App-Anbietern bereitgestellten Push-Gateways unterstützen, um die Notifications an bestimmte oder alle registrierte Clients eines Anwenders verschicken zu können. [<=]

A_25653 - PEP Client Registration - Umsetzung der Device Policy

Die Komponente Dynamic Client Registration MUSS die zulässigen Clients entsprechend der Konfiguration oder Policy (über PDP-Decision) ermitteln und nur diese gemäß der festgelegten Device Policy registrieren. Geräte, die die geforderten Parameter der Device Policy nicht unterstützen bzw. nicht das geforderte Niveau erreichen, MÜSSEN abgelehnt werden. [<=]

A_25752 - PEP Client Registration - Nutzer über Hintergrund zur Ablehnung der Gerätregistrierung informieren

Falls ein Gerät nicht die geforderten Parameter der Device Policy unterstützt bzw. das geforderte Niveau nicht erreicht, MUSS die Komponente Dynamic Client Registration den Nutzer nutzerfreundlich darüber informieren, welche Geräteigenschaften zu der Ablehnung geführt haben. [<=]

A_25654 - PEP Client Registration - Minimum Device Policy

Die Komponente Dynamic Client Registration MUSS Client Mindestanforderungen vor der Registrierung verifizieren und kann hierfür eine Schnittstelle des PDP verwenden. [<=]

A_25737 - PEP Client Regisration - Push Notification

Die Komponente Dynamic Client Registration MUSS eine Push Benachrichtigung an alle registrierten Clients des Nutzers, für die eine Push Notification aktiviert ist, verschicken, sobald sich Änderungen an der Liste der registrierten Clients dieses Nutzers ergibt. [<=]

A_25738 - PEP Client Registration - Telemetrie Clientregistrierung

Die Komponente Dynamic Client Registration MUSS in den Telemetriedaten zu jeder versuchten Clientregistrierung folgende Parameter ohne einen Nutzerbezug protokollieren:

  • Geräteparameter (Betriebssystem(-version), Patchlevel, Geolocation etc.) gemäß Geräteattestierung
  • verwendeter Faktor für Offband-Verifikation (E-Mail, SMS etc.)
  • Zeitstempel Registrierung, Zeitpunkt Offband-Bestätigung
  • verwendeter Faktor der Nutzerauthentifizierung (SmartCard, Digitale Identität)
  • Status/Ergebnis des Registrierungsversuchs
[<=]

A_25754 - PEP Client Registration - Notfall-Recovery-Prozess für Nutzer

Die Komponente Dynamic Client Registration MUSS dem Nutzer einen Notfall-Recovery-Prozess anbieten, falls der Nutzer sein letztes Gerät verloren und keinen Zugriff mehr auf seine registrierte E-Mail-Adresse/Telefonnummer hat. [<=]

5.4.1.1 Sicherheits- und Datenschutz-Anforderungen an dem PEP Client Registration

A_25751 - PEP Client Registration - Anwendungsfälle nur vom registrierten Gerät

Nach der erfolgreichen Registrierung von dem ersten Gerät, muss die Komponente Dynamic Client Registration sicherstellen, dass die folgenden Anwendungsfälle nur von einem registrierten Gerät durchgeführt werden kann:

  • Gerät löschen
  • Gerät umbenennen
  • E-Mail-Adresse hinzufügen
  • E-Mail-Adresse aktualisieren
[<=]

A_25748 - PEP Client Registration - Maximale Anzahl von Geräten

Die Komponente Dynamic Client Registration MUSS sicherstellen, dass ein Nutzer maximal 256 Geräte registrieren kann. [<=]

A_25749 - PEP Client Registration - Nutzer Protokollierung

Die Komponente Dynamic Client Registration MUSS ein Nutzerprotokoll führen und die folgenden Anwendungsfälle für den Nutzer protokollieren:

  • Gerät hinzufügen
  • Gerät löschen
  • Gerät umbenennen
  • E-Mail-Adresse hinzufugen
  • E-Mail-Adresse aktualisieren
[<=]

A_25750 - PEP Client Registration - Nutzer über sicherheitsrelevante Ereignisse informieren

Die Komponente Dynamic Client Registration MUSS sicherstellen, dass der Nutzer bei folgenden Anwendungsfällen informiert wird:

  • Gerät hinzufügen
  • Gerät löschen
  • Gerät umbenennen
  • E-Mail-Adresse aktualisieren
[<=]

Hinweis: Der Nutzer kann z.B. durch eine geeignete E-Mail oder App-Notifikation über die sicherheitsrelevanten Ereignisse informiert werden.

5.4.2 PEP Relying Party

A_25655 - PEP - Relying Party

Die Komponente Policy Enforcement Point MUSS in der TI-Föderation als Relying Party registriert sein. [<=]

A_25656 - PEP - Entity Statement

Die Komponente Policy Enforcement Point MUSS die Redirect-URIs aller zulässigen Clients als erlaubte Redirect-URIs im Entity Statement ausweisen. [<=]

A_25657 - PEP - User Authentication über sektoralen IDP

Die Komponente Policy Enforcement Point (bzw. ihre Subkomponente Authorization Server) MUSS die Anwender über sektorale IDPs authentifizieren können. [<=]

A_25658 - PEP - User Authentication über SmartCard IDP

Die Komponente Policy Enforcement Point (bzw. ihre Subkomponente Authorization Server) MUSS die Anwender über den zentralen IDP-Dienst (SmartCard-IDP) authentifizieren können. [<=]

5.4.3 PEP Authorization Server

A_25760 - PEP Authorization Server - OAuth2 Schnittstellen

Die Komponente Authorization Server MUSS eine OAuth2 Schnittstelle gemäß [RFC6749] implementieren. [<=]

A_25659 - PEP Authorization Server - Check Device Registration

Die Komponente Authorization Server MUSS die Client Instanzen über einen der folgenden Mechanismen authentifizieren:

  • Mutual-TLS Client Authentication gemäß [RFC8705]
  • JSON Web Token Client Authentication gemäß [RFC7523]
und Anfragen, die weder noch eine der genannten Mechanismen verwendet konsequent ablehnen. [<=]

A_25660 - PEP Authorization Server - Session Management mittels AccessTokens und Refresh-Tokens

Die Komponente Authorization Server MUSS ein Session Management mittels OAuth2 und Ausgabe, Verwaltung und Entzug von Access- und Refresh-Token gemäß [RFC6749#1.5] unterstützen. [<=]

A_25661 - PEP Authorization Server - Umsetzung der Policy Decision

Die Komponente Authorization Server MUSS die Zugriffs-Entscheidung eines PDP mittels der Ausgabe eines Access- und eines Refresh-Tokens umsetzen bzw. eine Zugriffsverweigerung mit einem http-Statuscode 403 quittieren. [<=]

A_25662 - PEP Authorization Server - Refresh-Token Rotation

Die Komponente Authorization Server MUSS eine Refresh-Token Rotation gemäß [RFC6749#10.4] erzwingen und MUSS sicherstellen, dass ein Refresh Token nur einmal gegen ein Access-Token und ein Refresh-Token getauscht werden kann. [<=]

A_25663 - PEP Authorization Server - Token-Binding an Device-Registration

Die Komponente Authorization Server MUSS auszugebende Access-Token und Refresh-Token an die, über einen der Mechanismen:

  • TLS Client Zertifikat Binding gemäß [RFC8705] 
  • OAuth 2.0 Demonstrating Proof of Possession (DPoP) gemäß [RFC9449]
identifizierte Client-Instanz binden, in dem im Token-Binding-Claim cnf die Angabe der verwendeten Clientidentifikation als "jkt" oder "x5t#S256" eineindeutig referenziert wird. [<=]

A_25664 - PEP Authorization Server - Token Laufzeit gemäß Policy

Die Komponente Authorization Server MUSS die Laufzeit der ausgegebenen Token entsprechend der Festlegungen aus der getroffenen Zugriffsentscheidung des PDP setzen. [<=]

A_25665 - PEP Authorization Server - Plugin-Schnittstelle Application Authorization Backend

Die Komponente Authorization Server MUSS eine Plug-In Schnittstelle zu einem anwendungsspezifischen Authorization Backend [GITHUB-Authz-Backend] implementieren und dabei die folgenden Signale und Informationen aus der erhaltenen Zugriffsanfrage weiterreichen.

Tabelle 5: PEP Authorization Server - Plugin-Schnittstelle Application Authorization Backend

Operation Operation Kennung Input Output
Benachrichtigung über die Ablehnung des Zugriffs durch PEP  notifiyAccessDenied Trace-Id
Subject-Information
Client-Information
PDP-Decision
-
Anwendungsspezifische Autorisierung authorizeAccess Trace-Id
Session-Id
Authorization-Scopes
Authorization-Details
Subject-Information
Client-Information
PDP-Decision
Zugriff erlauben Ja/Nein
Zusätzliche Authorization Scopes
Zusätzliche Authorization Details
Zusätzliche Claims
Benachrichtigung über abgelaufene oder terminierte Sessions notifySessionTermination Trace-Id
Session-Id
-
[<=]

5.4.4 PEP http Proxy

Die Komponente Upstream HTTP Proxy (im Bild oben "Forward Proxy") ist die "letzte" vor das Resource Backend geschaltete Zero Trust-Komponente und prüft alle Nachweise (Token, Zertifikate etc.) des Clients über den gewährten Zugriff. Sind alle Nachweise gültig, wird der Zugriff gewährt. Zudem wird der Request um zusätzliche http-Header angereichert, um ein Tracing zu ermöglichen.

A_25666 - PEP Upstream Proxy - TLS Terminierung

Die Komponente Upstream HTTP Proxy MUSS den TLS Kanal terminieren und alle HTTP-Header validieren. [<=]

A_25667 - PEP Upstream Proxy - Verifikation Access-Token Binding

Die Komponente Upstream HTTP Proxy MUSS das Access-Token Binding über einen der folgenden Mechanismen verifizieren:

  • TLS Client Zertifikat Binding gemäß [RFC8705]
  • OAuth 2.0 Demonstrating Proof of Possession (DPoP) gemäß [RFC9449],
d. h. der Claim "jkt" oder "x5t#S256" im Access-Token MUSS eindeutig der Angabe im TLS-Client-Zertifikat bzw. DPoP-Token entsprechen. [<=]

A_25668 - PEP Upstream Proxy - Access-Token Validierung

Die Komponente Upstream HTTP Proxy MUSS das übergebene Access-Token validieren. Insbesondere MÜSSEN

  • die Signatur des Authorization Servers gültig,
  • die Angaben zur zeitlichen Gültigkeit (Felder: iatexp) valide und 
  • die Angabe aud für das Resource Backend korrekt eingetragen
sein. [<=]

A_25669 - PEP Upstream Proxy - Zusätzliche http-Header

Die Komponente Upstream HTTP Proxy MUSS die HTTP Requests an das Resource Backend weiterleiten und dabei die folgenden zusätzlichen HTTP-Header einsetzen.

Tabelle 6: PEP Upstream Proxy - Zusätzliche http-Header

HTTP-Header Format Schema
X-ZTA-Subject Base64-URL kodierte JSON Struktur  subject.yaml
X-ZTA-Scopes URL-Encoded String -
X-ZTA-Authorization-Details Base64-URL kodierte JSON Struktur offen
X-ZTA-Client Base64-URL kodierte JSON Struktur client-instance.yaml
X-ZTA-PDP-Decision Base64-URL kodierte JSON Struktur pdp-decision.yaml

Gleichnamige HTTP-Header aus dem ursprünglichen HTTP-Request MÜSSEN entfernt bzw. überschrieben werden. [<=]

5.4.5 Sicherheits- und Datenschutz-Anforderungen an dem PEP

A_25445 - PEP - Zugriffsentscheidung nur über PDP

Der PEP MUSS sicherstellen, dass Zugriffe auf den Fachdienst nur durch eine positive Zugriffsentscheidung vom PDP möglich sind.   [<=]

A_25840 - PEP -Sichere interne Kommunikation

PEP MUSS die ausgehende interne Kommunikation zum PDP, zum Betreiber spezifischer Dienste und zur Anwendung spezifischer Dienste über die im Cluster vorhandenen Mechanismen absichern und deren Authentizität verifizieren können. [<=]

A_25448 - PEP - Nutzerzugriff nur von registrierten Geräten

Der PEP MUSS sicherstellen, dass der Zugriff eines Nutzers auf den Fachdienst nur von einem vom Nutzer registrierten Gerät möglich ist. [<=]

A_25449 - PEP- Nutzeridentität nur vom einem zugelassenem IDP

Der PEP MUSS sicherstellen, dass nur Nutzeridentitäten von einem zugelassenen IDP akzeptiert werden. [<=]

A_25447 - PEP - Kommunikation nur mit authentischen PDP

Der PEP MUSS sicherstellen, dass er mit einem authentischen und korrekt konfigurierten PDP kommuniziert. [<=]

A_25486 - PEP - Abbruch durch Anomalie Signale

Falls das Security Monitoring eine Anomalie beim Zugriff eines Clients signalisiert, MUSS der PEP das Access-Token des Clients annullieren und damit die aktuelle fachliche Operation abbrechen.   [<=]

5.5 Anforderungen an den Policy Decision Point

Der PDP implementiert einen [Open Policy Agent] (OPA). Die Policies und die zugehörigen Daten erhält der PDP per Download vom PIP und PAP Dienst. Aus den Daten vom PEP, den Daten vom PIP und den Policies vom PAP ermittelt der PDP eine Entscheidung und gibt diese zurück an den PEP.

Neben der OPA Instanz, die die Entscheidung für den PEP trifft (aktive Instanz), ob eine Kommunikation zulässig ist, implementiert der PDP noch eine zweite OPA Instanz, die mit einem zweiten OPA Bundle vom PIP und PAP Dienst arbeitet, aber die getroffenen Entscheidungen nicht an den PEP zurück gibt. Diese Instanz wird Simulations-Instanz genannt.

A_25739 - PDP, Open Policy Agent Instanzen

Der PDP MUSS zwei Open Policy Agent (OPA) Instanzen bereitstellen, wobei eine Instanz die Entscheidung für den PEP trifft (aktive Instanz), und eine Instanz eine Entscheidung trifft, diese aber nicht an den PEP sendet (Simulations-Instanz).
Die OPA Instanzen MÜSSEN gemäß Tabelle OPA_Konfiguration konfiguriert werden. 

Tabelle 7: OPA_Konfiguration 

Konfiguration Aktive OPA Instanz Simulations-OPA Instanz
services:
  - name:
<service name>
    url: <PIP und PAP service>
<service name>
Innerhalb der PDP Konfiguration verwendeter Service Name.

<PIP und PAP service>
Download-Endpunkt des PIP und PAP Dienstes entsprechend der verwendeten Umgebung
Default: 
Produktions-Instanz: https://pip-pap.ti-dienste.de 
Referenz-Instanz: https://pip-pap-ref.ti-dienste.de 
Test-Instanz: https://pip-pap-test.ti-dienste.de
wie aktive PDP Instanz
bundles:
  authz:
    service:
<service name>
    resource: <path>
    persist: true
<path>
Der Pfad wird wie in [pip-pap-service.yaml] beschrieben angegeben. Durch das label latest wird die neueste bundle.tar.gz Datei für die aktive PDP Instanz heruntergeladen.
Default:
/policies/<TI service>/latest
<path>
Durch das label latest-sim wird die neueste bundle.tar.gz Datei für die Simulations-Instanz des PDP heruntergeladen.
Default:
/policies/<TI service>/latest-sim
bundles:
  authz:
    polling:
      min_delay_seconds:
 <min>
      max_delay_seconds: <max>

<min>
Minimale Zeit bis zum nächsten Polling.
Default: 300
<max>
Maximale Zeit bis zum nächsten Polling.
Default: 320
wie aktive PDP Instanz
bundles:
  authz:

    signing:
      keyid:
 <PIP_and_PAP_key>
      scope: read
<PIP_and_PAP_key>
Die keyid des Schlüssels, mit dem die OPA Bundles signiert sind.


wie aktive PDP Instanz
decision_logs:
  service: <service name>
  resource: ${DL_REMOTE_URL}
  reporting:
    min_delay_seconds: <min>
    max_delay_seconds: <max>

${DL_REMOTE_URL}
Die URL des Remote Servers, zu dem die decision logs gesendet werden. Dieser Parameter wird per environment Variable übergeben, sodass jeder Betreiber des PDP seinen eigenen Server angeben kann, der die decision logs empfängt.
<min>
Minimale Verzögerung bis zum nächsten Versand.
Default: 300
<max>
Maximale Verzögerung bis zum nächsten Versand.
Default: 360
wie aktive PDP Instanz
[<=]

Hinweis: Änderungen an der Konfiguration sind im Einvernehmen mit der gematik möglich.

Der OPA aktualisiert seine Policies und Daten nach dem vorgegebenen Polling-Intervall. Jede Download Anfrage enthält immer ein If-None-Match Header mit dem hash des zuletzt heruntergeladenen bundles (aus dem ETag Header der Response). Wenn es keine neuen Daten zum Download gibt, dann beantwortet der PIP/PAP Service die Anfrage mit 304 Not Modified.

Die Bundles sind immer signiert. Der OPA prüft die Signatur mit dem zur konfigurierten keyid passenden Schlüssel. Gültige Schlüssel und deren keyid werden über einen Continuous Delivery Workflow aus GitHub geladen.

Die decision logs werden an die vom Betreiber des PDP festgelegte URL gesendet.

A_25772 - PDP - persistente Speicherung von decision logs

Der Betreiber eines TI 2.0 Dienstes MUSS einen Service bereitstellen, der OPA decision logs vom PDP entgegennimmt und diese persistent für 6 Monate speichert. [<=]

A_25450 - PDP - Policy nur von dem gematik PAP

Der PDP MUSS sicherstellen, dass nur Policies von der gematik PAP importiert werden können. [<=]

A_25451 - PDP - Integritätsprüfung der Policies

Der PDP MUSS sicherstellen, dass Policies von dem gematik PAP nur nach einer positiven Integritätsprüfung importiert werden können. [<=]

A_25452 - PDP - Tamper-Proof Protokollierung von Administrationsaktivitäten

Der PDP MUSS ein "Tamper-Proof" Audit-Log von allen administrativen Vorgängen umsetzen.  [<=]

A_25774 - PDP - Löschfristen für Auditeinträge des Admin Audit-Logs

Der PDP MUSS sicherstellen, dass die Löschung eines Auditeintrags den gesetzlichen Vorgaben entspricht und frühestens nach 12 Monaten erfolgt. [<=]

A_25775 - PDP - Kontrolle des Audit-Logs

Der Betreiber des PDPs MUSS das Audit-Log mindestens alle 3 Monate nach maliziösen Administratoraktivitäten durch zwei unabhängige Rollen im Vieraugenprinzip kontrollieren. Diese Rollen DÜRFEN NICHT an der Administration einer Zero Trust-Komponente teilnehmen. [<=]

A_25453 - PDP - Transparenz der installierte Policies

Der PDP MUSS sicherstellen, dass die gematik zu jeder Zeit feststellen kann, welche Policies und welche Policy-Versionen in der PDP installiert sind. [<=]

A_25490 - PDP - Sicherheitsmeldung bei Änderungen und Aktualisierung

Der PDP MUSS sicherstellen, dass bei Aktualisierung und Änderungen der Policies oder PIP-Daten eine Sicherheitsmeldung an das Security Monitoring automatisiert übermittelt wird.  [<=]

A_25771 - PDP - Automatisierte Prüfung nach Policy-Aktualisierungen

Der PDP muss alle 15 Minuten prüfen, ob Aktualisierungen der installierten und verwendeten Policy/PIP Daten vorhanden sind. [<=]

5.6 Anforderungen an den PIP und PAP Service

Der PIP und PAP Dienst stellt OPA Bundles für die PDP Instanzen der Dienste der TI 2.0 bereit. 

A_25670 - PIP und PAP - Bereitstellung Download-Endpunkt

Der PIP und PAP Dienst MUSS Download-Endpunkte für OPA Bundles gemäß OpenAPI Spezifikation [pip-pap-service.yaml] Version 1.0.0 in den folgenden Instanzen bereitstellen:
Produktions-Instanz: https://pip-pap.ti-dienste.de 
Referenz-Instanz: https://pip-pap-ref.ti-dienste.de 
Test-Instanz: https://pip-pap-test.ti-dienste.de. [<=]

Hinweis: Die Bereitstellung der Test-Instanz erfolgt nur während einer Testphase und kann eine andere Version der [pip-pap-service.yaml] unterstützen. Für die Entwicklung und Tests anderer Komponenten wird empfohlen, die Referenz-Instanz zu verwenden.

A_25671 - PIP und PAP - TLS am Download-Endpunkt

Der PIP und PAP Dienst MUSS sich beim TLS-Verbindungsaufbau am Download-Endpunkt gegenüber Clients mit einem Extended Validation TLS-Zertifikat eines Herausgebers gemäß [CAB-Forum] authentisieren. [<=]

A_25672 - PIP und PAP - Kompatibilität mit OPA Bundles

Der PIP und PAP Dienst MUSS die Policies und Daten als [OPA Bundle] bereitstellen. [<=]

A_25680 - PIP und PAP - download path

Der PIP und PAP Dienst MUSS OPA Bundles mit dem filename = bundle.tar.gz unter dem Pfad /policies/{application}/{label} bereitstellen, wobei mindestens die label "latest" und "latest-sim" pro application angeboten werden. [<=]

Hinweis: Siehe [pip-pap-service.yaml]. Unter dem label "latest" werden Bundles für den aktiven PDP bereitgestellt. Unter dem label "latest-sim" werden Bundles für die Simulations-PDP Instanz bereitgestellt.

A_25673 - PIP und PAP - ETags für OPA Bundles

Der PIP und PAP Dienst MUSS für jedes zum Download bereitgestellte OPA Bundle in der Response ein ETag Header-Element verwenden, das aus dem Hashwert der bundle.tar.gz Datei besteht. [<=]

Hinweis: Durch die Verwendung des Hashwertes der bundle.tar.gz Datei als ETag wird es möglich, den Download-Endpunkt auf mehrere Server zu verteilen. Wichtig ist nur, dass das ETag auf allen Servern gleich ist, damit bereits erhaltene OPA Bundles nicht erneut heruntergeladen werden.

A_25674 - PIP und PAP - OPA Bundle Signaturprüfung

Der PIP und PAP Dienst MUSS für alle bereitgestellten OPA Bundles prüfen, ob deren Signatur vorhanden und gültig ist. [<=]

Hinweis: In dieser Spezifikation wird der Prozess, wie die OPA Bundles sicher in den PIP und PAP Dienst gelangen, nicht festgelegt.

A_25464 - PAP und PIP - Tamper-Proof Protokollierung von Andminstrationsaktivitäten

Der PIP und PAP Dienst MUSS ein "Tamper-Proof" Audit-Log von allen administrativen Vorgängen umsetzen. [<=]

A_25777 - PAP und PIP - Löschfristen Auditeinträge des Admin Audit-Logs

Der PIP und PAP Dienst MUSS sicherstellen, dass die Löschung eines Auditeintrags den gesetzlichen Vorgaben entspricht und frühestens nach 12 Monaten erfolgt. [<=]

A_25778 - PAP und PIP - Kontrolle des Audit-Logs

Der Betreiber des PIP und PAP Diensts MUSS das Audit-Log mindestens alle 3 Monate nach maliziösen Administratoraktivitäten durch zwei unabhängige Rollen im Vieraugenprinzip kontrollieren. Diese Rollen DÜRFEN NICHT an der Administration des PAPs oder PIPs teilnehmen. [<=]

A_25465 - PAP und PIP - Änderungen nur durch berechtigte Nutzer

Der PIP und PAP Dienst MUSS sicherstellen, dass nur berechtigte Nutzer Änderungen von Policies oder PIP-Daten durchführen können.  [<=]

A_25466 - PAP und PIP - Sicherheitsmeldung bei Aktualisierung von Policies oder PIP-Daten

Der PIP und PAP Dienst MUSS sicherstellen, dass bei der Aktualisierung der Policies oder der PIP-Daten eine Sicherheitsmeldung automatisiert über die von der gematik angebotene Schnittstelle an das TI SIEM System übermittelt wird. [<=]

A_25467 - PAP und PIP - Änderungen nur unter 4 Augen

Der PIP und PAP Dienst MUSS sicherstellen, dass Änderungen in Policies oder PIP-Daten nur im Vieraugenprinzip durchgeführt werden können. [<=]

A_25791 - PAP und PIP - Zentrale Verwaltung von Feature-Flags

PIP und PAP Dienst MUSS eine zentrale Schnittstelle oder ein System zur Verwaltung der Feature-Flags bereitstellen. [<=]

5.7 Anforderungen an den Betrieb der Zero Trust Komponenten

Die Zero Trust-Komponenten PEP und PDP werden als Kubernetes (k8s) Cluster betrieben. In einem von der gematik vorgegebenen GitHub Repository werden die Konfigurationsdateien des k8s Clusters bereitgestellt, mit denen die aktuelle Version des Clusters erstellt und ausgeführt werden kann. Im Cluster ist zusätzlich eine Continuous Delivery (CD) Komponente enthalten, die den Betriebszustand des Clusters überwacht und regelmäßig prüft, ob eine neuere Version des Clusters im GitHub Repository verfügbar ist, und ggf. das Cluster automatisch aktualisiert.

A_25773 - Zero Trust-Cluster - Nutzung des von gematik bereitgestellten Zero Trust Clusters

Der Betreiber eines Dienstes der TI 2.0 MUSS den von gematik bereitgestellten Zero Trust-Cluster verwenden, um den Zugang zum TI 2.0 Dienst zu kontrollieren. [<=]

A_25776 - Zero Trust-Cluster - Keine eigenmächtige Veränderung der Konfiguration

Der Betreiber eines Dienstes der TI 2.0 DARF NICHT eigenmächtig die Konfiguration des Zero Trust-Clusters verändern. [<=]

5.7.1 Anforderungen für nahtlose Aktualisierungen

A_25784 - Zero Trust-Komponenten - Download von Aktualisierungen im Hintergrund

Die Komponente der Zero Trust Architektur MUSS in der Lage sein, Aktualisierungen im Hintergrund herunterzuladen, ohne den laufenden Betrieb zu beeinträchtigen. [<=]

A_25785 - Zero Trust-Komponenten - Nahtloser Übergang zu neuen Versionen

Die Komponente der Zero Trust Architektur MUSS einen Mechanismus bieten, der einen nahtlosen Übergang zu neuen Versionen oder Patches ermöglicht, ohne die Verfügbarkeit für Endbenutzer zu unterbrechen. [<=]

A_25786 - Zero Trust-Komponenten - Abschluss von Transaktionen vor Aktualisierung

Die Komponente der Zero Trust Architektur MUSS sicherstellen, dass alle aktuellen Transaktionen und Anfragen abgeschlossen oder ordnungsgemäß übernommen werden, bevor ein Update finalisiert wird. [<=]

A_25787 - Zero Trust-Komponenten - Gewährleistung der Systemintegrität während Aktualisierungen

Die Komponente der Zero Trust Architektur MUSS während des gesamten Aktualisierungsprozesses die Systemintegrität und Sicherheitsrichtlinien aufrechterhalten. [<=]

A_25788 - Zero Trust-Komponenten - Unterstützung von Rollbacks

Die Komponente der Zero Trust Architektur MUSS die Fähigkeit besitzen, zu einer stabilen Vorversion zurückzukehren, sollte eine Aktualisierung fehlerhaft sein oder abgebrochen werden müssen. [<=]

A_25789 - Zero Trust-Komponenten - Schnelle Rollback-Durchführung

Die Komponente der Zero Trust Architektur MUSS Rollbacks schnell und ohne manuelle Eingriffe durchführen können. [<=]

5.7.2 Anforderungen für Steuerung durch Feature-Flags

A_25790 - Zero Trust-Komponenten - Aktivierung/Deaktivierung von Funktionen in Echtzeit

Die Komponente der Zero Trust Architektur MUSS Funktionen oder Verhaltensweisen zur Laufzeit durch Feature-Flags aktivieren oder deaktivieren können, ohne dass ein Neustart erforderlich ist. [<=]

A_25792 - Zero Trust-Komponenten - Protokollierung von Feature-Flag-Änderungen

Die Komponente der Zero Trust Architektur MUSS jede Änderung an Feature-Flags „Tamper-Proof“ protokollieren, einschließlich des Zeitpunkts der Änderung und des Administrators, der die Änderung vorgenommen hat. [<=]

Hinweis: Hier sollte das Protokoll mit dem Tamper-Proof Audit-Log in A_25452 kombiniert werden.

A_25793 - Zero Trust-Komponenten - Zugriffskontrolle für Feature-Flag-Verwaltung

Die Komponente der Zero Trust Architektur MUSS Zugriffskontrollen implementieren, um sicherzustellen, dass nur autorisierte Benutzer Feature-Flags ändern können. [<=]

5.7.3 Anforderungen zur Überwachung des Betriebsstatus

A_25794 - Zero Trust-Komponenten - Implementierung von Health Checks

Die Komponente der Zero Trust Architektur MUSS Health Checks implementieren, um ihren aktuellen Zustand und ihre Verfügbarkeit zu überwachen.  [<=]

A_25797 - Zero Trust-Komponenten - Verfügbarkeit der Health Checks für gematik Monitoring

Die Komponente der Zero Trust Architektur MUSS die Schnittstellen zu Health Checks dem gematik Monitoring zur Verfügung stellen. [<=]

A_25795 - Zero Trust-Komponenten - Automatische Antwort auf Health Check Anfragen

Die Komponente der Zero Trust Architektur MUSS automatisch auf Health Check Anfragen antworten können, um ihre Funktionalität und Verfügbarkeit zu bestätigen. [<=]

A_25796 - Zero Trust-Komponenten - Bereitstellung von Zustandsinformationen

Die Komponente der Zero Trust Architektur MUSS detaillierte Zustandsinformationen als Teil ihrer Health Check Antworten bereitstellen, einschließlich - aber nicht beschränkt auf - Betriebszeit, letzte erfolgreiche Transaktion und eventuelle Fehlerzustände. [<=]

A_25798 - Zero Trust-Komponenten - Regelmäßige Selbstüberprüfung

Die Komponente der Zero Trust Architektur MUSS in der Lage sein, regelmäßige Selbstüberprüfungen durchzuführen, um interne Funktionen und Abhängigkeiten zu verifizieren und sicherzustellen, dass sie korrekt arbeiten. [<=]

A_25799 - Zero Trust-Komponenten - Protokollierung von Health Check Ergebnissen

Die Komponente der Zero Trust Architektur MUSS die Ergebnisse der Health Checks protokollieren, um eine Historie ihrer Betriebszustände und eventuell aufgetretener Probleme zu erhalten. [<=]

A_25800 - Zero Trust-Komponenten - Benachrichtigung bei Fehlern

Die Komponente der Zero Trust Architektur MUSS im Falle eines fehlgeschlagenen Health Checks oder der Erkennung eines kritischen Zustandes automatisch eine Benachrichtigung an ein vordefiniertes Management- oder Monitoring-System senden. [<=]

5.8 Anforderungen an den Test der Zero-Trust Komponenten

Offener Punkt: Details in diesem Kapitel werden im Rahmen der Implementierung zwischen gematik und dem Zero-Trust-Hersteller festgelegt.

Die hier spezifizierten Komponenten und Dienste dienen der Absicherung von Produkttypen einer Fachanwendung. Da sie elementare Sicherheitsfunktionen umsetzen, stehen sie ggf. einer Implementierung und Testung der zu schützenden Fachlichkeit in nicht-produktiven Umgebungen im Wege. Daher ist es sinnvoll, in den entsprechenden Zero Trust-Komponenten eine Test-Schnittstelle bzw. einen Testmodus zu implementieren, der die Umgehung der Sicherheitsmechanismen unter bestimmten Rahmenbedingungen (z. B. Routing in ein Testsystem, wenn Testpolicy aktiv etc.) ermöglicht.

Die hier spezifizierten Komponenten und Dienste haben keinen Selbstzweck, sondern kommen in der Realisierung von Produkttypen einer Fachanwendung zum Einsatz. Sofern sie "as Code" bereitgestellt werden, wird angestrebt, sie in Build-Pipelines der Komponenten und Produkttypen der Fachanwendung einzubetten, um ein automatisches und regelmäßiges Deployment in Testumgebungen zu ermöglichen. Dies unterstützt das Bestreben nach einem Continuous Testing.

6 Dokumentenhaushalt

Dieses Dokument hat die nachfolgenden Auswirkungen auf den Dokumenten- und Anforderungshaushalt der Telematikinfrastruktur.

6.1 Neue Dokumente

Dieses Dokument wird zunächst als "Sicherheitsfeature" einer Fachanwendung der TI 2.0 eingeführt. Dessen Anforderungen sind als übergreifende Spezifikation zu betrachten, die erst im Kontext einer konkreten Fachanwendung wirksam werden. Daher erfordert die Realisierung des Zero Trusts immer eine zusätzliche Fachanwendungsspezifische Spezifikation, wobei die hier formulierten Anforderungen Eingang in die Produkt- und Anbietertyp-Steckbriefe der entsprechenden Fachanwendung finden.

6.2 Übersicht betroffener Dokumente

Aus dieser Spezifikation ergeben sich zunächst keine direkten Änderungsbedarfe an anderen Dokumenten.

6.3 Übersicht Produkt- und Anbietertypen

Die hier spezifizierten Komponenten und Dienste stellen keine isoliert zulassungsfähigen Produkttypen dar. Sie liefern einen Anforderungshaushalt für anwendungsspezifische Komponenten und Dienste, die dann zusammen einen Produkt- bzw. Anbietertyp einer konkreten Fachanwendung bzw. der TI als Plattform bilden. 

7 Beispiele und Referenzimplementierungen

Die gematik stellt API-Spezifikationen und Proof-of-Concept-Implementierungen im Internet zur freien Verfügung.

Das Projekt https://dsr.gematik.solutions demonstriert eine Attestation mobiler Anwendungen auf gängigen mobilen Betriebsystemplattformen.

Im github-Projekt https://github.com/gematik/spec-t20r werden die Schnittstellenspezifikationen der hier spezifizierten Zero Trust-Komponenten veröffentlicht.

Die folgenden beiden Projekte https://github.com/gematik/zero-lab und https://github.com/gematik/zero-lab-apple demonstrieren die Anwendungsfälle zur Clientregistrierung auf Apple- und Android-Geräten.

8 Anhang A – Verzeichnisse

8.1 Abkürzungen

Tabelle 8: Im Dokument verwendete Abkürzungen

Kürzel Erläuterung
BDE Betriebsdatenerfassung
DSR Device Security Rating
eGK elektronische Gesundheitskarte
GesundheitsID Digitale Identität
IdP Identity Provider
IDS Intrusion Detection System
ISMS Informationssicherheitsmanagementsystem
PAP Policy Administration Point
PDP Policy Decision Point
PEP Policy Enforcement Point
PIP Policy Information Point
SIEM Security Information and Event Management
TI Telematikinfrastruktur
TI-ITSM IT-Service-Management der TI

8.2 Abbildungsverzeichnis

8.3 Tabellenverzeichnis

8.4 Referenzierte Dokumente

8.4.1 Dokumente der gematik

Die nachfolgende Tabelle enthält die Bezeichnung der in dem vorliegenden Dokument referenzierten Dokumente der gematik zur Telematikinfrastruktur.

Tabelle 9: Referenzierte Dokumente der gematik

[Quelle]
Herausgeber: Titel
[gemAPI_ZT] gematik: OpenAPI Schnittstellenspezifikation Zero Trust
https://github.com/gematik/spec-t20r 
[gemGlossar]
gematik: Glossar der Telematikinfrastruktur
[gemKPT_Zero_Trust] gematik: Feinkonzept Zero Trust
https://fachportal.gematik.de/fileadmin/Fachportal/Downloadcenter/gemKPT_Zero_Trust_V1.0.0.pdf 
[gemSpec_DS_Hersteller] gematik: Spezifikation Datenschutz- u. Sicherheitsanforderungen der TI an Hersteller
https://gemspec.gematik.de/docs/gemSpec/gemSpec_DS_Hersteller/gemSpec_DS_Hersteller_V1.5.1/ 
[gemSpec_IDP_Dienst] gematik: Spezifikation Identity Provider-Dienst
https://gemspec.gematik.de/docs/gemSpec/gemSpec_IDP_Dienst/gemSpec_IDP_Dienst_V1.6.0/ 
[gemSpec_IDP_Sek]
gematik: Spezifikation Sektoraler Identity Provider
https://gemspec.gematik.de/docs/gemSpec/gemSpec_IDP_Sek/gemSpec_IDP_Sek_V2.3.0/ 
[gemSpec_Krypt] gematik: Übergreifende Spezifikation: Verwendung kryptographischer Algorithmen in der
Telematikinfrastruktur
https://gemspec.gematik.de/docs/gemSpec/gemSpec_Krypt/gemSpec_Krypt_V2.31.0/ 
[pip-pap-service.yaml] gematik: OpenAPI Schnittstellenspezifikation für Policy Information Point und Policy Administration Point API
https://raw.githubusercontent.com/gematik/spec-t20r/develop/src/openapi/pip-pap-api.yaml 

8.4.2 Weitere Referenzen

Tabelle 10: Weitere Referenzen

[Quelle]
Herausgeber (Erscheinungsdatum): Titel
[Android Platform Security Model] The Android Platform Security Model (2023)
https://research.google/pubs/the-android-platform-security-model/ 
[Apple Platform Security Guide] Einführung in die Sicherheit der Apple-Plattformen
https://support.apple.com/de-de/guide/security/seccd5016d31/web 
[BSI-Grundschutz] IT-Grundschutz - Informationssicherheit mit System
https://www.bsi.bund.de/DE/Themen/Unternehmen-und-Organisationen/Standards-und-Zertifizierung/IT-Grundschutz/it-grundschutz_node.html 
[BSI-Prüfvorschrift] Prüfvorschrift für den Produktgutachter des „ePA-Frontend des Versicherten“ und des „E-Rezept-Frontend des Versicherten.
https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/DigitaleGesellschaft/Pruefvorschrift_Produktgutachter_ePA-Frontend.html 
[CAB-Forum] Certification Authority Browser Forum (CA/Browser Forum)
https://cabforum.org/ 
[CAPEC OWASP] CAPEC: OWASP Related Patterns
CAPEC - CAPEC-659: OWASP Related Patterns (Version 3.9) (mitre.org)
[ExpBack] Exponential Backoff
https://en.wikipedia.org/wiki/Exponential_backoff 
[GPI-API] Google Play Integrity API
https://developer.android.com/google/play/integrity/standard 
[ISMS] Spezifikation Datenschutz- und Sicherheitsanforderungen der TI an Anbieter (Abschnitt 3.3)
https://gemspec.gematik.de/docs/gemSpec/gemSpec_DS_Anbieter/latest/#3.3 
[OPA Bundle] Open Policy Agent, Bundles
https://www.openpolicyagent.org/docs/latest/management-bundles/ 
[Open Policy Agent] Open Policy Agent
https://www.openpolicyagent.org/docs/latest/ 
[OWASP-Top-10-Risiken] OWASP Top 10
https://owasp.org/www-project-top-ten/ 
[RFC2119] Key words for use in RFCs to Indicate Requirement Levels
https://datatracker.ietf.org/doc/html/rfc2119 
[RFC2986] PKCS #10: Certification Request Syntax Specification
https://datatracker.ietf.org/doc/html/rfc2986 
[RFC6749] The OAuth 2.0 Authorization Framework
https://datatracker.ietf.org/doc/html/rfc6749 
[RFC7231] Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
https://datatracker.ietf.org/doc/html/rfc7231 
[RFC7521] Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants
https://datatracker.ietf.org/doc/html/rfc7521 
[RFC7523] JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants
https://datatracker.ietf.org/doc/html/rfc7523 
[RFC7636] Proof Key for Code Exchange by OAuth Public Clients
https://datatracker.ietf.org/doc/html/rfc7636 
[RFC8555] Automatic Certificate Management Environment (ACME)https://datatracker.ietf.org/doc/html/rfc8555#section-6.5.1 
[RFC8705] OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens
https://datatracker.ietf.org/doc/html/rfc8705 
 [RFC9449] OAuth 2.0 Demonstrating Proof of Possession (DPoP)
https://datatracker.ietf.org/doc/html/rfc9449 
[VerifiedBoot] Verifizierter Start
https://source.android.com/docs/security/features/verifiedboot?hl=de