CA(認証局)の公開鍵は、CAが証明書に付けた署名を検証するための鍵です。CAの秘密鍵で署名を生成し、対応するCAの公開鍵で検証します。サーバの公開鍵とは、持ち主と役割が違います。
CAの鍵とサーバの鍵を区別する
| 鍵 | 主な役割 |
|---|---|
| CAの秘密鍵 | 発行する証明書へ署名を生成する |
| CAの公開鍵 | そのCAの署名を検証する |
| サーバの公開鍵 | サーバ証明書に含まれ、サーバの認証などに使う |
| サーバの秘密鍵 | サーバが保管し、対応する鍵を持つことを証明する処理などに使う |
証明書の署名の検証は、発行元の公開鍵を使います。署名方式を問わず「公開鍵で復号する」と覚えるのではなく、公開鍵で検証すると整理します。
ルート・中間CA・サーバ証明書の関係
ブラウザなどが信頼するルートCAを基点として、中間CAを経由してサーバ証明書へつながる証明書の連鎖を検証します。サーバ証明書を中間CAが発行した場合、その署名は中間CAの公開鍵で確認します。ルートCAの公開鍵だけで、すべてのサーバ証明書の署名を直接検証するわけではありません。
署名が正しいだけでは検証完了ではない
| 確認する観点 | 例 |
|---|---|
| 信頼の連鎖 | 信頼するルートへつながるか |
| 有効期間 | 期限内か |
| 利用条件 | CAとして発行できるか、鍵の用途は適切か |
| 接続先 | サーバ証明書の名前が接続先に対応するか |
| 失効 | 失効情報やクライアントの方針を確認する |
証明書の署名は、その内容が発行元によって署名されたことを確認するためのものです。それだけで接続先が対応する秘密鍵を持つことの証明まで済むわけではありません。TLSのハンドシェイクでは、秘密鍵の所持を示す処理なども行います。
PKIの中での位置付け
PKI(公開鍵基盤)は、公開鍵を信頼して利用するために、証明書の発行・検証・失効などを組み合わせる仕組みです。CAの公開鍵、証明書、サーバの鍵をそれぞれの役割に分けると、HTTPSの理解にもつながります。
理解を確かめる確認問題
中間CAがサーバ証明書を発行しました。その証明書の署名を直接検証するのは、誰の公開鍵でしょうか?
解答・解説を見る
発行元である中間CAの公開鍵です。さらに中間CAの証明書などを検証し、信頼するルートへつながることや証明書の条件も確認します。

コメント