Client SDK 3: verifique o desempenho do HSM com a ferramenta pkpspeed - AWS CloudHSM

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

Client SDK 3: verifique o desempenho do HSM com a ferramenta pkpspeed

Este tópico descreve como verificar o desempenho do HSM com o Client SDK 3.

Para verificar o desempenho dos HSMs em seu AWS CloudHSM cluster, você pode usar a ferramenta pkpspeed (Linux) ou pkpspeed_blocking (Windows) incluída no SDK do cliente 3. A ferramenta pkpspeed é executada em condições ideais e chama diretamente o HSM para executar operações sem passar por um SDK como o 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 Instalar e configurar o AWS CloudHSM cliente (Linux). Para obter mais informações sobre como instalar o cliente em uma instância do Windows, consulte Instalar e configurar o AWS CloudHSM cliente (Windows).

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

  • 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

  • Modo FIPS: AWS CloudHSM está sempre no modo FIPS (consulte as AWS CloudHSM perguntas frequentes para obter detalhes). Isso pode ser verificado usando as ferramentas da CLI, conforme documentado no Guia do AWS CloudHSM usuário, e executando o getHSMInfo 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

  • AES GCM: testa a criptografia do modo AES GCM.

  • Basic 3DES CBC: testa a criptografia do modo 3DES CBC. Consulte a nota 1 abaixo para ver uma mudança futura.

  • Basic AES: testa a criptografia AES CBC/ECB.

  • 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 para clusters no modo FIPS após 2023. Para clusters no modo não FIPS, ainda é permitido após 2023. Para mais detalhes, consulte Conformidade com o FIPS 140: suspensão do mecanismo de 2024.

Exemplos

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.

exemplo – Usar pkpspeed para testar a performance do RSA

Você pode executar esse exemplo no Windows, Linux e sistemas operacionais compatíveis.

Linux

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
Windows
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/
exemplo – Usar pkpspeed para testar a performance do AES
Linux

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