gemSpec_TI-M_Basis_V1.1.0_CC







Elektronische Gesundheitskarte und Telematikinfrastruktur





Spezifikation

TI-Messenger (Basis)




    
Version 1.1.0_CC
Revision 968345
Stand 16.08.2024
Status zur Abstimmung freigegeben
Klassifizierung öffentlich_Entwurf
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
1.1.0_CC 16.08.2024 Einarbeitung Matrix-Update 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. Teilnahmeberechtigte Akteure sind dabei grundsätzlich Angehörige solcher Organisationen, deren eigene Institutions-OID mit einer der in "Tab_PKI_403-x OID-Festlegung Institutionen im X.509-Zertifikat der SMC-B" der [gemSpec_OID] gelisteten ProfessionOIDs übereinstimmt.

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

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

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-01 - Matrix Spezifikationsversion

Als Basis MUSS die Matrix Spezifikation in der Version 1.11 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.

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.

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

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.

Details zu Ablauf und Konfiguration von Berechtigungen 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 z. B. 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_26435 - Ver- und Entschlüsselung

Die Ver- und Entschlüsselung MUSS lokal auf dem TI-M Client erfolgen. [<=]

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-01 - Sperre des TI-Messenger Clients

Es MUSS sichergestellt sein, dass der Zugriff auf den TI-M Client, der kein Web-Client ist, erst nach Authentisierung gegenüber dem TI-M Client möglich ist. Mit Authentisierung ist die Überwindung einer App-Sperre gemeint. [<=]

A_26023-01 - 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 die Überwindung der App-Sperre (des TI-M Clients) anbieten. [<=]

A_25502-01 - Entsperrung per Biometrie

Wird für die Überwindung der App-Sperre zum Zugriff auf den TI-M Client das Mittel Biometrie als möglicher Faktor für die Authentisierung angeboten, MUSS es den Vorgaben aus [gemSpec_IDP_Sek], Kapitel 4.3.2.2 ("Nutzung von Biometrie") genügen. [<=]

A_26024 - Hinweise zu Authentisierungsarten

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

A_25503-01 - Notwendigkeit der Entsperrung

Die Überwindung der Sperre zum Zugriff auf den TI-M Client MUSS unter folgenden Bedingungen gefordert werden:

  • nach jedem Start der Anwendung,  
  • nach jedem Benutzerwechsel am Betriebssystem, 
  • jedes Mal, wenn die App (auf einem Mobilgerät) in den Zustand „aktiv“ wechselt, 
  • oder spätestens nach 5 Minuten Inaktivität
[<=]

A_26446 - Wechsel auf stärkeres Authentisierungsverfahren

Hat der Akteur ein niederschwelliges Verfahren zur Überwindung der App-Sperre gewählt, MUSS der TI-M Client dem Akteur jederzeit die Möglichkeit bieten, wieder auf ein stärkeres Verfahren zu wechseln. [<=]

A_26227 - Längenbegrenzung von Annotationen in Reactions

Der TI-M Client MUSS sicherstellen, dass der Wert des Attributes key im Event-Content in Events des Typs m.reaction beim Erzeugen die Länge eines einzelnen Unicode-Characters bzw. dessen Code Point Repräsentation
nicht überschreitet. [<=]

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

A_26394 - Administration von Usern

Der Org-Admin-Client MUSS folgende Verwaltungsaktionen, bezogen auf die User von Messenger-Services, die durch die eigene Organisation verwaltet werden, unterstützen:

  • Auflisten der Gesamtmenge dieser User
  • Direktes oder indirektes (provisioniertes) Anlegen eines Users
  • Löschen oder dauerhaftes Deaktivieren eines Users
[<=]

A_26395 - Administration von Geräten

Der Org-Admin-Client MUSS folgende Verwaltungsaktionen, bezogen auf die User von Messenger-Services und deren Geräte, die durch die eigene Organisation verwaltet werden, unterstützen:

  • Anzeigen aller Geräte bzw. Gerätebindungen eines Users
  • Löschen von Geräten und deren User-Zuordnung
[<=]

A_26396 - Org-Admin Authentisierung und Rollenwechsel

Der TI-M Client MUSS zur Erlangung der Rolle "Org-Admin" eine Authentisierung des User für diese Rolle erzwingen. Dieses gilt auch für einen Wechsel in diese Rolle aus einer bestehenden anderen Rolle. [<=]

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-01 - 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
FN:<displayname aus dem Matrix User Profil>
IMPP:<Matrix-URI>
END:VCARD

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

A_25422-01 - 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 Parametern FN 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. [<=]

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.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-01 - 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
Content Repository
MUSS MUSS MUSS
Direct Messaging MUSS MUSS MUSS
Ignoring Users KANN KANN KANN
Instant Messaging MUSS MUSS MUSS
Presence MUSS MUSS MUSS
Push Notifications
KANN MUSS KANN
Receipts MUSS MUSS MUSS
Room History Visibility
MUSS MUSS MUSS
Room Upgrades
MUSS MUSS MUSS
Third-party Invites DARF NICHT DARF NICHT DARF NICHT
Typing Notifications
MUSS MUSS MUSS
User and Room Mentions MUSS MUSS MUSS
Voice over IP KANN KANN KANN
Client Config
MUSS MUSS MUSS
Device Management
MUSS MUSS MUSS
End-to-End Encryption
MUSS MUSS MUSS
Event Annotations and Reactions
MUSS3 / KANN4
MUSS3 / KANN4 MUSS3 / KANN4
Event Context
MUSS MUSS MUSS
Event Replacements
MUSS MUSS MUSS
Fully Read Markers
MUSS MUSS MUSS
Guest Access
DARF NICHT
DARF NICHT DARF NICHT
Moderation Policy Lists
DARF NICHT
DARF NICHT
DARF NICHT
OpenID MUSS MUSS MUSS
Reference Relations
KANN KANN KANN
Reporting Content
MUSS MUSS MUSS
Rich replies KANN KANN KANN
Room Previews
KANN KANN KANN
Room Tagging
KANN KANN KANN
SSO Client Login/Authentication
MUSS MUSS MUSS
Secrets MUSS MUSS MUSS
Send-to-Device Messaging
MUSS MUSS MUSS
Server Access Control Lists (ACLs) KANN KANN KANN
Server Administration
MUSS1 / KANN2
MUSS1 / KANN2  MUSS1 / KANN2 
Server Notices
MUSS MUSS MUSS
Server Side Search
MUSS MUSS MUSS
Spaces KANN KANN KANN
Sticker Messages
KANN
KANN
KANN
Third Party Networks
DARF NICHT
DARF NICHT
DARF NICHT
Threading DARF NICHT DARF NICHT DARF NICHT

1 für Akteure in der Rolle Org-Admin (Org-Admin-Client)
2 für Akteure in der Rolle User
3 Fähigkeit zur Verarbeitung und Anzeige
4 Fähigkeit zur Erzeugung
[<=]

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_26196 - Unterstützung von hkdf-hmac-sha256

TI-M Clients MÜSSEN für die Device Verification das MAC-Verfahren hkdf-hmac-sha256 unterstützen und beim Start der Verification zusätzlich zu hkdf-hmac-sha256.v2 anbieten1.
1 [Client-Server API/#mac-calculation] [<=]

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_25433-01 - Konfiguration von Public Read Receipts

TI-M Clients MÜSSEN dem Nutzer erlauben, das Senden öffentlicher Lesebestätigungen (m.read) an- und abzuschalten. [<=]

A_26220 - Defaulteinstellung für Public Read Receipts

TI-M Clients MÜSSEN das Senden öffentlicher Lesebestätigungen standardmäßig deaktivieren ("Privacy by Default" gemäß Art. 25 Abs. 2 DSGVO). [<=]

A_26221 - Private Read Receipts

TI-M Clients MÜSSEN private Lesebestätigungen (m.read.private) versenden, sofern das Senden öffentlicher Lesebestätigungen deaktiviert ist. [<=]

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_26249 - Historie von Event Replacements

TI-M Clients MÜSSEN eine leicht erreichbare Funktion zur Anzeige der Änderungshistorie von Nachrichten, die durch m.replace-Relationen ersetzt wurden, anbieten. [<=]

A_26261 - Eindeutige Darstellung von Event Replacements

TI-M Clients MÜSSEN Nachrichten, die durch m.replace-Relationen ersetzt wurden, optisch eindeutig kennzeichnen, damit dem Nutzer die Ersetzung offensichtlich wird. [<=]

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

A_26193 - Verbot der Push Rule Actions dont_notify und coalesce

Beim Anlegen oder Editieren von Push Rules DÜRFEN TI-M Clients die Actions dont_notify und coalesce NICHT verwenden. [<=]

A_26262 - Authenticated Media am Client

TI-M Clients MÜSSEN anstelle der Endpunkte

  • GET /_matrix/media/v3/config
  • GET /_matrix/media/v3/download/{serverName}/{mediaId}
  • GET /_matrix/media/v3/download/{serverName}/{mediaId}/{fileName}
  • GET /_matrix/media/v3/preview_url
  • GET /_matrix/media/v3/thumbnail/{serverName}/{mediaId}
die äquivalenten authentifizierten Endpunkte
  • GET /_matrix/client/v1/media/config
  • GET /_matrix/client/v1/media/download/{serverName}/{mediaId}
  • GET /_matrix/client/v1/media/download/{serverName}/{mediaId}/{fileName}
  • GET /_matrix/client/v1/media/preview_url
  • GET /_matrix/client/v1/media/thumbnail/{serverName}/{mediaId}
verwenden, sofern der Homeserver des angemeldeten Nutzers sie unterstützt. [<=]

Hinweis: Die Endpunkte mit /_matrix/media/v3/-Präfix wurden in Version 1.11 der [Matrix Specification] als deprecated markiert.

A_26268 - Verwendung des Request Headers für Matrix-ACCESS-TOKEN

TI-M Clients MÜSSEN ihr access_token (Token-Art: Matrix-ACCESS-TOKEN) ausschließlich im Authorization Request Header senden. [<=]

Hinweis: Das Senden von Tokens dieser Art im Request als Query Parameter wurde in Version 1.11 der [Matrix Specification] als deprecated markiert.

A_26274 - Umsetzung des Fallback Authentication Flows

TI-M Clients MÜSSEN den Fallback Authentication Flow gemäß [Client-Server API/#fallback] implementieren und für die Menge der nicht nativ unterstützten Login Types verwenden.
[<=]

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 der Identifikation von zugelassenen TI-M Clients ist eine User-Agent-Kennung beim jedem Verbindungsaufbau zu verwenden.

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

Hinweis:
1) Zur Beschreibung der Datenfelder, siehe [gemSpec_Perf].
2) Im TI-M Client als Web-Anwendung 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. TI-M Clients führen dabei selbst keine Archivierung durch und speichern selbst auch keine Archivdaten.

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 auf das VZD-FHIR-Directory ist ein gültiges search-accesstoken notwendig. Durch den Aufruf einer Schnittstelle 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

A_26228 - Längenbegrenzung von Annotationen in Reactions

Der TI-M FD MUSS sicherstellen, dass Events des Typs m.reaction, deren Wert des Attributes key im Event-Content in Events die Länge eines einzelnen Unicode-Characters bzw. dessen Code Point Repräsentation überschreitet, mit dem Response Code 400 und dem Error Code M_BAD_JSON abgewiesen werden. [<=]

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, deren Ausgestaltung nicht normativ von der gematik spezifiziert wird.

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_26436 - Bereitstellung im Internet

Die Schnittstelle I_Registration bzw. das auf der Schnittstelle aufbauende Frontend MUSS für Organisationen, die einen TI-Messenger erwerben wollen, im Internet angeboten 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.

3.2.1.3.1 Bereitstellung und Aktualisierung der Föderationsliste

Inhalt der Föderationsliste sind alle an der Föderation beteiligten Matrix-Domainnamen. Die Funktionsmerkmale zur Bereitstellung und Aktualisierung der Föderationsliste sind im Anwendungsfall 5.1.8 Aktualisierung der Föderationsliste vollständig erläutert. Erhält der Messenger-Proxy vom Registrierungs-Dienst 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. Die x5c-Zertifikatsliste kann selbst auch nur einelementig sein und somit nur das Signaturzertifikat enthalten, ohne darauffolgende weitere Zertifikate der Zertifikatskette. Der in Kapitel 5.1.8 Aktualisierung der Föderationsliste beschriebene Ablauf bleibt davon unbetroffen. Zertifikate der Zertifikatskette, die nicht über die x5c-Zertifikatsliste bereitgestellt werden, werden anhand der Trust-Service Status List (TSL) bzw. ihrer Download-URLs zugänglich gemacht.

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.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_26191 - Verbot des Ausstellens von Login-Tokens

Der TI-M Fachdienst MUSS jedes Request zum Endpunkt /login/get_token1 mit einer HTTP 400/404 Response beantworten, ohne ein Token auszustellen.
1 [Client-Server API/#post_matrixclientv1loginget_token] [<=]

A_26243 - Verbot von Guest Accounts

Der TI-M Fachdienst MUSS das Registrieren von Gastzugängen unterbinden, indem er Requests zum Endpunkt /register1 mit dem Queryparameter kind=guest mit einer HTTP 403 Response beantwortet ohne ein Access Token auszustellen.
1 [Client-Server API/#post_matrixclientv3register] [<=]

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

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

A_26210 - Verpflichtende Unterstützung von Modulen durch TI-M FD

Der TI-M Fachdienst MUSS Client-Module aus 3.1.3.1 Umdefinition der Module, die den Anforderungs-Level MUSS, SOLL oder KANN tragen, verpflichtend unterstützen. [<=]

A_26224 - Abruf einzelner öffentlicher Schlüssel durch andere Fachdienste

Der TI-M Fachdienst MUSS die folgenden Endpunkte zum Abruf öffentlicher Schlüssel durch andere Fachdienste anbieten:

  • GET /_matrix/key/v2/server/{keyId}
  • GET /_matrix/key/v2/query/{serverName}/{keyId}
Das Response-Schema dieser Endpunkte MUSS identisch zu den gleichnamigen Endpunkten ohne {keyId} Pfadkomponente sein. [<=]

A_26225 - Optionale Filterung beim Abruf einzelner öffentlicher Schlüssel durch andere Fachdienste

Der TI-M Fachdienst KANN Requests zu den Endpunkten /_matrix/key/v2/server/{keyId} und /_matrix/key/v2/query/{serverName}/{keyId} mit allen Schlüsseln, d.h. genauso wie die gleichnamigen Endpunkte ohne {keyId} Pfadkomponente, beantworten. [<=]

A_26226 - Verbot des Abrufes einzelner öffentlicher Schlüssel

Der TI-M Fachdienst DARF die Endpunkte /_matrix/key/v2/server/{keyId} und /_matrix/key/v2/query/{serverName}/{keyId} NICHT aufrufen. [<=]

Hinweis: Die Endpunkte mit {keyId} Pfadkomponente wurden mit Version 1.6 aus der Matrix-Spezifikation entfernt, werden von bestehenden Implementierungen u. U. aber noch verwendet. Entgegen der Matrix-Spezifikation unterstützt z. B. der [Synapse] Homeserver diese Endpunkte daher weiterhin (Stand: v1.109.0 vom Juni 2024, siehe auch [Synapse/issues/17323]).

A_26263 - Unauthenticated Media

Der TI-M Fachdienst DARF den Download von Medien über die nicht authentifizierten Endpunkte

  • GET /_matrix/media/v3/download/{serverName}/{mediaId}
  • GET /_matrix/media/v3/download/{serverName}/{mediaId}/{fileName}
  • GET /_matrix/media/v3/thumbnail/{serverName}/{mediaId}
NICHT durch einen Freeze1 einschränken.
1 [Client-Server API/#content-repo-client-behaviour] [<=]

A_26344 - Verbot von URL-Previews

Der TI-M Fachdienst MUSS Requests zu folgenden Endpunkten mit einer HTTP 404 Response ablehnen ohne die übergebene URL aufzurufen:

  • GET /_matrix/media/v3/preview_url
  • GET /_matrix/client/v1/media/preview_url
[<=]

A_26265 - TI-M FD Org-Admin Support

Der TI-M Fachdienst MUSS den Endpunkt /.well-known/matrix/support bereitstellen um dort Kontaktmöglichkeiten zum Org-Admin hinterlegen zu können. [<=]

A_26266 - TI-M Anbieter Org-Admin Support

Der TI-M Anbieter SOLL beim Endpunkt /.well-known/matrix/support Kontaktinformationen zum Org-Admin hinterlegen. [<=]

A_26289 - Authentisierung von Profilabfragen

Der TI-M Fachdienst MUSS nicht authentisierte Requests zu den folgenden Endpunkten mit einer HTTP 401 Response ablehnen:

  • GET /_matrix/client/v3/profile/{userId}
  • GET /_matrix/client/v3/profile/{userId}/avatar_url
  • GET /_matrix/client/v3/profile/{userId}/displayname
[<=]

A_26374 - Profilabfragen bei gemeinsamen Räumen

Der TI-M Fachdienst MUSS Profilabfragen über die folgenden Endpunkte erlauben, sofern der anfragende und der angefragte Nutzer gemeinsame Räume haben:

  • GET /_matrix/client/v3/profile/{userId}
  • GET /_matrix/client/v3/profile/{userId}/avatar_url
  • GET /_matrix/client/v3/profile/{userId}/displayname
  [<=]

A_26330 - Authentisierung von Versionsabfragen

Der Matrix Homeserver MUSS ausgehende Requests zum Endpunkt /_matrix/federation/v1/version¹ gemäß [Server-Server API/#request-authentication] authentisieren.
¹ [Server-Server API/#get_matrixfederationv1version] [<=]

A_26331 - Ablehung nicht authentisierter Versionsabfragen

Der TI-M Fachdienst MUSS nicht authentisierte Requests zum Endpunkt /_matrix/federation/v1/version¹ mit einer HTTP 401 Response ablehnen.
¹ [Server-Server API/#get_matrixfederationv1version] [<=]

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

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.

A_26219 - TI-M Anbieter Monitoring

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

Hinweis: 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_26247 - SRV Records

Verwendet ein TI-M Fachdienst Anbieter für die Auffindbarkeit seines Homeservers DNS-SRV-Einträge, so MUSS er neben einem Eintrag zum Servicenamen _matrix-fed auch einen Eintrag zum Servicenamen _matrix einpflegen. [<=]

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 4: 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 5: 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 6: 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-03 - Anmeldung eines Akteurs am Messenger-Service

Mit diesem Anwendungsfall meldet sich ein Akteur an einen in der TI-Föderation zuständigen Messenger-Service an und registriert seinen TI-M Client als Endgerät. Der TI-M Client KANN die Auswahl der Matrix-Domain des gewünschten Messenger-Service automatisieren oder durch andere Hilfsmittel wie z. B. QR-Codes unterstützten. Erfolgt dies nicht, so MUSS der TI-M Client dem Akteur die freie Eingabe der Matrix-Domain ermöglichen.

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

AF_10057 Anmeldung eines Akteurs am Messenger-Service
Akteur  Akteur 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, Matrix-REFRESH_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 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 8: 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 14: Laufzeitsicht - Austausch von Events zwischen Akteuren innerhalb einer Organisation

[<=]

5.1.6 Einladung von Akteuren außerhalb einer Organisation

AF_10061-03 - 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 9: AF - Einladung von Akteuren außerhalb einer Organisation

AF_10061 Einladung von Akteuren außerhalb einer Organisation
Akteur  Akteur 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 z. B. 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 AF_10235 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 15: Laufzeitsicht - Einladung von Akteuren außerhalb einer Organisation

[<=]

5.1.7 Austausch von Events zwischen Akteuren außerhalb einer Organisation

AF_10062-03 - 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 10: AF - Austausch von Events zwischen Akteuren außerhalb einer Organisation 

AF_10062 Austausch von Events zwischen Akteuren außerhalb einer Organisation
Akteur  Akteur 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 z. B. 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 16: Laufzeitsicht - Austausch von Events zwischen Akteuren außerhalb einer Organisation

[<=]

5.1.8 Aktualisierung der Föderationsliste

AF_10378 - Aktualisierung der Föderationsliste

Der Anwendungsfall beschreibt, wie ein TI-M FD ressourcenschonend die Föderationsliste vom VZD-FHIR-Directory aktualisiert und eine aktuelle Kopie der Liste am Registrierungs-Dienst und Messenger-Proxy vorhält.

Tabelle 11: AF - Aktualisierung der Föderationslite

Attribute Bemerkung
Akteur System
Auslöser
  • Scheduler
  • Schnittstelleaufruf
Komponenten
  • Messenger-Proxy
  • Registrierungs-Dienst
  • FHIR-Proxy
  • Auth-Service
Vorbedingungen keine
Eingangsdaten optional: aktuell verwendete Versionsnummer der Föderationsliste (FLVersion_MP)
(Wenn die Version übergeben wird, dann wird nur bei einer veralteten Version eine neue Föderationsliste vom VZD-FHIR-Directory bereitgestellt.)
Ergebnis Der Messenger-Proxy erhält die Information, eine aktuelle Liste zu besitzen, oder eine neue Föderationsliste, sofern eine aktuellere Version vorliegt.
Ausgangsdaten
  • status
  • Föderationsliste
  • x5c-Zertifikatsliste (enthält mindestens das Signaturzertifikat als erstes Element)

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. Die Prüfung auf Aktualität erfolgt durch den Abgleich der Versionen der Föderationslisten. 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 17: Laufzeitansicht - Aktualisierung der Föderationsliste

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

Abbildung 18: Provider authentifizieren und Föderationsliste abrufen

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

Abbildung 19: Signatur der Föderationsliste prüfen

[<=]

A_25637-01 - Aktualisierung der Föderationsliste

Der Registrierungs-Dienst MUSS die Föderationsliste stündlich abfragen. 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. [<=]

A_26413 - Attribute des Registrierungsdienstes für Aktualisierungsfunktionalität der Föderationsliste

Der Registierungs-Dienst MUSS folgende Attribute und ihre Typen definieren und vorhalten:

Tabelle 12: 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
[<=]

A_26415 - Abfrage der Föderationsliste am VZD-FHIR-Directory

Der Registrierungs-Dienst MUSS die aktuelle TI-M Föderationsliste anhand eines gültigen provider-accesstoken am VZD-FHIR-Directory abrufen und an der internen Schnittstelle I_internVerification bereitstellen. 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. [<=]

A_25638 - Caching der Föderationsliste nach 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. [<=]

A_26417 - Prüfung des HealthState und Änderung der Vorhaltezeit der Föderationsliste

Der Registrierungs-Dienst MUSS seine eigene Vorhaltezeit der Föderationsliste auf einen festgelegten Wert von 72 Stunden (TTL_Föderationsliste) verlängern, sofern das VZD-FHIR-Directory nicht innerhalb einer definierten Antwortzeit erreichbar und weitere Aktualisierungsversuche erfolglos bleiben (HealthState_VZD und HealthStateCheck_VZD). [<=]

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

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.

A_26418 - Prüfung des HealthState der Föderationsliste und Auslösen eines Incidents

Der Registrierungs-Dienst MUSS ein Incident-Event erzeugen, welches durch ein Drittsystem aufgefangen werden kann (z. B. ein ITSM-System) und es MUSS ein Incident beim VZD-FHIR-Directory-Anbieter eingestellt werden, sofern das VZD-FHIR-Directory nicht innerhalb einer definierten Antwortzeit erreichbar und weitere Aktualisierungsversuche erfolglos bleiben (HealthState_VZD und HealthStateCheck_VZD). [<=]

A_26419 - Weiternutzung einer vorgehaltenen Föderationsliste im Falle eines Incidents

Der Registrierungs-Dienst MUSS die vorgehaltene Föderationsliste weiterhin bereitstellen, bis zur Behebung eines Aktualisierungsstörfalls bzw. -incidents, aber höchstens bis zum Erreichen der festgelegten Vorhaltezeit (TTL_Föderationsliste). [<=]

A_26421 - Prüfung der Signatur der Föderationsliste durch Messenger-Proxy

Der Messenger-Proxy MUSS sicherstellen, dass seine lokale Kopie der Föderationsliste nur dann aktualisiert wird, wenn die Signatur der Föderationsliste anhand des Signaturzertifikats gültig ist. [<=]

5.1.9 Einträge im VZD-FHIR-Directory suchen

AF_10235-01 - 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 13: 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.


Abbildung 20 : 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 unter anderem 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_26328 - Prüfung eingehender Medienanfragen

Der Messenger-Proxy MUSS bei eingehender Kommunikation auf folgenden Endpunkten die Pfadkomponente {serverName}
auf Föderationszugehörigkeit prüfen:

  • GET /_matrix/media/v3/download/{serverName}/{mediaId}
  • GET /_matrix/media/v3/download/{serverName}/{mediaId}/{fileName}
  • GET /_matrix/media/v3/thumbnail/{serverName}/{mediaId}
[<=]

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-01 - Prüfung eingehender authentisierter Kommunikation

Ist auf einem eingehenden Request, im Authorization-Header das Attribut origin¹ gesetzt, so MUSS der Messenger-Proxy den enthaltenen Servernamen auf Föderationszugehörigkeit prüfen.
¹ [Server-Server API/#request-authentication]
[<=]

A_25541-01 - Prüfung ausgehender authentisierter Kommunikation

Ist auf einem ausgehenden Request, im Authorization-Header das Attribut destination¹ gesetzt, so MUSS der Messenger-Proxy den enthaltenen Servernamen auf Föderationszugehörigkeit prüfen.
¹ [Server-Server API/#request-authentication]
[<=]

A_26329 - Prüfung ausgehender .well-known Anfragen

Der Messenger-Proxy MUSS bei ausgehender Kommunikation zum Endpunkt /.well-known/matrix/server den im Host-Header enthaltenen Servernamen auf Föderationszugehörigkeit prüfen. [<=]

A_26341 - Prüfung ausgehender Medienanfragen

Der Messenger-Proxy MUSS bei ausgehender Kommunikation auf folgenden Endpunkten die Pfadkomponente {serverName} auf Föderationszugehörigkeit prüfen:

  • GET /_matrix/media/v3/download/{serverName}/{mediaId}
  • GET /_matrix/media/v3/download/{serverName}/{mediaId}/{fileName}
  • GET /_matrix/media/v3/thumbnail/{serverName}/{mediaId}
[<=]

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 21: Beispielhaftes UI zum Setzen der Berechtigungen

Abbildung 22: 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-01 - Funktionsumfang der Berechtigungskonfiguration

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

  1. Basiseinstellung ist "allow all" und der Akteur pflegt eine BlockedUser-Liste, in die auch Domains 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 Domains 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. [<=]

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 23: 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 24: 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 25: 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 Raumversionen

Raumversionen sind ein zentraler Bestandteil von Matrix und definieren strikte Regeln für erlaubte Inhalte und Operationen in Räumen. Im Folgenden sind Anforderungen an TI-M Clients und Fachdienste festgehalten, durch die sowohl Interoperabilität als auch zukünftige Erweiterungen im Zusammenhang mit Raumversionen gewährleistet werden.

A_26200 - Unterstützte Raumversionen am Client

Der TI-M Client MUSS die Raumversionen 9, 10 und 11 gemäß [Room Versions] unterstützen. [<=]

A_26201 - Unterstützte Raumversionen am Fachdienst

Der TI-M Fachdienst MUSS die Raumversionen 9, 10 und 11 gemäß [Room Versions] unterstützen. [<=]

A_26202 - Erlaubte Raumversionen beim Erstellen von Räumen

Der TI-M Fachdienst MUSS die Verwendung anderer Raumversionen als 9 und 10 beim Erstellen von Räumen verhindern, z. B. indem er entsprechende Requests an den Endpunkt /createRoom mit einer HTTP 400 Response ablehnt. [<=]

A_26248 - Default-Raumversion beim Erstellen von Räumen

Der TI-M Fachdienst MUSS beim Erstellen von Räumen standardmäßig Raumversion 10 verwenden, sofern vom TI-M Client keine andere Version angefragt wurde. [<=]

A_26203 - Erlaubte Raumversionen beim Upgrade von Räumen

Der TI-M Fachdienst MUSS Upgrades auf andere Raumversionen als 9 und 10 verhindern, z. B. indem er entsprechende Requests an den Endpunkt /rooms/{roomId}/upgrade mit einer HTTP 400 Response ablehnt. [<=]

5.5 TI-M spezifische Kommunikation

Das Matrix-Protokoll erlaubt die Definition eigener Raumtypen (Custom Room Types), um verschiedene Anwendungsszenarien für Räume zu unterscheiden. Der Raumtyp kann dafür bei der Erzeugung eines Raumes am /createRoom Endpunkt übergeben werden. Des Weiteren sieht das Matrix-Protokoll vor, bestimmte Eigenschaften von Räumen durch State Events wie z. B. m.room.name und m.room.topic festzulegen. Insbesondere können auch eigene State Events (Custom State Events) verwendet werden.

In der vorliegenden Spezifikation werden bereits erste Custom Room Types und Custom State Events mit von der gematik vorgegebenem Event Type und Event Content definiert. Dies ermöglicht im Kontext des TI-Messengers die Unterstützung spezieller Anwendungsfälle durch eine spezifischere, strukturiertere und gerichtetere Kommunikation, als es mit Standard Matrix-Räumen möglich wäre.

Konkret werden im Folgenden zunächst Definitionen für die Referenzierung von Behandlungsfällen im medizinischen Versorgungskontext (Fallbezug von Chats) sowie für die föderierte und intersektorale Kommunikation eingeführt. Hierbei ist vorgesehen, vordefinierte FHIR-Objekte im Event Content von Custom State Events zu hinterlegen.

Weiterhin werden Basis-Anwendungsfälle und deren systemseitige Implikationen beschrieben, die von jeder Produktlinie des TI-Messengers unterstützt werden müssen.

Abbildung 26: 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 verschlüsselten State Events im Matrix-Protokoll. Diese Voraussetzung ist derzeit noch nicht vollständig erfüllt. Daher müssen TI-Messenger Herstellern nur diejenigen Aspekte dieser Feature-Beschreibung umsetzen, die eindeutige Anforderungs-IDs ("A_*") tragen. Der Unterabschnitt 5.5.2 Fallbezogene Kommunikation inklusive dessen eindeutiger Anforderungs-IDs muss nicht umgesetzt werden.

5.5.1 Basis-Anwendungsfall

Um TI-M spezifische Kommunikation gezielt beschreiben zu können, werden die Standard State Events m.room.name und m.room.topic durch folgende Custom State Events ersetzt:

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.5.1.1 TI-M Client

Der TI-M Client erzeugt und verwendet die Custom State Events de.gematik.tim.room.name und de.gematik.tim.room.topic in Räumen mit fallbezogener bzw. föderierter und intersektoraler Kommunikation. Die Standard State Events m.room.topic und m.room.name verbleiben dabei leer.

A_26338 - Erzeugung und Verwendung der Custom State Events für Raumnamen und -thema

In Räumen mit Custom Room Types der Form de.gematik.tim.roomtype.* MUSS der TI-M Client die Custom State Events de.gematik.tim.room.name und de.gematik.tim.room.topic anstelle der Standard State Events m.room.name und m.room.topic verwenden. Der TI-M Client MUSS dabei sicherstellen, dass das Schema dieser Custom State Events bis auf den Event Type identisch zu den Standard State Events ist und, dass die Felder name und topic im Event Content der Standard State Events leer sind (0-Längen-Zeichenkette). [<=]

Hinweis: Die "Verwendung" der Custom State Events bezieht sich auf alle Szenarien, in denen gemäß [Matrix Specification] die Standard State Events zur Anwendung kommen. Dies schließt z. B. das in [Client-Server API/#calculating-the-display-name-for-a-room] beschriebene Verfahren zur Berechnung des Anzeigenamens eines Raumes ein.

Beispiele für die Custom State Events de.gematik.tim.room.name und de.gematik.tim.room.topic:

{ 
"content": {
"name": "Ein TI-Messenger spezifischer Raumname"
}, "event_id": "$143273582443PhrSn:example.org", "origin_server_ts": 1432735824653,
  "room_id": "!jEsUZKDJdhlrceRyVU:example.org", "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": "!jEsUZKDJdhlrceRyVU:example.org",
 "sender": "@example:example.org",
"state_key": "",
 "type": "de.gematik.tim.room.topic",
 "unsigned": {
   "age": 1234
 }
}

  
5.5.1.2 Matrix-Homeserver

A_25820-01 - Auswertung der Custom State Events für Raumnamen und -thema

An allen Stellen, an denen gemäß [Matrix Specification] die Standard State Events m.room.name und m.room.topic ausgewertet werden, SOLL der Matrix-Homeserver stattdessen die Inhalte der Custom State Events de.gematik.tim.room.name und de.gematik.tim.room.topic verwenden. Dies betrifft insbesondere die Zusammenstellung des Stripped State¹ von Räumen, die Replikation von State Events im Rahmen von Raum-Upgrades und die serverseitige Suche in Events.
¹ [Client-Server API/#stripped-state] [<=]

5.5.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 14 : 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.5.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)
[<=]

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

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

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

5.5.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.5.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-01 - Verwendung des Raumtypen für föderierte und intersektorale Kommunikation als Standard

Der TI-M Client MUSS standardmäßig den Raumtyp de.gematik.tim.roomtype.default.v1 verwenden, sofern nicht explizit ein anderer, von der gematik zugelassener Custom Room Type durch den raumerzeugenden Nutzer ausgewählt wird. [<=]

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

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

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

6 Anhang A – Verzeichnisse

6.1 Abkürzungen

Tabelle 15: 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 16: 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 17: 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
[gemSpec_IDP_Sek] gematik: Spezifikation Sektoraler Identity Provider
[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 18: 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.11/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.11/appendices 
[Matrix Specification] Matrix Foundation: Matrix Specification
https://spec.matrix.org/v1.11 
[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.11/push-gateway-api 
[RFC2119] IETF: Key words for use in RFCs to Indicate Requirement Levels
https://datatracker.ietf.org/doc/html/rfc2119
[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.11/rooms/
[Server-Server API] Matrix Foundation: Matrix Specification - Server-Server API
https://spec.matrix.org/v1.11/server-server-api 
[SSSS] Matrix Foundation: Secrets Storage & Sharing
https://spec.matrix.org/v1.11/client-server-api/#secrets
[Synapse] Element: Synapse Matrix homeserver
https://github.com/element-hq/synapse