PKI・デジタル署名
まず結論
公開鍵暗号は「公開鍵で暗号化、秘密鍵で復号」。デジタル署名は「秘密鍵で署名、公開鍵で検証」。PKI(公開鍵基盤)は認証局(CA)が公開鍵の正当性を証明する仕組みです。暗号化と署名で鍵の使い方が逆になる点が最重要ポイントです。
暗号化と署名:鍵の使い方の違い
① 暗号化(秘密通信)
送信者
→ 受信者の公開鍵で暗号化 →
暗号文
→ 受信者の秘密鍵で復号 →
受信者のみ読める
② デジタル署名(本人確認・改ざん検知)
送信者
→ 送信者の秘密鍵でハッシュに署名 →
署名付き文書
→ 送信者の公開鍵で検証 →
本人確認・改ざん検知
暗号化:受信者の公開鍵で暗号化 → 受信者の秘密鍵で復号
署名:送信者の秘密鍵で署名 → 送信者の公開鍵で検証
署名:送信者の秘密鍵で署名 → 送信者の公開鍵で検証
PKI(公開鍵基盤)の仕組み
認証局(CA)
→ Webサーバーの公開鍵の正当性を確認して「デジタル証明書」を発行
↓
Webサーバー
→ CAが署名したデジタル証明書(公開鍵入り)をブラウザに提示
↓
ブラウザ
→ CAのルート証明書でサーバー証明書を検証 → 正規サイトと確認してHTTPS通信
デジタル証明書の内容
| 項目 | 内容 |
|---|---|
| 証明書の所有者 | ドメイン名・組織名 |
| 所有者の公開鍵 | この公開鍵が正当なものと証明される |
| 発行者(CA) | 証明書を発行した認証局の名前 |
| 有効期限 | 証明書の有効な期間 |
| CAのデジタル署名 | 上記内容が改ざんされていないことをCAが保証 |
共通鍵暗号と公開鍵暗号の比較
共通鍵暗号(対称暗号)
✅ 処理が高速
❌ 鍵の配送問題(相手に安全に鍵を渡せない)
例:AES
公開鍵暗号(非対称暗号)
✅ 鍵の配送問題がない(公開鍵は公開してOK)
❌ 処理が低速
例:RSA
TLS/SSLのハイブリッド方式:公開鍵暗号で共通鍵を安全に交換 → その後は高速な共通鍵暗号で通信。両方の長所を活かした仕組み。
🎯 試験での出方
- 「デジタル署名に使う鍵」→ 署名=送信者の秘密鍵、検証=送信者の公開鍵
- 「暗号化に使う鍵」→ 受信者の公開鍵で暗号化、受信者の秘密鍵で復号
- 「CAの役割」→ 公開鍵の正当性を証明するデジタル証明書の発行
- 「共通鍵暗号の問題点」→ 鍵の配送問題(安全な鍵配布が困難)
⚠️ よくある間違い
- 「デジタル署名は公開鍵で署名する」→ ✗ 署名は秘密鍵で行い、公開鍵で検証する
- 「暗号化は秘密鍵で行う」→ ✗ 暗号化は受信者の公開鍵で行い、復号は秘密鍵
- 「CAは通信を暗号化する」→ ✗ CAは証明書の発行のみ。暗号化は公開鍵暗号を使って当事者間で行う
✍️ 確認クイズ
Q1. AさんがBさんにデジタル署名付きのメッセージを送る場合、署名に使う鍵はどれか。
✅ 正解は①。デジタル署名は「送信者の秘密鍵」で署名し、受信者は「送信者の公開鍵」で検証します。秘密鍵を持っているのは送信者だけなので、本人確認(否認防止)ができます。
Q2. 認証局(CA)の主な役割はどれか。
✅ 正解は②。CA(Certificate Authority/認証局)はその公開鍵が正当な所有者のものであることを確認し、デジタル証明書を発行します。ブラウザはCAの証明書を信頼の起点とします。
Q3. TLS/SSLがハイブリッド暗号方式を採用している理由はどれか。
✅ 正解は②。公開鍵暗号は安全な鍵交換ができる一方で処理が遅い。共通鍵暗号は高速だが鍵配送問題がある。ハイブリッド方式は公開鍵で共通鍵を安全に交換し、後は共通鍵で高速に通信する。
Q4. AさんがBさんに「秘密のメッセージを暗号化して送る」場合、暗号化に使う鍵はどれか。
✅ 正解は②。公開鍵暗号での暗号化は「受信者の公開鍵で暗号化」します。Bさんの公開鍵で暗号化された文書はBさんの秘密鍵でしか復号できません。デジタル署名(秘密鍵で署名→公開鍵で検証)と混同しないよう注意。「暗号化=受信者の公開鍵」「署名=送信者の秘密鍵」を区別して覚えてください。
Q5. デジタル証明書に含まれる情報として誤っているものはどれか。
✅ 正解は③。デジタル証明書には「所有者の公開鍵」は含まれますが、「秘密鍵」は絶対に含まれません。秘密鍵は所有者だけが保持するものです。証明書には所有者情報、公開鍵、発行者(CA)、有効期限、CAのデジタル署名が含まれます。
Sponsor Link