JCE プロバイダーでサポートされているメカニズム - AWS CloudHSM

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

JCE プロバイダーでサポートされているメカニズム

このトピックでは、クライアント SDK 5 で JCE プロバイダーがサポートするメカニズムについて説明します。でサポートされている Java 暗号化アーキテクチャ (JCA) インターフェイスとエンジンクラスについては AWS CloudHSM、以下のトピックを参照してください。

キーとキーペアの関数を生成する

Java 用の AWS CloudHSM ソフトウェアライブラリでは、次のオペレーションを使用してキーとキーペア関数を生成できます。

  • RSA

  • EC

  • AES

  • DESede (Triple DES)注記「1」を参照

  • GenericSecret

暗号関数

Java 用の AWS CloudHSM ソフトウェアライブラリは、次のアルゴリズム、モード、パディングの組み合わせをサポートしています。

アルゴリズム モード [Padding] (パディング) メモ
AES CBC

AES/CBC/NoPadding

AES/CBC/PKCS5Padding

Cipher.ENCRYPT_MODE および Cipher.DECRYPT_MODE を実装します。

Cipher.UNWRAP_MODE for AES/CBC NoPadding を実装します

AES ECB

AES/ECB/PKCS5Padding

AES/ECB/NoPadding

Cipher.ENCRYPT_MODE および Cipher.DECRYPT_MODE を実装します。

AES CTR

AES/CTR/NoPadding

Cipher.ENCRYPT_MODE および Cipher.DECRYPT_MODE を実装します。

AES GCM

AES/GCM/NoPadding

Cipher.WRAP_MODECipher.UNWRAP_MODECipher.ENCRYPT_MODE、および Cipher.DECRYPT_MODE を実装します。

AES-GCM 暗号化の実行時に、HSM はリクエスト内の初期化ベクトル (IV) を無視し、独自に IV を生成して使用します。オペレーションが完了したら、Cipher.getIV() を呼び出して IV を取得する必要があります。

AESWrap ECB

AESWrap/ECB/NoPadding

AESWrap/ECB/PKCS5Padding

AESWrap/ECB/ZeroPadding

Cipher.WRAP_MODE および Cipher.UNWRAP_MODE を実装します。

DESede (Triple DES) CBC

DESede/CBC/PKCS5Padding

DESede/CBC/NoPadding

Cipher.ENCRYPT_MODE および Cipher.DECRYPT_MODE を実装します。今後の変更については、以下の注記「1」を参照してください。

DESede (Triple DES) ECB

DESede/ECB/NoPadding

DESede/ECB/PKCS5Padding

Cipher.ENCRYPT_MODE および Cipher.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_MODE、および Cipher.DECRYPT_MODE を実装します。

RSA ECB

RSA/ECB/NoPadding

Cipher.ENCRYPT_MODE および Cipher.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_MODE および Cipher.UNWRAP_MODE を実装します。

署名および検証

Java 用の AWS CloudHSM ソフトウェアライブラリは、次のタイプの署名と検証をサポートしています。Client 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

ダイジェスト関数

Java 用の AWS CloudHSM ソフトウェアライブラリは、次のメッセージダイジェストをサポートしています。Client SDK 5 では、データはソフトウェアでローカルにハッシュされます。つまり、SDK でハッシュできるデータのサイズに制限はありません。

  • SHA-1

  • SHA-224

  • SHA-256

  • SHA-384

  • SHA-512

Hash-based Message Authentication Code (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

キーファクトリを使用してキーをキー仕様に変換します

キーファクトリを使用してキーをキー仕様に変換できます。 AWS CloudHSM には JCE 用の 2 種類のキーファクトリがあります。

SecretKeyFactory: 対称キーをインポートまたは取得するために使用されます。を使用すると SecretKeyFactory、サポートされているキーまたはサポートされている KeySpec を渡して、対称キーを にインポートまたは取得できます AWS CloudHSM。でサポートされている仕様は次のとおりです KeyFactory。

  • SecretKeyFactoryの generateSecretメソッドでは、次のKeySpecクラスがサポートされています。

    • KeyAttributesMapを使用して、追加属性を持つキーバイトを CloudHSM キーとしてインポートできます。例はこちらからご覧いただけます。

    • SecretKeySpecを使用して、対称キー仕様を CloudHSM キーとしてインポートできます。

    • AesCmacKdfParameterSpecは、別の CloudHSM AES キーを使用して対称キーを導出するために使用できます。

注記

SecretKeyFactoryの translateKeyメソッドは、キーインターフェイスを実装するすべてのキーを取得します。

KeyFactory: 非対称キーのインポートに使用されます。を使用すると KeyFactory、サポートされているキーを渡すか、サポートされているキー KeySpec を にインポートできます AWS CloudHSM。詳細については、以下のリソースを参照してください。

  • KeyFactoryの generatePublicメソッドでは、次のKeySpecクラスがサポートされています。

  • RSA と EC の両方の CloudHSM KeyAttributesMap KeyTypes。以下が含まれます。

  • KeyFactoryの generatePrivateメソッドでは、次のKeySpecクラスがサポートされています。

  • RSA と EC の両方の CloudHSM KeyAttributesMap KeyTypes。以下が含まれます。

KeyFactoryの translateKeyメソッドでは、キーインターフェイス を実装する任意のキーを取り込みます。

メカニズムの注釈

[1] NIST のガイダンスに従い、これは 2023 年以降、FIPS モードのクラスターでは許可されません。非 FIPS モードのクラスターの場合、2023 年以降も許可されます。詳細については、「FIPS 140 コンプライアンス: 2024 年 メカニズムの非推奨」を参照してください。