提问人:Geod 提问时间:6/11/2023 最后编辑:egleaseGeod 更新时间:6/12/2023 访问量:65
零访问加密和“忘记密码”部分
Zero-Acccess Encryption and "Forgot Password" section
问:
我目前正在使用 Symfony 创建一个“Google Docs”替代品,但是为了保护隐私。为了“证明”用户数据的机密性,我对“零访问”基础设施感兴趣。
如果我理解正确的话,这个概念是客户端使用基于密码的密钥加密/解密数据,服务器存储加密数据。它对安全和隐私更好,并证明网站不能使用数据进行跟踪/广告。
这是对的吗?
这个概念很有趣,但我发现了 2 个问题:
- “共享文件”不能由所有者(或最新修改的用户)以外的用户解密
- 如果不删除所有当前用户数据,我无法创建“忘记密码”部分。
对于第一个问题,我找到了一个解决方案:“userAccess”实体(STR user_id、STR doc_id、INT 权限)存储由用户密钥加密的文件密钥,客户端可以解密此密钥然后解密/加密文件。
对于第二个问题,我没有任何解决方案......
这里有一些问题:
我的“零访问”定义正确吗?
我对第一个问题的回答是真的吗?
第二个问题有什么解决办法吗?
答:
0赞
Lou_is
6/12/2023
#1
我会尽量回答你的问题:
我不熟悉您正在使用的“零访问”术语。但是,您描述的内容在我看来就像端到端加密,这意味着数据仅在客户端上解密。
关于您的第一个解决方案,它确实是在这种情况下通常的做法。您可能有兴趣阅读 Signal 应用程序对聊天进行加密的功能,特别是 Sesame 算法(请参阅此处))
最后,如果加密密钥丢失,则无法恢复加密数据,因此(例如,firefox会重置您的数据,但会提供恢复密钥。人们可以猜到这些密钥的作用类似于其他密码)
希望对您有所帮助!
评论
0赞
Francisco
6/13/2023
非常好。在这个关节中,有一些关于谷歌文档加密的提示:cleandrive.app/encrypt-files-folders-google/...。
0赞
Geod
6/14/2023
谢谢 !对于第二个问题,我也(想过?)基于个人问题和答案的恢复密钥,但我不知道这是否是一个好主意......
0赞
Geod
6/14/2023
PS:它不像端到端加密,因为在这里它用于在服务器中安全地存储数据,而端到端仅用于我认为/相信的通信
0赞
Lou_is
6/14/2023
别客气。似乎很难制作出这样对服务器不可用的恢复密钥。个人答案很容易记住,但用户会输入完全相同的答案两次,以便您可以创建有效的密钥吗?此外,这些东西很容易被钓到/发现。
评论