1

私は自分のサイト認証に取り組んでおり、bcryptを使用して、データベースのユーザーログイン行に保存されるソルトをランダムに作成することを考えていました。私は自分のサイトを高速にしたいのですが、15を使用して生成する(約1秒かかる)のは遅すぎるので、たとえば5〜14の間にランダムにソルトを生成することを考えていましたが、それは安全ですか、それともより良い方法がありますか?

それが役に立ったら、私はpy-bcryptを使用しています。

4

2 に答える 2

4

bcryptを使用する主な理由の1つは、ハッシュの計算に多くのCPU時間を必要とすることにより、ブルートフォース攻撃を防ぐことです。あなたの問題のために、私は一定の長さのソルトを使用しますが、ランダムな値を使用すると、この方法で各パスワードの計算に同じ時間がかかります。

これにより、ソルトの長さとストレッチの反復回数を、十分に安全だと思われるものに合わせることができますが、個人的には、非常に強力なサーバーでハッシュを生成するのに少なくとも1/2秒かかることを確認したいと思います。

于 2012-07-04T21:20:54.710 に答える
3

さて、塩の長さと作業係数は関連しているようです。bcryptはすでにかなり安全ですが、問題は、使用するハッシュの種類に関係なく、パスワードの強度自体が少なくとも同じくらい重要であるということです。したがって、最小コスト(強度)12で、サーバー上で処理できる最善の方法を試す必要があります。

暗号的に安全ですが、高速で頻繁に再シードされるRNGが必要であることに注意してください。そうしないと、乱数が不足する可能性があります。

さらに重要なこと:パスワードに十分な強度があることを確認してください。パスワード「password」を見つけるのに、bcryptを使用してもまったく時間がかかりません。

いいえ、パスワードハッシュのより高速な実装を見つける以外に、これ以上の方法はありません。攻撃者は、もちろん見つけることができる最速の実装を使用します。

于 2012-07-04T23:24:41.387 に答える