情報処理安全確保支援士 2016年 秋期 午前2 問07
問題文
X.509におけるCRL(Certificate Revocation List)についての説明のうち、適切なものはどれか。
選択肢
ア:PKIの利用者は、認証局の公開鍵がWebブラウザに組み込まれていれば、CRLを参照しなくてもよい。
イ:認証局は、発行した全てのディジタル証明書の有効期限をCRLに登録する。
ウ:認証局は、発行したディジタル証明書のうち、失効したものは、失効後1年間CRLに登録するよう義務付けられている。
エ:認証局は、有効期限内のディジタル証明書をCRLに登録することがある。(正解)
🔒 解説は解答すると表示されます
証明書失効一覧(CRL)【午前2解説】
正解の理由
X.509のCRL(Certificate Revocation List)は「発行済み証明書のうち失効(撤回)されたものの一覧」を示すためのものであり、認証局は失効した証明書をCRLに登録することがあり得ます。したがって、選択肢の中で正しいのは エ(認証局は有効期限内のディジタル証明書をCRLに登録することがある)です。ポイントは「CRLは失効(revocation)の記録であり、証明書の有効期限とは独立して扱われる」ことです。失効が有効期間内に発生した場合は当然CRLに登録されますし、失効後もCAの運用方針に従って有効期限を過ぎてもCRLに残ることが一般的です。
解法ステップ
- CRLの目的を確認する:CRLは「失効(revoked)された証明書」を列挙するための手段であると理解する。
- 各選択肢をCRLの目的と整合させる:CRLが「信頼されたCAの存在を代替するものではない」ことや「全部の証明書情報を含むわけではない」点を使って誤りを排除する。
- 有効期限と失効の関係を整理する:失効はいつでも発生し得るため、失効済み証明書が有効期限内にCRLに載ることは矛盾しない。また失効済みの証明書が有効期限経過後もCRLに残ることがある点に注意する。
- 残った選択肢が エ と一致することを確認する。
選択肢別の誤答解説
-
ア: 「認証局の公開鍵がブラウザに組み込まれていればCRLを参照しなくてもよい」
誤りです。ブラウザにCA証明書があることはそのCAを信頼するための前提ですが、失効チェック(CRL/OCSP)は別の安全性検査です。信頼の前提が満たされても、証明書が失効しているかどうかは確認する必要があります。実際の実装ではCRLを参照しないこともありますが、それは安全要件の緩和であってCRLが不要になる意味ではありません。 -
イ: 「認証局は発行した全ての証明書の有効期限をCRLに登録する」
誤りです。CRLは失効した証明書の一覧であり、発行済み全証明書の有効期限情報を登録するためのものではありません。CRLの各エントリには通常シリアル番号と失効日(revocationDate)、場合によって失効理由などが含まれますが、「すべての証明書の有効期限」を一覧化する目的ではありません。 -
ウ: 「失効後1年間CRLに登録することが義務付けられている」
誤りです。失効エントリの保持期間はX.509規格や運用ポリシー(CAのCertificate Policy / CPS)に依存しますが、全てのCAに一律で「1年間」の保持義務があるわけではありません。実務では失効後も有効期限を過ぎてCRLに残すことが多いものの、その期間はCAの方針や法的要件によります。 -
エ: 「認証局は有効期限内の証明書をCRLに登録することがある」
正しいです。証明書が有効期間内に失効(たとえば秘密鍵漏洩や属性変更など)した場合は、その時点でCRLに登録されます。したがって「有効期限内の証明書がCRLに載ることがある」という記述は整合しています。
よくある誤解
- 失効と有効期限を混同する:失効(revocation)は運用上の撤回であり、有効期限(expiration)はあらかじめ定められた期間の満了です。失効は有効期限の有無に関係なく発生し得ます。
- 失効後は自動的にCRLから削除されると思い込む:失効した証明書は有効期限を過ぎてもCAがCRLから削除するまで残ることが一般的です。削除の有無・時期はCAの運用ポリシー次第です。
- ブラウザにあるCA証明書=検証不要と誤解する:ブラウザの信頼ストアは「どのCAを信頼するか」を示すだけで、失効チェックの結果に基づく拒否とは別の判断です。
補足コラム
- CRLの構造(概要)
CRLはX.509規格に基づき、ヘッダ(issuer、thisUpdate、nextUpdateなど)とrevokedCertificatesの一覧(各エントリはserialNumber、revocationDate、および拡張情報)を含みます。エントリはシリアル番号で識別されます。 - 実運用での課題と代替手段
CRLは規模が大きくなると配布・照合コストが高くなるため、OCSP(Online Certificate Status Protocol)やOCSPステイプリング、短寿命証明書の採用などが用いられます。Delta-CRL(差分CRL)で更新量を抑える運用もあります。 - 参照コマンド(OpenSSLでの確認例)
# PEM形式のCRLを表示 openssl crl -in crl.pem -text -noout # リモートCRL (HTTP) を取得して表示 curl -s http://example.com/crl/crl.pem | openssl crl -text -noout
FAQ
Q1. 有効期限が切れた証明書はCRLに残るのか?
A1. はい。失効した証明書は有効期限の内外を問わずCRLに登録され得ます。多くのCAは失効エントリを有効期限後も一定期間(あるいはCA方針に従って)保持します。これは過去のトランザクション検証や監査のために重要です。
A1. はい。失効した証明書は有効期限の内外を問わずCRLに登録され得ます。多くのCAは失効エントリを有効期限後も一定期間(あるいはCA方針に従って)保持します。これは過去のトランザクション検証や監査のために重要です。
Q2. CRLとOCSPはどちらが優れているか?
A2. 目的や規模によります。CRLは単純でオフラインでも検証可能ですがサイズが大きくなると配布負荷が増します。OCSPは個別照会でリアルタイム性がありますが、レイテンシや可用性、プライバシーの問題があります。実運用では両者を組み合わせたり、OCSPステイプリングや短寿命証明書を採用したりします。
A2. 目的や規模によります。CRLは単純でオフラインでも検証可能ですがサイズが大きくなると配布負荷が増します。OCSPは個別照会でリアルタイム性がありますが、レイテンシや可用性、プライバシーの問題があります。実運用では両者を組み合わせたり、OCSPステイプリングや短寿命証明書を採用したりします。
Q3. CRLに記載される情報は何か?
A3. 主に失効した証明書のシリアル番号、失効日(revocationDate)、場合によって失効理由(CRL entry extension)などです。CRL自体にもthisUpdate/nextUpdateといった更新情報が含まれます。
A3. 主に失効した証明書のシリアル番号、失効日(revocationDate)、場合によって失効理由(CRL entry extension)などです。CRL自体にもthisUpdate/nextUpdateといった更新情報が含まれます。
関連キーワード: CRL、失効リスト、X.509、revocation、OCSP、CRL配布ポイント、delta-CRL、RFC5280

\ せっかくなら /
情報処理安全確保支援士を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

