本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
本主題說明如何使用 Client 3 驗證 AWS CloudHSM 硬體安全模組 (HSM) SDK 效能。
若要驗證 AWS CloudHSM 叢集HSMs中 的效能,您可以使用用戶端 3 隨附的 pkpspeed (Linux) 或 pkpspeed_blocking (Windows) SDK 工具。pkpspeed 工具會在理想條件下執行,並直接呼叫 HSM 以執行操作,而無需經過 SDK 等 PKCS11。建議您單獨對應用程式進行負載測試,以判斷擴展需求。我們不建議執行下列測試:Random (I)、 ModExp (R) 和 EC point mul (Y)。
如需在 Linux EC2執行個體上安裝用戶端的詳細資訊,請參閱 安裝和設定 CMU(Linux) 的 AWS CloudHSM 用戶端。如需有關在 Windows 執行個體上安裝此用戶端的詳細資訊,請參閱安裝和設定 CMU(Windows) 的 AWS CloudHSM 用戶端。
安裝並設定 AWS CloudHSM 用戶端後,請執行下列命令以啟動用戶端。
- 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
用於 Windows 用戶端 1.1.2+:
C:\Program Files\Amazon\CloudHSM>
net.exe start AWSCloudHSMClient
用於 Windows 用戶端 1.1.1 和更早版本:
C:\Program Files\Amazon\CloudHSM>
start "cloudhsm_client" cloudhsm_client.exe C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg
如果您已經安裝用戶端軟體,您可能需要下載並安裝最新版以取得 pkpspeed。您可以在 Linux 的 /opt/cloudhsm/bin/pkpspeed
或 Windows 的 C:\Program Files\Amazon\CloudHSM\
中找到 pkpspeed 工具。
若要使用 pkpspeed,請執行 pkpspeed命令或 pkpspeed_blocking.exe,在 上指定加密使用者 (CU) 的使用者名稱和密碼HSM。然後設定要使用的選項,同時考慮以下建議。
測試建議
pkpspeed 工具的可設定選項
FIPS 模式: AWS CloudHSM 一律處於 FIPS 模式 (如需詳細資訊AWS CloudHSM FAQs,請參閱)。這可以透過使用 AWS CloudHSM 使用者指南中記錄CLI的工具進行驗證,並執行指示FIPS模式狀態的 使用 取得 AWS CloudHSM 叢集HSM中每個 的硬體資訊 CMU 命令。
測試類型 (封鎖與非封鎖):這指定了如何以線程方式執行作業。您很可能會使用非封鎖獲得更好的數目。這是因為他們利用執行緒和並行。
執行緒數目:執行測試的執行緒數目。
以秒為單位執行測試的時間 (最大值 = 600):pkpspeed 會產生以 "OPERATIONS/秒" 為單位的結果,並報告執行測試的每一秒的此值。例如,如果測試執行 5 秒鐘,輸出可能會像下列範例值:
OPERATIONS/second 821/1
OPERATIONS/second 833/1
OPERATIONS/second 845/1
OPERATIONS/second 835/1
OPERATIONS/second 837/1
可以使用 pkpspeed 工具執行的測試
AES GCM:測試AESGCM模式加密。
基本 3DES CBC:測試 3DES CBC 模式加密。請參閱下列備註 1 查看即將進行的變更。
基本 AES:測試AESCBC/ECB加密。
摘要:測試雜湊摘要。
ECDSA 簽署 :測試ECDSA簽署。
ECDSA 驗證 :測試ECDSA驗證。
FIPS 隨機 :測試產生FIPS符合 的隨機數字 (注意:這只能在封鎖模式下使用)。
HMAC:測試 HMAC。
隨機 :由於我們使用 FIPS 140-2 HSM的 ,因此此測試無關。
RSA 非CRT 與 RSA_CRT:測試RSA會簽署並驗證操作。
RSA OAEP Enc :測試RSAOAEP加密。
RSA OAEP 12 月 日:測試RSAOAEP解密。
RSA Private dec non-CRT:測試RSA私有金鑰加密 (非最佳化)。
RSA 私有金鑰 dec CRT:測試RSA私有金鑰加密 (最佳化)。
RSA PSS 簽署 :測試RSAPSS簽署。
RSA PSS 驗證 :測試RSAPSS驗證。
RSA 公有金鑰 enc :測試RSA公有金鑰加密。
RSA 公有金鑰加密、RSA私有解密非 CRT和RSA私有金鑰解密CRT也會提示使用者回答下列問題:
Do you want to use static key [y/n]
y
如果輸入 ,預先計算的金鑰會匯入 HSM。
如果輸入 n
,則會產生新的金鑰。
【1】 根據NIST指引,在 2023 年之後,不允許在 FIPS 模式下使用叢集。對於處於非FIPS 模式的叢集,在 2023 年之後仍然允許。如需詳細資訊,請參閱 FIPS 140 合規:2024 機制棄用。
範例
下列範例顯示您可以選擇搭配 pkpspeed (Linux) 或 pkpspeed_blocking (Windows) 使用的選項,以測試 RSA和 AES操作HSM的效能。
範例 – 使用 pkpspeed 測試RSA效能
您可以在 Windows、Linux 和相容的作業系統上執行這個範例。
- Linux
-
在 Linux 和相容的作業系統上,使用這些指示。
/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/
範例 – 使用 pkpspeed 測試AES效能
- Linux
-
在 Linux 和相容的作業系統上,使用這些指示。
/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/...