メインコンテンツまでスキップ

7.5. X.509 Certificate Parsing and Validation Complexity

7.5 X.509 Certificate Parsing and Validation Complexity

X.509 証明書と証明書チェーンの解析と検証は複雑であり, 実装ミスが過去にセキュリティ脆弱性を招いた. 検証の複雑さには (これらに限らない) [CX5P] [DCW] [RFC5280] が挙げられる:

  • basic constraints, basic および extended key usage 制約, 有効期間, critical extensions の確認;

  • ASN.1 長さ付き文字列に埋め込まれた NUL バイトの扱い, 主題名の非正規または非正規化された文字列表現の扱い;

  • 主題名のワイルドカードパターンの扱い;

  • 証明書チェーンの再帰的検証と証明書失効の確認.

これらの理由から, 実装者は X.509 証明書チェーンの検証に確立され十分にテストされた X.509 ライブラリ (確立された TLS ライブラリが用いるものなど) を用いるべきであり, 独自の X.509 証明書検証手続きを書くべきではない.