IBM Cloud Docs
Rotación manual de claves raíz

Rotación manual de claves raíz

Puedes rotar tu claves raízA symmetric wrapping key that is used for encrypting and decrypting other keys that are stored in a data service. bajo demanda mediante el usoIBM Cloud®Hyper Protect Crypto Services.

Cuando se rota la clave raíz, se acorta el tiempo de vida de la clave y se limita la cantidad de información que protege dicha clave.

Para obtener información sobre como la rotación de claves le ayuda a cumplir los estándares del sector y las mejores prácticas en criptografía, consulte Rotación de claves.

Rotación de claves raíz en la interfaz de usuario

Si prefiere rotar sus claves raíz mediante una interfaz gráfica, puede utilizar la interfaz de usuario.

Después de crear o importar sus claves raíz existentes en el servicio, complete los siguientes pasos para rotar una clave:

  1. Inicie sesión en la interfaz de usuario.

  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 Hyper Protect Crypto Services.

  4. En la página Claves KMS, utilice la tabla Claves para explorar las claves de su servicio.

  5. Seleccione la clave que desea rotar y pulse el icono Acciones Icono Acciones para abrir una lista de opciones para la clave.

  6. En el menú de opciones, pulse Rotar clave.

    Si inicialmente ha proporcionado el material de clave para la clave, especifique el nuevo material de clave codificado base64 que desea almacenar y gestionar en el servicio. Asegúrese de que el material de la clave cumple los requisitos siguientes:

    • Debe ser de 128, 192 o 256 bits.
    • Los bytes de datos, por ejemplo, 32 bytes para 256 bits, se deben codificar en base64.
  7. Pulse Rotar clave para confirmar.

Rotación de claves raíz con la API

Puede rotar una 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/rotate
  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 que desea rotar.

    Puede encontrar el ID de una clave en su instancia de servicio haciendo clic en recuperando una lista de sus claves, o accediendo a la interfaz de usuario.

  3. Sustituya la clave por el nuevo material de clave con el siguiente mandato cURL.

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

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

    Tabla 2. Describe las variables necesarias para rotar una clave específica enHyper Protect Crypto Services
    Variable Descripción
    region Obligatorio. La abreviatura de región, como us-south o au-syd, que representa el área geográfica donde reside su 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. Identificador exclusivo para la clave raíz que desea rotar.
    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.

    key_material

    Opcional. El nuevo material de clave codificado en base64 que desea almacenar y gestionar en el servicio. Este valor es necesario si inicialmente importó el material de clave cuando añadió la clave al servicio.

    Para rotar una clave que fue generada inicialmente porHyper Protect Crypto Services, omitir el payload atributo y pasar un cuerpo de entidad de solicitud vacío. Para rotar una clave importada, proporcione un material de clave que cumpla con los siguientes requisitos:

    • La clave debe ser de 128, 192 o 256 bits.
    • Los bytes de datos, por ejemplo, 32 bytes para 256 bits, se deben codificar en base64.

    Una solicitud de rotación correcta devuelve una respuesta HTTP 204 No Content, que indica que la clave raíz se ha sustituido por material de clave nuevo.

  4. Opcional: Verifique que la clave se ha rotado ejecutando la siguiente llamada para examinar las claves en su instancia de servicio de Hyper Protect Crypto Services.

    curl -X GET \
    https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys \
    -H 'accept: application/vnd.ibm.collection+json' \
    -H 'authorization: Bearer <IAM_token>' \
    -H 'bluemix-instance: <instance_ID>' \
    

    Revise el valor lastRotateDate en el cuerpo de entidad de respuesta para comprobar la fecha y hora en que se rotó la clave por última vez.

    {
      "metadata": {
        "collectionType": "application/vnd.ibm.kms.key+json",
        "collectionTotal": 1
      },
      "resources": [
        {
          "type": "application/vnd.ibm.kms.key+json",
          "id": "02fd6835-6001-4482-a892-13bd2085f75d",
          "name": "test-root-key",
          "state": 1,
          "extractable": false,
          "crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d",
          "imported": false,
          "creationDate": "2020-03-12T03:50:12Z",
          "createdBy": "...",
          "algorithmType": "AES",
          "algorithmMetadata": {
            "bitLength": "256",
            "mode": "CBC_PAD"
          },
          "algorithmBitSize": 256,
          "algorithmMode": "CBC_PAD",
          "lastUpdateDate": "2020-03-12T03:50:12Z",
          "lastRotateDate": "2020-03-12T03:49:01Z",
          "keyVersion": {
            "id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
            "creationDate": "2020-03-12T03:50:12Z"
          },
          "dualAuthDelete": {
            "enabled": false
          },
          "deleted": false
        }
      ]
    }
    

    El atributo keyVersion contiene información de identificación que describe la versión más reciente de la clave raíz.

    También puede listar las versiones que hay disponibles de la clave utilizando la API de servicio de gestión de claves Hyper Protect Crypto Services. Para obtener más información, consulte Visualización de versiones de clave.

Utilización de una señal de importación para rotar una clave

Si inicialmente ha importado una clave raíz mediante una señal de importación, puede rotar la clave realizando una llamada POST al punto final siguiente.

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

    Para rotar una clave, debe tener asignada una política de acceso de Escritor o Gestor para la instancia o clave. Para saber cómo se correlacionan los roles de IAM con las acciones del servicio Hyper Protect Crypto Services, consulte Roles de acceso al servicio.

  2. Recupere el ID de la clave que desea rotar.

    Puede recuperar el ID de una clave específica realizando una GET /v2/keys solicitud, o viendo sus claves en la interfaz de usuario.

  3. Cree y recupere una señal de importación.

  4. Utilice la señal de importación para cifrar el material de clave que desea utilizar para rotar la clave existente.

    Para aprender a utilizar una señal de importación, consulte la Guía de aprendizaje: Creación e importación de claves de cifrado.

  5. Sustituya la clave existente por el nuevo material de clave con el siguiente mandato cURL.

    curl -X POST \
      https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/rotate \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H 'accept: application/vnd.ibm.kms.key_action+json' \
      -H 'content-type: application/vnd.ibm.kms.key_action+json' \
      -d '{
      "type": "application/vnd.ibm.kms.key+json",
      "name": "<key_alias>",
      "description": "<key_description>",
      "extractable": <key_type>,
      "payload": "<encrypted_key>",
      "encryptionAlgorithm": "RSAES_OAEP_SHA_1",
      "encryptedNonce": "<encrypted_nonce>",
      "iv": "<iv>"
    }'
    

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

    Tabla 3. Describe las variables necesarias para restaurar claves con laHyper Protect Crypto Services
    Variable Descripción
    region Obligatorio. La abreviatura de región, como us-south o au-syd, que representa el área geográfica donde reside su 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. Identificador exclusivo para la clave que desea rotar.
    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_alias Obligatorio. Nombre descriptivo exclusivo para identificar con facilidad su clave. Para proteger su privacidad, no almacene datos personales como metadatos para la clave.
    key_description Una descripción ampliada para su clave. Para proteger su privacidad, no almacene datos personales como metadatos para la clave.
    encrypted_key Obligatorio. El nuevo material de clave que está cifrado por la señal de importación. El valor debe estar codificado en base64. Asegúrese de que el material de clave cumple los requisitos siguientes:

    • La clave debe ser de 128, 192 o 256 bits.
    • Los bytes de datos, por ejemplo, 32 bytes para 256 bits, se deben codificar en base64.

    Para obtener más información, consulte la Guía de aprendizaje: Creación e importación de claves de cifrado.

    key_type Valor booleano que determina si el material de clave puede dejar el servicio. Cuando configuras el extractable atribuir a false, el servicio designa la clave como clave raíz que puede utilizar para wrap o unwrap operaciones.
    encrypted_nonce Obligatorio. Valor nonce cifrado en AES-GCM que garantiza que los bits que envía como parte de una solicitud son exactamente los mismos que los que se reciben. El valor nonce valida la clave que está restaurando. Para obtener más información, consulte Guía de aprendizaje: creación e importación de claves de cifrado.
    iv Obligatorio. El vector de inicialización (IV) que genera el algoritmo AES-GCM cuando cifra un valor nonce. Este valor se utiliza para decodificar la clave para almacenarlo en el sistema Hyper Protect Crypto Services. Para obtener más información, consulte Guía de aprendizaje: creación e importación de claves de cifrado.

    Una solicitud de rotación correcta devuelve una respuesta HTTP 204 No Content, que indica que la clave raíz se ha sustituido por material de claves nuevo.

  6. Opcional: verifique que la clave se ha rotado recuperando detalles sobre la clave.

    curl -X GET \
    https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_id>/metadata \
    -H 'authorization: Bearer <IAM_token>' \
    -H 'bluemix-instance: <instance_ID>'
    -H 'accept: application/vnd.ibm.kms.key+json'
    

    Revise los valores lastRotateDate y keyVersion de entity-body de la respuesta para inspeccionar la fecha y hora en que se ha rotado la clave por última vez.

    También puede obtener una lista de las versiones que están disponibles para la clave mediante la API de Hyper Protect Crypto Services. Para obtener más información, consulte Visualización de versiones de clave.

Qué hacer a continuación