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:
-
Vaya a Menú > Lista de recursos para ver una lista de sus recursos.
-
Desde la lista de recursos de IBM Cloud seleccione su instancia suministrada de Hyper Protect Crypto Services.
-
En la página Claves KMS, utilice la tabla Claves para explorar las claves de su servicio.
-
Seleccione la clave que desea rotar y pulse el icono Acciones
para abrir una lista de opciones para la clave.
-
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.
-
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
-
Recupere sus credenciales de servicio y de autenticación para trabajar con claves en el servicio.
-
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.
-
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
oau-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. -
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
-
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.
-
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. -
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.
-
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
oau-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 afalse
, el servicio designa la clave como clave raíz que puede utilizar parawrap
ounwrap
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. -
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
ykeyVersion
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
- Después de rotar una clave raíz, 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. Aprenda cómo volver a cifrar o empaquetar sus DEKS sin exponer las claves en su formato de texto sin formato, consulte Reenvolver llaves.
- 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.
- Para obtener más información sobre cómo administrar sus claves mediante programación,revisar laHyper Protect Crypto Services Documento de referencia de API del servicio de administración de claves.