|
|
1
3
您的意思是,在存储用户身份验证密码的应用程序中。 通常,散列和加密存储的动机是防止窃取数据库或破坏服务器的人获取密码。 如果您使用AES加密它们,那么很明显您必须将密钥保存在某个地方,并且永远无法更改它(当然,除非您将它们全部解密并重新加密)。 如果有人破坏了机器,他们可以获得密钥,因为密钥在某个时间必须保存(至少)在内存中以解密密码。 要么就是那样,要么就用一些高级的pki。AES是对称密码。 加密密码并不能真正帮助应用程序保护其数据库不受任何攻击,除了最偶然的攻击者(因为攻击者必须能够获取密钥)。如果密码很强,对它们进行散列将很难获得明文。 |
|
|
2
4
用可逆加密对密码进行加密有可疑的价值。 显然,查找程序可以访问密钥。这意味着您应该假设任何有权访问该程序的人也可以访问该密钥。如果你是偏执狂,你也应该假设他们的配偶、重要的其他人、室友等都有权使用这把钥匙。此外,任何曾经闯入网络的人(自从使用密钥以来)也可以访问密钥。 使用这样一个系统的问题是你永远不会知道它是坏的。我能拿到钥匙吗?马上?我可以随时查找密码吗?你一改变它,我就知道它变成了什么? 使用salted散列(vs可逆加密)在实现上有其自身的挑战,但可以确保窃取密码列表的价值很小(如果使用强算法、多轮、最小密码标准和随机每记录salt正确实现)。您当前的系统是“感觉良好的加密”。虽然这可能会让管理层“感到”安全,但实际上他们并不安全。它比以纯文本或贴便条的方式存储密码要好得多,对已确定的攻击者来说,它充其量只是一个最小的速度障碍。最大的问题是你永远无法证明你是“安全的”,当你受到威胁时可能没有任何警告。你现在可能会妥协,不知道。 |
|
|
Michael · 某些Windows客户端上的命名管道安全问题 1 年前 |
|
|
adamency · 是否可以从Go二进制文件的源代码中检索字符串? 1 年前 |
|
|
AlboSimo · PayPal Api密钥安全 1 年前 |