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

GendA KeyPair

El comando genDSAKeyPair de la herramienta key_mgmt_util genera un par de claves de algoritmo de firma digital (DSA) en los HSM. Debe especificar la longitud del módulo; el comando genera el valor del módulo. También 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 identificadores de clave que el HSM asigna a las claves públicas y privadas. Puede utilizar estos identificadores de clave para identificar las claves 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

genDSAKeyPair -h genDSAKeyPair -m <modulus length> -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 genDSAKeyPair para crear un par de claves de DSA.

ejemplo : creación de un par de claves de DSA

Este comando crea un par de claves de DSA con una etiqueta DSA. La salida muestra que el identificador de clave de la clave pública es 19, mientras que el identificador de la clave privada es 21.

Command: genDSAKeyPair -m 2048 -l DSA Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 19 private key handle: 21 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
ejemplo : creación de un par de claves de DSA solo para la sesión

Este comando crea un par de claves de DSA que es válido únicamente en la sesión actual. El comando asigna el ID exclusivo DSA_temp_pair además de la etiqueta obligatoria (que no es exclusiva). Es posible que le interese crear un par de claves de este tipo para firmar y verificar un token de una sola sesión. La salida muestra que el identificador de clave de la clave pública es 12, mientras que el identificador de la clave privada es 14.

Command: genDSAKeyPair -m 2048 -l DSA-temp -id DSA_temp_pair -sess Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 12 private key handle: 14 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Para confirmar que el par de claves exista únicamente en la sesión, utilice el parámetro -sess de findKey con el valor 1 (true).

Command: findKey -sess 1 Total number of keys present 2 number of keys matched from start index 0::1 12, 14 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS
ejemplo : creación de un par de claves de DSA no extraíbles y compartidas

Este comando crea un par de claves de DSA. La clave privada se comparte con otros tres usuarios y no se puede exportar desde el HSM. Cualquier usuario puede utilizar las claves públicas y estas siempre se pueden extraer.

Command: genDSAKeyPair -m 2048 -l DSA -id DSA_shared_pair -nex -u 3,5,6 Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 11 private key handle: 19 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
ejemplo : creación de un par de claves controladas mediante cuórum

Este comando crea un par de claves de DSA con la etiqueta DSA-mV2. El comando utiliza el parámetro -u para compartir la clave privada con los usuarios 4 y 6. Utiliza el parámetro -m_value para solicitar un cuórum de al menos dos aprobaciones para cualquier operación criptográfica que utilice la clave privada. El comando también utiliza el parámetro -attest para verificar la integridad del firmware en el que se genera el par de claves.

La salida muestra que el comando genera una clave pública con el identificador de clave 12 y una clave privada con el identificador de clave 17 y que la comprobación de declaración del firmware del clúster ha pasado.

Command: genDSAKeyPair -m 2048 -l DSA-mV2 -m_value 2 -u 4,6 -attest Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 12 private key handle: 17 Attestation Check : [PASS] Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Este comando utiliza getKeyInfola clave privada (identificador de clave17). La salida confirma que la clave es propiedad del usuario actual (usuario 3) y que se comparte con los usuarios 4 y 6 (y nadie más). La salida también muestra que la autenticación de cuórum está habilitada y que el cuórum es de dos.

Command: getKeyInfo -k 17 Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS Owned by user 3 also, shared to following 2 user(s): 4 6 2 Users need to approve to use/manage this key

Parámetros

-h

Muestra ayuda para el comando.

Obligatorio: sí

-m

Especifica la longitud del módulo en bits. El único valor válido es 2048.

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