首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >存储用户的信息而不能够访问它

存储用户的信息而不能够访问它
EN

Security用户
提问于 2016-09-26 13:40:49
回答 2查看 300关注 0票数 2

对于我的一个大学项目,我正在制作一个密码管理器在线,我想能够存储用户的密码在我的服务器上,而不能访问它自己。以下是我打算做的事:

  • 用RSA加密加密用户密码
  • 存储用于加密的密钥,使用master password在客户端生成长哈希进行加密。
  • 每次使用某些键时,让用户键入它的master password

但是在这个过程中有一个巨大的问题。我无法恢复/生成新的用户密码。如果他们忘了密码。

基于我想出的两种选择:

  1. 没有赋予用户更改密码的能力--好吧,这看起来就像是在发布之前杀死了该产品。
  2. 通过使用其他哈希加密密钥的副本来更改用户的密码,比如安全问题--这似乎不是一个选项,因为大多数现代网站上的安全问题由于安全风险而过时。

除了这个我还有别的选择吗?我想我需要一个‘信任没有人’(TNO)或‘零信任’架构,但在我的设计有一些漏洞。

EN

回答 2

Security用户

回答已采纳

发布于 2016-09-27 02:07:51

恢复或重置本质上是一个后门。拥有这种能力意味着有一种能力。

我们对1 1Password团队和1 1Password家族所做的事情是给予团队/家庭管理员的,而不是给我们自己的。(这些数据被间接地提供给所有金库的密钥,但没有提供实际加密的金库数据)。

这不是一个完美的解决方案,但我们认为这是一个好的解决方案。不幸的是,它不能用于个人帐户。因此,人们忘记了他们的主密码确实会给这些人带来灾难性的数据损失。这不是我们掉以轻心的事情,但我们(我们希望我们的客户)更喜欢数据丢失的风险,而不是我们(或与我们妥协的人)所固有的具有解密客户数据能力的威胁。

无论如何,您可以在https://1password.com/teams/white-paper/上阅读我们的恢复方法(尽管在当前的草稿中它是粗略的)。

票数 4
EN

Security用户

发布于 2016-09-26 16:40:34

每组数据都用一个数据密钥加密,然后用用户的密码(或者您提到的密码的散列)加密数据密钥。解决您的问题的方法是,每个数据密钥也应该存储在某个地方,如果用户愿意信任提供者的数据,则由提供者存储,或者由用户自己作为“备份,以防您忘记密码”。

对于密码管理器,我猜有些用户不希望他们的密钥存储在一个集中的地方,所以您可能需要考虑为他们提供一个选项,将他们的恢复文件存储在您的服务器上,或者提供给他们,让他们自己存储在一个安全的地方。如果他们选择自己存储,同时丢失密码,那对他们来说是糟糕的一天。(多疑和健忘都是有代价的。)

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/137878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档