gematik / api-kim

API specification for gematik's KIM - a secure Email standard, which enables the exchange of information and payload in the German healthcare sector.
Other
33 stars 12 forks source link

[Kommentierung 1.5.3] A_23737 - Clientmodul - Übermittlung von zusätzlichen Header-Informationen #39

Open CLAM01 opened 1 year ago

CLAM01 commented 1 year ago

A_23737 - Clientmodul - Übermittlung von zusätzlichen Header-Informationen Das Clientmodul MUSS beim Versand einer Nachricht die folgenden X-KIM Header erzeugen.

X-KIM-ToData Enthält Daten aus dem VZD-Eintrag des Empfängers (MAIL TO). Wenn mehrere professionOID oder specialization Attribute vorhanden sind, werden sie durch "|" getrennt. Format: {,,,}

X-KIM-CcData Enthält die Daten aus dem VZD-Eintrag des Empfängers (MAIL CC). Wenn mehrere professionOID oder specialization Attribute vorhanden sind, werden sie durch "|" getrennt. Format: {,,,}

Frage: Wie soll vorgegangen werden, wenn es in einer KIM-Nachricht mehrere CC oder TO gibt. Sollen dann n Header der gleichen Keynames vorhanden sein? Es wird ja nur beschrieben dass prtofessionOID und specialization durch | getrennt werden müssen.

gem-cp commented 1 year ago

Eine Abstimmung mit dem BfDI erfolgt noch.

dhufnagel commented 1 year ago

Ich hatte es so gelesen, dass in dem Fall mehrerer TO oder CC Adressen, die Header pro Adresse gesetzt werden müssen. Ich halte die komplette AFO jedoch für problematisch, siehe #29

CLAM01 commented 1 year ago

Ja, so hat die Afo den Anschein, was ich als problematisch sehe. Das würde aber bei einer Mail an viele TO und CC einen enormen Overhead in den Headern erzeugen. BTW. All diese Daten gehen danach zu lasten des LE, denn er kann dann immer weniger Daten versenden, da die Header Datenplatz belegen wenn es viele werden.

dhufnagel commented 1 year ago

Aus meiner Sicht ist es der falsche Weg, statistische Informationen zu erfassen, da die Komplexität des CmM erhöht wird, welches tausendfach clientseitig installiert wird. Die Daten kann man auch beim erheben der Statistik vom vzd abfragen.

CLAM01 commented 1 year ago

Ok, die eigentliche Frage hat sich geklärt, nachdem man unter die Tabelle schaut und da den Satz findet:

...Wenn mehrere Empfänger adressiert wurden, MUSS das jeweilige Header-Element mehrfach angegeben werden.[<=]

stophane commented 1 year ago

Hallo zusammen,

die bereits berechtigten Anmerkgungen von @dhufnagel in #28 & #29 aufgreifend...

Diese Anforderung ist unter verschiedenen Gesichtspunkten massiv problematisch:

Tabelle mit Header-Elementen: In der Tabelle wird der Bezug zu MAIL FROM & RCPT TO sowie Cc etc. hergestellt, was nicht geeignet ist. Daten in SMTP-Protokollschritten sind nicht gleich Daten in MIME-Message-Headern. Der E-Mail-Transport an Empfänger wird einzig anhand der SMTP-Protokollschritte RCPT TO, je Empfänger erfolgen. Ein RFC-konformer Mail-Client sendet die Adressinformationen aus MimeMessage-Header To, Cc, Bcc über RCPT TO an Clientmodul und Clientmodul an FD-Mailserver. Folglich spielt für den technisch stattfindenden Transport einer Mail, der eigentliche Mail-Header in KIM keine Rolle (umliegende Afo. Absenderintegrität erfüllt). (Beachte auch Bcc-handling in RFC-konformen Mail-Clients https://www.rfc-editor.org/rfc/rfc2822#section-3.2.6 https://www.rfc-editor.org/rfc/rfc5321#section-7.2 -> Bcc nicht Teil der Mime-Message, jedoch trotzdem per SMTP RCPT TO)


[!!!]

Die Anforderung ist zu hinterfragen & neu zu evaluieren (hohes Risiko – Fehlerpotenzial, Redundanz, …)


Vorschlag: Zentrale Systeme haben die Möglichkeit VZD-Informationen selbst und bedarfsgerecht zu ermitteln. Dies kann bereits anhand der KIM-Adresse erfolgen.

(1) (ideal) Zentraler gematik reporting service erhält Informationen KIM-Anwnedungsdomäne von KIM FD und reichert diese mit Informationen aus zentralem VZD selbst an (Suchschlüssel KIM-Adresse).

(2) Zentraler KIM FD ermittelt die Daten analog (1), bloß entsprechend pseudonymisiert, siehe nachfolgende Punkte. => Auch hier können je FD-Instanz verschiede Probleme, inkonsistente Abbildung analog den o.g. Punkte entstehen. Jedoch sind es in diesem Fall aktuell nur 6 betroffene, zentral steuerbare Services, statt knapp 100k+ Clientmodule im dezentralen Bereich.

Für o.g. Aspekte sind relevante Anforderungen aus der Fachdienstspezifikation zu beachten, u.a.:

Abschnitt 5.4 Betriebsdatenerfassung aufgreifen Ja, hashing ist ein geeignetes Mittel zu pseudonymisieren. Jedoch sind KIM-Adressen ohnehin öffentlich einsehbar und durch den VZD als lookup table nutzbar. => Zur "sicheren", nicht-rückauflösbaren Abbildung der hashes sollen diese mit einem salt versehen werden. (!) Sofern diese Abbildung/Afo. zum tragen kommt, muss die Länge sowie die randomisierte Abbildung der salts definiert werden. Ist salt nicht "random genung" und oder zu kurz = Rückschlüsse "einfach" möglich.

Viele Grüße