翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
KMU を使用して AWS CloudHSM キーをエクスポートする
AWS CloudHSM key_mgmt_util の wrapKey コマンドを使用して、対称キーまたはプライベートキーの暗号化されたコピーをハードウェアセキュリティモジュール (HSM) からファイルにエクスポートします。wrapKey を実行するときに、エクスポートするキー、エクスポートするキーを暗号化 (ラップ) するための HSM 上のキー、出力ファイルを指定します。
wrapKey
コマンドは、暗号化されたキーを指定したファイルに書き込みますが、キーを HSM から削除したり、暗号化オペレーションでのキーの使用を禁止したりすることはありません。同じキーを複数回エクスポートできます。
キーは、キーの所有者 (キーを作成した Crypto User (CU)) のみエクスポートできます。キーを共有するユーザーは、キーを暗号化オペレーションで使用することはできますが、エクスポートすることはできません。
暗号化されたキーを HSM に再度インポートするには、unWrapKey を使用します。HSM からプレーンテキストキーをエクスポートするには、必要に応じて exSymKey または exportPrivateKey を使用します。aesWrapUnwrap コマンドは、wrapKey で暗号化したキーを復号 (ラップ解除) することはできません。
key_mgmt_util コマンドを実行する前に、key_mgmt_util を起動し、Crypto User (CU) として HSM に ログインする 必要があります。
Syntax
wrapKey -h wrapKey -k
<exported-key-handle>
-w<wrapping-key-handle>
-out<output-file>
[-m<wrapping-mechanism>
] [-aad<additional authenticated data filename>
] [-t<hash-type>
] [-noheader] [-i<wrapping IV>
] [-iv_file<IV file>
] [-tag_size<num_tag_bytes>>
]
例
次のコマンドでは、192 ビット Triple DES (3DES) 対称キー (キーハンドル 7
) をエクスポートします。HSM で 256 ビット AES キー (キーハンドル 14
) を使用してキー 7
をラップします。次に、暗号化された 3DES キーを 3DES-encrypted.key
ファイルに書き込みます。
次の出力は、キー 7
(3DES キー) が正常にラップされて指定したファイルに書き込まれたことを示しています。暗号化されたキーの長さは 307 バイトです。
Command:
wrapKey -k 7 -w 14 -out 3DES-encrypted.key -m 4
Key Wrapped. Wrapped Key written to file "3DES-encrypted.key length 307 Cfm2WrapKey returned: 0x00 : HSM Return: SUCCESS
パラメータ
- -h
-
コマンドに関するヘルプを表示します。
必須: はい
- -k
-
エクスポートするキーのキーハンドル。所有する対称キーまたはプライベートキーのキーハンドルを入力します。キーハンドルを見つけるには、findKey コマンドを使用します。
キーがエクスポート可能であることを検証するには、getAttribute コマンドを使用して、
OBJ_ATTR_EXTRACTABLE
属性の値を取得します。この属性は定数354
で表されます。キー属性の解釈については、AWS CloudHSM KMU のキー属性リファレンス を参照してください。ユーザーが所有するキーのみをエクスポートすることができます。キーの所有者を確認するには、getKeyInfo コマンドを使用します。
必須: はい
- -w
-
ラップキーを指定します。HSM の AES キーまたは RSA キーのキーハンドルを入力します。このパラメータは必須です。キーハンドルを見つけるには、findKey コマンドを使用します。
ラッピングキーを作成するには、genSymKey を使用して AES キー (タイプ 31) を生成するか、 genRSAKeyPair を使用して RSA キーペア (タイプ 0) を生成します。RSA キーペアを使用している場合は、必ず一方のキーでキーをラップし、もう一方のキーでアンラップしてください。キーをラッピングキーとして使用できることを確認するには、getAttribute を使用して、定数
OBJ_ATTR_WRAP
で表される262
属性の値を取得します。必須: はい
- -out
-
出力ファイルのパスと名前。コマンドが成功すると、このファイルに、エクスポートされたキーの暗号化されたコピーが格納されます。既存のファイルがある場合は、警告なしに上書きされます。
必須: はい
- -m
-
ラップメカニズムを表す値。CloudHSM は、次のメカニズムをサポートしています。
メカニズム 値 AES_KEY_WRAP_PAD_PKCS5
4 NIST_AES_WRAP_NO_PAD
5 NIST_AES_WRAP_PAD
6 RSA_AES
7 RSA_OAEP
(最大データサイズについてはこのセクションの後半のメモを参照)8 AES_GCM
10 CLOUDHSM_AES_GCM
11 RSA_PKCS
(最大データサイズについてはこのセクションの後半のメモを参照)。今後の変更については、以下の注記「1」を参照してください。12 必須: はい
注記
RSA_OAEP
ラップメカニズムを使用する場合、ラップ可能な最大キーサイズは、次のように、RSA キーのモジュールと、指定したハッシュの長さによって決まります: 最大キーサイズ = (modulusLengthInBytes-2*hashLengthInBytes-2)。RSA_PKCS ラップメカニズムを使用する場合、ラップ可能な最大キーサイズは、RSA キーのモジュールによって次のように決まります: 最大キーサイズ = (modulusLengthInBytes -11)。
- -t
-
ハッシュアルゴリズムを表す値。CloudHSM は、次のアルゴリズムをサポートしています。
ハッシュアルゴリズム 値 SHA1
2 SHA256
3 SHA384
4 SHA512
5 SHA224
(RSA_AES
およびRSA_OAEP
メカニズムに対して有効)6 必須: いいえ
- -aad
AAD
を含むファイル名。注記
AES_GCM
およびCLOUDHSM_AES_GCM
メカニズムに対してのみ有効です。必須: いいえ
- -noheader
-
CloudHSM 固有の キー属性を指定するヘッダーを除外します。このパラメータは、key_mgmt_util 以外のツールでキーをアンラップする場合に のみ 使用してください。
必須: いいえ
- -i
初期化ベクトル (IV) (16 進値)。
注記
CLOUDHSM_AES_KEY_WRAP
とNIST_AES_WRAP
メカニズムの-noheader
パラメータで渡された場合にのみ有効です。必須: いいえ
- -iv_file
応答で取得した IV 値を書き込むファイル。
注記
AES_GCM
メカニズムの-noheader
パラメータで渡された場合にのみ有効です。必須: いいえ
- -tag_size
ラップされた blob とともに保存されるタグのサイズ。
注記
AES_GCM
とCLOUDHSM_AES_GCM
メカニズムの-noheader
パラメータで渡された場合にのみ有効です。タグの最小サイズは 8 です。必須: いいえ
[1] NIST ガイダンスに従い、2023 年以降の FIPS モードのクラスターでは、これは許可されません。FIPS 以外のモードのクラスターでは、2023 年以降も許可されます。詳細については、「FIPS 140 コンプライアンス: 2024 年 メカニズムの非推奨」を参照してください。