En este tema se muestra cómo volver a cifrar datos con una clave simétrica de Cloud Key Management Service. Puedes adaptar estos ejemplos para claves asimétricas. Si sospechas que se está usando una clave sin autorización, debes volver a encriptar los datos protegidos por esa clave y, a continuación, inhabilitar o programar la eliminación de la versión anterior de la clave.
Antes de empezar
Este caso requiere las siguientes condiciones.
Ya has encriptado datos con Cloud KMS.
La versión de la clave utilizada para el cifrado no está inhabilitada, programada para su destrucción ni destruida. Esta versión de la clave se usa para descifrar los datos cifrados.
Ya has cambiado las claves. La rotación de claves crea una nueva versión de clave principal. Usa la nueva versión de la clave principal para volver a cifrar los datos.
Volver a encriptar datos con claves asimétricas
En los ejemplos de este tema se muestra cómo volver a cifrar datos con una clave simétrica. Cuando usas una clave simétrica, Cloud KMS deduce automáticamente la versión de la clave que se debe usar para el desencriptado. Cuando usas una clave asimétrica, debes especificar la versión de la clave.
- Cuando sigas las instrucciones para usar Google Cloud CLI, incluye siempre la marca
--version. - Cuando sigas las instrucciones para usar la API, utiliza
CryptoKeyVersionsen lugar deCryptoKeys. Puedes consultar más información sobre cómo encriptar y desencriptar datos con una clave asimétrica.
El flujo de trabajo para volver a encriptar datos con claves asimétricas es similar al que se describe en este tema.
Flujo de trabajo para volver a cifrar datos
Siga estos pasos para volver a cifrar los datos y para inhabilitar o programar la destrucción de la versión de la clave que se usó para el cifrado original.
Vuelve a cifrar los datos con la nueva versión de la clave principal
Inhabilitar o programar la destrucción de la versión de clave anterior
Descifrar los datos con la versión anterior de la clave
Cloud KMS usa automáticamente la versión de clave correcta para desencriptar datos, siempre que la versión de clave no esté inhabilitada, programada para su destrucción o destruida. En los siguientes ejemplos se muestra cómo descifrar los datos. Es el mismo código de descifrado que se usa en Cifrado y descifrado.
gcloud
Para usar Cloud KMS en la línea de comandos, primero instala o actualiza a la versión más reciente de la CLI de Google Cloud.
gcloud kms decrypt \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--ciphertext-file FILE_TO_DECRYPT \
--plaintext-file DECRYPTED_OUTPUT
Haz los cambios siguientes:
KEY_NAME: el nombre de la clave que quieras usar para el descifrado.KEY_RING: el nombre del conjunto de claves que contiene la clave.LOCATION: la ubicación de Cloud KMS que contiene el conjunto de claves.FILE_TO_DECRYPT: la ruta al archivo que quieres descifrar.DECRYPTED_OUTPUT: la ruta en la que quieres guardar el resultado descifrado.
Para obtener información sobre todas las marcas y los valores posibles, ejecuta el comando con la marca --help.
C#
Para ejecutar este código, primero debes configurar un entorno de desarrollo de C# e instalar el SDK de Cloud KMS para C#.
Go
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Go e instalar el SDK de Go de Cloud KMS.
Java
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Java e instalar el SDK de Java de Cloud KMS.