AWS S3:是 SSE-S3 信封加密吗?

Posted

技术标签:

【中文标题】AWS S3:是 SSE-S3 信封加密吗?【英文标题】:AWS S3: is SSE-S3 envelope encryption? 【发布时间】:2021-06-16 12:30:43 【问题描述】:

这是使用 S3 托管密钥 (SSE-S3) 进行服务器端加密的加密流程

(此图来自Oreilly)

    客户端选择自己的对象上传到 S3,并在此过程中指明 SSE-S3 的加密机制。 然后S3 控制该对象并使用S3 生成的明文数据密钥对其进行加密。结果是对象的加密版本,然后存储在您选择的 S3 存储桶中。 然后使用 S3 主密钥对用于加密对象的明文数据密钥进行加密,从而生成密钥的加密版本。这个现在加密的密钥也存储在 S3 上,并且与加密的数据对象有关联。最后,明文数据密钥在 S3 中从内存中删除。

如您所见,SSE-S3 使用唯一的数据密钥来加密对象,而不是主密钥。

我经常听说 SSE-KMS 是信封加密,我的问题是:

SSE-S3 是否也封装加密?

参考

    Stack Overflow: Does AWS KMS use envelope encryption? AWS KMS Envelope Encryption

【问题讨论】:

【参考方案1】:

AWS Encryption-At-Rest(服务器端加密)使用Envelope Encryption,无论使用什么密钥。不仅适用于 S3,适用于 AWS 的每项服务。 Here 是一个不错的博客。

唯一的区别是谁管理数据密钥和加密密钥。

SSE-S3 两个密钥均由 AWS 管理 SSE-KMS 我们管理 CMK,AWS 管理数据密钥。让我们能够更好地控制轮换、访问等。 SSE-C 我们同时管理加密密钥和数据密钥(我们可以选择不使用数据密钥但使用相同的密钥),我们提供数据密钥和算法,AWS 为我们加密,我们需要跟踪哪个键用于哪个对象。

【讨论】:

以上是关于AWS S3:是 SSE-S3 信封加密吗?的主要内容,如果未能解决你的问题,请参考以下文章

开始准备AWS Developer认证考试--服务器端加密保护数据S3

Amazon S3 存储桶加密 - KMS 与 AES 256

数字信封加密

数字信封加密

java AWS S3服务器端加密(非KMS)

如何使用 Active Storage Rails 上传到具有 AES256 加密(服务器端加密)的 AWS S3 存储桶?