翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
PKCS #11 ライブラリは、 AWS CloudHSM クライアント SDK 3 の次のアルゴリズムをサポートしています。
PKCS #11 ライブラリのメカニズムと関数を示す表
PKCS #11 ライブラリは PKCS #11 仕様のバージョン 2.40 に準拠しています。PKCS#11 を使用して暗号化機能を呼び出すには、指定されたメカニズムで関数を呼び出します。次の表は、 AWS CloudHSMでサポートされている関数とメカニズムの組み合わせをまとめたものです。
サポートされている PKCS#11 メカニズムと関数を示すテーブルの解釈
✔ マークは、 が関数のメカニズム AWS CloudHSM をサポートしていることを示します。PKCS #11 仕様に一覧表示されている利用可能な関数がすべてサポートされているわけではありません。✖ マークは、PKCS #11 標準で許可されている場合でも、 AWS CloudHSM が指定された関数のメカニズムをまだサポートしていないことを示します。空のセルは、PKCS #11 標準で特定の関数のメカニズムがサポートされていないことを示します。
メカニズム |
関数 |
||||||
---|---|---|---|---|---|---|---|
|
キーの生成またはキーペア |
署名と検証 |
SR と VR |
ダイジェスト |
暗号化と復号 |
派生キー |
ラップとラップ解除 |
|
✔ |
|
|
|
|
|
|
|
✔2 |
|
|
|
|
|
|
|
|
✔ |
|
|
✔ |
|
|
|
✔1 | ✖ | ✔1 |
|
✔1 | ||
|
|
|
|
|
✔1 |
|
✔6 |
|
|
✔3.2 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
✔1 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
✔ |
|
|
|
|
|
|
|
|
✔1 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
|
|
|
|
✔5 |
|
|
|
|
|
|
|
✔ |
|
|
✔ |
|
|
|
|
|
|
|
✔ |
|
|
|
|
|
|
|
|
|
|
|
✔ |
|
✖ |
|
|
|
|
|
✔ |
|
✖ |
|
|
|
|
|
✔3.3 |
|
✖ |
|
|
|
|
|
✔ |
|
✖ |
|
✔ |
|
|
|
|
|
|
|
|
|
|
|
✔3.3 |
|
✖ |
|
|
|
|
|
✔ |
|
✖ |
|
|
|
|
|
✔ |
|
✖ |
|
|
|
|
|
|
✔7.1 |
|
|
|
|
|
|
✔7.1 |
|
✔7.1 |
|
|
|
|
✔3.1 |
|
|
|
|
|
✔3.3 |
|
|
|
|
|
|
|
|
|
✔3.1 |
|
|
|
|
|
✔3.3 |
|
|
|
|
|
|
|
|
|
✔3.1 |
|
|
|
|
|
✔3.3 |
|
|
|
|
|
|
|
|
|
✔3.1 |
|
|
|
|
|
✔3.3 |
|
|
|
|
|
|
|
|
|
✔3.1 |
|
|
|
|
|
✔3.3 |
|
|
|
|
|
|
|
|
|
|
|
|
✔ |
|
|
|
|
|
|
|
✔ |
|
|
|
|
|
|
|
✔ |
|
|
|
|
|
|
|
✔7.1 |
|
|
|
|
|
|
|
✔7.1 |
|
|
|
|
|
|
|
✔7.1 |
メカニズムの注釈
-
[1] シングルパートのオペレーションのみ
-
[2] メカニズムは機能的には
CKM_RSA_PKCS_KEY_PAIR_GEN
のメカニズムと似ていますが、p
とq
の生成に関してより強力な保証を提供します。 [3.1] クライアント SDK AWS CloudHSM に基づいてハッシュを異なる方法でアプローチします。クライアント SDK 3 では、ハッシュを行う場所はデータのサイズと、シングルパートオペレーションとマルチパートオペレーションのどちらを使用するかによって異なります。
クライアント SDK 3 のシングルパートのオペレーション
表 3.1 に、クライアント SDK 3 の各メカニズムの最大のデータ設定サイズを表します。ハッシュ全体が HSM 内で計算されます。16KB を超えるデータサイズはサポートされません。
表 3.1 シングルパートオペレーションの最大のデータ設定サイズ [メカニズム] [最大データサイズ] CKM_SHA_1
16296 CKM_SHA224
16264 CKM_SHA256
16296 CKM_SHA384
16232 CKM_SHA512
16232 クライアント SDK 3 のマルチパートオペレーション
16 KB を超えるデータサイズのサポートについては、データサイズによってハッシュが行われる場所が決まります。16 KB 未満のデータバッファは HSM 内でハッシュされます。16 KBからシステムの最大のデータサイズまでのバッファは、ソフトウェアでローカルにハッシュされます。[留意点]: ハッシュ関数は機密情報の暗号化を必要としないため、HSM の外部で安全にコンピューティングすることができます。
[3.2] クライアント SDK に基づいてハッシュを異なる方法で AWS CloudHSM アプローチします。クライアント SDK 3 では、ハッシュを行う場所はデータのサイズと、シングルパートオペレーションとマルチパートオペレーションのどちらを使用するかによって異なります。
クライアント SDK 3 のシングルパートのオペレーション
表 3.2 に、クライアント SDK 3 の各メカニズムの最大のデータ設定サイズを表します。16KB を超えるデータサイズはサポートされません。
表 3.2 シングルパートオペレーションの最大のデータ設定サイズ [メカニズム] [最大データサイズ] CKM_SHA1_RSA_PKCS
16296 CKM_SHA224_RSA_PKCS
16264 CKM_SHA256_RSA_PKCS
16296 CKM_SHA384_RSA_PKCS
16232 CKM_SHA512_RSA_PKCS
16232 CKM_SHA1_RSA_PKCS_PSS
16296 CKM_SHA224_RSA_PKCS_PSS
16264 CKM_SHA256_RSA_PKCS_PSS
16296 CKM_SHA384_RSA_PKCS_PSS
16232 CKM_SHA512_RSA_PKCS_PSS
16232 CKM_ECDSA_SHA1
16296 CKM_ECDSA_SHA224
16264 CKM_ECDSA_SHA256
16296 CKM_ECDSA_SHA384
16232 CKM_ECDSA_SHA512
16232 クライアント SDK 3 のマルチパートオペレーション
16 KB を超えるデータサイズのサポートについては、データサイズによってハッシュが行われる場所が決まります。16 KB 未満のデータバッファは HSM 内でハッシュされます。16 KBからシステムの最大のデータサイズまでのバッファは、ソフトウェアでローカルにハッシュされます。[留意点]: ハッシュ関数は機密情報の暗号化を必要としないため、HSM の外部で安全にコンピューティングすることができます。
[3.3] 以下のいずれかのメカニズムを使用してデータを操作する際、データバッファが最大データサイズを超えるとエラーになります。これらのメカニズムでは、すべてのデータ処理が HSM 内で行われる必要があります。次の表は、各メカニズムに設定されている最大データサイズを示します:
表 3.3 最大のデータ設定サイズ [メカニズム] [最大データサイズ] 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 [4] AES-GCM の暗号化を実行している際、HSM はアプリケーションからの初期化ベクトル (IV) データを受け入れません。HSM が生成した IV を使用する必要があります。HSM で生成された 12 バイトの IV は、指定した
CK_GCM_PARAMS
パラメータ構造の pIV 要素が指すメモリ参照に書き込まれます。ユーザーが混乱しないよう、バージョン 1.1.1 以降の PKCS#11 SDK では、AES-GCM 暗号化が初期化されると、pIV はゼロ化されたバッファを指し示すようになっています。-
[5]クライアント SDK 3 のみ。メカニズムは SSL/TLS オフロードのケースをサポートするために実装されており、HSM 内の一部でのみ実行されます。このメカニズムを使用する前に、「の PKCS #11 ライブラリの既知の問題 AWS CloudHSM」の「Issue: ECDH key derivation is executed only partially within the HSM」を参照してください。
CKM_ECDH1_DERIVE
では、 secp521r1 (P-521) カーブはサポートされません。 [6] 次の
CK_MECHANISM_TYPE
およびCK_RSA_PKCS_MGF_TYPE
は、CK_RSA_PKCS_OAEP_PARAMS
のCKM_RSA_PKCS_OAEP
としてサポートされています:-
CKG_MGF1_SHA1
を使用するCKM_SHA_1
-
CKG_MGF1_SHA224
を使用するCKM_SHA224
-
CKG_MGF1_SHA256
を使用するCKM_SHA256
-
CKM_MGF1_SHA384
を使用するCKM_SHA384
-
CKM_MGF1_SHA512
を使用するCKM_SHA512
-
[7.1] ベンダー定義のメカニズム。CloudHSM ベンダー定義のメカニズムを使用するには、コンパイル時に PKCS #11 アプリケーションに
/opt/cloudhsm/include/pkcs11t.h
を含める必要があります。CKM_CLOUDHSM_AES_GCM
: この独自のメカニズムは、標準CKM_AES_GCM
よりもプログラム的に安全な代替手段です。これは、HSM によって生成された IV を、暗号の初期化中に提供されるCK_GCM_PARAMS
構造体に書き戻すのではなく、暗号文の先頭に付加します。このメカニズムはC_Encrypt
、C_WrapKey
、C_Decrypt
、C_UnwrapKey
関数で使用できます。このメカニズムを使用する場合は、CK_GCM_PARAMS
構造体内の pIV 変数をNULL
に設定する必要があります。このメカニズムをC_Decrypt
およびC_UnwrapKey
と共に使用する場合、IV は、ラップ解除される暗号文の前に付加されることが想定されます。CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD
: PKCS #5 パディングを使用する AES キーラップCKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD
: ゼロパディングを使用する AES キーラップAES キーラップに関する追加情報については、[AES キーラップ] を参照してください。
[8] NIST ガイダンスに従い、2023 年以降の FIPS モードのクラスターでは、これは許可されません。FIPS 以外のモードのクラスターでは、2023 年以降も許可されます。詳細については、「FIPS 140 コンプライアンス: 2024 年 メカニズムの非推奨」を参照してください。