最初の SHA-1 衝突例

no extension

いやぁ,ついにこの日が来たようです。

This is not a surprise. We've all expected this for over a decade, watching computing power increase. This is why NIST standardized SHA-3 in 2012.
via SHA-1 Collision Found

SHA-1 衝突問題については以下を参照のこと。 NIST などでは2014年以降 SHA-1 を電子署名等に使わないよう勧告している。

現時点で主要な CA では証明書に SHA-1 は使っていないはずである。 また,主要なブラウザについても SHA-1 を使う証明書に対して警告を発するようになっている。

もうみんな SHA-1 とはオサラバしてるよね(笑)

追記というか補足

たとえば git の commit hash 値は SHA-1 で付与されるが大丈夫なのか? とかいった意見が散見されるが,当面は問題ない。

今回の件はあくまでも電子署名や hash 値そのものを何かの証明に使おうとする場合に問題となる。 git の commit hash 値はあくまで identity として付与されるものである。 改ざんされたかどうかは commit hash 値ではなく差分情報によって容易に知ることができる。

git による悪意のなりすまし等を警戒する必要があるのなら commit hash 値を気にするのではなく commit にきちんと電子署名を行うことをお勧めする(チームで作業する人は是非習慣化するべきである)。

ただし,かつて標準として使われていた MD5 が危殆化とともに廃れていったように,今後 SHA-1 は電子署名以外でも使われなくなると思われる。 念のため, NIST による現在の SHA アルゴリズムの評価と有効期限を以下に示す。

Security
Strength
Digital Signatures and
hash-only applications
HMAC,
Key Derivation Functions,
Random Number Generation
$\le 8$0 SHA-1  
$112$ SHA-224, SHA-512/224, SHA3-224  
$128$ SHA-256, SHA-512/256, SHA3-25 SHA-1
$192$ SHA-384, SHA3-384 SHA-224, SHA-512/224
$\ge 256$ SHA-512, SHA3-512 SHA-256, SHA-512/256,
SHA-384,
SHA-512, SHA3-512
Hash functions that can be used to provide the targeted security strengths (via SP800-57 Part 1 Revision 4 )
Security Strength Through
2030
2031 and
Beyond
$\lt 112$Applying Disallowed
ProcessingLegacy-use
$112$ Applying AcceptableDisallowed
Processing Legacy use
$128$ Applying/ProcessingAcceptableAcceptable
$192$ AcceptableAcceptable
$256$ AcceptableAcceptable
Security-strength time frames (via SP800-57 Part 1 Revision 4 )

参考図書

photo
暗号技術入門 第3版 秘密の国のアリス
結城 浩
SBクリエイティブ 2015-08-25
評価

自作エミュレータで学ぶx86アーキテクチャ コンピュータが動く仕組みを徹底理解! 数学ガールの秘密ノート/丸い三角関数 数学ガールの秘密ノート/微分を追いかけて 情報セキュリティ白書2015: サイバーセキュリティ新時代:あらゆる変化へ柔軟な対応を 数学ガールの秘密ノート/数列の広場

SHA-3 や Bitcoin/Blockchain など新しい知見や技術要素を大幅追加。暗号技術を使うだけならこれ1冊でとりあえず無問題。

reviewed by Spiegel on 2015-09-20 (powered by G-Tools)