ASP Net Identity v3中的密码哈希处理

问题描述

我一直在考虑ASP Net Identity中的密码哈希流。我发现version 3使用PBKDF2HMAC-SHA256认使用10k迭代)。并将其输出存储在password hash column数据库中,该数据库显然不仅仅包含密码哈希。以下结构适用于第3版:

  • 第一到第二个字节-> ASP Net Identity版本(在我们的示例中为v3)
  • 第2到第5个字节-> PRF的4个字节(伪随机函数,在我们的情况下为HMACSHA256)
  • 第10至13日-> 4个字节,包含盐大小(始终为16)
  • 14日至29日-> 存储随机盐的16个字节
  • 第30到第61-> 32个字节,其中包含哈希密码

问题是,我们将纯盐和密码哈希存储在同一数据库中。在这种情况下,恶意软件可以使用预定义的巨大词典和常用密码,计算出更新后的哈希值,并一一攻击密码。

我了解每个新的/更新密码都会随机生成盐,并且我们进行了许多迭代,使得PBKDF2相对较慢(每秒70k),但是无论如何,至少仍有机会对小密码进行攻击考虑当今计算能力的密码数量

我肯定在这里错过了一些东西。帮助请找到答案: 为什么在计算密码哈希(假设来自证书)时,在哈希密码或某种私钥的顶部不使用加密,以使我们的密码哈希真正安全呢?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)