我想为要上传到 S3 存储桶的数据实施客户端加密。然而,由于我只有基本的加密知识,我对我找到的解决这个问题的例子有点困惑。
对于 Java、.NET、Ruby、Go 等其他编程语言,AWS 开发工具包提供了客户端加密方法。而且我还找到了复制 python 相同行为的示例[1] [2] 。
但是,所有这些示例最终都使用 AWS KMS 服务来生成、存储和接收它们的加密密钥,这让我感到困惑。据我了解,您有两种一般选择:
您信任 AWS 或您的数据不是很敏感:然后您可以使用 AWS 服务器端加密或根本不加密。
您的数据很敏感和/或您不想信任 AWS:在这种情况下,我必须在 AWS 以外的其他地方生成和管理密钥(对吗?)。或者是否有任何障碍阻止 AWS 读取您的加密数据(如果他们愿意)?
通过遵循基本的 AES 教程[3]并上传加密数据来实施客户端加密是否有任何明显的缺点?