Importación de claves

En este tema, se abarca 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 Importa 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 automáticamente o puedes 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 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 encriptación simétrica sin procesar) o 32 bytes de datos binarios y no deben estar codificadas. Si tu clave está codificada en formato 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 formato 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 de Cloud KMS o 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 quieres obtener instrucciones específicas para unir tu clave de forma manual antes de la importación, consulta Une 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 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 la clave importado. En este punto, la clave de destino no contiene versiones de clave.

    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 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 en Google Cloud y se usa para separar la clave después de que llega al proyecto de Google Cloud.

      Esta separación evita que Google pueda separar tu material de clave fuera del alcance del trabajo de importación.

    3. 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 e importar automáticamente la clave, como se describe en el siguiente paso. Si tienes requisitos regulatorios 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:

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

    1. Si la clave no se unió 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 con el cliente, para unir el material de la clave local.
    2. El material de la 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 versión de clave importada como la versión de clave primaria.

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

¿Qué sigue?