AWS CloudHSM Le SDK client 3 vérifie les performances du HSM avec l'outil pkpspeed - AWS CloudHSM

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWS CloudHSM Le SDK client 3 vérifie les performances du HSM avec l'outil pkpspeed

Cette rubrique explique comment vérifier les performances du module de sécurité AWS CloudHSM matérielle (HSM) avec le SDK client 3.

Pour vérifier les performances de votre AWS CloudHSM cluster, vous pouvez utiliser l'outil pkpspeed (Linux) ou pkpspeed_blocking (Windows) inclus dans le SDK client 3. HSMs L'outil pkpspeed s'exécute dans des conditions idéales et appelle directement le HSM pour exécuter des opérations sans passer par un SDK tel que. PKCS11 Nous vous recommandons de tester la charge de votre application de manière indépendante afin de déterminer vos besoins en matière de mise à l'échelle. Nous vous déconseillons d'exécuter les tests suivants : Random (I), ModExp (R) et EC point mul (Y).

Pour plus d'informations sur l'installation du client sur une EC2 instance Linux, consultezInstallation et configuration du AWS CloudHSM client pour CMU (Linux). Pour plus d'informations sur l'installation du client sur une instance Windows, consultez Installation et configuration du AWS CloudHSM client pour CMU (Windows).

Après avoir installé et configuré le AWS CloudHSM client, exécutez la commande suivante pour le démarrer.

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
  • Pour le Client Windows version 1.1.2 et ultérieure :

    C:\Program Files\Amazon\CloudHSM>net.exe start AWSCloudHSMClient
  • Pour les clients Windows version 1.1.1 et antérieure :

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

Si vous avez déjà installé le logiciel client, vous devrez télécharger et installer la dernière version pour obtenir pkpspeed. L'outil pkpspeed est disponible dans /opt/cloudhsm/bin/pkpspeed sous Linux ou dans C:\Program Files\Amazon\CloudHSM\ sous Windows.

Pour utiliser pkpspeed, exécutez la commande pkpspeed ou pkpspeed_blocking.exe, en spécifiant le nom d'utilisateur et le mot de passe d'un utilisateur de chiffrement sur le HSM. Ensuite, définissez les options à utiliser tout en prenant en compte les recommandations suivantes.

Recommandations de test

  • Pour tester les performances des opérations de signature et de vérification RSA, choisissez le chiffrement RSA_CRT sous Linux ou l'option B sous Windows. Ne choisissez pas RSA (option A sous Windows). Les chiffrements sont équivalents, mais RSA_CRT est optimisé pour les performances.

  • Commencez par un petit nombre de threads. Pour tester les performances AES, un seul thread suffit généralement pour afficher des performances maximales. Pour tester les performances RSA (RSA_CRT), trois ou quatre threads suffisent généralement.

Options configurables pour l'outil pkpspeed

  • Mode FIPS : AWS CloudHSM est toujours en mode FIPS (voir AWS CloudHSM FAQspour plus de détails). Cela peut être vérifié en utilisant les outils CLI tels que décrits dans le guide de AWS CloudHSM l'utilisateur et en exécutant la Obtenez des informations matérielles pour chaque HSM d'un AWS CloudHSM cluster grâce à la CMU commande qui indiquera l'état du mode FIPS.

  • Type de test (bloquant ou non bloquant) : indique comment les opérations sont effectuées de manière progressive. Vous obtiendrez probablement de meilleurs numéros en utilisant le non-blocage. Cela est dû au fait qu'ils utilisent des threads et la simultanéité.

  • Nombre de fils : nombre de fils avec lesquels exécuter le test.

  • Durée en secondes d'exécution du test (max = 600) : pkpspeed produit des résultats mesurés en « opérations/seconde » et indique cette valeur pour chaque seconde pendant laquelle le test est exécuté. Par exemple, si le test est exécuté pendant 5 secondes, le résultat peut ressembler aux exemples de valeurs suivants :

    • OPERATIONS/second 821/1

    • OPERATIONS/second 833/1

    • OPERATIONS/second 845/1

    • OPERATIONS/second 835/1

    • OPERATIONS/second 837/1

Tests pouvant être exécutés avec l'outil pkpspeed

  • AES GCM : teste le chiffrement en mode AES GCM.

  • Basic 3DES CBC : teste le chiffrement en mode 3DES CBC. Voir la note 1 ci-dessous pour un changement à venir.

  • Basic AES : teste le chiffrement AES CBC/ECB.

  • Digest : teste le condensé de hachage.

  • ECDSA Sign : teste la signature ECDSA.

  • ECDSA Verify : teste la vérification ECDSA.

  • FIPS Random : teste la génération d'un nombre aléatoire conforme à la norme FIPS (Remarque : cela ne peut être utilisé qu'en mode blocage).

  • HMAC : Teste le HMAC.

  • Random : Ce test n'est pas pertinent car nous utilisons des HSM FIPS 140-2.

  • Comparaison entre RSA non-CRT et RSA_CRT : teste les opérations de signature et de vérification RSA.

  • RSA OAEP Enc : teste le chiffrement RSA OAEP.

  • RSA OAEP Dec : teste le déchiffrement RSA OAEP.

  • RSA private dec non-CRT : teste le chiffrement par clé privée RSA (non optimisé).

  • RSA private key dec CRT : teste le chiffrement par clé privée RSA (optimisé).

  • RSA PSS Sign : teste la signature RSA PSS.

  • RSA PSS Verify : teste la vérification RSA PSS.

  • RSA public key enc : teste le chiffrement par clé publique RSA.

Le chiffrement par clé publique RSA, le déchiffrement privé RSA sans CRT et le déchiffrement par clé privée RSA invitent également l'utilisateur à répondre aux questions suivantes :

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

Si y est saisi, une clé pré-calculée est importée dans le HSM.

Si n est saisi, une nouvelle clé est générée.

[1] Conformément aux directives du NIST, cela n'est pas autorisé pour les clusters en mode FIPS après 2023. Pour les clusters en mode non FIPS, cela est toujours autorisé après 2023. Consultez Conformité à la norme FIPS 140 : mécanisme 2024 rendu obsolète pour plus de détails.

Exemples

Les exemples suivants montrent les options que vous pouvez choisir avec pkpspeed (Linux) ou pkpspeed_blocking (Windows) pour tester les performances des modules HSM par rapport aux opérations RSA et AES.

Exemple - Utilisation de pkpspeed pour tester les performances RSA

Vous pouvez exécuter cet exemple sous Windows, Linux et les systèmes d'exploitation compatibles.

Linux

Utilisez ces instructions pour Linux et les systèmes d'exploitation 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
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/
Exemple - Utilisation de pkpspeed pour tester les performances AES
Linux

Utilisez ces instructions pour Linux et les systèmes d'exploitation 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...
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/...