Género A KeyPair - 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.

Género A KeyPair

El comando genRSAKeyPair de la herramienta key_mgmt_util genera un par de claves asimétricas RSA. Deberá especificar el tipo de clave, la longitud del módulo y un exponente público. El comando genera un módulo de la longitud especificada y crea el par de claves. Puede asignar un ID, compartir la clave con otros usuarios del HSM, crear claves no extraíbles y claves que caduquen cuando la sesión finaliza. Cuando el comando se ejecuta correctamente, devuelve un identificador de clave que el HSM asigna a la clave. Puede utilizar el identificador de clave para identificar la clave ante otros comandos.

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).

sugerencia

Para buscar los atributos de una clave que haya creado, como tipo, longitud, etiqueta e ID, use getAttribute. Para buscar las claves de un usuario concreto, utilice. getKeyInfo Para buscar claves en función de sus valores de atributo, use findKey.

Sintaxis

genRSAKeyPair -h genRSAKeyPair -m <modulus length> -e <public exponent> -l <label> [-id <key ID>] [-min_srv <minimum number of servers>] [-m_value <0..8>] [-nex] [-sess] [-timeout <number of seconds> ] [-u <user-ids>] [-attest]

Ejemplos

En estos ejemplos, se muestra cómo se utiliza genRSAKeyPair para crear pares de claves asimétricas en los HSM.

ejemplo : creación y examen de un par de claves RSA

Este comando crea un par de claves RSA con un módulo de 2048 bits y un exponente de 65537. La salida muestra que el identificador de clave pública es 2100177, mientras que el identificador de la clave privada es 2100426.

Command: genRSAKeyPair -m 2048 -e 65537 -l rsa_test Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 2100177 private key handle: 2100426 Cluster Status: Node id 0 status: 0x00000000 : HSM Return: SUCCESS Node id 1 status: 0x00000000 : HSM Return: SUCCESS

El siguiente comando utiliza getAttribute para obtener los atributos de la clave pública que acabamos de crear. Escribe la salida en el archivo attr_2100177. Va seguido de un comando cat que obtiene el contenido del archivo de atributos. Para obtener ayuda para interpretar los atributos de clave, consulte la Referencia de los atributos de claves.

Los valores hexadecimales resultantes confirman que se trata de una clave pública (OBJ_ATTR_CLASS 0x02) con un tipo de RSA (OBJ_ATTR_KEY_TYPE 0x00). Puede utilizar esta clave pública para cifrar (OBJ_ATTR_ENCRYPT 0x01), pero no para descifrar (OBJ_ATTR_DECRYPT 0x00). Los resultados también incluyen la longitud de la clave (512, 0x200), el módulo, la longitud del módulo (2048, 0x800) y el exponente público (65537, 0x10001).

Command: getAttribute -o 2100177 -a 512 -out attr_2100177 Attribute size: 801, count: 26 Written to: attr_2100177 file Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS $ cat attr_2100177 OBJ_ATTR_CLASS 0x02 OBJ_ATTR_KEY_TYPE 0x00 OBJ_ATTR_TOKEN 0x01 OBJ_ATTR_PRIVATE 0x01 OBJ_ATTR_ENCRYPT 0x01 OBJ_ATTR_DECRYPT 0x00 OBJ_ATTR_WRAP 0x01 OBJ_ATTR_UNWRAP 0x00 OBJ_ATTR_SIGN 0x00 OBJ_ATTR_VERIFY 0x01 OBJ_ATTR_LOCAL 0x01 OBJ_ATTR_SENSITIVE 0x00 OBJ_ATTR_EXTRACTABLE 0x01 OBJ_ATTR_LABEL rsa_test OBJ_ATTR_ID OBJ_ATTR_VALUE_LEN 0x00000200 OBJ_ATTR_KCV 0xc51c18 OBJ_ATTR_MODULUS 0xbb9301cc362c1d9724eb93da8adab0364296bde7124a241087d9436b9be57e4f7780040df03c2c 1c0fe6e3b61aa83c205280119452868f66541bbbffacbbe787b8284fc81deaeef2b8ec0ba25a077d 6983c77a1de7b17cbe8e15b203868704c6452c2810344a7f2736012424cf0703cf15a37183a1d2d0 97240829f8f90b063dd3a41171402b162578d581980976653935431da0c1260bfe756d85dca63857 d9f27a541676cb9c7def0ef6a2a89c9b9304bcac16fdf8183c0a555421f9ad5dfeb534cf26b65873 970cdf1a07484f1c128b53e10209cc6f7ac308669112968c81a5de408e7f644fe58b1a9ae1286fec b3e4203294a96fae06f8f0db7982cb5d7f OBJ_ATTR_MODULUS_BITS 0x00000800 OBJ_ATTR_PUBLIC_EXPONENT 0x010001 OBJ_ATTR_TRUSTED 0x00 OBJ_ATTR_WRAP_WITH_TRUSTED 0x00 OBJ_ATTR_DESTROYABLE 0x01 OBJ_ATTR_DERIVE 0x00 OBJ_ATTR_ALWAYS_SENSITIVE 0x00 OBJ_ATTR_NEVER_EXTRACTABLE 0x00
ejemplo : generación de un par de claves RSA compartidas

Este comando genera un par de claves RSA y comparte la clave privada con el usuario 4, otro CU en el HSM. El comando utiliza el parámetro m_value para solicitar al menos dos aprobaciones para poder usar la clave privada en el par en una operación criptográfica. Al utilizar el parámetro m_value, también tiene que utilizar -u en el comando y el m_value no puede superar el número total de usuarios (número de valores en -u + propietario).

Command: genRSAKeyPair -m 2048 -e 65537 -l rsa_mofn -id rsa_mv2 -u 4 -m_value 2 Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 27 private key handle: 28 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS

Parámetros

-h

Muestra ayuda para el comando.

Obligatorio: sí

-m

Especifica la longitud del módulo en bits. El valor mínimo es 2048.

Obligatorio: sí

-e

Especifica el exponente público. El valor debe ser un número impar superior o igual a 65537.

Obligatorio: sí

-l

Especifica una etiqueta definida por el usuario para el par de claves. Tipo de cadena. Se aplica la misma etiqueta a las dos claves del par. El tamaño máximo permitido para label es de 127 caracteres.

Puede utilizar cualquier frase que le ayude a identificar la clave. La etiqueta no tiene por qué ser única, por lo que puede usarla para agrupar y clasificar las claves.

Obligatorio: sí

-id

Especifica un identificador definido por el usuario para el par de claves. Escriba una cadena que sea única en el clúster. El valor predeterminado es una cadena vacía. La ID que especifique se aplicará a las dos claves del par.

Predeterminado: sin valor de ID.

Obligatorio: no

-min_srv

Especifica el número mínimo de HSM en los que la clave importada se sincroniza antes de que caduque el valor del parámetro -timeout. Si la clave no está sincronizada con el número especificado de servidores en el tiempo asignado, no se creará.

AWS CloudHSM sincroniza automáticamente todas las claves con todos los HSM del clúster. Para acelerar el proceso, establezca el valor de min_srv en un número menor que el de HSM del clúster y establezca un valor bajo de tiempo de espera. Sin embargo, tenga en cuenta que puede que algunas solicitudes no generen ninguna clave.

Predeterminado: 1

Obligatorio: no

-m_value

Especifica el número de usuarios que deben aprobar cualquier operación criptográfica que utilice la clave importada en el par. Escriba un valor de 0 a 8.

Este parámetro establece un requisito de autenticación de cuórum para la clave privada. El valor predeterminado, 0, deshabilita la característica de autenticación de cuórum para la clave. Cuando la autenticación de cuórum esté habilitada, el número especificado de usuarios deberá firmar un token para aprobar las operaciones criptográficas que empleen clave privada y las operaciones de compartir o dejar de compartir la clave privada.

Para encontrar la clave m_value de una clave, utilice. getKeyInfo

Este parámetro solo es válido cuando el parámetro -u del comando comparte la clave con suficientes usuarios para satisfacer el requisito m_value.

Predeterminado: 0

Obligatorio: no

-nex

Hace que la clave privada no se pueda extraer. La clave privada que se genera no se podrá exportar desde el HSM. Las claves públicas siempre se pueden extraer.

Predeterminado: tanto las claves públicas como las privadas del par de claves se pueden extraer.

Obligatorio: no

-sess

Crea una clave que solo existe en la sesión actual. La clave no se podrá recuperar una vez finalizada la sesión.

Utilice este parámetro cuando necesite una clave solo brevemente, por ejemplo, una clave de encapsulamiento que cifre y, a continuación, descifre rápidamente otra clave. No utilice una clave de sesión para cifrar los datos que pueda necesitar descifrar una vez finalizada la sesión.

Para cambiar una clave de sesión por una clave persistente (token), use setAttribute.

Predeterminado: la clave es persistente.

Obligatorio: no

-timeout

Especifica cuánto tiempo (en segundos) espera el comando para que una clave se sincronice con el número de HSM especificado por el parámetro min_srv.

Este parámetro solo es válido cuando también se usa el parámetro min_srv en el comando.

Predeterminado: sin tiempo de espera predeterminado. El comando espera indefinidamente y solo vuelve a aparecer cuando la clave está sincronizada con el número mínimo de servidores.

Obligatorio: no

-u

Comparte la clave privada del par con los usuarios especificados. Este parámetro concede permiso a otros usuarios de criptografía (CU) del HSM para usar esta clave privada en operaciones criptográficas. Cualquier usuario puede utilizar las claves públicas sin necesidad de compartirlas.

Escriba una lista separada por comas de los ID de usuario de HSM, como -u 5,6. No incluya el ID de usuario de HSM del usuario actual. Para buscar los ID de usuario de HSM de los CU del HSM, utilice listUsers. Para compartir o dejar de compartir una clave existente, utilice shareKey en cloudhsm_mgmt_util.

Valor predeterminado: solo el usuario actual puede utilizar la clave privada.

Obligatorio: no

-attest

Ejecuta una comprobación de integridad que verifica que el firmware en el que se ejecuta el clúster no haya sufrido alguna manipulación.

Predeterminado: sin comprobación de certificación.

Obligatorio: no

Temas relacionados de