我想为我的应用程序在Amazon S3中存储很多文件。 我可以选择使用服务器端加密或客户端加密,或者同时使用两者。
通过服务器端加密,我的意思是使用Amazon S3加密功能来加密文件。 通过客户端加密,我的意思是我将加密应用程序中的文件,然后将其存储在S3中。
首选哪种方法,因为这两种方法都具有不同的优势,例如服务器端加密将很好地处理,因为亚马逊已经使用了完全优化,但是在客户端加密中,我以后不再依赖亚马逊了,我可以轻松地传输文件到其他文件系统,我的加密将保持不变。 另外,如果有人可以访问我的Amazon S3 UI,他们可以轻松地以服务器端加密方法下载解密的文件。 另外,Amazon S3加密需要付费。
请帮助我做出决定。
答案 0 :(得分:2)
服务器端加密是最简单的。
它可以确保“静态加密”,但是S3会为您管理所有内容。当具有适当权限的人访问对象时,S3会自动解密该对象并提供其内容。 (请求也是通过HTTPS发出的,因此对象内容将在传输过程中进行加密。)
服务器端加密有很多选项:
使用KMS进行加密时,访问对象的身份还需要获得使用KMS密钥的许可。因此,这是您可能想使用的附加安全层。
如果您担心有人不当地访问您的帐户,则应考虑使用Multi-Factor Authentication来防止未经授权的访问。
答案 1 :(得分:2)
如果您使用服务器端加密,那么您的数据仅受策略 保护。如果您不小心将访问权限授予某人(或某人窃取了您的AWS访问密钥),则是否以加密方式存储都没有关系。
使用客户端加密,您可以管理密钥,没有密钥,任何人都无法访问文件的内容。如果您弄乱了策略,则密钥会保护您的数据。