AS2

Was bedeutet AS2?

AS2 ist die Abkürzung für das "Applicability Statement 2 (AS2)" einem häufig verwendeten Kommunikationsprotokoll beim elektronischen Datenaustausch (kurz: EDI).

Bei dem Kommunikationsprotokoll werden EDI-Dateien über das Internet (HTTP) versendet. Die Besonderheit des Kommunikationsprotokolls AS2 besteht darin, dass das Protokoll über Empfangsbestätigungen (die sogenannten MDN: Message disposition notification) verfügt. Sie dienen als Nachweis über die ordnungs- und fristgemäße Zustellung der Dateien.

Zusätzlich bietet das AS2-Protokoll die Möglichkeit Dateien zu signieren oder zu verschlüsseln. Den Kommunikationsstandard AS2 gibt es nun schon seit 1997 (damals noch unter dem Namen "HTTP Transport for Secure EDI"), seit 2005 ist dieser in der RFC 4130 in AS2 umbenannt worden.

Durch die oben genannten Features gilt AS2 als eines der sichersten und zuverlässigsten EDI-Übertragungsstandard. Darüber hinaus ist das Protokoll auch noch kostengünstig und einfach zu handhaben (Im Gegensatz zu VAN wie z. B. dem X400 Netzwerk).

Wie funktioniert AS2?

Um EDI-Nachrichten via AS2 empfangen zu können, benötigen Sie zunächst eine AS2-Software (AS2-Client & AS2-Server) sowie eine Internetverbindung und ggf. noch ein Zertifikat. Damit Ihre Partner Ihnen Dateien via AS2 senden können, benötigen Sie im ersten Schritt einen laufenden AS2-Server, der auf eine von Außen erreichbare, öffentliche IP-Adresse und einen Port lauscht und auf eingehende AS2-Verbindungen reagiert (zum Beispiel: menten.com:4080).

Als nächstes benötigen Sie die Verbindungsinformationen des AS2-Partners von dem Sie Dateien entgegen nehmen möchten.

Hierzu gehören die folgenden Informationen:

  • Host/IP-Adresse
  • Port
  • AS2-FROM bzw. AS2-TO (Absende-, Empfangsadresse)
  • Signatur-Algorithmus (falls signiert werden soll)
  • Verschlüsselungs-Algorithmus (falls verschlüsselt werden soll)
  • Zertifikat (falls verschlüsselt und/oder signiert werden soll)

Nachdem Sie die Informationen des Partners in Ihrer AS2-Software eingepflegt haben und Ihrem Partner im Gegenzug ihre Konfigurationseinstellungen gesendet haben, können Sie mit dem Austausch von EDI-Dateien via AS2 beginnen.

Den genauen Ablauf einer AS2-Transaktion mit Signatur und Verschlüsselung sehen Sie im folgenden Schaubild "Ablaufschema AS2-Kommunikation mit i‑effect®".

AS2 IBMi EDI AS400 iseries keystore infografik

Beschreibung des Ablaufs (Verschlüsselt und Signiert):

  1. Die zu versendende Datei wird mithilfe des privaten Schlüssels des Systems A signiert und anschließend mit dem Zertifikat (öffentlichen Schlüssel) von System B verschlüsselt.
  2. Die - nun für Dritte unleserliche - signierte und verschlüsselte Datei wird nun über HTTP oder HTTPS versendet. (Wenn auch der Header der Nachricht - also die Informationen, wer wem etwas sendet gegen den Zugriff durch Dritte geschützt werden soll, so sollte hier unbedingt HTTPS verwendet werden - Nur so ist auch der Kommunikationskanal selbst verschlüsselt).
  3. Nachdem die Datei durch das System B empfangen wurde, wird die Datei mithilfe des eigenen privaten Schlüssels (System B) entschlüsselt. Für den Fall, dass hier Probleme beim Entschlüsseln der Nachricht auftreten, wird eine negative MDN mit dem Hinweis "Fehler bei der Entschlüsselung" versendet (je nach Konfiguration synchron oder asynchron).
  4. Sofern, die Datei erfolgreich entschlüsselt wurde, wird nun die Signatur überprüft (Unversehrtheit der Nachricht). Auch in diesem Fall wird im Fehlerfall eine negative MDN an das System A gesendet: "Signaturfehler" (je nach Konfiguration synchron oder asynchron).
  5. Wurde sowohl die Datei erfolgreich entschlüsselt, als auch die Prüfung der Signatur erfolgreich verlaufen sein, wird am Ende noch eine MDN mit dem Kennzeichen des erfolgreichen Empfangs versendet.

Vorteile von AS2

  • Einfache Einrichtung
  • Unversehrtheit & Urheberschaft der Daten kann gewährleistet werden (Signatur)
  • Datensicherheit (Durch Verschlüsselung des Transportwegs und der Datei)
  • Fristgerrechte Übertragung durch Ablieferungsnachweis in Form einer Empfangsquittierung (MDN). Keine technischen Protokolle notwendig.
  • Für die Übertragung der Dateien selbst fallen i.d.R. keine Kosten an, da die Kommunikation über das Internet geschieht
  • Weite Verbreitung und Akzeptanz von AS2 (z.B. EDI@Energy, AK-Handel, uvm.)

Wie sieht ein AS2-Header aus?

Der AS2-Header dient als Umschlag beim Versand von AS2-Nachrichten und enthält einige Informationen zur Nachricht selbst und zum Absender bzw. Empfänger.

Folgendes Beispiel zeigt den Header einer Sitzung in der die Datei "helloworld.txt" versendet wird:

content-disposition = attachment; filename="helloworld.txt"
as2-from = myPartnerA
connection = close, TE
ediint-features = multiple-attachments, CEM
date = Tue, 08 Jan 2019 12:41:08 CET
as2-to = i‑effect®
disposition-notification-to = http://myPartnerA:8080/as2/HttpReceiver
message-id = <myPartnerASoftware_AS2-1546947668607-9@myPartnerA>
subject = AS2 message
from = myPartnerA
as2-version = 1.2
content-type = application/EDI-Consent
host = i‑effect®.com:4080
mime-version = 1.0
recipient-address = http://i-effect.com:4080

Das folgende Beispiel zeigt den Header zu einer versendeten MDN:

content-type = multipart/report; report-type=disposition-notification; boundary="----=_Part_6_-1955696999.1546947668607"
mime-version = 1.0
message-id = <myPartnerASoftware_AS2-1546947668607-9@myPartnerA>
as2-to = myPartnerA
as2-version = 1.2 server = i‑effect®AS2 V2R7M0
date = Tue, 08 Jan 2019 11:42:27 GMT
as2-from = i‑effect®
content-length = 1023
subject = Your Requested MDN Response

Wie sieht eine MDN aus?

MDN-Nachrichten werden als Antwort auf eine empfangene Nachricht versendet. Sie enthalten im Fehlerfall Fehlermeldungen weshalb die Nachricht nicht korrekt empfangen wurde. Im Erfolgsfall gelten die MDN als Abliefernachweis.

Eine "normale" MDN also unverschlüsselt und unsigniert sieht in etwas wie folgt aus:

Content-Type: multipart/report; report-type=disposition-notification;
boundary="----=_Part_0_-1358144875.1546945338516"

------=_Part_0_-1358144875.1546945338516
Content-Type: text/plain

The message sent to Recipient <i-effect.com> on <Tue, 08 Jan 2019 12:02:08 CET> with Subject <AS2 message> has been received, the EDI Interchange was successfully decrypted and it's integrity was verified. In addition, the sender of the message, Sender <myPartnerA> at Location <8.8.8.8/8.8.8.8:50196> was authenticated as the originator of the message. There is no guarantee however that the EDI Interchange was syntactically correct, or was received by the EDI application/translator.

------=_Part_0_-1358144875.1546945338516
Content-Type: message/disposition-notification


Reporting-UA: i‑effect®AS2@i-effect.com:4080
Original-Recipient: i‑effect®
Final-Recipient: i‑effect®
Original-Message-ID: <myPartnerASoftware_AS2-1546945328514-6@myPartnerA>
Disposition: automatic-action/MDN-sent-automatically; processed
Received-Content-MIC: 4/jhbpyKokDsXcjuvBWzOenmCow=, sha1


------=_Part_0_-1358144875.1546945338516--

Was sind asynchrone und synchrone MDNs?

Die Empfangsquittungen, die sogenannten MDNs, können entweder synchron (in der gleichen Sitzung bzw. Verbindung) oder asynchron (in einer beliebigen anderen Sitzung) übertragen werden.

Bei synchronen MDNs werden die Quittungen sofort nach Erhalt und Verifizierung der Nachricht versendet. In der Praxis werden häufig synchrone MDN-Nachrichten versendet, da dies überschaubarer ist.

Dennoch gibt es auch Anwendungsfälle in denen asynchrone MDNs durchaus sinnvoll sind. Zum Beispiel wenn Sie größere Dateien versenden. Hier kann es vorkommen, dass durch die Prüfung der Signatur und das Entschlüsseln der Dateien eine Sitzung auch mal in ein Timeout laufen kann. Durch die Verwendung von asynchronen MDN-Nachrichten kann dies verhindert werden, da der Client nicht in der gleichen Verbindung darauf warten muss. Neben dem Timeout "Problem" gibt es auch einen Ansatz aus IT-Infrastruktur Gründen unterschiedliche Adressen für den Empfang von Nachrichten und den Versand von MDN-Nachrichten zu verwenden.

AS2-Server oder AS2-Client gesucht?

Mit i‑effect® können Sie EDI-Daten via AS2 empfangen und versenden.

Jetzt kostenlos testen