CloudHSM CLI を使用して AES-PKCS5-PAD でキーのラッピングを解除する
CloudHSM CLI の key unwrap aes-pkcs5-pad コマンドを使用して、AES ラッピングキーと AES-PKCS5-PAD
ラップ解除メカニズムを使用してペイロードキーのラップを解除します。
ラップ解除されたキーは、AWS CloudHSM によって生成されたキーと同じ方法で使用できます。ローカルで生成されなかったことを示すために、local
属性は false
に設定されます。
key unwrap aes-pkcs5-pad コマンドを使用するには、AWS CloudHSM クラスターに AES ラッピングキーがあり、その unwrap
属性を true
に設定する必要があります。
ユーザーのタイプ
このコマンドは、次のタイプのユーザーが実行できます。
-
Crypto User (CU)
要件
-
このコマンドを実行するには、CU としてログインする必要があります。
構文
aws-cloudhsm >
help key unwrap aes-pkcs5-pad
Usage: key unwrap aes-pkcs5-pad [OPTIONS] --filter [
<FILTER>
...] --key-type-class<KEY_TYPE_CLASS>
--label<LABEL>
<--data-path<DATA_PATH>
|--data<DATA>
> Options: --cluster-id<CLUSTER_ID>
Unique Id to choose which of the clusters in the config file to run the operation against. If not provided, will fall back to the value provided when interactive mode was started, or error --filter [<FILTER>
...] Key reference (e.g. key-reference=0xabc) or space separated list of key attributes in the form of attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE to select a key to unwrap with --data-path<DATA_PATH>
Path to the binary file containing the wrapped key data --data<DATA>
Base64 encoded wrapped key data --attributes [<UNWRAPPED_KEY_ATTRIBUTES>
...] Space separated list of key attributes in the form of KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE for the unwrapped key --key-type-class<KEY_TYPE_CLASS>
Key type and class of wrapped key [possible values: aes, des3, ec-private, generic-secret, rsa-private] --label<LABEL>
Label for the unwrapped key --session Creates a session key that exists only in the current session. The key cannot be recovered after the session ends -h, --help Print help
例
これらの例は、unwrap
属性値を true
に設定した AES キーを使用して key unwrap aes-pkcs5-pad コマンドを使用する方法を示しています。
例: Base64 でエンコードされたラッピングされたキーデータからペイロードキーのラッピングを解除する
aws-cloudhsm >
key unwrap aes-pkcs5-pad --key-type-class aes --label aes-unwrapped --filter attr.label=aes-example --data MbuYNresfOKyGNnxKWen88nSfX+uUE/0qmGofSisicY=
{ "error_code": 0, "data": { "key": { "key-reference": "0x00000000001c08e3", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "full" }, "attributes": { "key-type": "aes", "label": "aes-unwrapped", "id": "0x", "check-value": "0x8d9099", "class": "secret-key", "encrypt": false, "decrypt": false, "token": true, "always-sensitive": false, "derive": false, "destroyable": true, "extractable": true, "local": false, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": true, "trusted": false, "unwrap": false, "verify": true, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 16 } } } }
例: データパスを介して提供されたペイロードキーのラッピングを解除する
aws-cloudhsm >
key unwrap aes-pkcs5-pad --key-type-class aes --label aes-unwrapped --filter attr.label=aes-example --data-path payload-key.pem
{ "error_code": 0, "data": { "key": { "key-reference": "0x00000000001c08e3", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "full" }, "attributes": { "key-type": "aes", "label": "aes-unwrapped", "id": "0x", "check-value": "0x8d9099", "class": "secret-key", "encrypt": false, "decrypt": false, "token": true, "always-sensitive": false, "derive": false, "destroyable": true, "extractable": true, "local": false, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": true, "trusted": false, "unwrap": false, "verify": true, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 16 } } } }
引数
<CLUSTER_ID>
-
このオペレーションを実行するクラスターの ID。
必須: 複数のクラスターが設定されている場合。
<FILTER>
-
キーリファレンス (例:
key-reference=0xabc
) またはattr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
形式のキー属性のスペース区切りリストを使用して、ラッピングを解除するキーを選択します。必須: はい
<DATA_PATH>
-
ラッピングされたキーデータを含むバイナリファイルへのパス。
必須: はい (Base64 でエンコードされたデータを通じて提供される場合を除く)
<DATA>
-
Base64 でエンコードされたラッピングされたキーデータ。
必須: はい (データパスを通じて提供される場合を除く)
<ATTRIBUTES>
-
ラッピングされたキーの
KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
形式のキー属性のスペース区切りリスト。必須:いいえ
<KEY_TYPE_CLASS>
-
ラッピングされたキーのキータイプとクラス [可能な値:
aes
、des3
、ec-private
、generic-secret
、rsa-private
]。必須: はい
<LABEL>
-
ラッピングされていないキーのラベル。
必須: はい
<SESSION>
-
現在のセッションにのみ存在するセッションキーを作成します。セッション終了後、キーをリカバリすることはできません。
必須:いいえ