通常有两种加密用户上传文件的主要方法。
客户端可以加密文件,将其发送给服务器进行存储,并根据请求服务器检索加密文件,客户端进行解密。在这种情况下,服务器永远不能访问密钥。对此有利;加密方案可由Web应用程序源中的任何人查看,它是客户端和其他人的额外处理
第二种情况当然是客户端以纯文本(大概通过SSL)发送文件,服务器管理密钥和加密/解密。
在我看来,最常见的形式是后者,服务器管理客户端的加密/解密。这对我来说似乎无效。如果Web服务器受到攻击,即使攻击者只具有Web应用程序级别权限,首先加密也毫无意义,因为他可以像访问Web应用程序一样访问所有密钥,从而解密文件。有办法防止这种情况吗?为什么人们甚至会开始加密文件,除非他们进行了客户端加密并且从不存储密钥?
此外,作为此问题的第二部分,如果您使用前一个选项(客户端加密),允许多人访问加密文件(例如公司内的部门)是否可行?我认为用户必须在他们之间共享密钥,这会带来另一个安全风险。
答案 0 :(得分:1)
SSL仅保护连接。如果要阻止服务器查看您的文件,该文件必须由密钥服务器加密,不知道。 (方案一)
对于第二部分,有许多papers讨论如何基于公钥加密来构建这样的系统。或者您可以查看其他最近加密的重新搜索,例如broadcast encryption或attribute-based encryption.