公開鍵暗号(Public Key Cryptography)

公開鍵暗号(Public Key Cryptography)とは、対になる二つの鍵を使い、片方で暗号化したものは、もう片方でしか元に戻せないようにした暗号の方式のことです。一方は誰に見せてもよく、もう一方は本人だけが持ちます。

現実世界に例えると、公開鍵暗号は誰でも投函できるが、開けられるのは持ち主だけの郵便受けのようなものです。投入口の場所は公開して構いません。中身を取り出す鍵さえ渡さなければ、安全は保たれます。

二つの鍵の役割

扱い できること
公開鍵 誰に渡してもよい 暗号化する、署名を検証する
秘密鍵 本人だけが持つ 元に戻す、署名を作る

鍵を渡す問題を解いた

この方式が生まれた理由はここにあります。共通鍵暗号では、鍵を安全に相手へ渡す方法がありませんでした。公開鍵暗号では、暗号化用の鍵を堂々と公開できます。盗み見られても、それでは中身を戻せないからです。会ったこともない相手と、事前の打ち合わせなしに安全なやり取りを始められる。これは共通鍵暗号にはできないことでした。

逆向きに使うと署名になる

もう一つの使い方があります。秘密鍵のほうで処理し、公開鍵で確かめられるようにすると、「確かに本人が作った」ことの証明になります。これが電子署名です。中身を隠すのではなく、作った人と改ざんの有無を示すための使い方です。

処理が重い

万能ではありません。共通鍵暗号に比べて計算量が桁違いに多く、大きなデータをそのまま暗号化するには向きません。動画やファイル全体を扱うには時間がかかりすぎます。この点が、実際の使われ方を決めています。鍵の受け渡しや署名といった、短いデータを扱う場面に用途が絞られているのはこのためです。

実際は組み合わせて使う

そこで両者を併用します。公開鍵暗号で共通鍵を安全に渡し、そのあとの本番の通信は速い共通鍵暗号で行うという形です。HTTPSでWebサイトを開くとき、最初のわずかな時間で、この受け渡しが済まされています。

本人の鍵かどうかは別問題

重要な落とし穴があります。手に入れた公開鍵が、本当にその相手のものかは、この仕組みだけでは分かりません。偽物の鍵をつかまされれば、偽の相手と安全に通信することになります。この保証を担うのが証明書と認証局です。

代表的な方式

使われているものは限られています。長く標準だったRSAと、より短い鍵で同じ強さを得られる楕円曲線暗号です。後者は計算も軽く、スマートフォンなど負荷を抑えたい場面で採用が進んでいます。

身近な使われ方

意識しないまま使っています。WebサイトのHTTPS、サーバーへ接続するときのSSH、電子メールの署名、ソフトウェアの配布元の確認。パスワードを使わないパスキーの仕組みも、この方式が土台になっています。

あわせて知っておきたい用語

  • 共通鍵暗号
    同じ鍵で暗号化と復号を行う方式です。
  • 電子署名
    作成者と改ざんの有無を示す仕組みです。
  • 認証局(CA)
    公開鍵が本人のものだと証明する組織です。
  • SSH
    公開鍵暗号を使ってサーバーへ安全に接続する方式です。

コメント

タイトルとURLをコピーしました