我需要开发一个系统,用户可以通过浏览器上传文件,对文件进行加密并存储在我的服务器上。上传文件后,其他用户可以使用iOS或android应用程序下载该文件,并对其进行解密以查看该文件。问题是,我不应该能够解密我的服务器上的文件,因为文件可能非常敏感。现在,我对加密没有任何真正的了解,也不知道从哪里开始。对于这种端到端加密,您有什么建议吗?
我想出了一个关于我的安全计划应该是什么样子的想法。
这个方法是接近了还是我走错了方向?
发布于 2016-11-14 22:14:36
我需要开发一个系统,用户可以通过浏览器上传文件,对文件进行加密并存储在我的服务器上。上传文件后,其他用户可以使用iOS或android应用程序下载该文件,并对其进行解密以查看该文件。问题是,我不应该能够解密我的服务器上的文件,因为文件可能非常敏感。
人们经常在像Dropbox这样的云存储系统中这样做:加密一个文件,存储在主机上,然后在其他地方解密它。您可以重用任何普通的、经过良好测试的加密系统(GPG、TrueCrypt等),而对主机来说,这只是一个加密的blob。
如果您将其作为一种产品提供,您应该重用现有的文件加密软件,并重用现有的云存储系统(例如,S3非常便宜,并且提供了极好的可用性和持久性保证);您唯一需要做的就是在它们之上的UX。
发布于 2016-11-13 17:44:55
您需要经过身份验证的加密。AES-GCM从类似PBKDF2的东西衍生出来的密钥可能是你最好的选择。
问题是,如果你不知道密码,很容易开枪打自己的脚。AES-GCM在这方面有所帮助,但并不是防弹的。
发布您的加密方案,以便其他人能够审查它并确认它是安全的。
https://security.stackexchange.com/questions/142507
复制相似问题