秘密鍵・公開鍵とは? インターネットを支える基本の仕組み

データを2者の間でのやり取りする時には、第3者からデータを盗まれないようにするため、セキュリティが欠かせません。そこで、データを送る際に暗号化を使うのですが、暗号化する「鍵」として、現在インターネットでは秘密鍵・公開鍵という仕組みが多くの暗号化に使われています。私達の情報を守ってくれてるシステムの、意外と知られていない仕組みをわかりやすく解説します。

秘密鍵暗号方式と公開鍵暗号方式

秘密鍵と公開鍵の仕組み説明は、暗号の歴史から見るのが最もわかりやすいです。とても大雑把に言えば、秘密鍵暗号方式というのが旧来の方法、公開鍵暗号方式というのが現在インターネットで使用されている新しい方法です。難しそうで見慣れない字面の二つの方式ですが、概念を理解するのは難しくありません。

秘密鍵暗号方式

秘密鍵暗号方式とは、データを送る側と受け取る側が、同じ鍵を所持しており、お互い共通の鍵で暗号を掛けたり復号(暗号を解除)したりできる、というシステムです。なので共通鍵暗号方式ともいわれます。「暗号」と聞いて多くの人がイメージするのは、この暗号方式ではないでしょうか。

例えばデータAを送るとします。Aを暗号化、復号化するのには、鍵①が必要です。順番としては

1.データを送る側がデータAを鍵①で暗号化して送る

2.受け取った側はデータAを、鍵①で復号する

となります。このとき、鍵①がなければ中身を見ることはできません。そのため、鍵を知っている者同士しかやり取りができないというのがポイントです。

秘密鍵暗号方式のデメリット

秘密鍵暗号方式には根本的な欠点が存在します。暗号を渡すとき、相手もその鍵を知っていなければいけませんでした。ですので、鍵が第三者に渡らないよう、以前は絶対に通信機で鍵を渡さないようにするのが一般的でした。

もう一つ、鍵は共有のものなので、暗号が解かれてしまう可能性があります。脱出ゲームで暗号化された文章を解くように、多くの人のもとに同じ鍵が晒されると、規則を見つけられてしまう可能性があります。第二次世界大戦でドイツが使用した当時最高峰の暗号機「エニグマ」が解読されてしまったことは有名です。

公開鍵暗号方式とは?

この問題を解決する画期的なアイデアが1970年代に開発されました。それが公開鍵暗号方式です。秘密鍵暗号方式が知っている者しかやり取りができない、というのに対し、公開鍵暗号方式では、公開鍵と秘密鍵をセットで使うことで誰でも使えるようになりました。ここでの秘密鍵とは「自分しか知らない秘密の鍵」、公開鍵とは「受信者がオープンに公開している鍵」のことを言います。

送りたいデータBがあったときの手順は

1.Bを暗号化して送るとき、 オープンにしている公開鍵で暗号化する

2.送られてきたデータBを、秘密鍵で開く

となります。 

公開鍵暗号方式のメリット

暗号化の鍵は公開されていますから、 誰でも送信できます。 ですが暗号化された文書は、 公開鍵では元に戻せません。暗号を解くためには秘密鍵が必要です。ここがポイント。つまり、暗号を解けるのは、秘密鍵を知っている自分ただ一人なのです。

まとめ

暗号化について簡単にご説明してみました。不特定多数の人に情報が撒かれてしまうインターネットで、私達の大切な情報を守る大切な仕組みです。個人情報を扱うようなビジネスを展開したい方は必ず知っておかなければなりませんし、情報を渡す消費者の私達も、理解したうえで使いたいところです。


Welcome to UX MILK

UX MILKはより良いサービスやプロダクトを作りたい人のためのメディアです。

このサイトについて