概要
PKI(Public Key Infrastructure:公開鍵基盤)は、デジタル証明書を発行・管理・失効させる仕組みの総称です。TLS・S/MIME・コード署名・電子政府など、現代のデジタル信頼基盤のすべてに使われています。SC試験では証明書の構造・CA 階層・失効確認の方法(CRL/OCSP)が特に頻出です。
仕組みと動作原理
デジタル証明書の構造(X.509)
証明書の主な項目:
- バージョン(V3が現行)
- シリアル番号(CAが付与する一意の番号)
- 署名アルゴリズム(sha256WithRSAEncryption など)
- 発行者(Issuer):証明書を発行したCAの識別名
- 有効期限(Not Before / Not After)
- サブジェクト(Subject):証明書の所有者
- サブジェクト公開鍵情報
- SANs(Subject Alternative Names):ドメイン名のリスト
- CAのデジタル署名
CA(認証局)の階層構造
ルートCA(Root CA)
└── 中間CA(Intermediate CA)
└── サーバ証明書(End-Entity Certificate)
| 層 | 役割 | 保管方法 |
|---|---|---|
| ルートCA | 信頼の起点。OSやブラウザに組み込み | オフライン(物理金庫) |
| 中間CA | 実際に証明書を発行する | 限定的オンライン |
| サーバ証明書 | Webサーバ・メールサーバなどが使用 | オンライン |
ルートCAをオフライン保管する理由:ルートCAの秘密鍵が漏洩すると PKI 全体が崩壊するためです。
証明書の検証フロー
- サーバが証明書チェーン(サーバ証明書+中間CA証明書)を送付
- ブラウザが中間CAの署名を確認(中間CAの公開鍵で検証)
- ブラウザがルートCAの署名を確認(ルートCAはOS/ブラウザに組み込み済み)
- 有効期限・失効状態・SAN(ドメイン名)を確認
証明書の失効確認
CRL(Certificate Revocation List):証明書失効リスト
| 項目 | 内容 |
|---|---|
| 仕組み | CAが失効証明書のシリアル番号一覧を定期公開 |
| 問題点 | リストが大きい・更新が遅延する(タイムラグ) |
| 配布方式 | HTTP で定期ダウンロード |
OCSP(Online Certificate Status Protocol)
| 項目 | 内容 |
|---|---|
| 仕組み | 個別の証明書シリアルを問い合わせてリアルタイムに確認 |
| 問題点 | プライバシーの懸念(CAが閲覧URLを把握)・サーバ負荷 |
| 改善策 | OCSP Stapling:サーバが事前にOCSPレスポンスを取得してTLSハンドシェイクに含める |
Certificate Transparency(CT:証明書透明性)
不正発行された証明書を検知する仕組みです。
1. CAが証明書を発行する際にCTログサーバに登録
2. CTログサーバがSCT(署名付き証明書タイムスタンプ)を返す
3. 証明書にSCTを埋め込む
4. ブラウザがSCTを検証 → ログに登録された証明書のみ信頼
Google は 2018 年以降、SCT のない証明書を Chrome で信頼しない方針を採用しています。
証明書の種類
| 種類 | 検証レベル | 用途 |
|---|---|---|
| DV(Domain Validation) | ドメイン所有のみ | 一般的なWebサイト |
| OV(Organization Validation) | 組織情報も検証 | 企業サイト |
| EV(Extended Validation) | 厳格な法人確認 | 金融・電子商取引 |
| ワイルドカード | *.example.com | サブドメイン一括対応 |
SC試験での頻出ポイント
- 証明書チェーンの検証順序:サーバ証明書 → 中間CA → ルートCA の順に署名を確認
- CRLとOCSPの違い:CRLはリスト全体のダウンロード、OCSPは個別のリアルタイム問い合わせ
- OCSP Staplingの目的:プライバシー保護とパフォーマンス向上(CAへの問い合わせを省略)
- Certificate Transparencyの目的:CAの不正証明書発行を公開ログで検知・抑止
- ルートCAがオフライン保管される理由:秘密鍵漏洩時のPKI全体への壊滅的影響を防ぐ
よくある誤問・ひっかけパターン
誤り① 「証明書の有効期限内なら必ず安全」→ 誤。失効(CRL/OCSP)確認が必要です。秘密鍵漏洩時は有効期限内でも失効させます。
誤り② 「自己署名証明書はCAの署名がないので暗号化できない」→ 誤。暗号化は可能ですが、第三者による身元確認がないため、なりすましを検知できません。
誤り③ 「中間CAがあると証明書の安全性が下がる」→ 誤。ルートCAを保護しつつ証明書を発行できるという意味でセキュリティを高めます。
関連用語
- 公開鍵暗号(RSA)とデジタル署名 — 証明書の署名にRSA/ECDSAを使用
- TLS(Transport Layer Security) — TLSハンドシェイクで証明書検証を実施
- 楕円曲線暗号(ECC) — 近年はECDSA証明書が主流化
重要キーワード
| 用語 | 説明 |
|---|---|
| CA(認証局) | デジタル証明書を発行・管理する機関 |
| X.509 | デジタル証明書の標準フォーマット |
| CRL | 失効した証明書のシリアル番号一覧。CAが定期公開 |
| OCSP | 個別証明書の失効状態をリアルタイムに問い合わせるプロトコル |
| OCSP Stapling | サーバがOCSPレスポンスを事前取得してTLSに含める仕組み |
| Certificate Transparency | CTログへの登録で証明書の不正発行を検知する仕組み |