IBM Cloud Docs
Volver a envolver claves de cifrado de datos con claves raíz

Volver a envolver claves de cifrado de datos con claves raíz

Vuelva a cifrar las claves de cifrado de datos utilizando la API de servicio de gestión de claves IBM Cloud® Hyper Protect Crypto Services.

Cuando rote una clave raíz en Hyper Protect Crypto Services, el nuevo material de clave criptográfica estará disponible para proteger las claves de cifrado de datos (DEK) que están asociadas con la clave raíz. Con la API rewrap, puede volver a cifrar o volver a envolver DEKS sin exponer las claves en su formato de texto sin formato.

Para obtener información sobre cómo el cifrado de sobre le ayuda a controlar la seguridad de los datos en reposo en la nube, consulte Protección de datos con cifrado de sobre.

Cómo volver a envolver las claves utilizando la API

Puede volver a cifrar una clave de cifrado de datos (DEK) especificada con una clave raíz que gestione en Hyper Protect Crypto Services, sin exponer la DEK en el formato de texto sin formato.

Volver a envolver claves funciona combinando llamadas unwrap y wrap al servicio. Por ejemplo, puede emular una operación de rewrap llamando primero a la API unwrap API para acceder a una DEK, y después llamando a la API wrap para volver a cifrar la DEK utilizando el material de clave raíz más reciente.

Después de rotar una clave raíz en el servicio, puede volver a envolver una clave de cifrado de datos que está asociada con la clave raíz realizando una llamada POST al siguiente punto final.

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/rewrap
  1. Recupere sus credenciales de servicio y de autenticación para trabajar con claves en el servicio.

  2. Copie el ID de la clave raíz rotada que ha utilizado para realizar la solicitud inicial de envolvimiento.

    Puede recuperar el ID de una clave realizando una solicitud GET api/v2/keys o visualizando las claves en la interfaz de usuario.

  3. Copie el valor de ciphertext que se ha devuelto durante la última solicitud de envolvimiento.

  4. Vuelva a envolver la clave con el material de clave raíz más reciente ejecutando el siguiente mandato cURL.

    curl -X POST \
      'https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/rewrap' \
      -H 'accept: application/vnd.ibm.kms.key_action+json' \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H 'content-type: application/vnd.ibm.kms.key_action+json' \
      -H "x-kms-key-ring: <key_ring_ID>" \
      -H 'correlation-id: <correlation_ID>' \
      -d '{
      "ciphertext": "<encrypted_data_key>"
    }'
    

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

    Tabla 1. Describe las variables necesarias para volver a envolver claves en Hyper Protect Crypto Services.
    Variable Descripción
    region Obligatorio. La abreviatura de región, como us-south o eu-de, que representa el área geográfica donde reside la instancia de servicio de Hyper Protect Crypto Services. Para obtener más información, consulte Puntos finales de servicio regional.
    port Obligatorio. El número de puerto del punto final de API.
    key_ID Obligatorio. El identificador único de la clave raíz que ha utilizado para la solicitud inicial de envolvimiento.
    IAM_token Obligatorio. Su señal de acceso de IBM Cloud. Incluya el contenido completo de la señal IAM, incluido el valor de Bearer, en la solicitud cURL. Para obtener más información, consulte Recuperación de una señal de acceso.
    instance_ID Obligatorio. El identificador exclusivo que está asignado a su instancia de servicio de Hyper Protect Crypto Services. Para obtener más información, consulte Recuperación de un ID de instancia.
    key_ring_ID Opcional. El identificador exclusivo del conjunto de claves al que pertenece la clave. Si no se especifica, Hyper Protect Crypto Services buscará la clave en cada conjunto de claves asociado a la instancia especificada. Por lo tanto, se recomienda especificar el ID del conjunto de claves para una solicitud más optimizada.

    Nota: El ID del conjunto de claves que se ha creado sin una cabecera x-kms-key-ring es: default. Para obtener más información, consulte Gestionar conjuntos de claves.

    correlation_ID El identificador exclusivo que se ha utilizado para rastrear y correlacionar transacciones.
    encrypted_data_key Obligatorio. El valor ciphertext devuelto por la operación de envolvimiento original.

    La clave de cifrado de datos recién envuelta, la versión de clave original (keyVersion) asociada con el texto cifrado proporcionado y la última versión de clave (rewrappedKeyVersion) asociada al nuevo texto cifrado se devuelven en el cuerpo de la entidad de respuesta. El siguiente objeto JSON muestra un valor devuelto de ejemplo.

    {
      "ciphertext": "eyJjaX ... h0Ijoi ... c1ZCJ9",
      "keyVersion": {
        "id": "02fd6835-6001-4482-a892-13bd2085f75d"
      },
      "rewrappedKeyVersion": {
        "id": "12e8c9c2-a162-472d-b7d6-8b9a86b815a6"
      }
    }
    

    Almacene y utilice el nuevo valor ciphertext para futuras operaciones de cifrado de sobre, de modo que los datos queden protegidos por la clave raíz más reciente.