Mozilla Flux

Mozilla関係の情報に特化したブログです。

EV SSL証明書の普及が偽証明書を防ぐ

10日以上前のことになるが、Mozillaがセキュリティに関する警告を出した。MD5ハッシュアルゴリズムに脆弱性が見つかり、一部のSSL証明書が偽造される危険があるというのだ。

MD5は、電子署名に用いられる技術で、たとえばSSL証明書などのデータについて、これを代表する128ビットの数値(ハッシュ値)を出力する。あるセキュリティ研究者グループが、MD5を用いて電子署名が付された真正なSSL証明書に対して、同一の電子署名を有する偽の証明書を作成することに成功したため、偽造が一挙に現実的な危険となった。

今後は、MD5の脆弱性を突いて、同じように証明書が偽造されるおそれがある。通信自体が暗号化されていようとも、通信の相手が悪人なら機密情報は盗まれ放題になる。なのにユーザーの目からは相手がまともに見える点が厄介だ。

より具体的な手口については、研究者グループが発表した"MD5 considered harmful today"に記載されている。

それによれば、次のような手順を踏むという。1a)攻撃者は認証機関(CA)から正当なWebサイト証明書を入手する。1b)このWebサイト証明書と同一の電子署名をもつ偽のCA証明書(中間証明書)を作成する。2)真正なWebサイト(たとえば金融機関)と同一の識別情報をもつが、偽のCA証明書で認証できるような、偽のWebサイト証明書を作成する。3)ユーザーを、偽のWebサイト証明書を備えた偽のWebサイト(外観はたとえば実在の金融機関を装う)に誘導する。偽のWebサイト証明書は偽のCA証明書で認証され、偽のCA証明書はブラウザがもつ「CAルート証明書」(認証機関がMicrosoftやMozillaなどのブラウザベンダーにあらかじめ渡したもの)によって認証されてしまうため、結局偽サイトが真正なサイトとして扱われてしまう。何も知らないユーザーは機密情報を入力し、気づいたときには手遅れという寸法だ。

この手口に対して、ブラウザ側で打てる手は基本的にない。MD5を用いて電子署名されたSSL証明書は受け付けないようにすればいいと思うかもしれない。しかし、この種の証明書は広く利用されているようなので、真正なWebサイトが副次的な被害を被り、そのデメリットのほうが大きくなってしまうだろう。
(09/01/17追記)MD5証明書に警告を出すアドオンならば既に存在するようだ。

結局は認証機関が対処すべき問題だ。MD5を使わないSSL証明書だけを発行すればいい。例を挙げれば、EV SSL証明書では、SHA-1という160ビットのハッシュ値を出力する技術が必ず電子署名に用いられており、今回のような証明書偽装の問題は生じていない。上記のとおり、攻撃者はまず正当な証明書を入手し、悪用の前にこれを解析しなければならないが、SHA-1を用いた電子署名はまだ解析手段が確立されていないのだ。しかも、EV SSL証明書は、将来的にはSHA-256という256ビットのハッシュ値を出力する技術に移行する予定だという。つまり、通常のSSL証明書よりもはるかに偽装されにくい。

EV SSL証明書を備えたWebサイトにアクセスすると、Firefox 3であれば、ロケーションバーに緑色の領域が現れ、サイト運営者の名称が表示されるので、すぐにわかる。IE7でも類似の仕組みが備わっている(というよりも、この方式を最初に採用したのはIE7だ)。こうした性質を利用し、ブラウザベンダーやセキュリティソフトのメーカーが手を組んで、EV SSL証明書を大々的にPRするというのはどうだろう。たとえば、「セーフグリーン」キャンペーンといった名称で。

EV SSL証明書は、通常のSSL証明書と比較して厳格な審査を経ないと取得できないから、この意味でも攻撃者に悪用されにくい。MD5を利用した一部のSSL証明書の問題とはいえ、偽造が現実的な問題になり、ユーザーからはあるSSL証明書がどのような技術を用いて署名されているのか見えにくい点に注意を向ける必要がある。これを機にEV SSL証明書の普及を促進させるべきだ。