MD5ハッシュを使用したダウンロード確認が安全ではないと見なされるのはなぜですか?

MD5ハッシュを使用したダウンロード確認が安全ではないと見なされるのはなぜですか?

一つダウンロードしましたDebian ISOjigdoダウンロードが正常に完了し、次のメッセージが印刷されます。

FINISHED --2021-01-22 11:57:20--
Total wall clock time: 4.3s
Downloaded: 9 files, 897K in 1.8s (494 KB/s)
Found 9 of the 9 files required by the template                                                                                                  
Successfully created `debian-testing-amd64-netinst.iso'

-----------------------------------------------------------------
Finished!
The fact that you got this far is a strong indication that `debian-testing-amd64-netinst.iso'
was generated correctly. I will perform an additional, final check,
which you can interrupt safely with Ctrl-C if you do not want to wait.

MD5 from template: l2l48nbYVylT4qrQ0Eq3ww
MD5 from image:    l2l48nbYVylT4qrQ0Eq3ww
OK: MD5 Checksums match, image is good!
WARNING: MD5 is not considered a secure hash!
WARNING: It is recommended to verify your image in other ways too!

Debian は ISO イメージを確認する 3 つの方法、sha1sums、md5sums、sha256sums を提供します。 sha1sumは次の脆弱性と見なされます。衝突攻撃しかし、MD5については聞いたことがありません。

MD5SUMが安全でないハッシュと見なされるのはなぜですか? SHA256SUMは一意ですか?安全ダウンロードしたDebian ISOをどのように確認できますか?

答え1

MD5とSHA-1はどちらも(選択されたプレフィックス)攻撃に対して脆弱です。衝突攻撃。 SHA2(SHA-256、SHA-384、SHA-512など)およびSHA3ハッシュ関数ファミリの場合はそうではありません。

選択されたプレフィックス衝突攻撃は、プレフィックスとサフィックスが与えられると、プレフィックス+中間1+サフィックスとプレフィックス+ミディアム2+サフィックスが同じハッシュ値を持つように2つの中間値を見つけることができることを意味します.システムイメージの文脈では、誰かが完璧なイメージを作成して展開し、秘密に変更していくつかのマルウェアに置き換えることができます。元のバージョンと変更されたバージョンのハッシュは同じであるため、修正を簡単に検出できません。

~のためMD5、Crash Attackは価格が安すぎるため、PC上ですぐに実行できます。 ~のためSHA-1、衝突攻撃費用は適当です(2020年基準で約45,000ドル)。 SHA2 および SHA3 の場合、NSA レベルのコンピューティングパフォーマンスを使用してもクラッシュ攻撃を生成する既知の方法はありません。

MD5またはSHA-1を使用しても、既存のイメージを取得して同じハッシュを持つ別のイメージを見つけるための既知の方法はありません(2番目のプリイメージ攻撃)。攻撃を可能にするには、元の画像を特別に作成する必要があります。

関連情報