Importación de claves raíz

Puede utilizar IBM® Key Protect for IBM Cloud® para proteger y gestionar las claves raíz existentes importándolas.

Las claves raíz son claves para envolver claves simétricas que se utilizan para proteger la seguridad de los datos cifrados en la nube. Para obtener más información sobre la importación de claves en Key Protect, consulte Cómo traer las claves de cifrado a la nube.

Planifique la importación de claves revisando las opciones para crear y cifrar el material de claves. Para una mayor seguridad, puede habilitar la importación segura del material de claves utilizando una señal de importación para cifrar el material de claves antes de traerlo a la nube.

Importación de claves raíz con la consola

Después de crear una instancia del servicio, siga los siguientes pasos para importar una clave con la consola de IBM Cloud.

Si habilita los valores de autorización dual para la instancia de Key Protect, tenga en cuenta que cualquier clave que añada al servicio necesita una autorización de dos usuarios para suprimir claves.

  1. Inicia sesión en la consola de IBM Cloud.

  2. Vaya a Menú > Lista de recursos para ver una lista de sus recursos.

  3. Desde la lista de recursos de IBM Cloud seleccione su instancia suministrada de Key Protect.

  4. Para importar una clave, haz clic en « Añadir » y selecciona la ventana « Importar clave ».

    Especifique los detalles de la clave:

Describe la configuración de Importar sus propias teclas.
Valor Descripción
Tipo de clave El Tipo de clave que desea gestionar en Key Protect. Seleccione el botón Clave raíz.
Nombre Utilice un alias legible para identificar la clave fácilmente. La longitud debe tener entre 2 - 90 caracteres (inclusive).

Para proteger su privacidad, asegúrese de que el nombre de clave no contiene información de identificación personal (PII), como el nombre o la ubicación. Tenga en cuenta que los nombres de clave no necesitan ser exclusivos.
Material de clave Material de clave codificado en base64 como, por ejemplo, una clave para envolver claves existentes, que desee almacenar y gestionar en el servicio. Para obtener más información, consulte Codificación en base64 del material de clave. Asegúrese de que el material de la clave tiene 16, 24 o 32 bytes de longitud y corresponde a 128, 192 o 256 bits de longitud. La clave también debe estar codificada en base64.
Descripción de clave Opcional. Las descripciones son una forma útil de añadir información sobre una clave (por ejemplo, una frase que describe su propósito) de una manera que no es posible hacer utilizando un alias o su nombre. Esta descripción debe tener al menos dos caracteres y no más de 240, y no se puede cambiar más tarde. Para proteger tu privacidad, no utilices datos personales, como tu nombre o tu ubicación, como descripción de tu clave.
Alias de clave Opcional. Los alias de clave son una forma de describir una clave que permite identificarlas y agruparlas más allá de los límites de un nombre de visualización. Las claves pueden tener hasta cinco alias.
Conjunto de claves Opcional. Los conjuntos de claves son agrupaciones de claves que permiten que esas agrupaciones se gestionen de forma independiente, según sea necesario. Cada tecla debe formar parte de un conjunto de claves. Si no se selecciona ningún conjunto de claves, las claves se colocan en el conjunto de claves default. Tenga en cuenta que para colocar la clave que está creando en un anillo de claves, debe tener el rol de Gestor sobre ese anillo de claves. Para obtener más información sobre los roles, consulte Gestión del acceso de usuario.

Cuando hayas terminado de rellenar los datos de la clave, haz clic en «Añadir» para confirmar.

Si eres el administrador de un llavero concreto, puedes añadir una clave directamente desde el panel « Llaveros ». En el menú de acciones del llavero (⋯), haz clic en « Añadir nueva clave ». Se abre el mismo panel que cuando haces clic en «Añadir» en la página «Claves», pero el campo «Llavero» ya aparece rellenado con el nombre del llavero seleccionado.

Si necesita importar y gestionar claves raíz de forma coherente en todas las cuentas o entornos, puede automatizarlo con el módulo Key Protect Key. Si desea una configuración completa que incluya la instancia Key Protect y los llaveros, consulte el módulo Key Protect con todo incluido. Para obtener una visión general, consulte Terraform IBM Modules.

Importación de claves raíz con la API

Puede importar claves simétricas a Key Protect realizando una llamada POST al siguiente punto final.

https://<region>.kms.cloud.ibm.com/api/v2/keys
  1. Recupere sus credenciales de servicio y de autenticación para trabajar con claves en el servicio.

  2. Llame a la APIKey Protect con el siguiente mandato curl.

    $ curl -X POST \
        "https://<region>.kms.cloud.ibm.com/api/v2/keys" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "content-type: application/vnd.ibm.kms.key+json" \
        -d '{
                "metadata": {
                    "collectionType": "application/vnd.ibm.kms.key+json",
                    "collectionTotal": 1
                },
                "resources": [
                    {
                        "type": "application/vnd.ibm.kms.key+json",
                        "name": "<key_name>",
                        "aliases": [alias_list],
                        "description": "<key_description>",
                        "expirationDate": "<expiration_date>",
                        "payload": "<key_material>",
                        "extractable": <key_type>
                    }
                ]
            }'
    

    Sustituya las variables de la solicitud de ejemplo de acuerdo con la siguiente tabla.

Describe las variables necesarias para añadir una clave raíz con la API de Key Protect
Variable Descripción
región Obligatorio. La abreviatura de la región, como us-south o eu-gb, que representa el área geográfica en la que se encuentra tu instancia de Key Protect.

Para obtener más información, consulta « Puntos de servicio regionales ».
IAM_token Obligatorio. Su señal de acceso de IBM Cloud. Incluya el contenido completo de la señal IAM, incluido el valor Bearer, en la solicitud curl.

Para obtener más información, consulta Obtención de un token de acceso.
instance_ID Obligatorio. El único identificador que está asignado a su instancia de servicio de Key Protect.

Para obtener más información, consulta «Cómo recuperar un ID de instancia ».
correlation_ID El identificador exclusivo que se ha utilizado para rastrear y correlacionar transacciones.
return_preference Cabecera que altera el comportamiento del servidor para las operaciones POST y DELETE.

Cuando establece la variable return_preference en return=minimal, el servicio sólo devuelve los metadatos de clave, como el nombre de clave y el valor de ID, en el cuerpo-entidad de la respuesta. Cuando establece la variable en return=representation, el servicio devuelve tanto el material de la clave como los metadatos de la clave.
key_name Obligatorio. Nombre descriptivo exclusivo para identificar con facilidad su clave. Para proteger su privacidad, no almacene datos personales como metadatos para la clave.
lista_alias Opcional. Uno o varios alias exclusivos legibles asignados a su clave.

Importante: Para proteger su privacidad, no almacene datos personales como metadatos para la clave.

Cada alias debe ser alfanumérico, distinguir entre mayúsculas y minúsculas, y no puede contener espacios ni caracteres especiales, salvo «-» o «_». El alias no puede ser un UUID y no debe ser uno de los nombres reservados de Key Protect: allowed_ip, key, keys, metadata, policy, policies, registration, registrations, ring, rings, rotate, wrap, unwrap, rewrap, version, versions.
key_description Opcional. Una descripción ampliada para su clave. Para proteger su privacidad, no almacene datos personales como metadatos para la clave.
expiration_date Opcional. La fecha y hora en que la clave caduca en el sistema, en formato RFC 3339 (YYYY-MM-DD HH:MM:SS.SS, por ejemplo 2019-10-12T07:20:50.52Z). La clave pasará al estado desactivado en un plazo de una hora tras la fecha de caducidad de la clave. Si se omite el atributo expirationDate, la clave no caduca.
material_clave Obligatorio. El material de la clave codificado en base64, una clave de envoltura de claves existente, que desea almacenar y gestionar en el servicio. Para obtener más información, visita Base64 codificación de tu material de clave.

Asegúrese de que el material de clave cumple los siguientes requisitos:
Una clave estándar puede tener un tamaño máximo de 7.500 bytes. La clave debe estar codificada en base64.
key_type Valor booleano que determina si el material de clave puede dejar el servicio.

Cuando se establece el atributo «extractable» en « false », el servicio designa la clave como clave raíz, que se puede utilizar para operaciones de empaquetado o desempaquetado.

Para proteger la confidencialidad de sus datos personales, evite especificar información de identificación personal (PII), como el nombre o la ubicación, cuando añades claves al servicio.

Una respuesta POST api/v2/keys satisfactoria devuelve el valor del ID para la clave, junto con otros metadatos. El ID es un identificador exclusivo que se asigna a su clave y que posteriores llamadas lo utilizan para la API de Key Protect.

Opcional: Verifique que la clave se ha añadido ejecutando la llamada siguiente para examinar las claves en la instancia de servicio Key Protect.

$ curl -X GET \
    "https://<region>.kms.cloud.ibm.com/api/v2/keys" \
    -H "accept: application/vnd.ibm.collection+json" \
    -H "authorization: Bearer <IAM_token>" \
    -H "bluemix-instance: <instance_ID>"

Codificación en base64 del material de clave

Cuando importe una clave raíz existente, es necesario incluir el material de clave cifrado que desea almacenar y gestionar en el servicio.

Utilización de OpenSSL para cifrar material de clave existente

Siga este proceso para cifrar el contenido de un material de clave en un archivo.

  1. Descargue e instale OpenSSL.

  2. Codifique en base64 la serie de material de la clave ejecutando el mandato siguiente:

    openssl base64 -in <infile> -out <outfile>
    

    Sustituya las variables de la solicitud de ejemplo de acuerdo con la siguiente tabla.

Describe las variables necesarias para base64-encode tu material de claves.
Variable Descripción
infile El nombre del archivo en el que reside la serie del material de clave. Asegúrese de que la clave tenga una longitud de 16, 24 o 32 bytes, lo que corresponde a una longitud de 128, 192 o 256 bits. La clave debe estar codificada en base64.
outfile El nombre del archivo en el que el material de clave codificado en base64 se creará una vez que se haya ejecutado el mandato.

Si desea generar el material en base64 en la línea de mandatos directamente, en lugar de en un archivo, emita openssl enc -base64 <<< '<key_material_string>', donde key_material_string es la entrada de material de clave para la clave importada.

Utilización de OpenSSL para crear y codificar material de clave nuevo

Utilice este proceso para crear un material de clave aleatorio codificado en base64 con una longitud de bytes específica. Se recomiendan 32 bytes (256 bits).

  1. Descargue e instale OpenSSL.

  2. Codifique en base64 la serie de material de la clave ejecutando el mandato siguiente:

    openssl rand -base64 <byte_length>
    

    Sustituya la variable de la solicitud de ejemplo siguiendo la siguiente tabla.

Describe la variable que se necesita para crear y codificar un nuevo material de clave.
Variable Descripción
longitud_byte La longitud de la clave, medida en bytes. Las longitudes de bytes aceptables son de 16, 24 o 32 bytes, correspondientes a una longitud de 128, 192 o 256 bits. La clave debe estar codificada en base64.

Ejemplos de creación de material de clave

  1. openssl rand -base64 16 generará un material de clave de 128 bits.

  2. openssl rand -base64 24 generará un material de clave de 192 bits.

  3. openssl rand -base64 32 generará un material de clave de 256 bits.

Qué hacer a continuación