はじめに
―― デジタル社会の「信頼」を支える見えないインフラ
インターネットは本質的に信用できない世界です。
相手が本物か、通信が盗み見られていないか、途中で改ざんされていないか。
この「不信の前提」をひっくり返す仕組みが PKI(公開鍵基盤) です。
本記事では
- PKIとは何か
- 何を解決するのか
- どう動いているのか
- なぜ壊れるのか
を暗号をかじった人向けに整理します。
1. PKIとは何か
PKI(Public Key Infrastructure) とは、
公開鍵暗号を「社会で安全に運用するための
ルール・組織・技術の集合体」
です。
重要なのは、PKIは暗号アルゴリズムそのものではないという点。
RSAやECDSAは部品であり、
PKIはそれを誰が・どう信頼するかを決める仕組みです。
2. PKIが解決する3つの課題
① 認証(Authentication)
- この公開鍵は本当に「その人」のものか?
- → デジタル証明書で保証
② 完全性(Integrity)
- データは途中で改ざんされていないか?
- → デジタル署名
③ 否認防止(Non-repudiation)
- 後から「自分はやっていない」と言えない
- → 署名+証明書の組み合わせ
3. PKIを構成する要素
公開鍵と秘密鍵
- 秘密鍵:本人だけが保持(漏れたら即ゲームオーバー)
- 公開鍵:証明書に含めて配布
デジタル証明書
「この公開鍵は◯◯のものです」という電子的な身分証
含まれる情報:
- 公開鍵
- 所有者情報(ドメイン名・組織名など)
- 有効期限
- 発行者(CA)の署名
認証局(CA)
- 証明書を発行する第三者機関
- PKIの信頼の根源
- ブラウザやOSは特定のCAを最初から信頼している
信頼の連鎖(Chain of Trust)
ルートCA
↓
中間CA
↓
サーバ証明書
- エンド証明書を直接信頼しない
- 署名の連鎖を検証して信頼を伝播させる
4. PKIの動作フロー(HTTPS例)
- サーバが鍵ペアを生成
- 公開鍵を含むCSRをCAへ送信
- CAが本人確認
- CAが証明書を発行
- サーバは証明書を提示
- クライアントはCA署名を検証
- 信頼できれば通信開始
👉実際に信頼しているのはサーバではなくCA
5. PKIはどこで使われているか
| 分野 | 役割 |
|---|---|
| HTTPS / TLS | Web通信の盗聴・なりすまし防止 |
| 電子署名 | 契約書・公文書 |
| コード署名 | マルウェア対策 |
| クライアント証明書 | VPN・社内認証 |
| JWT(RS256) | トークン改ざん防止 |
6. PKIの弱点と限界
❌ CAが絶対に安全ではない
- 過去にCA侵害事件は多数存在
- CAが壊れると信頼モデル全体が揺らぐ
❌ 失効確認が甘い
- CRL / OCSPは実装されていないことも多い
- 「失効してるのに使える」事故が起きやすい
❌ 運用が地獄
- 秘密鍵管理
- 更新期限
- 設定ミス
実際の事故原因の多くは暗号ではなく運用
7. よくある誤解
❌ 公開鍵暗号 = PKI
→ 違う
PKIは「信頼の仕組み」、暗号は「計算」
❌ 証明書があれば安全
→ 違う
- 秘密鍵流出
- 有効期限切れ
- CAの信頼崩壊
どれか一つで破綻します。
まとめ
PKIとは何か?
暗号を「信用できる社会インフラ」に変えるための仕組み
数学は強い。
でも信頼を作るのは人・組織・運用。
だからPKIは
- 技術
- ポリシー
- ガバナンス
全部ひっくるめた総合格闘技なのです。