web-dev-qa-db-ja.com

パスワードハッシュは暗号化またはHMAC化する必要がありますか?

PBKDF2、bcrypt、scrypt、またはその他の安全な鍵導出関数を使用してユーザーパスワードをハッシュしていると仮定します。

ある:

  1. 具体的なセキュリティ上の利点、
  2. 先例、そして
  3. 尊敬される研究

ハッシュを暗号化するか、またはHMACなどを介して秘密鍵を適用することにより、これらのハッシュをオフライン攻撃から保護するには?

私は信じています この以前の投稿 は同様の質問をしようとしましたが、質問は不明瞭で、ほとんどの回答者はパスワード自体を尋ねるかのように扱ったように扱いました最初にソルトKDFを通過するのではなく、HMACする必要があります。

6
Stephen Touset

暗号化、または確定的MACは、攻撃者がハッシュ化および暗号化されたパスワードのデータベースを取得する可能性があるが、ではない暗号化/ MACキー(同じサーバーが彼の仕事をするために知っている必要がある)。一部の人々はそれを「コショウ」と呼びます(「塩」の概念の冗談として-ITセキュリティの人々は楽しい仲間の集まりです)。 この件に関する前の質問 を参照してください。

シナリオはかなり制限があり、キーを使用することはキー管理の問題に対処することを意味するので、気にしないことをお勧めします。

7
Thomas Pornin