本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
本主題說明如何使用用戶端 SDK 3 驗證 AWS CloudHSM 硬體安全模組 (HSM) 效能。
若要驗證 AWS CloudHSM 叢集中 HSMs 的效能,您可以使用用戶端 SDK 3 隨附的 pkpspeed (Linux) 或 pkpspeed_blocking (Windows) 工具。pkpspeed 工具會在理想的條件下執行,並直接調用 HSM 來執行作業,而不需要透過 PKCS11 等的開發套件。建議您單獨對應用程式進行負載測試,以判斷擴展需求。不建議運行以下測試:隨機 (I), ModExp (R) 和 EC 點乘法算法 (Y)。
如需有關在 Linux EC2 執行個體上安裝此用戶端的詳細資訊,請參閱為 CMU (Linux) 安裝和設定 AWS CloudHSM 用戶端。如需有關在 Windows 執行個體上安裝此用戶端的詳細資訊,請參閱安裝和設定 CMU 的 AWS CloudHSM 用戶端 (Windows)。
安裝並設定 AWS CloudHSM 用戶端之後,請執行下列命令來啟動用戶端。
$
sudo start cloudhsm-client
如果您已經安裝用戶端軟體,您可能需要下載並安裝最新版以取得 pkpspeed。您可以在 Linux 的 /opt/cloudhsm/bin/pkpspeed
或 Windows 的 C:\Program Files\Amazon\CloudHSM\
中找到 pkpspeed 工具。
若要使用 pkpspeed,請執行 pkpspeed 命令或 pkpspeed_blocking.exe,並指定 HSM 上加密使用者 (CU) 的使用者名稱和密碼。然後設定要使用的選項,同時考慮以下建議。
測試建議
-
若要測試 RSA 簽署的效能和驗證操作,請選擇
RSA_CRT
加密 (在 Linux 中) 或選項 B (在 Windows 中)。不要選擇RSA
(Windows 中的選項 A)。加密的效果相同,但RSA_CRT
的效能最佳。 -
從少量的執行緒開始。若要測試 AES 效能,一個執行緒通常足以顯示最大的效能。若要測試 RSA 效能 (
RSA_CRT
),三個或四個執行緒通常足夠。
pkpspeed 工具的可設定選項
FIPS 模式: AWS CloudHSM 一律處於 FIPS 模式 (如需詳細資訊,請參閱AWS CloudHSM FAQs
)。這可以透過使用 AWS CloudHSM 使用者指南中記錄的 CLI 工具進行驗證,並執行 使用 CMU 取得 AWS CloudHSM 叢集中每個 HSM 的硬體資訊 命令來指示 FIPS 模式狀態。 測試類型 (封鎖與非封鎖):這指定了如何以線程方式執行作業。您很可能會使用非封鎖獲得更好的數目。這是因為他們利用執行緒和並行。
執行緒數目:執行測試的執行緒數目。
執行測試的時間 (秒) (最大值 = 600):pkpspeed 會產生以「作業/秒」為單位測量的結果,並針對執行測試的每秒報告此值。例如,如果測試執行 5 秒鐘,輸出可能會像下列範例值:
OPERATIONS/second 821/1
OPERATIONS/second 833/1
OPERATIONS/second 845/1
OPERATIONS/second 835/1
OPERATIONS/second 837/1
可以使用 pkpspeed 工具執行的測試
AES GCM:測試 AES GCM 模式加密。
基本 3DES CBC:測試 3DES CBC 模式加密。請參閱下列備註 1 查看即將進行的變更。
基本 AES:測試 AES CBC/ECB 加密。
摘要:測試雜湊摘要。
ECDSA 簽署:測試 ECDSA 簽署。
ECDSA 驗證:測試 ECDSA 驗證。
FIPS 隨機:測試 FIPS 相容隨機數的產生 (注意:這只能在封鎖模式中使用)。
HMAC:測試 HMAC。
隨機:此測試不相關,因為我們使用的是 FIPS 140-2 HSM。
RSA 非 CRT 與 RSA_CRT:測試 RSA 簽署並驗證操作。
RSA OAEP 加密:測試 RSA OAEP 加密。
RSA OAEP 解密:測試 RSA OAEP 解密。
RSA 私有解密非 CRT:測試 RSA 私有金鑰加密 (非優化)。
RSA 私有金鑰解密 CRT:測試 RSA 私有金鑰加密 (優化)。
RSA PSS 簽署:測試 RSA PSS 簽署。
RSA PSS 驗證:測試 RSA PSS 驗證。
RSA 公有金鑰加密:測試 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 機制棄用。
範例
以下範例示範在測試 HSM 的 RSA 和 AES 操作效能時,您在 pkpspeed (Linux) 或 pkpspeed_blocking (Windows) 中可以選擇的選項。
範例 :使用 pkpspeed 來測試 RSA 效能
您可以在 Windows、Linux 和相容的作業系統上執行這個範例。
在 Linux 和相容的作業系統上,使用這些指示。
/opt/cloudhsm/bin/pkpspeed -s
CU user name
-ppassword
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
範例 :使用 pkpspeed 來測試 AES 效能
在 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...