我创建了一个安全系统,该系统使用用户密码加密用户私钥,然后将其存储在数据库中。因此,如果用户输入正确的密码然后用于解密存储在数据库中的私钥,则用户只能检索私钥。
这个系统有一些令人钦佩的安全功能,但有一个缺点是很难做出“忘记密码”选项。我能想象的唯一方法是在其他地方存储所有私钥的副本,并使用主服务器密码对其进行加密,当用户忘记密码时,服务器允许他使用新密码重新加密其私钥。
此方法的问题在于,如果主服务器密码以某种方式泄露了所有帐户信息,也会受到损害。有没有办法添加重置密码方法而无需更改系统或损害其安全性?