公開されている研究では、MD5に対するプリイメージ攻撃が差し迫っていることを示していますか?

StackOverflow https://stackoverflow.com/questions/822638

質問

私は、MD5が壊れ、破綻し、時代遅れであり、決して使用されないように読み続けています。それは私を怒らせます。

事実は、MD5に対する衝突攻撃が非常に簡単になったことです。一部の人々は芸術に衝突攻撃を仕掛けており、それを使用して選挙を予測することさえできます。 。

MD5の「brokeness」の例のほとんどが見つかりました。面白くない。 有名なCA証明書ハッキング衝突攻撃でした。つまり、当事者がGOOD証明書とEVIL証明書を同時に生成したことを証明できます。これは、悪意のあるCAが荒野への道を見つけた場合、それが良いCAを持っていたためにとにかく信頼された人から漏洩したことを証明できることを意味します。

さらに懸念されるのは、 preimage または2番目のpreimage攻撃です。

MD5のプリイメージ攻撃はどの程度起こりますか?差し迫っていることを示す現在の研究はありますか? MD5がコリジョン攻撃に対して脆弱であるという事実により、プリイメージ攻撃を受ける可能性が高くなりますか?

役に立ちましたか?

解決

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

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

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

他のヒント

わかりません。

この種の進歩は「突然」来る傾向があります-誰かが理論的なブレークスルーを行い、以前の最高よりも2 ^ 10(または何倍)優れた方法を見つけました。

プリイメージ攻撃はまだ少し遠いようです。 最近の論文は、縮小版のプリイメージの複雑さは2 ^ 96であると主張しています。 、MD5の44ラウンドバージョン。しかし、これは可能性の問題ではなく、誰かがその最終ステップに進み、実際の取引の複雑さを現実的なマージンにするのに十分賢いかどうかです。

とはいえ、衝突攻撃はすでに非常に現実的であるため(典型的なラップトップで1分 )、およびプリイメージ攻撃はすぐ近くにあるかもしれません(そうでないかもしれません)、手遅れになる前に、今より強力なものに切り替えるのが一般的に賢明であると考えられています。

衝突が問題にならない場合は、 NIST SHA-3コンペティションを使用して、新しいものを考案してください。ただし、処理能力とビットに余裕がある場合は、SHA-256などを使用することをお勧めします。

暗号学的に言えば、MD5のプリイメージ耐性はすでに壊れています。 Eurocrypt 2009のこの論文。この正式なコンテキストでは、「壊れた」総当たり攻撃よりも高速、つまり平均(2 ^ 128)/ 2未満の複雑さを持つ攻撃を意味します。佐々木と青木は2 ^ 123.4の複雑さの攻撃を提示しましたが、これは理論上は群を抜くだけです。期間のセキュリティ。また興味深いのは、MD5での衝突攻撃に関する多くの研究を再利用していることです。これは、プリイメージ耐性に関するMD5の安全マージンが衝突攻撃によってなくなったというAccipitridaeのポイントをうまく示しています。

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top