

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.

# AWS CloudHSM El SDK de cliente 3 verifica el rendimiento del HSM con la herramienta pkpspeed
<a name="troubleshooting-verify-hsm-performance"></a>

En este tema se describe cómo comprobar el rendimiento del módulo de seguridad AWS CloudHSM de hardware (HSM) con Client SDK 3.

Para comprobar el rendimiento del AWS CloudHSM clúster, puede utilizar la HSMs herramienta pkpspeed (Linux) o pkpspeed\$1blocking (Windows) que se incluye con el Client SDK 3. La herramienta pkpspeed se ejecuta en condiciones ideales y llama directamente al HSM para que ejecute las operaciones sin necesidad de utilizar un SDK como, por ejemplo. PKCS11 Recomendamos realizar pruebas de carga de la aplicación de forma independiente para determinar sus necesidades de escalamiento. No recomendamos realizar las siguientes pruebas: Random (I), ModExp (R) y EC point mul (Y).

 Para obtener más información acerca de la instalación del cliente en una instancia de Linux EC2, consulte [Instalar y configurar el AWS CloudHSM cliente para CMU (Linux)](cmu-install-and-configure-client-linux.md). Para obtener más información acerca de la instalación del cliente en una instancia de Windows, consulte [Instalar y configurar el AWS CloudHSM cliente para CMU (Windows)](cmu-install-and-configure-client-win.md). 

Tras instalar y configurar el AWS CloudHSM cliente, ejecute el siguiente comando para iniciarlo.

------
#### [ Amazon Linux ]

```
$ sudo start cloudhsm-client
```

------
#### [ Amazon Linux 2 ]

```
$ sudo service cloudhsm-client start
```

------
#### [ CentOS 7 ]

```
$ sudo service cloudhsm-client start
```

------
#### [ CentOS 8 ]

```
$ sudo service cloudhsm-client start
```

------
#### [ RHEL 7 ]

```
$ sudo service cloudhsm-client start
```

------
#### [ RHEL 8 ]

```
$ sudo service cloudhsm-client start
```

------
#### [ Ubuntu 16.04 LTS ]

```
$ sudo service cloudhsm-client start
```

------
#### [ Ubuntu 18.04 LTS ]

```
$ sudo service cloudhsm-client start
```

------
#### [ Windows ]
+ Para la versión 1.1.2 y posteriores del cliente de Windows:

  ```
  C:\Program Files\Amazon\CloudHSM>net.exe start AWSCloudHSMClient
  ```
+ Para la versión 1.1.1 y anteriores de clientes de Windows:

  ```
  C:\Program Files\Amazon\CloudHSM>start "cloudhsm_client" cloudhsm_client.exe C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg
  ```

------

Si ya ha instalado el software de cliente, es posible que deba descargar e instalar la última versión para obtener pkpspeed. Puede encontrar la herramienta pkpspeed `/opt/cloudhsm/bin/pkpspeed` en Linux o en `C:\Program Files\Amazon\CloudHSM\` en Windows. 

Para utilizar pkpspeed, ejecute el comando **pkpspeed** o **pkpspeed\$1blocking.exe** especificando el nombre de usuario y la contraseña de un usuario de criptografía (CU) del HSM. A continuación, defina las opciones que se utilizarán mientras tiene en cuenta las siguientes recomendaciones. 

## Recomendaciones de prueba
<a name="w2aac37c11c17"></a>
+ Para probar el desempeño de las operaciones de firma y comprobación de RSA y verificar las operaciones, elija el cifrado `RSA_CRT` en Linux o la opción B en Windows. No elija `RSA` (opción A en Windows). La cifrados son equivalentes, pero `RSA_CRT` está optimizado para el desempeño. 
+ Comience por un número reducido de subprocesos. Para probar el desempeño de AES suele bastar con un subproceso para mostrar el máximo desempeño. Para probar el desempeño de RSA (`RSA_CRT`), normalmente es suficiente con tres o cuatro subprocesos. 

## Opciones configurables para la herramienta pkpspeed
<a name="w2aac37c11c19"></a>
+ **Modo FIPS**: siempre AWS CloudHSM está en modo FIPS (consulte [AWS CloudHSM FAQs](https://aws.amazon.com/cloudhsm/faqs/)para obtener más información). Esto se puede verificar mediante las herramientas CLI, tal como se documenta en la Guía del AWS CloudHSM usuario, y ejecutando el ** [Obtenga información de hardware para cada HSM de un AWS CloudHSM clúster con CMU](cloudhsm_mgmt_util-getHSMInfo.md) ** comando que indicará el estado del modo FIPS.
+ **Tipo de prueba (con bloqueo o sin bloqueo)**: especifica cómo se realizan las operaciones por subprocesos. Lo más probable es que consiga mejores números si utiliza el modo de no bloqueo. Esto se debe a que se utilizan subprocesos y simultaneidad.
+ **Número de subprocesos**: número de subprocesos con los que se va a ejecutar la prueba.
+ **Tiempo en segundos para ejecutar la prueba (máximo = 600)**: pkpspeed produce los resultados medidos en "OPERACIONES/segundos" e informa este valor por cada segundo que se ejecuta la prueba. Por ejemplo, si la prueba se ejecuta durante 5 segundos, el resultado puede asemejarse a los siguientes valores de muestra:
  + `OPERATIONS/second 821/1`
  + `OPERATIONS/second 833/1`
  + `OPERATIONS/second 845/1`
  + `OPERATIONS/second 835/1`
  + `OPERATIONS/second 837/1`

## Pruebas que se pueden ejecutar con la herramienta pkpspeed
<a name="w2aac37c11c21"></a>
+ **AES GCM**: realiza una prueba el cifrado en modo AES GCM.
+ **Basic 3DES CBC**: realiza una prueba del cifrado en modo CBC de 3DES. Consulte la nota [1](#verify-hsm-performance-note-1) que aparece a continuación para ver los próximos cambios.
+ **AES básico**: prueba el CBC/ECB cifrado AES.
+ **Digest**: realiza una prueba del resumen del hash.
+ **ECDSA Sign**: realiza una prueba de la firma de ECDSA.
+ **ECDSA Verify**: realiza una prueba de la verificación de ECDSA.
+ **FIPS Random**: realiza una prueba de la generación de un número aleatorio conforme con las normas FIPS. (Nota: solo se puede usar en modo de bloqueo).
+ **HMAC**: realiza una prueba del HMAC.
+ **Random**: esta prueba no es relevante porque utilizamos los HSM del FIPS 140-2.
+ **RSA non-CRT versus RSA\$1CRT**: realiza una prueba de las operaciones de firma y verificación de RSA.
+ **RSA OAEP Enc**: realiza una prueba del cifrado RSA OAEP.
+ **RSA OAEP Dec**: realiza una prueba del descifrado de RSA OAEP.
+ **RSA private dec non-CRT**: realiza una prueba del cifrado de clave privada RSA (sin optimizar).
+ **RSA private key dec CRT**: realiza una prueba del cifrado de clave privada RSA (optimizado).
+ **RSA PSS Sign**: realiza una prueba de la firma de PSS de RSA.
+ **RSA PSS Verify**: realiza una prueba de la verificación de PSS de RSA.
+ **RSA public key enc**: realiza una prueba del cifrado de clave pública de RSA.

El cifrado de clave pública RSA, el descifrado privado RSA (no CRT) y el descifrado de clave privada RSA (CRT) también solicitarán al usuario que responda lo siguiente:

```
Do you want to use static key [y/n]
```

Si se introduce `y`, se importa una clave calculada previamente al HSM.

Si se introduce `n`, se genera una nueva clave.

[1] De acuerdo con las directrices del NIST, esto no se permite en los clústeres en modo FIPS después de 2023. En el caso de los clústeres en modo no FIPS, seguirá siendo posible después de 2023. Para obtener más información, consulte [Cumplimiento de la normativa FIPS 140: anulación de mecanismo 2024](compliance-dep-notif.md#compliance-dep-notif-1).

## Ejemplos
<a name="w2aac37c11c23"></a>

En los ejemplos siguientes se muestran las opciones que puede elegir con pkpspeed (Linux) o pkpspeed\$1blocking (Windows) para probar el desempeño de HSM para las operaciones de RSA y AES. 

**Example : uso de pkpspeed para probar el desempeño de RSA**  
Puede ejecutar este ejemplo en Windows, Linux y sistemas operativos compatibles.  
Utilice estas instrucciones para Linux y sistemas operativos compatibles.  

```
/opt/cloudhsm/bin/pkpspeed -s CU user name -p password

SDK Version: 2.03

        Available Ciphers:
                AES_128
                AES_256
                3DES
                RSA  (non-CRT. modulus size can be 2048/3072)
                RSA_CRT (same as RSA)
For RSA, Exponent will be 65537

Current FIPS mode is: 00002
Enter the number of thread [1-10]: 3
Enter the cipher: RSA_CRT
Enter modulus length: 2048
Enter time duration in Secs: 60
Starting non-blocking speed test using data length of 245 bytes...
[Test duration is 60 seconds]

Do you want to use static key[y/n] (Make sure that KEK is available)?n
```

```
c:\Program Files\Amazon\CloudHSM>pkpspeed_blocking.exe -s CU user name -p password

Please select the test you want to run

RSA non-CRT------------------->A
RSA CRT----------------------->B
Basic 3DES CBC---------------->C
Basic AES--------------------->D
FIPS Random------------------->H
Random------------------------>I
AES GCM ---------------------->K

eXit------------------------>X
B

Running 4 threads for 25 sec

Enter mod size(2048/3072):2048
Do you want to use Token key[y/n]n
Do you want to use static key[y/n] (Make sure that KEK is available)?  n
OPERATIONS/second                821/1
OPERATIONS/second                833/1
OPERATIONS/second                845/1
OPERATIONS/second                835/1
OPERATIONS/second                837/1
OPERATIONS/second                836/1
OPERATIONS/second                837/1
OPERATIONS/second                849/1
OPERATIONS/second                841/1
OPERATIONS/second                856/1
OPERATIONS/second                841/1
OPERATIONS/second                847/1
OPERATIONS/second                838/1
OPERATIONS/second                843/1
OPERATIONS/second                852/1
OPERATIONS/second                837/
```

**Example : uso de pkpspeed para probar el desempeño de AES**  
Utilice estas instrucciones para Linux y sistemas operativos compatibles.  

```
/opt/cloudhsm/bin/pkpspeed -s <CU user name> -p <password>

SDK Version: 2.03

        Available Ciphers:
                AES_128
                AES_256
                3DES
                RSA  (non-CRT. modulus size can be 2048/3072)
                RSA_CRT (same as RSA)
For RSA, Exponent will be 65537

Current FIPS mode is: 00000002
Enter the number of thread [1-10]: 1
Enter the cipher: AES_256
Enter the data size [1-16200]: 8192
Enter time duration in Secs: 60
Starting non-blocking speed test using data length of 8192 bytes...
```

```
c:\Program Files\Amazon\CloudHSM>pkpspeed_blocking.exe -s CU user name -p password
login as USER
Initializing Cfm2 library
        SDK Version: 2.03

 Current FIPS mode is: 00000002
Please enter the number of threads [MAX=400] : 1
Please enter the time in seconds to run the test [MAX=600]: 20


Please select the test you want to run

RSA non-CRT------------------->A
RSA CRT----------------------->B
Basic 3DES CBC---------------->C
Basic AES--------------------->D
FIPS Random------------------->H
Random------------------------>I
AES GCM ---------------------->K

eXit------------------------>X
D

Running 1 threads for 20 sec

Enter the key size(128/192/256):256
Enter the size of the packet in bytes[1-16200]:8192
OPERATIONS/second                9/1
OPERATIONS/second                10/1
OPERATIONS/second                11/1
OPERATIONS/second                10/1
OPERATIONS/second                10/1
OPERATIONS/second                10/...
```