0

SO でこのトピックに関するいくつかの質問に答えましたが、この特定のクエリに対する回答を見つけることができません。パスワードのソルティング: ベスト プラクティス?を見たことがあり ます。どちらにも非常に役立つガイドラインがありますが、ストレージに関する明確なガイドラインはありませ

ハッシュ、ランダムソルト、反復回数をすべて同じテーブルに入れることをお勧めしますか? そうでない場合、推奨されるアプローチは何ですか?

ランダムなソルトを一緒に配置したとしても、レインボー テーブルを簡単に作成できないことは理解しています。問題は、長い道のりを歩むことができる多くの単純な追加の抑止力があるためです. たとえば、ソルトを別のテーブル (インジェクションは通常、DB ではなくテーブルにリーチします) に配置し、反復回数を別の層 (中間層の定数など) に配置します。

4

2 に答える 2

2

計算されたハッシュと一緒にソルトと反復回数を保存するのが通常のパターンです。

塩は秘密ではありません。ソルトは、計算されたハッシュごとに異なることで「機能」します。攻撃者がソルトと反復カウントを知っている場合、それは何の助けにもなりません。

于 2012-06-11T09:20:56.043 に答える
2

この質問には、Security Stack Exchange でさまざまな形式で回答しています。

これらは、すべての情報を同じテーブルに保持するアプローチと概念が似ています。

@Greg のコメントは部分的に正しいです。決心した攻撃者は最終的にすべてのデータを取得できますが、ここで重要なのはタイミングです。熟練した攻撃者は、十分な時間とリソースが与えられれば、システムにアクセスできます。重要なのは、時間内に見つけられるように、アクセスを困難にするか、うるさくすることです。

Security Stack Exchange ブログでの暗号学者 Thomas Pornin の投稿の 1 つから:

  • パスワードをハッシュ化する必要がある理由- パスワードをハッシュ化して、読み取り専用アクセス権を持つ攻撃者がより高い権限レベルにエスカレートするのを防ぎます。パスワード ハッシュによって Web サイトが攻撃を受けにくくなるわけではありません。それはまだハッキングされます。パスワードのハッシュは、被害の封じ込めです。
于 2012-06-11T08:22:04.137 に答える