【发布时间】:2018-01-20 19:16:06
【问题描述】:
假设我想开发一个身份验证/用户系统,并且我希望能够在需要时恢复原始用户密码,从安全角度来看,加密密码与散列有什么缺点?
当然,应用程序将只使用公钥,并且只需将加密的字符串与公钥进行比较即可执行身份验证。
私钥有两种使用方式:
- 我将私钥保存在离线设备上,以进行特殊的手动密码恢复操作。
- 私钥在应用程序中,但使用密码加密。
考虑到没有人(除了我)可以访问私钥,这些实现选择而不是散列密码的安全弱点是什么?
关于第二个选项,黑客可能会入侵应用程序服务器并等待我插入密码来解密私钥,但我认为在这种情况下,黑客已经可以做比等待私钥解密更多的坏动作(因为等待用户在登录和其他人时发送他们的密码......)
谢谢
编辑:我主要理解的是,使用加密是否与使用散列一样安全(当然假设破解者无法获取私钥)。
【问题讨论】:
-
“如果需要,我希望能够恢复原始用户密码” 不,你不需要。
-
请注意,哈希是一种单向算法,您不能对密码进行哈希处理,然后从哈希中恢复密码
-
@Ryan 你知道我想开发什么类型的应用程序吗?请假设我可能需要恢复它们。
-
@JerryB.no.1intern 是的,我知道。正是为此,我问的是加密而不是哈希的安全弱点:)
-
@Eghes 最明显的安全漏洞是从用户的角度来看。为什么用户会委托您使用他自己的私人密码?
标签: security encryption hash password-protection