Pages Menu
TwitterRssFacebook
Categories Menu

Posted by on 4月 27, 2005 in 暗号 | 0 comments

SSLとは?(3)

『公開鍵暗号方式』

SSLで暗号化するには「共通鍵」というのを使うという話をしました。

でもこの共通鍵は、暗号のやり取りをする両者(ブラウザとWebサーバ)で共通の鍵を使う必要があるので、どっちかが作った鍵を相手に渡さないといけません。

そのとき鍵を盗聴されてしまうリスクがあります。

そこで、その「共通鍵」を安全にやり取りするために利用されるのが、「公開鍵暗号方式」です。

公開鍵暗号方式では、まず最初にペアの鍵を作る必要があります。そのペアとは「公開鍵」と「秘密鍵」の組み合わせです。

で、ここが重要なんですが、

 「公開鍵で暗号化したデータは、秘密鍵でしか元に戻せない」

という仕組みがあります。

それを念頭において、AさんとBさんが公開鍵暗号方式を行った場面を考えて見ましょう。

1. Aさんは「公開鍵」と「秘密鍵」のペアを作ります。

2. AさんはBさんに公開鍵を渡し、 「Bさん、この公開鍵でデータを暗号化して送って」 とお願いをします。

3. Bさんは、Aさんの公開鍵を使ってデータを暗号化し、そのデータをAさんに渡します

4. 自分の公開鍵で暗号化されたデータを受け取ったAさんは、それとペアとなる秘密鍵でデータを元に戻します。

この例のポイントは、「2」でAさんはBさんに公開鍵を渡している点です。

共通鍵の場合、ここで盗聴されると、データを元に戻されてしまいますが、公開鍵が漏れても、結局秘密鍵がわからないとデータは元に戻せないので安心です。

だから公開してもいい鍵ということで「公開鍵」と言ってるんですね。

このように安全な公開鍵暗号方式ですが、デメリットとしては、暗号と復号化の処理に時間がかかることが挙げられます。

だから、SSLでは、この公開鍵暗号方式を「共通鍵」を渡すことだけに使います。

公開鍵暗号方式を使って、安全にブラウザとWebサーバの間で「共通鍵」を交換して、後は、高速な共通鍵暗号方式を行うというわけです。