Rotación manual de claves

Puede rotar las claves raíz de forma manual mediante IBM® Key Protect for IBM Cloud®.

Al girar la clave raíz, se añade nuevo material a la clave. Este proceso crea una nueva versión de la clave que puede utilizar para volver a envolver o volver a cifrar los datos.

Para saber cómo la rotación de claves le ayuda a cumplir los estándares del sector y las mejores prácticas de cifrado, consulte Rotación de las claves de cifrado.

La rotación solo está disponible para las claves raíz. Para obtener más información acerca de las opciones de rotación claves en Key Protect, consulte Comparación de las opciones de rotación de claves.

Rotación de claves raíz en la consola

Después de crear una clave raíz, complete los pasos siguientes para rotar la clave:

  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. En la página de detalles de la aplicación, utilice la tabla de Claves tabla para examinar las claves en el servicio. Si tienes muchas claves, utiliza las barras de búsqueda para filtrar las claves activadas (ya que los demás tipos de claves no se pueden rotar), las claves de un llavero concreto y las claves con un alias concreto.

  5. Una vez encontrada la clave, haz clic en el icono de Acciones (⋯) para abrir una lista de opciones para la clave que deseas rotar.

  6. En el menú de opciones, haz clic en « Girar » para abrir el panel lateral « Girar ».

  7. Desde aquí, puedes girar la llave una vez haciendo clic en « Girar ». Si esta clave se ha importado, debes proporcionar un nuevo material de clave.

    También puedes establecer una política de rotación para esta clave con la periodicidad que elijas:

    • Vuelve a las opciones principales y haz clic en « Editar política de rotación »
    • Activar la política
    • Selecciona el intervalo de 30 días que desees para la rotación de claves

    Si se establece que una clave se rotará cada 2 meses, por ejemplo, se rotará cada 60 días, independientemente del número de días de un mes determinado.

  8. Haz clic en « Guardar » para aplicar esta política.

Para saber cómo establecer una política de rotación para su instancia que establezca una política de rotación en cada clave creada posteriormente, consulte Establecer una política de rotación.

Sólo para las claves raíz importadas, debe añadir el material de clave codificado en base64 que desea almacenar y gestionar en el servicio. Asegúrese de que el material de clave está en 128, 192 o 256 bits y que los bytes de datos (por ejemplo, 32 bytes para 256 bits) se codifican utilizando la codificación base64.

Rotación de claves raíz con la API

Puede rotar una clave raíz realizando una llamada POST al siguiente punto final.

https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/actions/rotate
  1. Recupere las credenciales 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 la instancia de Key Protect recuperando una lista de sus claves o accediendo al panel de control de Key Protect salpicadero.

  3. Gira la clave proporcionando un nuevo material de clave con lo siguiente: curl .

    $ curl -X POST \
        "https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/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.

Variables para girar una llave
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, consulte Puntos finales de servicio regionales.
keyID_or_alias Obligatorio. El identificador exclusivo o el alias de 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 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 ».
ID_conjunto_claves Opcional. El identificador exclusivo del conjunto de claves del que forma parte la clave. Si no se especifica, Key Protect buscará la clave en todos los conjuntos de claves asociados con la instancia especificada. Se recomienda especificar el ID de conjunto de claves para optimizar la solicitud.

Nota: El identificador del llavero de las claves creadas sin el encabezado « x-kms-key-ring » es: «default».

For more information, see Teclas de agrupación.
material_clave 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 generada inicialmente mediante Key Protect, omite el atributo «payload» y envía un cuerpo de entidad de solicitud vacío. Para rotar una clave importada, proporcione un material de clave que cumpla los siguientes requisitos:

La clave debe ser 128, 192 o 256 bits. Los bytes de datos (por ejemplo, 32 bytes para 256 bits) deben codificarse mediante la codificació 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.

Opcional: Verificar la rotación de claves

Puede verificar que se ha rotado una clave emitiendo una solicitud para listar claves:

$ 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>"

Donde <instance_ID> es el nombre de la instancia y <IAM_token> es la señal IAM.

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.

{
    "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:kms: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": "Deprecated",
            "algorithmMetadata": {
                "bitLength": "256",
                "mode": "Deprecated"
            },
            "algorithmBitSize": 256,
            "algorithmMode": "Deprecated",
            "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 Key Protect. 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://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/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 de servicio de Key Protect, consulte Roles de acceso al servicio.

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

    Puede recuperar el ID de una clave especificada haciendo una GET /v2/keys solicitud, o consultando tus claves en el panel de control de Key Protect.

  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. Sustituye la clave actual por el nuevo material de clave ejecutando lo siguiente: mandato curl.

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

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

Variables para rotar una clave con un token de importación
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 ».
keyID_or_alias Obligatorio. El identificador exclusivo o el alias de 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 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 ».
alias_clave 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 Opcional. Una descripción ampliada para su clave. Para proteger su privacidad, no almacene datos personales como metadatos para la clave.
encrypted_key Obligatorio. Material de clave cifrado que desea almacenar y gestionar en el servicio. El valor debe estar codificado en base64. Asegúrate de que el material de clave cumpla los siguientes requisitos:

La clave debe tener 128, 192 o 256 bits. Los bytes de datos (por ejemplo, 32 bytes para 256 bits) deben codificarse mediante la codificació base64.
key_type Opcional. Valor booleano que determina si el material de clave puede dejar el servicio.

Cuando se establece el atributo «extractable» en «false», la clave se convierte en una clave raíz que se puede utilizar para operaciones de envoltura o desenvoltura.
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, consulta el tutorial: «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 descodificar la clave que se almacena en el sistema « Key Protect ».

Para obtener más información, consulta el tutorial: «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 clave nuevo.

Opcional: Verificar rotación de clave de señal de importación

Puede verificar que una clave que se ha importado mediante la señal de importación se ha rotado emitiendo una solicitud de obtención de metadatos de clave:

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

Donde <keyID_or_alias> es el ID o el alias de la clave, <instance_ID> es el nombre de la instancia y <IAM_token> es la señal IAM.

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 listar las versiones que hay disponibles de la clave utilizando la API de Key Protect. Para obtener más información, consulte Visualización de versiones de clave.