セキュリティ製品の基礎知識と導入手引き

【連載】情報セキュリティ運用の基礎知識

第3回 Web構築・運営における脆弱性とその解決法


 ロードマップ
第1回 情報セキュリティの基盤技術としての暗号
第2回 社内ネットワークにおけるクライアントの対策
第3回 Web構築・運営における脆弱性とその解決法
第4回 経営層にセキュリティの重要性を納得させる

湯田弘亮
シーフォーテクノロジー
2002/10/4


 インターネットが普及するにつれ、Webサイトから個人情報が漏えいする事件が大きく取り上げられるようになってきた。それに伴い、多くの人々がその安全性を重要視している。

 今回は、Web利用に関する脆弱性とその解決法について、それらの技術・製品の基礎知識をいくつか簡単に説明していくことにする。

   クライアントとサーバ間のユーザー通信に関するセキュリティ

 インターネット上で通信を実施するWebサーバと、Webブラウザの間には、多くの機器や通信ケーブルが介在し、それらは多くの人間が接続しているオープンな共有資源である。そこでの通信内容の秘密は保証されていないと考えるべきであろう。少し技術のある第三者がソフトウェアなどを使って、通信内容を盗聴することは可能であるからだ。そのため、当然、情報の改ざんや、なりすましの危険性も考えられる。

●暗号化通信をする手段として最も普及しているSSL

 クライアントとWebサーバ間のユーザー通信の保護を目的として、一般的に使用されているものが、SSL(Secure Sockets Layer)である。限られた組織間の通信を保護するのであれば、IPSecを利用したVPNの構築も考えられるが、インターネット上で不特定多数が使用するWebの場合はSSLが最も普及しているといえる。

 SSLは、米国ネットスケープ・コミュニケーションズが定めた認証と暗号通信の方式(プロトコル)であり、バージョン3.0まで開発されている。また、SSLとほぼ同じ仕様がTLS(Transport Layer Security)という名称でインターネット標準として検討されている。TLSは、インターネット技術の標準化活動を行っているIETF(Internet Engineering Task Force)がSSL3.0を引き継いでRFC2246として規定したものである。今後TLSが標準的に利用される可能性はあるが、ここでは、SSLとして話を進めることにする。

 SSLは、第三者である認証局(公的CA)の署名が入った電子証明書を使ったサーバの認証と、WebブラウザとWebサーバ間での通信内容の暗号化、という大きく分けて2つの機能を持つ。認証は公開鍵暗号技術で行われ、通信データの暗号化は共通鍵暗号技術で行われる。「第1回 情報セキュリティの基盤技術としての暗号」でも解説したとおり、公開鍵暗号技術は強度を高めると計算量が増大する。そのため、通信データ本体は共通鍵暗号技術で暗号化し、ネットワーク上でのリアルタイム通信時におけるレスポンス低下を軽減するよう考慮されている。改ざん検証には、ハッシュ関数を使った鍵付きのMACを採用しており、データの完全性チェックを可能としている。

 SSLは主に以下のような、クライアントとサーバ間のユーザー通信に関する危険性を軽減させる機能を持つ。

  • サーバ認証により、Webサーバのなりすましの防止
  • 通信データの暗号化により、盗聴された際の情報の秘匿
  • 通信内容の完全性チェックにより、通信データの改ざんの検知
 SSLを導入するためには、サーバ側ではWebサーバソフトウェア/ハードウェアを選択する必要があるが、クライアント側のWebブラウザに関しては、Netscape NavigatorやInternet Explorerなどの主要なWebブラウザがすでにSSLに対応している。従って、ユーザーが特に意識せずに使えるというメリットがあり、SSLがインターネット上のセキュリティプトコルとして普及している大きな理由の1つでもある。

※ただし、WebサーバとWebブラウザで同じ暗号化アルゴリズム、鍵の長さに対応している必要がある。また、PKIに対応していない旧バージョンのWebブラウザでは、使用できないので注意が必要。

 ここで注意していただきたいのは、単にSSLを使っているから「安全が保証されている」というような認識を持つのは危険ということである。正しく導入・運用していないと、安全とは名ばかりのSSL環境になりかねない。SSLの機能を理解したうえでの利用が望まれる。例えば、情報処理振興事業協会の暗号技術評価委員会(CRYPTREC)では、具体的にSSLがどの程度の安全性を持っているのか客観的に評価し、「暗号技術評価報告書(2001年度)」(CRYPTREC Report 2001)の中で発表している。SSLに用いられている暗号方式の安全性、プロトコルに関する安全性、実装面・運用面での安全性など、運用と利用についての注意点がまとめられているので、SSLの導入を 検討される場合は目を通すことをお勧めする。また、SSLとTLSの差異についても報告書に多少記載されているので参考にしてほしい。

情報処理振興事業協会 「暗号技術評価報告書(2001年度)」(CRYPTREC Report 2001)
http://www.ipa.go.jp/security/enc/CRYPTREC/fy14/
cryptrec20020418_report01.html

 SSL通信のやり取りでは、一般的にURLの先頭が「https://」になる。また、Webブラウザによっては、ウィンドウ下のステータスバーに南京錠( )のアイコンが表示される。これを1つの指標にしてサイトを見回してみたらどうだろうか? ユーザーに個人情報を入力させるフォームを持ったページにもかかわらず、URLの先頭が「https://」となっていなかった場合、ほかにどのようなセキュリティ対策を取っているのか気にしてみた方がよいだろう。SSL以外の対策も何も取っていないようなWebサイトはセキュリティ意識が低いといってもよいのではないだろうか? SSLを利用している場合は、南京錠のアイコンをクリックし証明書を開いて発行者が正しいか確認することを忘れないようにしたい。

※フレームで区切った作りのサイトの子フレームページや、JavaScriptでアドレスバーやステータスバーを表示させていないウィンドウに、SSLで保護されたページを表示させている場合、ユーザーが使用しているWebブラウザによってはSSLを使用していても、一見使用していないように見えることがある。SSLに対応していても、ユーザーは視覚的に確認することができない。SSLを使用したページを作成する際はそういったページデザインにしない方が、ユーザーにとって使いやすいサイトといえる。

●セキュアなeコマース(EC)を実現するために登場したSET

 先に説明したとおり、現在では重要度の高いデータのやり取りを行う場合、SSLを利用して行うことが一般的である。ECサイトにおいてもSSLを使用しているサイトは多く見かけられるだろう。しかし、ECにおける電子決済を考えた場合、SSLではセキュリティ面で不完全なケースもある。

 SSLは、サーバとクライアントという2点間のセキュリティだが、クレジットカード決済の場合は、通常、利用者(クレジットカード会員)・加盟店(オンラインショップなど)・クレジットカード会社という3者間の取引になるため、不完全な対応になってしまう。利用者が加盟店のオンラインショップで注文情報を送信し、加盟店がその情報を確認し、クレジットカード会社と取引を行う過程では、取引の途中に位置する加盟店で注文情報以外の重要情報(例えばカード番号や個人情報など)が盗聴・改ざんされる恐れがある。また、クレジットカードの正当な所有者が、本当にカード番号を入力しているかということを、確認できなければならない。

 そこで、インターネット上のクレジットカード決済の標準規格として考えられたのが、SET(Secure Electronic Transaction)である。米国ビザ・インターナショナル(VISA)と米国マスターカード・インタナショナルが共同開発し、米国マイクロソフト、米国ネットスケープ、米国IBMなどと共同で標準化した。

 SETではまず、利用者と加盟店双方が認証局(SETの場合、認証局はカード会社が共同で設立した認証局、またはクレジットカード会社自体)から電子証明書を取得する。そして、利用者がオンラインショップで注文をすると、認証局を経由して電子証明書とカード番号などの情報が加盟店に送られる。加盟店は注文内容を確認し、加盟店情報を付加するが、その際、クレジットカード会社に送られるべき情報(カード番号や審査に必要な個人情報など)は完全に分離していて、加盟店では見ることができない。

図1 SETによる決済の流れの概要図

 このように、公開鍵暗号技術を利用して、注文情報と重要情報とを完全に区別できるのがSETの大きな特徴である。加盟店は、注文情報以外のクレジットカード番号などの情報を見ることができず、利用者はその情報が悪用されることを心配する必要がなくなる。加盟店側にとっても、クレジットカード利用者を確実に認証できるようになるため、不正購入などをチェックすることができる。また、クレジットカード会社は利用者が何を注文したかを知ることはできない。

 これらの仕組みにより、利用者・加盟店双方にとって安全なクレジットカード決済が行える。セキュリティ面に優れているSETではあるが、実際にはあまり普及していない。SETを利用するには、ウォレットソフトウェアと呼ばれる専用プログラムをクライアント側に用意する必要があり、加盟店側にはマーチャントソフト、クレジットカード会社にはペイメントゲートウェイというプログラムが必要になる。さらに、そのプログラム自体も各ベンダによって相互運用性が確保されていない状況にある。SET導入時のシステム変更の複雑さとコスト、運用面での煩雑さ、利用者の PC における証明書の導入と保守などが、SETが普及するに当たってのネックとなっているものと考えられる。

 米国VISAと米国マスターカードは、それぞれ「3-D Secure」「SPA(Secure Payment Application)」といった新しい技術を発表し、その普及を推進している。SETに比べて技術面、コスト面、使いやすさの面でもメリットがあるとしているが、消費者や、加盟店にしてみれば、いったいどれを導入すればよいのかよく分からない。また、実際にECサイトを構築する側にしてみても、結局のところSSLで代用してしまうのが現状だろう。

 

Webサーバサイド(Webサイトを公開する側)のセキュリティ


Index
第1回 情報セキュリティの基盤技術としての暗号
Page 1
情報セキュリティ製品のガードの対象“情報資産”
基礎知識として、まずは暗号技術の理解から
情報化社会における情報セキュリティの意義と目的
情報セキュリティ製品の有する機能
Page 2
そもそも暗号とは何か?
ハッシュ関数の役目
第2回 社内ネットワークにおけるクライアントの対策
パスワード、認証製品によるローカル環境の情報セキュリティ
暗号化によるローカル環境の情報セキュリティ
電子メール通信環境における情報セキュリティ
第3回 Web構築・運営における脆弱性とその解決法
Page1
クライアントとサーバ間のユーザー通信に関するセキュリティ
Page2
Webサーバサイド(Webサイトを公開する側)のセキュリティ
クライアントサイド(Webサイトを閲覧する側)でのセキュリティ
第4回 経営層にセキュリティの重要性を納得させる
セキュリティは保険というありがちな認識
セキュリティ対策を実行するには「協力を促す資料」も必要
損失リスクを考慮した事前の資料を用意する

運用時の簡便性と適正性

■参考Webサイト

 IETF
 RFC2246(TLSプロトコル)
 IPAセキュア・プログラミング講座「WEBプログラマコース」

■関連記事

 S/MIMEでセキュアな電子メール環境をつくる!
 バイオメトリクス技術の特徴とPKI
 バイオメトリクスカタログ
 技術解説:IT管理者のためのIPSec講座
 電子政府に向け、諸外国の暗号製品規制調査を公開
 開発者が押さえておくべきセキュリティ標準規格動向


連載:情報セキュリティ運用の基礎知識


Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間