19

私は、MD5が壊れていて、壊れていて、時代遅れで、決して使われないというSOを読み続けています。それは私を怒らせます。

実際のところ、MD5に対する衝突攻撃はかなり簡単になっています。一部の人々は芸術に至る衝突攻撃を持っており、私たちでさえそれらを使用して選挙を予測することができます.

MD5 の「壊れやすさ」の例のほとんどはあまり面白くありません。有名な CA 証明書のハッキングでさえ、当事者が GOOD 証明書と EVIL 証明書を同時に生成したことを証明できる衝突攻撃でした。これは、EVIL CA が外部に出回った場合、信頼されていた良い CA を持っていた人から漏洩したことが証明できることを意味します。

さらに懸念されるのは、プリイメージまたはセカンド プリイメージ アタックです。

MD5 に対するプリイメージ攻撃の可能性はどれくらいですか? それが差し迫っていることを示す現在の研究はありますか? MD5 が衝突攻撃に対して脆弱であるという事実は、プリイメージ攻撃を受ける可能性を高めていますか?

4

3 に答える 3

11

暗号化では、将来を予測することは不可能であるため、一般に推奨事項は作成されません。むしろ、暗号学者は、すでに知られ公開されているものを評価しようとします。潜在的な将来の攻撃に対応するために、暗号システムは通常、ある程度の安全マージンが確保されるように設計されています。たとえば、暗号化キーは通常、絶対に必要な長さよりも少し長く選択されます。同じ理由で、たとえこれらの弱点が単なる証明であっても、弱点が見つかるとアルゴリズムは回避されます。

特に、RSA Labs は、Dobbertin が圧縮関数で衝突を発見した後、1996 年に既に署名の MD5 を放棄することを推奨しました。圧縮関数の衝突は、ハッシュ関数の衝突が存在することを意味するものではありませんが、圧縮関数の衝突が見つからない限り、MD5 の衝突は見つかりません。したがって、RSA Labs は、MD5 の耐衝突性にはもはや自信がないと判断しました。

今日、私たちは同じような状況にあります。ハッシュ関数が衝突耐性があると確信できる場合、ハッシュ関数がプリイメージ耐性があることも確信できます。しかし、MD5 には重大な弱点があります。したがって、多くの暗号学者 (Arjen Lenstra のような人々を含む) は、MD5 にはプリイメージ耐性のみに依存するアプリケーションでさえ使用するのに必要な安全マージンがもはやないため、使用しないことを推奨していると考えています。暗号学者は未来を予測することはできません (したがって、それを行っている論文を探してはいけません) が、潜在的な攻撃に対する合理的な予防策を推奨することはできます。MD5 を使用しないことを推奨することは、そのような合理的な予防措置の 1 つです。

于 2009-05-08T06:01:03.337 に答える
2

暗号学的に言えば、MD5 のプレイメージ耐性はすでに破られています。Eurocrypt 2009 のこの論文を参照してください。この正式なコンテキストでは、「壊れた」とは、ブルート フォース攻撃、つまり平均で (2^128)/2 未満の複雑さを持つ攻撃よりも高速であることを意味します。Sasaki と Aoki は 2^123.4 の複雑さを持つ攻撃を提示しましたが、これは理論的なものにすぎませんが、実際の攻撃はすべて、それほど強力ではない理論的な攻撃に基づいているため、理論的な破綻でさえ中期的なセキュリティに深刻な疑問を投げかけます. また興味深いのは、MD5 での衝突攻撃に関する多くの研究を再利用していることです。これは、プリイメージに対する MD5 の安全マージンが衝突攻撃でなくなったという Accipitridae のポイントをうまく示しています。

2009 年に MD5 の使用が行われ、現在では SHA1 の使用があらゆるアプリケーションで強く推奨されていないもう 1 つの理由は、ほとんどの人が、ユース ケースのセキュリティが依存している正確なプロパティを理解していないことです。残念なことに、caf が指摘したように、2008 年の CA 攻撃は衝突耐性の失敗に依存していなかったというあなたの質問に対する私の主張は証明されました。

少し詳しく説明すると、(信頼された) CA が証明書に署名するたびに、証明書署名要求 (CSR) の形式で顧客から送られてくる悪意のある可能性のあるデータにも署名します。現在、ほとんどの場合、署名される予定のすべてのデータは、CSR といくつかの外部条件から事前に計算できます。これには、CSR から出てくる信頼できないデータをハッシュするときにハッシュ関数がどのような状態になるかが攻撃者に完全に知られ、衝突攻撃が容易になるという致命的な副作用があります。したがって、攻撃者は、攻撃者のみが知っているシャドウ証明書と衝突するデータを CA にハッシュおよび署名させる CSR を事前に計算できます。CA は、攻撃者が提供した正当な CSR にしかアクセスできないため、署名する前に通常チェックするシャドウ証明書の前提条件をチェックできません (たとえば、新しい証明書がルート証明書であると主張していないなど)。一般的に言えば、衝突攻撃が発生し、データの一部が攻撃者によって制御されると、表示されているデータの他に何に署名しているのかわからなくなります。

于 2014-03-13T20:33:36.250 に答える