Select the product you need help with
[XGEN] ASN.1 および BER の簡単な紹介文書番号: 252648 - 対象製品 この記事は、以前は次の ID で公開されていました: JP252648 目次概要
この資料では、ASN.1 (Abstract Syntax Notation One) および BER (Basic Encoding Rules) について説明し、両者の違いについて解説します。
熟練した技術者を含め IT 技術者の多くは、ASN.1 と BER が何であるか、両者の違い、またその違いが重要である理由を十分に理解していません。ASN.1 と BER について熟知している技術者でもこれらの用語を誤って使用することが多く、こうした混乱が生じるのは無理もありません。 ASN.1 は標準のための言語であるので、ASN.1 で記述された標準勧告はごく一般的に使用されています。サポート担当者、コンサルタント、IT 技術者それぞれにとって、ASN.1 を理解することは、標準について深く知り、トラブルシューティング対象のデータの内容を解読し、理解することにつながります。ASN.1 で記述される標準で最も一般的なのは、国際電信電話諮問委員会 (CCITT) と国際電気通信連合 (ITU) で作成されるものです。また、Internet Engineering Task Force (IETF) のメンバも、徐々に ASN.1 を使用して勧告を簡潔に記述するようになってきています。他の形式で記述すると 5、6 ページに及ぶものでも、ASN.1 では 1 ページで記述することができます。 ASN.1 で記述され、一般に使用されている標準には、以下のものがあります。
詳細ASN.1ASN.1 (Abstract Syntax Notation One) は、標準を定義するための言語であり、実装には言及していません。つまり、標準の作成者が使用するための言語です。たとえば、CalTech 社の John Smith が、あるコンポーネントから別のコンポーネントに通信するための手順を標準化する勧告を記述する場合、勧告を ASN.1 表記で作成し、ITU などの標準化団体に提出します。標準を記述するための共通言語である ASN.1 を使用すれば、技術者と委員会メンバとの間のコミュニケーションが円滑になります。ASN.1 は ITU-T Recommendation X.209 および X.690 に定義されています。たとえば、ASN.1 では次の事項が定義されています。
BERBER ("バー" と読みます) は、ASN.1 の "Basic Encoding Rules" の一般名です。BER は ITU-T Recommendation X.209 および X.690 に定義されています。BER は、ASN.1 データをオクテットのストリームにエンコードし、通信リンクを介して転送できるようにするための一連の規則です。ASN.1 データをエンコードするための他の方法には、DER (Distinguished Encoding Rules)、CER (Canonical Encoding Rules)、PER (Packing Encoding Rules) などがあります。これらのエンコード方法はそれぞれ利用法が異なりますが、BER は一般的に最も広く使用され、よく知られているエンコード方法です。BER では次の事項が定義されています。
ASN.1 と BER の違いASN.1 と BER の関係は、プログラミング言語 (C など) とそのコンパイラの関係に似ています。高水準言語の多くとは異なり、コンパイラはプラットフォームに依存します。C は、プログラムを記述するための規則と言語を定義するものです。プログラムは C で記述されるものであり、C そのものではありません。プログラムを実行するには、Intel x86 などの特定のプラットフォーム用にコンパイルする必要があります。ASN.1 と BER の場合も同様です。ASN.1 は標準を記述する言語です。標準は ASN.1 で記述されるものであり、ASN.1 そのものではありません。標準に準拠するプログラムから生成されるデータを "ASN.1 データ" と呼ぶことがあります。ASN.1 データは、送信先で容易に解読できるオクテットのストリームにエンコードされるまでは使用できません (つまり LAN で転送できません)。これを説明するため、以下に ITU-T Recommendation X.209 の Appendix I から、これらの概念の例を抜粋します。次に示すのは、特定の形式を持たない、個人データ レコードの記述例です。氏名 : John P Smith 生年月日 : 1959 年 7 月 17 日 (その他のデータ)
PersonnelRecord ::= [APPLICATION 0] IMPLICIT SET {
Name,
title [0] VisibleString,
dateOfBirth [1] Date,
(定義されたその他の型) }
Name ::= [APPLICATION 1] IMPLICIT SEQUENCE {
givenName VisibleString,
initial VisibleString,
familyName VisibleString }
次に、アプリケーションで、個人データを個人レコードの構造体 (ASN.1 データ形式) に格納し、ASN.1 データに BER を適用します。次に示すのはその例です (ただし実際には、名前は ASCII に変換されます)。
Personnel
Record Length Contents
60 8185
Name Length Contents
61 10
VisibleString Length Contents
1A 04 "John"
VisibleString Length Contents
1A 01 "P"
VisibleString Length Contents
1A 05 "Smith"
DateofBirth Length Contents
A0 0A
Date Length Contents
43 08 "19590717"
60 81 85 61 10 1A 04 .... .... 0A 43 08 19 59 07 17 関連情報
ASN.1 の詳細については、ITU-T 勧告 X.680 〜 683 を参照してください。
BER の詳細については、BER についての勧告 (ITU-T 勧告 X.690 または X.691) を参照してください。 詳細については、次の ITU-T Study Group 17 Web ページの「Changing from ASN.1:1988 to ASN.1:2002」を参照してください。 http://www.itu.int/ITU-T/studygroups/com17/changing-ASN/
(http://www.itu.int/ITU-T/studygroups/com17/changing-ASN/)
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 252648
(http://support.microsoft.com/kb/252648/EN-US/
)
(最終更新日 2004-03-06) を基に作成したものです。
プロパティ文書番号: 252648 - 最終更新日: 2004年8月23日 - リビジョン: 4.0 この資料は以下の製品について記述したものです。
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。" | サポート技術情報の翻訳 |










