用戶端 5 PKCS #11 SDK 程式庫的 AWS CloudHSM 支援機制 - AWS CloudHSM

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

用戶端 5 PKCS #11 SDK 程式庫的 AWS CloudHSM 支援機制

PKCS #11 程式庫符合 PKCS #11 規格的 2.40 版。若要使用 PKCS #11 叫用密碼編譯功能,請呼叫具有指定機制的 函數。以下各節摘要了 AWS CloudHSM Client 5 SDK 支援的函數和機制組合。

PKCS #11 程式庫支援下列演算法:

  • 加密和解密 – AES-CBC、AES-CTR、AES-ECB、AES-GCM、DES3-CBC、-、DES3-ECB、-OAEP、RSA- 和 RSA-PKCS

  • 簽署和驗證 – RSA、 HMAC和 ECDSA;含和不含雜湊

  • 雜湊/摘要 – SHA1、SHA224、SHA384、 SHA256和 SHA512

  • 金鑰包裝 – AES金鑰包裝 1、 AES-AES、 GCMRSA- 和 RSA-OAEP

產生金鑰與金鑰對函數

PKCS #11 程式庫 AWS CloudHSM 的軟體程式庫可讓您使用下列機制產生金鑰和金鑰對函數。

  • CKM_RSA_PKCS_KEY_PAIR_GEN

  • CKM_RSA_X9_31_KEY_PAIR_GEN:此機制的功能與 CKM_RSA_PKCS_KEY_PAIR_GEN 機制完全相同,但在產生 pq 時提供更強大的保證。

  • CKM_EC_KEY_PAIR_GEN

  • CKM_GENERIC_SECRET_KEY_GEN

  • CKM_AES_KEY_GEN

  • CKM_DES3_KEY_GEN:註腳 5 所列的即將進行的變更。

簽署和驗證函數

PKCS #11 程式庫 AWS CloudHSM 的軟體程式庫可讓您使用下列機制來簽署和驗證函數。使用 Client SDK 5,資料會在軟體中本機雜湊。這表示 可以雜湊的資料大小沒有限制SDK。

使用 Client SDK 5 RSA和ECDSA雜湊會在本機完成,因此沒有資料限制。使用 HMAC時,會有資料限制。如需詳細咨詢,請參閱註腳 2

RSA

  • CKM_RSA_X_509

  • CKM_RSA_PKCS:僅限單一部分操作。

  • CKM_RSA_PKCS_PSS:僅限單一部分操作。

  • CKM_SHA1_RSA_PKCS

  • CKM_SHA224_RSA_PKCS

  • CKM_SHA256_RSA_PKCS

  • CKM_SHA384_RSA_PKCS

  • CKM_SHA512_RSA_PKCS

  • CKM_SHA512_RSA_PKCS

  • CKM_SHA1_RSA_PKCS_PSS

  • CKM_SHA224_RSA_PKCS_PSS

  • CKM_SHA256_RSA_PKCS_PSS

  • CKM_SHA384_RSA_PKCS_PSS

  • CKM_SHA512_RSA_PKCS_PSS

ECDSA

  • CKM_ECDSA:僅限單一部分操作。

  • CKM_ECDSA_SHA1

  • CKM_ECDSA_SHA224

  • CKM_ECDSA_SHA256

  • CKM_ECDSA_SHA384

  • CKM_ECDSA_SHA512

HMAC

  • CKM_SHA_1_HMAC2

  • CKM_SHA224_HMAC2

  • CKM_SHA256_HMAC2

  • CKM_SHA384_HMAC2

  • CKM_SHA512_HMAC2

CMAC

  • CKM_AES_CMAC

簽名恢復和驗證復原函數

用戶端 SDK 5 不支援 Sign Recover and Verify Recover 函數。

Digest 函數

適用於 PKCS #11 程式庫 AWS CloudHSM 的軟體程式庫可讓您針對摘要函數使用下列機制。使用 Client SDK 5,資料會在軟體中本機雜湊。這表示 可以雜湊的資料大小沒有限制SDK。

  • CKM_SHA_1

  • CKM_SHA224

  • CKM_SHA256

  • CKM_SHA384

  • CKM_SHA512

加密和解密函數

PKCS #11 程式庫 AWS CloudHSM 的軟體程式庫可讓您使用下列機制進行加密和解密函數。

  • CKM_RSA_X_509

  • CKM_RSA_PKCS:僅限單一部分操作。註腳 5 所列的即將進行的變更。

  • CKM_RSA_PKCS_OAEP:僅限單一部分操作。

  • CKM_AES_ECB

  • CKM_AES_CTR

  • CKM_AES_CBC

  • CKM_AES_CBC_PAD

  • CKM_DES3_CBC:註腳 5 所列的即將進行的變更。

  • CKM_DES3_ECB:註腳 5 所列的即將進行的變更。

  • CKM_DES3_CBC_PAD:註腳 5 所列的即將進行的變更。

  • CKM_AES_GCM 1, 2

  • CKM_CLOUDHSM_AES_GCM3

衍生金鑰函數

適用於 PKCS #11 程式庫 AWS CloudHSM 的軟體程式庫可讓您使用下列 機制進行 Derive 函數。

  • CKM_SP800_108_COUNTER_KDF

包裝和解包函數

PKCS #11 程式庫 AWS CloudHSM 的軟體程式庫可讓您使用下列機制來包裝和取消包裝函數。

如需有關AES金鑰包裝的其他資訊,請參閱AES金鑰包裝

  • CKM_RSA_PKCS:僅限單一部分操作。註腳 5 所列的即將進行的變更。

  • CKM_RSA_PKCS_OAEP4

  • CKM_AES_GCM1, 3

  • CKM_CLOUDHSM_AES_GCM3

  • CKM_RSA_AES_KEY_WRAP

  • CKM_CLOUDHSM_AES_KEY_WRAP_NO_PAD3

  • CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD3

  • CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD3

每個機制的資料大小上限

下表列出每個機制設定的資料大小上限:

資料集大小上限
Mechanism 資料大小上限 (位元組)
CKM_SHA_1_HMAC 16288
CKM_SHA224_HMAC 16256
CKM_SHA256_HMAC 16288
CKM_SHA384_HMAC 16224
CKM_SHA512_HMAC 16224
CKM_AES_CBC 16272
CKM_AES_GCM 16224
CKM_CLOUDHSM_AES_GCM 16224
CKM_DES3_CBC 16280

機制註釋

  • 【1】 執行 AES-GCM 加密時, HSM 不接受來自應用程式的初始化向量 (IV) 資料。請務必使用其產生的 IV。提供的 12 位元組 IV HSM會寫入您提供的CK_GCM_PARAMS參數結構 pIV 元素所指向的記憶體參考。為了防止使用者混淆,1.1.1 版和更新版本SDK中的 PKCS #11 可確保在初始化 AES加密GCM時 pIV 指向歸零緩衝區。

  • [2] 當使用下列任一機制操作資料時,若資料緩衝區超過資料大小上限,該操作就會導致錯誤。對於這些機制,所有資料處理都必須在 內進行HSM。如需每個機制的最大資料大小集的資訊,請參閱 每個機制的資料大小上限

  • [3] 廠商定義的機制。若要使用雲端HSM廠商定義的機制,PKCS#11 應用程式必須在編譯/opt/cloudhsm/include/pkcs11t.h期間包含 。

    CKM_CLOUDHSM_AES_GCM:這個專屬機制是標準 CKM_AES_GCM 程式設計更安全的替代方案。它會將 產生的 IV 附加HSM到密碼文字,而不是將其寫回密碼初始化期間提供的CK_GCM_PARAMS結構。您可以搭配 C_EncryptC_WrapKeyC_DecryptC_UnwrapKey 函數搭配使用此機制。使用此機制時,CK_GCM_PARAMS 結構中的 pIV 變數必須設定為 NULL。與 C_DecryptC_UnwrapKey 搭配使用此機制時,IV 應至於取消包裝的加密文字之前。

    CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD:具有 PKCS #5 Padding 的AES金鑰包裝。

    CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD:含零填充的AES金鑰包裝。

  • [4] 支援下列 CK_MECHANISM_TYPECK_RSA_PKCS_MGF_TYPE,作為 CKM_RSA_PKCS_OAEPCK_RSA_PKCS_OAEP_PARAMS

    • CKM_SHA_1 使用 CKG_MGF1_SHA1

    • CKM_SHA224 使用 CKG_MGF1_SHA224

    • CKM_SHA256 使用 CKG_MGF1_SHA256

    • CKM_SHA384 使用 CKM_MGF1_SHA384

    • CKM_SHA512 使用 CKM_MGF1_SHA512

  • 【5】 根據NIST指引,在 2023 年之後,不允許在 FIPS 模式下使用叢集。對於處於非FIPS 模式的叢集,在 2023 年之後仍然允許。如需詳細資訊,請參閱 FIPS 140 合規:2024 機制棄用