« 2008年8月 | トップページ | 2010年9月 »

2009.01.07

MD5の脆弱性を用いた証明書の偽造

「MD5 の collision attack を使用して、X.509 証明書の偽造に成功したという研究発表」の報告があった。備忘録として知り得た情報を整理しておく。

今回の攻撃は既知のMD5の強衝突耐性への攻撃を用いており、MD5のハッシュ値の衝突を起こすように作られたX.509の証明書の例は過去にも報告されている。今回の新しい点は

  • 正規のCAの署名をつける事に成功した
  • サーバ証明書ではなく、中間証明書が得られた
の2点であろう(つまり、正規のCAの署名付きの中間証明書が得られた事になり、攻撃者は「正統なCA」に成り済ました状態になる)。これで攻撃者はどのような証明書も自由に作れる事になる(実際の方法は「自堕落な技術者の日記」に詳しい)。

もちろん、SHA-1で署名したサーバ証明書の作成も(必要なら新たな中間証明書の作成も)可能なので、証明書が今回の攻撃によって作られていない事を確認するためには(全ての)中間証明書の署名がMD5を用いていない事を確認しなければならない。また、ルート証明書は自己署名なのでどのようなアルゴリズムを用いているかは関係ない。

尚、今回の攻撃ではMD5の強衝突耐性が破られている(既存の攻撃と同じ)、弱衝突耐性が破られた訳ではない(任意の証明書が作れるのはCAの成り済ましに成功したからであってMD5の弱衝突耐性とは関係ない)。従って、既存のMD5を用いて署名された証明書が直接改竄できる訳ではない。もちろん、いまだにMD5を使用しているCAがある事自体が大問題な訳で、今回の発表は最後通牒と言えるだろう。

« 2008年8月 | トップページ | 2010年9月 »

最近のトラックバック

無料ブログはココログ

Googleアナリティクス

  • Googleアナリティクス