衝突攻撃
衝突攻撃とは、主にハッシュ関数を使用した暗号化方式において、異なるデータを暗号化して同一のハッシュ値が出力される(値が衝突する)ことを利用した攻撃方法のことである。
ハッシュ関数を利用した暗号化技術は、元の文書のサイズにかかわらず一定サイズの文字列で暗号化され、元の文書のデータが僅かに違えば暗号化された文字列は大きく違ってくるという性質を持つ。「SHA-1」の場合は160ビットのハッシュ値を生成する。「SHA-2」はバージョンによって異なるが224~512ビットのハッシュ値を生成する。
ハッシュ値で暗号化されたデータの文字列パターンは膨大であり、値が衝突する事例を見出すことは容易でないが、理論上あり得る。そして2017年2月、Googleが「SHA-1」でハッシュ値が衝突する事例を発見したことを発表した。これにより、SHA-1で暗号化されたデータを悪意をもった第三者がすり替えて攻撃することが実現可能と確認された。
SHA-1は2000年代半ばに暗号化方式としての弱さが指摘されており、より強力なSHA-2への移行が進んでいる。今なおSHA-1を利用しているシステムには早期の移行が求められる。
誕生日攻撃
- 衝突攻撃のページへのリンク