証明書失効リスト(しょうめいしょしっこうリスト、英: Certificate Revocation List, CRL)は、公開鍵基盤 (PKI) における失効した(信頼できない)公開鍵証明書のリスト(正確には、証明書のシリアル番号のリスト)である。
RFC 5280
で定義されている証明書の失効理由は、以下の 2 つに大別できる。CRLは定期的に生成され、公開される。また、証明書が失効となった場合、即座にCRLを公開することもできる。CRLはCAが適切な証明書付きで発行する。たいていのCRLには次回発行予定日時がある。この日時は発行日時から 24 時間以内であることが多い[要出典]。CRLはPKIを使ったアプリケーションが証明書の有効性を検証するのに使われる。
DNS偽装やDoS攻撃を防ぐため、CRLには発行者のデジタル署名が付与されている。たいていのCRLの発行者とCAは同一で、同じ鍵を共有するが、それぞれ別々で違う鍵を使うこともできる。CRLを使う前にその有効性を検証するためには、CRL発行者の証明書が必要であり、それは通常公共のディレクトリ・サービスにある。
証明書の失効日時は、CRLには含まれないこともある。期限切れの証明書は全て無効であると見なせるが、期限が切れていない証明書が必ずしも有効とは限らない。実際の運用において証明書や鍵の管理に間違いがありうるため、CRLや他の証明書の有効性検証技術はPKIに必須である。注目すべき事例として、マイクロソフトの証明書が誤ってある個人に発行されたことがある。その人物は ActiveX Publisher Certificate システムを管理しているCA(ベリサイン)にマイクロソフトを装ってアクセスすることに成功した。マイクロソフトは暗号サブシステムにパッチを当て、その証明書が使われる前に状態をチェックする必要があると判断した。短期的修正として、関連するマイクロソフトのソフトウェア(主に Windows)にパッチが発行され、問題の2つの証明書が必ず「失効」とされるようにした。
CRLが用意される証明書は、X.509/公開鍵証明書であることが多い(最も多く使われているPKI手法であるため)。 証明書がどこにどのように保管されていても、その証明書を使う際には必ず検証しなければならない。さもないと、失効した証明書を誤って有効とする可能性がある。つまりPKIをうまく使うには、現在のCRLに必ずアクセスしなければならない。このようなオンラインでの検証必要性は、共通鍵暗号プロトコルを使ったPKIの主な利点である証明書の「自己認証性」を無効にする。ケルベロス認証もオンラインサービス(ケルベロスの場合は鍵配布センタ)の存在に依存している。 CRLが必要だということは、何者か(あるいは何らかの組織)が方針を強制する必要があることを意味しており、運用方針に反する証明書を失効させる必要があることを意味している。証明書が間違って撤回されるとしたら、大きな問題が生じる。認証局は証明書発行の運用方針を強制すると同時に、同じ運用方針を解釈して失効の可否や時期を決定する責任も負う。 証明書を受け入れる前にCRL(または他の証明書状態サービス)を使う必要があるということは、PKIに対するDoS攻撃の可能性を生じる。有効なCRLがないために証明書を受け入れられなかった場合、証明書に依存している全てのアクションができなくなる。このような問題はケルベロス認証にもあり、現在の認証トークンの検索に失敗するとシステムにアクセスできなくなる。包括的な解決策はまだ知られていないが、様々な観点でのワークアラウンドが考案されており、その一部は実際に使われている。 CRLの代替手段として、Online Certificate Status Protocol (OCSP) という証明書検証プロトコルがある。OCSPはネットワークの帯域幅を浪費しないという利点があり、多数の状態検証をほぼリアルタイムに実施できる。
全てのCRLにまつわる問題
外部リンク
RFC 5280 - Internet X.509 Public Key Infrastructure Certificate
関連項目
Online Certificate Status Protocol(OCSP) - CRLの代替
表
話
編
歴
SSLとTLS
プロトコル
TLS/SSL
OCSP
HTTPS
STARTTLS
DTLS
ACME
技術
認証局
証明書失効リスト
DNS Certification Authority Authorization
DANE
EV証明書
HSTS
HTTP公開鍵ピンニング(英語版)
OCSPステープリング(英語版)
Perfect forward secrecy
公開鍵証明書
公開鍵暗号
公開鍵基盤
ルート証明書
SNI
歴史
アメリカ合衆国からの暗号の輸出規制
サーバゲート暗号化(英語版)
実装
Bouncy Castle(英語版)
BoringSSL
Botan
cryptlib(英語版)
GnuTLS
JSSE(英語版)
LibreSSL
MatrixSSL(英語版)
NSS
OpenSSL
mbed TLS(英語版)
RSA BSAFE(英語版)
SChannel
SSLeay
stunnel
wolfSSL
公証
証明書の透明性
Convergence(英語版)
HTTPS Everywhere / SSL Observatory
Perspectives Project(英語版)
脆弱性
理論
中間者攻撃
パディングオラクル攻撃
Lucky Thirteen攻撃
暗号
バル・ミツワー攻撃(英語版)
プロトコル
BEAST
BREACH
CRIME
Logjam
POODLE (SSL 3.0)
実装
認証局危殆化(英語版)
乱数発生器攻撃(英語版)
FREAK
goto fail
Heartbleed
POODLE (TLS 1.0)
更新日時:2019年4月10日(水)15:07
取得日時:2021/06/01 18:28