米国やスイス、オランダなどのセキュリティ研究者7名は2008年12月30日、ドイツで開催されたセキュリティ関連の国際会議において、SSL通信に使用するデジタル証明書(SSL証明書)の偽造に成功したことを明らかにした。偽造に必要な計算には、ソニー・コンピュータエンタテインメントのゲーム機「プレイステーション3(PS3)」を200台組み合わせて利用したという。

 今回の発表は、「カオスコミュニケーション会議(CCC)」という国際会議で行われた。発表後、米国のセキュリティ組織であるサンズ・インスティチュートやUS-CERT、Webブラウザーベンダーである米モジラや米マイクロソフトなどは、この件に関するセキュリティ情報などを相次いで公開した。

 通信の暗号化や認証を可能にするSSLでは、サーバーおよびクライアントの認証や暗号鍵の交換のために、デジタル証明書を利用する。通常、デジタル証明書は第三者の認証局(認証機関、CA)に発行してもらい、その認証局が発行したことを証明するデジタル署名を付与してもらう。デジタル署名が本物かどうかは、Webブラウザーがチェックする。

 今回問題になっているのは、このデジタル署名。デジタル証明書の内容によって、付与されるデジタル署名は異なるため、デジタル署名を検証すれば、特定の認証局が発行したことや、証明書の内容が改ざんされていないことが分かるとされている。

 しかしながら、MD5と呼ばれるアルゴリズム(ハッシュ関数)を使って作成されたデジタル署名については、同じデジタル署名が生成される、任意のデジタル証明書を現実的な時間内に作成できるとされていた。それを実証したのが、今回の発表だ。

 大手認証局が発行したデジタル証明書から、デジタル署名だけを抜き出して、同じデジタル署名が生成されるような証明書を作成。証明書には、悪質サイトを有名サイトに見せかけるような内容を記しておく。このとき、相当な計算量(コンピューターパワー)を必要とするため、今回の発表ではPS3を200台以上使用したという。

 Webブラウザーは、デジタル署名だけを見て、その証明書が大手認証局に発行されたものかどうかを検証する。このため、前述のような偽造証明書を本物だと認識し、ユーザーに警告を出すことなく、SSL通信を開始する。これを悪用すれば、フィッシング詐欺サイトのような悪質サイトを、大手認証局によって証明書を発行された有名サイトに見せかけることが可能となる。

 なお現時点では、現実的な時間内で偽造が可能なのは、MD5で署名されたデジタル証明書のみ。SHAを使っている場合には、影響を受けないとされている。研究者らが3万サイトを対象に調査したところ、およそ9000サイトがMD5で署名された証明書を使用。調査時点では、「RapidSSL」「FreeSSL」「TrustCenter」「RSA Data Security」「Thawte」「verisign.co.jp」といった認証局が、署名にMD5を使っていたという。

 今回の発表で、SSL証明書の偽造が可能であることが示されたものの、研究者らは「パニックになる必要はない。インターネットが崩壊したわけではない(No need to panic, the Internet is not completely broken)」とコメント。セキュリティ組織やベンダーも同じ見方だ。

 例えばマイクロソフトでは、2008年12月31日に公開したセキュリティアドバイザリの中で、「この新しい発表により、お客様に対するリスクが特段に上がるわけではありません」とコメント。「研究機関は、この攻撃に関する暗号学的な詳細をまだ公表しておらず、詳細情報のない状態で、この攻撃を再現することはできません。マイクロソフトでは、この件を悪用した攻撃活動を現時点では確認していません」としている。