ログイン前にソルトを使用できない場合、PBKDF2ハッシュのセキュア/強力なソルトとして何を使用する必要がありますか?それは、PBKDF2でユーザー+パスをハッシュするクライアント側のJavaScriptになるためです。 pbkdf2のソルトとしてsha(user + pass)を使用します。
ランダムに生成されたソルトを使用する場合、DBに保存する必要がありますが、ユーザーがログインしたい場合、ユーザーはソルトを使用してパスワードをソルトで暗号化してから、検証のためにサーバーに送信します。
それで、ここで良い/安全な/安全なソリューションは何ですか?追伸「知識ゼロ」のプロトコルを達成しようとしています。また、SSLをすでに使用しています。
まず、最後の段落に特に注意を払いながら、 「クライアント側のパスワードのハッシュ化」に対するこの回答 を必ず読んでください。
また、クライアント側のjavascriptは、優れたサーバー側のコードと比較してPBKDF2で非常に遅くなることに注意してください。少なくとも、HMAC-SHA-512をベースとして使用するPBKDF2実装を見つけてください。
とはいえ、ユーザーに安心を与えたい場合は問題ありません。以下をせよ:
特にPBKDF2パスワードハッシュでは、ネイティブベースハッシュの出力サイズより大きい出力サイズを要求しないでください。ストレージについて本当に心配しているのであれば、小さい方でも大丈夫です。たとえば、32バイトのPBKDF2-HMAC-SHA-512のネイティブ64バイト出力のみを要求します。