Rotación de AWS KMS keys - AWS Key Management Service

Rotación de AWS KMS keys

Las prácticas criptográficas recomendadas desaconsejan el uso generalizado de claves de cifrado. Para crear nuevo material criptográfico para sus claves KMS, puede crear nuevas claves KMS y, a continuación, cambiar sus aplicaciones o alias para que utilicen las claves. También puede activar la rotación automática de claves para una clave KMS existente.

Al habilitar la rotación automática de claves para una clave administrada por el cliente, AWS KMS genera nuevo material criptográfico para la clave KMS cada año. AWS KMS también guarda el material criptográfico más antiguo de la clave KMS a perpetuidad para que se pueda utilizar para descifrar los datos que ha cifrado. AWS KMS no elimina ningún material de claves rotado hasta que se elimina la clave KMS.

La rotación de claves cambia únicamente el material de claves de la clave KMS, que es el material criptográfico usado en las operaciones de cifrado. La clave KMS es el mismo recurso lógico, independientemente de si el material de clave cambie o de cuántas veces lo haga. Las propiedades de la clave KMS no cambian, tal y como se muestra en la siguiente imagen.

La rotación automática de claves tiene las siguientes ventajas:

  • Las propiedades de la clave KMS, incluido su ID de clave, ARN de clave, región, políticas y permisos, no cambian cuando se rota la clave.

  • No necesita cambiar las aplicaciones ni los alias que hacen referencia al ID o ARN de la clave KMS.

  • Después de habilitar la rotación de claves, AWS KMS rota la clave KMS automáticamente cada año. No necesita recordar ni programar la actualización.

Sin embargo, la rotación automática de claves no afecta a los datos que la clave KMS protege. Es decir, no rota las claves de datos que ha generado la clave KMS ni vuelve a cifrar los datos protegidos por la clave KMS. Además, no mitiga el efecto de una clave de datos comprometida.

Podría optar por crear una nueva clave KMS y utilizarla en lugar de la clave KMS original. Esto tiene el mismo efecto que rotar el material de claves de una clave KMS existente, así que a menudo se considera una rotación manual de la clave. La rotación manual es una buena opción si desea controlar la programación de rotación de claves. También proporciona una manera de rotar las claves KMS que no cumplen los requisitos para la rotación automática de claves, incluidas las claves KMS asimétricas, las claves KMS en almacenes de claves personalizados y las claves KMS con material de claves importado.

Rotación de claves y precios

Se podrían aplicar cargos mensuales adicionales por la rotación de claves administradas por el cliente. Consulte los Precios de AWS Key Management Service para obtener más información. Para obtener información más detallada sobre el material de claves y la rotación, consulte los Detalles criptográficos de AWS Key Management Service.

Funcionamiento de la rotación automática de claves

La rotación de claves en AWS KMS es una práctica criptográfica recomendada que está diseñada para ser transparente y fácil de usar. AWS KMS admite la rotación automática de claves opcional solo para las claves administradas por el cliente.

  • Administración de material clave AWS KMS conserva todo el material de claves de una clave KMS, aunque la rotación de claves está deshabilitada. El material de claves solo se elimina cuando se elimina la clave KMS. Cuando se utiliza una clave KMS para el cifrado, AWS KMS utiliza la el material de clave actual. Cuando utiliza la clave KMS para el descifrado, AWS KMS usa el material clave que se utilizó para el cifrado.

  • Habilitar y deshabilitar la rotación de claves. La rotación automática de claves está desactivada de forma predeterminada en las claves administradas por el cliente. Al habilitar (o volver a habilitar) la rotación de claves, AWS KMS rota automáticamente la clave KMS 365 días después de la fecha de habilitación y, posteriormente, cada 365 días.

  • Claves KMS deshabilitadas Mientras una clave KMS está deshabilitada, AWS KMS no la rota. Sin embargo, el estado de rotación de clave no cambia y no puede cambiarlo mientras la clave KMS esté deshabilitada. Cuando la clave KMS se vuelve a habilitar, si el material de clave tiene una antigüedad superior a 365 días, AWS KMS la rota de forma inmediata y, posteriormente, cada 365 días. Si el material clave tiene una antigüedad inferior a 365 días, AWS KMS reanuda la programación original de rotación de claves.

  • Claves KMS pendientes de eliminación. Mientras una clave KMS está pendiente de eliminación, AWS KMS no la rota. El estado de rotación de clave se establece en false y no puede cambiarla mientras su eliminación está pendiente. Si se cancela la eliminación, se restaura el estado de rotación de clave anterior. Si el material de clave tiene una antigüedad superior a 365 días, AWS KMS la rota de forma inmediata y, posteriormente, cada 365 días. Si el material clave tiene una antigüedad inferior a 365 días, AWS KMS reanuda la programación original de rotación de claves.

  • Claves administradas por AWS No puede administrar la rotación de claves para Claves administradas por AWS . AWS KMS rota automáticamente las claves administradas por Claves administradas por AWS cada tres años (1095 días).

  • Claves propiedad de AWS . No puede administrar la rotación de claves para Claves propiedad de AWS . La estrategia de rotación de claves para una Clave propiedad de AWS se determina según el servicio de AWS que crea y administra la clave. Para obtener más detalles, consulte el tema Cifrado en reposo en la Guía del usuario o en la Guía para desarrolladores del servicio.

  • AWS Servicios de. Puede habilitar la rotación automática de claves en las claves administradas por el cliente que utilice para el cifrado en el lado del servidor en los servicios de AWS. La rotación anual es transparente y compatible con los servicios de AWS.

  • Claves de varias regiones. Puede habilitar y deshabilitar la rotación automática de claves paraClaves de varias regiones. La propiedad solo se establece en la clave principal. Cuando AWS KMS sincroniza las claves, copia el valor de la propiedad de la clave principal a sus claves de réplica. Cuando se rota el material de claves de la clave principal, AWS KMS copia automáticamente ese material de claves en todas sus claves de réplica. Para obtener más información, consulte Rotación de las claves de varias regiones .

  • Monitorización de la rotación de claves. Cuando AWS KMS rota automáticamente el material de claves para una Clave administrada por AWS o clave administrada por el cliente, escribe un evento KMS CMK Rotation en Amazon CloudWatch Events y un evento RotateKey en su registro AWS CloudTrail. Puede usar estos registros para comprobar que la clave KMS se ha rotado.

  • Tipos de claves KMS no compatibles. La rotación automática de claves no es compatible en los siguientes tipos de claves KMS, pero puede rotar estas claves KMS de forma manual.

  • Consistencia final La rotación automática de claves está sujeta a los mismos efectos de consistencia final que otras operaciones de administración de AWS KMS. Es posible que haya un ligero retraso antes de que el nuevo material de claves esté disponible en AWS KMS. Sin embargo, la rotación de material clave no causa ninguna interrupción o retraso en las operaciones criptográficas. El material clave actual se utiliza en operaciones criptográficas hasta que el nuevo material de claves esté disponible en toda la AWS KMS. Cuando el material de claves para una clave de varias regiones rota automáticamente, AWS KMS utiliza el material de claves actual hasta que el nuevo material de claves esté disponible en todas las regiones con una clave de varias regiones relacionada.

Cómo habilitar y deshabilitar la rotación automática de claves

Puede usar la consola de AWS KMS o la API de AWS KMS para habilitar y deshabilitar la rotación automática de claves y ver el estado de rotación de cualquier clave administrada por el cliente.

Al habilitar la rotación automática de claves, AWS KMS rota la clave KMS 365 días después de la fecha de habilitación y, posteriormente, cada 365 días.

Habilitar y deshabilitar la rotación de claves (consola)

  1. Inicie sesión en la AWS Management Console y abra la consola de AWS Key Management Service (AWS KMS) en https://console.aws.amazon.com/kms.

  2. Para cambiar la región de AWS, utilice el Region selector (Selector de regiones) en la esquina superior derecha de la página.

  3. En el panel de navegación, elija Customer managed keys (Claves administradas por el cliente). (No puede habilitar o deshabilitar la rotación de Claves administradas por AWS . Estas rotan cada tres años de forma automática).

  4. Elija el alias o el ID de clave de una clave KMS.

  5. Seleccione la pestaña Key Rotation (Rotación de teclas).

    La pestaña Key rotation (Rotación de claves) solo aparece en la página de detalles de las claves KMS simétricas con el material de claves generado por AWS KMS (la Fuente es AWS_KMS). No puede rotar de forma automática las claves KMS asimétricas, las claves KMS con material de claves importado, o las claves KMS en los almacenes de claves personalizados. Sin embargo, puede rotarlas manualmente.

  6. Seleccione o desmarque la casilla de verificación Automatically rotate this KMS key every year (Rotar esta clave KMS cada año de forma automática).

    nota

    Si una clave KMS está deshabilitada o pendiente de eliminación, la casilla de verificación Automatically rotate this KMS key every year (Rotar esta clave KMS cada año de forma automática) estará desmarcada y no podrá cambiarla. El estado de rotación de claves se restaura al volver a habilitar la clave KMS o al cancelar la eliminación. Para más detalles, consulte Funcionamiento de la rotación automática de claves y Estado de una clave: efecto en su clave KMS.

  7. Seleccione Save.

Habilitar y deshabilitar la rotación de claves (API de AWS KMS)

Puede utilizar la API de AWS Key Management Service(AWS KMS) para habilitar y deshabilitar la rotación automática de claves y ver el estado actual de rotación de cualquier clave administrada por el cliente. En estos ejemplos, se utiliza la AWS Command Line Interface (AWS CLI), pero puede usar cualquier lenguaje de programación admitido.

La operación EnableKeyRotation activa la rotación automática de claves para la clave KMS especificada. La operación DisableKeyRotation la deshabilita. Para identificar la clave KMS en estas operaciones, utilice el ID de la clave o el ARN de la clave. De forma predeterminada, la rotación de claves está desactivada para las claves KMS administradas por el cliente.

En el siguiente ejemplo, se activa la rotación de claves en la clave KMS simétrica especificada y se utiliza la operación GetKeyRotationStatus para ver el resultado. A continuación, se desactiva la rotación de claves y, de nuevo, se utiliza GetKeyRotationStatus para ver el cambio.

$ aws kms enable-key-rotation --key-id 1234abcd-12ab-34cd-56ef-1234567890ab $ aws kms get-key-rotation-status --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyRotationEnabled": true } $ aws kms disable-key-rotation --key-id 1234abcd-12ab-34cd-56ef-1234567890ab $ aws kms get-key-rotation-status --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyRotationEnabled": false }

Rotar manualmente las claves

Es posible que le interese crear una nueva clave KMS y utilizarla en sustitución de una clave KMS actual en lugar de activar la rotación automática de claves. Cuando la nueva clave KMS tiene diferente material criptográfico que la clave KMS actual, el uso de la nueva clave KMS tiene el mismo efecto que cambiar el material de clave de una clave KMS existente. El proceso de sustitución de una clave KMS por otra se denomina rotación manual de claves.

Tal vez prefiera rotar las claves manualmente para poder controlar la frecuencia de rotación. También es una buena solución para las claves KMS que no cumplen los requisitos para la rotación automática de claves, como las claves KMS asimétricas, las claves KMS en almacenes de claves personalizados y las claves KMS con material de claves importado.

nota

Cuando empiece a utilizar la nueva clave KMS, asegúrese de mantener la clave KMS original habilitada para que AWS KMS pueda descifrar los datos que cifró la clave KMS original.

Como la nueva clave KMS es un recurso diferente de la clave KMS actual, tiene un ID de clave y un ARN diferentes. Cuando cambia las claves KMS, debe actualizar las referencias al ID o al ARN de la clave KMS en sus aplicaciones. Los alias, que asocian un nombre descriptivo a una clave KMS, facilitarán este proceso. Utilice un alias para hacer referencia a una clave KMS en sus aplicaciones. Después, cuando desee cambiar la clave KMS que utiliza la aplicación, cambie la clave KMS de destino del alias. Para obtener más información, consulte Usar alias en las aplicaciones.

Para actualizar la clave KMS de destino de un alias, utilice la operación UpdateAlias en la API de AWS KMS. Por ejemplo, este comando actualiza el alias TestKey para apuntar hacia una nueva clave KMS. Como la operación no devuelve ningún resultado, en el ejemplo se utiliza la operación ListAliases para comprobar que el alias está asociado ahora a otra clave KMS y el campo LastUpdatedDate se actualiza.

$ aws kms list-aliases { "Aliases": [ { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/TestKey", "AliasName": "alias/TestKey", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1521097200.123, "LastUpdatedDate": 1521097200.123 }, ] } $ aws kms update-alias --alias-name alias/TestKey --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321 $ aws kms list-aliases { "Aliases": [ { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/TestKey", "AliasName": "alias/TestKey", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": 1521097200.123, "LastUpdatedDate": 1604958290.722 }, ] }