web-dev-qa-db-ja.com

SHA-1の衝突が検出されることの意味は何ですか?

Googleが発表 2つのファイル間のSHA-1の衝突の発見PDF異なる内容のファイル。

SSL/TLS証明書のフィンガープリントではSHA-1ハッシュが許可されなくなり、他の方法で証明書のフィンガープリントがこのように操作されるのを防ぐことができますが、SHA-1の他のどのような使用が影響を受けますか?

攻撃の作成者はGITハッシュを1つの可能性として言及していますが、別のハッシュファミリまたはそれ以降にアップグレードする以外に軽減策がない他の一般的な用途はありますかSHA method?

この衝突が見つかった方法に関する回答については、Crypto.seの この他の質問 を参照してください

64
Matthew

現在、特定の衝突方法が使用されているため、影響は非常に限られています。特に、この方法では、SHA-1ハッシュが提供されている既存のファイルとの衝突を攻撃者が生成することはできません。たとえば、この方法を使用して、正規の配布Webサイトで提供されている署名と一致する悪意のある実行可能ファイルを生成することはできません。

理論的には、攻撃者が同じSHA-1ハッシュを持つ2つの実行可能ファイルを生成することは可能ですが、実行時に異なることを実行します。同様に、同じSHA-1ハッシュを持つ複数のISOイメージを生成することもできます。ただし、いずれの場合も、他のハッシュ値は一致せず、ダウンロードサイトが複数のタイプのハッシュを提供するのが一般的です(たとえば、UbuntuはすべてのダウンロードにMD5、SHA-1、SHA256ハッシュを提供します)。これは、shattered-1.pdfおよびshattered-2.pdfファイルで確認できます。

# sha1sum shattered-1.pdf
38762cf7f55934b34d179ae6a4c80cadccbb7f0a  shattered-1.pdf

# md5sum shattered-1.pdf
ee4aa52b139d925f8d8884402b0a750c  shattered-1.pdf

# sha1sum shattered-2.pdf
38762cf7f55934b34d179ae6a4c80cadccbb7f0a  shattered-2.pdf

# md5sum shattered-2.pdf
5bd9d8cabc46041579a311230539b8d1  shattered-2.pdf

SHA-1とMD5の両方で同じハッシュ値を生成する一種のポリグロットファイルを作成することは可能かもしれませんが、これは実証されておらず、たとえばSHA-512ハッシュが与えられても失敗します。

同様に、SHA-1ハッシュがファイル識別子として使用されるシステムの場合、衝突するファイルのペアの半分をシステムに取得し、それを他のシステムと交換することが可能です。この例は、ファイルが正しくコピーされたかどうかを判断するためにファイルレベルでSHA-1を使用したバックアップシステムです。ただし、悪意のあるファイルがバックアップファイル全体のプレフィックスを形成する可能性は低いため、この場合、バックアップコンテンツ全体のハッシュを同じにすることは困難です(ファイル全体をファイルとして識別する可能性が高くなります)。バックアップ)。

したがって、全体として、Googleの発表はしばらくの間疑われていたものを確認するだけです-SHA-1はMD5と同様に衝突に対して脆弱ですが、それらを見つけるには多くの努力が必要であり、非常に注目度の高いターゲット( CA証明書を生成する場合)は、以前に見つかった非常に類似したMD5衝突からの緩和策を備えています。専門家は、しばらくの間SHA-1からの移行を助言してきましたが、このアドバイスはまだ有効です。

ただし、MD5と同様に、これはHMAC-SHA1の使用に特に影響を与えません。これは、HMAC値の構築に使用される特定の組み合わせ方法により、このタイプの衝突が無関係になるためです。

46
Matthew