wrapKey - AWS CloudHSM

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

wrapKey

El comando wrapKey de key_mgmt_util exporta una copia cifrada de una clave simétrica o privada desde el HSM a un archivo. Cuando ejecute wrapKey, debe especificar la clave que va a exportar, una clave del HSM para cifrar (encapsular) la clave que se va a exportar y el archivo de salida.

El comando wrapKey escribe la clave cifrada en el archivo especificado, pero no la elimina del HSM ni le impide utilizarla en operaciones criptográficas. Puede exportar la misma clave varias veces.

Solo el propietario de una clave, es decir, el usuario de criptografía (CU) que creó la clave, puede exportarla. Los usuarios que comparten la clave pueden utilizarla en operaciones criptográficas, pero no pueden exportarla.

Para volver a importar la clave cifrada al HSM, utilice. unWrapKey Para exportar una clave de texto sin formato desde un HSM, utilice exSymKeyo exportPrivateKeysegún proceda. El aesWrapUnwrapcomando no puede descifrar (desempaquetar) las claves que cifran. wrapKey

Antes de ejecutar cualquier comando de key_mgmt_util, debe iniciar key_mgmt_util e lniciar sesión en el HSM como usuario de criptografía (CU).

Sintaxis

wrapKey -h wrapKey -k <exported-key-handle> -w <wrapping-key-handle> -out <output-file> [-m <wrapping-mechanism>] [-aad <additional authenticated data filename>] [-t <hash-type>] [-noheader] [-i <wrapping IV>] [-iv_file <IV file>] [-tag_size <num_tag_bytes>>]

Ejemplo

Este comando exporta una clave simétrica Triple DES (3DES) de 192 bits (identificador de clave 7). Utiliza una clave AES de 256 bits en el HSM (identificador de clave 14) para encapsular la clave 7. A continuación, escribe la clave 3DES cifrada en el archivo 3DES-encrypted.key.

La salida muestra que la clave 7 (la clave 3DES) se ha encapsulado correctamente y que se ha escrito en el archivo especificado. La clave cifrada tiene 307 bytes de largo.

Command: wrapKey -k 7 -w 14 -out 3DES-encrypted.key -m 4 Key Wrapped. Wrapped Key written to file "3DES-encrypted.key length 307 Cfm2WrapKey returned: 0x00 : HSM Return: SUCCESS

Parámetros

-h

Muestra ayuda para el comando.

Obligatorio: sí

-k

Identificador de la clave que desea exportar. Escriba el identificador de una clave simétrica o privada de su propiedad. Para buscar identificadores de clave, use el comando findKey.

Para verificar que se puede exportar una clave, ejecute el comando getAttribute para obtener el valor del atributo OBJ_ATTR_EXTRACTABLE, que se representa con la constante 354. Para obtener ayuda para interpretar los atributos de clave, consulte la Referencia de los atributos de claves.

Además, únicamente puede exportar las claves que son de su propiedad. Para encontrar el propietario de una clave, utilice el comando. getKeyInfo

Obligatorio: sí

-w

Especifica la clave de encapsulamiento. Introduzca el identificador de clave de una clave AES o RSA en el HSM. Este parámetro es obligatorio. Para buscar identificadores de clave, use el comando findKey.

Para crear una clave de empaquetado, utilice genSymKeypara generar una clave AES (tipo 31) o GenRSA KeyPair para generar un par de claves RSA (tipo 0). Si utiliza un par de claves RSA, asegúrese de encapsular la clave con una de las claves y desencapsularla con la otra. Para verificar si una clave se puede utilizar como clave de encapsulamiento, utilice getAttribute para obtener el valor del atributo OBJ_ATTR_WRAP, que se representa con la constante 262.

Obligatorio: sí

-out

Ruta y nombre del archivo de salida. Cuando el comando se ejecuta correctamente, este archivo contiene una copia cifrada de la clave exportada. Si el archivo ya existe, el comando lo sobrescribe sin ningún tipo de advertencia.

Obligatorio: sí

-m

Valor que representa el mecanismo de encapsulamiento. CloudHSM admite los siguientes mecanismos:

Mecanismo Valor
AES_KEY_WRAP_PAD_PKCS5 4
NIST_AES_WRAP_NO_PAD 5
NIST_AES_WRAP_PAD 6
RSA_AES 7
RSA_OAEP (para conocer el tamaño máximo de los datos, consulte la nota que se incluye más adelante en esta sección) 8
AES_GCM 10
CLOUDHSM_AES_GCM 11
RSA_PKCS (para conocer el tamaño máximo de los datos, consulte la nota que se incluye más adelante en esta sección). Consulte la nota 1 que aparece a continuación para ver los próximos cambios. 12

Obligatorio: sí

nota

Cuando se utiliza el mecanismo de RSA_OAEP empaquetado, el tamaño máximo de clave que se puede empaquetar viene determinado por el módulo de la clave RSA y la longitud del hash especificado de la siguiente manera: Tamaño máximo de clave = (bytes-2* bytes-2). modulusLengthIn hashLengthIn

Cuando se utiliza el mecanismo de empaquetado RSA_PKCS, el tamaño máximo de clave que se puede empaquetar viene determinado por el módulo de la clave RSA de la siguiente manera: Tamaño máximo de clave = (bytes -11). modulusLengthIn

-t

Valor que representa el algoritmo hash. CloudHSM admite los siguientes algoritmos:

Algoritmo hash Valor
SHA1 2
SHA256 3
SHA384 4
SHA512 5
SHA224 (válido para los mecanismos RSA_AES y RSA_OAEP) 6

Obligatorio: no

-aad

Nombre del archivo que contiene AAD.

nota

Válido solo para los mecanismos AES_GCM y CLOUDHSM_AES_GCM.

Obligatorio: no

-noheader

Omite el encabezado que especifica los atributos de clave específicos de CloudHSM. Utilice este parámetro solo si tiene previsto desencapsular la clave con herramientas distintas de key_mgmt_util.

Obligatorio: no

-i

Vector de inicialización (IV) (valor hexadecimal).

nota

Solo es válido cuando se pasa con el parámetro -noheader de los mecanismos CLOUDHSM_AES_KEY_WRAP y NIST_AES_WRAP.

Obligatorio: no

-iv_file

Archivo en el que va a escribir el valor del IV obtenido como respuesta.

nota

Solo es válido cuando se pasa con el parámetro -noheader del mecanismo AES_GCM.

Obligatorio: no

-tag_size

Tamaño de la etiqueta que se va a guardar junto con el blob encapsulado.

nota

Solo es válido cuando se pasa con el parámetro -noheader de los mecanismos AES_GCM y CLOUDHSM_AES_GCM. El tamaño mínimo de la etiqueta es ocho.

Obligatorio: no

[1] De acuerdo con las directrices del NIST, esto no está permitido para los clústeres en modo FIPS después de 2023. En el caso de los clústeres en modo no FIPS, se seguirá permitiendo después de 2023. Para obtener más información, consulte Cumplimiento de la normativa FIPS 140: anulación de mecanismo 2024.

Temas relacionados de