このページの本文へ

前へ 1 2 3 4 5 次へ

WWW完全制覇 第6回

HTTPとCookie、SSLを理解しよう

ブラウザとサーバは何をやりとりしているの?

2009年06月09日 09時00分更新

文● 遠藤哲、中塚寛幸、編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

通信のセキュリティを確保するSSL

 HTTPはデータを平文で送受信する。そのため、不特定多数のユーザーが利用するインターネットにおいては、盗聴や改ざんの危険性がある。そこで古くから利用されているのが、SSL(Secure Sockets Layer)と呼ばれるセキュアプロトコルである。

 SSLはWebブラウザの開発を手がけたネットスケープ・コミュニケーションズが開発した技術で、その後インターネットの標準化技術として地位を確立した。現在では多くのWebブラウザ、Webサーバが対応しており、ショッピングサイトやオンラインバンクはもちろんのこと、個人情報をやりとりするサイトで幅広く使われている。

 SSLでは、Webブラウザ側から通信相手のWebサーバが正当なものかどうかを確認する。インターネットでは特定のドメインが正当な事業者によって運用されているかを証明する仕組みがない。宛先のURLのドメイン名を所有・管理しているかどうかを実際のデータ通信の前に確認するのだ。

 ここで使うのが、認証局と呼ばれる第三者機関から発行された「SSLサーバ証明書」である。Webブラウザには各認証局の上位機関にあたるルート認証局で発行されたルート証明書がインストールされている。一方、Webブラウザではアクセス先から取得した証明書が信用のおけるルート証明書によって発行されたものか、有効期限内か、などをチェックする。これによって、アクセスしようとしているサイトが正当なものかがわかる仕組みになっている。

 また、WebブラウザとWebサーバ間で通信データを暗号化する。この暗号化に際しては、第三者に暗号が解かれないよう、両者のみで利用できる鍵を生成しなければならない。そこでSSLでは両者で鍵の素材を交換しつつ、暗号鍵と公開鍵という2つの鍵を利用する公開鍵暗号という方式で、鍵自体をネットワークに流さないようにする(図7)。

図7 SSLでのプロトコルのやりとり

 具体的には、サーバからは証明書と一緒に公開鍵を送り、Webブラウザ側はこの公開鍵を用いて共通鍵を暗号化し、Webサーバに送信。Webサーバはそれを秘密鍵で復号化すると、両者で共通の鍵を生成できる。これを用いて、以降は通信データに暗号をかけることになる。

 SSLでのURLの指定は「https://」というスキームを用いる。そして、SSLでの通信中は、Webブラウザのステータスバーに鍵のアイコンが表示される(画面2)。

画面2 SSLの通信中は、Webブラウザのバーに鍵マークが出る

 Webのセキュリティ技術として信頼性の高いSSLだが、2004年頃からはSSLサーバ証明書を持った犯罪用サイトが登場した。そのため、普段安心をして使っている証明書が使われたため、ユーザーが個人情報などを入力してしまうことになってしまったのだ。

 これに対抗するため、昨今では証明書を取得する企業の実在証明を厳密に行なうEV SSLサーバ証明書のサービスが注目を集めている。通常のSSLサーバ証明書に比べてやや高価だが、金融機関などでは導入が始まっている。

前へ 1 2 3 4 5 次へ

カテゴリートップへ

この連載の記事
  • 角川アスキー総合研究所
  • アスキーカード