支援的 JCE 提供者機制 - AWS CloudHSM

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

支援的 JCE 提供者機制

本主題提供有關用戶端 SDK 5 的 JCE 提供者支援機制的相關資訊。如需支援之 Java 密碼編譯架構 (JCA) 介面和引擎類別的相關資訊 AWS CloudHSM,請參閱下列主題。

產生金鑰與金鑰對函數

Java AWS CloudHSM 軟體程式庫可讓您使用下列作業來產生金鑰與 key pair 功能。

  • RSA

  • EC

  • AES

  • DESede (Triple DES)請參閱備註 1

  • GenericSecret

密碼函數

Java 的 AWS CloudHSM 軟體程式庫支援下列演算法、模式和填補組合。

演算法 Mode 填補 備註
AES CBC

AES/CBC/NoPadding

AES/CBC/PKCS5Padding

實作 Cipher.ENCRYPT_MODECipher.DECRYPT_MODE

實作 Cipher.UNWRAP_MODE for AES/CBC NoPadding

AES ECB

AES/ECB/PKCS5Padding

AES/ECB/NoPadding

實作 Cipher.ENCRYPT_MODECipher.DECRYPT_MODE

AES CTR

AES/CTR/NoPadding

實作 Cipher.ENCRYPT_MODECipher.DECRYPT_MODE

AES GCM

AES/GCM/NoPadding

實作 Cipher.WRAP_MODECipher.UNWRAP_MODECipher.ENCRYPT_MODECipher.DECRYPT_MODE

執行 AES-GCM 加密時,HSM 會忽略請求中的初始化向量 (IV),並使用自己產生的 IV。操作完成後,您必須呼叫 Cipher.getIV() 以取得 IV。

AESWrap ECB

AESWrap/ECB/NoPadding

AESWrap/ECB/PKCS5Padding

AESWrap/ECB/ZeroPadding

實作 Cipher.WRAP_MODECipher.UNWRAP_MODE

DESede (三重 DES) CBC

DESede/CBC/PKCS5Padding

DESede/CBC/NoPadding

實作 Cipher.ENCRYPT_MODECipher.DECRYPT_MODE。請參閱下列備註 1 查看即將進行的變更。

DESede (三重 DES) ECB

DESede/ECB/NoPadding

DESede/ECB/PKCS5Padding

實作 Cipher.ENCRYPT_MODECipher.DECRYPT_MODE。請參閱下列備註 1 查看即將進行的變更。

RSA ECB

RSA/ECB/PKCS1Padding 請參閱備註 1

RSA/ECB/OAEPPadding

RSA/ECB/OAEPWithSHA-1ANDMGF1Padding

RSA/ECB/OAEPWithSHA-224ANDMGF1Padding

RSA/ECB/OAEPWithSHA-256ANDMGF1Padding

RSA/ECB/OAEPWithSHA-384ANDMGF1Padding

RSA/ECB/OAEPWithSHA-512ANDMGF1Padding

實作 Cipher.WRAP_MODECipher.UNWRAP_MODECipher.ENCRYPT_MODECipher.DECRYPT_MODE

RSA ECB

RSA/ECB/NoPadding

實作 Cipher.ENCRYPT_MODECipher.DECRYPT_MODE

RSAAESWrap ECB

RSAAESWrap/ECB/OAEPPadding

RSAAESWrap/ECB/OAEPWithSHA-1ANDMGF1Padding

RSAAESWrap/ECB/OAEPWithSHA-224ANDMGF1Padding

RSAAESWrap/ECB/OAEPWithSHA-256ANDMGF1Padding

RSAAESWrap/ECB/OAEPWithSHA-384ANDMGF1Padding

RSAAESWrap/ECB/OAEPWithSHA-512ANDMGF1Padding

實作 Cipher.WRAP_MODECipher.UNWRAP_MODE

簽署和驗證函數

Java AWS CloudHSM 軟體程式庫支援下列類型的簽章和驗證。使用用戶端 SDK 5 和具有雜湊功能的簽章演算法,資料會先在軟體中進行本機雜湊處理,然後再傳送至 HSM 以進行簽章/驗證。這意味著 SDK 可以對任何大小的資料進行雜湊處理。

RSA 簽章類型

  • NONEwithRSA

  • RSASSA-PSS

  • SHA1withRSA

  • SHA1withRSA/PSS

  • SHA1withRSAandMGF1

  • SHA224withRSA

  • SHA224withRSAandMGF1

  • SHA224withRSA/PSS

  • SHA256withRSA

  • SHA256withRSAandMGF1

  • SHA256withRSA/PSS

  • SHA384withRSA

  • SHA384withRSAandMGF1

  • SHA384withRSA/PSS

  • SHA512withRSA

  • SHA512withRSAandMGF1

  • SHA512withRSA/PSS

ECDSA 簽章類型

  • NONEwithECDSA

  • SHA1withECDSA

  • SHA224withECDSA

  • SHA256withECDSA

  • SHA384withECDSA

  • SHA512withECDSA

Digest 函數

Java 的 AWS CloudHSM 軟體程式庫支援下列訊息摘要。使用用戶端 SDK 5,資料會在軟體中進行本機雜湊處理。這意味著 SDK 可以對任何大小的資料進行雜湊處理。

  • SHA-1

  • SHA-224

  • SHA-256

  • SHA-384

  • SHA-512

雜湊訊息驗證碼 (HMAC) 函數

適用於 Java 的 AWS CloudHSM 軟體程式庫支援下列 HMAC 演算法。

  • HmacSHA1(最大數據大小(以字節為單位:16288)

  • HmacSHA224(資料大小上限 (位元組):16256)

  • HmacSHA256(最大數據大小(以字節為單位:16288)

  • HmacSHA384(最大數據大小(以字節為單位:16224)

  • HmacSHA512(最大數據大小(以字節為單位:16224)

加密式訊息驗證程式碼 (CMAC) 函數

CMAC (加密式訊息驗證程式碼) 使用區塊密碼和金錀建立訊驗證代碼 (MAC)。與 HMAC 不同之處在於,它們使用 MAC 區塊對稱金錀方法而非雜湊方法。

適用於 Java 的 AWS CloudHSM 軟體程式庫支援下列 CMAC 演算法。

  • AESCMAC

使用金鑰 Factory 將金鑰轉換為金錀規格

您可以使用金鑰工廠將金鑰轉換為金鑰規格。 AWS CloudHSM 有兩種類型的 JCE 關鍵工廠:

SecretKeyFactory:用於匯入或導出對稱金鑰。使用時 SecretKeyFactory,您可以傳遞支援的金鑰或支援的金鑰 KeySpec 來匯入或衍生對稱金鑰。 AWS CloudHSM以下是支援的規格 KeyFactory:

  • FOR SecretKeyFactory 的generateSecret方法支持以下KeySpec類:

    • KeyAttributesMap可用於將具有其他屬性的金鑰位元組匯入為 CloudHSM 金鑰。可從此處查看範例。

    • SecretKeySpec可用來將對稱金鑰規格匯入為 CloudHSM 金鑰。

    • AesCmacKdfParameterSpec可用於使用另一個 CloudHSM AES 金鑰衍生對稱金鑰。

注意

SecretKeyFactory的translateKey方法採用任何實現密鑰接口的密鑰

KeyFactory:用於匯入非對稱金鑰。使用時 KeyFactory,您可以傳遞支援的金鑰或支援 KeySpec 將非對稱金鑰匯入 AWS CloudHSM。如需詳細資訊,請參閱下列資源:

  • 對於 KeyFactory的generatePublic方法,支持以下KeySpec類:

  • 適用於 RSA 和 EC KeyAttributesMap KeyTypes 的 CloudHSM,包括:

    • 適用於 RSA 和 KeyAttributesMap EC 公用的 CloudHSM。 KeyTypes可從此處查看範例。

    • EncodedKeySpec適用於 RSA 和 EC 公鑰的 X509

    • RSA 公開金PublicKeySpec鑰的 RSA

    • EC 公開金鑰PublicKeySpec的 EC

  • 對於 KeyFactory的generatePrivate方法,支持以下KeySpec類:

  • 適用於 RSA 和 EC KeyAttributesMap KeyTypes 的 CloudHSM,包括:

For KeyFactory 的translateKey方法,它接受任何實現密鑰接口的密鑰

機制註釋

[1] 根據 NIST 指引,在 2023 年之後,FIPS 模式下的叢集不允許這樣做。對於非 FIP 模式下的叢集,在 2023 之後仍然允許。如需詳細資訊,請參閱 FIPS140 法規遵循:淘汰機制