1

パスワードをチェックするプロセスが次のようになったスキームについて読んだことを覚えています。

  1. データベースで与えられた(ハッシュ、ソルト)、
  2. ハッシュと照合するためのソルト付きハッシュパスワード、
  3. ソルトとして古いハッシュを使用したハッシュパスワード、
  4. データベースに(新しいハッシュ、ソルト、別名古いハッシュ)を保存します。

元のソースが見つかりません。とにかく分かりません

  1. (ランダムソルトを使用するのではなく)ソルトとして古いハッシュを使用することの利点は何ですか?

  2. このスキームの一般的な利点は何ですか(レインボーテーブル攻撃をさらに複雑にしますか?)、そして

  3. 利点がある場合、ソルトはPHPassの「内部」で管理されているように見えるため、PHPassを使用してスキームをどのように適用するか...

直感的には、このスキームはせいぜい何もしないか、最悪の場合(過去の値に依存しているため)セキュリティを悪化させると思いますが、パスワードセキュリティは私の直感を信頼できない領域の1つです。教えてください。

編集:

チェックごとにパスワードを再ハッシュすることについて質問しています。これらの同様の質問は、最初の質問(ハッシュをソルトとして使用することは役に立たない)に答えますが、各チェックで再ハッシュすることが有用かどうかはわかりません。

4

1 に答える 1

2

私はセキュリティの専門家ではありませんが、#1に答えるのに利点はありません。それがするのは、物事をさらに複雑にすることだけです。

ランダムに生成された適切なソルトを使用するだけです。おっしゃるように、PHPPassはそれを内部で処理し、PHPassは多くのセキュリティ専門家によってレビューされているため、非常に優れたツールと見なされています。

于 2012-08-26T03:56:41.170 に答える