En este tema, se trata la información conceptual sobre la importación de claves en Cloud Key Management Service como versiones de claves nuevas. Para obtener instrucciones paso a paso, consulta Cómo importar una versión de clave.
Introducción
Es posible que uses claves criptográficas existentes que se crearon en tu entorno local o en un sistema de administración de claves externo. Si migras una aplicación a Google Cloud o si agregas asistencia criptográfica a una aplicación existente de Google Cloud, puedes importar las claves relevantes a Cloud KMS.
- Puedes importar a claves de Cloud HSM o claves de software en Cloud KMS.
- El material de la clave se une para brindar protección en tránsito. Puedes usar Google Cloud CLI para unir la clave de forma automática o puedes unir la clave de forma manual.
- Google Cloud tiene acceso a la clave de unión solo dentro del permiso de trabajo de importación. Para las claves de Cloud HSM, la clave de unión nunca reside fuera de Cloud HSM.
En este tema, se proporcionan detalles sobre las limitaciones y los requisitos para importar claves y se proporciona una descripción general de cómo funciona la importación de claves.
Limitaciones y requisitos
Revisa estas secciones para verificar que tus claves se puedan importar a Cloud KMS o a claves de Cloud HSM.
Formatos de claves compatibles
Las claves simétricas para la encriptación deben ser de 16 bytes (solo para la encriptación simétrica sin procesar) o de 32 bytes de datos binarios, y no deben estar codificadas. Si tu clave está codificada en hexadecimal o en base64, debes decodificarla antes de intentar importarla.
Las claves simétricas para firmar (claves MAC) deben tener una longitud igual a la longitud de salida de la función de hash criptográfica que se usa (por ejemplo, las claves HMAC-SHA256 deben tener una longitud de 32 bytes) y no se deben codificar. Si tu clave está codificada en hexadecimal o en base64, debes decodificarla antes de intentar importarla.
Las claves asimétricas para encriptación o firma deben estar en formato PKCS #8 y deben estar codificadas en DER. El formato PCKS #8 se define en RFC 5208. La codificación DER se define en Unión Internacional de Telecomunicaciones X.680. Las claves asimétricas deben usar una de las combinaciones de longitud y algoritmo compatibles con Cloud KMS.
Algunos aspectos de una clave, como su longitud, no se pueden cambiar después de la creación de la clave. En estos casos, la clave no se puede importar a Cloud KMS.
Si deseas verificar y cambiar el formato de tu clave para importarla, consulta Dale formato a tus claves para su importación.
Niveles de protección admitidos
Puedes importar una clave a una clave de Cloud KMS o a una clave de Cloud HSM si configuras el nivel de protección de la clave en SOFTWARE
o HSM
. Las claves de Cloud HSM generan costos adicionales. No puedes importar a una clave de Cloud External Key Manager (una clave con nivel de protección EXTERNAL
).
Tamaños de clave de unión compatibles
Cuando creas un trabajo de importación, puedes controlar el tamaño de la clave de unión que se usa para proteger tu clave en tránsito a Google. Para ello, configura el método de importación del trabajo de importación. El tamaño predeterminado para la clave de unión es 3,072. Si tienes requisitos específicos, puedes configurar que el trabajo de importación use una clave de 4,096 bits en su lugar.
Puedes obtener más información sobre los algoritmos usados para la unión de claves o sobre cómo configurar un trabajo de importación.
Cómo funciona la importación de claves
En esta sección, se ilustra lo que sucede cuando se importa una clave. Algunas partes del flujo son diferentes si usas la unión automática o la unión manual. Se recomienda usar la unión automática. Para obtener instrucciones específicas, consulta Importa una versión de clave. Si deseas obtener instrucciones específicas para unir manualmente tu clave antes de la importación, consulta Cómo unir una clave con OpenSSL en Linux.
En el siguiente diagrama, se ilustra el proceso de importación de claves con el enlace de claves automático. Las fases que se muestran en el diagrama se describen en esta sección.
Prepárate para importar claves.
Primero, crea un llavero de claves y una clave de destino que contendrán el trabajo de importación y el material de clave importado. En este punto, la clave de destino no contiene versiones de claves.
Luego, crea un trabajo de importación. El trabajo de importación define el llavero de claves y la clave de destino para el material de clave importado. El trabajo de importación también define el método de importación, que es el algoritmo que se usa para crear la clave de unión que protege el material de la clave durante las solicitudes de importación.
- La clave pública se usa para unir la clave que se importará en el cliente.
- La clave privada se almacena dentro de Google Cloud y se usa para separar la clave una vez que llega al proyecto de Google Cloud.
Esta separación evita que Google pueda separar tu material de clave fuera del permiso de trabajo de importación.
La clave se debe unir de manera criptográfica antes de transmitirla a Google. La mayoría de los usuarios pueden usar gcloud CLI para unir, transmitir y, luego, importar la clave de forma automática, como se describe en el siguiente paso. Si tienes requisitos normativos o de cumplimiento para unir la clave de forma manual, puedes hacerlo en este momento. Para unir la clave de forma manual en el sistema local, haz lo siguiente:
- Configura OpenSSL.
- Una vez por trabajo de importación, descarga la clave de unión asociada con el trabajo de importación.
- Una vez por clave, configura múltiples variables de entorno y une la clave.
Durante tres días, hasta que el trabajo de importación venza, puedes usarlo para realizar solicitudes de importación y así importar una o más claves. Durante una solicitud de importación, haz lo siguiente:
- Si no se unió la clave de forma manual, Google Cloud CLI descarga la clave pública del trabajo de importación de Google Cloud al sistema local y, luego, usa la clave pública junto con una clave privada asociada al cliente para unir el material de claves local.
- El material de la clave unido se transmite al proyecto de Google Cloud.
- El material de la clave se separa con la clave privada del trabajo de importación y se inserta como una versión nueva de la clave de destino en el llavero de claves de destino. Esta es una operación atómica.
- En el caso de las claves simétricas, debes configurar la versión de la clave importada como la versión de clave principal.
Una vez que la solicitud de importación se complete de forma correcta, puedes usar la versión de la clave importada para proteger los datos en Google Cloud.
¿Qué sigue?
- Importa una versión de clave
- Encripta y desencripta datos con una clave simétrica
- Encripta y desencripta datos con una clave asimétrica
- Más información sobre la creación y validación de firmas digitales