暗号化で守れる範囲は「経路」だけインターネットサービスの新基準(1/2 ページ)

最近は、信用にかかわる情報には最大限のセキュリティ対策を講じなければならない世情となっている。現在、Web上でスタンダードとなっているのがSSLによる暗号化だ。運用側が行うべき対策は現状で十分だろうか?

» 2005年12月22日 08時17分 公開
[大澤文孝,ITmedia]

 インターネットにおける通信は、その仕組み上、途中の経路で第三者にのぞかれてしまう危険性がある。そこで、オンラインショッピングをはじめ、個人情報を扱うサイトで使われているのが「暗号化」の技術だ。

 暗号化として代表的なものは、Webページを保護するための「SSL」が知られている。オンライン決済経験がある人は、「ブラウザの右下に鍵アイコンが表示されているか確認すべき」といった注意を聞いたことがあるはずだ。しかし、このSSLは導入するだけでは不十分である。メールの送受信やコンテンツのアップロード、集計結果のダウンロードなどにも配慮が必要だ。

 オンライン・ムック「インターネットサービスの新基準」では、サービス構築・運用・管理にかかわるユーザーを対象にノウハウを解説してきた。

 これまでは、基盤(ホスティングサーバ)選択の指針を中心に解説してきたが、今後は、インターネットサービスを支えるために基盤構築をどのように行えばよいか? という、サービス構築と維持をベースとした視点にシフトしていく。今後もこのオンライン・ムックでは、徐々に異なる上層レイヤーへと視点を移していく予定だ。現在の記事は、サーバの基盤上に構築するミドルウェアの層に位置する。

 そして今回のテーマは、Webアプリケーションの安全性を高める場合に注目したいポイントの一つ、暗号化についてだ。

管理時のセキュリティに注意しなければ意味がない

 最近では、個人情報保護法が施行されたこともあり、エンドユーザーでも情報の扱われ方に注視するようになってきた。銀行や証券など金銭にかかわる取り引きに限らず、オンライン決済時の住所入力や、さらには簡単なアンケートページでさえも、暗号化されるようになった。

 そして、根底の技術へと目を向けてみれば、ブラウザとサーバ間の入出力を暗号化するために用いられるのが前述したSSLだ。SSLは一般に数多くのサイトで採用されている。

 しかし、このSSLだけでは万全ではないと強調しておかなければならない。入力されたデータをサイトの運営者が最終的にどのような経路で閲覧するのか? という点こそが重要なのだ。

 一部のオンラインショッピングサイトで見られる悪い形態としては、Web上で入力された発注内容をメール経由で運営者に送信するという事例だ(図1)。この仕組みは構成が簡単で構築も容易なため多く使われてきたが、基本的にメール内容は暗号化されないため盗聴の危険性がある。

 また、サイト上で行ったアンケートページによる集計結果をCSVテキストなどでダウンロードする事例もある。ここでダウンロードにFTPを用いるのは好ましくない。CSV自体で蓄積することは安全なのか? という問題点もあるが、ここでは経路にポイントを絞っておく。FTP利用は、こちらも基本的に暗号化されない点が問題なのだ。

図1■集めた情報をサイト運営者がどのように閲覧するかまでを考えるべき

クライアント証明書を用いた認証採用が広まっている

 このような問題があるため、通常、Webアプリケーションでは、管理者向けのWeb管理画面を作り、そのWeb管理画面をSSLで構成し、そこで各種操作をすることが基本となっている。

 このときには、第三者が管理ページにアクセスできると困るので、サーバサイドで認証手順を用意すべきだ。認証の際には、よく用いられるのがパスワードによる保護である。管理者は、あらかじめ定められたユーザーID、パスワードを使ってログイン操作する。

 しかしパスワードによる認証は、パスワードの漏えいという問題点が残る。そこで最近は、「クライアント証明書」を使って認証する事例が増えてきているのだ。

 クライアント証明書とは、サーバサイドでユーザーごとに作成した証明書のことである。ユーザーは、この証明書をWebブラウザにインストールして、Webサーバへとアクセスする。つまりクライアント証明書は、身分証明書のようなものである(図2)。この方式であれば、クライアント証明書が盗用されないよう気遣えば、第三者によってログインされてしまうことはない。ちなみに、クライアント証明書は失効することもできるため、紛失時の対処面でも安心だ。

 なお現実的な運用形態を考慮すれば、クライアント証明書を単体で使うのではなく、万が一に備えて、(1)パスワードによる認証も併用する、(2)IPアドレスによって特定のネットワークからのみの接続に限定する、といった運用をすべきだろう。

図2■クライアント証明書を用いて認証する
       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ