Firefox拡張機能「Perspectives」で実現する、より安全なWebブラウジング
情報セキュリティの根幹を支えるのは、「C-I-A」と呼ばれる3つの概念です。機密性(Confidentiality)、完全性(Integrity)、可用性(Availability)——セキュリティは、この基本原則に基づいて成り立ち、あるいは崩れていきます。
日常的にWebを閲覧しているだけなら、今訪れているサイトが本当にそのサイト本人なのかどうかを、それほど気にすることはないでしょう。しかし、サイトとやり取りを行い、機密情報を入力しなければならない場面では、C-I-Aが極めて重要になります。

暗号化だけでは足りない「完全性」の問題
機密的な取引を第三者に盗み見されないようにするために生まれたのが暗号化技術です。私たちはSSL/TLSを使って「安全な」サイトに接続し、Amazonでの書籍購入、銀行サイトでの資産管理、あるいはDNA鑑定結果の確認など、さまざまな取引を行っています。
しかしこれだけでは、完全性(Integrity)の部分には答えられていません。訪問しているサイトが本当に名乗る通りの存在であることを、どうやって確信できるのでしょうか?自分の個人情報を、偽物(フィッシング)サーバーに送信していないと100%断言できるでしょうか?
この役割を担っているのが認証局(CA:Certificate Authority)です。認証局は中立的な第三者機関として、世界中の安全な(HTTPS)Webサイトに身元保証を提供しています。「認証局の承認を受け、正しい証明書を提示しているサイトは本物である」というのが一般的な合意です。
それで本当に安心できるのか?
とはいえ、それでも不十分だと感じる人もいるでしょう。近年では、MD5衝突攻撃が成功したという話題も出ています。
技術に詳しくない方のために要点を説明すると、ハッシュとは平文を暗号文へ一意に対応付ける不可逆な関数のことです。つまり、異なる2つの値が同じハッシュを持つことは、本来あってはならないのです。代表的なハッシュアルゴリズムにはMD5やSHA-1があります。
したがって、Webサイトに発行された証明書には固有のハッシュが割り当てられ、理論上はどのような内容であっても、別のサイトが同じハッシュを持つことはあり得ません。
ところがMD5衝突とは、まさにその「あってはならない事態」——異なる2つの値が同じハッシュになってしまう現象のことです。これは、異なる2つの証明書が同じ署名を持ててしまうことを意味します。理論上、悪意のあるサイトは、なりすまそうとする正規サイトと同じMD5ハッシュを持つ偽の証明書を提示でき、ハッシュ照合を通過してしまうため、世界中のブラウザはそれを喜んで受け入れてしまうことになります。
つまり、単一の検証源だけを信用することはできないのです。より堅牢なアプローチが必要です。そこで登場するのがPerspectivesです。
Perspectivesとは
Perspectivesは、ブラウザがHTTPSサイトに接続するたびに、複数の「ネットワーク公証人(Notary)」に問い合わせを行うFirefoxのセキュリティ拡張機能です。公証人は一種の審査員のような存在で、証明書が変更されていないか、自身のデータベースと一致しているかを確認します。正当な証明書であれば、すべての公証人が同じ情報を示すはずです。一方、不正な証明書は、一部の公証人と比べて「突然・最近変更された」と表示される可能性が高いのです。
これにより、安全性が疑われるサイトへの接続を判断し、データ完全性の侵害を回避できます。
Perspectivesの機能はそれだけではありません。期限切れの証明書、自己署名証明書、ドメイン不一致などによりブラウザからセキュリティ警告が出た場合でも、Perspectivesが公証人の持つ情報に矛盾がないかを素早くチェックしてくれます。


正規サイトになりすます悪質なサイトはこうしたエラーを出しがちですが、残念ながら多くの正当なサイトでも同様のエラーが発生することがあります。Perspectivesは、そんな個人では判断しづらい場面での心強い解決策となるのです。
Perspectivesの使い方
Perspectivesの利用は非常に簡単です。まず拡張機能をインストールしてください。インストール方法がわからない場合は、関連記事を参照してください。
インストール後にFirefoxを初めて再起動しても、特に目立った変化はありません。Perspectivesのステータスアイコンは、ブラウザウィンドウの右下隅に表示されます。

アイコンをクリックすると設定ウィンドウが開きます。

ここで、すべてのサイトに対して公証人に問い合わせるか、セキュリティエラーが発生したサイトのみにするかを選択できます。さらに、検証済みサイトを恒久的に信頼するよう設定したり、公証人に接続する前に毎回確認を求めるよう設定することも可能です。
確認を求める設定にした場合は、該当するHTTPSサイト(すべて、またはエラーのあるサイトのみ)について、ブラウザウィンドウ内に黄色い警告ポップアップが表示されます。

それでは、実際の動作を見てみましょう。ここでは安全なサイトに接続しており、検証も問題なく通過しています。とはいえ、念のためダブルチェックしてみましょう。

Perspectivesが数秒間処理を行い、ステータスバーに結果を表示します。

これは、サイトが有効であることを意味します。アイコンをクリックすると、詳細な結果を確認できます。

この例では、4つの公証人すべてが対象サイトについて同一の鍵を保持しています。これは、サイトの証明書が改ざんされていないことをかなり確実に示しています。このサイトで機密的な取引を行おうとしているのであれば、安心して進められるということです。まさに知りたかった情報ですね。
制限事項
Perspectivesはまだ若いプロジェクトです。現在利用されている公証人は少数にとどまっており、今後その数は増えていく予定です。また、一部のFirefox拡張機能とは互換性がありません。さらに、プロキシ環境によっては、すべてのサイトで検証に失敗する場合があります。
まとめ
Perspectivesは興味深く、かつ重要なプロジェクトです。いわばコミュニティの経験を総動員して、Webサイトとその証明書の安全性をダブルチェックできる「信頼の網(Web of Trust)」を作り上げています。セキュリティに関心の高い方にとって、非常に有用な追加機能といえるでしょう。
Webセキュリティについてさらに知りたい方は、安全なWeb利用のプラクティスに関する記事も参考にしてください。h-onlineのFirefoxとセキュリティ証明書に関する記事も興味深いでしょう。この拡張機能を紹介してくれたtluに感謝します。
Perspectivesは、すべてのオペレーティングシステムで利用可能です。
-
初めてのAndroidスマートフォン体験記――感動ゼロだった話
胃が弱い方は今すぐ読むのをやめたほうがいいかもしれません。いつ手に入れたのか、どうやって手に入れたのかは聞かないでください。とにかく、タバコの箱ほどの大きさの「スマートフォンもどき」のAndroid端末を、私の手元に迎えることになったのです。最新鋭のGalaxyではありません。ごく普通のローエンド機です。この記事では、このテクノロジーを初めて使った感想をお伝えします。過去に「スマートフォン」と呼べるNokia E71を使ったことはありましたし、現在もほぼフルスマートフォンと言えるNokia E6を持っています。しかし、タッチパネルのみの一般的なスマートフォンを所有するのは今回が初めて。つまり、
-
Xenの準仮想化を徹底解説!直面する課題と実践的な回避策
始める前に、ひとつ警告しておきます。ハードウェア仮想化に対応していない環境でXenを使おうとすると、問題だらけの道のりになるということです。これは、仮想化拡張機能(VT-xやAMD-V)を備えた最新のCPUを持っていないのであれば、Xenに挑戦すべきではないという、ささやかなヒントです。VirtualBoxやVMware Playerといった手軽な個人向けソリューションとは大違いですが、そもそもXenはまったく異なる市場セグメントを狙った製品なのです。 とはいえ、筆者のように頑固で「チュートリアルで世界を征服したい」と考えるなら、Xenの準仮想化に挑戦しては挫折することになるでしょう。最大の障