Skip to content

Latest commit

 

History

History
335 lines (279 loc) · 12.6 KB

Email_Verarbeitung.adoc

File metadata and controls

335 lines (279 loc) · 12.6 KB

E-Mail Handling

Diese Seite gibt einen Überblick über den Prozess der E-Mail Verarbeitung durch ein KIM-Clientmodul und einen beispielhaften Einblick in den Aufbau der E-Mail nach den jeweiligen Prozesschritten. Als Beispiel wird das Happy Day Szenario vom Versand einer Mail gewählt, die wegen ihrer Größe(20 MiB) einen Versand unter Einbezug des KIM-Attachment Service nach sich zieht. In die Client-Mail wurde ebenfalls die Verwendung eines modifizierten From Headers inkludiert. Das folgende Kapitel befasst sich mit dem Versandvorgang einer Clientmail, während der Empfangsvorgang dann in Kapitel Empfang einer E-Mail beschrieben wird.

1. Versand einer E-Mail

Der Versand einer Mail startet, wenn von einem Client-System über SMTP eine MIME-Mail an das KIM-Clientmodul übergeben wird.

Ablauf beim Versand einer E-Mail

1.1. Client-Mail empfangen

Das KOM-LE Clientmodul empfängt eine BASE64 kodierte Nachricht von einem Clientsystem(KIS, PVS, etc). Diese Mail verfügt über einen Anhang der eine Verarbeitung mit dem KIM-Attachment Service nötig macht und über den From Header wird versucht einen falschen Absender zu simulieren. Vom Clientsystem wurde keine X-KIM-Dienstkennung gesetzt.

Client Mail
Message-ID: <c37a9fe5-a4b2-222d-35ba-6358fa26e48b@gematik.kim.telematik-test>
Date: Fri, 9 Sep 2022 15:47:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
To: "user.test15@gematik.kim.telematik-test"
 <user.test15@gematik.kim.telematik-test>,
 not_allowed_recipient@not.telematik-test
From: "not allowed mail sender"
	<notallowed@not.kim.telematik-test>
Subject: KIM 1.5 Testnachricht
Sender: user.test15@gematik.kim.telematik-test
Content-Type: multipart/mixed; boundary="------------v0Sp8vvZ1qGfAWh1MYiwrJ0W"

--------------v0Sp8vvZ1qGfAWh1MYiwrJ0W
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Text der Testnachricht

--------------v0Sp8vvZ1qGfAWh1MYiwrJ0W
Content-Type: text/plain; charset=UTF-8; name="20mb.test"
Content-Disposition: attachment; filename="20mb.test"
Content-Transfer-Encoding: base64

fHx3d3cuZGFzaW50ZXJuZXQubmV0f[...]

--------------v0Sp8vvZ1qGfAWh1MYiwrJ0W--

1.2. Client-Mail prozessiert

Das KOM-LE Clientmodul verarbeitet die Client-Mail und ergänzt die fehlende X-KIM-Dienstkennung. Es wird erkannt, dass die im From Header angegebene E-Mail Adresse nicht mit der Adresse des Senders aus dem SMTP FROM Kommando übereinstimmt und die Adresse im From Header entsprechend ersetzt.

Mail mit Header und Senderkorrektur
Message-ID: <c37a9fe5-a4b2-222d-35ba-6358fa26e48b@gematik.kim.telematik-test>
Date: Fri, 9 Sep 2022 15:47:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: KIM 1.5 Testnachricht
X-KIM-Dienstkennung: KIM-Mail;Default;V1.0
From: "user.test15@gematik.kim.telematik-test"
	<user.test15@gematik.kim.telematik-test>
To: "user.test15@gematik.kim.telematik-test"
	<user.test15@gematik.kim.telematik-test>
Content-Type: multipart/mixed; boundary="------------v0Sp8vvZ1qGfAWh1MYiwrJ0W"

--------------v0Sp8vvZ1qGfAWh1MYiwrJ0W
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Text der Testnachricht

--------------v0Sp8vvZ1qGfAWh1MYiwrJ0W
Content-Type: text/plain; charset=UTF-8; name="1mb.test"
Content-Disposition: attachment; filename="1mb.test"
Content-Transfer-Encoding: base64

fHx3d3cuZGFzaW50ZXJuZXQubmV[...]

--------------v0Sp8vvZ1qGfAWh1MYiwrJ0W--

1.3. Client-Mail hochgeladen

Von der korrigierten (From Header) und um die Dienstkennung erweiterte Mail wird eine Kopie angelegt, die die Basis für die an den Fachdienst zu übermittelnde KOM-LE Nachricht bildet. Anschließen wir die modifizierte Client-Mail signiert und verschlüsselt und das binäre Ergebnis und durch Aufruf der Methode addAttachment auf den KIM Attachment Service hochgeladen. Nach einem erfolgreichen Upload ersetzt das KOM-LE Modul den Body der KOM-LE Nachricht durch die KIM Attachment Datenstruktur.

KOM-LE Nachricht mit Attachment Datenstruktur
Message-ID: <c37a9fe5-a4b2-222d-35ba-6358fa26e48b@gematik.kim.telematik-test>
Date: Fri, 9 Sep 2022 15:47:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: KIM 1.5 Testnachricht
X-KIM-Dienstkennung: KIM-Mail;Default;V1.0
From: "user.test15@gematik.kim.telematik-test"
	<user.test15@gematik.kim.telematik-test>
To: "user.test15@gematik.kim.telematik-test"
	<user.test15@gematik.kim.telematik-test>
Content-Type: text/plain; charset=utf-8
Content-Disposition: x-kas

{"link":"https://kas.gematik.kim.telematik-test/attachments/v2.3/attachment/a566f001-7fa6-4f87-a088-7def2d609c87","k":"AZtUCtV3M5mTC/XzfDDl25mZ4FwoOADyaIi3Fn8wH6w=","hash":"Wc148UGImi84VG3H/fF+3x6ouGMknls6hf2wn0qcqjU=","size":27262976}

1.4. KOM-LE Mail finalisiert

Der Body der KOM-LE Nachricht wird ebenfalls signiert und verschlüsselt und im Header Informationen zum verwendeten Clientmodul, der Produkltypversion und dem verwendeten Konnektor hinterlegt. Anschließend wird die Nachricht per SMTP an den Fachdienst übertragen.

signierte und verschlüsselte KOM-LE Nachricht
Subject: KOM-LE-Nachricht
Date: Fri, 9 Sep 2022 15:47:00 +0200
From: "user.test15@gematik.kim.telematik-test"
	<user.test15@gematik.kim.telematik-test>
To: "user.test15@gematik.kim.telematik-test"
	<user.test15@gematik.kim.telematik-test>
Message-ID: <c37a9fe5-a4b2-222d-35ba-6358fa26e48b@gematik.kim.telematik-test>
X-KIM-Dienstkennung: KIM-Mail;Default;V1.0
X-KOM-LE-Version: 1.5
X-KIM-CMVersion: AKNET_1.1.0-0
X-KIM-PTVersion: 1.2.1
X-KIM-KONVersion: <secunet konnektor 2.0.0><Konnektor
 PTV5><5.0.2><2.0.0><5.0.5><null>
MIME-Version: 1.0
Expires: Thu, 08 Dec 2022 15:48:35 +0200
Content-Type: application/pkcs7-mime; smime-type=authenticated-enveloped-data;
	name=smime.p7m
Content-Disposition: attachment; filename=smime.p7m
Content-Transfer-Encoding: base64

MIAGCyqGSIb3DQEJEA[...]

2. Empfang einer E-Mail

Die folgenden Kapitel befassen sich mit der empfangenden Seite des KIM Clientmoduls, die nun die in den vorherigen Kapiteln zusammengestellte KOM-LE Mail vom Fachdienst abrufen und verarbeiten wird.

Ablauf beim Empfang einer E-Mail

2.1. KOM-LE Mail empfangen

Über POP3 ruft das KIM Clientmodul eine KOM-LE Nachricht beim Fachdienst ab.

abgerufene KOM-LE Nachricht
Return-Path: <user.test15@gematik.kim.telematik-test>
Received: from 10.65.0.11 (EHLO 192.168.169.20:64500) ([10.65.0.11])
          by mailserver.gematik.kim.telematik-test (JAMES SMTP Server ) with ESMTPA ID 54965859
          for <user.test15@gematik.kim.telematik-test>;
          Fri, 09 Sep 2022 15:50:05 +0200 (CEST)
Subject: KOM-LE-Nachricht
Date: Fri, 9 Sep 2022 15:47:00 +0200
From: "user.test15@gematik.kim.telematik-test"
	<user.test15@gematik.kim.telematik-test>
To: "user.test15@gematik.kim.telematik-test"
	<user.test15@gematik.kim.telematik-test>
Message-ID: <c37a9fe5-a4b2-222d-35ba-6358fa26e48b@gematik.kim.telematik-test>
X-KIM-Dienstkennung: KIM-Mail;Default;V1.0
X-KOM-LE-Version: 1.5
X-KIM-CMVersion: KIM_CM_1.1.0-0
X-KIM-PTVersion: 1.2.1
X-KIM-KONVersion: <konnektor 2.0.0><Konnektor
 PTV5><5.0.2><2.0.0><5.0.5><null>
MIME-Version: 1.0
Expires: Thu, 08 Dec 2022 15:48:35 +0200
Content-Type: application/pkcs7-mime; smime-type=authenticated-enveloped-data;
	name=smime.p7m
Content-Disposition: attachment; filename=smime.p7m
Content-Transfer-Encoding: base64

MIAGCyqGSIb3DQEJEAEXoIAwg[...]

2.2. KOM-LE Mail prozessiert

Das KIM-Clientmodul entschlüsselt die KOM-LE Nachricht und führt die Integritätsprüfungsschritte durch. Nach der Entschlüsselung ist die KIM-Attachment Datenstruktur lesbar und die Informationen können genutzt werden, um die auf dem KAS abgelegte Client Mail abzurufen.

entschlüsselte KOM-LE Mail
Message-ID: <c37a9fe5-a4b2-222d-35ba-6358fa26e48b@gematik.kim.telematik-test>
Date: Fri, 9 Sep 2022 15:47:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: KIM 1.5 Testnachricht
X-KIM-Dienstkennung: KIM-Mail;Default;V1.0
From: "user.test15@gematik.kim.telematik-test"
	<user.test15@gematik.kim.telematik-test>
To: "user.test15@gematik.kim.telematik-test"
	<user.test15@gematik.kim.telematik-test>
Content-Type: text/plain; charset=utf-8
Content-Disposition: x-kas

{"link":"https://kas.gematik.kim.telematik-test/attachments/v2.3/attachment/a566f001-7fa6-4f87-a088-7def2d609c87","k":"AZtUCtV3M5mTC/XzfDDl25mZ4FwoOADyaIi3Fn8wH6w=","hash":"Wc148UGImi84VG3H/fF+3x6ouGMknls6hf2wn0qcqjU=","size":27262976}

2.3. Client-Mail heruntergeladen

Mit den Informationen aus der KIM-Attachment Datenstruktur wird die auf dem KAS abgelegte Mail heruntergeladen, entschlüsselt und die Signatur geprüft.

vom KAS heruntergeladene entschlüsselte Nachricht
Message-ID: <c37a9fe5-a4b2-222d-35ba-6358fa26e48b@gematik.kim.telematik-test>
Date: Fri, 9 Sep 2022 15:47:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: KIM 1.5 Testnachricht
X-KIM-Dienstkennung: KIM-Mail;Default;V1.0
From: "user.test15@gematik.kim.telematik-test"
	<user.test15@gematik.kim.telematik-test>
To: "user.test15@gematik.kim.telematik-test"
	<user.test15@gematik.kim.telematik-test>
Content-Type: multipart/mixed; boundary="------------v0Sp8vvZ1qGfAWh1MYiwrJ0W"

--------------v0Sp8vvZ1qGfAWh1MYiwrJ0W
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Text der Testnachricht

--------------v0Sp8vvZ1qGfAWh1MYiwrJ0W
Content-Type: text/plain; charset=UTF-8; name="1mb.test"
Content-Disposition: attachment; filename="1mb.test"
Content-Transfer-Encoding: base64

fHx3d3cuZGFzaW50ZXJuZX[...]



--------------v0Sp8vvZ1qGfAWh1MYiwrJ0W--

2.4. Client-Mail finalisiert

Die Header Felder der vom KAS heruntergeladenen Client-Mail werden mit den Header Feldern der KOM-LE Nachricht abgeglichen. In der Client-Mail werden die Header Felder (Received, Return Path, X-KIM Check Results) befüllt und Fehlertexte im Body ergänzt. Anschließend wird die Client-Mail Base64 codiert an das via POP3 abfragende Clientsystem ausgeliefert.

Fertige Client Mail
Message-ID: <c37a9fe5-a4b2-222d-35ba-6358fa26e48b@gematik.kim.telematik-test>
Date: Fri, 9 Sep 2022 15:47:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: KIM 1.5 Testnachricht
X-KIM-Dienstkennung: KIM-Mail;Default;V1.0
From: "user.test15@gematik.kim.telematik-test"
	<user.test15@gematik.kim.telematik-test>
To: "user.test15@gematik.kim.telematik-test"
	<user.test15@gematik.kim.telematik-test>
X-KIM-DecryptionResult: 00
X-KIM-IntegrityCheckResult: 01
Return-Path: <user.test15@gematik.kim.telematik-test>
Received: from 10.65.0.11 (EHLO 192.168.169.20:64500) ([10.65.0.11])
          by mailserver.gematik.kim.telematik-test (JAMES SMTP Server ) with ESMTPA ID 54965859
          for <user.test15@gematik.kim.telematik-test>;
          Fri, 09 Sep 2022 15:50:05 +0200 (CEST)
Content-Type: multipart/mixed; boundary="------------v0Sp8vvZ1qGfAWh1MYiwrJ0W"

--------------v0Sp8vvZ1qGfAWh1MYiwrJ0W
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

Text der Testnachricht


---------------------------------------------
Die Nachricht wurde entschlüsselt.
Die Signatur wurde erfolgreich geprüft.

--------------v0Sp8vvZ1qGfAWh1MYiwrJ0W
Content-Type: text/plain; charset=UTF-8; name="1mb.test"
Content-Disposition: attachment; filename="1mb.test"
Content-Transfer-Encoding: base64

fHx3d3cuZGFzaW50ZXJuZX[...]


--------------v0Sp8vvZ1qGfAWh1MYiwrJ0W--