アンケートに限らず、クレジットカード番号や個人情報を入力するとき、SSLという言葉がキーワードになる。果たしてSSLとはなんだろうか。それを簡単に解説してみよう。
SSLとはSecure Socket Layerの略で、誰もが良く知っている「暗号化」という機能を提供している。自分でSSLを使ったサービスを提供する際、SSLサーバ証明書なるものが必要になるのだが、この証明書のことを誤って理解している人が非常に多いので、まずそれについて説明しよう。
「ベリサイン」や「ジオトラスト」という会社名は最近なら大抵の人が耳にしたことがあるだろう。上記の証明書を発行(販売)している企業だ。ベリサインなら1年間有効のSSLサーバ証明書発行で85,050円だ。このSSLサーバ証明書、実は暗号化機能そのものを実現するためには全く必要ないことをご存知だろうか。つまり高い費用を払って証明書を購入しなくても暗号化を実現することは可能なのだ。そもそも暗号化を実現するのは、大抵が無償で提供されているソフトウェアで実現されるのであって、証明書そのものが暗号化機能を提供しているのではないということだ。
ではSSLサーバ証明書とはいったいなんだろう。実はこれ、読んで字のごとく「SSLを使っているサーバを証明する書類」なのだ(言ってみれば暗号化とは無関係)。
あなたがクレジットカードを使ってウェブショッピングしたと仮定しよう。その時、通信が暗号化されていれば、あなたと相手方のサーバ以外に使用されたクレジットカード番号を知る者はいないはずだ。つまり安全な買い物ができることになる。はたしてそうだろうか。
あなたがクレジットカード番号を送信しようとしているサーバが、間違いなくあなたがショッピングをしようとしている相手方のサーバであると、なぜ言えるのか。実は言えないのだ。巧みな手法を使用すればサーバそのものをすり替えてクレジットカード番号を盗み見ることができるのだ。本当にクレジットカード番号が届いて欲しい相手かどうか、それを証明してくれる術を提供してくれるのがSSLサーバ証明書なのだ。
理屈はさておき、SSLサーバ証明書は「暗号化をかけるためのものではない」ということはご理解いただけたであろうか。今後数回に分けてSSLについてお話を進めることにしよう。