AWS CloudHSM での AES キーラップ
このトピックでは、AWS CloudHSM での AES キーラップのオプションについて説明します。AES キーラップは、AES キー (ラップキー) を使用して、任意のタイプの別のキー (ターゲットキー) をラップします。キーラップを使用して、保存されているキーを保護したり、安全でないネットワーク上でキーを送信したりします。
サポートされているアルゴリズム
AWS CloudHSM は、AES キーラップに 3 つのオプションを提供します。各オプションは、ターゲットキーがラップされる前にどのようにパディングされるかに基づいています。パディングは、キーラップを呼び出すときに、使用するアルゴリズムに従って自動的に行われます。次の表は、サポートされているアルゴリズムと関連する詳細の一覧で、アプリケーションに適したラップメカニズムを選択するのに役立ちます。
AES キーラップアルゴリズム | の仕様 | サポートされているターゲットキーのタイプ | パディングスキーム | AWS CloudHSM クライアントの可用性 |
---|---|---|---|---|
ゼロパディングを使用する AES キーラップ | RFC 5649 |
すべて | 必要に応じて、キービットの後にゼロを追加してブロック整列する | SDK 3.1 以降 |
パディングなしの AES キーラップ | RFC 3394 |
AES や 3DES などのブロック整列キー | なし | SDK 3.1 以降 |
PKCS #5 パディングを使用する AES キーラップ | なし | すべて |
ブロック整列するために、PKCS #5 パディングスキームに従って最低 8 バイトが追加されます |
すべて |
上記の表の AES キーラップアルゴリズムをアプリケーションで使用する方法については、「AWS CloudHSM での AES キー ラップの使用」を参照してください。
AES キーラップの初期化ベクトルについて
ラップの前に、CloudHSM はデータの整合性を保つためにターゲットキーに初期化ベクトル (IV) を追加します。各キーラップアルゴリズムには、許可される IV のタイプに特定の制限があります。AWS CloudHSM には、IV を設定する 2 つのオプションがあります。
-
暗黙的: IV を NULL に設定すると、CloudHSM はラップおよびラップ解除オペレーションのためにそのアルゴリズムのデフォルト値を使用します (推奨)
-
明示的: デフォルトの IV 値をキーラップ関数に渡すことによって IV を設定します
重要
アプリケーションで使用している IV を理解する必要があります。キーをラップ解除するには、キーをラップするために使用したのと同じ IV を指定する必要があります。暗黙的な IV を使用してラップする場合は、暗黙的な IV を使用してラップ解除します。暗黙的な IV では、CloudHSM はデフォルト値を使用してラップ解除します。
次の表に、ラップアルゴリズムで指定する IV の許容値を示します。
AES キーラップアルゴリズム | 暗黙的な IV | 明示的な IV |
---|---|---|
ゼロパディングを使用する AES キーラップ | 必須 デフォルト値: (IV は仕様に基づいて内部で計算されます) |
許可されていません |
パディングなしの AES キーラップ | 許可 (推奨) デフォルト値: |
許可 この値のみが受け入れられます: |
PKCS #5 パディングを使用する AES キーラップ | 許可 (推奨) デフォルト値: |
許可 この値のみが受け入れられます: |
AWS CloudHSM での AES キーラップの使用
次のようにキーをラップおよびラップ解除します。
-
PKCS #11 library] 中で、次の表に示すように
C_WrapKey
およびC_UnWrapKey
の関数のために適切なメカニズムを選択します。 -
JCE provider では、次の表に示すように、適切なアルゴリズム、モードとパディングの組み合わせ、暗号メソッド
Cipher.WRAP_MODE
およびCipher.UNWRAP_MODE
の実装を選択します。 -
CloudHSM CLI で、次の表に示すように、サポートされている CloudHSM CLI のキーラップコマンド と CloudHSM CLI のキーアンラップコマンド アルゴリズムのリストから適切なアルゴリズムを選択します。
-
key_mgmt_util (KMU) では、次の表に示すように KMU を使用して AWS CloudHSM キーをエクスポートする および KMU を使用して AWS CloudHSM キーをアンラップする コマンドを適切な m 値とともに使用します。
AES キーラップアルゴリズム | PKCS #11 メカニズム | Java メソッド | CloudHSM CLI サブコマンド | キー管理ユーティリティ (KMU) の引数 |
---|---|---|---|---|
ゼロパディングを使用する AES キーラップ |
|
AESWrap/ECB/ZeroPadding |
aes-zero-pad | m = 6 |
パディングなしの AES キーラップ |
|
AESWrap/ECB/NoPadding |
aes-no-pad | m = 5 |
PKCS #5 パディングを使用する AES キーラップ |
|
AESWrap/ECB/PKCS5Padding |
aes-pkcs5-pad | m = 4 |