パソコンとネットワーク|on Note

パソコン・ネットワーク・データ通信に関する記事

on Note

公開鍵暗号方式

公開鍵暗号方式とは、暗号化と復号に異なる鍵を用いる暗号方式である。暗号化と復号化で別の鍵を使うことから非対称暗号とも呼ばれる。

暗号化に使う鍵を公開鍵、復号化に使う鍵を秘密鍵と呼ぶ。

公開鍵と秘密鍵の関係

「公開鍵」と「秘密鍵」は対になる、異なる値公開鍵で暗号化したデータは秘密鍵でのみ復号することができる

公開鍵は、インターネット経由でデータ送り主に送信される為、この公開鍵にも盗聴のリスクがあるのだが、公開鍵で暗号化したデータを公開鍵で復号することはできない。

暗号文も公開鍵もインターネット経由で送信される以上、悪意ある第三者に盗聴されるリスクはある。しかし、送信された暗号文と公開鍵の両方を悪意ある第三者が取得したとしても、この公開鍵で復号することはできない為、データを盗み見されることはない。

公開鍵はその名の通り、不特定多数の者に公開すらしてしまうほど、人に知られても問題ないもの。

公開鍵暗号方式の流れ

  1. データ受信者が公開鍵と秘密鍵の両方を作成。この内、暗号化に使う公開鍵だけ公開(これが名前の由来)。暗号化用の鍵が公開されることで、誰でも暗号化することができる。
  2. データ送信者は、この公開鍵を使ってデータを暗号化。暗号文を送信。
  3. 受信者は、受け取った暗号文を秘密鍵で復号し、元のデータを取得。

公開鍵を入手した誰もが暗号化できるが、復号できるのは秘密鍵を持った鍵の作成者だけ、というシステムができあがる。

複数とのやり取りがしやすい公開鍵暗号方式

公開鍵暗号方式は、不特定多数間でのやり取りがしやすい。

公開鍵と秘密鍵を用意したデータ受信者がいたとする。受信者は、公開鍵をインターネット上で公開することができる一方、秘密鍵は厳重に管理する必要がある。

このデータ受信者にデータを送信したい送り手が複数いた場合、データ送信者達は、受信者が公開している公開鍵を取得してデータを暗号化する。そしてこの暗号文を受信者に送信する。

データを受け取ったデータ受信者は秘密鍵で復号し、元のデータを取得する。

共通鍵暗号方式は、暗号化に使用する鍵と復号に使用する鍵は同じもの。安全性を確保する為には、やり取りする相手ごとに鍵を用意する必要がある。よって、やり取りする人数が増えるとその分必要な鍵の数も増える。

公開鍵暗号方式では、送信者ごとに鍵を用意する必要はない。また、秘密鍵を手にするのはデータ受信者だけなので安全。

公開鍵暗号方式の問題

公開鍵暗号方式では、公開鍵の信頼性に問題がある。

公開鍵暗号方式では、データ受信者が公開鍵と秘密鍵を作成する。そして公開鍵だけをデータ送信者に送信し、送信者は、この公開鍵を使ってデータを暗号化する。

公開鍵と秘密鍵の作成は、悪意ある第三者にもできる。

データ受信者がデータ送信者に公開鍵を送信する際、悪意ある第三者が作成した公開鍵と本来の公開鍵がすり替わったら、送信者に届く公開鍵は第三者が作成したものということになる。そうすると、送信されたデータを第三者が盗聴した時、この暗号文を、第三者が自身の秘密鍵で取得できてしまう。

このように、公開鍵には、誰が作成したのかを示す手段がない。よって、データ送信者が、送られてきた公開鍵がすり替わっていることに気付くことができない。

更に悪意ある第三者は、この盗み見したデータを、データ受信者が発行した公開鍵で暗号化し、この暗号文を受信者に送る。受信者は自分の秘密鍵でこの暗号文を復号し、元のデータを取得する。

こうなると、データ受信者も、まさかデータを盗み見されたとは気付かない。

処理速度の面でも、公開鍵暗号方式は、共通鍵暗号方式に劣る。共通鍵暗号方式に比べ処理が複雑な文、暗号化と復号に時間がかかる。

公開鍵暗号方式での問題を解決する方法

公開鍵の信頼性の問題では、データ送り主が受け取る公開鍵が、データ受信者が作成したものかどうかが判断できない所に原因がある。この問題の解決には「デジタル証明書」の仕組みを利用する。

また、公開鍵暗号方式での別の問題として、暗号化と復号に時間がかかることが挙げられる。その為、細かいデータを連続的にやり取りするような場面での利用には向いていない。この問題の解決策には「ハイブリッド暗号方式」がある。

メニュー