

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

# での AES キーラッピング AWS CloudHSM
<a name="manage-aes-key-wrapping"></a>

このトピックでは、AES キーラッピングのオプションについて説明します AWS CloudHSM。AES キーラップは、AES キー (ラップキー) を使用して、任意のタイプの別のキー (ターゲットキー) をラップします。キーラップを使用して、保存されているキーを保護したり、安全でないネットワーク上でキーを送信したりします。

**Topics**
+ [サポートされているアルゴリズム](#supported-types)
+ [での AES キーラップの使用 AWS CloudHSM](#use-aes-key-wrap)

## サポートされているアルゴリズム
<a name="supported-types"></a>

AWS CloudHSM には AES キーラッピング用の 3 つのオプションがあり、それぞれがラップする前にターゲットキーをパディングする方法に基づいています。パディングは、キーラップを呼び出すときに、使用するアルゴリズムに従って自動的に行われます。次の表は、サポートされているアルゴリズムと関連する詳細の一覧で、アプリケーションに適したラップメカニズムを選択するのに役立ちます。


| AES キーラップアルゴリズム |  の仕様 | サポートされているターゲットキーのタイプ | パディングスキーム | AWS CloudHSM クライアントの可用性  | 
| --- | --- | --- | --- | --- | 
| ゼロパディングを使用する AES キーラップ  | [RFC 5649](https://tools.ietf.org/html/rfc5649) と [SP 800–38F](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38F.pdf) | すべて | 必要に応じて、キービットの後にゼロを追加してブロック整列する | SDK 3.1 以降 | 
| パディングなしの AES キーラップ | [RFC 3394](https://tools.ietf.org/html/rfc3394) と [SP 800–38F](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38F.pdf) | AES や 3DES などのブロック整列キー  | なし | SDK 3.1 以降 | 
| PKCS \$15 パディングを使用する AES キーラップ | なし | すべて |  ブロック整列するために、PKCS \$15 パディングスキームに従って最低 8 バイトが追加されます   | すべて | 

上記の表の AES キーラップアルゴリズムをアプリケーションで使用する方法については、「[AWS CloudHSMでの AES キー ラップの使用](#use-aes-key-wrap)」を参照してください。

### AES キーラップの初期化ベクトルについて
<a name="understand-padding-iv"></a>

ラップの前に、CloudHSM はデータの整合性を保つためにターゲットキーに初期化ベクトル (IV) を追加します。各キーラップアルゴリズムには、許可される IV のタイプに特定の制限があります。IV を設定するには AWS CloudHSM、次の 2 つのオプションがあります。
+ 暗黙的: IV を NULL に設定すると、CloudHSM はラップおよびラップ解除オペレーションのためにそのアルゴリズムのデフォルト値を使用します (推奨)
+ 明示的: デフォルトの IV 値をキーラップ関数に渡すことによって IV を設定します 

**重要**  
アプリケーションで使用している IV を理解する必要があります。キーをラップ解除するには、キーをラップするために使用したのと同じ IV を指定する必要があります。暗黙的な IV を使用してラップする場合は、暗黙的な IV を使用してラップ解除します。暗黙的な IV では、CloudHSM はデフォルト値を使用してラップ解除します。

次の表に、ラップアルゴリズムで指定する IV の許容値を示します。


****  

| AES キーラップアルゴリズム | 暗黙的な IV | 明示的な IV | 
| --- | --- | --- | 
| ゼロパディングを使用する AES キーラップ  | 必須 デフォルト値: (IV は仕様に基づいて内部で計算されます) | 許可されていません | 
| パディングなしの AES キーラップ | 許可 (推奨) デフォルト値: `0xA6A6A6A6A6A6A6A6` | 許可されています この値のみが受け入れられます: `0xA6A6A6A6A6A6A6A6` | 
| PKCS \$15 パディングを使用する AES キーラップ | 許可 (推奨) デフォルト値: `0xA6A6A6A6A6A6A6A6` | 許可されています この値のみが受け入れられます: `0xA6A6A6A6A6A6A6A6` | 

## での AES キーラップの使用 AWS CloudHSM
<a name="use-aes-key-wrap"></a>

 次のようにキーをラップおよびラップ解除します。
+ [PKCS \$111 library](pkcs11-library.md)] 中で、次の表に示すように `C_WrapKey` および `C_UnWrapKey` の関数のために適切なメカニズムを選択します。
+ [JCE provider](java-library.md) では、次の表に示すように、適切なアルゴリズム、モードとパディングの組み合わせ、暗号メソッド `Cipher.WRAP_MODE` および `Cipher.UNWRAP_MODE` の実装を選択します。
+ [CloudHSM CLI](cloudhsm_cli.md) で、次の表に示すように、サポートされている [CloudHSM CLI のキーラップコマンド](cloudhsm_cli-key-wrap.md) と [CloudHSM CLI のキーアンラップコマンド](cloudhsm_cli-key-unwrap.md) アルゴリズムのリストから適切なアルゴリズムを選択します。
+ [key\$1mgmt\$1util (KMU)](key_mgmt_util.md) では、次の表に示すように [KMU を使用して AWS CloudHSM キーをエクスポートする](key_mgmt_util-wrapKey.md) および [KMU を使用して AWS CloudHSM キーをラップ解除する](key_mgmt_util-unwrapKey.md) コマンドを適切な m 値とともに使用します。


****  

| AES キーラップアルゴリズム | PKCS \$111 メカニズム | Java メソッド | CloudHSM CLI サブコマンド | キー管理ユーティリティ (KMU) の引数 | 
| --- | --- | --- | --- | --- | 
| ゼロパディングを使用する AES キーラップ  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/cloudhsm/latest/userguide/manage-aes-key-wrapping.html)  | AESWrap/ECB/ZeroPadding | aes-zero-pad | m = 6 | 
| パディングなしの AES キーラップ |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/cloudhsm/latest/userguide/manage-aes-key-wrapping.html)  | AESWrap/ECB/NoPadding | aes-no-pad | m = 5 | 
| PKCS \$15 パディングを使用する AES キーラップ  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/cloudhsm/latest/userguide/manage-aes-key-wrapping.html)  | AESWrap/ECB/PKCS5Padding | aes-pkcs5-pad | m = 4 | 