2011-02-08 2 views
10

SHA1の暗号分析には大きな進歩があったので、SHA2(wikipedia)のために段階的に廃止されることになっています。SHA1はまだPBKDF2のハッシュ関数として使用するために安全ですか?

しかし、PBKDF2の基本的なハッシュ関数として使用するには、基本的にPRNGとして使用されます。したがって、PBKDF2のハッシュとしてSHA1を使用するのはまだ安全ですか?

答えて

20

SHA-1の現在知られている弱点は、PBACDF2で使用された場合、HMAC、a fortioriで使用されたときのセキュリティに影響を与えません。その点では、MD5も問題ありませんが(MD4ではありません)。

しかし、SHA-1は広報には適していません。2011年にSHA-1を使用する場合は、その選択肢を正当化する必要があります。一方、SHA-256は細かい「デフォルト機能」であり、誰もそれに疑問を呈することはありません。

PBKDF2にはパフォーマンスの問題は、(PBKDF2は、必要に応じて、それはまったく同じ遅い作るためのもの、「反復カウント」が含まれる)がありませんので、ここでSHA-256の上にSHA-1を好むために非常に理由はほとんどありません。しかし、が存在する場合は、、PBKDF2-with-SHA-1を使用するシステムを配備した場合、すぐに修正する必要はありません。

+1

[Stack Crypto](http://crypto.stackexchange.com/questions/15218/is-pbkdf2-hmac-sha1-really-broken)にもかなり良い説明があります。要するに、パスワードの衝突は悪いことではなく、悪意のあるユーザー(または有効なユーザー)が元の「実際の」パスワードに戻すことができないように、2つの異なるパスワードでログインできることを意味します。 –

0

多くの公共の混乱を引き起こしたSHA1への攻撃は、異なるメッセージと同じハッシュを持つメッセージを構築することを可能にします。これは、もちろん、ハッシュ関数が入力ビットよりも少ない出力ビットを有するので、(原則的に)各ハッシュ関数について常に可能である。しかし、通常、偶発的に起こる可能性は低く、意図的に行うことは計算上不可能である。

「メッセージの完全性の保証」という観点からは、これは災害と見なすことができます。

一方、乱数を生成するためには、これは全く支障がありません。

0

より多くの鍵素材を生成する場合は、SHA-256以上の方が効率的です。 しかし、PBKDF2-HMAC-SHA1は問題ありません。また、標準的なHMACの使用は妥協されていませんが、原則として長いハッシュがこのシナリオではより安全です。

関連する問題