ASN.1 – Abstract Syntax Notation number One

Abstract Syntax Notation Number One ist ein Standard, der die einheitliche Codierung beliebiger Daten ermöglicht. Zum ersten Mal standardisiert wurde ASN.1 im Jahre 1984 von der ITU, der International Telecommunications Union.

Vor allem in Telekommunikationsprotokollen findet ASN.1 Anwendung und ist deshalb auf nahezu allen Plattformen verbreitet und wird von den meisten Programmiersprachen unterstützt.

Obwohl es eine Vielzahl an weiteren Anwendungsgebieten für ASN.1 gibt, sind aus kryptographischer Hinsicht vor allem jegliche Arten von digitalen Zertifikaten interessant, da diese meist nach dem ASN.1-Standard codiert werden.

Zu den Datentypen, die mit ASN.1 codiert werden können, gehören unter anderem Ganzzahlen, Boolsche Ausdrücke, Zeichenketten oder zeitbezogene Typen. Zusätzlich bietet ASN.1 dem Anwender die Möglichkeit, eigene Typen zusammenzusetzen, die auf den grundlegenden Datentypen basieren. Komplexe Strukturen oder Listen Boolscher Ausdrücke sind zum Beispiel denkbar.

Die eigentliche Speicherung von Daten, die mit Hilfe von ASN.1 übertragen werden, erfolgt in hierarchischen Strukturen. Aus diesem Grund benötigt man einen weiteren Datentyp, den object identifier: Der oft als OID abgekürzte Datentyp ist prinzipiell nichts anderes als eine Liste aus Ganzzahlen. Dennoch sorgt er dafür, dass jede Instanz eines jeden Datentyps in ASN.1 eindeutig identifiziert werden kann.

Der eigentliche Datenaustausch, der zum Beispiel binär zwischen zwei Anwendungen stattfindet, wird durch die encoding rules definiert. Diese Codierungsregeln kommen in verschiedenen Formen vor und sind ebenfalls standardisiert.

Weitere Informationen zu ASN.1 finden Sie im Internet unter http://asn1.elibel.tm.fr oder auf anderen Informationsseiten zum Thema.

In CrypTool können Sie eine ASN.1-codierte Datei decodieren.