0

我有一个网络应用程序,需要用户注册并输入一些个人数据。

在注册时,会生成一个主密钥,然后使用密码派生密钥对其进行加密并存储在数据库中。当用户登录时,主密钥被解密并用于解密用户的数据。

存储解密后的主密钥的最佳位置在哪里,这样用户每次需要访问数据时就不必重新输入密码?

我目前对此的想法是这样的:

  1. 用于解密主密钥的用户登录和密码派生密钥
  2. 生成新的随机密钥并用于加密主密钥
  3. 在数据库会话表中存储新加密的主密钥
  4. 将新生成的随机密钥存储在用户浏览器中的 cookie 中,设置为在会话/注销结束时过期。

该网络应用程序由第 3 方托管,因此我无法选择创建加密分区等。

谁能建议一个更好的方法来解决这个问题?

谢谢

4

0 回答 0