使用主密钥解密数据而不是用于加密的密钥

时间:2015-02-25 17:19:14

标签: security cryptography sjcl

我正在尝试构建一个将用户相关信息客户端存储在localstorage中的应用程序。我正在使用用户提供的密码加密该数据。

如果我实现忘记密码并生成新密码,我该如何取回使用旧密码加密的数据。

我正在使用sjcl来加密数据。是否有任何技术用2个密码加密数据?

这种情况的理想模式是什么?

1 个答案:

答案 0 :(得分:1)

传统方法称为"密钥托管。"基本上,它意味着将密钥的副本提供给您信任的人。

如果您不信任任何人,那么密钥托管不适合您。您唯一的选择是确保您不会丢失唯一密钥。这也是一种相当普遍的方法。许多宣传安全存储的产品都强调了这一点。例如,请参阅Bruce Schneier的密码管理器" PasswordSafe,"和LaCie的以安全为中心的DropBox替代品," Wuala。"

可以接受加密数据的方法,以便可以使用多个密码中的任何一个解密数据。但我不知道这有多大帮助;如果你不记得一个密码,你怎么记得两个?

任何其他假装避免密钥托管的方法,但如果丢失密钥仍然提供了访问数据的后门,这是不安全的,没有人应该相信它。