

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# AWS CloudHSM O SDK 3 do cliente verifica o desempenho do HSM com a ferramenta pkpspeed
<a name="troubleshooting-verify-hsm-performance"></a>

Este tópico descreve como verificar o desempenho do módulo AWS CloudHSM de segurança de hardware (HSM) com o Client SDK 3.

Para verificar o desempenho do HSMs em seu AWS CloudHSM cluster, você pode usar a ferramenta pkpspeed (Linux) ou pkpspeed\_blocking (Windows) incluída no Client SDK 3. A ferramenta pkpspeed é executada em condições ideais e chama diretamente o HSM para executar operações sem passar por um SDK, como. PKCS11 Recomendamos testar a carga de seu aplicativo de forma independente para determinar suas necessidades de escalabilidade. Não recomendamos a execução dos seguintes testes: Random (I), ModExp (R) e EC point mul (Y).

 Para obter mais informações sobre como instalar o cliente em uma instância do EC2 para Linux, consulte [Instale e configure o AWS CloudHSM cliente para CMU (Linux)](cmu-install-and-configure-client-linux.md). Para obter mais informações sobre como instalar o cliente em uma instância do Windows, consulte [Instale e configure o AWS CloudHSM cliente para CMU (Windows)](cmu-install-and-configure-client-win.md). 

Depois de instalar e configurar o AWS CloudHSM cliente, execute o comando a seguir para iniciá-lo.

------
#### [ 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 clientes Windows 1.1.2\+:

  ```
  C:\Program Files\Amazon\CloudHSM>net.exe start AWSCloudHSMClient
  ```
+ Para o cliente Windows 1.1.1 e anterior:

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

------

Se você já instalou o software cliente, talvez seja necessário fazer download e instalar a versão mais recente para obter a pkpspeed. Você pode encontrar a ferramenta pkpspeed em `/opt/cloudhsm/bin/pkpspeed` no Linux ou `C:\Program Files\Amazon\CloudHSM\` no Windows. 

Para usar pkpspeed, execute o comando **pkpspeed** ou **pkpspeed\_blocking.exe**, especificando o nome do usuário e a senha de um usuário de criptografia (CU) no HSM. Em seguida, defina as opções a serem usadas, considerando as seguintes recomendações. 

## Teste das recomendações
<a name="w2aac37c11c17"></a>
+ Para testar o desempenho do sinal RSA e verificar as operações, escolha a cifra `RSA_CRT` em Linux ou a opção B no Windows. Não escolha `RSA` (opção A no Windows). As cifras são equivalentes, mas `RSA_CRT` são otimizadas para o desempenho. 
+ Comece com um pequeno número de tópicos. Para testar o desempenho do AES, um tópico normalmente é suficiente para mostrar o máximo desempenho. Para testar o desempenho do RSA (`RSA_CRT`), normalmente são suficientes três ou quatro tópicos. 

## Opções configuráveis para a ferramenta pkpspeed
<a name="w2aac37c11c19"></a>
+ **Modo FIPS**: AWS CloudHSM está sempre no modo FIPS (consulte [AWS CloudHSM FAQs](https://aws.amazon.com/cloudhsm/faqs/)para obter detalhes). Isso pode ser verificado usando as ferramentas da CLI, conforme documentado no Guia do AWS CloudHSM usuário, e executando o ** [Obtenha informações de hardware para cada HSM em um AWS CloudHSM cluster com CMU](cloudhsm_mgmt_util-getHSMInfo.md) ** comando que indicará o status do modo FIPS.
+ **Tipo de teste (com bloqueio x sem bloqueio)**: especifica como as operações são executadas de forma segmentada. Você provavelmente obterá números melhores usando o sistema sem bloqueio. Isso ocorre porque eles utilizam threads e simultaneidade.
+ **Número de threads**: número de threads com os quais executar o teste.
+ **Tempo em segundos para executar o teste (máx = 600)**: o pkpspeed produz resultados medidos em “OPERAÇÕES/segundo” e relata esse valor para cada segundo que o teste é executado. Por exemplo, se o teste for executado por 5 segundos, a saída poderá ser semelhante aos seguintes valores de amostra:
  + `OPERATIONS/second 821/1`
  + `OPERATIONS/second 833/1`
  + `OPERATIONS/second 845/1`
  + `OPERATIONS/second 835/1`
  + `OPERATIONS/second 837/1`

## Testes que podem ser executados com a ferramenta pkpspeed
<a name="w2aac37c11c21"></a>
+ **AES GCM**: testa a criptografia do modo AES GCM.
+ **Basic 3DES CBC**: testa a criptografia do modo 3DES CBC. Consulte a nota [1](#verify-hsm-performance-note-1) abaixo para ver uma mudança futura.
+ **AES básico**: testa a CBC/ECB criptografia AES.
+ **Digest**: testa o hash digest.
+ **Assinar ECDSA**: testa a assinatura de ECDSA.
+ **Verificação de ECDSA**: testa a verificação de ECDSA.
+ **FIPS Random**: testa a geração de um número aleatório compatível com FIPS (Observação: só pode ser usado no modo de bloqueio).
+ **HMAC**: testa o HMAC.
+ **Random**: este teste não é relevante porque estamos usando FIPS 140-2 de HSMs.
+ **RSA non-CRT versus RSA\_CRT**: testa as operações de assinatura e verificação de RSA.
+ **RSA OAEP Enc**: testa a criptografia RSA OAEP.
+ **RSA OAEP Dec**: testa a decodificação do RSA OAEP.
+ **RSA private dec non-CRT**: testa a criptografia de chave privada RSA (não otimizada).
+ **RSA private key dec CRT**: testa a criptografia de chave privada RSA (otimizada).
+ **Assinatura RSA PSS**: testa a assinatura RSA PSS.
+ **Verificação RSA PSS**: testa a verificação RSA PSS.
+ **Enc de chave pública RSA**: testa a criptografia de chave pública RSA.

A criptografia de chave pública RSA, a decodificação privada RSA sem CRT e a decodificação de chave privada RSA CRT também solicitarão que o usuário responda ao seguinte:

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

Se `y` for inserida, uma chave pré-computada será importada para o HSM.

Se `n` for inserido, uma nova chave será gerada.

[1] De acordo com a orientação do NIST, isso não é permitido em clusters no modo FIPS após 2023. Para clusters no modo não FIPS, isso ainda é permitido após 2023. Para mais detalhes, consulte [Conformidade com o FIPS 140: suspensão do mecanismo de 2024](compliance-dep-notif.md#compliance-dep-notif-1).

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

Os exemplos a seguir mostram as opções que você pode escolher com pkpspeed (Linux) ou pkpspeed\_blocking.exe (Windows) para testar o desempenho do HSM nas operações RSA e AES. 

**Example – Usar pkpspeed para testar a performance do RSA**  
Você pode executar esse exemplo no Windows, Linux e sistemas operacionais compatíveis.  
Use estas instruções para Linux e sistemas operacionais compatíveis.  

```
/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 – Usar pkpspeed para testar a performance do AES**  
Use estas instruções para Linux e sistemas operacionais compatíveis.  

```
/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/...
```