Pages Menu
TwitterRssFacebook
Categories Menu

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

SSLとは?(4)

『電子署名』

公開鍵暗号方式で盗聴が防げることがわかりましたが、本当にそのデータは信用できるものなのでしょうか?

というのは、ネットワーク経由で届いている以上、通信途中でデータの内容が、書き換えられていないという保証はないんです。

つまり、「改ざん」されている危険があります。

また、インターネットで買い物などをするときに、実際には注文したのに、後で「俺は注文なんかしてないよ!」と、「否認」する場合もあり得ます。

これを防ぐためにはインターネット上でしっかりと本人確認をする必要がありますね。

このようなデータの「改ざん」や「否認」を防ぐための仕組みが、「電子署名(Digital Signature)」という技術です。

電子署名は、実は前回説明した公開鍵暗号方式を応用すると簡単にできます。

公開鍵暗号方式では、

「公開鍵で暗号化したデータは秘密鍵でのみ復号化できる」

という仕組みでしたね。

実はこの逆も同じで、

「秘密鍵で暗号化したデータは公開鍵でのみ復号化できる」

という仕組みも持っています。

例えば、Aさんが自分の秘密鍵で暗号化したデータをBさんに送るとします。

Bさんは、Aさんの公開鍵を使ってこのデータを復号化してみると、ちゃんと復号化できます。

ここでわかることは、公開鍵で復号化できるということは、このデータは明らかにAさんの秘密鍵で暗号化されたものであり、データ自体も書き換えられていないという事実です。

ですので、秘密鍵で暗号化するという行為は、自分が署名したデータですよ、と証明する手段となります。

でも、この秘密鍵で暗号化したデータは、公開されている「公開鍵」で復号化できてしまうので、そのままは相手には渡せません。

だから、またAさんとBさんでの例えとなりますが、

1. Aさんが自分の秘密鍵で暗号化する(電子署名)

2. Aさんは、Bさんの公開鍵を使って、その電子署名データを暗号化して送る

3. 受け取ったBさんは、まず自分の秘密鍵で暗号化されたデータを復号化して、中の電子署名を取り出す

4. Bさんは、電子署名がAさんのものであることを確認するため、Aさんの公開鍵で復号化をする

という流れになります。

ちょっと複雑かもしれませんが、こういった技術を使って、データの「改ざん」や本人であることを偽る「否認」を防ぐことができるわけです。