我正在考虑创建一个基于云的文档存档。这样做的目的是使系统无法读取用户的文件,而不仅仅是存储提供者。
看看这个问题,有一些方法可以做到这一点,但实际上这限制了归档系统仅仅是一个“哑”存储提供者:只有在您自己的机器上,数据解密后才有意义。
由于相信存储提供商不会嘲笑你令人尴尬的假日照片,这种方法非常可靠。但问题是,像dropbox、google或neat.com这样的不太安全的系统不会给你带来方便。
这些系统(让我们称它们为“智能”)索引您的数据进行搜索,有方便的浏览器文档查看器,等等,这是我想要的系统。
但是,为用户的数据提供网络界面意味着web服务器必须能够提供未加密的文件(或缩略图)。
对于存储,我正在考虑使用非对称(RSA)对称加密(AES?)中央服务器上的秘密。每个文件都是用每个文件的秘密对称加密的。那些秘密是用公钥加密的。解密文件的秘密(从而解密文件)所需的私钥是使用基于用户密码的秘密加密的。
这意味着只有当解密的私钥在用户会话期间保持其解密形式时,服务器才能读取文件。类似地,索引和生成存储的文件/文档的缩略图只有在私钥被“解锁”时才能发生。这种设计很容易扩展,以适应特定于应用程序的密码(为每个密码创建一个加密的私钥),以防我想要开发除web界面之外的应用程序。
我的问题是:这个设计从根本上讲是安全的吗?
发布于 2012-11-21 18:28:45
我不确定我是否理解你的问题。在你的目标和解决方案之间似乎有矛盾。
最好在用户工作站上加密时生成元数据。然后将元数据明文与加密数据一起上载。这不是未来的证据,所以仔细选择你的元数据。
若要共享该文件,请使用收件人的公钥加密密钥文件并将其上载。
不要将明文密钥文件提供给服务器。
https://security.stackexchange.com/questions/24330
复制相似问题