3

ユーザーを認証するためのより安全な方法の 1 つは、パスワードをハッシュするときにワンタイム ソルトを使用することです。私が得られないものは次のとおりです。

クライアントがセッションごとに新しいソルトを生成する場合、結果のソルト + パスワード ハッシュはセッションごとに異なりませんか? その場合、サーバーは送信されたパスワードと保存されているパスワードをどのように比較できますか? サーバーが異なるハッシュを比較して、同じパスワードが使用されたことを識別できる方法はありますか?

(免責事項: 私は車輪の再発明/ログイン プロトコルの作成を試みているわけではありません (私は知っています: SSL/TLS を使用します)。ログイン プロトコルの高レベルの機能に興味があるだけです)

4

2 に答える 2

3

ユーザーが最初にパスワードを設定したときにのみ、新しいソルトを生成します。次に、パスワードハッシュと一緒にソルトを保存します。

于 2011-09-21T22:16:43.467 に答える
3

ソルトを生成する必要があるのは1回だけで、パスワードが変更されるたびに発生する可能性があります。

クライアントは塩をどこにも保管する必要はなく、それを意識する必要さえありません。ソルトは、ハッシュとともにサーバーによって保存されます。

ハッシュとソルトを2つの異なるデータベースに保存することをお勧めします。

于 2011-09-22T17:10:20.943 に答える