+ 作るログイン
図を読み込んでいます…
1 / 7
図でつながる 認証と暗号の基礎 / 全9章

公開鍵暗号と秘密鍵 ― 配れる鍵、守る鍵

発行
アニメモ公式
版
第2版
改訂
コマ
全7

公開鍵と秘密鍵のペアを動かして、暗号化・復号・公開鍵の信頼を整理します。「秘密鍵方式」という呼び方の曖昧さも解説。

公開する鍵と、手元に残す鍵

ボブさんが、対応する二つの鍵を作ります。公開鍵は他者へ渡せる鍵、秘密鍵は本人だけが守る鍵です。二つは数学的に関係しますが、同じ値のコピーではありません。

これは公開鍵暗号、または非対称鍵暗号の考え方です。NISTの用語定義

「秘密鍵方式」という呼び方だけでは、どの方式か曖昧です。この教材では公開鍵・秘密鍵のペアを使う方式を扱います。秘密鍵暗号方式という言葉で共通鍵暗号を指す場合は、前の教材に相当します。

  • 03 / SECURITY NOTES
  • 1 / 7
  • 公開鍵と秘密鍵は、対応するペア
  • アオイ
  • ボブ
  • 送信者
  • 受信者
  • ボブの公開鍵
  • 数学的に対応する二つ
  • ボブの秘密鍵
  • 同じ鍵のコピーではない。公開できる側を分ける。

相手へ渡すのは、公開鍵

ボブさんは公開鍵をアオイさんへ渡します。図では青い鍵が移動し、赤い秘密鍵はボブさんの手元から出ません。

公開鍵は、知られてはいけないパスワードではありません。しかし、それが本当にボブさんの公開鍵かは確かめる必要があります。攻撃者の鍵とすり替わっていれば、別の相手に向けて暗号化してしまいます。

証明書や検証済みの配布経路、信頼できる別経路で確認した指紋などが、この結び付きを支えます。

  • 03 / SECURITY NOTES
  • 2 / 7
  • 公開鍵だけを、相手へ渡す
  • アオイ
  • ボブ
  • 送信者
  • 受信者
  • ボブの公開鍵
  • ボブの秘密鍵
  • 秘密鍵は、持ち主の手元から出さない。

暗号化では、受信者の公開鍵を使う

ここでは、暗号化に対応した方式を選んだ場合を考えます。アオイさんは受信者であるボブさんの公開鍵で、短いデータを暗号化します。

RSAならRSAES-OAEPのような暗号化方式が定義されています。公開鍵技術がすべて暗号化と署名の両方に使えるわけではありません。Ed25519は署名用、X25519は鍵共有用、というように用途が異なります。RSAの暗号化方式

「公開鍵で閉じる、対応する秘密鍵で開く」は、この暗号化の場面を説明する図です。

  • 03 / SECURITY NOTES
  • 3 / 7
  • 受信者の公開鍵で、暗号化する
  • アオイ
  • ボブ
  • 送信者
  • 受信者
  • 暗号文 a7…9f
  • ボブだけが開けるように
  • ボブの公開鍵
  • ボブの秘密鍵
  • 暗号化に対応した方式を使う。ここではボブ宛て。

復号では、受信者の秘密鍵を使う

暗号文がボブさんへ届きます。ボブさんは対応する秘密鍵を使って復号します。図で移動するのは暗号文で、秘密鍵ではありません。

公開鍵を持っているだけの第三者は、対応する秘密鍵で行う復号をできません。だから公開鍵を配りながら、読む側を限定できます。

ただし、ボブさんの公開鍵を知る人は誰でも暗号文を作れます。読める人を限定したことだけでは、送った人がアオイさんだとは証明できません。 送信者の確認には別の認証や署名が必要です。

  • 03 / SECURITY NOTES
  • 4 / 7
  • 受信者の秘密鍵で、復号する
  • アオイ
  • ボブ
  • 送信者
  • 受信者
  • 暗号文 a7…9f
  • 秘密鍵で復号 → 本文
  • ボブの公開鍵
  • ボブの秘密鍵
  • 読む人を限定しても、送信者の証明にはならない。

すり替えられた公開鍵では、宛先が変わる

アオイさんが「ボブの鍵」と思って受け取ったものが、実は攻撃者の公開鍵だったらどうなるでしょうか。暗号計算が正しくても、開けられるのは攻撃者になります。

図では鍵の送り主が入れ替わり、暗号文の進む先も変わります。暗号の強さと、鍵の持ち主への信頼は、どちらも必要です。

HTTPSでの証明書検証も、この問題に関わります。証明書の署名、名前、有効性などを確認し、接続先と公開鍵を結び付けます。TLS 1.3の証明書認証

  • 03 / SECURITY NOTES
  • 5 / 7
  • その公開鍵は、本当に相手の鍵?
  • アオイ
  • 攻撃者
  • ボブ宛てのつもり
  • 鍵をすり替え
  • 暗号文 a7…9f
  • 偽の公開鍵
  • 暗号は正しくても、宛先が違う
  • 公開鍵のすり替えを防ぐ。鍵と持ち主を結び付ける。

暗号化と署名では、鍵の使い方が違う

目的作る側受け取る側
暗号化受信者の公開鍵で暗号化受信者の秘密鍵で復号
電子署名署名者の秘密鍵で署名署名者の公開鍵で検証

署名を「秘密鍵で暗号化すること」と覚えると、実際の署名方式を誤解します。署名の出力は検証のための値で、秘密の文書を復元させるための暗号文ではありません。RSAの署名方式

大量の本文は共通鍵暗号へ任せ、公開鍵技術は鍵の確立や署名に使う、という分担が次の教材につながります。

  • 03 / SECURITY NOTES
  • 6 / 7
  • 暗号化と署名は、別の操作
  • 受信者の公開鍵
  • 受信者の秘密鍵
  • 暗号化する
  • 復号する
  • 署名者の秘密鍵
  • 署名者の公開鍵
  • 署名する
  • 検証する
  • 「秘密鍵で暗号化」が、署名の一般的な説明ではない。

確認:秘密鍵を相手へ渡す必要がある?

答えはありません。暗号化の図でアオイさんに渡したのは、ボブさんの公開鍵です。秘密鍵はボブさんの管理下に残ります。

この教材の鍵ペアは「同じ鍵を二つ作ったもの」でもありません。公開鍵と秘密鍵の役割を分けられることが特徴です。

鍵を見たら、「誰の鍵か」「公開してよいか」「暗号化・鍵共有・署名のどの用途か」の三点を確認しましょう。同じ公開鍵暗号という言葉の中でも、使える操作は方式によって異なります。

  • 03 / SECURITY NOTES
  • 7 / 7
  • 確認:秘密鍵を相手に渡す?
  • アオイ
  • ボブ
  • 送信者
  • 受信者
  • 配れる公開鍵
  • 誰の鍵? 何の用途?
  • 守る秘密鍵
  • 答えは NO。公開鍵を配り、秘密鍵を守る。

0 件のコメント

読み込み中…

権利侵害・不適切な内容の連絡: [email protected]