Desempaquetar una clave con AES-GCM mediante la CLI de CloudHSM
Use el comando key unwrap aes-gcm en la CLI de CloudHSM para desempaquetar una clave de carga útil en el clúster mediante la clave de empaquetado AES y el mecanismo de desempaquetado AES-GCM
.
Las claves desempaquetadas se pueden usar de la misma manera que las claves generadas por AWS CloudHSM. Para indicar que no se generaron localmente, su atributo local
se establece en false
.
Para usar el comando key unwrap aes-gcm, debe tener la clave de empaquetado AES en el clúster de su AWS CloudHSM y su atributo unwrap
debe estar establecido en true
.
Tipo de usuario
Los tipos de usuarios siguientes pueden ejecutar este comando.
-
Usuarios de criptografía (CU)
Requisitos
-
Para ejecutar este comando, debe iniciar sesión como CU.
Sintaxis
aws-cloudhsm >
help key unwrap aes-gcm
Usage: key unwrap aes-gcm [OPTIONS] --filter [
<FILTER>
...] --tag-length-bits<TAG_LENGTH_BITS>
--key-type-class<KEY_TYPE_CLASS>
--label<LABEL>
--iv<IV>
<--data-path<DATA_PATH>
|--data<DATA>
> Options: --cluster-id<CLUSTER_ID>
Unique Id to choose which of the clusters in the config file to run the operation against. If not provided, will fall back to the value provided when interactive mode was started, or error --filter [<FILTER>
...] Key reference (e.g. key-reference=0xabc) or space separated list of key attributes in the form of attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE to select a key to unwrap with --data-path<DATA_PATH>
Path to the binary file containing the wrapped key data --data<DATA>
Base64 encoded wrapped key data --attributes [<UNWRAPPED_KEY_ATTRIBUTES>
...] Space separated list of key attributes in the form of KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE for the unwrapped key --aad<AAD>
Aes GCM Additional Authenticated Data (AAD) value, in hex --tag-length-bits<TAG_LENGTH_BITS>
Aes GCM tag length in bits --key-type-class<KEY_TYPE_CLASS>
Key type and class of wrapped key [possible values: aes, des3, ec-private, generic-secret, rsa-private] --label<LABEL>
Label for the unwrapped key --session Creates a session key that exists only in the current session. The key cannot be recovered after the session ends --iv<IV>
Initial value used to wrap the key, in hex -h, --help Print help
Ejemplos
En estos ejemplos, se muestra cómo usar el comando key unwrap aes-gcm mediante una clave AES con el valor del atributo unwrap
establecido en true
.
ejemplo Ejemplo: desempaquete una clave de carga útil de los datos clave empaquetados y codificados en Base64
aws-cloudhsm >
key unwrap aes-gcm --key-type-class aes --label aes-unwrapped --filter attr.label=aes-example --tag-length-bits 64 --aad 0x10 --iv 0xf90613bb8e337ec0339aad21 --data xvslgrtg8kHzrvekny97tLSIeokpPwV8
{ "error_code": 0, "data": { "key": { "key-reference": "0x00000000001808e4", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "full" }, "attributes": { "key-type": "aes", "label": "aes-unwrapped", "id": "0x", "check-value": "0x8d9099", "class": "secret-key", "encrypt": false, "decrypt": false, "token": true, "always-sensitive": false, "derive": false, "destroyable": true, "extractable": true, "local": false, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": true, "trusted": false, "unwrap": false, "verify": true, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 16 } } } }
ejemplo Ejemplo: desempaquete una clave de carga útil proporcionada a través de una ruta de datos
aws-cloudhsm >
key unwrap aes-gcm --key-type-class aes --label aes-unwrapped --filter attr.label=aes-example --tag-length-bits 64 --aad 0x10 --iv 0xf90613bb8e337ec0339aad21 --data-path payload-key.pem
{ "error_code": 0, "data": { "key": { "key-reference": "0x00000000001808e4", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "full" }, "attributes": { "key-type": "aes", "label": "aes-unwrapped", "id": "0x", "check-value": "0x8d9099", "class": "secret-key", "encrypt": false, "decrypt": false, "token": true, "always-sensitive": false, "derive": false, "destroyable": true, "extractable": true, "local": false, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": true, "trusted": false, "unwrap": false, "verify": true, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 16 } } } }
Argumentos
<CLUSTER_ID>
-
El ID del clúster en el que se va a ejecutar esta operación.
Obligatorio: si se han configurado varios clústeres.
<FILTER>
-
Referencia de clave (por ejemplo,
key-reference=0xabc
) o lista de atributos clave separados por espacios en forma deattr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
para seleccionar una clave con la que se desempaquetará.Obligatorio: sí
<DATA_PATH>
-
Ruta al archivo binario que contiene los datos clave empaquetados.
Obligatorio: Sí (a menos que se proporcione mediantes datos codificados en Base64)
<DATA>
-
Datos clave empaquetados y codificados en Base64.
Obligatorio: Sí (a menos que se proporcione por la ruta de datos)
<ATTRIBUTES>
-
Lista de atributos clave separados por espacios en forma de
KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
para la clave empaquetada.Requerido: no
<AAD>
-
Valor de datos autenticados adicionales (AAD) de Aes GCM, en hexadecimal.
Requerido: no
<TAG_LENGTH_BITS>
-
Longitud de la etiqueta Aes GCM en bits.
Obligatorio: sí
<KEY_TYPE_CLASS>
-
Tipo de clave y clase de clave empaquetada [valores posibles:
aes
,des3
,ec-private
,generic-secret
,rsa-private
].Obligatorio: sí
<LABEL>
-
Etiqueta para la clave desempaquetada.
Obligatorio: sí
<SESSION>
-
Crea una clave de sesión que solo existe en la sesión actual. La clave no se podrá recuperar una vez finalizada la sesión.
Requerido: no
<IV>
-
Valor inicial usado para envolver la clave, en hexadecimal.
Requerido: no