文件加密策略(共享密钥和唯一密钥)

时间:2012-09-22 01:14:20

标签: encryption amazon-s3 amazon-simpledb

我正在开发一个项目来管理S3中的构建工件和相应的元数据。 SimpleDB分别。

我希望获得有关加密上传到S3存储桶的构建工件的不同策略的反馈。

存储前对称加密文件。

  • 从文件中读取密码。
  • 直接AES256使用此密钥作为密钥加密要存储在S3中的文件。
  • 将加密文件上传到S3。
  • 解密将通过从S3下载文件并使用相同的密钥解密来完成。

使用随机字符串加密文件。对称加密并使用文件存储字符串。

  • 从文件中读取密码。
  • 生成随机字符串。使用随机字符串加密文件。
  • 加密随机字符串。
  • 在SimpleDB中存储加密的随机字符串。 解密将通过从S3下载对象以及SimpleDB中的字符串来执行。使用密钥解密加密的字符串并使用未加密的字符串解密文件。

我倾向于后者,因为它提供了通过使用新秘密重新加密存储在SimpleDB中的字符串来旋转加密密钥的能力。

任何人都可以解决这个问题,谁能评论每种策略的优点和缺点?

1 个答案:

答案 0 :(得分:2)

从加密的角度来看,这两种方案都提供类似的安全性。 主要区别在于组织特征。 第二种方案使您能够通过简单地删除SimpleDB使所有加密文件不可读。 此外,您可以更改密码以解密文件密钥,就像您所说的那样。 这几乎是解密密钥存储在LUKS分区上的方式。 所以我也倾向于第二个版本。

我希望不同的人可以访问这些文件,我会考虑使用混合方案,即存储使用公钥系统加密的文件密钥。

顺便说一下。您选择哪种模式进行加密?