2

パスワードソルトがセキュリティを強化する方法を理解しようとしています。基本的に、ユーザーパスワードごとにランダムな文字列が生成され、パスワードに追加されてからハッシュされます。ユーザーがログオンすると、システムはその特定のユーザーのソルトをフェッチし、それをパスワードに追加してハッシュし、保存されているハッシュ値と比較します。

今。これにより、パスワード/ハッシュ値がどのように長くなるかを理解しています。私が理解していないのは、自動化された機能がユーザー名を選択し、たとえばWebサイトで毎回異なるパスワードを使用して多くのログイン試行を行うことを妨げていることです. 私には、そのシナリオでは塩は機能していないように見えますか?

私はこれを誤解していると確信しており、誰かが私を理解するのを手伝ってくれたらうれしいです.

4

3 に答える 3

9

私が理解していないのは、自動化された機能がユーザー名を選択し、たとえばWebサイトで毎回異なるパスワードを使用して多くのログイン試行を行うことを妨げていることです. 私には、そのシナリオでは塩は機能していないように見えますか?

正しい。ハッシュとソルティングは、ブルート フォース ログイン試行を防止しません。(そのために、単位時間あたりのログイン試行回数を制限するか、X-failed 試行後に禁止する必要があります)。

ハッシュとソルティングは、盗まれたパスワード リストがクラックされるのを防ぐために(または、そのリストをクラックするのに必要な時間を長くするために) 使用されます。

パスワードを保存する場合、プレーン テキスト、ハッシュ、またはハッシュ + ソルトの 3 つのオプションがあります。パスワードリストを盗んだ場合:

  • プレーン テキスト: すべてのユーザーのログイン情報を取得しました。私は彼らになりすますことができます。(良くないね)。
  • Hashed :レインボー テーブルを使用して、ハッシュから合理的に迅速にパスワードを決定できます。(それも悪いです)。
  • Hashed + salted : レインボー テーブルが機能しなくなりました。各パスワードを解読するのにかなりの時間を費やさなければなりません。それでも可能ですが、かなり難しくなります (そして、あなたが実際に重要でない限り、私はおそらく気にしません)。これにより、セキュリティ違反に気づき、パスワードが盗まれたことを顧客に知らせ、パスワードを変更するように依頼する時間も得られることに注意してください (最終的にハッシュ + ソルト リストをクラックしたとしても、それを使用することはできません)。

したがって、ハッシング + ソルティングは、ブルート フォース方式を使用して盗まれたハッシュからパスワードをクラックしようとする試みを防ぐ (または遅くする) ために使用されます。

于 2013-11-13T10:50:49.927 に答える
2

ソルトは、ハッシュに対してブルート フォース攻撃を使用する脅威を軽減するために使用されます。パスワードが「ソルト化されていない」場合、たとえば 100 万個のハッシュの辞書を簡単に使用して、データベースに対して実行できます (辞書攻撃)。Salt は、ハッシュを生成する直前にパスワードと連結されるランダムなシーケンスです。その後、データベースはソルトとハッシュを保存します。可能なソルトの数を十分に高く選択すると、攻撃者はパスワード辞書と組み合わせて考えられるすべてのソルトを生成する必要があるため、ブルート フォース攻撃を実行するのがかなり難しくなります。

于 2013-11-13T10:27:12.300 に答える
1

たとえば、MD5 のようなハッシュ アルゴリズムは、完全に任意にハッシュされたデータベースが存在するため、もはや役に立ちません。ハッシュの単語を検索して見つけるだけです。塩を加えるとやりにくくなります。しかし、それはハッカーを遅らせるだけです。彼らがあなたのコードにアクセスできれば、ソルトは役に立ちません。ただし、常に塩を加えてください。

データベース内のデータのセキュリティ

于 2013-11-13T10:24:36.437 に答える