我正在开发一个应用程序,我希望有E2 EE。我的斗争是与私钥。我读到的大多数人说,你不存储在AWS服务器,因为它将不再是一个E2 EE,它是一个后门。我不想创建一个后门,我只希望用户持有密钥。然而,在同一时间,如果用户从另一个设备登录,由于原始设备上的私钥,它们不能检索它们的数据。那么,有什么方法可以让用户能够从另一个设备登录,而不会有检索数据的麻烦,也不会把他们的私钥的风险!请考虑到我是这个主题的新手,我正在使用苹果的cryptoKit:)谢谢!
t30tvxxf1#
例如,您可以使用用户的id和密码散列来加密私钥,并将其加密版本存储在服务器上。1.使用用户的ID和密码(或其哈希值)在本地加密私钥1.将此加密密钥发送到服务器以将其存储在那里现在,当用户从另一个设备登录时,可以使用用户的id和密码在本地检索和解密加密的密钥。因此,如果没有用户的凭据,就不可能解密和使用加密的密钥。但是,这也意味着如果用户更改了密码,也需要使用旧密码解密加密的密钥,然后使用新密码重新加密。这是满足您的要求的常用方法。
1条答案
按热度按时间t30tvxxf1#
例如,您可以使用用户的id和密码散列来加密私钥,并将其加密版本存储在服务器上。
1.使用用户的ID和密码(或其哈希值)在本地加密私钥
1.将此加密密钥发送到服务器以将其存储在那里
现在,当用户从另一个设备登录时,可以使用用户的id和密码在本地检索和解密加密的密钥。
因此,如果没有用户的凭据,就不可能解密和使用加密的密钥。但是,这也意味着如果用户更改了密码,也需要使用旧密码解密加密的密钥,然后使用新密码重新加密。
这是满足您的要求的常用方法。