用戶端 3 SDK JCE提供者 AWS CloudHSM 的支援機制 - AWS CloudHSM

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

用戶端 3 SDK JCE提供者 AWS CloudHSM 的支援機制

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

產生金鑰與金鑰對函數

適用於 Java AWS CloudHSM 的軟體程式庫可讓您使用下列操作來產生金鑰和金鑰對函數。

  • 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 的軟體程式庫支援下列訊息摘要。使用 Client 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) 函數

CMACs (密碼型訊息驗證碼) 使用區塊密碼和秘密金鑰建立訊息驗證碼 (MACs)。它們與 不同HMACs之處在於,它們使用 的區塊對稱金鑰方法,MACs而不是雜湊方法。

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

  • AESCMAC

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

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

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

  • 對於 SecretKeyFactorygenerateSecret的方法,支援下列KeySpec類別:

    • KeyAttributesMap可用來匯入具有額外屬性的金鑰位元組,做為 CloudHSM Key。可從此處查看範例。

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

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

注意

SecretKeyFactorytranslateKey的方法會取得任何實作金鑰介面的金鑰

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

  • 對於 KeyFactorygeneratePublic的方法,支援下列KeySpec類別:

  • 適用於 RSA和 EC HSM KeyAttributesMap 的雲端 KeyTypes,包括:

  • 對於 KeyFactorygeneratePrivate的方法,支援下列KeySpec類別:

  • 適用於 RSA和 EC HSM KeyAttributesMap 的雲端 KeyTypes,包括:

對於 KeyFactorytranslateKey的方法,它需要實作金鑰介面 的任何金鑰

機制註釋

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