【安全なサイトの見分け方】
Internet ExplorerではSSLに対応したWebサイトでは鍵アイコンが表示される。こういうサイトでは送受信データは暗号化される

 SSL(Secure Socket Layer)は、Web ブラウザーとWebサーバーが暗号を使って通信するための仕組みです。SSLを使っているW e b ページをInternet Explorerで表示すると、Webサイトのアドレスが「http://~」から「https://~」になり、画面の下に鍵のアイコンが表示されます(右図)。

 SSLの仕組みを簡単に解説しましょう(下図)。SSLでは公開鍵暗号(公開鍵と秘密鍵を使用)と共通鍵暗号(共通鍵を使用)を組み合わせています。WebブラウザーがSSLを使っているWebサーバーにアクセスすると、サーバーから公開鍵を含む電子証明書が送られます。電子証明書は公開鍵がそのサーバーのものであることを証明するものです。ブラウザーはそこから公開鍵を取り出します。そして、実際の暗号化に使う共通鍵を作成するためのデータを、公開鍵で暗号化してサーバーに送信します。

【SSLの仕組み】
サーバーに接続したクライアントは、サーバーの公開鍵を使って共通鍵生成用データをサーバーに送付する。そのデータを基に両者で共通鍵を生成。データを共通鍵で暗号化してやり取りする

 公開鍵で暗号化したデータは秘密鍵でないと元に戻せません(公開鍵で暗号化すると公開鍵では元に戻せないのです)。秘密鍵はサーバーにしかないので、別のユーザーが暗号化したデータを傍受しても、元に戻すことはできません。このおかげでブラウザー、サーバーの双方で、同じ共通鍵を安全に作成することができるのです。実際の個人情報やクレジットカード番号はこの共通鍵を使ってやり取りします。公開鍵を使ってデータをやり取りしないのは、共通鍵に比べて暗号化や復号化の計算に時間がかかるためです。

 一般的に共通鍵は128ビット、公開鍵は1024ビットといった長さの鍵が使われています。これらの鍵を計算で素早く見つける方法は見つかっておらず、暗号を解読するためにはあらゆる組み合わせを試す必要があります。解読には膨大な時間がかかるので、実質上、SSLを使った暗号化は安全といえます。

 ただし、暗号化が有効なのはインターネットの経路上のみです。いったんサーバーに送られたクレジットカード番号は、サイト管理者なら悪用できます。買い物をするときには、SSLのチェックは当然ですが、そのサイトが信頼できるかどうかも調べた方がよいでしょう。