如果我有一个存储用户敏感信息并对该信息进行加密的数据库,是否需要对加密密钥和哈希执行类似PBKDF2(密码、salt,10^5)的操作?
发布于 2015-08-07 19:01:06
每当您有一个人工密码并希望将其处理为某种“留下跟踪”的格式时,您就需要使用一个能够抵抗暴力的函数(例如PBKDF2)来处理它。因此,当您散列密码以获得存储的密码验证令牌时,您需要这样做;当您将密码转换为对称加密的密钥时,也需要这样做。
让事情变得更清楚:如果您将密码P转换为key K,然后使用K加密一些数据D并存储加密结果E,那么攻击者可以通过将潜在密码P‘转换为key K’,然后尝试用K解密E来“尝试密码”,并查看它是否产生一些合理的数据D。这是离线字典攻击情况,非常类似于基本的密码散列。
严格地说,将某些数据转换为密钥称为密钥派生,而"PBKDF“实际上意味着”基于密码的密钥派生函数“。
https://security.stackexchange.com/questions/96237
复制相似问题