Rotación de claves

En esta página, se analiza la rotación de claves en Cloud Key Management Service. La rotación de claves es la mediante la creación de claves de encriptación nuevas para reemplazar las existentes. Si rotas las claves de encriptación con regularidad o después de eventos específicos, puedes reducir las posibles consecuencias de que se vea comprometida tu clave. Si deseas obtener instrucciones específicas para rotar una clave, consulta Rotación de claves.

¿Por qué rotar las claves?

En el caso de la encriptación simétrica, se recomienda usar el servicio de rotación de claves de manera periódica y automática como medida de seguridad. Algunos estándares de la industria, como las Normas de seguridad de datos para la industria de tarjetas de pago (PCI DSS), requieren la rotación regular de claves.

Cloud Key Management Service no admite la rotación automática de claves asimétricas. Consulta Consideraciones sobre las claves asimétricas a continuación.

La rotación de claves proporciona los siguientes beneficios:

  • Limitar la cantidad de mensajes encriptados con la misma versión de clave ayuda para evitar los ataques que permite el criptoanálisis. Las recomendaciones del ciclo de vida de la clave dependen del algoritmo de la clave, así como de la cantidad de mensajes producidos o de la cantidad total de bytes encriptados con la misma versión de clave. Por ejemplo, el ciclo de vida de clave recomendado para las claves de encriptación simétrica en modo Galois/contador (GCM) se basa en la cantidad de mensajes encriptados, como se indica en https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf.

  • En el caso de que una clave se vea comprometida, la rotación regular limita la cantidad de mensajes reales que sean vulnerables.

    Si sospechas que la versión de una clave está en peligro, inhabilítala y revoca el acceso a ella lo antes posible.

  • La rotación de claves periódica garantiza que tu sistema sea resiliente a la rotación manual, ya sea debido a una violación de seguridad o a la necesidad de migrar tu aplicación a un algoritmo de criptografía más sólido. Valida los procedimientos de rotación de claves. antes de que ocurra un incidente de seguridad real.

También puedes rotar una clave de forma manual, ya sea porque se vulneró su seguridad o para modificar tu aplicación y usar un algoritmo diferente.

Con qué frecuencia se deben rotar claves

Te recomendamos que rotes las claves automáticamente con regularidad. Un programa de rotación define la frecuencia de rotación, y, opcionalmente, la fecha y hora en que ocurre la primera rotación. El programa de rotación se puede basar en la antigüedad de la clave o en el número o el volumen de mensajes encriptados con una versión de clave.

Algunas reglamentaciones de seguridad requieren una rotación de claves automática y periódica. Automático la rotación de claves en un período definido, como cada 90 días, aumenta la seguridad con complejidad administrativa mínima.

También debes rotar una clave de forma manual si sospechas que se vulneró su seguridad o cuando los lineamientos de seguridad requieren que migres una aplicación a un algoritmo de claves más sólido. Puedes programar una rotación manual para una fecha y hora en el futuro. La rotación manual de una clave no pausa, modifica ni afecta una programación de rotación automática existente para la clave.

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

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 para poder usar la versión nueva de las claves asimétricas.

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

  • En el caso de las claves asimétricas que se usan para la encriptación, debes distribuir e incorporar la parte pública de la versión de clave nueva a las aplicaciones que encriptan datos y otorgar acceso a la parte privada para las aplicaciones que desencriptan datos.

¿Qué sigue?