我正在尝试确定是否可以存储使用 AES 算法加密的密码,而不是存储使用 SHA1 加盐和散列的密码。
我想知道这是因为我的公司正在更新我们专有的 CMS 中包含的成员(member)系统。目前,我们对密码使用 AES 加密。这使我们能够在客户寻求支持时轻松查找管理员密码。当我们有人员变动时,更改所有管理员密码是一项政策。密码查找工具使我们能够轻松获取新密码,并且我们的工作流程不会中断。
我的印象是大多数人认为散列加盐密码是处理密码的更安全方式,但我想不出一种方法来在使用散列密码时符合当前公司的运营。而且,除非我能给他们一些非常有说服力的理由来散列密码,否则更改密码操作所需的企业文化转变可能不会发生。
与加密密码相比,散列密码是否被普遍接受?为什么?
最佳答案
使用可逆加密来加密密码的值(value)可疑。
显然查找程序可以访问 key 。这意味着您应该假设有权访问该程序的任何人也可以访问该 key 。如果你是偏执狂,你还应该假设他们的配偶、重要的其他人、室友等都可以使用该 key 。过去曾经闯入网络的任何人(因为使用了 key )也可以访问该 key 。
使用这样的系统的问题是你永远不会知道它坏了。我可以访问 key 吗?现在?我可以随时查询密码吗?你一改我就知道改成什么了?
使用加盐哈希(相对于可逆加密)在实现中有其自身的挑战,但您可以放心,窃取密码列表的值(value)很小(如果使用强大的算法、多轮、最小密码标准和随机每记录盐)。您当前的系统是“感觉良好的加密”。虽然这可能会让管理层“感到”安全,但实际上他们并不安全。它比以明文或便条存储密码稍微好一点,对于坚定的攻击者来说,它充其量只是一个最小的减速带。最大的问题是你永远无法证明你是“安全的”,并且当你受到威胁时可能没有任何警告。您现在可能已经受到威胁而自己却不知道。
关于security - 可以存储可以检索的密码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4269273/