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:
-
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 Key Protect.
-
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.
-
Una vez encontrada la clave, haz clic en el icono de Acciones (⋯) para abrir una lista de opciones para la clave que deseas rotar.
-
En el menú de opciones, haz clic en « Girar » para abrir el panel lateral « Girar ».
-
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
2meses, por ejemplo, se rotará cada 60 días, independientemente del número de días de un mes determinado. -
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
-
Recupere las credenciales 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 la instancia de Key Protect recuperando una lista de sus claves o accediendo al panel de control de Key Protect salpicadero.
-
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.
| 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
-
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.
-
Recupere el ID de la clave que desea rotar.
Puede recuperar el ID de una clave especificada haciendo una
GET /v2/keyssolicitud, o consultando tus claves en el panel de control de Key Protect. -
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.
-
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.
| 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.