翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
クライアント SDK 5 の JCE プロバイダーで AWS CloudHSM サポートされているメカニズム
このトピックでは、 AWS CloudHSM クライアント 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 | ECB |
|
|
| AES | CTR |
|
|
| AES | GCM |
|
AES-GCM 暗号化の実行時に、HSM はリクエスト内の初期化ベクトル (IV) を無視し、独自に IV を生成して使用します。オペレーションが完了したら、 |
| AESWrap | ECB |
|
|
| DESede (Triple DES) | CBC |
|
|
| DESede (Triple DES) | ECB |
|
|
| RSA | ECB |
|
|
| RSA | ECB |
|
|
| RSAAESWrap | ECB |
|
|
署名および検証
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
ダイジェスト関数
Java 用の AWS CloudHSM ソフトウェアライブラリは、次のメッセージダイジェストをサポートしています。クライアント 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
キーアグリーメント関数
Java 用の AWS CloudHSM ソフトウェアライブラリは、Key Derivation Functions (KDF) を使用した ECDH をサポートしています。次の KDF タイプがサポートされています。
キーファクトリを使用してキーをキー仕様に変換します
キーファクトリを使用してキーをキー仕様に変換できます。 AWS CloudHSM には、JCE 用の 2 種類のキーファクトリがあります。
SecretKeyFactory: 対称キーをインポートまたは派生させるために使用されます。SecretKeyFactory を使用すると、サポートされているキーまたはサポートされている KeySpec を渡して、対称キーを AWS CloudHSMにインポートまたは派生させることができます。KeyFactory でサポートされている仕様は次のとおりです。
-
SecretKeyFactory
generateSecretのメソッドでは、以下の KeySpecクラスがサポートされています。 KeyAttributesMap を使用して、追加の属性を持つキーバイトを CloudHSM キーとしてインポートできます。例はこちら
からご覧いただけます。 SecretKeySpec
を使用すると、対称キースペックを CloudHSM キーとしてインポートできます。 AESCMackDFParameterSpec を使用すると、別の CloudHSM AES キーを使用して対称キーを派生できます。
注記
SecretKeyFactory の translateKey メソッドは、キー
KeyFactory: 非対称キーのインポートに使用されます。SecretKeyFactory を使用すると、サポートされているキーまたはサポートされている KeySpec を渡して、非対称キーを AWS CloudHSMにインポートすることができます。詳細については、以下のリソースを参照してください。
KeyFactory
generatePublicのメソッドでは、次の KeySpecクラスがサポートされています。 RSA と EC の両方の KeyTypes に対応する CloudHSM KeyAttributesMap には以下が含まれます。
RSA と EC の両方のパブリック KeyTypes に対応する CloudHSM KeyAttributesMap。例はこちら
からご覧いただけます RSA と EC パブリックキー両方向け X509EncodedKeySpec
RSA パブリックキー向け RSAPublicKeySpec
EC パブリックキー向け ECPublicKeySpec
KeyFactory
generatePrivateのメソッドでは、次の KeySpecクラスがサポートされています。 RSA と EC の両方の KeyTypes に対応する CloudHSM KeyAttributesMap には以下が含まれます。
RSA と EC の両方のパブリック KeyTypes に対応する CloudHSM KeyAttributesMap。例はこちら
からご覧いただけます EC と RSA の両方のプライベートキー向け PKCS8EncodedKeySpec
RSA プライベートキー向け RSAPrivateCrtKeySpec
EC プライベートキー向け ECPrivateKeySpec
KeyFactory の translateKey メソッドでは、キーインターフェイス
メカニズムの注釈
[1] NIST ガイダンスに従い、2023 年以降の FIPS モードのクラスターでは、これは許可されません。FIPS 以外のモードのクラスターでは、2023 年以降も許可されます。詳細については、「FIPS 140 コンプライアンス: 2024 年 メカニズムの非推奨」を参照してください。
[2] キー取得関数 (KDFs) は、RFC 8418 セクション 2.1