Como funciona a criptografia do Amazon EBS - Amazon EBS

Como funciona a criptografia do Amazon EBS

É possível criptografar os volumes de dados e inicialização de uma instância do EC2.

Quando você cria um volume do EBS criptografado e o anexa a um tipo de instância com suporte, os seguintes tipos de dados são criptografados:

  • Dados em repouso dentro do volume

  • Todos os dados que são movidos entre o volume e a instância

  • Todos os snapshots criados a partir do volume

  • Todos os volumes criados a partir desses snapshots

O Amazon EBS criptografa o volume com uma chave de dados usando a criptografia de dados AES-256 padrão do setor. A chave de dados é gerada pelo AWS KMS e, em seguida, criptografada pelo AWS KMS com uma chave do AWS KMS antes de ser armazenada com as informações do volume. O Amazon EBS cria automaticamente uma Chave gerenciada pela AWS exclusiva em cada região em que você cria recursos do Amazon EBS. O alias para a chave do KMS é aws/ebs. Por padrão, o Amazon EBS usa essa Chave do KMS para a criptografia. Ou então, você pode usar uma chave de criptografia simétrica gerenciada pelo cliente criada por você. Usar sua própria Chave do KMS oferece a você mais flexibilidade, incluindo a capacidade de criar, alternar e desabilitar Chaves do KMS.

O Amazon EC2 trabalha com o AWS KMS para criptografar e descriptografar os volumes do EBS de maneiras ligeiramente diferentes, dependendo se o snapshot do qual você cria um volume criptografado é criptografado ou não.

Como funciona a criptografia EBS quando o snapshot é criptografado

Quando você cria um volume criptografado em um snapshot criptografado que você possui, o Amazon EC2 trabalha com o AWS KMS para criptografar e descriptografar os volumes do EBS da seguinte forma:

  1. O Amazon EC2 envia uma solicitação GenerateDataKeyWithoutPlaintext ao AWS KMS especificando a chave do KMS que você escolheu para a criptografia de volume.

  2. Se o volume for criptografado usando a mesma chave do KMS que o snapshot, o AWS KMS usa a mesma chave de dados que o snapshot e a criptografa com a mesma chave do KMS. Se o volume for criptografado usando outra chave do KMS, o AWS KMS gera uma nova chave de dados e a criptografa com a chave do KMS especificada. A chave de dados criptografada é enviada para ser armazenada no Amazon EBS com os metadados do volume.

  3. Quando você anexa o volume criptografado a uma instância, o Amazon EC2 envia uma solicitação CreateGrant ao AWS KMS para que ele possa descriptografar a chave de dados.

  4. O AWS KMS descriptografa a chave de dados criptografada e envia a chave de dados descriptografada ao Amazon EC2.

  5. O Amazon EC2 usa a chave de dados de texto simples no hardware do Nitro para criptografar a E/S de disco para o volume. A chave de dados de texto simples persistirá na memória enquanto o volume estiver anexado à instância.

Como funciona a criptografia EBS quando o snapshot não é criptografado

Quando você cria um volume criptografado em um snapshot não criptografado, o Amazon EC2 trabalha com o AWS KMS para criptografar e descriptografar os volumes do EBS da seguinte forma:

  1. O Amazon EC2 envia uma solicitação CreateGrant ao AWS KMS para que ele possa criptografar o volume criado a partir do snapshot.

  2. O Amazon EC2 envia uma solicitação GenerateDataKeyWithoutPlaintext ao AWS KMS especificando a chave do KMS que você escolheu para a criptografia de volume.

  3. O AWS KMS gera uma nova chave de dados, criptografa-a com a chave do KMS escolhida para a criptografia de volume e envia a chave de dados criptografada ao Amazon EBS para ser armazenada com os metadados do volume.

  4. O Amazon EC2 envia uma solicitação de Decrypt ao AWS KMS para descriptografar a chave de dados criptografada, que ele então usa para criptografar os dados do volume.

  5. Quando você anexa o volume criptografado a uma instância, o Amazon EC2 envia uma solicitação CreateGrant ao AWS KMS para que ele possa descriptografar a chave de dados.

  6. Quando você anexa um volume criptografado a uma instância, o Amazon EC2 envia uma solicitação Decrypt ao AWS KMS especificando a chave de dados criptografada.

  7. O AWS KMS descriptografa a chave de dados criptografada e envia a chave de dados descriptografada ao Amazon EC2.

  8. O Amazon EC2 usa a chave de dados de texto simples no hardware do Nitro para criptografar a E/S de disco para o volume. A chave de dados de texto simples persistirá na memória enquanto o volume estiver anexado à instância.

Para obter mais informações, consulte Como o Amazon Elastic Block Store (Amazon EBS) usa o AWS KMS e exemplo dois do Amazon EC2 no Guia do desenvolvedor do AWS Key Management Service.

Como as chaves do KMS inutilizáveis afetam as chaves de dados

Quando uma chave do KMS torna-se inutilizável, o efeito é quase imediato (sujeito a consistência posterior). O estado de chave da chave do KMS é alterado para refletir sua nova condição, e todas as solicitações para usar a chave do KMS em operações de criptografia falham.

Ao executar uma ação que inutiliza a chave do KMS, não há nenhum efeito imediato sobre a instância do EC2 nem sobre os volumes do EBS anexados. O Amazon EC2 usa a chave de dados (e não a chave do KMS) para criptografar toda a E/S de disco enquanto o volume está anexado à instância.

No entanto, quando o volume criptografado do EBS é desanexado da instância do EC2, o Amazon EBS remove a chave de dados do hardware do Nitro. Da próxima vez que o volume do EBS for anexado à instância do EC2, a anexação falhará porque o Amazon EBS não consegue usar a chave do KMS para descriptografar a chave de dados criptografada do volume. Para usar o volume do EBS novamente, é necessário tornar a chave do KMS utilizável novamente.

dica

Se você não quiser mais acessar os dados armazenados em um volume do EBS criptografado com uma chave de dados gerada de uma chave do KMS que pretende tornar inutilizável, recomendamos desanexar o volume do EBS da instância do EC2 antes de tornar a chave do KMS inutilizável.

Para obter mais informações, consulte How unusable KMS keys affect data keys no Guia do desenvolvedor do AWS Key Management Service.