首页 文章

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

提问于
浏览
2

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

我想了解有关加密上传到S3存储桶的构建工件的不同策略的反馈 .

存储前对称加密文件 .

  • 从文件中读取密码 .

  • 直接AES256使用此密钥作为密钥加密要存储在S3中的文件 .

  • 将加密文件上传到S3 .

  • 解密将通过从S3下载文件并使用相同的密钥解密来完成 .

使用随机字符串加密文件 . 使用文件对称加密和存储字符串 .

  • 从文件中读取密码 .

  • 生成随机字符串 . 使用随机字符串加密文件 .

  • 加密随机字符串 .

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

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

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

1 回答

  • 2

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

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

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

相关问题