ASN.1 【Abstract Syntax Notation One】

概要

ASN.1(Abstract Syntax Notation One)とは、データ構造の表現形式を定義するための標準的な記法の一つ。主に通信プロトコル(通信規約)で扱われるデータの送受信単位(PDUProtocol Data Unit)の定義に用いられる。

ASN.1では名前と型によって定義されるオブジェクトを列挙してデータ構造を定義し、定義された構文を用いて具体的なを持つインスタンスを記述することができる。

例えば「Price :== INTEGER」という記述により、整数(integer)型のを持つPriceという名前のデータを定義することができる。これに基づいて、実際のデータとして例えば「Price :== 100」といったインスタンスを記述する。

型には整数(INTEGER)、浮動小数点数(REAL)、可変長ビット(BIT STRING)、可変長バイト列(OCTET STRING)、真偽値BOOLEAN)、ASCII文字列(PrintableString)、Unicode文字列UTF8String)、日付・時刻(UTCTime)などが用意されており、順序型(SEQUENCE)や集合型SET)により関連する複数のデータの集合を定義することもできる。

定義された構文に従って記述されたデータを特定のバイト列へ変換(エンコーディング)する方法もいくつか定めている。このうちよく用いられるのが「BER」(Basic Encoding Rules)や「DER」(Distinguished Encoding Rules)である。

個々のデータを、型(を識別するための番号)、長さ、データ本体の順に並べたものを列挙した構造になっている。冗長性を省いて短いデータ長で表現する「PER」(Packed Encoding Rules)や、人間に読みやすいようXML記述に変換するXER(XML Encoding Rules)などもある。

ASN.1は特定のコンピュータの構造やプログラミング言語などに依存せず、様々なソフトウェアで同じように取り扱うことができる。バイト列の形式が定義されているためソフトウェア間で相互運用性を確保しやすい。形式を明確に定義できるため処理の自動化やコードの共用化などもいやすい。

ASN.1の標準規格は1984年に当時のCCITTがX.409勧告の一部として発行し、1988年のX.208で独立した規格になった。1995年のX.680シリーズによって改訂され、符号化規則はX.690シリーズとして策定された。ISOおよびIECも、X.680シリーズと同内容のISO/IEC 8824シリーズ、X.690シリーズと同内容のISO/IEC 8825シリーズを発行している。

(2018.9.20更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる