Abstract Syntax Notation One
Die Abstract Syntax Notation One (ASN.1) ist ein von der ITU-T (International Telecommunication Union - Telecommunication Standardization Sector) herausgegebener Standard (Recommendation), um Datentypen und -werte zu beschreiben.
In den Standards X.680ff werden die Daten abstrakt definiert, ohne auf die rechnerinterne Darstellung einzugehen. Die Standards X.690ff definieren verschiedene "Encoding Rules" wie die Datenwerte auf Bitebene kodiert werden. Mit Hilfe von ASN.1 können Systeme mit unterschiedlichen internen Datendarstellungen Nachrichten austauschen.
ASN.1 wird hauptsächlich im Telekommunikationsbereich in der Anwendungsschicht des OSI-Modells verwendet, zum Teil aber auch in Internetprotokollen wie X.509 Zertifikaten.
Meist werden in ASN.1 spezifizierte Daten mit den einfach zu handhabenden Basic Encoding Rules (BER) kodiert. In Bereichen, bei denen eine platzsparende Kodierung erwünscht ist (zum Beispiel Mobilfunk), werden die Packed Encoding Rules (PER) bevorzugt.
Syntax und Semantik
ASN.1 wird in einer leicht verständlichen, BNF-ähnlichen Darstellung beschrieben, z.B.:
Record ::= SEQUENCE {
kopf Header,
daten Data OPTIONAL
}
Header ::= IA5-STRING
Data ::= SET OF INTEGER
ASN.1 kennt dazu
- Elementare Typen, z.B.
- BOOLEAN
- INTEGER
- BIT-STRING (binäre Zeichenfolge)
- IA5-STRING (nach IA5-Tabelle kodierte Zeichenfolge)
- Zusammengesetzte Typen, z.B.
- SEQUENCE (geordnete Abfolge verschiedener Typen)
- SEQUENCE OF <Typ> (geordnete Abfolge gleichen Typs)
- SET (ungeordnete Abfolge verschiedener Typen)
- SET OF <Typ> (ungeordnete Abfolge gleichen Typs)
Standards
- X.208: ersetzt durch X.680
- X.209: ersetzt durch X.690
- X.680: Specification of Basic Notation
- X.681: Information Object Specification
- X.682: Constraint Specification
- X.683: Parameterization of ASN.1 Specifications
- X.690: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)
- X.691: Specification of Packed Encoding Rules (PER)
- X.692: Specification of Encoding Control Notation (ECN)
- X.693: XML Encoding Rules
- X.694: Mapping W3C XML Schema Definitions into ASN.1