78247 pp7[1]

18

Click here to load reader

description

ASN.!

Transcript of 78247 pp7[1]

Page 1: 78247 pp7[1]

International Telecommunication Union

ASN.1 Today and ASN.1 Today and TomorrowTomorrow

© 2002 OSS Nokalva

Page 2: 78247 pp7[1]

What is ASN.1?What are Encoding Rules?

ASN.1 (Abstract Syntax Notation One) defines the syntax of messages to be exchanged between peer applications independently of local representation.

Encoding Rules define how application messages should be encoded while in transit between peers.

Page 3: 78247 pp7[1]

Sample ASN.1 Definition

Power to express both simple and complex types. Types may be constrained in size and/or value. More powerful constraints are available. Fields may be marked as OPTIONAL. Type extensibility allows for smooth enhancements.

Age ::= INTEGER (0..7)User ::= SEQUENCE { name IA5String (SIZE(1..128)), age Age, address IA5String OPTIONAL, ...

}

Page 4: 78247 pp7[1]

Rich Set of Types

BOOLEAN

INTEGER

BIT STRING

OCTET STRING

NULL

REAL

ENUMERATED

SEQUENCE

SEQUENCE OF

GeneralizedTime

IA5String

BMPString

UTF8String

Page 5: 78247 pp7[1]

What are the Basic Encoding Rules

BER specifies how data should be encoded for transmission, independently of machine type, programming language, or representation within an application program.

BER is highly structured, prefixing all values with a tag and a length.

Application 1 Application 202 01 06

Age ::= INTEGER (0..7)firstGrade Age ::= 6

ValueLengthTag } Total of

24 bits

Page 6: 78247 pp7[1]

What are the Packed Encoding Rules?

Like BER, PER specifies how data should be encoded for transmission, independently of machine type, programming language, or representation within an application program.

Unlike BER, tags are never transmitted, while lengths and values are not transmitted if known by both peers.

PER’s reason for existence is to conserve bandwidth. It is valuable in audio and video over the Internet, air-ground communication, radio-paging, or wherever bandwidth is at a premium.

Application 1 Application 2110

Age ::= INTEGER (0..7)firstGrade Age ::= 6

total length of 3 bits

Page 7: 78247 pp7[1]

What are the XML Encoding Rules?

Just like BER and PER, XER also specifies how data should be encoded for transmission, independently of machine type, programming language, or representation within an application program.

Unlike the more compact encoding rules, XER is immediately legible. XER’s reason for existence is ease of legibility (no tools are needed), but XER uses significantly more bandwidth.

Application 1 Application 2<Age>6</Age>

Age ::= INTEGER (0..7)firstGrade Age ::= 6

total length of 12 octets

Page 8: 78247 pp7[1]

ECNEncoding Control Notation

Customize the encoding Modify (improve) the standard ASN.1

encoding rules Retrofit ASN.1 syntax to non-ASN.1

protocols

Page 9: 78247 pp7[1]

Some Benefits of ASN.1

Application protocol designers can focus on the information that needs to be exchanged

Provides implementors with a more precise description of the messages to be exchanged

Application programmers can focus on the substance of their application

Allows you to choose the most suitable programming language Development time significantly reduced with use of quality ASN.1

tools Proven technology Widely adopted International Standard

Page 10: 78247 pp7[1]

ASN.1 can be used with most modern programming languages, including Java and C++, as well as older ones such as C and COBOL.

ASN.1 PersonalInfo ::= SEQUENCE { married BOOLEAN, age INTEGER (123456..124000), name PrintableString

}

Generated C header file: typedef struct PersonalInfo { ossBoolean married; int age; char *name; } PersonalInfo;

Encoding/decoding: ossEncode(world, PersonalInfo_PDU, &inBuf, &outBuf); ossDecode(world, &pdunum, &inBuf, &outBuf);

Using ASN.1

Page 11: 78247 pp7[1]

Development Work Flow

ASN.1Syntax

ASN.1Compiler

C HeaderFile

Application Source Code

include

C/C++Compiler

Encoder/Decoder Libraries

Linker

Executable Application

Page 12: 78247 pp7[1]

Current Uses of ASN.1

Audio & Video over the InternetAT&T, Intel, IBM, Microsoft, 3COM

Electronic CommerceAmerican Express, GTE, MasterCard, VISA

TelephonyAT&T, MCI, Motorola, Nokia, Sprint

AviationFAA, ICAO

ManufacturingFord, Mercedes Benz, Mitsubishi

Network ManagementBull, Compaq, Hewlett-Packard, Sun

RoutersBay Networks, Cisco, Racal, Xyplex

Page 13: 78247 pp7[1]

ASN.1 and Encoding Rules Standards Documents

ITU-T Rec. X.680 | ISO/IEC 8824-1 - Basic ASN.1 Notation

ITU-T Rec. X.681 | ISO/IEC 8824-2 - Information Object Classes

ITU-T Rec. X.682 | ISO/IEC 8824-3 - Constraints ITU-T Rec. X.683 | ISO/IEC 8824-4 - Parameterization ITU-T Rec. X.690 | ISO/IEC 8825-1

Basic Encoding Rules (BER)Canonical Encoding Rules (CER)Distinguished Encoding Rules (DER)

ITU-T Rec. X.691 | ISO/IEC 8825-2 Packed Encoding Rules (PER)

Page 14: 78247 pp7[1]

ITU-T Rec. X.692 | ISO/IEC 8825-3Encoding Control Notation (ECN)

ITU-T Rec. X.693 | ISO/IEC 8825-4 XML Encoding Rules (XER)

ITU-T Rec. X.694 | ISO/IEC 8825-5 Encoding XML-Defined Data Using ASN.1

Newest ASN.1 and Encoding Rules Standards Documents

Page 15: 78247 pp7[1]

ASN.1 Into the Future

Security standards: XML CryptographicMessage Syntax (XCMS)

Biometrics Information Management and Security (X9.84)

Intelligent Transportation System (ITS) Electric Power Utilities Cellular telephones (UMTS)

Page 16: 78247 pp7[1]

The future: Why ASN.1?

XML ASN.1 as an XML schema notation is simpler than and about as powerful as XSD. Users can benefit from the browser display capabilities of XML and still have compact ASN.1 encodings. 

PER The compact encodings of PER are ideal for low-bandwidth applications of which there are many. PER can go where XML encodings can not. It makes XML usable in applications that it otherwise cannot touch.

Page 17: 78247 pp7[1]

The future: Why ASN.1? (cont.)

ECN Apply ASN.1 to legacy protocols. Replace error-prone hand encodings and bitmaps with machine-processable cutomized encodings.

DERUsed in every secure web purchase, secure email, digital signatures, etc.

Extensibility The extensibility built into ASN.1 allows version 1 systems to seamlessly interwork with version 2 systems.

Page 18: 78247 pp7[1]

ASN.1 Consortium

Share technical information and solutions Develop implementor’s agreement on limits to

impose on ASN.1 Coordinate with the ASN.1 Project to promote

the use of ASN.1 Keep interested parties abreast of upcoming

applications of ASN.1 in industry Create test suite database http://www.asn1.org