ASN.1
ASN.1 とは何ですか?
ASN.1Abstract Syntax Notation One。ITU-T X.680 シリーズで定義された、言語に依存しない形で暗号や通信のデータ構造を記述する標準。
ASN.1 は ITU-T X.680 および X.681 で定義された形式記述言語で、整数、シーケンス、集合、選択、タグ付き型などの構造化データを記述します。X.690 系列は、BER(基本)、CER、DER(識別、PKI で広く利用される)、PER(パック)といった転送時の符号化を規定します。X.509 証明書、CMS/PKCS#7、PKCS#12、LDAP、Kerberos、SNMP、3GPP シグナリング、GSM MAP、S1AP など多くのプロトコルの基盤となります。DER は一意の正規符号化を保証するため、ASN.1 構造上で計算される署名やハッシュは再現可能です。ASN.1 パーサのバグは OpenSSL の CVE-2016-2108 や CVE-2021-3711 など著名な脆弱性を引き起こしてきたため、安全なパーサと厳格な DER の使用が不可欠です。
● 例
- 01
X.509 証明書は TBSCertificate、signatureAlgorithm、signatureValue から成る SEQUENCE で、DER で符号化される。
- 02
eNodeB と MME 間の 3GPP S1AP メッセージは ASN.1 で記述され、PER で符号化される。
● よくある質問
ASN.1 とは何ですか?
Abstract Syntax Notation One。ITU-T X.680 シリーズで定義された、言語に依存しない形で暗号や通信のデータ構造を記述する標準。 サイバーセキュリティの 暗号 カテゴリに属します。
ASN.1 とはどういう意味ですか?
Abstract Syntax Notation One。ITU-T X.680 シリーズで定義された、言語に依存しない形で暗号や通信のデータ構造を記述する標準。
ASN.1 はどのように機能しますか?
ASN.1 は ITU-T X.680 および X.681 で定義された形式記述言語で、整数、シーケンス、集合、選択、タグ付き型などの構造化データを記述します。X.690 系列は、BER(基本)、CER、DER(識別、PKI で広く利用される)、PER(パック)といった転送時の符号化を規定します。X.509 証明書、CMS/PKCS#7、PKCS#12、LDAP、Kerberos、SNMP、3GPP シグナリング、GSM MAP、S1AP など多くのプロトコルの基盤となります。DER は一意の正規符号化を保証するため、ASN.1 構造上で計算される署名やハッシュは再現可能です。ASN.1 パーサのバグは OpenSSL の CVE-2016-2108 や CVE-2021-3711 など著名な脆弱性を引き起こしてきたため、安全なパーサと厳格な DER の使用が不可欠です。
ASN.1 からどのように防御しますか?
ASN.1 に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
ASN.1 の別名は何ですか?
一般的な別名: Abstract Syntax Notation One, X.680。
● 関連用語
- cryptography№ 831
PKCS#7
署名付きおよび/または暗号化されたデータをパッケージ化するためのバイナリ形式で、IETF が RFC 5652 において CMS(Cryptographic Message Syntax)として標準化した。
- cryptography№ 830
PKCS#12
RFC 7292 で標準化された、秘密鍵とその証明書チェーンをまとめてパスワードで保護するファイル形式(.pfx / .p12)。
- cryptography№ 811
PEM 形式
RFC 7468 で定義された、暗号オブジェクト(鍵、証明書、CRL)を Base64 で符号化した DER と BEGIN/END ヘッダ行で包むテキスト形式。
- identity-access№ 611
LDAP
Lightweight Directory Access Protocol。階層型ディレクトリサービスを TCP/IP で問い合わせ・更新する IETF 標準で、通常はポート 389、TLS 利用時はポート 636 を使う。
- identity-access№ 584
Kerberos
対称鍵暗号と信頼された鍵配布センターを用いたチケットベースのネットワーク認証プロトコルで、サービス横断のシングルサインオンを安全に実現する。