ASN.1 overview
The ASN.1 (Abstact Syntax Notation 1) standard was born in the context of the OSI (Open System Interconnection) environment and the famous 7 layers model. It is proposed by the ISO organization (International Organization for Standardization) to define a notation to formalize abstract syntaxes, in a way that is independent of machines and languages. Its first application is the X400 email services. ASN.1 stands within the layer 6 (presentation) and 7 (application). Since then ASN.1 is widely used even outside the OSI context.
The notation provides pre-defined basic types (INTEGER, BOOLEAN, character strings, REAL, BIT STRING, OCTET STRING...) as well as constructed types (SEQUENCE, SEQUENCE OF, CHOICE...) which make it possible to define any data structure. The notation is defined by ISO/ITU-T standards X680, X681, X682, X683.
Associated to the notation, ASN.1 standardises Encoding Rules (X690, X691, X692, X693). These rules permit the building of binary encodings (BER, PER) leading to very compact byte streams (PER) and very efficient coders but also of XML documents with the new XER (for XML Encoding Rules).
Besides, schemas originally specified with XML Schema can be translated to ASN.1 (X694). This makes ASN.1 a more powerful schema notation since it offers a natural XML "binarization" (just a change of encoding rules). The notation is already used for the definition of XML encoded data as in XCBF (Biometrics) or UBL (Universal Business Language) for example.
This rapid overview allows us to understand the very large interest in ASN.1, which has proved for many years its robustness and efficiency. It explains why it is widely used, even outside the OSI model. Here are some recent sectors where ASN.1 is used :
- XCBF (Biometrics),
- RFID (Radio Frequency Tag Identification),
- GSM/GPRS/UMTS,
- CTI with CSTA,
- H323 for Voice Over IP,
- ...
This link will give you more information on ASN.1 use: ASN.1 Information Site.
uniGone proposes powerful tools to take the best advantage of ASN.1 easily.
