SSL通信はなぜ安全なのかを解説するシリーズの記事です。
今回は初回ですので、SSLとは何のために使用するものなのかを紹介します。
インターネットでの通信
インターネットでやり取りされる通信は、実は簡単に盗聴できます。
原理を説明すると難しくなるので省きますが、例え話で説明しましょう。
ここは、学校の教室だと思ってください。ちょっと悪知恵のつき始めた小学校高学年くらい。
先生の目を盗んで、紙切れに手紙なんかを書いて回してます。

インターネットの通信は丸見え
紙の表には「宛名と送り主」を書いてあり、裏にメッセージが書いてあると思ってください。
間の席にいる生徒たちは紙が回ってきて、自分宛でなければ隣や前後の生徒に渡します。自分宛だったら裏のメッセージを読みます。
インターネットのしくみは、簡単にすればこのようなものです。
ところで、生徒同士のメッセージのやりとりの例では、途中の生徒が見ようと思えば、簡単にメッセージの内容を見ることができます。隣に回す前に、裏返して見てしまえばいいだけです。
実は、インターネットでの通信もこの程度のものなのです。
例えば、職場によっては従業員のネット利用を監視していることがあります。それは、通信内容を途中で見ることができるから、可能なのです。
暗号化
秘密のメッセージを送る必要がある場合は、どうすればよいのでしょうか。
直接手渡しをする、という方法ももちろんあります。丸めて抜群のコントロールで投げつけるとか、エアシューター を設置して飛ばすとか・・・。どちらにしても現実的ではありませんね。
PCのネットワークでは、インターネットを使わずに専用線を引くこともできます。こちらはまあ現実的な手段です。ただし、コストを考えると現実味は薄れます。
また、不特定多数を相手にするのは事実上不可能です。
今ある仕組みをそのまま使って、秘密にメッセージを送る方法が、暗号化です。
秘密のメッセージを送ることができる
暗号化通信の役割の1つ目は、そのままですが「秘密のメッセージを送る」ために使用するというものです。
A君はE君にしか分からない(=E君は復号できるけど、それ以外は解読できない)ように暗号化するのです。
今さらですが、出てくる言葉の説明をしておきます。
暗号化とは「平文(ひらぶん=伝えたいメッセージそのままの文章)を何らかのルールで変換し、第三者が読めないようにすること」。
復号化とは「本来読むべき相手が、きちんとした手続きで平文に戻すこと」。
それに対して解読とは「本来ならば読むべきでない第三者が、不正な手続きで平文に戻すこと」をいいます。
誰が暗号化したのかが分かる
もう一つ役割があります。こちらは多少分かりにくいのですが、「誰が暗号化したものかを示す」ためにも使えます。
ある暗号化方式を使うと、「この暗号のかけ方は A君だ」ということが分かるのです。
これは、暗号に使用する「鍵」を、1人1人が違うものを使用する、というルールによって成り立っています。
A君の「鍵」はA君だけが使い、他の鍵ではA君の鍵とは別の暗号になります。
他の誰かが「Aより」なんて書いたとしても、A君の暗号にはできないので、ばれてしまうのです。
これについては、「公開鍵方式」で説明します。
まとめ
SSLでできることは、
- 盗聴 を防ぐことができる
- なりすまし を防ぐことができる
です。