Rotación de claves

En esta página se explica la rotación de claves en Cloud Key Management Service. La rotación de claves es el proceso de crear nuevas claves de cifrado para sustituir las que ya tienes. Si rotas tus claves de cifrado de forma periódica o después de eventos específicos, puedes reducir las posibles consecuencias de que se vea comprometida tu clave. Para obtener instrucciones específicas sobre cómo rotar una clave, consulta Rotar claves.

¿Por qué rotar las claves?

En el caso del cifrado simétrico, se recomienda rotar las claves periódicamente y de forma automática. Algunos estándares del sector, como la normativa de seguridad de datos del sector de las tarjetas de pago (PCI DSS), requieren la rotación periódica de las claves.

Cloud Key Management Service no admite la rotación automática de claves asimétricas. Consulta las consideraciones sobre las claves asimétricas de este documento.

La rotación de claves ofrece varias ventajas:

  • Limitar el número de mensajes encriptados con la misma versión de clave ayuda a evitar ataques habilitados por criptoanálisis. Las recomendaciones sobre la duración de las claves dependen del algoritmo de la clave, así como del número de mensajes producidos o del número total de bytes cifrados con la misma versión de la clave. Por ejemplo, el tiempo de vida recomendado de las claves de cifrado simétrico en el modo Galois/Counter (GCM) se basa en el número de mensajes cifrados, tal como se indica en https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf.

  • En caso de que se vulnere una clave, la rotación periódica limita el número de mensajes reales vulnerables.

    Si sospechas que una versión de la clave se ha visto comprometida, inhabilítala y revoca su acceso lo antes posible.

  • La rotación periódica de claves asegura que tu sistema sea resistente a la rotación manual, ya sea debido a una brecha de seguridad o a la necesidad de migrar tu aplicación a un algoritmo criptográfico más seguro. Valida tus procedimientos de rotación de claves antes de que se produzca un incidente de seguridad real.

También puedes rotar una clave manualmente, ya sea porque se ha visto comprometida o para modificar tu aplicación de forma que use otro algoritmo.

Con qué frecuencia se deben rotar las claves

Te recomendamos que rotes las claves automáticamente de forma periódica. Una programación de rotación define la frecuencia de rotación y, opcionalmente, la fecha y la hora en las que se produce la primera rotación. La programación de la rotación puede basarse en la antigüedad de la clave o en el número o el volumen de mensajes cifrados con una versión de la clave.

Algunas normativas de seguridad exigen que las claves se roten de forma periódica y automática. La rotación automática de claves en un periodo definido, como cada 90 días, aumenta la seguridad con una complejidad administrativa mínima.

También debes rotar una clave manualmente si sospechas que se ha vulnerado o cuando las directrices de seguridad te obliguen a migrar una aplicación a un algoritmo de clave más seguro. Puedes programar una rotación manual para una fecha y una hora futuras. La rotación manual de una clave no pausa, modifica ni afecta de ningún otro modo a la programación de rotación automática de la clave.

No confíes en la rotación irregular o manual como componente principal de la seguridad de tu aplicación.

Después de rotar las claves

Al rotar las claves, se crean versiones de claves activas, pero no se vuelve a encriptar los datos ni se inhabilitan o eliminan las versiones de claves anteriores. Las versiones de claves anteriores siguen activas y generan costes hasta que se destruyen. Al volver a encriptar los datos, ya no dependerás de las versiones antiguas de las claves, por lo que podrás destruirlas para evitar incurrir en costes adicionales. Para saber cómo volver a cifrar tus datos, consulta Volver a cifrar datos.

Antes de destruir una versión de una clave, debes asegurarte de que ya no se esté usando.

Consideraciones sobre las claves asimétricas

Cloud KMS no admite la rotación automática de claves asimétricas, ya que se requieren pasos adicionales antes de poder usar la nueva versión de la clave asimétrica.

  • En el caso de las claves asimétricas que se usan para firmar, debes distribuir la parte de clave pública de la nueva versión de la clave. Después, puedes especificar la nueva versión de la clave en las llamadas al método CryptoKeyVersions.asymmetricSign para crear una firma y actualizar las aplicaciones para que usen la nueva versión de la clave.

  • En el caso de las claves asimétricas que se usan para el cifrado, debes distribuir e incorporar la parte pública de la nueva versión de la clave en las aplicaciones que cifran datos, así como conceder acceso a la parte privada de la nueva versión de la clave a las aplicaciones que descifran datos.

Siguientes pasos