高手来出个主意:多用户共享的文件加密怎么设计???
要求实现:
文件A可以被若干用户a,b,c解密打开,各用户权限一致即可。
假如使用对称加密的话,加密用的key就只能是一个,不能简单存在文件内或用算法A变换后存在文件内(后面会提到反汇编破坏条件判断而直接走算法A并解密文件),
一个简单的实现是:
i) 加密文件内有一个头,保存a, b, c的密码的hash值, 按照某算法M来对称加密文件的原文
ii) 任意一个用户输入密码后,比较该密码的hash值是否和已存的hash相同,相同则验证通过
iii) 按照算法M再次生成唯一的key用于解密文件
这个设计中,很容易被反汇编,破坏ii)中的条件跳转,而导致直接走 iii)来解密文件
难道像PGP这样的软件,必须再加一道非对称加密么?如何加
理论上讲,PGP应该也是a,b,c三个用户任意一个密码正确后,就开始用算法算出key来解密;它要是被反汇编的话,也很容易被破坏条件跳转,直接得key而解密。
请高手支招!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我是想写个自己的软件出来,求思路
打算加入指纹识别的接口,但指纹识别是一种模糊识别,鲜活刷进来的指纹和上次登记的指纹不是完全一致的,故只能用上次登记的指纹的信息用某算法来生成key解密(因为是对称的,上次加密时的key就是从登记的指纹信息里得来的)
上SHAREPOINT