gemSpec_TI-M_Basis_V1.0.0







Elektronische Gesundheitskarte und Telematikinfrastruktur





Spezifikation

TI-Messenger (Basis)




    
Version 1.0.0
Revision 927580
Stand 13.06.2024
Status freigegeben
Klassifizierung öffentlich
Referenzierung gemSpec_TI-M_Basis

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 13.06.2024
initiale Erstellung
gematik

Inhaltsverzeichnis

1 Einordnung des Dokumentes

1.1 Zielsetzung

Beim vorliegenden Dokument handelt es sich um die Festlegungen zum TI-Messenger. Mit dem TI-M soll die Ad-hoc-Kommunikation zwischen Akteuren des Gesundheitswesens gewährleistet werden.

Dieses Dokument beschreibt die Basisfunktionalitäten für die systemspezifische Lösung des TI-Messengers für das deutsche Gesundheitswesen. Dieses Dokument stellt somit nicht die Spezifikation für einen Produkttyp dar. Sie definiert die Basisfunktionalitäten, welche dann - noch um produktspezifische Anforderungen angereichert - in gesonderten Spezifikationsdokumenten für featurebasierte Produktausprägungen spezifiziert werden.

1.2 Zielgruppe

Das Dokument richtet sich zum Zwecke der Realisierung an Hersteller von Produkttypen des TI-Messengers sowie an Anbieter, welche die beschriebenen Produkttypen betreiben. Alle Hersteller und Anbieter von TI-Anwendungen, deren Schnittstellen einen der Produkttypen des TI-Messengers nutzen, Daten mit den Produkttypen des TI-Messengers austauschen oder solche Daten verarbeiten, müssen dieses Dokument ebenso berücksichtigen.

1.3 Geltungsbereich

Dieses Dokument enthält normative Festlegungen zur Telematikinfrastruktur des deutschen Gesundheitswesens. Der Gültigkeitszeitraum der vorliegenden Version und deren Anwendung in Zulassungs- bzw. Abnahmeverfahren wird durch die gematik GmbH in gesonderten Dokumenten (z.B. Dokumentenlandkarte, Produkttypsteckbrief, Leistungsbeschreibung) festgelegt und bekanntgegeben.

Schutzrechts-/Patentrechtshinweis
Die nachfolgende Spezifikation ist von der gematik allein unter technischen Gesichtspunkten erstellt worden. Im Einzelfall kann nicht ausgeschlossen werden, dass die Implementierung der Spezifikation in technische Schutzrechte Dritter eingreift. Es ist allein Sache des Anbieters oder Herstellers, durch geeignete Maßnahmen dafür Sorge zu tragen, dass von ihm aufgrund der Spezifikation angebotene Produkte und/oder Leistungen nicht gegen Schutzrechte Dritter verstoßen und sich ggf. die erforderlichen Erlaubnisse/Lizenzen von den betroffenen Schutzrechtsinhabern einzuholen. Die gematik GmbH übernimmt insofern keinerlei Gewährleistungen.

1.4 Abgrenzungen

Diese Basisspezifikation hegt nicht den Anspruch einen Produktypen ableiten zu können, sondern stellt eine wiederverwertbare Definition von Grundfunktionalitäten dar. Die vollständige Anforderungslage für den Produkttyp ergibt sich aus weiteren Konzept- und Spezifikationsdokumenten. Diese sind in dem Produkttypsteckbrief des jeweiligen Produkttyps verzeichnet.

1.5 Methodik

Anwendungsfälle und Anforderungen als Ausdruck normativer Festlegungen werden durch eine eindeutige ID, Anforderungen zusätzlich durch die dem RFC 2119 [RFC2119] entsprechenden, in Großbuchstaben geschriebenen deutschen Schlüsselworte 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.

Anwendungsfälle und Anforderungen werden im Dokument wie folgt dargestellt:
<AF-ID> - <Titel des Anwendungsfalles>
Text / Beschreibung
[<=]

bzw.

<AFO-ID> - <Titel der Afo>
Text / Beschreibung
[<=]

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

2 Systemüberblick

Der sichere Nachrichtenaustausch zwischen beteiligten Akteuren des deutschen Gesundheitswesens erfolgt über die von TI-Messenger-Anbietern bereitgestellten TI-Messenger Fachdienste (TI-M FD) und TI-Messenger Clients (TI-M Client). Ein TI-M FD besteht aus einem oder mehreren Messenger-Services (basierend auf dem Matrix-Protokoll), die jeweils für eine Organisation (SM(C)-B-Inhaber) des Gesundheitswesens durch von der gematik zugelassene TI-Messenger-Anbieter bereitgestellt werden. Das vollständige Produkt, bestehend aus dem TI-M Client und dem TI-M FD, wird im folgenden als TI-Messenger Dienst (TI-M Dienst) bezeichnet.

Die Messenger-Services des TI-M Dienstes werden zu einer TI-Föderation zusammengefasst, um nicht zugehörige Messenger-Dienste auszuschließen. Um Teil der Föderation des TI-M Dienstes zu werden, muss die jeweilige Domain eines Messenger-Services vom TI-Messenger-Anbieter über den Registrierungs-Dienst des TI-M FD beim VZD-FHIR-Directory hinterlegt werden. Der TI-Messenger basiert auf dem offenen Kommunikationsprotokoll Matrix, das bereits von der Matrix Foundation gemäß [Matrix Specification] spezifiziert ist. In den von der Matrix Foundation erstellten Spezifikationen ist sowohl die Client-Server-, die Server-Server-Kommunikation als auch die API des Matrix-Push-Gateways beschrieben. Jede Kommunikation findet im Kontext des TI-Messengers zwischen den TI-M Clients der beteiligten Messenger-Services Ende-zu-Ende-verschlüsselt statt. Die Adressierung der Akteure innerhalb eines Messenger-Services erfolgt über die Matrix-User-ID und wird in Kurzform als MXID bezeichnet. Um die beteiligten Akteure über den Eingang neuer Nachrichten zu informieren, können über ein Push-Gateway die gängigen Push-Provider angebunden werden.

Hinweis: Im Sinne des Matrix-Protokolls sind sogenannte Enden Endgeräte (in der Matrix-Spezifikation als "devices" bezeichnet), welche die Fähigkeit haben, die an sie gesendeten Daten erstmalig nach der vollständigen Übertragung zu entschlüsseln. Dabei ist zu beachten, dass mit 'Endgeräten' dedizierte Client-Instanzen und nicht zwangsläufig physische Geräte gemeint sind, die eindeutig über ihre device_ID identifizierbar sind und von einem Client in dem Moment erzeugt werden, in dem dieser zur Anmeldung an einem Nutzerkonto verwendet wird. Damit sind ein oder mehrere Endgeräte einem Nutzerkonto, das selbst durch eine kryptographische Identität gekennzeichnet ist, untergeordnet und befähigen den Nutzer überhaupt erst zum Empfang und Versand Ende-zu-Ende-verschlüsselter Daten. Erst nach der Entschlüsselung der Daten können diese von einem Nutzer gelesen und von den von ihm eingesetzten Systemen wie beispielsweise einem Krankenhausinformationssystem dem Zweck entsprechend verarbeitet werden.

In der folgenden Abbildung sind alle beteiligten Komponenten der TI-Messenger-Architektur dargestellt:

Abbildung 1:  Komponenten der TI-Messenger-Architektur (vereinfachte Darstellung)  

Die in der Abbildung rot dargestellte Schnittstelle am Registrierungs-Dienst wird nicht durch die gematik normativ vorgegeben. Sie bietet einem Akteur in der Rolle "Org-Admin" die Möglichkeit, Messenger-Services für seine Organisation zu administrieren. Bei dieser Schnittstelle bleibt es dem TI-M FD Hersteller überlassen, diese in geeigneter Form umzusetzen. Die gematik gibt lediglich grundlegende bereitzustellende Funktionen vor. In den folgenden Kapiteln werden zuerst die nicht zum TI-Messenger gehörigen Systeme und Schnittstellen beschrieben. Kapitel 3 Zerlegung des Produkttyps (Systemkomponenten) befasst sich dann mit den Komponenten und Schnittstellen des TI-M Dienstes.

2.1 TI-Messenger Föderation

Da der TI-M Dienst auf dem offenen und dezentralen Kommunikationsprotokoll Matrix basiert, muss gewährleistet werden, dass nur berechtigte Matrix-Homeserver eines Messenger-Services teilnehmen.

Um allen berechtigten Akteuren des deutschen Gesundheitswesens den Zugang zum TI-M Dienst zu gewähren, muss ein Anbieter eines TI-Messengers für Organisationen des deutschen Gesundheitswesens eigene Messenger-Services bereitstellen. Um nicht zum TI-M Dienst gehörende Matrix-Homeserver ausschließen zu können, werden die Domainnamen (im Weiteren auch als Matrix-Domain bezeichnet) der Matrix-Homeserver der Messenger-Services in einer Föderationsliste zusammengefasst. Diese wird durch das [gemSpec_VZD_FHIR_Directory] bereitgestellt und kann nach einer erfolgreichen Zulassung durch den Registrierungs-Dienst bezogen werden.

A_25528 - Kein Bridging

Ein serverseitiges Bridging zu anderen Messaging-Protokollen DARF NICHT vom TI-M FD unterstützt werden. [<=]

2.2 Matrix

Für den TI-Messenger wird das offene Kommunikationsprotokoll der Matrix-Foundation verwendet. Im Rahmen der Spezifikation wird das Server-Server- (gemäß [Server-Server API]) und das Client-Server-Protokoll (gemäß [Client-Server API]) nachgenutzt. Für die Kommunikation der Matrix-Homeserver in der Föderation wird die API gemäß [Server-Server API] verwendet. Der TI-M Client setzt bei der Kommunikation mit den Matrix-Homeservern die API gemäß Matrix-Client-Server-Protokolls um. Für die Benachrichtigung der Akteure über eingehende Nachrichten wird ein Push-Gateway verwendet, welches gemäß [Push Gateway API] nachgenutzt wird. Bei der Kommunikation selbst werden REST-Webservices über HTTPS (JSON-Objekte) aufgerufen. 

A_25641 - Matrix Spezifikationsversion

Als Basis MUSS die Matrix Spezifikation in der Version 1.3 verwendet werden. [<=]

2.3 Akteure und Rollen

Im Kontext des TI-M Dienstes werden verschiedene Akteure und Rollen definiert. Ein Akteur ist eine natürliche Person, die mit einem TI-M FD interagiert. Abhängig von dem verwendeten Authentifizierungsverfahren am Messenger-Service eines TI-M FD ergeben sich unterschiedliche Rollen, die ein Akteur einnehmen kann. Im Folgenden werden diese Rollen ausführlicher beschrieben.

2.3.1 Rolle: "User"

Die Rolle "User" ist die Basisrolle im Kontext des TI-Messengers. Jeder Akteur der an der Kommunikation in der Messenger-Föderation teilnimmt, besitzt diese Basisrolle. Die Authentifizierung des Akteurs erfolgt hierbei über ein vom Messenger-Service bereitgestelltes Authentifizierungsverfahren.

In dieser Rolle kann ein Akteur:

  • sich gegenüber einem Messenger-Service authentisieren und
  • sich an einem Messenger-Service anmelden.

2.3.2 Rolle: "Org-Admin"

Die Rolle "Org-Admin" stellt eine besondere Rolle im TI-Messenger Kontext dar. Mitarbeiter einer Organisation können diese Rolle einnehmen, nachdem sie ihre Organisation zuvor erfolgreich am Registrierungs-Dienst per SM(C)-B oder durch das KIM-Verfahren authentisiert haben (siehe Anwendungsfall 5.1.1 Authentisieren einer Organisation ). Nach der erfolgreichen Authentifizierung wird ein Admin-Account am Registrierungs-Dienst des TI-M FDs angelegt. Mit der Anmeldung am Registrierungs-Dienst über den Admin-Account nimmt ein Akteur die Rolle "Org-Admin" ein. Dieser kann Messenger-Services für seine Organisation registrieren. Für die Rolle "Org-Admin" besteht die Notwendigkeit, Administratoren einzusetzen, welche für Themen der Informationssicherheit geschult und sensibilisiert wurden. Dabei ist es auch möglich, dass die Organisation den TI-Messenger-Anbieter beauftragt, die Rolle "Org-Admin" zu übernehmen.
In dieser Rolle kann ein Akteur:

  • Messenger-Services für seine Organisation registrieren
  • Authentifizierungsmethoden für Akteure an Messenger-Services seiner Organisation festlegen
  • die Accounts der Akteure dieser Messenger-Services verwalten
  • die Matrix-Homeserver-Konfigurationen für seine Organisation vornehmen

Die folgende Tabelle gibt einen Überblick über die im Kontext des TI-M Dienstes definierten Rollen, abhängig vom verwendeten Authentifizierungsverfahren, die ein Akteur einnehmen kann. Die Tabelle stellt alle möglichen Nutzerszenarien nach erfolgreicher Authentifizierung einer Organisation am Registrierungs-Dienst dar.

Tabelle 1: Akteure und Rollen

Welcher Akteur bin ich
Wie authentisiere ich mich
Welcher Dienst authentifiziert mich
Welche Rolle nehme ich ein
Nutzer des TI-Messengers
Authentifizierungsverfahren der Organisation + 2. Faktor
Messenger-Service User
Admin-Account Credentials + 2. Faktor
Registrierungs-Dienst Org-Admin
Beauftragter Administrator eines
TI-Messenger-Anbieters
Admin-Account Credentials + 2. Faktor
Registrierungs-Dienst Org-Admin

Hinweis: Bei den in der Tabelle genannten Nutzerszenarien mit der 2-Faktor-Authentifizierung sind die in 2.5.1 Authentifizierungs-Dienst für Akteure genannten Anforderungen zu berücksichtigen.

2.4 Berechtigungskonzept

Das Berechtigungskonzept für den TI-Messenger ist in 2 Stufen unterteilt. Stufe 1 umfasst Prüfungen, die auf Seiten des TI-M FD durchgeführt werden (eine Föderationsprüfung durch den Messenger-Proxy). Für Stufe 2 wird das Berechtigungsmanagement auf Clientseite in die Hand der Akteure selbst gelegt. Um die Multidevice-Fähigkeit des TI-Messengers zu unterstützen, soll die Berechtigungskonfiguration zentralisiert in den Accountdaten des Akteurs auf dem Matrix Homeserver hinterlegt werden. Somit ist sichergestellt, dass die Konfiguration auch auf einem anderen Client, an dem sich der Akteur anmeldet, zur Verfügung steht.

Der Akteur kann die Berechtigungen über die folgenden unterschiedlichen Varianten konfigurieren:

  • Basiseinstellung ist "allow all" und der Akteur pflegt eine BlockedUser-Liste, in die auch Gruppen aufgenommen werden können.
  • Basiseinstellung ist "block all" und der Akteur lässt den Kontakt für andere Akteure über die Pflege einer AllowedUser-Liste zu, die auch Gruppen enthalten kann.

Details zu Ablauf und Konfiguration sind im Kapitel 5.2 Berechtigungsmanagement beschrieben.

2.5 Nachbarsysteme

Die folgenden Kapitel beschreiben Systeme, die für die Funktionalität des TI-Messengers von essentieller Bedeutung, jedoch nicht Teil der Produkte TI-M Client und TI-M FD sind.

2.5.1 Authentifizierungs-Dienst für Akteure

Der Authentifizierungs-Dienst verwaltet die Identitäten der Akteure und übernimmt die Authentifizierung. Sind zum Beispiel bereits Systeme wie Active-Directory oder LDAP basierende Nutzerverzeichnisse innerhalb einer Organisation verfügbar, können diese verwendet werden, indem das jeweilige Backend bei diesen registriert wird. Sind keine Authentifizierungsverfahren in der Organisation vorhanden, können TI-Messenger-Anbieter entsprechende Authentifizierungsverfahren zur Verfügung stellen. Bei der Ausgestaltung sind die folgenden Anforderungen zu berücksichtigen.

A_25304 - Nachnutzung bestehender Authentifizierungsverfahren

Anbieter des TI-Messenger-Dienstes KÖNNEN für die Authentisierung von Akteuren in der Rolle "User" bestehende Authentifizierungsverfahren der Organisation nachnutzen. [<=]

A_25305 - Verantwortung der Organisation bei Nachnutzung bestehender Authentifizierungsverfahren

Werden bestehende Authentifizierungsverfahren der Organisation für die Authentisierung von Akteuren in der Rolle "User" nachgenutzt, MÜSSEN Anbieter die Organisation und die Administratoren explizit darauf hinweisen, dass die Sicherheit der Nutzerauthentisierung damit in die Verantwortung der Organisation gegeben wird.  [<=]

A_25306 - Kontrolle über genutzte Authentifizierungsverfahren

Der Anbieter MUSS sicherstellen, dass Authentifizierungsverfahren, die von einer Organisation für die Authentisierung von Akteuren in der Rolle "User" verwendet werden, unter Kontrolle der Organisation sind und entsprechende Authentisierungsmittel von dieser verwaltet und gesperrt werden können. Selbiges gilt, wenn der Anbieter die Nachnutzung bestehender Authentifizierungsverfahren der Organisation ermöglicht. [<=]

A_25307 - Verwendung von 2FA

Der Anbieter MUSS sicherstellen, dass zur Authentisierung mindestens zwei Faktoren verwendet werden und die Sicherheitsempfehlungen des BSI [BSI 2-Faktor] Berücksichtigung finden. [<=]

A_25308 - Resilienz der 2FA

Als 2. Faktor MUSS ein Verfahren gewählt werden, dass vom BSI hinsichtlich seiner Resilienz gegenüber Angriffen aus der Ferne mindestens mit "mittel" bewertet wurde [BSI 2-Faktor]. [<=]

2.5.2 IDP-Dienst

Der zentrale IDP-Dienst der gematik ermöglicht die sichere Identifikation der Akteure anhand der ihnen bereitgestellten Identifikationsmittel (z.B. SM(C)-B / HBA). Die Identifikation des Akteurs wird anhand einer Smartcard und der Auswertung des vom Authenticator-Modul an den IDP-Dienst übergebenen Authentifizierungszertifikats (aus der Smartcard) sichergestellt. Im Kontext des TI-Messenger übernimmt der IDP-Dienst die Identifikation der Akteure für die Registrierung und den Zugriff auf das VZD-FHIR-Directory.

2.5.3 VZD-FHIR-Directory

Beim VZD-FHIR-Directory handelt es sich um einen zentralen Verzeichnisdient der TI, der die deutschlandweite Suche von Organisationen und HBA-Inhabern des TI-M Dienstes ermöglicht. Er basiert auf dem FHIR-Standard zum Austausch von definierten Informationsobjekten (FHIR-Ressourcen).

Der Verzeichnisdienst bietet zwei Arten von Verzeichnistypen an, die durchsucht werden können. Für die Suche von Organisationseinträgen wird das Organisationsverzeichnis (HealthcareService) und für die Suche von Akteuren das Personenverzeichnis (PractitionerRole) verwendet. Im Organisationsverzeichnis sind alle auf eine Organisation bezogenen Ressourcen hinterlegt. Für die Suchen nach FHIR-Einträgen werden durch die TI-M Clients FHIR-Schnittstellen am VZD-FHIR-Directory aufgerufen.

Zusätzlich zur Bereitstellung der Verzeichnisse verwaltet das VZD-FHIR-Directory die Föderationsliste. Für die Registrierung der Matrix-Domain wird durch den Registrierungs-Dienst eine REST-Schnittstelle am VZD-FHIR-Directory aufgerufen, die mittels OAuth2 Client Credentials Flow gesichert ist. Dies ermöglicht es TI-Messenger-Anbietern ihre betriebenen Messenger-Services in die TI-Messenger-Föderation aufzunehmen und zu verwalten.

Allgemein besteht das VZD-FHIR-Directory aus mehreren Teilkomponenten (Auth-Service, OAuth-Service und FHIR-Proxy) die benötigt werden, um alle Funktionsmerkmale abbilden zu können. Im Folgenden werden die Teilkomponenten ausführlicher beschrieben. Weiterführende Informationen zum VZD-FHIR-Directory sind in [api-vzd] zu finden.

2.5.3.1 Auth-Service

Die Teilkomponente Auth-Service stellt den TI-M Clients sowie dem Registrierungs-Dienst eines TI-M FD die für den Aufruf der FHIR-Schnittstellen am FHIR-Proxy benötigten access-token aus. Hierbei werden die folgenden REST-Schnittstellen verwendet:

  • /tim-authenticate
  • /ti-provider-authenticate

Die Schnittstelle /tim-authenticate erwartet ein Matrix-OpenID-Token. Die Schnittstelle /ti-provider-authenticate wiederum erwartet ein ti-provider-accesstoken, welches zuvor vom OAuth-Service des VZD-FHIR-Directorys ausgestellt wurde.

2.5.3.2 OAuth

Die Teilkomponente OAuth stellt dem Registrierungs-Dienst über den /token-Endpunkt ein für den OAuth2 Client Credentials Flow temporäres ti-provider-accesstoken aus. Bevor der Registrierungs-Dienst den /token-Endpunkt am OAuth-Service aufrufen kann, muss sich der TI-Messenger-Anbieter zuvor beim VZD-Anbieter Client-Credentials beantragen, die bei Aufruf des Endpunktes mit übergeben werden.

2.5.3.3 FHIR-Proxy

Der FHIR-Proxy ist eine Teilkomponente des VZD-FHIR-Directory. Alle Anfragen an das FHIR-Directory werden über den FHIR-Proxy verarbeitet. Der FHIR-Proxy stellt die folgenden zwei Schnittstellen zur Verfügung, die durch die TI-M Clients sowie durch den Registrierungs-Dienst aufgerufen werden:

  • eine Suchschnittstelle für die Suche nach Organisationen und Praktizierenden
  • eine Schnittstelle zur Pflege eigener TI-M Provider Einträge

Bei Aufruf der Schnittstellen ist ein access-token mit zu übergeben. Bei erfolgreicher Authentifizierung leitet der FHIR-Proxy die Anfragen an das FHIR-Directory weiter.

2.5.4 Externer Push-Dienst

Ein externer Push-Dienst ist ein vom Gerätehersteller verwalteter Dienst, der Benachrichtigungen direkt an den TI-M Client auf dem Endgerät des Akteurs senden kann.

2.6 Zugriffstoken

Für die Nutzung des TI-M Dienstes kommen unterschiedliche Arten von Token zur Authentisierung und Autorisierung an weiteren Diensten zum Einsatz, die in verschiedenen Anwendungsfällen verwendet werden. Aus diesem Grund werden in der folgenden Tabelle die unterschiedlichen Token näher beschrieben.

Tabelle 2: Arten von Token

Token ausgestellt vom
Beschreibung
ID_TOKEN zentralen IDP-Dienst Dieses Token wird auf Basis von SM-Identitäten vom zentralen IDP-Dienst ausgestellt und beinhaltet die zugehörigen Identitätsdaten
(TelematikID, ProfessionOID etc.).

Der Registrierungs-Dienst nutzt dieses Token, um die enthaltene ProfessionOID auf einen gültigen Institutionstypen für ein SM-B bzw. eine SMC-B zu prüfen und im Rahmen einer Messenger-Service Bestellung die enthaltene TelematikID in die Föderationsliste einzutragen.
Matrix-ACCESS_TOKEN Matrix-Homeserver Nach der erfolgreichen Anmeldung eines Akteurs am Matrix-Homeserver wird ein Access-Token vom Matrix-Homeserver ausgestellt. Im Kontext des TI-M Dienstes wird das vom Matrix-Homeserver ausgestellte Access-Token als Matrix-ACCESS_TOKEN bezeichnet.

Dieses Token wird bei jeder weiteren Interaktion mit dem ausstellenden Matrix-Homeserver verwendet, um den TI-M Client zu berechtigen bestimmte Dienste des Servers zu nutzen.
Matrix-REFRESH_TOKEN Matrix-Homeserver Nach der erfolgreichen Anmeldung eines Akteurs am Matrix-Homeserver wird neben dem Matrix-ACCESS_TOKEN zudem ein Refresh-Token ausgestellt. Das Refresh-Token besitzt eine längere Gültigkeit als das Access_Token und kann genutzt werden, um sich nach Ablauf des Access_Token ein neue Access-Token vom Homeserver ausstellen zu lassen.
Matrix-OpenID-Token Matrix-Homeserver Bei dem Matrix-OpenID-Token handelt es sich um ein 3rd-Party-Token, welches von einem Matrix-Homeserver gemäß [Client-Server API/#OpenID] bei Bedarf für einen Akteur ausgestellt wird. Im Kontext des TI-M Dienstes wird das 3rd-Party-Token als Matrix-OpenID-Token bezeichnet.

Das Matrix-OpenID-Token wird für die Verifizierung eines Messenger-Services sowie für das Suchen von FHIR-Ressourcen im VZD-FHIR-Directory benötigt. Hierfür wird das Matrix-OpenID-Token im Auth-Service des Verzeichnisdienstes gegen ein search-accesstoken ersetzt, welches am FHIR-Proxy für die weitere Verarbeitung benötigt wird. Das ursprünglich ausgestellte Matrix-OpenID-Token wird dann nicht mehr benötigt. Zur Überprüfung der Gültigkeit des Matrix-OpenID-Token ruft der Auth-Service den Userinfo-Endpoint am jeweiligen Matrix-Homeserver auf.
ti-provider-accesstoken / provider-accesstoken OAuth / Auth-Service des
VZD-FHIR-Directory
Das ti-provider-accesstoken wird dem Registrierungs-Dienst durch den OAuth-Service und das provider-accesstoken durch den Auth-Service des VZD-FHIR-Directory bereitgestellt.

Ein provider-accesstoken wird z. B. benötigt, wenn der Registrierungs-Dienst eines TI-M FD, nach der Bereitstellung eines neuen Messenger-Service für eine Organisation, einen neuen Förderationslisteneintrag für diese Organisation anlegt oder der Registrierungs-Dienst eine Föderationsliste vom FHIR-Proxy abfragen möchte. Hierfür übergibt der Registrierungs-Dienst im ersten Schritt vereinbarte Client-Credentials an den OAuth-Service des VZD-FHIR-Directory und erhält nach der erfolgreichen Prüfung dieser Credentials das ti-provider-accesstoken. Das ti-provider-accesstoken wird anschließend an den Auth-Service des VZD-FHIR-Directory übergeben und bei erfolgreicher Prüfung durch das VZD-FHIR-Directory wird ein provider-accesstoken ausgestellt.
search-accesstoken Auth-Service des VZD-FHIR-Directory Das search-accesstoken wird einem berechtigten Akteur durch den Auth-Service das VZD-FHIR-Directory bereitgestellt.

Dieses wird für die Suche im VZD-FHIR-Directory benötigt und stellt sicher, dass nur berechtigte Akteure im VZD-FHIR-Directory eine Suche auslösen können. Dazu wird das vom Matrix-Homeserver ausgestellte Matrix-OpenID-Token an den Auth-Service des VZD-FHIR-Directory übergeben. Dieses dient in diesem Fall als Nachweis, dass ein Akteur bei einem der TI-Föderation angehörenden Messenger-Service registriert ist. Nur dann wird durch den Auth-Service des VZD-FHIR-Directory ein search-accesstoken bereitgestellt. Es muss bei der dann folgenden Suche im VZD-FHIR-Directory im Aufruf enthalten sein. Die Prüfung erfolgt durch den FHIR-Proxy.
Push-Anbieter App Token
Push-Anbieter Das Push-Anbieter App Token ist ein Token über welches eine App eindeutig für die Zustellung von Push-Nachrichten identifiziert werden kann.

3 Zerlegung des Produkttyps (Systemkomponenten)

Die folgenden Kapitel beschreiben die Komponenten und die jeweils an Sie gerichteten Anforderungen der Produkttypen TI-M Client und TI-M FD.

3.1 TI-M Client

Der TI-M Client wird als eine Anwendung (oder eingebettet in bestehende Anwendungen) auf dem Endgerät eines Akteurs installiert und ermöglicht eine sichere, nachrichtenbasierte Kommunikation mit anderen Akteuren des TI-M Dienstes. Der TI-M Client folgt den offenen Standards des Kommunikationsprotokolls Matrix und synchronisiert, durch die Matrix Foundation festgelegte JSON-Objekte mit Matrix-Homeservern, welche als Teil des Messenger-Services eines TI-M FD bereitgestellt werden.

Die Kommunikation zwischen den Akteuren des TI-M Dienstes erfolgt Ende-zu-Ende verschlüsselt in Räumen. Die Nachrichten werden auf dem jeweiligen TI-M Client erstellt und Ende-zu-Ende verschlüsselt versendet. Die gesendeten Nachrichten werden verschlüsselt auf dem jeweiligen Matrix-Homeserver gespeichert. Der für die Entschlüsselung benötigte Schlüssel wird nur mit verifizierten Endgeräten innerhalb des jeweiligen Raumes geteilt. Die beteiligten Matrix-Homeserver können die Nachrichten nicht entschlüsseln.

Die Kommunikation zwischen einem TI-M Client und einem TI-M FD erfolgt über die Messenger-Proxies. Auf den Messenger-Proxies findet die TLS-Terminierung der Verbindungen von den TI-M Clients statt. Die Messenger-Proxies erlauben nur mit zugelassenen TI-M Clients das Anmelden eines Akteurs. Zusätzlich wird während des Anmeldevorgangs durch den TI-M Client am Auth-Service des VZD-FHIR-Directory geprüft, ob es sich um einen zugelassenen Matrix-Homeserver handelt.

In der folgenden Abbildung sind alle beteiligten Komponenten der TI-Messenger-Architektur in vereinfachter Form dargestellt.

Abbildung 2: Systemüberblick TI-M Client

A_25491 - Bereitstellung von Datenschutzinformationen

Der TI-M Client MUSS für den Akteur klar erkennbar Datenschutzinformationen bereitstellen. [<=]

A_25495 - Anzeige von Fehlern beim Versand

Der TI-M Client MUSS den Nutzer über Fehler beim Versand informieren. [<=]

A_25512 - Trennung von Mandanten

TI-M Clients MÜSSEN verhindern, dass bei geteilten Endgeräten ein Akteur des TI-M Clients auf Daten oder Funktionen eines anderen Akteurs des TI-M Clients auf diesem Gerät zugreifen kann. [<=]

A_25513 - Mandantentrennung nicht durch Betriebssystem

Für den Schutz der Daten verschiedener Mandanten, DARF sich der TI-Messenger Client NICHT darauf verlassen, dass seitens des Betriebssystems eine Trennung von Nutzern vorgenommen wird, welche den Zugriff auf Daten anderer Akteure verhindert, da derartige Funktionalität nicht notwendigerweise genutzt wird. [<=]

Hinweis: Die Trennung von Mandanten erfordert nicht, dass mehrere Akteure gleichzeitig angemeldet sein können, deren Daten dann jeweils voreinander zu schützen sind. Stattdessen kann die Mandantentrennung auch so implementiert sein, dass zu jedem Zeitpunkt immer nur einer der möglichen Vielzahl von Akteuren angemeldet sein kann.

A_25519 - Schnittstelle für Virenscanner

TI-M Clients KÖNNEN über Schnittstellen und Funktionen verfügen, mit denen empfangene entschlüsselte Dateien zur Überprüfung auf Schadsoftware an Virenscanner übergeben werden, bevor diese verarbeitet werden. [<=]

A_25520 - Vorgehen bei Meldung von Schadsoftware

Nutzt ein TI-M Client die Möglichkeit zur Prüfung von Inhalten durch einen Virenscanner und meldet dieser Virenscanner das Vorhandensein von Schadsoftware im geprüften Inhalt, SOLL der TI-M Client diesen Inhalt verwerfen. [<=]

A_25521 - Information über Vorgehen bei Meldung von Schadsoftware

Verwirft der TI-M Client Inhalte, MUSS der Akteur darüber sowie über den Grund informiert werden. [<=]

A_25522 - Fehlschlag der Prüfung auf Schadsoftware

Nutzt ein TI-M Client die Möglichkeit zur Prüfung von Inhalten durch einen Virenscanner und meldet dieser Virenscanner ein Fehlschlagen der Prüfung, MUSS der TI-M Client den Akteur über den Prüfstatus und die mögliche Gefahr informieren. [<=]

A_25523 - Keine Ausführung aktiver Inhalte

Verfügt der TI-M Client über eine Funktion, Dokumente direkt über den TI-M Client ohne Nutzung von Third-Party Software anzuzeigen, MUSS er die Ausführung von aktiven Inhalten verhindern. [<=]

A_25524 - Anzeige von Metadaten

Verfügt der TI-M Client über eine Funktion, Dokumente direkt über den TI-M Client ohne Nutzung von Third-Party Software anzuzeigen, MUSS er es ebenfalls ermöglichen, zugehörige Metadaten auch ohne Öffnen oder Herunterladen der Datei selbst einzusehen. [<=]

A_25525 - Information über Gefahren von Schadsoftware

Der TI-M Client MUSS den Akteur darüber informieren, dass Dokumente Schadsoftware enthalten können und welche Maßnahmen der Akteur zum Selbstschutz vornehmen kann. [<=]

A_25569 - Einbringung von Schlüsseln und Token

TI-M Client-Hersteller MÜSSEN sicherstellen, dass Schlüssel und Token sicher in den TI-M Client eingebracht werden, das heißt unter Nutzung der von der Spezifikation und dem Matrix-Protokoll vorgesehenen Abläufe und Verfahren.
In diesem Sinne werden die verschiedenen Token (siehe Tabelle 2) mittels TLS-gesicherter Verbindung zum jeweiligen Fachdienst eingebracht, der diese nach erfolgreichem Handshake ausstellt. Die Einbringung von Schlüsseln folgt den Vorgaben und Funktionen des Matrix-Protokolls (SSSS, Key Sharing, Wiederherstellung aus verschlüsseltem Offline-Backup, Key Agreement, Schlüsselfortschreibung).
[<=]

A_25570 - Speicherung von Schlüsseln und Token

TI-M Client-Hersteller MÜSSEN technisch sicherstellen, dass Schlüssel und Token nicht in andere Speicher ausgelagert werden können, als die dafür vorgesehenen Speicher der TI-M Clients oder dem [SSSS] des beteiligten Matrix-Homeservers. [<=]

A_25573 - Verwendung von TLS zur Kommunikation mit dem Fachdienst und VZD-FHIR-Directory

TI-M Clients MÜSSEN mit anderen Komponenten des TI-M Dienstes sowie dem VZD-FHIR-Directory über TLS kommunizieren und die dafür erforderlichen Verfahren unterstützen. Hierzu gelten die Festlegungen der [gemSpec_Krypt]. [<=]

A_25574 - Automatische Löschfunktion

TI-M Clients MÜSSEN über eine automatische Löschfunktion verfügen. Von dieser automatischen Löschfunktion sind alle lokal vorgehaltenen Räume und Rauminhalte betroffen, wenn (1) der Nutzer nicht mehr Mitglied des Raumes ist, oder (2) der Raum server-seitig gelöscht wurde. [<=]

A_25575 - Löschung von Nachrichten

TI-M Clients MÜSSEN über eine nachrichtenbasierte Löschfunktion verfügen, die es Akteuren erlaubt, ihre eigenen Nachrichten gemäß [Client-Server API/#redactions] zu löschen. [<=]

A_25576 - Lokales Löschen bei Entfernung von Nachrichten aus dem Room State

Wurde eine Nachricht durch einen anderen Akteur gemäß [Client-Server API/#redactions] gelöscht, so MÜSSEN TI-M Clients, die sich im selben Raum befinden, die entsprechende Nachricht auch lokal löschen und kennzeichnen. [<=]

A_25577 - Kennzeichnung gelöschter Nachrichten

TI-M Clients MÜSSEN im Rahmen der Kennzeichnung gelöschter Nachrichten den löschenden Akteur, das Datum und die Uhrzeit der Löschung enthalten. [<=]

A_25578 - Privacy by Default

TI-M Clients MÜSSEN stets die datenschutzfreundlichste Voreinstellung als Standardeinstellung verwenden. [<=]

A_25580 - Sicherheitsrisiken von Software Bibliotheken minimieren

Der TI-M Client MUSS Maßnahmen umsetzen, um die Auswirkung von unentdeckten Schwachstellen in benutzten Software-Bibliotheken zu minimieren. [<=]

Hinweis:  Beispielmaßnahmen sind in [OWASP Proactive Control#C2] zu finden. Das gewählte Verfahren muss die gleiche Wirksamkeit aufweisen, wie die Kapselung gemäß [OWASP Proactive Control#C2 Punkt 4].

A_25584 - Selbst-Update des TI-M Clients aus vertrauenswürdigen Quellen

Lädt und appliziert ein TI-M Client Selbstaktualisierungen, so MUSS er sicherstellen, dass Updates nur von bekannten und vertrauenswürdigen Quellen bezogen werden, nachdem die Authentizität der Quelle technisch erfolgreich verifiziert wurde. [<=]

A_25598 - Einsatz auditierter Verschlüsselung

TI-M Clients MÜSSEN für die Verschlüsselung von Nachrichten eine auditierte und für ausreichend sicher befundene Implementierung von Olm/Megolm verwenden.  [<=]

Hinweis: Die gematik hat in Kooperation mit der Matrix-Foundation ein Audit für die Rust-Implementierung von Olm/Megolm - Vodozemac - durchführen lassen, das im Jahr 2022 abgeschlossen wurde. Weiterhin hat die gematik ein erneutes Audit der C/C++-Implementierung von Olm/Megolm - libolm - durchführen lassen, das im Jahr 2024 abgeschlossen wurde. Auf Basis dieser Audits werden Vodozemac und libolm als die von der gematik vorgesehenen Implementierungen benannt.

A_25599 - Verwendung anderer Implementierungen von Olm/Megolm

Sollte für die Umsetzung von Olm/Megolm eine andere Implementierung als eine der von der gematik vorgesehenen genutzt werden, MUSS der Hersteller einen Sicherheitsnachweis erbringen, welcher nach Art, Umfang und Ergebnis den Audits von Vodozemac und libolm entspricht und von nachweislich geeigneten und vom Hersteller unabhängigen Personen erbracht wurde. [<=]

A_25609 - Konfigurierbare Frist zur Erinnerung an Löschung

TI-M Clients MÜSSEN über eine konfigurierbare Frist zur Erinnerung an die Löschung von Räumen und Rauminhalten verfügen, welche die Löschung aller Daten, die älter als die konfigurierte Frist sind, anbietet. [<=]

A_25610 - Voreinstellung zur Erinnerung an Löschung

Die konfigurierbare Frist in TI-M Clients zur Erinnerung an die Löschung von Räumen und Rauminhalten MUSS auf sechs Monate voreingestellt sein und bezieht sich auf den Zeitstempel der Erstellung der letzten Nachricht in einem Raum. [<=]

A_25611 - Durchführung der Löschung

Ist die im TI-M Client konfigurierte Frist zur Erinnerung an die Löschung von Räumen und Rauminhalten verstrichen, so MUSS der Client den Nutzer darauf hinweisen und die Löschung des Raumes und dessen Inhalten empfehlen. Stimmt der Nutzer zu, so wird er aus dem Raum entfernt, was auch zu einer Benachrichtigung des Servers führt. [<=]

A_25501 - Sperre des TI-Messenger Clients

Es MUSS sichergestellt sein, dass der Zugriff auf den TI-M Client erst nach Überwindung einer App-Sperre möglich ist. Geeignete Faktoren für eine App-Sperre sind:

  • 6-stelliger PIN
  • starke Passphrase
  • Fido-Token
  • Biometrie
[<=]

A_26023 - Mehr-Faktor-Authentisierung für den TI-M Client zzgl. Ersatzverfahren

Der TI-M Client MUSS, da er medizinische Daten lokal zwischenspeichern kann, dem Akteur mindestens eine Authentisierungsart mit mehreren Faktoren für dessen Authentisierung am TI-M Client anbieten. [<=]

Hinweis: Nach erfolgreicher Authentisierung kann der Nutzer auf die Funktionen des TI-M Client zugreifen.

A_25502 - Entsperrung per Biometrie

Wird für die Überwindung der Sperre zum Zugriff auf den TI-M Client das Mittel Biometrie gewählt, MUSS es den Vorgaben aus [BSI-TR-03166] Kap. 2.3.1.5 oder 2.3.1.6 genügen. [<=]

A_26024 - Hinweise zu Authentisierungsarten

Der TI-M Client SOLL dem Nutzer die verfügbaren Authentisierungsarten in verständlicher Form darstellen und erklärende Hinweise zur Verfügung stellen. [<=]

A_25503 - Notwendigkeit der Entsperrung

Die Überwindung der Sperre zum Zugriff auf den TI-M Client MUSS nach jeder Abmeldung, jedem Benutzerwechsel, jedem Schließen der Anwendung oder spätestens zwölf Stunden nach letzter Entsperrung erneut durch den Akteur vorgenommen werden. [<=]

3.1.1 Ausprägungen nach Nutzergruppen

Gemäß der Architektur des TI-M Dienstes wird zwischen zwei Arten von TI-M Clients unterschieden. Die Unterscheidung ergibt sich ausschließlich aus der Sicht der Akteure. Im Folgenden werden die beiden Ausprägungen beschrieben.

3.1.1.1 TI-M Client für Akteure in der Rolle Org-Admin (Org-Admin-Client)

Der TI-M Client mit Administrationsfunktionen ist ein Client für Akteure einer Organisation in der Rolle "Org-Admin". Dieser wird im Kontext des TI-M Dienstes auch als Org-Admin-Client bezeichnet. Der Org-Admin-Client dient der komfortablen Verwaltung der Messenger-Services bei einem TI-M FD. Die Bereitstellung des Org-Admin-Clients kann als eigenständiger Client erfolgen oder als eine Integration in einen TI-M Client für Akteure. Sofern reguläre Nutzerfunktionen und Administrationsfunktionen in demselben Client angeboten werden, muss auf eine klar erkennbare Unterscheidung zwischen Nutzer- und Administrationsfunktionen geachtet werden. Im Folgenden werden die durch den Org-Admin-Client bereitzustellenden Administrationsfunktionen genauer beschrieben.
Zusammenfassung

  • Benutzerverwaltung (Liste aller Akteure, Anlegen, Bearbeiten, Löschen)
  • Geräteverwaltung (Anzeigen, Abmelden, Löschen aller Geräte eines Messenger-Services seiner Organisation)
  • Systemmeldungen an Akteure eines Messenger-Services senden (z. B. Wartungsfenster bekannt machen)

A_25472 - User Sessions Anzeige

Der Org-Admin-Client MUSS aktive und inaktive Sessions der Devices anzeigen, von denen sich ein User angemeldet hat. [<=]

A_25473 - User abmelden

Der Org-Admin-Client MUSS dem Org-Admin die Möglichkeit bieten die Access-Token & Refresh-Token der einzelnen Devices oder aller Devices zu invalidieren, um den User abzumelden. [<=]

A_25474 - Infomeldungen

Der Org-Admin-Client MUSS das Senden von Informationen/Systemmeldungen an die an einem Messenger-Service angemeldeten TI-M Clients ermöglichen. [<=]

3.1.1.2 TI-M Client für Akteure in der Rolle User

Der TI-M Client für Akteure in der Rolle User unterstützt die meisten aller, durch die Matrix-Spezifikation festgelegten Funktionalitäten eines Matrix-Messengers. Akteure können mit Hilfe dieses Clients Ende-zu-Ende-verschlüsselte Chatnachrichten senden und empfangen. Innerhalb der Chaträume erfolgt der Zugriff auf Chatverläufe oder das Austauschen von Medien. Ebenfalls besteht für Akteure die Möglichkeit eigene Geräte und Geräte von Gesprächspartnern zu verifizieren und das VZD-FHIR-Directory zu durchsuchen, um z.B. eine neue Chatkonversation mit einer Organisation zu starten. Es ist den Herstellern freigestellt wie die Oberfläche gestaltet wird. So besteht beispielsweise die Möglichkeit Chaträume nach unterschiedlichen Verwendungszwecken zu organisieren.

Hinweis: Der TI-M Client für Akteure in der Rolle User und der Org-Admin-Client können auch in einem TI-M Client integriert sein. Die Art der Umsetzung obliegt dem jeweiligen TI-M Client-Hersteller.

A_25601 - Separate Benutzeroberflächen für Administration und Kommunikation

TI-M Clients, die sowohl als Client für die Kommunikation, als auch als Org-Admin-Client genutzt werden, MÜSSEN zur Bereitstellung der Funktionalitäten für die jeweilige Rolle separate User-Interfaces verwenden, welche die für den jeweiligen Zweck relevanten Informationen anzeigen und Funktionen bereitstellen.  [<=]

A_25492 - Löschfunktion des Clients

Der TI-M Client MUSS Löschfunktionen implementieren, die es dem Akteur ermöglichen, Daten sowohl lokal auf dem Client zu löschen, bspw. durch Verlassen eines Raumes, bei dem der gesamte Raum samt Inhalt vom Client entfernt wird, als auch server-seitig, wenn es sich dabei um Daten handelt, die der Nutzer selbst eingebracht hat, bspw. indem er eine von ihm verfasste Nachricht in einem Chat-Raum löscht ("redact"). [<=]

3.1.2 Ausprägungen nach Plattform

TI-M Clients haben je nach Plattform (Mobil/Stationär) unterschiedliche Anforderungen an Sicherheit, Datenschutz und Funktionalität. Im Folgenden werden die zu unterstützenden Plattformen näher beschrieben.

3.1.2.1 TI-M Client für mobile Szenarien

Es handelt sich hierbei um eine TI-M Client Anwendung, die speziell für die Nutzung auf mobilen Geräten entwickelt wurde (z. B. Android/iOS). Die Bereitstellung kann als native mobile Anwendung erfolgen oder als eine Integration in bereits bestehende Anwendungen.

A_25398 - QR-Code erstellen

Der TI-M Client für mobile Szenarien MUSS eine Funktion bereitstellen, 2D-Barcodes zu erstellen und diese auf dem Display des Endgerätes anzuzeigen. Hierbei MUSS der 2D-Code in eine QR-Code-Darstellung gemäß ISO/IEC 18004:2006 kodiert werden. Als Inhalt für die Generierung des 2D-Codes MÜSSEN mindestens die Felder des folgenden vCard-Objektes verwendet werden:

BEGIN:VCARD
VERSION:4.0
N:<Nachname>;<Vorname>;<zusätzliche Vornamen>;<Titel>;<Namenszusätze>
FN:<Vorname><Nachname>
IMPP:matrix://<MXID>
END:VCARD

Der Aufbau der Matrix-URI MUSS gemäß [Matrix Appendices/#uris] gebildet werden. [<=]

A_25422 - QR-Code verarbeiten

Der TI-M Client für mobile Szenarien MUSS eine Funktion bereitstellen, die es dem Akteur erlaubt, über die Kamera des Endgerätes einen 2D-Barcode (in einer QR-Code-Darstellung) einzuscannen. Der TI-Messenger MUSS den eingescannten 2D-Code gemäß ISO/IEC 18004:2006 decodieren und mindestens den vollständigen Namen sowie die Matrix-User-ID aus den Parameter N und IMPP dem Akteur anzeigen, damit dieser die Daten in seine Kontaktliste übernehmen kann. [<=]

A_25496 - Keine dauerhafte Standortdatenerhebung

Der TI-M Client DARF Standortdaten NICHT dauerhaft erheben. [<=]

A_25500 - Auslösung der Standorterhebung

Bei der Erhebung von Standortdaten MUSS sichergestellt sein, dass diese Erhebung ausschließlich durch einen menschlichen Benutzer ausgelöst wird und nach Beendigung des Anwendungsfalls, der die Standortdaten erhebt, diese wieder aus dem TI-M Client-Kontext gelöscht werden. [<=]

A_25527 - Prüfung der Geräteintegrität

TI-M Clients für mobile Plattformen MÜSSEN prüfen, ob ein Rooting des Gerätes vorliegt. Ist dies der Fall, MUSS dem Nutzer eine Warnung angezeigt werden und der Versand von Anhängen verhindert werden. [<=]

A_25535 - Abschottung von Inhalten auf mobilen Plattformen

TI-M Clients für mobile Plattformen MÜSSEN sicherstellen, dass Daten, die lokal durch den TI-M Client selbst gespeichert und nicht explizit durch den Nutzer für die Verwendung in anderen Kontexten exportiert wurden, in einem geschützten Speicherbereich auf dem Endgerät abgelegt werden. Hierzu genügen die von mobilen Betriebssystemen üblicherweise zur Verfügung gestellten Mechanismen wie die Verschlüsselung des Dateisystems und die Kapselung von Anwendungen untereinander. [<=]

A_25579 - Schutz gegen OWASP Mobile Top 10 Risiken

Hersteller von TI-M Clients für mobile Szenarien MÜSSEN für die von ihnen angebotenen mobilen TI-M Clients gewährleisten, dass der Client resistent bezüglich der im aktuellen und den beiden vorherigen OWASP Mobile Top 10 Report(s) ausgewiesenen Risiken ist. [<=]

A_25505 - Prüfung auf konforme Gerätesperre

Wird der TI-M Client ohne aktive App-Sperre auf einem Mobilgerät verwendet, MUSS er regelmäßig und wenigstens beim Öffnen prüfen, ob eine konforme Gerätesperre aktiviert ist und bei negativem Prüfergebnis eine dedizierte App-Sperre aktivieren. [<=]

3.1.2.2 TI-M Client für stationäre Szenarien

Es handelt sich hierbei um eine TI-M Client Anwendung, die speziell für die Nutzung auf stationären Endgeräten entwickelt wurde (z. B. Windows/MacOS). Die Bereitstellung kann sowohl als eigenständige Lösung erfolgen oder als eine Integration in bereits bestehende Lösungen.

A_25497 - Schutz gespeicherter Daten in Desktop-Clients

Handelt es sich bei dem TI-M Client um eine Desktop-Applikation, MUSS dieser für empfangene und gesendete Daten, die nicht explizit durch den Nutzer für die Verwendung in anderen Kontexten exportiert wurden, gewährleisten, dass diese im Falle der Speicherung auch nur durch den TI-M Client und nach Authentifizierung des jeweiligen Nutzers gelesen werden können. [<=]

3.1.2.3 TI-M Client als Web-Anwendung

Die Ausführung des TI-M Client als lokale Web-Anwendung in einem Webbrowser ist ebenfalls möglich. Die Ver- und Entschlüsselung MUSS lokal im Browser auf dem Endgerät erfolgen. Ebenfalls MUSS sichergestellt werden, dass bei Nutzung einer lokalen Web-Anwendung ein unerlaubter Zugriff durch Dritte aktiv verhindert wird (z. B. durch Invalidieren der Session oder durch eine aktive Abmeldung).

3.1.3 Matrix Spezifikation

Die Kernbestandteile des TI-M Clients basieren auf der Matrix Client-Server API. Diese umfasst neben dem eigentlichen Funktionsumfang für einen Ad-hoc-Nachrichtendienst auch die Verwaltung der Sessions, Benachrichtigungen etc., worauf in dieser Spezifikation nicht weiter eingegangen wird. Die folgenden Kapitel beschreiben Anforderungen zur Verwendung der geforderten Matrix Version und definieren Anforderungen, die über diese Version der Matrix Spezifikation hinausgehen.

A_25396 - Client-Server API

TI-M Clients MÜSSEN die clientspezifischen Anteile der Matrix Client-Server API gemäß [Client-Server API] umsetzen. [<=]

A_25345 - Appendices TI-M Clients

TI-M Clients MÜSSEN die [Matrix Appendices] gemäß der Matrix-Spezifikationen umsetzen. [<=]

3.1.3.1 Umdefinition der Module

Die Matrix Spezifikation unterteilt die einzelnen Funktionen der Client-Server API in Module, die für unterschiedliche Clients verbindlich (Required) oder optional (Optional) definiert werden. Die folgende Anforderung definiert für die aufgeführten Module die in der Matrix Spezifikation [Client-Server API/#modules] festgelegten Vorgaben neu.

A_25395 - Matrix Module

Die folgende Tabelle listet die Module aus der Matrix Spezifikation und die Neudefinition der Vorgaben.

Tabelle 3: Matrix Module

Modul
Web-Anwendung mobile Szenarien
stationäre Szenarien
Homeserver
Instant Messaging
MUSS MUSS MUSS MUSS
Rich replies
KANN KANN KANN KANN
Direct Messaging
MUSS MUSS MUSS MUSS
Mentions MUSS MUSS MUSS MUSS
Presence MUSS MUSS MUSS MUSS
Push Notifications
KANN MUSS KANN MUSS
Receipts MUSS MUSS MUSS MUSS
Fully Read Markers
MUSS MUSS MUSS MUSS
Typing Notifications
MUSS MUSS MUSS MUSS
VoIP KANN KANN KANN KANN
Ignoring Users
KANN KANN KANN KANN
Reporting Content
MUSS MUSS MUSS MUSS
Content Repository
MUSS MUSS MUSS MUSS
Managing History Visibility
MUSS MUSS MUSS MUSS
Server Side Search
MUSS MUSS MUSS MUSS
Room Upgrades
MUSS MUSS MUSS MUSS
Server Administration
MUSS* / KANN†
MUSS* / KANN†  MUSS* / KANN†  MUSS
Event Context
MUSS MUSS MUSS MUSS
Third Party Networks
DARF NICHT
DARF NICHT
DARF NICHT
DARF NICHT
Send-to-Device Messaging
MUSS MUSS MUSS MUSS
Device Management
MUSS MUSS MUSS MUSS
End-to-End Encryption
MUSS MUSS MUSS MUSS
Guest Accounts
DARF NICHT
DARF NICHT DARF NICHT DARF NICHT
Room Previews
KANN KANN KANN KANN
Client Config
MUSS MUSS MUSS MUSS
SSO Login
MUSS MUSS MUSS MUSS
OpenID MUSS MUSS MUSS MUSS
Stickers
KANN
KANN
KANN KANN
Server ACLs KANN KANN KANN KANN
Server Notices
MUSS MUSS MUSS MUSS
Moderation Policies
DARF NICHT
DARF NICHT
DARF NICHT
DARF NICHT
Spaces KANN KANN KANN KANN

* TI-M Client für Akteure in der Rolle Org-Admin (Org-Admin-Client)
† TI-M Client für Akteure in der Rolle User [<=]

3.1.3.2 Weitere Ergänzungen/Einschränkungen zur Matrix-Spezifikation

Die folgenden Anforderungen beschreiben Einschränkungen zu einzelnen Endpunkten der Matrix API, die nicht über die Definitionen im vorherigen Kapitel festgelegt werden konnten.

A_25397 - create Room

Der TI-M Client MUSS sicherstellen, dass im createRoom-Event maximal die Einladung einer MXID enthalten ist.  [<=]

A_25323 - Anlegen von Räumen

Der TI-M Client MUSS beim Anlegen eines Raumes als Default einen nicht öffentlichen und verschlüsselten Raum anbieten. [<=]

A_25324 - Verschlüsselung von Räumen

Der TI-M Client DARF dem Akteur beim Anlegen privater Räume NICHT erlauben, die Verschlüsselung zu deaktivieren. [<=]

A_25559 - Unterstützung von Olm und Megolm

TI-M Clients MÜSSEN eine Ende-zu-Ende-Verschlüsselung auf Basis von Olm und Megolm unterstützen und dafür der Matrix-Spezifikation gemäß [Client-Server API/#end-to-end-encryption] folgen. [<=]

A_25561 - Hinweis auf unverschlüsselte Kommunikation

Der TI-M Client MUSS Räume, in denen unverschlüsselt kommuniziert wird, durch geeignete UI-Elemente als solche kennzeichnen, sodass der Akteur sich dessen gewahr ist. [<=]

A_25562 - Hinweis auf Öffentlichkeit eines Raums

Der TI-M Client MUSS öffentliche Räume durch geeignete UI-Elemente als solche kennzeichnen, sodass der Nutzer sich der Öffentlichkeit des Raums gewahr ist. [<=]

A_25517 - Größe versendeter Inhalte

TI-M Clients MÜSSEN in der Lage sein, Dateien mit einer Größe von mindestens 100 MB zu versenden. [<=]

A_25518 - Beschränkung der Größe versendeter Inhalte

TI-M Clients MÜSSEN die in m.upload.size definierte Größenbeschränkung zu versendender Inhalte berücksichtigen. [<=]

A_25557 - Device Verification, Cross-Signing und SSSS für TI-Messenger Clients

TI-M Clients MÜSSEN die Funktionen Cross-Signing und Secure Secret Storage and Sharing ([SSSS]) zur Device Verification unterstützen und dafür der Matrix-Spezifikation gemäß [Client-Server API/#sharing-keys-between-devices] folgen. [<=]

A_25394 - Anforderung von refresh token durch den TI-M Client

Der TI-M Client MUSS bei Aufruf der [Client-Server API] Endpoints /register und /login den Parameter refresh_token mit dem Wert true benutzen. [<=]

A_25458 - Verwendung von refresh token

Der TI-M Client MUSS einen nicht mehr gültigen access_token durch Verwendung des refresh_token erneuern. [<=]

A_25399 - Displaynamen anpassen

Das Editieren des Displayname eines Akteurs in der Rolle "User" DARF NICHT durch den Akteur selbst möglich sein. [<=]

A_25431 - Eingabebenachrichtigungen

Eingabebenachrichtigungen MÜSSEN an- und abschaltbar sein und MÜSSEN gemäß Privacy-by-default (Art. 25 Abs. 2 DSGVO) standardmäßig deaktiviert sein. [<=]

A_25436 - Präsenzanzeige

Die Präsenzanzeige MUSS an- und abschaltbar sein und MUSS gemäß Privacy-by-default (Art. 25 Abs. 2 DSGVO) standardmäßig deaktiviert sein. [<=]

A_25437 - Erwähnungen

TI-M Clients MÜSSEN es ermöglichen, dass über das Eingabefeld andere Nutzer gemäß [Client-Server API/#user-and-room-mentions] im jeweiligen Chatraum erwähnt werden können. Dazu MUSS der TI-M Client eine entsprechende Nutzerliste anzeigen, sobald der Nutzer ein neues Wort mit "@" startet. [<=]

A_25481 - Raum Historie

Als Default-Einstellung MUSS beim Anlegen eines Raumes die Sichtbarkeit für die Raum-Historie ab dem Zeitpunkt der Einladung ("invited") zu einem Chatraum definiert sein. [<=]

A_25423 - Retry and Order

Das unter [Client-Server API/#recommendations-when-sending-messages] beschriebene Verhalten für das Retry und die Order auf Clientseite ist mit MUSS und nicht mit SHOULD zu implementieren. [<=]

A_25514 - Key-Sharing zwischen Geräten eines Akteurs

TI-M Clients MÜSSEN sicherstellen, dass das Key-Sharing zwischen Geräten desselben Akteurs nur verifizierte Geräte umfasst. Geräte, die im Namen eines bestimmten Akteurs angemeldet, aber nicht verifiziert sind, sind vom Key-Sharing ausgeschlossen. [<=]

A_25430 - Barrierefreiheit

Hersteller eines TI-M Clients SOLLEN die in [ISO 9241] aufgeführten Qualitätsrichtlinien zur Sicherstellung der Ergonomie interaktiver Systeme und Anforderungen aus der Verordnung zur Schaffung barrierefreier Informationstechnik nach dem Behindertengleichstellungsgesetz (Barrierefreie-Informationstechnik-Verordnung – [BITV 2.0]) beachten. [<=]

3.1.4 Push-Notifications

Push-Notifications sind elementarer Bestandteil von Messenger-Anwendungen. Um TI-M Clients mit Benachrichtigungen über externe Push-Anbieter, wie z.B.

  • Apple Push Notification service (APNs) für iOS oder
  • Firebase Cloud Messaging (FCM) für Android,

zu versorgen, wird das Konzept aus der Matrix Spezifikation aufgegriffen, welches auf der einen Seite eine enge Kopplung zwischen einem Client und dem zugehörigen Push-Gateway vorsieht und auf der anderen Seite über den Homeserver den Clients die Flexibilität bietet, selbst das zu verwendende Push-Gateway zu definieren. Die dafür notwendigen Komponenten und Schnittstellen werden im Kapitel 5.3 Push-Benachrichtigungen ausführlich behandelt.

3.1.5 Client Identifikation

Zur Sicherstellung, dass nur zugelassene TI-M Clients verwendet werden, MUSS durch den Hersteller eines TI-M Clients eine User-Agent-Kennung in den TI-M Client implementiert werden. Die davon zulassungsrelevanten Anteile MUSS der TI-M Client-Hersteller einem Anbieter des TI-Messengers nach jeder Änderung zur Verfügung stellen, damit diese bei der Prüfung am Messenger-Proxy eines Messenger-Services verwendet werden können. Die User-Agent-Kennung ist bei jedem Aufruf im HTTP Header zu übertragen.

A_25483 - TI-M Client User-Agent

Der TI-M Client für Akteure und der Org-Admin-Client MÜSSEN folgende User-Agent-Kennung bei jedem Verbindungsaufbau zum TI-M FD übermitteln:

X-TIM-User-Agent: $ua-client_id, $ua-OSv

Hinweise:
1) Zur Beschreibung der Datenfelder, siehe [A_25823].
2) Im  muss der Header nicht explizit gesetzt werden, solange die geforderten Informationen auch anderweitig am TI-M FD korrekt erfasst werden können.
[<=]

3.1.6 Archivierung von Gesprächsinhalten

Um den Dokumentationspflichten von Akteuren unterschiedlicher Rollen nachzukommen, ist es notwendig, dass Chatverläufe mit Fallbezug auch über Löschung der Gesprächsdaten hinaus aufbewahrt werden können.

A_25424 - Archivierung in Archivsysteme

Der TI-M Client MUSS sicherstellen, dass Chatverläufe aus dem TI-M Client extrahiert werden können, damit diese beispielweise in Archivsysteme überführt werden können. Die gematik macht keine Vorgaben, wie die Archivierung zu gestalten ist, da sowohl die Art der Archivierung als auch die anzubindenden Systeme stark variieren. [<=]

Hinweis: Mit der Ausleitung in ein Archivsystem verlassen potenziell schützenswerte Daten den Wirkbereich des TI-Messengers. Die Eignung des Archivierungssystems hinsichtlich Datenschutz und Informationssicherheit muss durch die für das Archivierungssystem Verantwortlichen gewährleistet werden.

3.1.7 Tracking und Reporting

Unter bestimmten Einschränkung kann ein Tracking und Reporting der Nutzung des TI-M Client erfolgen.

A_25585 - Verbot von Werbe-Tracking

Der TI-M Client DARF NICHT Werbe-Tracking verwenden. [<=]

A_25587 - Keine Auswertung durch Dritte

Der datenschutzrechtlich Verantwortliche für die TI-M Clients MUSS die Verarbeitung und Auswertung etwaiger gesammelter Tracking- und/oder Reporting-Daten der TI-M Clients selbst durchführen und DARF die Verarbeitung und Auswertung NICHT von einem Drittanbieter durchführen lassen. [<=]

A_25589 - Einschränkung der Art übermittelter Informationen

Der TI-M Client MUSS, falls er Tracking- und/oder Reporting-Funktionen ohne Einwilligung des Akteurs nutzt, sicherstellen, dass die übermittelten Informationen 

  • sich nur auf Clientnutzung (von der ersten Interaktion des Nutzers mit dem Client bis zum Schließen des Clients bzw. bis zum Inaktivitätstimeout) beziehen und nicht mit anderen Clientnutzungen des Akteurs verknüpft werden,
  • über die unweigerlich anfallenden Verbindungsdaten hinaus weder personenbezogene noch pseudonymisierte personenbezogene Daten enthalten,
  • keine nutzerbezogenen IDs oder gerätespezifischen IDs der Nutzergeräte enthalten,
  • keinen Rückschluss auf Versicherte, deren Vertreter, Leistungserbringer oder Kostenträger ermöglichen, insbesondere Rückschlüsse anhand des Nutzerverhaltens über die Zeit oder über Clientnutzungen hinweg,
  • nicht durch die Verknüpfung mit personenbezogenen Daten aus anderen Quellen de-anonymisiert werden können
[<=]

A_25590 - Information über Tracking und Reporting

Der TI-M Client MUSS, falls er Tracking- und/oder Reporting-Funktionen ohne Einwilligung des Akteurs nutzt, den Akteur über das Tracking und/oder Reporting im TI-M Client in verständlicher und leicht zugänglicher Form sowie in einer klaren und einfachen Sprache informieren, bevor die Informationen erhoben werden. [<=]

A_25591 - Zufällige Nutzungs-Identifier

Der TI-M Client MUSS, falls er Tracking- und/oder Reporting-Funktionen ohne Einwilligung des Akteurs nutzt, für jede Clientnutzung neue Nutzungs-Identifier zufällig generieren. [<=]

A_25592 - Neugenerierung zufälliger Nutzungs-Identifier

Der Akteur MUSS jederzeit in der Lage sein, die Neugenerierung von Nutzungs-Identifiern, die vom TI-M Client im Rahmen von Tracking- und/oder Reporting-Funktionen genutzt werden, zu erzwingen. [<=]

A_25593 - Opt-In für Verknüpfung von Informationen

Der TI-M Client MUSS, falls er Tracking- und/oder Reporting-Funktionen mit Verknüpfung der Informationen mehrerer Clientnutzungen implementiert, technisch sicherstellen, dass diese Tracking- und/oder Reporting-Funktionen bei der Installation des TI-M Clients standardmäßig deaktiviert sind und nur nach expliziter Einwilligung durch den Akteur aktiviert werden (Opt-in). Die Ablehnung der Nutzung solcher Funktionen darf die Standardfunktionen des TI-M Clients nicht einschränken. Eine Umgehung des Opt-In unter Verweis auf AGBs oder Nutzungsbedingungen ist nicht zulässig. [<=]

A_25594 - Zweck von Tracking und Reporting

Falls der TI-M Client Tracking- und/oder Reporting-Funktionen implementiert, die erst nach expliziter Einwilligung aktiviert werden (Opt-In), MUSS der TI-M Client dem Akteur vor der Einwilligung in die Aktivierung dieser Funktionen in verständlicher und leicht zugänglicher Form sowie in einer klaren und einfachen Sprache folgende Einwilligungsinformationen anzeigen: 

  • welche Daten durch die Tracking-Funktionen erhoben werden,
  • zu welchen Zwecken die Daten erhoben werden,
  • welche Informationen durch die Auswertung der erhobenen Daten gewonnen werden und ob Rückschlüsse auf den Gesundheitszustand des Akteurs möglich wären,
  • wer die Empfänger der Daten sind,
  • wie lange die Daten gespeichert werden.
Unter verständlicher und leicht zugänglicher Form wird explizit eine kurze Erklärung in einfacher und nicht juristischer Sprache verstanden, die direkt im TI-M Client angezeigt wird.
[<=]

A_25595 - Deaktivierbarkeit zuvor aktivierten Trackings und Reportings

Falls der TI-M Client Tracking- und/oder Reporting-Funktionen implementiert, MÜSSEN diese jederzeit durch den Akteur deaktivierbar sein. [<=]

A_26001 - Information über die Deaktivierbarkeit des Trackings

Der TI-M Client MUSS den Akteur in klarer und einfacher Sprache über die Möglichkeit der Deaktivierung von Tracking und Reporting informieren. [<=]

A_25596 - Kein wiederholtes Erfragen der Einwilligung

Der TI-M Client DARF NICHT wiederholt beim Akteur anfragen um diesen durch Belästigung zu einer Einwilligung in die Nutzung von Tracking- und/oder Reporting-Funktionen zu nötigen. Nach einmaliger Ablehnung erfolgt die erneute Anzeige des zugehörigen Dialogs nur auf Veranlassung durch den Akteur. [<=]

3.1.8 Schlüssel-Backup

A_26077 - Server-seitiges Schlüssel-Backup

Der TI-M Client MUSS die für die Nutzung des serverseitigen Schlüssel-Backups [Client-Server API/#server-side-key-backups] benötigte Funktionalität implementieren und dem Akteur zur Verwendung anbieten.  [<=]

A_25613 - Hinweis bei passwort-basiertem Schlüssel-Backup

Bietet der TI-M Client für den Schutz von kryptographischem Material (im Rahmen des Schlüssel-Backups) die Verwendung von Passwörtern an, um den Schlüssel für das Schlüssel-Backup zu verschlüsseln, so MUSS er den Nutzer zum Zeitpunkt der Passwortvergabe explizit darauf hinweisen, dass sich das zu vergebene Passwort zwingend von dem Passwort für das Nutzerkonto am Matrix-Homeserver unterscheiden muss, weil sonst die Ende-zu-Ende-Verschlüsselung wenigstens gegenüber dem Homeserver und jenen Akteuren, die diesen kontrollieren, nicht mehr wirksam ist. [<=]

A_25614 - Vorschlag von Passwörtern für das Schlüssel-Backup

Der TI-M Client SOLL dem Nutzer im Rahmen der Passwortvergabe ein Passwort vorschlagen, das eine zufällige Kombination von mindestens 14 Zeichen Länge aufweist, die sich aus Zahlen, Sonderzeichen, sowie Groß- und Kleinbuchstaben zusammensetzt. [<=]

A_25615 - Quelle des Zufalls für Vorschläge

Die Quelle für Zufall, die der TI-M Client zum Vorschlagen von Passwörtern verwendet, MUSS wenigstens die Güte haben, wie jene Quellen, die er im Rahmen der Aushandlung von Schlüsselmaterial für die Kommunikation benutzt. [<=]

A_25616 - Parameter für die passwort-basierte Schlüsselableitung

Bei der passwort-basierten Schlüsselableitung (PBKDF2) im Rahmen des Schlüssel-Backups MUSS der TI-M Client gemäß [OWASP PBKDF2] >= 210.000 Iterationen wählen; die Hash-Funktion ist mit SHA-512 durch die Matrix-Spezifikation vorgegeben. [<=]

A_25617 - Möglichkeit der Verwahrung von Passwörtern

Der TI-M Client KANN dem Nutzer Funktionen zur Verfügung stellen, die ihm eine sichere Verwahrung von Passwort oder Schlüssel erleichtern, beispielsweise indem ein Export in einen installierten Passwort-Manager angeboten wird. [<=]

A_25618 - Nutzung von Passphrasen

Schlägt der TI-M Client nicht Passwörter, sondern Passphrasen vor, so MUSS die Länge der Phrasen so weit erhöht werden, dass eine vergleichbare Entropie wie bei der Verwendung von Passwörtern nach A_25614 erreicht wird. [<=]

3.1.9 VZD-FHIR-Directory

Ein TI-M Client nutzt die FHIR-Schnittstellen der Teilkomponente FHIR-Proxy des VZD-FHIR-Directorys gemäß dem FHIR-Standard [FHIR] mit einer RESTful API.

Für den Zugriff auf das VZD-FHIR-Directory ist ein durch den Auth-Service ausgestelltes access-token notwendig. Hierfür sind die am Auth-Service bereitgestellten REST-Schnittstellen durch den TI-M Client zu nutzen.

TI-M Clients MÜSSEN sich gegenüber dem Auth-Service des VZD-FHIR-Directory mit Hilfe eines ID_TOKENS oder des Matrix-OpenID-Token authentifizieren.

Dem Matrix-OpenID-Token des Matrix-Homeservers wird vertraut, wenn der ausstellende Matrix-Homeserver als Matrix-Domain (einer verifizierten Organisation) in der Föderationsliste eingetragen wurde. Der Auth-Service des VZD-FHIR-Directory stellt nach erfolgreicher Prüfung des jeweiligen Matrix-OpenID-Token ein search-accesstoken aus.

3.1.9.1 Lesezugriff

Für den Lesezugriff autorisieren sich TI-M Clients gegenüber dem FHIR-Proxy des VZD-FHIR-Directory mit einem search-accesstoken, welches vom Auth-Service des VZD-FHIR-Directory ausgestellt wurde.

Für den Lesezugriff auf das VZD-FHIR-Directory ist ein gültiges search-accesstoken notwendig. Durch den Aufruf der Schnittstelle /search am FHIR-Proxy des VZD-FHIR-Directory KANN ein TI-M Client unter Vorlage des search-accesstoken Suchanfragen an das FHIR-Directory stellen. Die Suchergebnisse sind abhängig von den eingetragenen FHIR-Ressourcen und deren Sichtbarkeit.

Liegt kein gültiges search-accesstoken vor, kann der TI-M Client dies beim Auth-Service des VZD-FHIR-Directory durch den Aufruf von GET /tim-authenticate unter Vorlage eines Matrix-OpenID-Token anfragen.

A_25479 - Search Token

Der TI-M Client MUSS dem Akteur einen search-accesstoken für die Suche im VZD-FHIR-Directory bereitstellen. [<=]

A_25428 - VZD-FHIR-Directory Inhalte

Der TI-M Client MUSS eine Funktion bereitstellen, damit Akteure das VZD-FHIR-Directory nach Ressourcen durchsuchen und die Ergebnisse inklusive Detailinformationen anzeigen können. [<=]

3.1.10 Registrierungs-Dienst

Der Registrierung-Dienst stellt dem Org-Admin-Client Schnittstellen zur Verfügung damit dieser neue Messenger-Services anlegen und diese Verwalten kann.

3.1.11 Testtreiber

Die gematik konzentriert sich bei der Zulassung auf das Zusammenspiel der Produkte durch E2E- und IOP Tests und testet übergreifend, die in dieser Spezifikation definierten Anwendungsfälle. Um einen automatisierten Test für den TI-Messenger zu ermöglichen, muss die Test-App des TI-M Clients zusätzlich ein Testtreiber-Modul bereitstellen, welches über eine definierte API die Remotesteuerung des Clients erlaubt. Details zum Testkonzept können unter [gematik Testkonzept] nachgelesen werden.

A_25363 - Testtreiber-Modul

Für jeden TI-M Client MUSS für die Zulassung ein Testtreiber Modul bereitgestellt werden, welches die von der gematik vorgegebene Schnittstelle [api-Testtreiber] anbietet. [<=]

A_25360 - kein Testtreiber in der produktiven Anwendung

Der Einsatz des Testtreiber-Moduls ist auf das Zulassungsverfahren in Test-Apps beschränkt und DARF NICHT in produktiven Wirkbetriebs-Apps genutzt werden. [<=]

A_25361 - keine Modifikation der Inhalte

Das Testtreiber-Modul KANN die Ausgaben des TI-M Clients gemäß der technischen Schnittstelle aufarbeiten, aber DARF NICHT die Inhalte verfälschen und keine Fachlogik des Clients umsetzen. [<=]

3.2 TI-M FD

Der TI-M FD besteht aus Teilkomponenten, welche bei der Produktzulassung getestet werden und die ein TI-Messenger-Anbieter bereitstellt. Als zentrale Verwaltungskomponente existiert der Registrierungs-Dienst, über den die Bestellung und Verwaltung von Messenger-Services realisiert wird. Ein Messenger-Service besteht aus einem Matrix-Homeserver und einem Messenger-Proxy, der dafür sorgt, dass eine Föderation der Matrix-Homeserver nur zwischen verifizierten Domains stattfindet. Messenger-Services werden für einzelne Organisationen (z. B. Leistungserbringerinstitutionen, Verbände, Kostenträger, etc.) bereitgestellt und erlauben die Nutzung durch alle berechtigten Akteure einer Organisation. Die Kommunikation zwischen einem TI-Messenger Client und einem TI-M FD erfolgt immer über den Messenger-Proxy der Messenger-Services. Am Messenger-Proxy eines Messenger-Service findet zunächst die TLS-Terminierung der Verbindungen von den TI-M Clients statt. Der Messenger-Proxy kontrolliert die Zugehörigkeit zur TI-Föderation durch den Abgleich mit einer durch seinen Registrierungs-Dienst bereitgestellten Föderationsliste. Der Messenger-Service benachrichtigt das vom TI-M Client festgelegte Push-Gateway bei Events, die zu einer Notification auf Clientseite führen.

Abbildung 3: Systemüberblick TI-M FD

3.2.1 Registrierungs-Dienst

Der Registrierungs-Dienst bietet drei Schnittstellen an. In der folgenden Abbildung sind die von ihm bereitgestellten (grün) und genutzten (rot) Schnittstellen dargestellt:

Abbildung 4: Übersicht der Schnittstellen am Registrierungs-Dienst

Hinweis: Bei der in der Abbildung dargestellte Schnittstelle I_internVerification handelt es sich um eine abstrakte interne Schnittstelle am Registrierungs-Dienst, mit der den Messenger-Proxies mehrere Funktionalitäten bereitgestellt werden. Die Umsetzung der bereitzustellenden Funktionalitäten (Bereitstellung der Föderationsliste und Berechtigungsprüfung - Stufe 3) am Registrierungs-Dienst kann auch über separate Schnittstellen erfolgen. Bei den beiden Schnittstellen I_Registration und I_Admin handelt es sich um die Schnittstellen, die der TI-Messenger-Anbieter im Internet anbieten MUSS. Diese werden nicht normativ von der gematik spezifiziert.

Die einzelnen Schnittstellen werden in den folgenden Kapiteln detailliert beschrieben.

3.2.1.1 I_Registration

Über die Schnittstelle I_Registration werden 2 Funktionen bereitgestellt. Zum einen kann die eigene Organisation (z.B. per SM(C)-B) registriert werden, um einen Admin-Account zu erhalten. Zum anderen können anschließend über die Schnittstelle neue Messenger-Services bereitgestellt werden. Die Ausgestaltung des Frontends sowie der Schnittstelle am Registrierungs-Dienst (I_Registration) ist dem jeweiligen TI-Messenger-Anbieter überlassen.

3.2.1.1.1 Authentisierung einer Organisation

Bei der Authentisierung einer Organisation können die in den folgenden Unterkapiteln beschriebenen Verfahren verwendet werden.

A_25354 - Registrierung einer Organisation

Für die initiale Registrierung einer Organisation, MUSS der TI-Messenger-Anbieter die Identität der Organisation mittels SM(C)-B feststellen. [<=]

A_25357 - Verfahren zum Nachweis der Identität einer Organisation

TI-Messenger-Anbieter MÜSSEN für die Feststellung der Identität einer Organisation im Rahmen deren Registrierung wenigstens eines der beiden folgenden Verfahren unterstützen:

  • OpenID Connect-Verfahren mit SM(C)-B
  • KIM-Verfahren
[<=]

Die Authentisierung kann z.B. unter Verwendung des gematik Authenticators [gematik Authenticator] mittels SMC-B durchgeführt werden. Dazu ist der eigene Fachdienst beim IDP-Dienst der gematik zu registrieren, um im Anschluss über einen Authorization Code Flow einen vom IDP-Dienst ausgestellten ID_TOKEN zu erhalten. Details zum Flow können der Spezifikation zum IDP-Dienst [gemSpec_IDP_Dienst] entnommen werden.

A_25359 - Authorization Code Flow mit PKCE

Der TI-Messenger-Anbieter MUSS sicherstellen, dass bei Verwendung des OpenID Connect-Verfahrens der Authroization Code Flow mit PKCE zum Einsatz kommt. [<=]

A_25362 - Durchführung der PKCE-Challenge

Bei Verwendung des OpenID Connect-Verfahrens, MUSS der Registrierungs-Dienst den PKCE-Code erzeugen und später den Verifier dieser Challenge zusammen mit dem Authorization Code beim zentralen IDP-Dienst gegen ein ID_TOKEN einlösen. [<=]

A_25364 - Validierung von ID_TOKEN

Der Registrierungs-Dienst MUSS das durch den zentralen IDP-Dienst ausgestellte ID_TOKEN validieren und die darin enthaltene ProfessionOID gegen die in der Tabelle "Tab_PKI_403-x OID-Festlegung Institutionen im X.509-Zertifikat der SMC-B" gelisteten OIDs gemäß [gemSpec_OID] prüfen. [<=]

A_25365 - Registrierung am IDP

Registrierungs-Dienste MÜSSEN am zentralen IDP-Dienst gemäß [gemSpec_IDP_FD] registriert sein und den von diesem IDP-Dienst ausgestellten ID_TOKEN vertrauen. [<=]

A_25366 - Claims in ID_TOKEN für Organisationen

Der Anbieter des TI-Messengers MUSS über einen organisatorischen Prozess beim zentralen IDP-Dienst folgende Claims für ID_TOKEN, die auf Basis der Authentisierung mittels SM(C)-B ausgestellt werden, vereinbaren:

  • ProfessionOID
  • idNummer
  • organizationName
  • acr
  • aud
Die ProfessionOID gibt an, um welche Art von Institution es sich handelt. Die idNummer beinhaltet die Telematik-ID für Institutionen des Gesundheitswesens. [<=]

Alternativ zum im vorherigen Kapitel beschriebenen Verfahren kann die KIM-Mailadresse zur Authentisierung genutzt werden. Bei Verwendung des KIM-Verfahrens soll das Frontend des Registrierungs-Dienst dem Akteur eine Eingabemaske für die zu verwendende KIM-Adresse anbieten. Nach Eingabe der KIM-Adresse sind die folgenden Anforderungen zur Weiterführung des Registrierungsprozesses zu berücksichtigen:

A_25369 - Prüfung der KIM-Adresse

Bietet der TI-Messenger-Anbieter das KIM-Verfahren an und entscheidet sich die Organisation, deren Identität festgestellt werden soll, dieses Verfahren zu nutzen, MUSS der TI-Messenger-Anbieter die ProfessionOID sowie die TelematikID für die von der Organisation mitgeteilte KIM-Adresse durch Abfrage am LDAP-VZD ermitteln und die ProfessionOID gegen die in der Tabelle "Tab_PKI_403-x OID-Festlegung Institutionen im X.509-Zertifikat der SMC-B" gelisteten OIDs gemäß [gemSpec_OID] prüfen. [<=]

A_25373 - Versand der KIM-Nachricht nach erfolgreicher Prüfung

War die Prüfung der KIM-Adresse hinsichtlich zugehöriger ProfessionOID und TelematikID, welche im Rahmen des KIM-Verfahrens durchgeführt wird, erfolgreich, MUSS der TI-Messenger-Anbieter eine KIM-Nachricht an die angegebene KIM-Adresse senden, welche eine URL enthält, die zurück in den Registrierungsprozess leitet. [<=]

A_25374 - Information zum Zweck der KIM-Nachricht

Versendet der TI-Messenger-Anbieter im Rahmen des KIM-Verfahrens eine KIM-Nachricht zur Fortführung des Registrierungsprozesses, MUSS er den Registrierenden über den Versand der KIM-Nachricht informieren und ihn dazu auffordern den Anweisungen innerhalb der KIM-Nachricht zu folgen. [<=]

A_25377 - Verifikation des Registrierenden

Um sicherzustellen, dass derjenige, der die KIM-Nachricht empfängt und die enthaltene URL aufruft auch der Registrierende ist, MUSS der Registrierungs-Dienst in dem Prozessschritt, der zum Versand der KIM-Nachricht führt, einen zufälligen sechsstelligen Code anzeigen, welcher innerhalb einer Eingabemaske nach Aufruf der URL vom Registrierenden einzugeben ist. [<=]

A_25375 - Form der KIM-Nachricht

Die vom TI-Messenger-Anbieter versendete KIM-Nachricht zur Fortführung des Registrierungsprozesses MUSS kenntlich machen, dass es sich hierbei um eine Authentifizierungsmail handelt und das E-Mail-Header Element X-KIM-Dienstkennung: Auth;Verification;V1.0 enthalten. [<=]

A_25376 - Form der URL innerhalb der KIM-Nachricht

Um das Erraten der URL zu verhindern, MUSS der TI-Messenger-Anbieter sicherstellen, dass die URL innerhalb der KIM-Nachricht, die den Registrierenden zurück in den Registrierungsprozess führt, aus dem FQDN des Registrierungs-Dienstes und einer eindeutigen ID (UUID) gemäß [RFC4122] besteht. [<=]

3.2.1.1.2 Anlegen des Administrations-Accounts

Nach erfolgreicher Authentifizierung einer Organisation am Registrierungs-Dienst wird ein Admin-Account für die Organisation auf dem Registrierungs-Dienst angelegt. Für die Anmeldung des Org-Admin gelten die in 2.5.1 Authentifizierungs-Dienst für Akteure definierten Anforderungen.

Der Admin-Account ermöglicht es einem Akteur in der Rolle "Org-Admin" einen oder mehrere Messenger-Services für seine Organisation bereitzustellen. Details und Akzeptanzkriterien sind im Anwendungsfall 5.1.2 Bereitstellung eines Messenger-Service für eine Organisation beschrieben.

A_25309 - Authentisierung mittels SM(C)-B

Für Akteure in der Rolle "Org-Admin" MUSS der Registrierungs-Dienst sicherstellen, dass mindestens eine Authentisierung mittels SM(C)-B unterstützt wird.  [<=]

A_25370 - Anlegen eines Org-Admin-Kontos

Konnte die Identität einer sich registrierenden Organisation bestätigt werden, MUSS der Registrierungs-Dienst des TI-Messenger-Anbieters ein Org-Admin-Konto für diese Organisation anlegen und in diesem Konto die ProfessionOID sowie die TelematikID der Organisation für den Org-Admin unveränderlich speichern. [<=]

A_25356 - Registrierung von TI-M Diensten

Der TI-Messenger-Anbieter MUSS sicherstellen, dass Registrierungen von TI-M Diensten nur durch einen authentifizierten Org-Admin durchgeführt werden können und auch nur für die jeweilige Organisation, der er - der Org-Admin - gemäß initialer Registrierung der Organisation angehört. [<=]

A_25628 - Bereitstellung von Messenger-Services

Der Org-Admin MUSS über das Frontend des Registrierungs-Dienstes neue Messenger-Services anlegen und diesen Domains zuweisen können. [<=]

3.2.1.2 I_Admin

Über die Schnittstelle I_Admin stellt der Registrierungs-Dienst dem Akteur in der Rolle "Org-Admin" Funktionen zur Verwaltung der eigenen Messenger-Services zur Verfügung.

A_25708 - I_Admin Zugriff

Der Registrierung-Dienst MUSS sicherstellen, dass ein Akteur in der Rolle "Org-Admin" über die Schnittstelle I_Admin nur Zugriff auf die Messenger-Services erhält, die er sich über den Anwendungsfall AF_10060-02 - Bereitstellung eines Messenger-Service für eine Organisation angelegt hat. [<=]

3.2.1.3 I_internVerification

Über die Schnittstelle I_internVerification stellt der Registrierungs-Dienst den angeschlossenen Messenger-Proxies Funktionen bereit um Verwaltungsaufgaben an der Schnittstelle   des VZD-FHIR-Directory durchzuführen. Die Ausgestaltung der Schnittstelle am Registrierungs-Dienst (I_internVerification) ist dem jeweiligen TI-Messenger-Anbieter überlassen.

A_25607 - I_internVerification

Der Registierungs-Dienst MUSS den Messenger-Proxies eine Schnittstelle für die Bereitstellung der Föderationsliste zur Verfügung stellen. [<=]

3.2.1.3.1 Bereitstellung und Aktualisierung der Föderationsliste

Inhalt der Föderationsliste, die der Registrierungs-Dienst über die Schnittstelle den Messenger-Proxies bereitstellen MUSS, sind alle an der Föderation beteiligten Matrix-Domainnamen. Der Registrierungs-Dienst MUSS die aktuelle TI-Föderationsliste am VZD-FHIR-Directory abfragen. Für den Abruf MUSS die am FHIR-Proxy des VZD-FHIR-Directory bereitgestellte Operation getFederationList (GET /tim-provider-services/FederationList/federationList.jws) aufgerufen werden. Im Aufruf der Schnittstelle MUSS ein provider-accesstoken enthalten sein. Optional kann auch die aktuell verwendete Version mit in den Aufruf übergeben werden. Wenn die Version übergeben wird, dann wird nur bei einer veralteten Version eine neue Föderationsliste vom VZD-FHIR-Directory bereitgestellt. Die Abfrage der Föderationsliste MUSS stündlich erfolgen. Die Prüfung auf Aktualität der Föderationsliste des Registrierungs-Dienstes MUSS zusätzlich bei jeder Anfrage durch einen Messenger-Proxy zur Bereitstellung der Föderationsliste über eine Abfrage beim FHIR-Proxy des VZD-FHIR-Directory erfolgen, sofern die durch den Registrierungs-Dienst vorgehaltene Föderationsliste älter als eine Stunde ist. Die Prüfung auf Aktualität erfolgt durch den Abgleich der Versionen der Föderationslisten. Nach dem Erhalt einer neuen Föderationsliste vom VZD-FHIR-Directory MUSS diese vom Registrierungs-Dienst den Messenger-Proxies für die Prüfung der Föderationszugehörigkeit über die interne Schnittstelle I_internVerification bereitgestellt werden.

Der Registrierungs-Dienst muss regelmäßig jede Stunde die Aktualität der Föderationsliste am VZD-FHIR-Directory prüfen. Ist das VZD-FHIR-Directory nicht innerhalb einer definierten Antwortzeit erreichbar und es bleiben auch weitere Aktualisierungsversuche erfolglos (HealthState_VZD und HealthStateCheck_VZD), MUSS der Registrierungs-Dienst seine eigene Vorhaltezeit der Föderationsliste auf einen festgelegten Wert von 72 Stunden (TTL_Föderationsliste) verlängern und ein Incident-Event erzeugen, welches durch ein Drittsystem aufgefangen werden kann (z. B. ein ITSM-System). Falls die Föderationsliste nicht nach weiteren Aktualisierungsversuchen aktualisiert werden konnte, MUSS ein Incident beim VZD-FHIR-Directory-Anbieter eingestellt werden. Die vorhandene Föderationsliste SOLL bis zur Behebung des Incidents weiter genutzt werden, jedoch maximal für 72 Stunden. Nach dem Ablauf dieser Zeitspanne darf der Messenger-Proxy die Kommunikation zu anderen Matrix-Homeservern nicht mehr erlauben, bis wieder eine aktuelle Föderationsliste vom Registrierungs-Dienst abgerufen werden kann.

Hinweis: Die Vorhaltung einer aktuellen Föderationsliste ist aus sicherheitstechnischer Perspektive sinnvoll, um das Zeitfenster klein zu halten, in welchem ein Fachdienst "unwissentlich" mit einem anderen Fachdienst interagiert, der nicht mehr Teil der Föderation ist. Die Wahl einer geeigneten Frist, innerhalb welcher das Arbeiten mit einer alten Liste noch akzeptabel ist, weil diese nicht aktualisiert werden konnte, berücksichtigt zu erwartende Zeitaufwände der Wiederherstellung bei Nichtverfügbarkeit des VZD und ist dabei nicht großzügiger gewählt, als Fristen, die für andere Kommunikationsdienste innerhalb der TI eingeräumt werden.

In der folgenden Tabelle werden Attribute und ihre Typen definiert, die am Registrierungs-Dienst vorgehalten werden MÜSSEN:

Tabelle 4: Spezifische Attribute für das Handling der Föderationsliste am Registrierungs-Dienst

Attribut Typ Beschreibung Wertebereich
HealthState_VZD Zustand Typ hält Gesundheitszustand von Komponenten des VZD-FHIR-Directorys auf Basis ihres Antwortverhaltens vor.
gesund, ungesund
HealthStateCheck_VZD hochzählender Iterator
Typ hält die Menge der Wiederholungsversuche der Prüfung des Gesundheitszustandes des VZD-FHIR-Directory vor.
0<=HealthStateCheck_VZD<=3
Alter_Föderationsliste hochzählender Zeitzähler
Typ hält das aktuelle Alter der Föderationsliste ab dem Zeitpunkt der letzten Aktualisierung vor.
min: 0s
TTL_Föderationsliste Lebensdauer Typ beschreibt den obereren Grenzwert, den eine Föderationsliste alt sein darf.
Konstanter Wert: 72h

Die hier beschriebenen Attribute und ihre Verwendung sind im Sequenzdiagramm in Kapitel 5.1.8 Aktualisierung der Föderationsliste erläutert. Erhält der Messenger-Proxy eine aktuelle Föderationsliste, so muss eine Signaturprüfung lokal anhand des mitgelieferten Signaturzertifikates durchgeführt werden. Beim Signaturzertifikat handelt es sich um das erste Element aus der - gemeinsam mit der Föderationsliste übertragenen - x5c-Zertifikatsliste.

A_25636 - Maximale Alter der Föderationsliste

Der Messenger-Proxy MUSS die Kommunikation zu anderen Matrix-Homeservern einstellen, wenn Alter_Föderationsliste den Wert von TTL_Föderationsliste erreicht. [<=]

A_25637 - Aktualisierung der Föderationsliste

Der Registrierungs-Dienst MUSS jede Stunde die Aktualität seiner Föderationsliste gegenüber der vom VZD-FHIR-Directory bereitgestellten Liste prüfen. [<=]

A_25638 - Abfrage beim VZD-FHIR-Directory

Der Registrierungs-Dienst MUSS die Föderationsliste für Abfragen der Messenger-Proxies cachen, um nicht bei jeder Anfrage eines Proxies eine Anfrage an das VZD-FHIR-Directory zu stellen. [<=]

3.2.1.4 OAuth / Auth-Service

Für den Zugriff des Registrierungs-Dienstes auf das VZD-FHIR-Directory über die Schnittstelle I_VZD_TIM_Provider_Services (/tim-provider-services) des FHIR-Proxy ist eine vorherige Authentifizierung unter Verwendung des OAuth2 Client Credentials Flow notwendig. Die dafür notwendigen Client-Credentials kann der TI-Messenger-Anbieter für seinen Registrierungs-Dienst beim VZD-FHIR-Directory-Anbieter beantragen. Die Beantragung erfolgt über einen Service-Request im TI-ITSM-System. Nach erfolgreicher Authentifizierung erhält der Registrierungs-Dienst ein provider-accesstoken, welches beim Aufruf des /tim-provider-services Endpunkts enthalten sein muss. Der Authentifizierungsprozess besteht aus den aufeinanderfolgenden Aufrufen:

  • POST /auth/realms/TI-Provider/protocol/openid-connect/token (OAuth-Service)
  • GET /ti-provider-authenticate (Auth-Service)

Beim ersten Aufruf werden die Client-Credentials übergeben, beim zweiten Aufruf ein TI-Provider-Accesstoken, welches der erste Aufruf als Rückgabewert geliefert hat.

A_25625 - Registrierungs-Dienst VZD Provider Login

Der Registrierungs-Dienst MUSS die 2-stufige Anmeldung am VZD-FHIR-Directory für die tim-provider-services Schnittstelle unterstützen. [<=]

3.2.1.5 I_VZD_TIM_Provider_Services

Nach erfolgreicher Authentifizierung (3.2.1.4 OAuth / Auth-Service) mit vereinbarten Client-Credentials wird dem Registrierungs-Dienst ein provider-accesstoken ausgestellt, damit dieser stellvertretend die Schnittstelle I_VZD_TIM_Provider_Services am VZD-FHIR-Directory aufrufen und die Funktionalität über die Schnittstelle 3.2.1.3 I_internVerification den Messenger-Proxies zur Verfügung stellen kann.

A_25626 - TI-M Provider Services

Der Registrierungs-Dienst MUSS die an der Schnittstelle I_VZD_TIM_Provider_Services angebotenen Funktionen, den Messenger-Proxies und dem Frontend des Registrierungs-Dienstes zur Verfügung stellen. [<=]

3.2.2 Messenger-Service

Der Messenger-Service ist eine Teilkomponente des TI-M FD und wird für Organisationen des Gesundheitswesens (z. B. Arztpraxis, Krankenhaus, Krankenkasse Apotheke, Verband, etc.) bereitgestellt. Der Messenger-Service besteht aus einem Matrix-Homeserver (basierend auf dem Matrix-Protokoll) und einem Messenger-Proxy. Dieser stellt sicher, dass eine Kommunikation mit anderen Messenger-Services, als Teil des TI-M Dienstes, nur innerhalb der gemeinsamen TI-Föderation erfolgt. Die Teilkomponente Matrix-Homeserver basiert auf dem offenen Kommunikationsprotokoll Matrix. Welche APIs der Matrix-Spezifikation im Messenger-Service nachgenutzt werden, ist in der folgenden Abbildung dargestellt:

Abbildung 5: Matrix-API des Messenger-Service

Die obige Abbildung zeigt die jeweils zu berücksichtigenden Matrix-APIs (Server-Server API und Client-Server API). Diese sind gemäß [Server-Server API] und [Client-Server API] umzusetzen.

3.2.2.1 Schnittstelle für Authentifizierungsverfahren

Messenger-Services können den Akteuren unterschiedliche Authentifizierungsverfahren anbieten. Dabei können diverse Authentifizierungsmechanismen durch eine Organisation für Ihre Akteure bereitgestellt werden. Die Organisation und der von ihr gewählte TI-Messenger-Anbieter vereinbaren das zur Anwendung kommende Authentifizierungsverfahren bilateral und stimmen sich über die technische Realisierung der dafür notwendigen Anbindung ab. Möglich ist beispielsweise die Nachnutzung eines in der Organisation betriebenen Active Directory (AD/LDAP) oder eines geeigneten Single-Sign-On-Verfahrens (SSO).

3.2.2.2 Messenger-Proxy

Der Messenger-Proxy agiert neben der Funktion als Proxy zur Weiterleitung aller Server-Server-API- und Client-Server-API-Aufrufe an den Matrix-Homeserver als Kontrollinstanz zur Prüfung der für die Kommunikation notwendigen Rechte. Hierfür muss der Messenger-Proxy für alle Server-Server- und Client-Server-API-Endpunkte genutzt werden und ist für die Regelung der gemäß Matrix Client-Server-API und Matrix-Server-Server-API geltenden Aufrufe zuständig.

Abbildung 6: Prüfungen Messenger-Proxy

A_25378 - Forward- und Reverse-Proxy

Der Messenger-Proxy MUSS für jeden Messenger-Service als Forward sowie Reverse-Proxy bereitgestellt werden. [<=]

3.2.2.2.1 Client-Server Prüfungen

In der Funktion als Client-Server Proxy prüft der Messenger-Proxy jedes createRoom-Event, um sicherzustellen, dass das im Event enthaltene Attribut “invite“ mit maximal einem Element befüllt ist. Ist dies nicht der Fall, dann MUSS der Messenger-Proxy die Verbindung mit einer Fehlernachricht ablehnen. Darüber hinaus sind die unter dem Kapitel zum Berechtigungsmanagement beschriebenen Prüfungen durchzuführen (siehe 5.2.1.1 Client-Server Prüfungen). 

A_25368 - Invites beim createRoom

Der Messenger-Proxy MUSS sicherstellen, dass beim Anlegen eines Raumes das Attribut "invite" mit maximal einer MXID befüllt ist. [<=]

A_25538 - Too many invites

Ist das Attribute "invite" mit mehr als einem Element befüllt, dann MUSS der Messenger-Proxy an den TI-M Client das folgenden JSON-Objekt zurückgeben: 

Responsecode 400 
{ 
   "errcode": "M_FORBIDDEN",  
   "error": "Beim Anlegen eines Raumes darf maximal ein Teilnehmer direkt eingeladen werden"
}
[<=]

3.2.2.2.2 Server-Server Prüfungen

In der Funktion als Server-Server Proxy prüft der Messenger-Proxy alle ausgehenden sowie eingehenden Events. Damit fungiert der Server-Server Proxy sowohl als Forward als auch als Reverse-Proxy. Im Gegensatz zum Client-Server Proxy führt der Server-Server Proxy bei jedem Event die im Kapitel zum Berechtigungsmanagement beschriebenen Prüfschritte aus. (siehe 5.2.1.2 Server-Server Prüfungen )

3.2.2.2.3 HTTPS-Forwarding

Der Messenger-Proxy übernimmt diverse Prüfungen, um eine förderationsgesicherte Kommunikation sicherzustellen. Daher sind alle Verbindungen ins Internet immer über den Messenger-Proxy zu leiten.

A_25630 - Forward Proxy

Die Kommunikation des Matrix Homeservers in das Internet MUSS immer über den eigenen Messenger-Proxy (in der Funktion als Forward-Proxy) erfolgen.  [<=]

3.2.2.2.4 Ausnahmeregeln definieren

Der Messenger-Proxy muss zulassen, dass neben den Endpunkten der Client-Server-API zusätzliche Endpunkte für externe Anfragen bereitgestellt werden können. Für die User Authentifizierung an der Suchschnittstelle benötigt z.B. das VZD-FHIR-Directory Zugriff auf den userinfo Endpunkt des Matrix Homeservers.

A_25539 - Userinfo für VZD-FHIR-Directory

Der Messenger-Proxy MUSS dem VZD-FHIR-Directory Zugriff auf den Endpunkt /_matrix/federation/v1/openid/userinfo der Matrix-Homeserver ermöglichen.  [<=]

3.2.2.2.5 Föderationslistensignatur

Nach dem Abruf beim zuständigen Registrierungs-Dienst muss der Messenger-Proxy die Signatur der Föderationsliste gemäß RFC7797 prüfen und diese lokal speichern. Die Struktur der Föderationsliste ist in [gemSpec_VZD_FHIR_Directory#Erzeugung und Bereitstellung der Föderationsliste] beschrieben.

Die Prüfung erfolgt unter Verwendung eines OCSP-Responder und dem X.509-Root Zertifikat der TI. Nach der Erzeugung einer neuen Root-Version der X.509-Root-CA der TI, werden dessen selbstsigniertes Zertifikat und Cross-Zertifikate auf den Download-Punkt gemäß [ROOT-CA] abgelegt. Automatisiert kann der Messenger-Proxy von dort die Verfügbarkeit neuer Versionen überwachen. Zusätzlich kann der folgende Download-Punkt unter [ROOT-CA-JSON] verwendet werden. Dort werden die aktuellen Root-Zertifikate inkl. deren Cross-Zertifikate gepflegt. Im Regelfall wird alle zwei Jahre eine neue Root-Version erzeugt. Die Dateigröße der heruntergeladenen JSON-Datei kann man als Hashfunktion verwenden. Hiermit kann man beispielsweise mit Hilfe des Tools curl die HTTP-Methode HEAD verwenden und damit erfahren, ob die lokale Kopie der JSON-Datei noch aktuell ist. Die JSON-Datei ist ein Array, in dem Associative Arrays als Elemente aufgeführt werden. Diese Elemente enthalten je ein Root-Zertifikat inkl. Cross-Zertifikate für das chronologisch vorhergehende und das nachfolgende Root-Zertifikat. D. h., kryptographisch gesehen stellt dies eine doppelt verkettet Liste dar. Die Elemente im Array sind in chronologischer Ordnung sortiert. Im Folgenden wird ein Beispiel dargestellt.

{
  [
    {
      "name" : "RCA1",
      "CN" : "GEM.RCA1",
      "cert" : "…base64…",
      "prev” : "",
      "next" : "….base64…",
      "SKI" : "Subject-Key-Identifier als Hexwert"
    },
    {
      "name" : "RCA2",
      …
    },
    {
      "name" : "RCA3",
      …
    },
    …

  ]
}

A_25632 - Signatur der Föderationsliste

Der Messenger-Proxy MUSS zur Prüfung der Signatur der Föderationsliste das im Signatur-Header enthaltene Signaturzertifikat (öffentliche Schlüssel) und das X.509-Root-CA Zertifikat der TI verwenden. [<=]

A_25635 - OCSP-Responder

Die Gültigkeit des Signaturzertifikates MUSS mit Hilfe des [OCSP-Responder] validiert werden. [<=]

A_25634 - Zertifikatsaktualisierung

Der Messenger-Proxy MUSS wöchentlich prüfen, ob neue X.509-Root-CA-Versionen existieren und Cross-Zertifikate verfügbar sind. Ist dies der Fall, MUSS der Messenger-Proxy diese neuen Root-Versionen in seinen Truststore importieren. [<=]

3.2.2.3 Matrix-Homeserver

Der Matrix-Homeserver ist die zentrale Komponente für die Kommunikation zwischen den Akteuren und stellt den TI-M Clients die in der Matrix Spezifikation definierten Endpunkte zur Verfügung. Der Matrix-Homeserver verwaltet die Akteure selbst oder bietet eine Schnittelle für einen externen Identity Provider an, um das Authentifizierungsverfahren der Organisation nachnutzen zu können. 

3.2.2.3.1 Matrix Spezifikation

Die folgenden Anforderungen legen die grundlegende Funktionsweise des Matrix-Homeservers fest.

A_25530 - Client-Server API

TI-M FD MÜSSEN sicherstellen, dass die Matrix-Homeserver die [Client-Server API] umsetzen. [<=]

A_25344 - Server-Server API

TI-M FD MÜSSEN sicherstellen, dass die Matrix-Homeserver die [Server-Server API] umsetzen. [<=]

A_25531 - Appendices TI-M FD

TI-M FD MÜSSEN sicherstellen, dass die Matrix-Homeserver [Matrix Appendices] umsetzen. [<=]

3.2.2.3.2 Ergänzungen zur Matrix Spezifikation

A_25393 - Ausgabe von access token durch den TI-M FD

Der TI-M FD MUSS die Komponente Matrix-Homeserver so implementieren, dass bei erfolgreichem Aufruf der [Client-Server API] Endpoints /login und /register neue access token und refresh token ausgegeben werden. [<=]

Durch diese Anforderung soll verhindert werden, dass gestohlene access token missbräuchlich genutzt werden können.
Nach Ablauf der Gültigkeit des access token, kann mit dem refresh token ein neues access token und refresh token
angefordert werden. Das bisherige refresh token wird dadurch ungültig.

A_25352 - Gültigkeitsdauer von access token des TI-M FD

Der TI-M FD MUSS die Komponente Matrix-Homeserver so implementieren, dass vom Matrix-Homeserver ausgestellte access token eine Gültigkeitsdauer von max. 24 Stunden haben. [<=]

A_25353 - Gültigkeitsdauer von refresh token des TI-M FD

Der TI-M FD MUSS die Komponente Matrix-Homeserver so implementieren, dass vom Matrix-Homeserver ausgestellte refresh token eine Gültigkeitsdauer von max. 6 Monaten haben. [<=]

A_25322 - Create Room

Der Matrix-Homeserver MUSS beim Aufruf der API zum Anlegen eines Raumes nur die Einladung maximal einer MXID zulassen.  [<=]

A_25318 - Löschfunktion für Matrix-Homeserver

Matrix-Homeserver MÜSSEN eine Funktion anbieten, durch die Events, Gesprächsinhalte und mit einzelnen Gesprächen assoziierte Daten (z. B. versandte Dateien) nach einem festgelegten Zeitraum seit letzter Aktivität in einem Raum gelöscht werden. [<=]

A_25319 - Zeitraum zur Auslösung der Löschfunktion für Matrix-Homeserver

Die Löschfunktion für Matrix-Homeserver MUSS auf sechs Monate voreingestellt und durch einen Akteur in der Rolle "Org-Admin" konfigurierbar sein. [<=]

A_25320 - Umsetzung der Löschfunktion für Matrix-Homeserver

Die Löschfunktion für Matrix-Homeserver KANN derart realisiert werden, dass nach Verstreichen des festgelegten Zeitraums die Teilnehmer einen Gesprächsraum verlassen - bspw. indem sie vom Homeserver aus diesem entfernt werden - und der Raum nach Verlassen aller Teilnehmer automatisch gelöscht wird. [<=]

A_25321 - Deaktivierung der Löschfunktion für Matrix-Homeserver

Die Löschfunktion für Matrix-Homeserver KANN per Opt-Out durch den Akteur in der Rolle "Org-Admin" deaktivierbar sein. [<=]

4 Übergreifende Festlegungen

4.1 Datenschutz und Sicherheit

Zur Sicherstellung des Datenschutzes und der Sicherheit im Rahmen des TI-M Dienstes werden im Folgenden zu erfüllende Anforderungen an den TI-M FD und den TI-M Client, beziehungsweise deren Hersteller und Anbieter beschrieben. Anforderungen, die durch andere Systemkomponenten zu erfüllen sind, werden hier nicht aufgeführt.

Hinweis: Clients und Server im Sinne der folgenden Anforderung sind alle Komponenten des TI-M Dienstes, die miteinander kommunizieren, wobei der Client der Initiator einer Verbindung zu einem Server ist, der eine Ressource zur Verfügung stellt. Wenn TI-M-Clients und TI-M FD gemeint sind, werden diese auch explizit als TI-M-Clients und TI-M FD bezeichnet.

A_25298 - Vertragsverpflichtungen

Der TI-Messenger-Anbieter MUSS die den TI-M Dienst nutzende Organisation vertraglich dazu verpflichten, dass TI-Messenger-Accounts nur für Akteure erstellt werden, mit denen ein Vertragsverhältnis besteht, das zur Nutzung berechtigt. Funktionsaccounts (in Verbindung mit einem automatisierten System, d.h. Bot,) sind von den Vertragsverpflichtungen ausgenommen.
[<=]

A_25299 - Flächendeckende Verwendung von TLS

Sämtliche Kommunikation zwischen Komponenten des TI-M Dienstes MUSS TLS-verschlüsselt erfolgen, sofern die Kommunikation die Grenzen einer virtuellen/physischen Maschine überschreitet.
[<=]

A_25303 - Mindestens serverseitiges TLS

Im Rahmen der Kommunikation per TLS MUSS mindestens serverseitiges TLS verwendet werden.
[<=]

A_25301 - Authentifizierung von Clients

Server MÜSSEN Clients authentifizieren, bevor Ihnen - den Clients - Zugriff auf Ressourcen gewährt wird, die nicht frei zur Verfügung stehen.
[<=]

A_25302 - Art der Client-Authentifizierung

Clients SOLLEN sich gegenüber Servern per TLS-Client-Zertifikat oder einem Verfahren mit vergleichbarem Sicherheitsniveau authentisieren. [<=]

A_25311 - Minimale Qualität von Passwörtern

Der Anbieter des TI-M FD MUSS Vorgaben zur minimalen Qualität von Passwörtern entsprechend [BSI ORP.4] A.22 machen und die Einhaltung dieser Vorgaben an allen Stellen gewährleisten, an denen Passwörter im Rahmen der Konfiguration festzulegen sind.  [<=]

A_25312 - Instruktion über Einhaltung von Vorgaben zu Passwörtern

Der Anbieter MUSS die Organisation, welche den TI-Messenger Dienst von ihm bezieht, über die Notwendigkeit der Einhaltung der Vorgaben aus [BSI ORP.4] A8 instruieren. Diese beinhalten sicherheitsrelevante Anforderungen hinsichtlich der Nutzung und des Umgangs mit Passwörtern, richten sich jedoch an den operativen Betrieb durch die Leistungserbringerinstitution bzw. den Kostenträger, der vom Anbieter nicht kontrolliert werden kann. [<=]

Hinweis: Unter Passwörtern werden in diesem Kontext sowohl Kennwörter als auch Passphrasen verstanden, auf welche das Dokument [BSI ORP.4] gleichermaßen anwendbar ist.

A_25313 - Zwangsabmeldung und Sperrung von Akteuren

Wird ein Akteur in der Rolle "User" des TI-M Dienstes einer Organisation durch einen Akteur in der Rolle "Org-Admin" der Organisation gesperrt oder seine aktive Sitzung beendet - das heißt, er wird zwangsweise ausgeloggt -, so MUSS der TI-M FD die Weiterleitung von Nachrichten, die an diesen Akteur in der Rolle "User" gesendet werden oder von diesem gesendet werden, mit sofortiger Wirkung einstellen. [<=]

A_25314 - Einbringung kryptographischen Materials zur Authentisierung gegen das VZD-FHIR-Directory

TI-Messenger-Anbieter MÜSSEN sicherstellen, dass kryptographisches Material zur Authentisierung gegen das VZD-FHIR-Directory sicher eingebracht wird. Zum Nachweis der Umsetzung ist eine Prüfung des Prozesses zur Einbringung des kryptografischen Materials erforderlich. Die Prüfung umfasst die Beschreibung und Durchführung des Prozesses. Eine Auditierung der Umsetzung ist optional. [<=]

A_25315 - Explizites Verbot von Profiling für TI-Messenger-Hersteller

TI-Messenger-Hersteller DÜRFEN NICHT Daten zu Profilingzwecken sammeln. Dies betrifft insbesondere eine Überwachung, welche Akteure mit welchen anderen Akteuren kommunizieren. [<=]

Hinweis: Die gematik kann nach § 331 Abs. 2 SGB V Daten festlegen, die Hersteller von Komponenten und Diensten der gematik offenzulegen bzw. zu übermitteln haben, sofern diese erforderlich sind, um den gesetzlichen Auftrag der gematik zur Überwachung des Betriebs zur Gewährleistung der Sicherheit, Verfügbarkeit und Nutzbarkeit der Telematikinfrastruktur zu erfüllen. Nur die hierfür erforderlichen personenbezogenen Daten dürfen von den Anbietern und Herstellern als zeitlich begrenzte Ausnahme vom Profilingverbot erhoben und ausschließlich für den genannten Zweck verwendet werden.

A_25316 - Explizites Verbot von Profiling für TI-Messenger-Anbieter

TI-Messenger-Anbieter DÜRFEN NICHT Daten zu Profilingzwecken sammeln. Dies betrifft insbesondere eine Überwachung, welche Akteure mit welchen anderen Akteuren kommunizieren.  [<=]

Hinweis: Die gematik kann nach § 331 Abs. 2 SGB V Daten festlegen, die Anbieter von Komponenten und Diensten der gematik offenzulegen bzw. zu übermitteln haben, sofern diese erforderlich sind, um den gesetzlichen Auftrag der gematik zur Überwachung des Betriebs zur Gewährleistung der Sicherheit, Verfügbarkeit und Nutzbarkeit der Telematikinfrastruktur zu erfüllen. Nur die hierfür erforderlichen personenbezogenen Daten dürfen von den Anbietern und Herstellern als zeitlich begrenzte Ausnahme vom Profilingverbot erhoben und ausschließlich für den genannten Zweck verwendet werden.

A_25317 - Protokollierung zum Zwecke der Fehler- bzw. Störungsbehebung

Falls im TI-M FD eine Protokollierung zum Zwecke der Fehler- bzw. Störungsbehebung erfolgt, MUSS der Fachdienst unter Berücksichtigung des Art. 25 Abs. 2 DSGVO sicherstellen, dass in den Protokolldaten entsprechend dem Datenschutzgrundsatz nach Art. 5 DSGVO nur personenbezogene Daten in der Art und dem Umfang enthalten sind, wie sie zur Behebung erforderlich sind und dass die erzeugten Protokolldaten im Fachdienst nach der Behebung unverzüglich gelöscht werden. Sofern andere gesetzliche Grundlagen wie §331 SGB V nicht überwiegen, sind hierzu nur anonymisierte Daten zu protokollieren. [<=]

A_25327 - Sicherheitsrisiken von Software-Bibliotheken minimieren

TI-M FD-Hersteller MÜSSEN Maßnahmen umsetzen, um die Auswirkung von unentdeckten Schwachstellen in benutzten Software-Bibliotheken zu minimieren. [<=]

Hinweis: Beispielmaßnahmen sind in [OWASP Proactive Control#C2] zu finden.

A_25328 - Wirksamkeit von Maßnahmen zur Minimierung von Sicherheitsrisiken

Die zur Minimierung der Auswirkungen von unentdeckten Schwachstellen in benutzten Software-Bibliotheken umgesetzten Maßnahmen MÜSSEN wenigstens die gleiche Wirksamkeit aufweisen, wie die Kapselung gemäß [OWASP Proactive Control#C2 Punkt 4]. [<=]

A_25333 - Abweichungen vom Matrix-Standard

TI-M FD-Hersteller MÜSSEN sämtliche nicht in der TI-Messenger-Spezifikation beschriebenen Abweichungen vom Matrix-Protokoll oder den MUST- oder SHOULD-Empfehlungen des Matrix-Protokolls dokumentieren und begründen. [<=]

Hinweis: Gemeint sind hier nur tatsächliche Abweichungen von Festlegungen der Matrix-Spezifikation und nicht zusätzliche Funktionen, die auf dem TI-M Dienst aufbauen und produktspezifisch sind.

A_25334 - Interoperabilität von Zusatzfunktionen für den TI-M FD

TI-M FD-Hersteller MÜSSEN sicherstellen, dass alle implementierten Funktionen, die über den gewöhnlichen Funktionsumfang einer TI-Messenger-Komponente hinausgehen, die Sicherheit des Produkts nicht gefährden und die Interoperabilität mit anderen TI-Messenger-Produkten gewährleisten. [<=]

A_25342 - Einsatz geschulter Administratoren

TI-Messenger-Anbieter MÜSSEN als Administratoren Personal einsetzen, welches für die damit verbundenen Aufgaben und Themen der Informationssicherheit geschult und sensibilisiert wurden. [<=]

A_25343 - Berechtigung von Administratoren

TI-Messenger-Anbieter MÜSSEN technisch sicherstellen, dass nur die berechtigten Administratoren administrativen Zugriff auf die zu verwaltenden Messenger-Services haben. [<=]

4.2 Test

Für die Erlangung einer Produkt-/Anbieterzulassung müssen folgende Teststufen durchlaufen werden:

  • Vorbereitung der Zulassung
    • allg. Festlegungen siehe [gemKPT_Test] (Testdokumentation, Eigenverantwortliche Tests usw.)
    • Tests der Hersteller gegen die Referenzimplementierung
  • Zulassung der gematik
    • automatisierte Tests gegen die Referenzimplementierung
    • manuelle Tests
    • Look and Feel Workshop für jeden Client
    • automatisierte Tests mit anderen Herstellern zur Prüfung der Interoperabilität

Für die Tests der Hersteller und die automatisierten Tests der gematik gegen die Referenzimplementierung wird eine Testsuite [gematik Testsuite] bereitgestellt. Mit dieser Testsuite und der dazugehörigen Testtreiberschnittstelle [api-testtreiber] werden dann auch die Zulassungstests durchgeführt. Die Zulassungstests werden auf der Testinstanz der Hersteller durchgeführt.

A_25556 - Test des TI-M Clients gegen die Referenzimplementierung

Der TI-M Client MUSS gegen die Referenzimplementierung erfolgreich getestet werden. Die Testergebnisse sind der gematik vorzulegen. [<=]

A_25623 - Test des TI-M FD gegen die Referenzimplementierung

Der Hersteller des TI-M FD MUSS den Fachdienst gegen die Referenzimplementierung erfolgreich testen. Die Testergebnisse sind der gematik vorzulegen. [<=]

A_25619 - TI-Messenger Instanzen

Der TI-Messenger-Anbieter MUSS eine Referenzinstanz und mindestens eine Testinstanz des TI-M FD und TI-M Clients bereitstellen und betreiben. [<=]

Die Referenzinstanz hat die gleiche Version wie die Produktionsumgebung. Weiterhin wird die Referenzinstanz für die Reproduktion aktueller Fehler/Probleme aus der Produktionsumgebung genutzt. Der Zugriff auf die Referenzinstanz muss für die gematik zur Fehleranalyse und für weiterführende IOP Tests gewährleistet sein. Die Test-Instanz dient den Herstellern bei der Entwicklung neuer TI-M Clients und TI-Messenger Fachdienste Versionen, den IOP-Tests zwischen den verschiedenen TI-Messenger-Anbietern und wird auch von der gematik für die Zulassung genutzt.

A_25620 - Nutzung der Referenz- und Testinstanzen

Der TI-Messenger-Anbieter MUSS die verschiedenen Benutzer der Referenzinstanz und der Testinstanz koordinieren (.z.B. Verwaltung eines Test-/Nutzungsplans). [<=]

A_25621 - Weitere Testinstanzen

Bei Bedarf (Entwicklung verschiedener Versionen, hoher Auslastung durch andere Hersteller oder durch die gematik) MUSS der TI-Messenger-Anbieter auch mehrere Testinstanzen mit der gleichen oder mit verschiedene Versionen bereitstellen und betreiben. [<=]

Eine detaillierte Beschreibung des Testvorgehens, der Testumgebung und der Testtreiberschnittstelle [api-testtreiber] befindet sich im Testkonzept [gematik Testkonzept]. 

A_25622 - Umsetzung des Testkonzepts

Die TI-Messenger Hersteller MÜSSEN sicherstellen, dass das Testkonzept [gematik Testkonzept] vollständig umgesetzt wird. [<=]

4.3 Betrieb

Ein Anbieter des TI-Messengers verantwortet im Betrieb mindestens folgende Produkttypen:

  • TI-Messenger Fachdienst(e),
  • TI-Messenger Client(s) für Akteure und
  • TI-Messenger Client(s) für Akteure mit Administrationsfunktionen (Org-Admin-Client) inkl. Authenticator(-modul).

Abbildung 7: Betriebsmodell TI-M Basis

Hinweis: Die Abbildung bildet die organisatorischen Kommunikationsbeziehungen aus Sicht des TI-ITSM-Systems zwischen den jeweiligen Entitäten/Anbieterrollen ab. Die Produkte beim TI-Messenger Anbieter können einzeln zur Zulassung eingereicht werden.

A_25250 - TI-Messenger Anbieter - Produktverantwortung (Basis)

Der TI-Messenger Anbieter MUSS mindestens einen:

  • TI-Messenger Fachdienst
anbieten. [<=]

Der Betrieb des Fachdienstes wird durch den TI-Messenger-Anbieter verantwortet. Entsprechend dem Betriebskonzept [gemKPT_Betr#Anbieterkonstellationen] KANN der Betrieb auch an Unterauftragnehmer aus- bzw. verlagert werden oder on-premise gehostet werden. Die Koordination der jeweiligen Komponenten sowie die Erfüllung der Anforderungen verbleiben jedoch beim Anbieter. Dieser KANN in Abstimmung mit seinen Nutzern und Dienstleistern Verträge abschließen, um den sicheren Betrieb aufrecht zu erhalten.

Anforderungen zu Performance und Reporting sind den entsprechenden Produkt- und Anbietertypsteckbriefen u.a. den Dokumenten [gemSpec_Perf] und [gemKPT_Betr] zu entnehmen.

Der TI-Messenger-Anbieter MUSS das Service Monitoring der gematik technisch-organisatorisch unterstützen.

Dafür kann es z.B. notwendig sein, dass entsprechende Accounts auf Homeservern eingerichtet werden. Das Service Monitoring SOLL dabei zu keinen technischen Veränderungen an den Produkten führen.

A_25379 - TI-M Gültigkeitsprüfung der Organisation am VZD-FHIR-Directory

Der TI-M FD MUSS mindestens alle 24 Stunden, für alle bei ihm registrierten Organisationen mit einem Messenger-Service, prüfen, ob diese im VZD-FHIR-Directory als "active" (Organization.active) eingetragen sind. [<=]

A_25380 - TI-M Information bei ausgetragener Organisation am VZD-FHIR-Directory

Wenn die Organisation nicht mehr im VZD-FHIR-Directory "active" (Organization.active) ist, MUSS der TI-Messenger-Anbieter diese darüber informieren. [<=]

A_25381 - TI-M Sperrung der Organisation mit ungültigem SM-B bzw. ungültiger SMC-B

Wenn die Organisation länger als 30 Kalendertage nicht im VZD-FHIR-Directory "active" (Organization.active) ist, MUSS der TI-Messenger-Anbieter die Domäne dieses Messenger-Service aus der Föderation löschen (siehe FHIR-VZD: I_VZD_TIM_Provider_Services, DELETE /federation/{domain}). Dann DARF erst nach erneuter Authentifizierung per SM(C)-B der Dienst wieder genutzt werden, siehe AF_10103. [<=]

A_26095 - logische Trennung Messenger-Services

Werden durch einen TI-Messenger-Anbieter mehrere Domains in einem gemeinsamen Messenger-Service betrieben, so MUSS die logische Trennung der Matrix-Domains sichergestellt werden.

Hinweis: Die Anforderungen A_25381 & A_25382 erfordern die Zuordnung einer Organisation zu einer Domain, um einer Organisation die Teilnahme an der Föderation zu entziehen.
[<=]

A_25382 - TI-M kontrollierte Außerbetriebnahme

Wenn z. B. das Vertragsverhältnis zwischen Kunde und TI-Messenger-Anbieter ausläuft, so MUSS der TI-Messenger-Anbieter die dazugehörige Domäne dieses Messenger-Service aus der Föderation löschen (siehe FHIR-VZD: I_VZD_TIM_Provider_Services, DELETE /federation/{domain}) und den Messenger-Service abschalten, so dass dieser nicht mehr erreicht werden kann. [<=]

A_25627 - Bereitstellung Messenger-Services

Die Bereitstellung der Messenger-Services erfolgt über den Registrierungs-Dienst eines TI-M FD und KANN on-premise oder zentral innerhalb von Rechenzentren stattfinden. [<=]

A_23658-01 - Produktnachweise im Rahmen der kontrollierten Inbetriebnahme

Das Produkt MUSS die Vorgaben zur Funktionalität, Sicherheit und Interoperabilität entsprechend des jeweiligen Produkttypsteckbriefs in der Produktivumgebung erfüllen. Die Nachweise dafür MÜSSEN entsprechend und im Rahmen des Konzepts zur kontrollierten Inbetriebnahme erbracht werden. [<=]

Hinweis: Die Anforderung A_23658-01 ist eine Ergänzung für die Produktivumgebung und ersetzt nicht die vorgelagerten Prüfverfahren der Produkte in der Referenzumgebung.  

Der TI-Messenger-Anbieter kann auch mehrere TI-M Clients und mehrere TI-M FD anbieten. Der tatsächliche Betrieb kann gemäß [gemKPT_Betr#Anbieterkonstellationen] ausgelagert werden.

Der TI-Messenger-Anbieter muss seinen Nutzern und Organisationen einen Helpdesk entsprechend [gemKPT_Betr] anbieten, welcher auch Störungen zu allen verantworteten TI-M Clients und TI-M FD entgegennimmt. 

Der TI-Messenger-Anbieter ist gemäß Betriebskonzept [gemKPT_Betr] ein Teilnehmer im TI-ITSM (IT-Service-Management der TI) mit allen damit verbundenen Rechten und Pflichten.

A_25823 - TI-Messenger Fachdienst Bestandsdaten (Basis)

Der TI-Messenger-Fachdienst MUSS die nachfolgenden Informationen täglich in folgendem JSON Format als HTTP Body an die Betriebsdatenerfassung (BDE) gemäß [gemSpec_SST_LD_BD] liefern:

{
  "abfragezeitpunkt": <Zeitstempel der Abfrage als String im Format ISO 8601: YYYY-MM-DDThh:mm:ssZ>,
  "ci": <CI-ID des abgefragten Fachdienstes gemäß [A_17764] als String>,
  "anzMs": <Anzahl der zum Abfragezeitpunkt instanziierten Messenger-Service als Integer>,
  "anzNu": <Anzahl der zum Abfragezeitpunkt registrierten Nutzer über alle Messenger-Services als Integer>,
  "anzAktNu": <Anzahl der zum Abfragezeitpunkt innerhalb der letzten 30 Tage aktiven Nutzer über alle Messenger-Services als Integer>,
  "anzRa": <Anzahl der zum Abfragezeitpunkt offenen Räume als Integer>,
  "anzEv": <Anzahl Message-Events als Integer, kumuliert>,
  "uaList": [{
    "uaKen": $ua-ken,
    "uaPtv": $ua-Produkttypversion,
    "uaPv": $ua-Produktversion,
    "uaAus": $ua-Auspraegung,
    "uaPlat": $ua-Plattform,
    "uaOsv": $ua-OSv,
    "uaCid": $ua-client_id,
  }],
  "afList": [{
    "md": "$md",
    "TIM.UC_10103-02a_01": $anzahl,
    "TIM.UC_10103-02a_02": $anzahl,
    "TIM.UC_10103-02b_01": $anzahl,
    "TIM.UC_10103-02b_02": $anzahl,
    "TIM.UC_10103-02_03": $anzahl,
    "TIM.UC_10060-02_01": $anzahl,
    "TIM.UC_10060-02_02": $anzahl,
    "TIM.UC_10057-01_01": $anzahl,
    "TIM.UC_10057-01_02": $anzahl,
    "TIM.UC_10104-02_01": $anzahl,
    "TIM.UC_10104-02_02": $anzahl,
    "TIM.UC_10104-02_03": $anzahl,
    "TIM.UC_10063-01_01": $anzahl,
    "TIM.UC_10061-02_01": $anzahl,
    "TIM.UC_10061-02_02": $anzahl,
    "TIM.UC_10062-02_01": $anzahl,
    "TIM.UC_10062-02_02": $anzahl,
  }]
}

  • uaList: Das Array MUSS mit Werten entsprechend ihrer Beschreibung befüllt werden. Es DÜRFEN NUR neue Kombinationen der Attribute übermittelt werden, welche zuvor noch nicht übermittelt wurden.
  • uaKen: Datentyp String, SHA1 (Base64-kodiert). Für $ua-ken MUSS die mit SHA1 kodierte Kennung einer bestimmten Client-Ausprägung eingetragen werden. Die Kennung MUSS eindeutig für jede einzigartige Kombination der User-Agent Attribute vergeben werden.*
  • uaPtv: Datentyp String. Für $ua-Produkttypversion MUSS die Produkttypversion des TI-Messenger Clients eingetragen werden.
  • uaPv: Datentyp String. Für $ua-Produktversion MUSS die Produktversion des TI-Messenger Clients eingetragen werden.
  • uaAus: Datentyp String. Für $ua-Auspraegung MUSS die Ausprägung des Clients entsprechend der Spezifikation eingetragen werden. Es DÜRFEN AUSSCHLIEßLICH die Werte "Org-Admin-Client" oder "Messenger-Client" verwendet werden.
  • uaPlat: Datentyp String. Für $ua-Plattform MUSS die Plattform des Clients eingetragen werden. Es DÜRFEN AUSSCHLIEßLICH die Werte "mobil", "stationaer" oder "web" verwendet werden.
  • uaOsv: Datentyp String. Für $ua-OSv MUSS das entsprechende Betriebssystem mit der Version eingetragen werden. Zum Beispiel "Windows 10 Enterprise", "iOS 16.6", "macOS Ventura 13.5.1", "Android 13", "Ubuntu 22.04 LTS" etc.
  • uaCid: Datentyp String. Für $ua-client_id MUSS die client_id eingetragen werden wie sie auch dem TI-Messenger Fachdienst gemäß A_25483 übermittelt wird.
  • afList: Das Array enthält alle Teilschritte aller Anwendungsfälle die am Fachdienst erfasst werden MÜSSEN. Die Keys MÜSSEN alle exakt wie dargestellt übermittelt werden. Die erfasste Anzahl an Aufrufen je Teilschritt (inkl. Fehler) MUSS für $anzahl als Wert (Integer) übermittelt werden. Wenn ein Teilschritt in einem Zeitintervall nicht registriert wurde, MUSS der Wert 0 eingetragen werden.
  • md: Datentyp String. Für $md MUSS die eigene Matrix-Domain des Messenger-Services eingetragen werden, wie sie auch in der Föderationsliste hinterlegt ist.
* Hinweis: Die Kennung dient in erster Linie dem Anbieter zur Differenzierung der Clients im anbieterübergreifenden Betrieb falls der TI-M Client (als zugelassenes Produkt) selbst keine unterschiedliche Kennung (client_id) aufweist.
[<=]

Tabelle 5: Berichtsformat_TI-Messenger-Fachdienst Basis <3

$TIM-Operation
(Referenz Use Case / Anwendungsfall)
Beschreibung Start der Messung
Ende der Messung
TIM.UC_10103-02a_01 5.1.1 AF - Authentisieren einer Organisation (OIDC):
Redirect to IdP
2 POST I_Registration 4 Redirect to IDP Authorization Endpoint
TIM.UC_10103-02a_02 5.1.1 AF - Authentisieren einer Organisation (OIDC):
Authentisierung über IDP
13 Post I_Registration (auth code) 30 Status
TIM.UC_10103-02b_01 5.1.1 AF - Authentisieren einer Organisation (KIM):
KIM Adresse angeben
18 POST I_Registration
(Eingabe KIM-Adresse)
22 KIM Nachricht mit URL
TIM.UC_10103-02b_02 5.1.1 AF - Authentisieren einer Organisation (KIM):
KIM Authentisierung
23 URL in KIM-Nachricht öffnen 30 Status
TIM.UC_10103-02_03 5.1.1 AF - Authentisieren einer Organisation:
Admin Account anlegen
33 POST I_Registration (Admin-Account Credentials + 2. Faktor) 36 Status
TIM.UC_10060-02_01 5.1.2 AF - Bereitstellung eines Messenger-Service für eine Organisation:
Admin Login
2 POST /login (Client-Credentials) 4 status
TIM.UC_10060-02_02 5.1.2 AF - Bereitstellung eines Messenger-Service für eine Organisation:
Messenger Service erstellen
7 POST /create (Matrix-Domain) 25 status
TIM.UC_10057-01_01 5.1.4 AF - Anmeldung eines Akteurs am Messenger-Service:
Auswahl Auth-Verfahren und client_id
2 GET /_matrix/client/login 5 HTTP(S) Forward
TIM.UC_10057-01_02 5.1.4 AF - Anmeldung eines Akteurs am Messenger-Service:
Anmeldung, Matrix-ACCESS_TOKEN an Client
9 POST /_matrix/client/login 17 HTTP(S) Forward
TIM.UC_10104-02_01 5.1.5 AF - Einladung von Akteuren innerhalb einer Organisation:
Akteur suchen
2 POST /_matrix/client/user_directory/search 6 HTTP(S) Forward
TIM.UC_10104-02_02 5.1.5 AF - Einladung von Akteuren innerhalb einer Organisation:
Akteur einladen
8 POST /_matrix/client/r0/rooms/{roomId}/invite (roomId) 12 HTTP(S) Forward 200
TIM.UC_10063-01_01 5.1.6 AF - Austausch von Events zwischen Akteuren innerhalb einer Organisation:
Matrix-Request
2 Matrix-Request 6 HTTP(S) Forward
TIM.UC_10061-02_01 5.1.7 AF - Einladung von Akteuren außerhalb einer Organisation:
Einladung Sendersystem
6 POST /_matrix/client/r0/rooms/{roomsId}/invite 25 "Nutzer in den Raum eingeladen"
TIM.UC_10061-02_02 5.1.7 AF - Einladung von Akteuren außerhalb einer Organisation:
Einladung Empfangssystem
12 HTTP(S) Forward 22 HTTP(S) Forward
TIM.UC_10062-02_01 5.1.8 AF - Austausch von Events zwischen Akteuren außerhalb einer Organisation:
Event Sendersystem
2 Matrix-Request 6 Status
TIM.UC_10062-02_02 5.1.8 AF - Austausch von Events zwischen Akteuren außerhalb einer Organisation:
Event Empfangssystem(e)
9 HTTP(S) Forward 16 HTTP(S) Forward

4.3.1 TI-M Client

Die Betriebsbereitschaft des Clients bzw. der Clients des TI-Messenger-Anbieters bezieht sich in diesem Kapitel auf serverseitige Systeme, welche notwendig sind, damit der Client vom Nutzer sicher-funktional betrieben werden kann. Der sichere Betrieb im Sinne der Nutzung auf ihren Endgeräten des TI-M Clients liegt letztendlich in der Verantwortung der Nutzer bzw. Akteure des TI-Messengers.

A_25383 - TI-M Client Anbietersupport

Der TI-Messenger-Anbieter MUSS seine Nutzer bzw. die Akteure dabei unterstützen, einen sicheren und funktionalen Betrieb der TI-M Clients zu ermöglichen. [<=]

A_25384 - TI-M Client Betreibbarkeit

Der TI-M Client MUSS mit einer vollumfänglich-funktionalen Verfügbarkeit von 98 % betreibbar sein.  [<=]

A_25385 - TI-M Client Verfügbarkeit

Der TI-Messenger-Anbieter MUSS die Produkt(e) TI-M Client mit einer vollumfänglich-funktionalen Verfügbarkeit von 98 % seinen Nutzern anbieten. [<=]

A_25548 - Information über Updates für den Client

Hersteller des TI-M Client MÜSSEN sicherstellen, dass Akteure über die Veröffentlichung von Updates für ihre TI-M Clients informiert werden, bspw. durch Mitteilung innerhalb und mittels des TI-M Clients. [<=]

A_25549 - Information über Notwendigkeit von Sicherheitsupdates

Hersteller des TI-M Clients MÜSSEN sicherstellen, dass Akteure geeignet über die Notwendigkeit der Installation sicherheitskritischer Updates informiert werden, um den TI-M Client weiterhin nutzen zu können. [<=]

A_25550 - Sperrung von Clients ohne Sicherheitsupdates

TI-M Client-Hersteller MÜSSEN sicherstellen, dass nach einer geeigneten Frist eine weitere Nutzung des TI-M Clients ohne vorheriges Sicherheitsupdate nicht möglich ist. Hierzu genügt eine client-seitige Sperre anstatt eines Nachweises gegenüber dem Matrix-Homeserver. [<=]

A_25551 - Fähigkeit zum Update im gesperrten Zustand

Ist ein TI-M Client wegen ausgebliebener Installation von Sicherheitsupdates nicht mehr für die Kommunikation nutzbar, MUSS die Möglichkeit der Installation von Updates weiterhin gegeben sein. [<=]

A_25552 - Information und Nachweis der Eignung

Der Hersteller des TI-M Clients MUSS die gematik bei Veröffentlichung einer neuen Produktversion informieren und eine Erklärung zur sicherheitstechnischen Eignung liefern. [<=]

A_25565 - Explizites Verbot von Profiling für TI-M Clients

TI-M Client-Hersteller und -Anbieter DÜRFEN NICHT Daten zu Profiling-Zwecken sammeln. Dies betrifft insbesondere eine Überwachung welche Akteure mit welchen anderen Akteuren kommunizieren. [<=]

Hinweis: Die gematik kann nach § 331 Abs. 2 SGB V Daten festlegen, die Hersteller und Anbieter von Komponenten und Diensten der gematik offenzulegen bzw. zu übermitteln haben, sofern diese erforderlich sind, um dem gesetzlichen Auftrag der gematik zur Überwachung des Betriebs zur Gewährleistung der Sicherheit, Verfügbarkeit und Nutzbarkeit der Telematikinfrastruktur zu erfüllen. Nur die hierfür erforderlichen personenbezogenen Daten dürfen von den Anbietern und Herstellern als Ausnahme vom Profiling-Verbot erhoben und ausschließlich für den genannten Zweck verwendet werden.

4.4 Sonstige

4.4.1 Rechte und Pflichten des Herstellers

A_25582 - Vertrauenswürdige Bezugsquellen für den TI-M Client

Der Hersteller eines TI-M Clients MUSS Akteure über die vertrauenswürdigen Quellen informieren, von denen Akteure den TI-M Client beziehen können und wie sie die Vertrauenswürdigkeit der Quelle erkennen können. [<=]

A_25583 - Möglichkeit der Authentizitätsprüfung

Der Hersteller MUSS sicherstellen, dass der Akteur bei Erstbezug eines TI-M Clients die Authentizität der vertrauenswürdigen Bezugsquelle verifizieren kann. [<=]

5 Funktionsmerkmale

5.1 Anwendungsfälle

Die nachfolgend beschriebenen Anwendungsfälle sind spezifisch für den TI-Messenger und weichen daher teilweise von der Matrix-Client-Server-API ab. Das gleiche gilt für die auf dem Matrix-Server-Server-Protokoll ([Server-Server API]) basierenden Anwendungsfälle.

Im Kontext des TI-M Dienstes nehmen Akteure unterschiedliche Rollen ein (siehe Kapitel 2.3 Akteure und Rollen). Entsprechend der eingenommen Rolle eines Akteurs werden unterschiedliche Anwendungsfälle ausgelöst. Für die Rollen "Org-Admin" und "User" wird dies in den folgenden Abbildungen dargestellt.

Rolle: Org-Admin

Ein Akteur in der Rolle "Org-Admin" KANN ein Leistungserbringer / beauftragter Mitarbeiter in einer Organisation oder ein beauftragter Administrator des TI-Messenger-Anbieters sein. Im Rahmen seiner administrativen Tätigkeiten löst dieser Akteur im Kontext des TI-Messengers die folgenden Anwendungsfälle aus.


Abbildung 8: Org-Admin - Übersicht Anwendungsfälle

Der Anwendungsfall 5.1.2 Bereitstellung eines Messenger-Service für eine Organisation setzt die erfolgreiche Authentifizierung der Organisation durch den Anwendungsfall AF_10103-02 - Authentisieren einer Organisation am TI-M Dienst voraus. Werden durch eine Organisation mehrere Messenger-Services benötigt KANN der Anwendungsfall mehrfach ausgeführt werden. Mit der farblichen Zuordnung soll auf eine funktionale Beziehung zwischen den einzelnen Anwendungsfällen hingewiesen werden.

Rolle: User

Ein Akteur in der Rolle "User" KANN die folgenden Anwendungsfälle auslösen.

Abbildung 9: User - Übersicht Anwendungsfälle

Die in den folgenden Kapiteln gezeigten Anwendungsfälle KÖNNEN von den Akteuren in der Rolle "User" ausgeführt werden. Mit der farblichen Zuordnung soll auf eine funktionale Beziehung zwischen den einzelnen Anwendungsfällen hingewiesen werden.

Hinweis: In den folgenden Anwendungsfällen wird auf Abläufe verwiesen, die im Anhang B zu finden sind. Ebenfalls können für eine bessere Lesbarkeit die in den jeweiligen Anwendungsfällen dargestellten Laufzeitsichten als PlantUML-Quelle in [api-messenger] unter src/plantuml und in Diagrammform unter /images/diagrams abgerufen werden.

5.1.1 Authentisieren einer Organisation

AF_10103-02 - Authentisieren einer Organisation am TI-M Dienst

Mit diesem Anwendungsfall authentisiert ein Akteur, in der Rolle "Org-Admin", seine Organisation bei einem TI-Messenger-Anbieter. Für die Authentisierung einer Organisation stellt der TI-M FD eine Schnittstelle an seinem Registrierungs-Dienst bereit. Diese wird über das Frontend des Registrierungs-Dienstes für die Authentisierung verwendet. Die Authentisierung der Organisation erfolgt individuell und nutzungsabhängig durch einen Akteur in der Rolle "Org-Admin". Im Rahmen der Authentifizierung MUSS der Besitz einer gültigen SM(C)-B nachgewiesen werden, da nur Organisationen des Gesundheitswesens berechtigt sind einen Messenger-Service zu erhalten. Als Nachweis ist eines der folgenden Verfahren zu verwenden:

  • Verfahren 1: bei der Authentisierung am zentralen IDP-Dienst eine freigeschaltete SM(C)-B verwendet werden oder
  • Verfahren 2: eine KIM-Nachricht an die Adresse der Organisation mit der freigeschalteten SM(C)-B gesendet werden.
Als Nachweis zur Prüfung auf eine gültige Organisation ist vom Registrierungs-Dienst in beiden Verfahren zu prüfen, ob die ProfessionOID zu einer Organisation des Gesundheitswesens gehört. Bei erfolgreicher Verifizierung der Organisation wird ein Administrator-Account für die Organisation am Registrierungs-Dienst angelegt. Dies ermöglicht es einem Administrator Messenger-Services zu registrieren und seiner Organisation am TI-M Dienst teilzunehmen.

Tabelle 6: Tabelle : AF - Authentisieren einer Organisation am TI-M Dienst

AF_10103 Authentisieren einer Organisation am TI-M Dienst
Akteur Beauftragter Mitarbeiter einer Organisation in der Rolle "Org-Admin"
Auslöser
Eine Organisation des deutschen Gesundheitswesens möchte am TI-M Dienst teilnehmen und benötigt die Berechtigung einen Messenger-Service zu registrieren.
Komponenten
  • Frontend des Registrierungs-Dienstes,
  • Authenticator (Optional bei Verfahren 2),
  • Konnektor oder Basis-Consumer,
  • eHealth Kartenterminal mit gesteckter SMC-B oder HSM-B (SM-B im HSM),
  • Registrierungs-Dienst,
  • zentraler IDP-Dienst (Optional bei Verfahren 2)
  • KIM-Clientmodul und Mailclient (Optional bei Verfahren 1)
 Vorbedingung
  1. Der Akteur kann über ein Frontend auf den Registrierungs-Dienst zugreifen.
  2. Verifizierung der Organisation:
    • Verfahren 1:
      1. Der Registrierungs-Dienst ist beim zentralen IDP-Dienst registriert.
      2. Auf dem Endgerät des Benutzers ist eine Authenticator Anwendung installiert, über die eine Challenge vom IDP-Dienst mit Hilfe einer SM(C)-B signiert wird.
    • Verfahren 2:
      1. Der Anbieter des TI-Messenger verfügt über eine SMC-B Org und eine KIM-Adresse sowie ein eHealth Kartenterminal und einen Konnektor mit TI-Zugang.
      2. Der Akteur verfügt über eine SM(C)-B und eine KIM-Adresse sowie ein eHealth Kartenterminal und einen Konnektor mit TI-Zugang oder alternativ über einen Basis-Consumer.
  3. Die verwendete SM(C)-B ist freigeschaltet.
Eingangsdaten Identität der Organisation, SM(C)-B, Alternativ KIM-Adresse
Ergebnis Die Organisation wurde am Registrierungs-Dienst des TI-M FD verifiziert und ein Administrator Account für die Organisation wurde erfolgreich am Registrierungs-Dienst angelegt. 
Ausgangsdaten Admin-Account, Status

In der Laufzeitsicht sind die Interaktionen zwischen den Komponenten, die durch den Anwendungsfall genutzt werden, dargestellt. Für die Authentisierung einer Organisation wird in der Laufzeitsicht der zentrale IDP-Dienst der TI verwendet.


Abbildung 10: Laufzeitsicht - Authentisieren einer Organisation am TI-M Dienst 

[<=]

A_25805 - AF_10103 - Organisation wurde erfolgreich verifiziert

Die im ID_TOKEN enthaltene ProfessionOID MUSS in der in [gemSpec_OID] in der Tabelle "Tab_PKI_403-x OID-Festlegung Institutionen im X.509-Zertifikat der SMC-B" gelisteten OIDs vorhanden sein. [<=]

A_25806 - AF_10103 - ID-Token wurde geprüft

Die Signatur des vom IDP-Dienst ausgestellten ID_TOKEN MUSS geprüft werden. [<=]

5.1.2 Bereitstellung eines Messenger-Service für eine Organisation

AF_10060-02 - Bereitstellung eines Messenger-Service für eine Organisation

Mit diesem Anwendungsfall wird einer zuvor am Registrierungs-Dienst authentifizierten Organisation ein Messenger-Service für diese Organisation durch einen Akteur in der Rolle "Org-Admin" bereitgestellt. Die Beantragung zur Bereitstellung eines Messenger-Service wird durch den Akteur in der Rolle "Org-Admin" am Frontend des Registrierungs-Dienstes vorgenommen. Dieser MUSS sich zuvor mit dem Admin-Account der Organisation am Registrierungs-Dienst anmelden. Für eine zeitnahe Adaption des TI-M Dienstes MUSS eine schnelle Bereitstellung von Messenger-Services gewährleistet sein. TI-Messenger-Anbieter sind verpflichtet, Prozesse zu etablieren, damit Messenger-Services für Organisationen schnell und ggf. automatisiert bereitgestellt werden können. Nach erfolgreicher Bereitstellung eines Messenger-Service wird dieser in die Föderation des TI-M Dienstes aufgenommen. Werden mehrere Messenger-Services für eine Organisation benötigt KANN dieser Anwendungsfall mehrfach ausgeführt werden.

Tabelle 7: AF - Bereitstellung eines Messenger-Service für eine Organisation

AF_10060 Bereitstellung eines Messenger-Service für eine Organisation
Akteur Beauftragter Mitarbeiter einer Organisation in der Rolle "Org-Admin"
Auslöser Eine Organisation des deutschen Gesundheitswesen möchte am TI-M Dienst teilnehmen und benötigt die Bereitstellung eines oder mehrerer Messenger-Services.
Komponenten
  • Frontend des Registrierungs-Dienstes
  • Registrierungs-Dienst
  • VZD-FHIR-Directory
  • Messenger-Service
Vorbedingung
  1. Es besteht ein Vertragsverhältnis mit einem TI-Messenger-Anbieter.
  2. Der Akteur verfügt über ein Frontend des Registrierungs-Dienstes für die Kommunikation mit dem Registrierungs-Dienst.
  3. Das verwendete Frontend des Registrierungs-Dienstes ist beim zentralen IDP-Dienst registriert.
  4. Die Organisation ist erfolgreich beim Registrierungs-Dienst authentifiziert und ein Admin-Account ist vorhanden.
  5. Der Registrierungs-Dienst kann sich beim VZD-FHIR-Directory Server für Schreibzugriffe mit OAuth2 authentisieren.
Eingangsdaten Admin-Account
Ergebnis
  1. Der Messenger-Service für die Organisation wurde für die übergebene Domain erstellt.
  2. Die Domain des neuen Messenger-Services wurde in die Föderationsliste im VZD-FHIR-Directory eingetragen.
Ausgangsdaten Neuer Messenger-Service für die Organisation, Status

In der Laufzeitsicht sind die Interaktionen zwischen den Komponenten, die durch den Anwendungsfall genutzt werden, dargestellt. Für den Anwendungsfall wird die erfolgreiche Authentifizierung der Organisation mit Hilfe des Anwendungsfalls AF_10103-02 - Authentisieren einer Organisation am TI-M Dienst vorausgesetzt. Die Komponente Messenger-Service für die Organisation wird im Verlauf des Anwendungsfalles erstellt.


Abbildung 11: Laufzeitsicht - Bereitstellung eines Messenger-Service für eine Organisation   

[<=]

5.1.3 Föderationszugehörigkeit prüfen

AF_10064-02 - Föderationszugehörigkeit eines Messenger-Service prüfen

Dieser Anwendungsfall prüft, ob ein Messenger-Service zugehörig zur TI-Messenger-Föderation ist, und gilt für alle Anwendungsfälle, welche die Matrix-Domain eines Messenger-Services überprüfen müssen. Für die Prüfung der Zugehörigkeit der Matrix-Domain zur TI-Messenger-Föderation verwendet der Messenger-Proxy eine Föderationsliste, die vom Registrierungs-Dienst seines TI-M FD bereitgestellt wird. Die Speicherdauer der Föderationsliste des Messenger-Proxies ist limitiert. Die Aktualisierung der Föderationsliste erfolgt wie in 5.1.8 Aktualisierung der Föderationsliste  beschrieben.

Tabelle 8: Föderationszugehörigkeit eines Messenger-Service prüfen

AF_10064 Föderationszugehörigkeit eines Messenger-Service prüfen
Akteur  -
Auslöser Der Messenger-Proxy empfängt oder sendet ein Matrix-Event und MUSS die im Request enthaltenen MXIDs auf Domain-Zugehörigkeit zur TI-Messenger-Föderation prüfen.
Komponenten
  • Messenger-Proxy
  • Matrix-Homeserver
Vorbedingungen keine
Eingangsdaten Matrix-Event
Ergebnis Der Messenger-Proxy leitet das Matrix-Event an den Homeserver weiter oder sendet ein HTTP 403 an den Sender. (siehe A_25534 - Fehlschlag Föderationsprüfung)
Ausgangsdaten Status

In der Laufzeitsicht sind die Interaktionen zwischen den Komponenten, die durch den Anwendungsfall genutzt werden, dargestellt. Das auslösende Matrix-Event am Messenger-Proxy wird in der folgenden Abbildung nicht gezeigt.

Abbildung 12: Laufzeitsicht - Föderationszugehörigkeit eines Messenger-Service prüfen 

[<=]

A_26017 - AF_10064 - Matrix-Domain Teil der Föderationsliste & Aktualitätscheck

Es MUSS sichergestellt werden, dass der Registrierungs-Dienst die Föderationsliste auf Aktualität überprüft, bevor eine aktualisierte Liste durch den Messenger-Proxy abgerufen werden kann. Ebenfalls MUSS sichergestellt werden, dass der Messenger-Proxy tatsächlich überprüft, ob die Matrix-Domain des anderen Messenger-Service Teil der Föderationsliste ist.
[<=]

A_26018 - AF_10064 - Aktualität - Föderationsliste Messenger-Proxy

Es MUSS sichergestellt werden, dass die Föderationsliste vom Messenger-Proxy aktuell ist. Dafür MUSS der Messenger-Proxy in einem festen Intervall von einmal pro Stunde eine aktuelle Liste beim Registrierungs-Dienst anfordern.
[<=]

5.1.4 Anmeldung eines Akteurs am Messenger-Service

AF_10057-01 - Anmeldung eines Akteurs am Messenger-Service

Mit diesem Anwendungsfall meldet sich ein Akteur an einem in der TI-Föderation zuständigen Messenger-Service an und registriert seinen TI-M Client als Endgerät. Der Akteur MUSS die Matrix-Domain des gewünschten Messenger-Service direkt im TI-M Client eingeben können. Die Eingabe KANN dabei automatisiert oder durch andere Hilfsmittel wie beispielweise durch einen QR-Code-Scan unterstützt werden. Die Authentifizierung erfolgt hierbei nach den Vorgaben der jeweiligen Organisation.

Tabelle 9: AF - Anmeldung eines Akteurs am Messenger-Service

AF_10057 Anmeldung eines Akteurs am Messenger-Service
Akteur  Mitarbeiter einer Organisation im Gesundheitswesen in der Rolle "User"
Auslöser Ein Akteur möchte sich mit seinem TI-M Client bei einem Messenger-Service anmelden.
Komponenten
  • TI-M Client
  • Messenger-Proxy
  • Matrix-Homeserver
Vorbedingungen
  1. Der Akteur verfügt über einen vom Anbieter unterstützen TI-M Client.
  2. Der Akteur kennt die URL des Messenger-Services oder die URL ist bereits in seinem TI-M Client konfiguriert.
  3. Der Akteur kann sich durch ein beim Matrix-Homeserver unterstütztes Authentisierungsverfahren identifizieren. Wird durch die Organisation ein eigenes Authentifizierungsverfahren verwendet, MUSS eine Anbindung an den Matrix-Homeserver erfolgt sein.
  4. Der verwendete Matrix-Homeserver ist in die Föderation integriert (valider Messenger-Service).
Eingangsdaten URL des Matrix-Homeservers
Ergebnis Ein Akteur hat sich erfolgreich an einem gültigen Messenger-Service angemeldet und mit einem zugelassenen Authentifizierungsverfahren erfolgreich authentisiert.
Ausgangsdaten Matrix-ACCESS_TOKEN, MXID, device_id, Status

In der Laufzeitsicht sind die Interaktionen zwischen den Komponenten, die durch den Anwendungsfall genutzt werden, dargestellt. In dieser wird der Prozess einer Anmeldung eines Akteurs an einem Messenger-Service dargestellt. Sollte ein Akteur noch nicht an einem Matrix-Homeserver registriert sein, dann wird zunächst eine Registrierung des Akteurs mit der Operation POST /_matrix/client/register durchgeführt. Der Ablauf der Registrierung ist analog dem des Login-Verfahrens.

Abbildung 13: Laufzeitsicht - Anmeldung eines Akteurs am Messenger-Service

[<=]

5.1.5 Einladung von Akteuren innerhalb einer Organisation

AF_10104-02 - Einladung von Akteuren innerhalb einer Organisation

In diesem Anwendungsfall wird ein Akteur, der zu einer gemeinsamen Organisation gehört, in einen Raum eingeladen, um Aktionen auszuführen. Für die Suche nach Akteuren innerhalb einer gemeinsamen Organisation durchsucht ein TI-M Client das Nutzerverzeichnis seiner Organisation auf dem Matrix-Homeserver. Anschließend wird die Einladung vom Einladenden an den Messenger-Proxy übermittelt. Dieser prüft ob die beteiligten Akteure bei ihm registriert sind. Ist dies der Fall erfolgt die Weiterleitung an den Matrix-Homeserver der Akteure. Ist dies nicht der Fall, handelt es sich bei dem einzuladenden Akteur nicht um einen Akteur innerhalb der Organisation und das Invite-Event wird für die externe Zustellung weitergeleitet. Der Anwendungsfall   zeigt den sich daraus ergebenden Verlauf.

Tabelle 10: Einladung von Akteuren innerhalb einer Organisation

AF_10104 Einladung von Akteuren innerhalb einer Organisation
Akteur Akteur in der Rolle "User"
Auslöser Akteur A möchte Akteur B seiner Organisation in einen gemeinsamen Raum einladen.
Komponenten
  • TI-Messenger Client A + B
  • Messenger-Proxy
  • Matrix-Homeserver
  • Push-Gateway
Vorbedingungen
  1. Die Akteure sind am selben Messenger-Service angemeldet.
  2. Jeder Akteur hat einen zugelassenen TI-M Client.
  3. Einladender ist Mitglied des Chatraums, in den eingeladen wird.
  4. Einladender verfügt in diesem Chatraum über einen hinreichenden Powerlevel, um einen Teilnehmer einladen zu können.
Eingangsdaten Invite-Event
Ergebnis Akteur A und Akteur B sind beide im Chatraum, zu dem die Einladung ausgesprochen wurde.
Optional erfolgt eine Benachrichtigung an Akteur B über die Einladung in den Chatraum. (Hat Akteur B den Akteur A auf seine BlockedUser-Liste gesetzt, dann erfolgt keine Benachrichtigung.)
Ausgangsdaten Status

In der Laufzeitsicht sind die Interaktionen zwischen den Komponenten, die durch den Anwendungsfall genutzt werden, dargestellt. Der für die zukünftige Kommunikation genutzte Chatraum wurde durch den einladenden Akteur bereits erstellt. Daher wird in diesem Anwendungsbeispiel ein /_matrix/client/v3/rooms/{roomId}/invite Event am Messenger-Proxy geprüft. Die folgende Darstellung zeigt lediglich die Einladung zwischen zwei Akteuren. Weitere Akteure können unabhängig von dieser Laufzeitsicht eingeladen werden (Hinweis: Group-Messaging).

Abbildung 14: Einladung von Akteuren innerhalb einer Organisation

[<=]

A_26019 - AF_10104 - Matrix-Homeserver nach Akteuren durchsuchen

Der TI-M Client erlaubt das Suchen eines Akteurs in der Liste aller Akteure am Matrix-Homeserver. [<=]

5.1.6 Austausch von Events zwischen Akteuren innerhalb einer Organisation

AF_10063-01 - Austausch von Events zwischen Akteuren innerhalb einer Organisation

Dieser Anwendungsfall ermöglicht es Akteuren, welche sich in einem gemeinsamen Raum innerhalb eines Messenger-Service befinden, Nachrichten auszutauschen und weitere durch die Matrix-Spezifikation festgelegte Aktionen (Events) auszuführen.

Tabelle 11: Austausch von Events zwischen Akteuren innerhalb einer Organisation

AF_10063 Austausch von Events zwischen Akteuren innerhalb einer Organisation
Akteur  Akteure in der Rolle "User"
Auslöser Alle Matrix-Events die innerhalb eines Messenger-Service einer Organisation ausgeführt werden
Komponenten
  • TI-Messenger Client A + B
  • Messenger-Proxy
  • Matrix-Homeserver
  • Push-Gateway
Vorbedingungen
  1. Die Akteure sind am selben Messenger-Service angemeldet.
  2. Jeder Akteur hat einen zugelassenen TI-M Client.
  3. Die Teilnehmer sind einem gemeinsamen Raum beigetreten.
Eingangsdaten Matrix-Event
Ergebnis Das Matrix-Event wurde am TI-Messenger Client B erfolgreich verarbeitet.
Optional erfolgt eine Benachrichtigung an Akteur B über das Event in dem Chatraum. (Sofern Akteur B Benachrichtigungen für diesen Event-Typ aktiviert hat.)
Ausgangsdaten Abhängig vom Matrix-Event

In der Laufzeitsicht sind die Interaktionen zwischen den Komponenten, die durch den Anwendungsfall genutzt werden, dargestellt. Hierbei handelt es sich um eine vereinfachte Laufzeitansicht, in der zum Beispiel die TLS-Terminierung am Messenger-Proxy auf Grund der Übersichtlichkeit nicht berücksichtigt wurde. Die in der Abbildung rot dargestellten Linien symbolisieren den Kommunikationsverlauf des auslösenden Matrix-Request. Für die vereinfachte Darstellung wird vorausgesetzt, dass die TI-M Clients der beteiligten Akteure online sind.

Abbildung 15: Laufzeitsicht - Austausch von Events zwischen Akteuren innerhalb einer Organisation

[<=]

5.1.7 Einladung von Akteuren außerhalb einer Organisation

AF_10061-02 - Einladung von Akteuren außerhalb einer Organisation

In diesem Anwendungsfall wird ein Akteur außerhalb einer Organisation eingeladen. Für die Suche nach Akteuren außerhalb der Organisation KANN das VZD-FHIR-Directory verwendet werden. Ist die MXID des gesuchten Akteurs dort nicht vorhanden, MUSS es die Möglichkeit geben, die Kontaktaufnahme auch auf anderen Wegen zu ermöglichen. Es MUSS mindestens die Kontaktaufnahme mit Hilfe eines QR-Code Scans angeboten werden. Weitere Optionen zur Eingabe der MXID (z. B. manuelle Eingabe) sind zulässig.

Tabelle 12 AF - Einladung von Akteuren außerhalb einer Organisation

AF_10061 Einladung von Akteuren außerhalb einer Organisation
Akteur  Leistungserbringer, Mitarbeiter einer Organisation im Gesundheitswesen in der Rolle "User"
Auslöser Akteur A möchte mit Akteur B außerhalb einer Organisation einen gemeinsamen Chatraum einrichten.
Komponenten
  • TI-Messenger Client A + B
  • Messenger-Proxy A + B
  • Matrix-Homeserver A + B
  • VZD-FHIR-Directory
  • Push-Gateway B
Vorbedingungen
  1. Die Akteure sind an ihren Messenger-Services angemeldet.
  2. Die verwendeten Messenger-Services sind Bestandteile der TI-Messenger-Föderation.
  3. Einladender ist Mitglied des Chatraums, in den eingeladen wird.
  4. Einladender verfügt in diesem Chatraum über einen hinreichenden Powerlevel, um einen Teilnehmer einzuladen zu können.
Eingangsdaten Invite-Event
Ergebnis Akteur A und Akteur B sind beide im Chatraum zu dem die Einladung ausgesprochen wurde.
Optional erfolgt eine Benachrichtigung an Akteur B über die Einladung in den Chatraum. (Hat Akteur B den Akteur A auf seine BlockedUser-Liste gesetzt, dann erfolgt keine Benachrichtigung.)
Ausgangsdaten Status

In der Laufzeitsicht sind die Interaktionen zwischen den Komponenten, die durch den Anwendungsfall genutzt werden, dargestellt. Hierbei handelt es um eine vereinfachte Laufzeitansicht, in der zum Beispiel die TLS-Terminierung am Messenger-Proxy auf Grund der Übersichtlichkeit nicht berücksichtigt wurde. Details zur optionalen Suche im VZD-FHIR-Directory sind im Anwendungsfall Einträge im VZD-FHIR-Directory suchen beschrieben. Ebenfalls wurde für eine vereinfachte Darstellung darauf verzichtet, die Berechtigungsprüfung nach 5.2 Berechtigungsmanagement  aufzuschlüsseln. In dieser Laufzeitansicht lädt der Akteur A den Akteur B unmittelbar in einen gemeinsamen Chatraum ein.

Abbildung 16: Laufzeitsicht - Einladung von Akteuren außerhalb einer Organisation

[<=]

5.1.8 Austausch von Events zwischen Akteuren außerhalb einer Organisation

AF_10062-02 - Austausch von Events zwischen Akteuren außerhalb einer Organisation

In diesem Anwendungsfall können Akteure, welche sich in einem gemeinsamen Raum befinden, Nachrichten austauschen und weitere in der Matrix-Spezifikation festgelegte Aktionen ausführen. Dieser Anwendungsfall setzt die erfolgreiche Annahme eines Invite-Events durch einen oder mehrere beteiligte Akteure voraus. Die Prüfung auf Domainzugehörigkeit findet bei jedem Event der Server-Server Kommunikation statt. In diesem Anwendungsfall sind die beteiligten Akteure in einem gemeinsamen Chatraum und auf unterschiedlichen Messenger-Services verteilt.

Tabelle 13: AF - Austausch von Events zwischen Akteuren außerhalb einer Organisation 

AF_10062 Austausch von Events zwischen Akteuren außerhalb einer Organisation
Akteur  Leistungserbringer, Mitarbeiter einer Organisation im Gesundheitswesen in der Rolle "User"
Auslöser Alle Matrix-Events die zwischen Messenger-Services unterschiedlicher Organisationen ausgeführt werden.
Komponenten
  • TI-M Client A + B
  • Messenger-Proxy A + B
  • Matrix-Homeserver A + B
  • Push-Gateway B
Vorbedingungen
  1. Die Akteure sind an ihren Messenger-Services angemeldet.
  2. Beide Akteure sind Teilnehmer eines gemeinsamen Raumes.
  3. Die Messenger-Proxies verfügen über eine aktuelle Föderationsliste.
Eingangsdaten Matrix-Event
Ergebnis Das Matrix-Event wurde am TI-Messenger Client B erfolgreich verarbeitet.
Optional erfolgt eine Benachrichtigung an Akteur B über das Event in dem Chatraum. (Sofern Akteur B Benachrichtigungen für diesen Event-Typ aktiviert hat.) 
Ausgangsdaten Abhängig vom Matrix-Event, Status

In der Laufzeitsicht sind die Interaktionen zwischen den Komponenten, die durch den Anwendungsfall genutzt werden, dargestellt. Hierbei handelt es um eine vereinfachte Laufzeitansicht, in der zum Beispiel die TLS-Terminierung am Messenger-Proxy auf Grund der Übersichtlichkeit nicht berücksichtigt wurde. Es wird in dem Anwendungsfall von lediglich zwei beteiligten Akteuren ausgegangen. Auf die bei der Berechtigungsprüfung nach 5.2 Berechtigungsmanagement durch den Messenger-Proxy notwendigen Interaktionen wird in der Laufzeitsicht verzichtet. Die in der Abbildung rot dargestellten Linien symbolisieren den Kommunikationsverlauf des auslösenden Matrix-Request.

Abbildung 17: Laufzeitsicht - Austausch von Events zwischen Akteuren außerhalb einer Organisation

[<=]

5.1.9 Aktualisierung der Föderationsliste

Die folgende Abbildung beschreibt, wie der Messenger-Proxy seine lokal vorgehaltene Föderationsliste aktualisiert. Für die Aktualisierung der Föderationsliste muss der Messenger-Proxy diese beim Registrierungs-Dienst seines TI-M FD anfragen. Hierbei übergibt der Messenger-Proxy die durch ihn gespeicherte Versionsnummer der Föderationsliste im Request an den Registrierungs-Dienst. Bei Übereinstimmung der Versionsnummer wird für den Messenger-Proxy keine neue Föderationsliste durch den Registrierungs-Dienst bereitgestellt. Ist die Versionsnummer größer als die vom Messenger-Proxy übergebene, dann wird durch den Registrierungs-Dienst eine aktualisierte Föderationsliste zur Verfügung gestellt. Bei jeder Anfrage eines Messenger-Proxys beim Registrierungs-Dienst nach einer aktuellen Föderationsliste muss der Registrierungs-Dienst die Aktualität der durch ihn ausgelieferten Liste sicherstellen, indem er die von ihm gespeicherte Version der Föderationsliste im Bedarfsfall mit einer aktuelleren Version, die vom FHIR-Proxy bezogen wurde, überschreibt. Ein Download der Föderationsliste ist nur notwendig, wenn eine neuere Version auf dem FHIR-Proxy existiert. Die Struktur der Föderationsliste ist in [gemSpec_VZD_FHIR_Directory] beschrieben. Nach dem Abruf der Föderationsliste vom Registrierungs-Dienst, durch den Messenger Proxy, MUSS dieser die Signatur der Föderationsliste prüfen.

Abbildung 18: Laufzeitansicht - Aktualisierung der Föderationsliste

Das in der Abbildung "Laufzeitansicht - Aktualisierung der Föderationsliste" referenzierte Sequenzdiagramm "Provider authentifizieren und Föderationsliste abrufen":

Abbildung 19: Provider authentifizieren und Föderationsliste abrufen

Das in der Abbildung "Laufzeitansicht - Aktualisierung der Föderationsliste" referenzierte Sequenzdiagramm "Signatur der Föderationsliste prüfen":

Abbildung 20: Signatur der Föderationsliste prüfen

5.1.10 Einträge im VZD-FHIR-Directory suchen

AF_10235 - Einträge im VZD-FHIR-Directory suchen

Der Anwendungsfall beschreibt, wie ein Akteur im VZD-FHIR-Directory nach HealthcareService- und PractitionerRole-Ressourcen sucht. Dies setzt eine erfolgreiche Anmeldung des Akteurs an einem Messenger-Service voraus.

Tabelle 14: Einträge im VZD-FHIR-Directory suchen

Attribute Bemerkung
Akteur Akteur in der Rolle User
Auslöser Der Akteur sucht nach spezifischen FHIR-Ressourcen
Komponenten
  • TI-M Client
  • Messenger-Proxy
  • Matrix-Homeserver
  • FHIR-Proxy des VZD-FHIR-Directory
  • Auth-Service des VZD-FHIR-Directory
  • FHIR-Directory des VZD-FHIR-Directory
Eingangsdaten
  • Suchparameter für die Anfrage nach den FHIR-Ressourcen
  • search-accesstoken
Ergebnis
  • Akteur erhält Ergebnisliste für aktive Einträge vom Typ HealthcareService oder
  • Akteur erhält Ergebnisliste für aktive Einträge vom Typ PractitionerRole oder
  • Akteur erhält eine Fehlermeldung wegen eines ungültigen search-accesstoken
Ausgangsdaten
  • FHIR-Bundle mit HealthcareService-oder
  • FHIR-Bundle mit PractitionerRole-Ressourcen

Der dargestellte Ablauf zeigt alle prinzipiell notwendigen Kommunikationsbeziehungen. Weitergehende Informationen zum Ablauf sind in der [gemSpec_VZD_FHIR_Directory#TI-Messenger-Nutzer sucht Einträge im FHIR-Directory] zu finden. Für die Prüfung des Matrix-OpenID-Tokens MUSS der Zugriff auf den Endpunkt /_matrix/federation/v1/openid/userinfo  ermöglicht werden.

Abbildung 21 : Laufzeitsicht - Einträge im VZD-FHIR-Directory suchen  

[<=]

5.2 Berechtigungsmanagement

Das Berechtigungsmanagement sieht 2 Stufen der Prüfung vor. Zuerst erfolgt eine Prüfung auf Seiten des Fachdienstes durch den Messenger-Proxy (siehe 3.2.2.2 Messenger-Proxy) und anschließend eine Prüfung auf Empfängerseite durch den Fachdienst bzw. den TI-M Client.

5.2.1 Messenger-Proxy Prüfungen

Der Messenger-Proxy als Prüfinstanz aller eingehenden sowie ausgehenden Anfragen zum Messenger-Service ist für die Regelung der gemäß Matrix Client-Server-API und Matrix-Server-Server-API geltenden Aufrufe zuständig. Die folgenden Kapitel beschreiben die an der jeweiligen API durchzuführenden Prüfungen.

5.2.1.1 Client-Server Prüfungen

In der Funktion als Client-Server Proxy prüft der Messenger-Proxy eingehende Invite- und createRoom-Events der TI-M Clients (in der Abbildung rot dargestellt) und fungiert so als Reverse-Proxy. Bei jedem Invite-Event wird geprüft ob der einzuladende Akteur seinen Account auf einem Server der Föderation hat. Nach erfolgreicher Prüfung wird das Event an den Matrix-Homeserver des Einladenden weitergeleitet. Der Matrix-Homeserver prüft daraufhin, ob die beteiligten Akteure auf demselben Matrix-Homeserver registriert sind. Ist dies nicht der Fall, wird das Invite-Event an den zuständigen Messenger-Proxy des Einzuladenden gerichtet, wobei die Regeln der Server-Server Kommunikation durchzuführen sind.  

A_25532 - Prüfung Föderationszugehörigkeit

Bei jedem Invite-Event MUSS der Messenger-Proxy prüfen, ob die in der Anfrage enthaltenen Matrix-Domains zur TI-Föderation gehören (siehe Kapitel 5.1.3 Föderationszugehörigkeit prüfen).  [<=]

A_25537 - Aktualisierung Föderationsliste

Kann eine zu prüfende Domain nicht in der Föderationsliste gefunden werden MUSS der Messenger-Proxy bei seinem Registrierungs-Dienst eine neue Version der Föderationsliste abrufen. [<=]

A_25534 - Fehlschlag Föderationsprüfung

Kann nach der Aktualisierung der Föderationsliste die Domain nicht in der Föderationsliste gefunden werden, dann MUSS der Messenger-Proxy die Anfrage mit dem folgenden JSON-Objekt ablehnen:

Responsecode 403 
{ 
  "errcode": "M_FORBIDDEN",  
  "error": "<Matrix-Domain> kann nicht in der Föderation gefunden werden"  
}
[<=]

5.2.1.2 Server-Server Prüfungen

In der Funktion als Server-Server Proxy prüft der Messenger-Proxy alle ausgehenden sowie eingehenden Events. Damit fungiert der Server-Server Proxy sowohl als Forward als auch als Reverse-Proxy. Im Gegensatz zum Client-Server Proxy prüft der Server-Server Proxy bei jedem Event die Föderationszugehörigkeit (siehe Kapitel 5.1.3 Föderationszugehörigkeit prüfen). Somit kann ausgeschlossen werden, dass mit einem nicht mehr zur Föderation gehörenden Messenger-Service kommuniziert werden kann.

A_25533 - Server Föderationszugehörigkeit

Bei jedem Event MUSS der Messenger-Proxy die Föderationszugehörigkeit der im Event enthaltenen Matrix-Domains prüfen (siehe Kapitel 5.1.3 Föderationszugehörigkeit prüfen).  [<=]

A_25540 - Server Prüfung eingehende Kommunikation

Bei eingehender Kommunikation MUSS der Messenger-Proxy gemäß [Server-Server API/#request-authentication] die im Authorization-Header Attribut "origin" enthaltene Domain auf Föderationszugehörigkeit prüfen. [<=]

A_25541 - Server Prüfung ausgehende Kommunikation

Bei ausgehender Kommunikation MUSS der Messenger-Proxy gemäß [Server-Server API/#request-authentication] die im Authorization-Header Attribut "destination" enthaltene Domain auf Föderationszugehörigkeit prüfen. [<=]

5.2.2 Akteursspezifische Berechtigungskonfiguration

Neben den im Messenger-Proxy hinterlegten Berechtigungsprüfungen, soll der TI-Messenger Akteur steuern können, wer Ihn zum Chat in neue Räume einladen darf, damit er selbst die Kontrolle über sein Chataufkommen erhält.

Der Akteur muss einstellen können:

  • dass jeder andere TI-Messenger Akteur ihn einladen darf,
  • dass nur interne TI-Messenger Akteure (gleiche Organisation) ihn einladen dürfen,
  • dass nur TI-Messenger Akteure auf der von ihm gepflegten Allow-List ihn einladen dürfen,
  • dass TI-Messenger Akteure auf der von ihm gepflegten Block-List ihn nicht einladen dürfen.
5.2.2.1 Berechtigungen setzen

Die folgenden Grafiken illustrieren den Vorgang zum Setzen der Berechtigungen.

Abbildung 22: Beispielhaftes UI zum Setzen der Berechtigungen

Abbildung 23: Logischer Ablauf beim Setzen der Berechtigungen

Die Berechtigungskonfiguration soll so aufgesetzt werden, dass diese in der Zukunft erweitert werden kann. Durch die TI-Messenger Basisspezifikation werden die folgenden Einstellungen unterstützt:

  • Aufnahme einzelner MXID der Akteure
  • Aufnahme von beliebigen Domains

A_25045 - Funktionsumfang der Berechtigungskonfiguration

Der TI-M Client MUSS für die Konfiguration der Berechtigungskonfiguration folgende Varianten unterstützen:

  1. Basiseinstellung ist "allow all" und der Akteur pflegt eine BlockedUser-Liste, in die auch Gruppen aufgenommen werden können.
  2. Basiseinstellung ist "block all" und der Anwender lässt den Kontakt für andere Akteure über die Pflege einer AllowedUser-Liste zu, die auch Gruppen enthalten kann
[<=]

A_26016 - Basiseinstellung vorgeben

Der TI-M Client MUSS ermöglichen, dass ein TI-Messenger-Anbieter die Basiseinstellung der Berechtigungskonfiguration vordefinieren kann.  [<=]

A_25043 - Berechtigungskonfiguration in Accountdaten speichern

Der TI-M Client MUSS die Berechtigungskonfiguration aus den Accountdaten des Matrix-Homeservers [Client-Server API/#client-config] beziehen und Änderungen an der Berechtigungskonfiguration in den Accountdaten des Matrix-Homeservers speichern. [<=]

A_25044 - Namespace für Berechtigungskonfiguration

Der TI-M Client MUSS für die Nutzung der Berechtigungskonfiguration in den Accountdaten des Matrix-Homeservers den Namespace de.gematik.tim.account.permissionconfig.v1 verwenden. [<=]

A_25258 - Schema der Berechtigungskonfiguration

Die Daten der Berechtigungskonfiguration MÜSSEN dem JSON-Schema [api-messenger/src/schema/permissionConfig.json] entsprechen. [<=]

5.2.3 Berechtigungsprüfung

Die folgende Grafik zeigt am Beispiel der Übermittlung eines Invite-Events zwischen zwei Messenger-Services, welche Komponenten zu welchen Zeitpunkten die Berechtigungsprüfungen durchführen, nachdem der Akteur in seinem Client die Berechtigungskonfiguration vorgenommen hat.

Abbildung 24: Berechtigungsprüfungen

Der Messenger-Proxy muss im Rahmen seiner Prüfung, die im Anwendungsfall AF_10064-02 - Föderationszugehörigkeit eines Messenger-Service prüfen geforderten Kriterien erfüllen. Die weitere Berechtigungsprüfung (blaue Blöcke in der Grafik) der Einladung erfolgt dann entweder ebenfalls im TI-M FD oder alternativ auf dem TI-M Client des eingeladenen Akteurs.

A_26021 - Durchsetzung der Berechtigungskonfiguration - Fachdienst

Der TI-M FD KANN die hinterlegte Berechtigungskonfiguration durchsetzen. [<=]

A_25046 - Durchsetzung der Berechtigungskonfiguration - Client

Der TI-M Client MUSS die hinterlegte Berechtigungskonfiguration durchsetzen, wenn der verwendete Fachdienst die Durchsetzung nicht anbietet. [<=]

5.3 Push-Benachrichtigungen

In den folgenden Kapiteln wird dargestellt, wie im Kontext vom TI-Messenger Push-Benachrichtigungen realisiert werden. Die Kapitel beschreiben exemplarisch die Einrichtung und den Empfang von Push-Benachrichtigungen. Im Anschluss wird in den einzelnen Kapiteln auf die Anforderungen an die beteiligten Komponenten eingegangen.

5.3.1 Push-Konfiguration

Die folgende Grafik verdeutlicht beispielhaft den Ablauf zur Einrichtung der Push-Konfiguration an Gateway und Homeserver.

Abbildung 25: Push-Konfiguration

  • Der Ersteller der TI-Messenger Client App hinterlegt unter einer eindeutigen App-ID die Zugangsinformationen für den jeweiligen Push-Anbieter. Z.b. unter einer ID die Zugangsdaten zu FCM, um Android-Geräte mit Benachrichtigungen versorgen zu können und unter einer anderen ID die Zugangsdaten zu APN, um IOS-Geräte beliefern zu können.
  • Der Ersteller der TI-Messenger Client App hinterlegt in der App die gerade angelegte App-ID und die Push-Gateway URL
  • Ein Akteur in der Rolle User installiert einen TI-Messenger Client auf seinem Endgerät
  • Der Akteur stimmt dem Nutzen von Push-Nachrichten zu
  • Die App registriert sich beim Push-Anbieter und erhält ein PushAnbieter-AppToken über das sich die App eindeutig identifizieren lässt.
  • Die App konfiguriert am Homeserver das zu verwendende Push-Gateway u.a. über die Parameter Gateway-Url, die App_ID und den PushAnbieter-AppToken

Hinweis: Zur besseren Übersichtlichkeit wurden nicht alle Parameter im Diagramm aufgeführt, die an den APIs notwendig wären.

Hinweis: Der datenschutzrechtlich Verantwortliche für die TI-M Clients hat vor und während der Verwendung von Push-Anbietern zu prüfen ob diese eine rechtmäßige Datenverarbeitung erlauben. Insbesondere ist hierfür eine kontinuierliche Prüfung auf das Vorhandensein eines Angemessenheitsbeschlusses für das Zielland erforderlich.

5.3.2 Push-Zustellung

Unterschiedliche Ereignisse (Erwähnungen, Einladungen, etc.) können je nach Konfiguration dazu führen, dass eine Benachrichtigung auf dem Endgerät des Akteurs erscheinen soll. Das folgende Diagramm zeigt den exemplarischen Ablauf einer Zustellung.

Abbildung 26: Push-Zustellung

  • Durch ein Ereignis ausgelöst, weist der Fachdienst das für die App konfigurierte Push-Gateway an, eine Benachrichtigung an ein Endgerät oder mehrere Endgeräte zu senden.
  • Das Push-Gateway ermittelt über die empfangene App_ID den zu verwendenden Push-Anbieter und sendet den Benachrichtigungsinhalt und den eindeutigen Push-Anbieter-AppToken an diesen.
  • Der Push-Anbieter übermittelt die Benachrichtigung und den Push-Anbieter-AppToken an das passende Endgerät.
  • Das Betriebssystem informiert die TI-Messenger Client App über neue Benachrichtigung
  • Die TI-Messenger Client App fragt beim Homeserver die zur EventID passenden Inhalte ab
  • Die TI-Messenger Client App entschlüsselt die Inhalte und erzeugt eine Notification auf dem Endgerät mit den entschlüsselten Inhalten

Hinweis: Zur besseren Übersichtlichkeit wurden nicht alle Parameter im Diagramm aufgeführt, die an den APIs notwendig wären.

5.3.3 TI-M Client App

Die TI-M Client Apps registrieren sich beim Push-Anbieter und erhalten ein PushAnbieter-AppToken. Der TI-M Client muss sicherstellen, dass das PushAnbieter-AppToken sicher auf dem Endgerät verwahrt wird und nicht missbräuchlich verwendet werden kann.

A_22965-01 - Push-Benachrichtigungen Messenger-Anbieter

TI-Messenger-Anbieter MÜSSEN sicherstellen, dass Push-Benachrichtigungen erst nach expliziter Zustimmung der Nutzer erfolgen (Opt-In) dürfen. [<=]

5.3.4 Push-Gateway

Ein Push-Gateway wird vom Hersteller der TI-M Client App zur Verfügung gestellt und ist ein Server, der Ereignisbenachrichtigungen von Matrix-Homeservern über definierte Schnittstellen empfängt und diese an andere Push-Dienste weiterleitet.

A_25033 - Bereitstellung Push Gateway

Für TI-M Clients für mobile Szenarien MUSS ein Push-Gateway bereitgestellt werden, über welches die App mit Push-Benachrichtigungen beliefert wird. [<=]

A_25286 - Push-Gateway API

Das Push-Gateway MUSS für Homeserver eine API gemäß [Push Gateway API] bereitstellen. [<=]

5.3.5 TI-M FD

Der TI-Messenger Fachdienst ist flexibel in Bezug auf Push-Benachrichtigungen. Über eine API, kann eine TI-Messenger Client App das von Ihr gewünschte Push-Gateway konfigurieren. Neben dem Gateway kann der Akteur in der Rolle User über die [Client-Server API/#push-notifications] konfigurieren, für welche Ereignisse Benachrichtigungen erwünscht sind.

A_25034 - TI-M Fachdienst - Push Notifications Datenschutz

Der TI-M Fachdienst MUSS das Push-Format "event_id_only" beim Anlegen eines Pushers über die [Client-Server API/#push-notifications] durchsetzen. [<=]

A_22808-01 - Push-Benachrichtigungen Timing

Push-Nachrichten MÜSSEN vor dem Versenden um einen Zufallswert von 0-10 Sekunden verzögert werden, um timingbasierte Profilbildung zu erschweren. [<=]

5.4 TI-M spezifische Kommunikation

Das Matrix-Protokoll erlaubt, während der Erstellung eines Chatraumes einen eigenen Raumtyp (Custom Room Type) für diesen mit Hilfe einer Typinitialisierung im /createRoom Endpunkt zu definieren, um verschiedene Anwendungsszenarien anhand von Raumeigenschaften (Room State) für diesen Custom Room Type voneinander abzugrenzen. Außerdem erlaubt das Matrix-Protokoll die Eigenschaften eines Chatraumes mit State Events zu erweitern bzw. zu ändern. Typische State Events, die einen Room State definieren und die durch das Matrix-Protokoll definiert sind, sind zum Beispiel m.room.name oder m.room.topic. Das Matrix-Protokoll erlaubt auch benutzerdefinierte State Events (Custom State Events) zu verwenden. In der vorliegenden Spezifikation werden bereits erste Custom Room Types sowie Custom State Events mit von der gematik definierten Event Types und Event Content definiert. Dies ermöglicht im Kontext des TI-Messengers, eine spezifischere und damit strukturiertere und gerichtetere Kommunikation durchzuführen, als es mit Standard Matrix-Chaträumen möglich wäre und damit Anwendungsfälle zu unterstützen. Konkret werden zunächst Definitionen für den Fallbezug (Referenzierung von Behandlungsfällen im medizinischen Versorgungskontext) von Chats sowie für die interne und intersektorale Kommunikation eingeführt. Für die fallbezogene sowie die föderierte und intersektorale Kommunikation ist es vorgesehen, im Event Content eines Custom State Events definierte FHIR-Objekte als Payload zu hinterlegen.

In diesem Kapitel werden Basis-Anwendungsfälle und deren systemseitige Implikationen beschrieben, die von jeder Produktlinie des TI-Messengers unterstützt werden müssen. Die folgende Abbildung gibt einen Überblick über diese Anwendungsfälle:

Abbildung 27: Basis-Anwendungsfälle TI-M spezifischer Kommunikation

Umsetzungsauflage: Voraussetzung für die Nutzbarkeit der TI-M spezifischen Kommunikation als Feature des TI-Messengers ist die Unterstützung von Encrypted State Events von Chatrooms im Matrix-Protokoll. Diese Voraussetzung ist derzeit im Matrix- Protokoll noch nicht vollständig erfüllt. Daher müssen von TI-Messenger Herstellern nur diejenigen Aspekte dieser Feature-Beschreibung umgesetzt werden, die eindeutige Anforderungs-IDs ("A_*") tragen. Außerdem muss der gesamte Unterabschnitt 5.5.2 Fallbezogene Kommunikation inkl. dessen eindeutiger Anforderungs-IDs nicht umgesetzt werden.

5.4.1 Basis-Anwendungsfall

Um TI-M spezifische Kommunikation gezielt beschreiben zu können, werden die folgenden Custom State Events für Chatrooms eingeführt, die die Eigenschaften der State Events m.room.name und m.room.topic aufweisen:

Custom State Event:
Event type: "de.gematik.tim.room.name"
Event state_key: <leer> (0-Längen-Zeichenkette)
Event content: <name: festgelegter Raumname>

Custom State Event:
Event type: "de.gematik.tim.room.topic"
Event state_key: <leer> (0-Längen-Zeichenkette)
Event content: <topic: festgelegtes Raumthema>

5.4.1.1 TI-M Client

Dabei entspricht der Substring "de.gematik.tim.room" beim Event Type dem durch die gematik zugewiesenen Namespace. Die Substrings "name" bzw. "topic" entsprechen der eindeutigen ID des jeweiligen spezifischen Event Types. Der TI-M Client muss die Custom State Events mit dem Event Type "de.gematik.tim.room.name" und  "de.gematik.tim.room.topic" erzeugen können. Dabei muss durch den TI-M Client sichergestellt werden, dass

  • diese beiden Custom State Events zur Benennung des Raumnames bzw. -themas verwendet werden, sofern im selben Raum auch Custom State Events der fallbezogenen oder föderierten/intersektoraler Kommunikation verwendet wurden,
  • als unmittelbare Nachfolge-Events die State Events  m.room.topic und m.room.name leer sind (0-Längen-Zeichenkette),
  • die Event Definitionen (einschließlich Event Content) und das Event Format dieser beiden Custom State Events, abgesehen von der eindeutigen ID (Event Type), mit denen von den State Events m.room.topic und m.room.name gemäß [Client-Server API] übereinstimmen.

A_25999 - spezifische Custom State Events nur in dafür vorgesehenen Custom Room Types

Der TI-M Client MUSS sicherstellen, dass Custom State Events mit dem Präfix "de.gematik.tim.room" nur in Custom Room Types mit dem Präfix "de.gematik.tim.roomtype" erzeugt werden. [<=]

A_25810 - Endpunkt-Aufrufe in spezifischen Chatroom-Typen

Der TI-M Client MUSS es ermöglichen, dass raumbezogene Endpunkt-Aufrufe, z. B. /_matrix/client/v3/rooms/{roomId}/invite nach der Verwendung von Custom State Events und Räumen mit einem Custom Room Type ohne Einschränkungen erfolgen können. [<=]

Beispiele gemäß [Client-Server API]:

{
"content": { "name": "Ein TI-Messenger spezifischer Raumname" }, "event_id": "$143273582443PhrSn:example.org", "origin_server_ts": 1432735824653, "room_id": "<room_id des existierenden Chatraumes>", "sender": "@example:example.org", "state_key": "", "type": "de.gematik.tim.room.name", "unsigned": { "age": 1234 } }

{
 "content": { "topic": "Ein TI-Messenger spezifisches Raumthema" },
 "event_id": "$143273582443PhrSn:example.org",
 "origin_server_ts": 1432735824653,
 "room_id": "<room_id des existierenden Chatraumes>",
 "sender": "@example:example.org",
 "state_key": "",
 "type": "de.gematik.tim.room.topic",
 "unsigned": {
   "age": 1234
 }
}

  
5.4.1.2 Matrix-Homeserver

A_25820 - Entgegennehmen von spezifischen State Events und Room Types

Der Matrix-Homeserver MUSS die Event Types der folgenden Custom State Events entgegennehmen können, ohne diese auszuwerten, abzuweisen oder auf diese mit einer Fehlermeldung zu reagieren:

  • Custom State Events
    • de.gematik.tim.room.name
    • de.gematik.tim.room.topic
[<=]

A_25821 - Ausschluss von Wechselwirkungen spezifischer State Events mit Room Versions

Die Erzeugung von Custom State Events der Event Types "de.gematik.tim.room.name" und "de.gematik.tim.room.topic" DARF NICHT die Definition einer neuen oder angepassten Matrix Room Version zur Folge haben. Vorhandene Raumdefinitionen MÜSSEN gemäß der Default Room Version der anzuwendenden Matrix-Protokollversion vollständig erhalten bleiben. [<=]

5.4.2 Fallbezogene Kommunikation

Die fallbezogene Kommunikation ermöglicht es den Nutzern, strukturierte Daten zu einem medizinischen Fall auszutauschen und in ihrem Primärsystem weiterzuverarbeiten. Nachfolgend aufgeführte Bedarfe stehen exemplarisch für viele weitere Nutzungsszenarien.

Tabelle 15 : typische Bedarfe für fallbezogene Kommunikation mit TI-M

Bedarfstyp Bedarf
User Story einer Arztpraxis: "Fallbezug herstellen"
Als niedergelassener Arzt in einer Praxis findet ein großer Teil meiner Kommunikation mit anderen Leistungserbringern unter Bezugnahme zu einem Patienten oder Fall statt. Meine Nachrichten möchte ich unter diesem Aspekt verwalten können.
User Story einer Arztpraxis: "Archivieren patientenbezogener Informationen" Als Arzt in einer Praxis möchte ich fallbezogene Kommunikation in meinem Praxisverwaltungssystem in der jeweiligen lokalen Akte des Patienten dokumentieren und somit nachvollziehbar speichern können.
User Story einer Pflegestation: "Über aktuellen Patientenfall informieren" Als Pflegefachkraft auf einer Station möchte ich die Kollegen auf meiner Station über Neuigkeiten zu einem Patienten informieren und relevante Informationen (z. B. anstehende To-Dos bei einem Schichtwechsel) teilen.
5.4.2.1 TI-M Client

Damit User fallbezogen über den TI-Messenger kommunizieren können, muss der TI-M Client während der Raumerzeugung ebenfalls den Raumtypen initialisieren und zur Initialsierungszeit mit den vorgesehenen Custom State Events füllen. Daher gilt:

A_25755 - Verwendung eines spezifischen Chatroom-Typen für fallbezogene Kommunikation

Der TI-M Client MUSS den Custom Room Type "de.gematik.tim.roomtype.casereference.v1" für die fallbezogene Kommunikation mit Hilfe eines parametrisierten Aufrufs des /createRoom Endpunktes erzeugen und verwenden. [<=]

A_25756 - Pflichtparameter bei der Chatroom-Erzeugung für fallbezogene Kommunikation

Der Custom Room Type "de.gematik.tim.roomtype.casereference.v1" MUSS über den Aufruf des /createRoom Endpunkts erzeugt werden. Diese Pflichtparameter sind dabei zu verwenden (dargestellt als sortierte hierarchische Liste):

  • creation_content
    • type: de.gematik.tim.roomtype.casereference.v1
  • initial_state (State Event Liste)
    • de.gematik.tim.room.casereference.v1 (Custom State Event)
      • Event type: de.gematik.tim.room.casereference.v1
        Event state_key: <vom Sender festgelegt>
        Event content: <wird in [simplifier] definiert>
    • de.gematik.tim.room.name (Custom State Event)
      • <Beschreibung siehe Abschnitt "Basis-Anwendungsfall">
    • de.gematik.tim.room.topic (Custom State Event)
      • <Beschreibung siehe Abschnitt "Basis-Anwendungsfall">
  • name
    • <leer> (0-Längen-Zeichenkette)
  • topic
    • <leer> (0-Längen-Zeichenkette)
[<=]

Im Custom Room Type de.gematik.tim.roomtype.casereference.v1 entspricht der Substring "de.gematik.tim.roomtype" dem durch die gematik zugewiesenen Namespace. Die Substrings "casereference" bzw. "v1" entsprechen dem eindeutigen Custom Room Type des zu initialisierenden Raumes bzw. dessen Raumtypversionsnummer (Hinweis: meint nicht Room Version).

Im Custom State Event de.gematik.tim.room.casereference.v1 entspricht der Substring "de.gematik.tim.room" beim Event Type dem durch die gematik zugewiesenen Namespace. Die Substrings "casereference" bzw. "v1" entsprechen der eindeutigen ID des Events Types bzw. dessen Versionsnummer.

A_25757 - Verwendung von spezifischen FHIR-Ressourcen im Event Content für fallbezogene Kommunikation

Für die Abbildung der fallbezogenen Kommunikation MÜSSEN spezifische FHIR-Ressourcen im Event Content als JSON-Daten eingetragen werden. Weiterhin MÜSSEN diese FHIR-Ressourcen als FHIR-Bundle zusammengefasst werden. Diese FHIR-Ressourcen MÜSSEN den Profilvorgaben aus dem Simplifier-Projekt [simplifier] entsprechen. [<=]

Dabei ist zu beachten, dass die Canonical URLs der Ressourcen immer http://gematik.de/fhir/TIM/CaseReference enthalten.

A_25808 - Erzeugung von spezifischen State Events für fallbezogene Kommunikation

Der TI-M Client MUSS ein Custom State Event mit dem Event Type "de.gematik.tim.room.casereference.v1" in einem Chatroom-Typ des Custom Room Types "de.gematik.tim.roomtype.casereference.v1" erzeugen können. [<=]

A_25809 - Vermeidung bestimmter State Events und Ersatznutzung für fallbezogene Kommunikation

Der TI-M Client MUSS Custom State Events mit den Event Types "de.gematik.tim.room.topic" und "de.gematik.tim.room.name" erzeugen und in "de.gematik.tim.roomtype.casereference.v1" Room Types verwenden können. Dabei MUSS durch den TI-M Client sichergestellt werden, dass die State Events m.room.topic und m.room.name leer sind (0-Längen-Zeichenkette). [<=]

Abgesehen von diesen Festlegungen gilt die Aufrufreihenfolge für den /createRoom Endpunkt-Aufruf gemäß [Client-Server API].

Beispiel für Pflichtparameter gemäß [Client-Server API] beim /createRoom Endpunkt-Aufruf:

{
    "creation_content":
{         "type": "de.gematik.tim.roomtype.casereference.v1"     }
    "initial_state": [
        {
            "content": { <wird in [simplifier] definiert> },
            "state_key": "<vom Sender festgelegt>",
            "type": "de.gematik.tim.room.casereference.v1",
        },
        {
            "content": {
                "name": "Ein TI-Messenger spezifischer Raumname"
            },
            "state_key": "",
            "type": "de.gematik.tim.room.name",
        },
        {
            "content": {
                "topic": "Ein TI-Messenger spezifisches Raumthema"
            },
            "state_key": "",
            "type": "de.gematik.tim.room.topic",
        }
    ],
    "invite": [
        null
    ],
    "name": "",
    "topic": "",
}
5.4.2.2 Matrix-Homeserver

A_25811 - Entgegennehmen von spezifischen State Events und Room Types für die fallbezogene Kommunikation

Der Matrix-Homeserver MUSS die folgenden Custom Room Types sowie die folgenden Event Types der Custom State Events entgegennehmen können, ohne diese auszuwerten, abzuweisen oder auf diese mit einer Fehlermeldung zu reagieren:

  • Custom Room Type: de.gematik.tim.roomtype.casereference.v1
  • Custom State Event: de.gematik.tim.room.casereference.v1
[<=]

A_25812 - Ausschluss von Wechselwirkungen spezifischer State Events und Room Types mit Room Versions für die fallbezogene Kommunikation

Die Erzeugung von Chatrooms mit Custom Room Types "de.gematik.tim.roomtype.casereference.v1" sowie von Custom State Events des Event Types "de.gematik.tim.room.casereference.v1" DARF NICHT die Definition einer neuen oder angepassten Matrix Room Version zur Folge haben. Vorhandene Raumdefinitionen gemäß der Default Room Version der anzuwendenden Matrix-Protokollversion aus [Matrix Specification] müssen vollständig erhalten bleiben. [<=]

5.4.3 Föderierte und intersektorale Kommunikation

Die föderierte und intersektorale Kommunikation ermöglicht es, Akteuren innerhalb des TI-Messenger Dienstes mit anderen Akteuren organisationsübergreifend und föderiert zu kommunizieren.

5.4.3.1 TI-M Client

Hierfür MUSS der TI-M Client während der Raumerzeugung ebenfalls den Raumtypen initialisieren und zur Initialisierungszeit mit den vorgesehenen Custom State Events füllen.

A_25426 - Verwendung des Chatroom-Typen für föderierte und intersektorale Kommunikation

Der TI-M Client MUSS den Custom Room Type "de.gematik.tim.roomtype.default.v1" für die föderierte und intersektorale Kommunikation mit Hilfe eines parametrisierten Aufrufs des /createRoom Endpunktes erzeugen und verwenden. [<=]

A_25814 - Verwendung des Chatroom-Typen für föderierte und intersektorale Kommunikation als Standard-Chatroom-Typ

Der TI-M Client MUSS den Custom Room Type "de.gematik.tim.roomtype.default.v1" als Default bzw. Standard-Chatroom-Typ verwenden, sofern nicht explizit ein anderer Custom Room Type durch den raumerzeugenden Nutzer ausgewählt wird und sofern mindestens ein weiterer Teilnehmer aus anderen Organisationen bzw. der Föderation eingeladen werden. [<=]

A_25813 - Pflichtparameter bei der Chatroom-Erzeugung für föderierte und intersektorale Kommunikation

Der Custom Room Type "de.gematik.tim.roomtype.default.v1" wird über den Aufruf des /createRoom Endpunkts erzeugt. Diese Pflichtparameter sind dabei zu verwenden (dargestellt als sortierte hierarchische Liste):

  • creation_content
    • type: de.gematik.tim.roomtype.default.v1
  • initial_state (State Event Liste)
    • de.gematik.tim.room.default.v1 (Custom State Event)
      • Event type: de.gematik.tim.room.default.v1
        Event state_key: <vom Sender festgelegt>
        Event content: <wird in [simplifier] definiert>
    • de.gematik.tim.room.name (Custom State Event)
      • <Beschreibung siehe Abschnitt "Basis-Anwendungsfall">
    • de.gematik.tim.room.topic (Custom State Event)
      • <Beschreibung siehe Abschnitt "Basis-Anwendungsfall">
  • name
    • <leer> (0-Längen-Zeichenkette)
  • topic
    • <leer> (0-Längen-Zeichenkette)
[<=]

Im Custom Room Type de.gematik.tim.roomtype.default.v1 entspricht dabei der Substring "de.gematik.tim.roomtype" dem durch die gematik zugewiesenen Namespace. Die Substrings "default" bzw. "v1" entsprechen dem eindeutigen Custom Room Type des zu initialisierenden Raumes bzw. dessen Raumtypversionsnummer (Hinweis: meint nicht Room Version).

Im Custom State Event de.gematik.tim.room.default.v1 entspricht dabei der Substring "de.gematik.tim.room" beim Event Type dem durch die gematik zugewiesenen Namespace. Die Substrings "default" bzw. "v1" entsprechen der eindeutigen ID des Event Types bzw. dessen Versionsnummer.

A_25816 - Erzeugung von spezifischen State Events für föderierte und intersektorale Kommunikation

Der TI-M Client MUSS ein Custom State Event mit dem Event Type "de.gematik.tim.room.default.v1" in einem Chatroom-Typ des Custom Room Types "de.gematik.tim.roomtype.default.v1" erzeugen können. [<=]

A_25817 - Vermeidung bestimmter State Events und Ersatznutzung für föderierte und intersektorale Kommunikation

Der TI-M Client MUSS Custom State Events mit den Event Types "de.gematik.tim.room.topic" und "de.gematik.tim.room.name" erzeugen und in "de.gematik.tim.roomtype.default.v1" Room Types verwenden können. Dabei MUSS durch den TI-M Client sichergestellt werden, dass die State Events m.room.topic und m.room.name leer sind (0-Längen-Zeichenkette). [<=]

Abgesehen von diesen Festlegungen gilt die Aufrufreihenfolge für den /createRoom Endpunkt-Aufruf gemäß [Client-Server API].

Beispiel für Pflichtparameter gemäß [Client-Server API] beim /createRoom Endpunkt-Aufruf:

{
    "creation_content":
{         "type": "de.gematik.tim.roomtype.default.v1"     }
    "initial_state": [
        {
            "content": { <wird in [simplifier] definiert> },
            "state_key": "<vom Sender festgelegt>",
            "type": "de.gematik.tim.room.default.v1",
        },
        {
            "content": {
                "name": "Ein TI-Messenger spezifischer Raumname"
            },
            "state_key": "",
            "type": "de.gematik.tim.room.name",
        },
        {
            "content": {
                "topic": "Ein TI-Messenger spezifisches Raumthema"
            },
            "state_key": "",
            "type": "de.gematik.tim.room.topic",
        }
    ],
    "invite": [
        null
    ],
    "name": "",
    "topic": "",
}

5.4.3.2 Matrix-Homeserver

A_25818 - Entgegennehmen von spezifischen State Events und Room Types für föderierte und intersektorale Kommunikation

Der Matrix-Homeserver MUSS die folgenden Custom Room Types sowie die folgenden Event Types der Custom State Events entgegennehmen können, ohne diese auszuwerten, abzuweisen oder auf diese mit einer Fehlermeldung zu reagieren:

  • Custom Room Type: de.gematik.tim.roomtype.default.v1
  • Custom State Event: de.gematik.tim.room.default.v1
[<=]

A_25819 - Ausschluss von Wechselwirkungen spezifischer State Events und Room Types mit Room Versions für föderierte und intersektorale Kommunikation

Die Erzeugung von Chatrooms mit Custom Room Types "de.gematik.tim.roomtype.default.v1" sowie von Custom State Events des Event Types "de.gematik.tim.room.default.v1" DARF NICHT die Definition einer neuen oder angepassten Matrix Room Version zur Folge haben. Vorhandene Raumdefinitionen gemäß der Default Room Version der anzuwendenden Matrix-Protokollversion aus [Matrix Specification] müssen vollständig erhalten bleiben. [<=]

6 Anhang A – Verzeichnisse

6.1 Abkürzungen

Tabelle 16: Im Dokument verwendete Abkürzungen

Kürzel
Erläuterung
API Application Programming Interface
FD Fachdienst
IdP Identity Provider
KIM Kommunikation im Medizinwesen
LDAP Lightweight Directory Access Protocol
OSCP Offensive Security Certified Professional
TLS Transport Layer Security
VZD Verzeichnisdienst

6.2 Glossar

Tabelle 17: Im Dokument verwendete Begriffe

Begriff
Erläuterung
Funktionsmerkmal Der Begriff beschreibt eine Funktion oder auch einzelne, eine logische Einheit bildende Teilfunktionen der TI im Rahmen der funktionalen Zerlegung des Systems.

Das Glossar wird als eigenständiges Dokument (vgl. [gemGlossar]) zur Verfügung gestellt.

6.3 Abbildungsverzeichnis

6.4 Tabellenverzeichnis

6.5 Referenzierte Dokumente

6.5.1 Dokumente der gematik

Die nachfolgende Tabelle enthält die Bezeichnung der in dem vorliegenden Dokument referenzierten Dokumente der gematik zur Telematikinfrastruktur. Der mit der vorliegenden Version korrelierende Entwicklungsstand dieser Konzepte und Spezifikationen wird pro Release in einer Dokumentenlandkarte definiert; Version und Stand der referenzierten Dokumente sind daher in der nachfolgenden Tabelle nicht aufgeführt. Deren zu diesem Dokument jeweils gültige Versionsnummern sind in der aktuellen, von der gematik veröffentlichten Dokumentenlandkarte enthalten, in der die vorliegende Version aufgeführt wird.

Tabelle 18: Referenzierte Dokumente der gematik

[Quelle]
Herausgeber: Titel
[api-messenger] gematik: Implementierungsleitfaden zum TI-Messenger
https://github.com/gematik/api-ti-messenger
[api-testtreiber] gematik: Testtreiber-Schnittstelle
https://github.com/gematik/api-ti-messenger/blob/main/src/openapi/TiMessengerTestTreiber.yaml
[api-vzd] gematik: Verzeichnisdienst der Telematikinfrastruktur
https://github.com/gematik/api-vzd
[gematik Authenticator] gematik Authenticator
https://fachportal.gematik.de/hersteller-anbieter/komponenten-dienste/authenticator
[gematik Testkonzept] gematik: Test und Zertifizierung TI-Messenger
https://github.com/gematik/api-ti-messenger/blob/tim-epa-fdv/docs/Test/Test.adoc
[gematik Testsuite] gematik TI-Messenger Testsuite
https://github.com/gematik/TI-Messenger-Testsuite
[gemGlossar] gematik: Einführung der Gesundheitskarte – Glossar
[gemKPT_Betr] gematik: Betriebskonzept Online-Produktivbetrieb 
[gemKPT_Test] gematik: Testkonzept der TI
[gemSpec_IDP_Dienst] gematik: Spezifikation Identity Provider-Dienst
[gemSpec_IDP_FD] gematik: Spezifikation Identity Provider – Nutzungsspezifikation für Fachdienste
[gemSpec_Krypt] gematik: Übergreifende Spezifikation: Verwendung kryptographischer Algorithmen in der Telematikinfrastruktur
[gemSpec_OID] gematik: Spezifikation Festlegung von OIDs
[gemSpec_Perf] gematik: Übergreifende Spezifikation Performance und Mengengerüst TI-Plattform
[gemSpec_SST_LD_BD] gematik: Spezifikation Logdaten- und Betriebsdatenerfassung
[gemSpec_VZD_FHIR_Directory] gematik: Spezifikation Verzeichnisdienst FHIR-Directory
[gemKPT_Test] gematik: Testkonzept der TI
[OCSP-Responder] gematik: OCSP-Responder
RSA: http://download.crl.ti-dienste.de/ocsp
ECC: http://download.crl.ti-dienste.de/ocsp/ec
[ROOT-CA] ROOT-CA Download Punkt
https://download.tsl.ti-dienste.de/ECC/ROOT-CA/ 
[ROOT-CA-JSON] ROOT-CA Download Punkt als JSON-Datei
https://download.tsl.ti-dienste.de/ECC/ROOT-CA/roots.json 
[simplifier] gematik: TI-Messenger
https://simplifier.net/tim 

6.5.2 Weitere Dokumente

Tabelle 19: Weitere Referenzen

[Quelle]
Herausgeber (Erscheinungsdatum): Titel
[BITV 2.0] Verordnung zur Schaffung barrierefreier Informationstechnik nach dem Behindertengleichstellungsgesetz (Barrierefreie-Informationstechnik-Verordnung - BITV 2.0)
https://www.gesetze-im-internet.de/bitv_2_0/BJNR184300011.html
[BSI 2-Faktor]  BSI 2-Faktor Authentisierung für mehr Datensicherheit
https://www.bsi.bund.de/DE/Themen/Verbraucherinnen-und-Verbraucher/Informationen-und-Empfehlungen/Cyber-Sicherheitsempfehlungen/Accountschutz/Zwei-Faktor-Authentisierung/Bewertung-2FA-Verfahren/bewertung-2fa-verfahren_node.html 
[BSI ORP.4] BSI ORP.4: Identitäts- und Berechtigungsmanagement (Stand Februar 2021)https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Grundschutz/Kompendium_Einzel_PDFs_2021/02_ORP_Organisation_und_Personal/ORP_4_Identitaets_und_Berechtigungsmanagement_Editon_2021.html
[BSI-TR-03166] BSI TR-03166 - Technical Guideline for Biometric Authentication Components in Devices for Authentication 
https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/Publications/TechGuidelines/TR03166/BSI-TR-03166.pdf
[Client-Server API] Matrix Foundation: Matrix Specification - Client-Server API
https://spec.matrix.org/v1.3/client-server-api/ 
[FHIR] HL7 FHIR Dokumentation
https://www.hl7.org/fhir/documentation.html 
[ISO 9241] Ergonomics of human-system interaction
https://www.iso.org
[Matrix Appendices] Matrix Foundation: Matrix Specification - Appendices
https://spec.matrix.org/v1.3/appendices/ 
[Matrix Specification] Matrix Foundation: Matrix Specification
https://spec.matrix.org/v1.3/
[OpenID] OpenID Foundation
https://openid.net/developers/specs/ 
[OWASP PBKDF2] OWASP Password Storage Cheat Sheet
https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html#pbkdf2
[OWASP Proactive Control] OWASP Proactive Controls
https://owasp.org/www-project-proactive-controls/ 
[Push Gateway API] Matrix Foundation: Matrix Specification - Push Gateway API
https://spec.matrix.org/v1.3/push-gateway-api/ 
[RFC4122] IETF: A Universally Unique IDentifier (UUID) URN Namespace
https://datatracker.ietf.org/doc/html/rfc4122 
[Room Versions]
Matrix Foundation: Matrix Specification - Room Versions
https://spec.matrix.org/v1.3/rooms/ 
[Server-Server API] Matrix Foundation: Matrix Specification - Server-Server API
https://spec.matrix.org/v1.3/server-server-api/ 
[SSSS] Matrix Foundation: Secrets Storage & Sharing
https://spec.matrix.org/v1.3/client-server-api/#secrets