AWS CloudHSM Client SDK 3 verifiziert die HSM-Leistung mit dem pkpspeed-Tool - AWS CloudHSM

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS CloudHSM Client SDK 3 verifiziert die HSM-Leistung mit dem pkpspeed-Tool

In diesem Thema wird beschrieben, wie Sie die Leistung des AWS CloudHSM Hardware-Sicherheitsmoduls (HSM) mit dem Client SDK 3 überprüfen können.

Um die Leistung von HSMs in Ihrem AWS CloudHSM Cluster zu überprüfen, können Sie das Tool pkpspeed (Linux) oder pkpspeed_blocking (Windows) verwenden, das im Client SDK 3 enthalten ist. Das pkpspeed-Tool wird unter idealen Bedingungen ausgeführt und ruft das HSM direkt auf, um Operationen auszuführen, ohne ein SDK wie z. PKCS11 Wir empfehlen, Ihre Anwendung unabhängig voneinander unter Last zu testen, um Ihre Skalierungsanforderungen zu ermitteln. Wir raten davon ab, die folgenden Tests durchzuführen: Random (I), ModExp (R) und EC point mul (Y).

Weitere Hinweise zur Installation des Clients auf einer EC2 Linux-Instance finden Sie unterInstallieren und konfigurieren Sie den AWS CloudHSM Client für CMU (Linux). Weitere Informationen zum Installieren des Clients auf einer Windows-Instance finden Sie unter Installieren und konfigurieren Sie den AWS CloudHSM Client für CMU (Windows).

Nachdem Sie den AWS CloudHSM Client installiert und konfiguriert haben, führen Sie den folgenden Befehl aus, um ihn zu starten.

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
  • Für Windows-Client 1.1.2 und höher:

    C:\Program Files\Amazon\CloudHSM>net.exe start AWSCloudHSMClient
  • Für Windows-Clients 1.1.1 und früher:

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

Wenn Sie die Client-Software bereits installiert haben, müssen Sie möglicherweise die neueste Version herunterladen und installieren, um „pkpspeed“ abzurufen. Sie finden das Tool pkpspeed unter Linux in /opt/cloudhsm/bin/pkpspeed und unter Windows in C:\Program Files\Amazon\CloudHSM\.

Um pkpspeed zu verwenden, führen Sie den Befehl pkpspeed oder pkpspeed_blocking.exe aus. Geben Sie dabei den Benutzernamen und das Passwort eines Crypto-Benutzers (CU) im HSM an. Legen Sie dann die Optionen unter Beachtung der folgenden Empfehlungen fest.

Empfehlungen testen

  • Wählen Sie zum Testen der Leistung von RSA-Signatur- und Prüfoperationen die Verschlüsselung RSA_CRT unter Linux oder Option B unter Windows. Wählen Sie nicht RSA (Option A unter Windows). Die Verschlüsselungen sind zwar gleichwertig, RSA_CRT ist jedoch leistungsoptimiert.

  • Beginnen Sie mit einer geringen Anzahl von Threads. Zum Testen der AES-Leistung genügt in der Regel ein Thread, um eine maximale Leistung zu demonstrieren. Zum Testen der RSA-Leistung (RSA_CRT) sind drei oder vier Threads in der Regel ausreichend.

Konfigurierbare Optionen für das Tool pkpspeed

  • FIPS-Modus: AWS CloudHSM befindet sich immer im FIPS-Modus (AWS CloudHSM FAQsEinzelheiten finden Sie unter). Dies kann überprüft werden, indem Sie die im AWS CloudHSM Benutzerhandbuch dokumentierten CLI-Tools verwenden und den Rufen Sie Hardwareinformationen für jedes HSM in einem AWS CloudHSM Cluster mit CMU ab Befehl ausführen, der den Status des FIPS-Modus anzeigt.

  • Testtyp (blockierend versus nicht blockierend): Dies gibt an, wie Operationen in Thread-Form ausgeführt werden. Sie werden höchstwahrscheinlich bessere Zahlen erhalten, wenn Sie nicht blockierend verwenden. Das liegt daran, dass sie Threads und Parallelität nutzen.

  • Anzahl der Threads: Anzahl der Threads, mit denen der Test ausgeführt werden soll.

  • Zeit in Sekunden für die Ausführung des Tests (max. = 600): pkpspeed erzeugt Ergebnisse, die in „Operationen/Sekunde“ gemessen werden, und meldet diesen Wert für jede Sekunde, in der der Test ausgeführt wird. Wenn der Test beispielsweise 5 Sekunden lang ausgeführt wird, kann die Ausgabe wie die folgenden Beispielwerte aussehen:

    • OPERATIONS/second 821/1

    • OPERATIONS/second 833/1

    • OPERATIONS/second 845/1

    • OPERATIONS/second 835/1

    • OPERATIONS/second 837/1

Tests, die mit dem Tool pkpspeed ausgeführt werden können

  • AES GCM: Testet die Verschlüsselung im AES-GCM-Modus.

  • Basic 3DES CBC: Testet die Verschlüsselung im 3DES CBC-Modus. Eine bevorstehende Änderung finden Sie im Hinweis 1 unten.

  • Basic AES: Testet die AES-CBC/ECB-Verschlüsselung.

  • Digest: Testet den Hash-Digest.

  • ECDSA-Zeichen: Testet das ECDSA-Zeichen.

  • ECDSA-Verifizierung: Testet ECDSA-Verifizierung.

  • FIPS Random: Testet die Generierung einer FIPS-konformen Zufallszahl (Hinweis: Diese kann nur im Sperrmodus verwendet werden).

  • HMAC: Testet HMAC.

  • Random: Dieser Test ist nicht relevant, da wir FIPS 140-2 HSMs verwenden.

  • RSA non-CRT versus RSA_CRT: Testet RSA-Signier- und Verifizierungsvorgänge.

  • RSA OAEP Enc: Testet die RSA OAEP-Verschlüsselung.

  • RSA OAEP Dec: Testet die RSA OAEP-Entschlüsselung.

  • RSA Private Dec Non-CRT: Testet die Verschlüsselung mit privatem RSA-Schlüssel (nicht optimiert).

  • RSA Private Key dec CRT: Testet die Verschlüsselung mit privatem RSA-Schlüssel (optimiert).

  • RSA PSS Sign: Testet das RSA PSS-Zeichen.

  • RSA PSS Verify: Teste RSA PSS verifizieren.

  • RSA Public Key Enc: Testet die Verschlüsselung mit öffentlichem RSA-Schlüssel.

Bei der Verschlüsselung mit öffentlichem RSA-Schlüssel, der Entschlüsselung mit privatem RSA-Schlüssel (nicht CRT) und der Entschlüsselung mit privatem RSA-Schlüssel (CRT) wird der Benutzer außerdem aufgefordert, die folgenden Fragen zu beantworten:

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

Wenn y eingegeben wird, wird ein vorberechneter Schlüssel in das HSM importiert.

Wenn n eingegeben wird, wird ein neuer Schlüssel generiert.

[1] Gemäß den NIST-Richtlinien ist dies für Cluster im FIPS-Modus nach 2023 nicht zulässig. Für Cluster im Nicht-FIPS-Modus ist dies auch nach 2023 zulässig. Details dazu finden Sie unter FIPS-140-Konformität: Mechanismus 2024 nicht mehr unterstützt.

Beispiele

Die folgenden Beispiele zeigen die Optionen, die Sie mit pkpspeed (Linux) oder pkpspeed_blocking (Windows) zum Testen der HSM-Leistung für RSA- und AES-Operationen auswählen können.

Beispiel – Verwenden von pkpspeed zum Testen der RSA-Leistung

Sie können dieses Beispiel unter Windows, Linux und kompatiblen Betriebssystemen ausführen.

Linux

Verwenden Sie diese Anweisungen für Linux und kompatible Betriebssysteme.

/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/
Beispiel – Verwenden von pkpspeed zum Testen der AES-Leistung
Linux

Verwenden Sie diese Anweisungen für Linux und kompatible Betriebssysteme.

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