Internet Explorer でネットサーフィンをしていると、セキュリティの警告ダイアログが表示されるときがあります。結論から言ってしまうと、クレジットカード情報や個人情報を相手サーバーに送信しない Web ページであれば続行で問題ないのですが、どのような処理が行われているのか知らないままなのは気持ちが悪かったので少し調べてみました。
ウィルスとは関係ない
タブ型のブラウザでたくさんのWebページを表示したときによく出てくるイメージです。ページをいっぱい開いてしまっているので、どのページで発生しているのかがとてもわかりづらい。
また、「セキュリティ」というキーワードとウィルス対策ソフトが入っている環境で頻発することから、ウィルスの心配をする人が多いようですが、このダイアログはウィルスとは関係ありませんのでご安心ください。
対策ソフトがインストールされたパソコンでウィルスが仕込まれたページを開こうとすると、「このページは開いちゃダメだよ!」という警告メッセージとともに表示がブロックされます。
セキュリティ証明書とは
ネットショップやインターネットバンキングの登場により私たちの生活は大変便利になりました。その反面、取引情報を盗み見る盗聴やなりすましによって大事なデータを入力させるフィッシング詐欺などが横行し、それらからユーザーを守らなければならなくなりました。
そこで、個人情報などを入力するサイトではブラウザと Web サーバー間の通信を暗号化する方法が考え出されました。URL が「https://~」ではじまっているものがこれにあたり、このときには SSL 通信により暗号化がされていることを意味します。SSL 通信を行うのに必要なものがセキュリティ証明書です。SSL 証明書、SSL サーバー証明書などとも呼ばれます。SSL は「Secure Socket Layer」の略です。
セキュリティ証明書はウェブブラウザから確認することが可能です。こちらは Google Chrome で Amazon を表示したところですが、アドレスバーの鍵マークをクリックして「詳細」をクリックします。
すると右側にこのようなウィンドウが表示されるので、「View sertificate」をクリック。
「証明書」ダイアログが表示されます。
SSL 通信時には Internet Explorer や Firefox のアドレスバーにも鍵マークが表示されるので、同様に証明書を確認できるはずです。
SSL 通信のしくみ
SSL 通信において、ブラウザはまず Web サーバーから SSL 証明書を取得します。マイクロソフトがセキュリティ証明書と表現しているものです。この証明書にはふたつの機能があります。
ウェブサイトを運営する会社の身元を確認できる機能
ブラウザは SSL 証明書を取得すると、今通信しているサーバー(ドメイン)と証明書に記載されているウェブサイトの運営者が一致しているかどうかを確認します。SSL 証明書は信頼性の高いCA(認証局)により発行されており、サイト運営企業に対する審査によって本当にその企業が実在しているかが証明されています。例えば、有名な認証機関であるサイバートラストの場合、サイト運営企業に対して次のような厳しい審査を行っています。
- 登記簿謄本など公的機関が発行する書類
- 社会的に信頼された第三者機関が管理するデータベースの登録情報
- 企業の代表電話番号から SSL 証明書申請者への在籍や申請意思などの確認
これにより、サイト訪問者は情報の送信先を確認可能となり、安心してデータを送ることができます。
送信データを暗号化する機能
ブラウザが取得した SSL 証明書には、サイト訪問者が送信するデータを暗号化するための鍵が含まれています。この鍵は「公開鍵(Public Key)」と呼ばれており、これによってクレジットカード情報や個人情報が含まれたデータを暗号化することができます。データの暗号化により、仮に第三者がデータを盗み見たとしても、ユーザーの重要な情報が守られるというわけです。
サイト訪問者が送信した暗号化データを受け取ったウェブサイト運営者は、今度はデータを元に戻す復号化を行わなければなりません。このために使われる固有の鍵が「秘密鍵(Private Key)」であり、この鍵は第三者に知られることなく安全に保持しておかなければなりません。
「公開鍵」と「秘密鍵」を1組のペアとする電子認証の仕組みをPKI(公開鍵暗号方式)と呼びます。
「このサイトのセキュリティ証明書の取り消し情報は、使用できません」
各ウェブブラウザはセキュリティ証明書(SSL 証明書)が有効かどうかを確認するために、認証局が定期的に発行するCRL(証明書失効リスト)を利用します。CRL とは有効期限よりも前に失効させた証明書の一覧になります。秘密鍵の紛失・盗難によって悪用されないようにするための処置です。セキュリティ証明書が失効していないかどうかをチェックする方法はふたつあります。
ひとつは認証局が配布している CRL ファイルをダウンロードし、ローカルで証明書のシリアル番号と CRL に登録された証明書のシリアル番号を比較する方法です。CA/Browser Forum が定めたルールによれば、認証局は少なくとも7日ごとに CRL を更新すべきで、その有効期間は10日間を超えてはならないと規定しています。CRL ファイルはローカルにキャッシュされ、定期的に更新されます。
もうひとつがOCSP(Online Certificate Status Protocol)によるオンラインチェックです。ブラウザは証明書が失効していないかどうかを問い合わせる際、証明書のシリアル番号などの情報を認証局(正確には OCSP レスポンダ)に送信します。この要求に対して、認証局は証明書が有効であるかどうかをリアルタイムで応答してくれます。CRL ファイルは結構なサイズがありダウンロードするのが大変なので、OCSP による有効性の確認が一般的になってきているようです。
さて、ここで冒頭のセキュリティの警告ダイアログのことを思い出してください。セキュリティ証明書の取り消し情報が使用できない理由は、次のものが挙げられます。
- CRL(証明書失効リスト)が取得できなかった
- OCSP によって証明書の有効性を確認できなかった
SSL 通信は通信相手の実在を証明し、送信データを暗号化する技術です。そのための証明書が有効かどうかを確認できなかったことで警告が表示されたわけですが、通常のネットサーフィンであれば無視しても問題ないことがわかります。
最終手段
セキュリティ的にまったくおすすめできませんが、警告ダイアログを絶対に表示させない方法もあります。Internet Explorer のインターネットオプションから「詳細設定」タブをクリックし、「サーバーの証明書失効を確認する」のチェックを外してしまえば二度と表示されることはなくなります。ちょっと古い情報だと「サーバー証明書の取り消しを確認する」になっているようです。
インターネットオプションの詳細設定には「発行元証明書の取り消しを確認する」という項目もあります。こちらはソフトウェア製品が正規品であるかを確認する電子証明に関する設定です。雰囲気が似ていますが、間違えてチェックを外さないようにしてください。
クレジットカード使わないよ、といった割り切った PC の使い方をする人ならよいのですが、かなりの荒技となりますのでできるだけ避けるのが無難かと。
Comment