今回は、公開鍵が「本物」だと保証する仕組みであるPKIと認証局(CA)、そして証明書を無効化するCRLとOCSPを学ぶわ。
デジタル署名で公開鍵で検証するのは分かったけど、その公開鍵が本物かどうかは誰が保証するの?
すごくいい疑問ね。
それを解決するのがPKI(公開鍵基盤)よ。
信頼できる第三者機関である認証局(CA)が、公開鍵の持ち主を保証してくれるの。
CAが発行するのがデジタル証明書ですよね。
そう。
デジタル証明書(公開鍵証明書)には、所有者の情報と公開鍵が入っていて、それにCAがデジタル署名を付けているの。
フォーマットはX.509という規格が使われるわ。
CAの署名が付いてるってことは…CAの公開鍵で証明書を検証するんですかぁ?
そのとおり。
上位のCAがさらに上位のCAに保証され…とたどっていくと、最上位のルート認証局(ルートCA)に行き着くの。
この連鎖を証明書チェーンと呼ぶわ。
じゃあルートCAは誰が保証するの? 無限に続くの?
ルートCAは自分で自分に署名した自己署名証明書を使うの。
ルートCAは『無条件に信頼する』前提で、あらかじめOSやブラウザに組み込まれているのよ。
証明書には有効期限がありますが、期限内でも無効にしたい場合はどうするのですか?
秘密鍵が漏えいした時などね。
その場合CAは証明書を失効させるの。
失効した証明書の一覧がCRL(証明書失効リスト)よ。
リストをダウンロードして、その中にあったら使わない…ってことですねぇ。
そう。
でもCRLは全件のリストだから、増えると大きくなって効率が悪いの。
そこで、1件ずつリアルタイムに問い合わせるOCSPという仕組みが使われるわ。
OCSPは、その証明書が『有効・失効・不明』のどれかをオンラインで即座に確認できるのですね。
ええ。
CRLは一覧をまとめて取得、OCSPは1件ずつオンライン照会、という違いを押さえてね。
どちらも『その証明書がまだ有効か』を確認するための仕組みよ。
証明書のおかげで、公開鍵がなりすましされてないって安心できるんだね!
確認クイズ
OCSP(Online Certificate Status Protocol)の説明として、最も適切なものはどれか。
- 認証局が発行するデジタル証明書のフォーマットを定めた規格である。
- 失効したデジタル証明書の一覧をまとめて配布する仕組みである。
- デジタル証明書が失効していないかを、オンラインでリアルタイムに問い合わせる仕組みである。
- 利用者の公開鍵と秘密鍵のペアを生成し、鍵を配送する仕組みである。
こたえを見る
正解: 3. デジタル証明書が失効していないかを、オンラインでリアルタイムに問い合わせる仕組みである。
OCSPは証明書の有効性(失効していないか)をオンラインで1件ずつリアルタイムに問い合わせるプロトコルで、ウが正解。アはX.509の説明。イはCRL(証明書失効リスト)の説明で、まとめて配布する点がOCSPと異なる。エは鍵管理・鍵配送の話であり、OCSPの役割ではない。