73 条回复  ·  8520 次点击
nbndco 小成 2025-7-13 09:21:25
@WngShhng 那如果我是用户 b 我把用户 a 的加密后的密码上传上来服务器能识别出这不是我的密码吗
WngShhng 楼主 小成 2025-7-13 09:23:22
@nbndco 那首先得 b 用户得有 a 用户的文件,其次 a 用户勾选了把密钥记录到文件的选项(这始终只是一个可选项
nbndco 小成 2025-7-13 09:26:14
@WngShhng 你加密不就是为了防止 a 用户的文件被其他人获取后访问吗。按你这个设计我随便注册个账号就可以解密所有人的文件了?
WngShhng 楼主 小成 2025-7-13 09:29:20
@nbndco 因为软件里的数据本身是私有化的,也就是存储在用户自己手机或者网盘上,所以,要想解密别人的文件,你得有他的文件,其次,如果用户觉得写入密钥的功能不妥,他可以不勾选,那么我们就不会写入,这样即便别人拿到自己的文件也无法破解,我提供这个功能只是防止用户忘记密钥,如果不勾选就需要用户自己记住密钥,仅此而已
oott123 小成 2025-7-13 09:30:20
引入服务器在你这里确实给用户密码带来了一个薄弱环节,加密本就是为了防止文件被未授权用户查看,而你的服务器没有能力识别持有文件的人到底有没有权限获得这个文件,这就导致只要使用了这个备份密码功能,那加密就形同虚设。 如果你的观点是,别人无法轻易获取这个文件,所以是安全的,那加密也没必要了,反正别人也拿不到…… 至于密钥派生确实应该选择成熟的派生算法,但自己做问题没有特别大,无非就是相对弱了一点。
nbndco 小成 2025-7-13 09:31:21
@WngShhng 如果你觉得用户 a 的文件永远都不会泄露,那你加密他干啥???加密的假设不就是文件会泄漏吗?
zhy0216 小成 2025-7-13 09:32:06
派生算法你确实要被喷
WngShhng 楼主 小成 2025-7-13 09:32:41
@oott123 密钥派生这点没问题。加密过程中是可以不勾选将用户密钥写入的,那么这样就是单纯的 AES 加密,我加这个功能只是一个可选项......防止用户忘记密钥,如果不勾选就需要用户自己记住密钥,那么即便别人拿到文件也无法破解啊
oott123 小成 2025-7-13 09:35:54
@WngShhng 但只要这个功能被用户选择,加密就形同虚设。用户并不知道它选择了这个选项之后会将加密的安全性降低到明文级别,你给了用户虚假的安全感。这是不好的。当然我理解产品上需要一个找回密码的功能,但你需要重新思考它,起码,给每个用户分配一对独立的密钥吧?
WngShhng 楼主 小成 2025-7-13 09:39:08
@oott123 我在应用的帮助文档里面有简单的说明。分配独立的密钥,技术上可以,但是会增加应用使用的复杂度,如果引入太多的东西,容易让用户费解
返回顶部