KMU を使用して AWS CloudHSM キーをエクスポートする - AWS CloudHSM

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

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_WRAPNIST_AES_WRAP メカニズムの -noheader パラメータで渡された場合にのみ有効です。

必須: いいえ

-iv_file

応答で取得した IV 値を書き込むファイル。

注記

AES_GCM メカニズムの -noheader パラメータで渡された場合にのみ有効です。

必須: いいえ

-tag_size

ラップされた blob とともに保存されるタグのサイズ。

注記

AES_GCMCLOUDHSM_AES_GCM メカニズムの -noheader パラメータで渡された場合にのみ有効です。タグの最小サイズは 8 です。

必須: いいえ

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

関連トピック