SSLサーバ証明書では「このサーバは正しいものですよ」というのを証明するに当たり、例えば対象のドメインが存在するかどうかをチェックしたり、運営する組織や企業をチェックするなど、その存在の確かさを誰かが身元保証する必要があります。この身元保証が、SSLサーバ証明書の根幹です。この身元保証をする組織は「認証局」と呼ばれます。
では、その身元保証をする認証局自体の正しさは誰が保証するのでしょうか。この場合、他の認証局がチェックをする場合もありますが、その場合もさらに上位の認証局のチェックが必要になりますね。最終的にその証明書が行き着く場所がルート証明書です。
ルート証明書自身は“自分自身が認めた”という形になるため、「世界が信頼に足るレベルの組織」が作り出したものがルート証明書として、あらかじめWebブラウザやOSに組み込まれています。ルート証明書が証明した認証局で作り出された証明書ならば信頼してもよい――そのような信頼のチェーンで、HTTPSでの通信ができます。
先ほどHTTPS通信は「自分と相手のサーバとの通信は暗号化されている」という意味だと述べました。この状態ですと、外部からの盗聴はできません。
では、どうやればその通信を盗聴できるのでしょうか。1つはWebブラウザとサーバの間に入ることです。しかしこの方法ですと、サイバー犯罪者とWebサーバとの間は正しく暗号化されますが、利用者はWebブラウザとサイバー犯罪者との通信が暗号化されない、もしくは暗号化されていても“見知らぬサイバー犯罪者と通信している”ことが分かるはずですので、これも気が付くことが可能です。だからこそ、SSLサーバ証明書のエラーに身構えることが重要なのですね。
もしこれがHTTPSではなく暗号化のないHTTPだった場合、気が付くことすらできないはず。だからこそ、HTTPS化は重要なのです。
問題はルート証明書です。万が一、あなたのPCに不正なルート証明書がインストールされていた場合、どうなるでしょうか。Webブラウザとサイバー犯罪者との間で使われるSSLサーバ証明書が、勝手に作り出したルート証明書により署名されていた場合、この通信もエラーが表示されることなく暗号化されます。Webブラウザの証明書をしっかり確認すると、Webサーバの証明書ではないものが表示されるものの、そこまで確認することはほぼ無理でしょう。
こうしたパターンの事件は2015年に既に起きています。
Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR