首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文件端到端加密

文件端到端加密
EN

Security用户
提问于 2016-11-13 16:30:43
回答 2查看 576关注 0票数 0

我需要开发一个系统,用户可以通过浏览器上传文件,对文件进行加密并存储在我的服务器上。上传文件后,其他用户可以使用iOS或android应用程序下载该文件,并对其进行解密以查看该文件。问题是,我不应该能够解密我的服务器上的文件,因为文件可能非常敏感。现在,我对加密没有任何真正的了解,也不知道从哪里开始。对于这种端到端加密,您有什么建议吗?

我想出了一个关于我的安全计划应该是什么样子的想法。

  1. CMS客户端登录,他的密码从现在起作为上传密钥使用(稍后使用)
  2. 在CMS方面,创建了稍后的应用程序用户(潜在的文件接收方),其中包含一个登录密码(用于应用程序)和一个下载密钥(稍后使用)来解密下载的文件。
  3. CMS客户端通过单独的邮件向应用程序用户发送登录密码和下载密钥(没有电子邮件)。
  4. CMS客户端上传一个文件,该文件在浏览器中用随机密钥加密(后来使用),并存储在服务器1上。随机密钥和对文件的引用被用上传密钥加密,并存储在服务器2上。
  5. CMS客户端选择应用程序用户(多个)查看上传的文件。此时,随机密钥和文件引用(来自第3步)正被上传密钥解密。这个解密包将使用所选应用程序用户的下载密钥进行复制和加密(此步骤是针对每个选定的应用程序用户完成的,因此我们将为每个应用程序用户提供多个包)

这个方法是接近了还是我走错了方向?

EN

回答 2

Security用户

发布于 2016-11-14 22:14:36

我需要开发一个系统,用户可以通过浏览器上传文件,对文件进行加密并存储在我的服务器上。上传文件后,其他用户可以使用iOS或android应用程序下载该文件,并对其进行解密以查看该文件。问题是,我不应该能够解密我的服务器上的文件,因为文件可能非常敏感。

人们经常在像Dropbox这样的云存储系统中这样做:加密一个文件,存储在主机上,然后在其他地方解密它。您可以重用任何普通的、经过良好测试的加密系统(GPG、TrueCrypt等),而对主机来说,这只是一个加密的blob。

如果您将其作为一种产品提供,您应该重用现有的文件加密软件,并重用现有的云存储系统(例如,S3非常便宜,并且提供了极好的可用性和持久性保证);您唯一需要做的就是在它们之上的UX。

票数 1
EN

Security用户

发布于 2016-11-13 17:44:55

您需要经过身份验证的加密。AES-GCM从类似PBKDF2的东西衍生出来的密钥可能是你最好的选择。

问题是,如果你不知道密码,很容易开枪打自己的脚。AES-GCM在这方面有所帮助,但并不是防弹的。

发布您的加密方案,以便其他人能够审查它并确认它是安全的。

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

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

复制
相关文章

相似问题

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