2009-07-18 4 views
9

を理解し、攻撃は衝突が2^52の操作に改善されているSHA-1を探している:私が知りたいのですがどのようなさまざまな情報源によると、SHA-1の衝突弱点

http://www.secureworks.com/research/blog/index.php/2009/6/3/sha-1-collision-attacks-now-252/

は、の意味でありますこれらの発見は、攻撃を受けていないシステム上で行われます。私がランダムなデータをハッシュすると、衝突の統計的確率はどのくらいですか?別の言い方をすれば、最近の研究では、ブルートフォースの誕生日攻撃は、もともと提案された衝突を見つける可能性が高いということを示していますか?

上記のような書き込みは、無差別にSHA-1の衝突を取得するには2^80回の操作が必要だと言います。ほとんどの情報源は、2^80は理論上の数であると言います(ハッシュ関数は実際にはダイジェスト空間上であっても完全には分散しないと仮定します)。

これは、基本的なハッシュ配布で、sha1の衝突の弱点がありますか?または、誘導された数学的攻撃の結果のみが衝突の確率が高まっているか?

最終的には、それは単なるオッズの試合であり、1回目と2回目のメッセージが衝突する確率は極小です。私も、2^52でも本当に大きな数字であることを認識していますが、まだ攻撃されていないシステムへの影響を理解したいと思います。だから、「それを心配しないで」答えないでください。

+0

はおそらく暗号化に移行する必要があります.SE –

答えて

5

あなたのリンクで発表された結果は、の攻撃です。これは、ランダムな攻撃よりも大きな確率で衝突を生成する、注意深くアルゴリズム的に選択された一連の手順です。ハッシュ関数の分布の弱点ではありません。まあ、そうですが、2^52の順でランダムな攻撃が成功するようなものではありません。

ハッシュ出力で誰も衝突を生成しようとしていない場合、この結果はあなたに影響しません。

+0

sha1の衝突の弱点がいくつか発表されています。それらはすべて特別に細工された攻撃ですか? – schickb

+0

私は聞いたことがないものはありません。あなた自身で判断する1つの方法:SHA-1でハッシュコリジョンを生成するテクニックが記述されている場合や、攻撃について説明している場合は、SHA-1の一般的な障害については記事では説明していません。 –

+1

Hmm。ここであいまいな推論の種類...私はダウン投票していないが、私がOPだったならば、より正確に言い表わされるので、新しい回答の1つを受け入れるだろう。 –

6

よく良いハッシュ関数は、3つの異なるタイプの攻撃(記事の状態と同様)に耐性があります。

実用上最も重要な抵抗は、第2のプレ画像耐性である。これは基本的にメッセージM1とHash(M1)= H1を与えられたことを意味し、ハッシュ(M2)= H1となるようなM2を見つけることは難しい。

誰かがそれを効率的に行う方法を見つけた場合、それは悪いことになります。さらに、メッセージM1は私たちのために固定されているので、プリイメージ攻撃は誕生日パラドックスの影響を受けません。

これはプレイメージまたは2番目のプレイメージ攻撃ではなく、単にコリジョン検出攻撃です。 質問に答えるには、ブルートフォース攻撃では衝突を見つける可能性は高くありません。これが意味するのは、2^52の後に衝突を発見するという結果が得られたということです。標準ブルートフォース攻撃はまだ2^80必要です。

5

重要な質問は、「攻撃者がm1とm2の両方のメッセージを変更できるか」です。もしそうなら、攻撃者はm1、m2がhash(m1)= hash(m2)となるように見つける必要があります。これは誕生日攻撃であり、複雑さは大幅に減少し、平方根になります。ハッシュ出力が128ビット(MD5)の場合、複雑さは2^64であり、現在のコンピューティング能力では十分に到達しています。

通常の例では、売り手が秘書に「私は1000万ドルで売る」というメッセージを入力するように求めています。案件の秘書は、「私は1000万ドルで売る」という文書と、「x百万ドルで売る」という2つの文書を作成します.xは10よりずっと小さく、スペースを加えて両方のメッセージを修正し、単語などは、ハッシュ(m1)=ハッシュ(m2)までxを変更します。今、秘書は売り手に正しいメッセージm1を示し、彼は自分の秘密鍵を使用してそれに署名し、その結果ハッシュhとなる。秘書はメッセージを切り替え、(m2、h)を送信します。売り手だけが自分の秘密鍵にアクセスできるので、彼は拒否し、彼がメッセージに署名していないと言うことはできません。

160ビットを出力するSHA1の場合、バースデー攻撃により複雑さは2^80に減少します。これは30年以上安全です。新政府規制、4G 3gpp仕様ではSHA256が必要になり始めています。

しかし、あなたのユースケースでは、攻撃者が両方のメッセージ(プレイメージまたは第2のプリイメージシナリオ)を変更できない場合、SHA1の複雑さは2^160です。非brute-force攻撃が発見されない限り、永遠に安全でなければならない。

+0

+1は、2つの全く異なるリスクであるプリイメージ攻撃と衝突攻撃を区別します。 –

関連する問題