KMU を使用して AWS CloudHSM ファイルを暗号化および復号する
AWS CloudHSM key_mgmt_util の aesWrapUnwrap コマンドを使用して、ディスク上のファイルの内容を暗号化または復号化します。このコマンドは、暗号化キーをラップおよびラップ解除するように設計されていますが、4 KB (4096 バイト) 未満のデータを含むすべてのファイルに使用できます。
aesWrapUnwrap は AES キーのラップ
key_mgmt_util コマンドを実行する前に、key_mgmt_util を起動し、Crypto User (CU) として HSM に ログインする 必要があります。
Syntax
aesWrapUnwrap -h aesWrapUnwrap -m
<wrap-unwrap mode>
-f<file-to-wrap-unwrap>
-w<wrapping-key-handle>
[-i<wrapping-IV>
] [-out<output-file>
]
例
以下の例では、aesWrapUnwrap を使用してファイルの暗号化キーを暗号化および復号する方法を示します。
例 : 暗号化キーをラップする
次のコマンドでは、aesWrapUnwrap を使用してプレーンテキストで HSM からエクスポートされた Triple DES 対称キーを 3DES.key
ファイルにラップします。同様のコマンドを使用して、ファイルに保存されたキーをラップできます。
コマンドは、ラップモードを示す 1
の値で -m
パラメータを使用します。-w
パラメータを使用して HSM の AES キー (キーハンドル 6
) をラップキーとして指定します。ラップしたキーは 3DES.key.wrapped
ファイルに書き込まれます。
出力は、コマンドが正常に実行され、推奨されているデフォルトの IV をオペレーションが使用したことを示しています。
Command:
aesWrapUnwrap -f 3DES.key -w 6 -m 1 -out 3DES.key.wrapped
Warning: IV (-i) is missing. 0xA6A6A6A6A6A6A6A6 is considered as default IV result data: 49 49 E2 D0 11 C1 97 22 17 43 BD E3 4E F4 12 75 8D C1 34 CF 26 10 3A 8D 6D 0A 7B D5 D3 E8 4D C2 79 09 08 61 94 68 51 B7 result written to file 3DES.key.wrapped Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS
例 : 暗号化キーをラップ解除する
次の例では、aesWrapUnwrap を使用してラップ (暗号化) したキーをラップ解除 (復号) する方法を示します。HSM にキーをインポートする前に次のようなオペレーションを実行できます。たとえば、暗号化されたキーを imSymKey コマンドでインポートしようとすると、暗号化されたキーには、該当タイプのプレーンテキストキーに必要な形式がないため、エラーが返されます。
コマンドは 3DES.key.wrapped
ファイルのキーをラップ解除し、プレーンテキストを 3DES.key.unwrapped
ファイルに書き込みます。コマンドは、ラップ解除モードを示す -m
の値で 0
パラメータを使用します。-w
パラメータを使用して HSM の AES キー (キーハンドル 6
) をラップキーとして指定します。ラップしたキーは 3DES.key.unwrapped
ファイルに書き込まれます。
Command:
aesWrapUnwrap -m 0 -f 3DES.key.wrapped -w 6 -out 3DES.key.unwrapped
Warning: IV (-i) is missing. 0xA6A6A6A6A6A6A6A6 is considered as default IV result data: 14 90 D7 AD D6 E4 F5 FA A1 95 6F 24 89 79 F3 EE 37 21 E6 54 1F 3B 8D 62 result written to file 3DES.key.unwrapped Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS
パラメータ
- -h
-
コマンドに関するヘルプを表示します。
必須: はい
- -m
-
モードを指定します。ファイルの内容をラップ (暗号化) するには「
1
」と入力します。ファイルの内容をラップ解除 (復号) するには「0
」と入力します。必須: はい
- -f
-
ラップするファイルを指定します。4 KB (4096 バイト) 未満のデータを含むファイルを入力します。このオペレーションは、暗号化キーをラップおよびラップ解除するように設計されています。
必須: はい
- -w
-
ラップキーを指定します。HSM で AES キーのキーハンドルを入力します。このパラメータは必須です。キーハンドルを見つけるには、findKey コマンドを使用します。
ラッピングキーを作成するには、genSymKey を使用して AES キー (タイプ 31) を生成します。
必須: はい
- -i
-
アルゴリズムの代替の初期値 (IV) を指定します。代替を必要とする特殊な条件がなければ、デフォルト値を使用します。
デフォルト:
0xA6A6A6A6A6A6A6A6
。デフォルト値は AES キーのラップのアルゴリズム仕様で定義されています。 必須:いいえ
- -out
-
ラップまたはラップ解除されたキーを含む出力ファイルに代わりの名前を指定します。デフォルトは、ローカルディレクトリの
wrapped_key
(ラップオペレーション) およびunwrapped_key
(ラップ解除オペレーション) です。既存のファイルがある場合、aesWrapUnwrap は警告なしに上書きされます。コマンドが失敗すると、aesWrapUnwrap で内容のない出力ファイルが作成されます。
デフォルト: ラップ:
wrapped_key
。ラップ解除:unwrapped_key
。必須:いいえ