Importación de claves

En este tema, se incluye información conceptual sobre la importación de claves en Cloud Key Management Service. Para obtener instrucciones paso a paso, consulta Importa una clave.

Introducción

Es posible que estés usando 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 de Google Cloud existente, puedes importar las claves relevantes a Cloud KMS.

  • Puedes importar en claves de Cloud HSM o claves de software en Cloud KMS.
  • El material de claves está unido para protegerlo en tránsito. Puedes usar la herramienta de línea de comandos de gcloud para unir la clave de forma automática o unirla de forma manual.
  • Google Cloud tiene acceso a la clave de unión solo dentro del alcance del 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 brinda 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 las claves de Cloud HSM.

Formatos de clave compatibles

  • Las claves simétricas para la encriptación deben ser 32 bytes de datos binarios y no se deben codificar. Si la clave está codificada en formato hexadecimal o en formato Base64, debes decodificarla antes de intentar importarla.

  • Las claves simétricas para firmas (claves MAC) deben tener una longitud igual a la longitud de salida de la función de hash criptográfica que se usa (p. ej., las claves HMAC-SHA256 deben tener una longitud de 32 bytes). y no debe estar codificada. Si la clave está codificada en formato hexadecimal o en formato Base64, debes decodificarla antes de intentar importarla.

  • Las claves asimétricas para la encriptación o la firma deben estar en formato PKCS #8 y con codificación DER. El formato PCKS n.o 8 se define en RFC 5208. La codificación DER se define en International Telecommunications Union X.680 (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 crearla. En estos casos, la clave no se puede importar a Cloud KMS.

Si deseas verificar tu clave y cambiarle el formato para la importación, consulta Da formato a tus claves para su importación.

Niveles de protección compatibles

Puedes importar una clave como clave de Cloud KMS o clave de Cloud HSM si configuras el nivel de protección de la clave en SOFTWARE o HSM , Las claves de Cloud HSM incurren en 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 mediante la configuración del método de importación del trabajo de importación. El tamaño predeterminado para la clave de unión es 3072. Si tienes requisitos específicos, puedes configurar el trabajo de importación para que use una clave de 4096 bits.

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 importas una clave. Algunas partes del flujo son diferentes si usas la unión automática o la clave de forma manual. Se recomienda usar el ajuste automático. Para obtener instrucciones específicas, consulta Importa una clave. Si quieres obtener instrucciones específicas para unir tu clave de forma manual 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 mediante la unión automática de claves. Las fases que se muestran en el diagrama se describen en esta sección.

Flujo de importación, que se describe más adelante en esta sección.

  1. Prepárate para importar claves.

    1. 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.

    2. 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 la clave importada. 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á al cliente.
      • La clave privada se almacena en Google Cloud y se usa para desunir la clave después de que llega al proyecto de Google Cloud.

      Esta separación evita que Google pueda separar el material de tus claves fuera del alcance del trabajo de importación.

    3. La clave se debe unir de forma criptográfica antes de transmitirla a Google. La mayoría de los usuarios pueden usar la herramienta de gcloud para unir, transmitir e 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, sigue estos pasos:

      1. Configura OpenSSL.
      2. Una vez por trabajo de importación, descarga la clave de unión asociada al trabajo de importación.
      3. Una vez por clave, configura varias variables de entorno y une la clave.
  2. Durante un máximo de tres días, hasta que el trabajo de importación se venza, puedes usarlo para realizar solicitudes de importación a fin de importar una o más claves. Durante una solicitud de importación, haz lo siguiente:

    1. Si no se unió la clave de forma manual, el SDK de Cloud 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.
    2. El material de clave unido se transmite al proyecto de Google Cloud.
    3. 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.
    4. En el caso de las claves simétricas, debes configurar la clave importada como la versión de clave primaria.

Una vez que la solicitud de importación se completa de forma correcta, puedes usar la clave importada para proteger los datos en Google Cloud.

¿Qué sigue?