Cómo funciona el cifrado de Amazon EBS
Puede cifrar los volúmenes de datos y de arranque de una instancia EC2.
Cuando se crea un volumen de EBS y se adjunta a un tipo de instancia compatible, se cifran los tipos de datos siguientes:
-
Datos en reposo dentro del volumen
-
Todos los datos que se mueven entre el volumen y la instancia
-
Todas las instantáneas creadas a partir del volumen
-
Todos los volúmenes creados a partir de esas instantáneas
Amazon EBS cifra el volumen con una clave de datos que utiliza el cifrado de datos estándar de la industria AES-256. La clave de datos se genera mediante AWS KMS y, a continuación, se cifra mediante AWS KMS con una clave de AWS KMS antes de almacenarse con la información del volumen. Amazon EBS crea automáticamente una única Clave administrada de AWS en cada región en la que crea recursos de Amazon EBS. El alias de la clave de KMS es aws/ebs. De forma predeterminada, Amazon EBS utiliza esta Clave de KMS para el cifrado. También puede usar una clave de cifrado gestionada por el cliente simétrico que haya creado. Uso de su propia Clave de KMS le da más flexibilidad, incluida la capacidad de crear, rotar y desactivar Claves de KMS.
Amazon EC2 trabaja con AWS KMS para cifrar y descifrar los volúmenes de EBS de maneras ligeramente diferentes, dependiendo de si la instantánea a partir de la que se crea un volumen cifrado está cifrada o no.
Funcionamiento del cifrado de EBS cuando se cifra la instantánea
Cuando crea un volumen cifrado a partir de una instantánea cifrada de su propiedad, Amazon EC2 trabaja con AWS KMS para cifrar y descifrar los volúmenes de EBS de la siguiente manera:
-
Amazon EC2 envía una solicitud GenerateDataKeyWithoutPlaintext a AWS KMS, que especifica la clave de KMS que eligió para el cifrado del volumen.
-
Si el volumen se cifra con la misma clave de KMS que la instantánea, AWS KMS utiliza la misma clave de datos que la instantánea y lo cifra con esa misma clave de KMS. Si el volumen se cifra con una clave de KMS diferente, AWS KMS genera una nueva clave de datos y lo cifra con la clave de KMS que se haya especificado. La clave de datos cifrada se envía a Amazon EBS para almacenarla con los metadatos del volumen.
-
Cuando adjunta el volumen cifrado a una instancia, Amazon EC2 envía una solicitud CreateGrant a AWS KMS para que pueda descifrar la clave de datos.
-
AWS KMS descifra la clave de datos cifrada y envía la clave de datos descifrada a Amazon EC2.
-
Amazon EC2 utiliza la clave de datos de texto no cifrado en el hardware de Nitro para cifrar las operaciones de E/S de disco en el volumen. La clave de datos de texto no cifrado persiste en la memoria siempre que el volumen esté asociado a la instancia EC2.
Funcionamiento del cifrado de EBS cuando la instantánea no está cifrada
Cuando crea un volumen cifrado a partir de una instantánea no cifrada, Amazon EC2 trabaja con AWS KMS para cifrar y descifrar los volúmenes de EBS de la siguiente manera:
-
Amazon EC2 envía una solicitud CreateGrant a AWS KMS para que pueda cifrar el volumen que se crea a partir de la instantánea.
-
Amazon EC2 envía una solicitud GenerateDataKeyWithoutPlaintext a AWS KMS, que especifica la clave de KMS que eligió para el cifrado del volumen.
-
AWS KMS genera una clave de datos nueva, la cifra bajo la clave de KMS que usted eligió para el cifrado del volumen y envía la clave de datos cifrada a Amazon EBS para que se almacene con los metadatos del volumen.
-
Amazon EC2 envía una solicitud de descifrado a AWS KMS para obtener la clave de cifrado con la que cifrar los datos del volumen.
-
Cuando adjunta el volumen cifrado a una instancia, Amazon EC2 envía una solicitud CreateGrant a AWS KMS para que pueda descifrar la clave de datos.
-
Cuando adjunta el volumen cifrado a una instancia, Amazon EC2 envía una solicitud Decrypt a AWS KMS, en la que se especifica la clave de datos cifrada.
-
AWS KMS descifra la clave de datos cifrada y envía la clave de datos descifrada a Amazon EC2.
-
Amazon EC2 utiliza la clave de datos de texto no cifrado en el hardware de Nitro para cifrar las operaciones de E/S de disco en el volumen. La clave de datos de texto no cifrado persiste en la memoria siempre que el volumen esté asociado a la instancia EC2.
Para obtener más información, consulte Cómo Amazon Elastic Block Store (Amazon EBS) usa AWS KMS y Amazon EC2 ejemplo dos en la Guía para desarrolladores de AWS Key Management Service.
Cómo afectan las claves de KMS obsoletas a las claves de datos
Cuando una clave de KMS queda obsoleta, el efecto es casi inmediato (sujeto a la posible coherencia). El estado de clave de la clave de KMS cambia para reflejar su nueva condición y todas las solicitudes para utilizar la clave de KMS en operaciones criptográficas fallan.
Cuando se realiza una acción que inutiliza la clave de KMS, no se produce ningún efecto inmediato en la instancia de EC2 ni en los volúmenes de EBS asociados. Amazon EC2 usa la clave de datos, no la clave de KMS, para cifrar todas las E/S de disco mientras el volumen esté asociado a la instancia.
Sin embargo, cuando el volumen de EBS cifrado se separa de la instancia de EC2, Amazon EBS elimina la clave de datos del hardware de Nitro. La próxima vez que el volumen EBS cifrado se asocia a una instancia EC2, el accesorio devuelve un error, dado que Amazon EBS no puede utilizar la clave de KMS para descifrar la clave de datos cifrada del volumen. Para volver a usar el volumen de EBS, debe hacer que la clave de KMS se pueda utilizar de nuevo.
sugerencia
Si ya no desea acceder a los datos almacenados en un volumen de EBS cifrado con una clave de datos generada a partir de una clave de KMS que pretende inutilizar, le recomendamos que separe el volumen de EBS de la instancia de EC2 antes de inutilizar la clave de KMS.
Para obtener más información, consulte Cómo afectan las claves de KMS inutilizables a las claves de datos en la Guía para desarrolladores de AWS Key Management Service.