次のような本を読んでください:計算的に集中的なバイトシーケンスを得るために繰り返し再ハッシュします。あなたが100回リハッシュすると、それ以外の場合は1ヵ月かかる辞書攻撃には8年かかります。どうして?わかりません。誰でも説明できますか?なぜ再ハッシュ処理でより安全になりますか?
3
A
答えて
1
は、あなたがこのようにハッシュ関数があるとします。
ハッシュを考えるとpassword_hash = MD5(password)
、5f4dcc3b5aa765d61d8327deb882cf99を言って、お好みの技術は上記の機能を使用して、辞書内のすべての単語のハッシュを生成することと、その後比較しますpassword_hashを逆にしたいパスワードに置き換えます。
は今、あなたは攻撃者として
password_hash = password
for i = 1 to 100
password_hash = MD5(password_hash)
next
にあなたのハッシュ関数を変更すると仮定し、この時間は、あなたが力をブルートしたい特定のハッシュと比較するために、あなたの辞書に100回を各単語をハッシュする必要があります。したがって、パスワードを複数回ハッシュした場合、攻撃者が所与のハッシュを強制的に強制するのにはかなり時間がかかります。
MD5やSHAファミリのような高速ハッシュアルゴリズムは、パスワードのハッシングにはあまり適していません。 http://codahale.com/how-to-safely-store-a-password/を読むと、bcryptのような低速アルゴリズムがパスワードハッシュにどのように適しているかを把握することができます。
関連する問題
- 1. なぜポインタがポインタよりも安全ですか?
- 2. なぜ、Perlのeach()が2回目のハッシュ全体を繰り返し処理しないのですか?
- 3. なぜevalはjavascriptで安全ではありませんか?
- 4. IV値をハッシュすると安全な改善はありますか?
- 5. C++でのRAIIおよび/または安全な割り当て解除の正式な処理
- 6. SimpleDateFormat - 安全ではありませんが、正確にはなぜですか?
- 7. なぜcodeigniter2はセッションのようにより安全な方法でcsrf_hashを保存しないのですか?
- 8. jQueryのより安全な形
- 9. wp_mail()がmail()より安全な方法
- 10. なぜ参照変数型はポインタよりも安全ですか?
- 11. 塩なしでパスワードをハッシュするのに十分な安全性を持つハッシュアルゴリズムはありますか?
- 12. symfonyによる安全なファイル管理
- 13. C#のLockBitsのようなPythonでの安全でない画像処理
- 14. Cでは、strtrnsより安全な関数は何ですか?
- 15. Javascriptに「安全でない公開」がありますか?
- 16. Redisハッシュよりも強力なタイプはどのように処理できますか?
- 17. フォーム認証よりも安全な認証手段がありますか
- 18. 未処理の拒否エラー:整数が安全でない
- 19. 最も安全なハッシュ方法は何ですか? (PHP)
- 20. PHP安全にファイルをインクルード+無効なパラメータを処理
- 21. ルビーに安全なDSL実装がありますか?
- 22. Objectにネイティブな型安全ラップとアンボックスがありますか?
- 23. スレッドの安全性はいつ問題になりますか?
- 24. "厳密に"安全なライブサイトはありますか?
- 25. パスワードをハッシュする最善の方法は何ですか? password_hashは安全か、PHP 7では安全な方法がありますか?
- 26. シッククライアントのデスクトップアプリケーションでPythonの評価がより安全になる
- 27. NSUserDefaultsは自動終了を安全に処理しますか?
- 28. より安全で使いやすく柔軟なC++の代わりにsscanf()
- 29. は、256ビットのハッシュの代わりに、完全なハッシュ値
- 30. オブジェクトの逆シリアル化が未処理の再初期化より遅いのはなぜですか?