1

私はパスワードをデータベースに安全に保存する方法について多くの調査を行ってきました.bcryptは最も安全なハッシュ アルゴリズムの 1 つとしてあらゆる場所で使われているようです. PHPで書かれています)。その主なセールス ポイントの 1 つは、非常に遅いため、ブルート フォース攻撃や辞書攻撃を遅らせるのに役立つことです。文字通り、私が読んだすべての記事で、bcrypt がいかに優れているかについて言及されています。bcrypt は遅く、ブルート フォース攻撃を防ぐからです。

だから、私の質問は: PHP を使用してログインに失敗した後、手動でコードを 1 秒か 2 秒停止させることはできませんsleep()か? bcrypt が遅いことがなぜそれほど重要なのですか? 私は、任意の暗号化アルゴリズム (bcrypt と同様に暗号化されていると仮定しましょう) を使用し、失敗したログインに PHP sleep() を追加し、ブルート フォース/辞書攻撃に対して同様に優れた防御を行うことができるという印象を受けています。 bcrypt。

4

1 に答える 1

3

bcryptログイン時の強制遅延は、2 つの異なる攻撃から保護します。

ログインを強制的に遅らせることで、攻撃者がログイン ページを使用して別のパスワードを試すオンライン攻撃に対する保護が強化されます。

bcryptはオフライン攻撃に対する保護を追加します。攻撃者はパスワード ハッシュにアクセスし、ログイン ページを使用せずにハッシュを試すことができます。

于 2012-04-19T08:14:52.000 に答える