Amazon EBS 加密的工作原理 - Amazon EBS

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon EBS 加密的工作原理

您可以加密EC2实例的启动卷和数据卷。

当您创建加密EBS卷并将其连接到支持的实例类型时,会对以下类型的数据进行加密:

  • 卷中的静态数据

  • 在卷和实例之间移动的所有数据

  • 从卷创建的所有快照

  • 从这些快照创建的所有卷

Amazon 使用行业标准的 AES -256 数据EBS加密使用数据密钥对您的卷进行加密。数据密钥由生成, AWS KMS 然后 AWS KMS 用 AWS KMS 密钥加密,然后与您的卷信息一起存储。亚马逊会在您创建亚马逊EBS资源的每个区域EBS自动创建唯一 AWS 托管式密钥 的。KMS密钥的别名aws/ebs。默认情况下,Amazon EBS 使用此KMS密钥进行加密。或者,您可以使用自己创建的对称客户管理加密密钥。使用自己的KMS密钥可以提高灵活性,包括创建、轮换和禁用KMS密钥的能力。

Amazon EC2 与之合作 AWS KMS 对您的EBS卷进行加密和解密的方式略有不同,具体取决于您创建加密卷时使用的快照是加密还是未加密。

快照EBS加密后加密的工作原理

当您使用自己拥有的加密快照创建加密卷时,Amazon 会按如下EC2方式 AWS KMS 对您的EBS卷进行加密和解密:

  1. Amazon EC2 向发送GenerateDataKeyWithoutPlaintext请求 AWS KMS,指定您为批量加密选择的密KMS钥。

  2. 如果使用与快照相同的KMS密钥对卷进行加密,则 AWS KMS 使用与快照相同的数据密钥并使用相同的KMS密钥对其进行加密。如果使用其他KMS密钥加密卷,则 AWS KMS 会生成新的数据密钥并使用您指定的KMS密钥对其进行加密。加密的数据密钥将发送到 AmazonEBS,以便与卷元数据一起存储。

  3. 当您将加密卷附加到实例时,Amazon EC2 会向发送CreateGrant请求, AWS KMS 以便它可以解密数据密钥。

  4. AWS KMS 解密加密的数据密钥并将解密后的数据密钥发送给 Amazon。EC2

  5. Amazon EC2 使用 Nitro 硬件中的明文数据密钥来加密该卷的磁盘 I/O。只要卷附加到实例,纯文本数据密钥就会保留在内存中。

快照未EBS加密时加密的工作原理

当您使用未加密的快照创建加密卷时,Amazon 会按如下EC2方式 AWS KMS 对您的EBS卷进行加密和解密:

  1. Amazon EC2 向发送CreateGrant请求 AWS KMS,以便它可以加密根据快照创建的卷。

  2. Amazon EC2 向发送GenerateDataKeyWithoutPlaintext请求 AWS KMS,指定您为批量加密选择的密KMS钥。

  3. AWS KMS 生成新的数据密钥,使用您为卷加密选择的KMS密钥对其进行加密,然后将加密的数据密钥发送到 Amazon,EBS以便与卷元数据一起存储。

  4. Amazon EC2 向发送解密请求 AWS KMS 以解密加密的数据密钥,然后使用该密钥对卷数据进行加密。

  5. 当您将加密卷附加到实例时,Amazon EC2 会向发送CreateGrant请求 AWS KMS,以便它可以解密数据密钥。

  6. 当您将加密卷附加到实例时,Amazon EC2 会向发送解密请求 AWS KMS,指定加密的数据密钥。

  7. AWS KMS 解密加密的数据密钥并将解密后的数据密钥发送给 Amazon。EC2

  8. Amazon EC2 使用 Nitro 硬件中的明文数据密钥来加密该卷的磁盘 I/O。只要卷附加到实例,纯文本数据密钥就会保留在内存中。

有关更多信息,请参阅AWS Key Management Service 开发者指南中的亚马逊 Elastic Block Store (AmazonEBS) 的使用方式 AWS KMS和亚马逊EC2示例二

不可用的KMS密钥如何影响数据密钥

当KMS密钥变得无法使用时,效果几乎是立竿见影的(视最终一致性而定)。密钥的密钥状态会KMS发生变化以反映其新状态,并且所有在加密操作中使用该KMS密钥的请求都将失败。

当您执行使KMS密钥不可用的操作时,不会立即对EC2实例或连接的EBS卷产生影响。当卷连接到实例时,Amazon EC2 使用数据KMS密钥而不是密钥来加密所有磁盘 I/O。

但是,当加密EBS卷与EC2实例分离时,Amazon EBS 会从 Nitro 硬件中删除数据密钥。下次将加密EBS卷连接到EC2实例时,连接会失败,因为 Amazon EBS 无法使用该密KMS钥来解密该卷的加密数据密钥。要再次使用EBS音量,必须使KMS密钥再次可用。

提示

如果您不再希望访问存储在使用密钥生成的数据密钥加密的EBS卷中的数据,但您打算使该KMS密钥无法使用,我们建议您在使该KMS密钥不可用之前将该EBS卷与EC2实例分离。

有关更多信息,请参阅AWS Key Management Service 开发人员指南中的不可用KMS密钥如何影响数据密钥