次のような本を読んでください:計算的に集中的なバイトシーケンスを得るために繰り返し再ハッシュします。あなたが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. なぜ、Perlのeach()が2回目のハッシュ全体を繰り返し処理しないのですか?
- 2. なぜevalはjavascriptで安全ではありませんか?
- 3. C++でのRAIIおよび/または安全な割り当て解除の正式な処理
- 4. SimpleDateFormat - 安全ではありませんが、正確にはなぜですか?
- 5. なぜcodeigniter2はセッションのようにより安全な方法でcsrf_hashを保存しないのですか?
- 6. jQueryのより安全な形
- 7. symfonyによる安全なファイル管理
- 8. Cでは、strtrnsより安全な関数は何ですか?
- 9. 最も安全なハッシュ方法は何ですか? (PHP)
- 10. シッククライアントのデスクトップアプリケーションでPythonの評価がより安全になる
- 11. スレッドの安全性はいつ問題になりますか?
- 12. ルビーに安全なDSL実装がありますか?
- 13. "厳密に"安全なライブサイトはありますか?
- 14. より安全で使いやすく柔軟なC++の代わりにsscanf()
- 15. NSUserDefaultsは自動終了を安全に処理しますか?
- 16. xamppをより安全にする
- 17. Pythonマルチプロセッシングパイプが安全でないのはなぜですか?
- 18. このように方程式を処理するのは安全ですか?
- 19. より速い(安全でない)BinaryReader in .NET
- 20. 機密データをAndroid上で安全に処理する方法はありますか?
- 21. ハッシュ暗号で安全なログインページを作成する方法は?
- 22. はphpまたはjavascriptで、ドロップダウンボックスに値を設定するとより安全になります
- 23. Perlでハッシュの配列を含むハッシュのハッシュを反復処理する方法はありますか?
- 24. asp.netのWebページで並行処理を安全に行う方法はありますか?
- 25. バイナリモードでは安全にFTPできないコンテンツはありますか?
- 26. ハスケルの安全な取り扱いですか?
- 27. PHPでフォームを安全に処理するには?
- 28. 何が完全なハッシュfnになりますか?何十億というURLの最小サイズのハッシュ
- 29. Google Mapsよりも安価なAPIサービスはありますか?
- 30. Spring Bcryptはステートレスなので、安全なランダムは必要ありませんか?