キーマテリアルを自分で管理・制御する必要がある場合は、KMS インスタンス内で外部キーマテリアル起源を持つキーを作成し、ご自身のキーマテリアルをインポートできます。本トピックでは、対称キーのキーマテリアルをインポートする方法について説明します。
ご利用のソフトウェアキー管理インスタンスまたはハードウェアキー管理インスタンスがキーマテリアルのインポートをサポートしていない場合、またはキーマテリアルのインポートが失敗した場合は、Alibaba Cloud テクニカルサポートまでお問い合わせいただき、インスタンスをスペックアップしてください。
機能概要
キーは KMS の基本リソースであり、キー ID、基本メタデータ(キーのステータスなど)、およびキーマテリアルで構成されます。キー作成時に、KMS にキーマテリアルを生成させるか、外部キーマテリアル起源を選択できます。外部キーマテリアル起源を選択した場合、外部キーマテリアルをキーにインポートする必要があります。この機能は一般的に Bring Your Own Key (BYOK) と呼ばれます。キーマテリアルのインポートをサポートする KMS キー管理タイプの詳細については、以下の表をご参照ください。キー管理タイプの詳細については、「キー管理タイプとキー仕様」をご参照ください。
キー管理タイプ | 対称キーマテリアルのインポート |
デフォルトキー |
|
ソフトウェア保護キー | |
ハードウェア保護キー |
注意事項
キーマテリアルを生成する際は、要件を満たす乱数ジェネレータを使用してください。
キーマテリアルをキーに初めてインポートした後、そのキーはそのキーマテリアルにバインドされ、他のキーマテリアルのインポートはできなくなります。
同一のキーマテリアルを KMS キーに複数回インポートできますが、異なるキーマテリアルを同じ KMS キーにインポートすることはできません。
キーのキーマテリアルが有効期限切れまたは削除された場合、再度同一のキーマテリアルをインポートすることで、キーを再び使用可能にできます。インポートされたキーマテリアルはエクスポートできません。キーマテリアルは安全に保管してください。
適用範囲
KMS インスタンスが購入済みかつ有効化済みである必要があります。詳細については、「KMS インスタンスの購入と有効化」をご参照ください。
デフォルトキー(カスタマーマスターキー)のキーマテリアルをインポートするには、KMS インスタンスは不要です。
ステップ 1:外部キーマテリアル起源を持つ対称キーの作成
キーマテリアルをインポートする前に、外部キーマテリアル起源を持つ対称キーを作成します。
デフォルトキー(カスタマーマスターキー)
Key Management Service コンソールにログインします。上部ナビゲーションバーでリージョンを選択し、左側ナビゲーションウィンドウで を選択します。
デフォルトキー タブをクリックし、カスタマーマスターキーの 操作 列にある 有効化 をクリックし、キーを作成 タブで設定を完了後、OK をクリックします。
パラメーター
説明
キーのエイリアス
キーの識別子です。使用可能な文字:英数字、アンダースコア (
_)、ハイフン (-)、およびスラッシュ (/)。Description
キーの説明です。
Advanced Settings
キーマテリアルソース。 外部 (キーマテリアルのインポート) を選択します。「 外部キーマテリアルの使用方法と意義を理解しました。」にチェックを入れてください。
ソフトウェア保護キー
Key Management Service コンソールにログインします。上部ナビゲーションバーでリージョンを選択し、左側ナビゲーションウィンドウで を選択します。
キー タブで、インスタンス管理 リストからソフトウェアキー管理インスタンスを選択し、キーを作成 をクリックします。
キーを作成 パネルで設定を完了後、OK をクリックします。
パラメーター
説明
キータイプ
「対称キー」を選択します。シークレット値を暗号化するキーを作成する場合は、「対称キー」を選択してください。
キー仕様
AES_256、SM4_128、HMAC_224、HMAC_256、HMAC_384、HMAC_512。
キー使用
キーの目的です。有効な値:
ENCRYPT/DECRYPT:データの暗号化と復号。AES_256 または SM4_128 を選択した場合、キーの用途は ENCRYPT/DECRYPT に固定されます。
SIGN/VERIFY:メッセージ認証コード (MAC) の生成と検証。HMAC_224、HMAC_256、HMAC_384、または HMAC_512 を選択した場合、キーの用途は自動的に SIGN/VERIFY に設定され、変更できません。
キーのエイリアス
キーのエイリアスです。使用可能な文字:英数字、アンダースコア (
_)、ハイフン (-)、およびスラッシュ (/)。Tag
キーの分類と管理を支援するためのタグです。各タグはキーと値のペア(Key:Value)で構成され、タグキー(Key)とタグ値(Value)で構成されます。
説明タグキーおよびタグ値の形式:タグキーまたはタグ値は最大 128 文字まで使用でき、英数字、スラッシュ (/)、バックスラッシュ (\)、アンダースコア (_)、ハイフン (-)、ピリオド (.)、プラス記号 (+)、等号 (=)、コロン (:)、アットマーク (@)、およびスペースを含めることができます。
タグキーは
aliyunまたはacs:で開始できません。各キーには最大 20 個のタグキーと値のペアを設定できます。
Description
キーの説明です。
Advanced Settings
ポリシー設定:詳細については、「キーポリシーの概要」をご参照ください。
キーマテリアルソース: 外部 (キーマテリアルのインポート) を選択します。「 外部キーマテリアルの使用方法と意義を理解しました。」にチェックを入れてください。
ハードウェア保護キー
Key Management Service コンソールにログインします。上部ナビゲーションバーでリージョンを選択し、左側ナビゲーションウィンドウで を選択します。
キー タブで、インスタンス管理 リストからハードウェアキー管理インスタンスを選択し、キーを作成 をクリックします。
キーを作成 パネルで設定を完了後、OK をクリックします。
パラメーター
説明
キータイプ
「対称キー」を選択します。シークレット値を暗号化するキーを作成する場合は、「対称キー」を選択してください。
キー仕様
AES_256、HMAC_224、HMAC_256、HMAC_384、HMAC_512。
キー使用
キーの目的です。有効な値:
Encrypt/Decrypt:データの暗号化と復号。
Sign/Verify:デジタル署名の生成と検証。
キーのエイリアス
キーのエイリアスです。使用可能な文字:英数字、アンダースコア (
_)、ハイフン (-)、およびスラッシュ (/)。Tag
キーの分類と管理を支援するためのタグです。各タグはキーと値のペア(Key:Value)で構成され、タグキー(Key)とタグ値(Value)で構成されます。
説明タグキーおよびタグ値の形式:タグキーまたはタグ値は最大 128 文字まで使用でき、英数字、スラッシュ (/)、バックスラッシュ (\)、アンダースコア (_)、ハイフン (-)、ピリオド (.)、プラス記号 (+)、等号 (=)、コロン (:)、アットマーク (@)、およびスペースを含めることができます。
タグキーは
aliyunまたはacs:で開始できません。各キーには最大 20 個のタグキーと値のペアを設定できます。
Description
キーの説明です。
Advanced Settings
ポリシー設定:詳細については、「キーポリシーの概要」をご参照ください。
キーマテリアルソース: 外部 (キーマテリアルのインポート) を選択します。「 外部キーマテリアルの使用方法と意義を理解しました。」にチェックを入れてください。
作成後、キーのステータスは インポート待ち になります。
ステップ 2:ラッピング公開鍵とインポートトークンのダウンロード
キーマテリアルをインポートするためのパラメーターには、ラッピング公開鍵とインポートトークンが含まれます。ラッピング公開鍵はキーマテリアルを暗号化し、インポートプロセス中にキーマテリアルを保護するために使用されます。インポートトークンはキーマテリアルをインポートするために使用されます。
対象のキーを見つけ、操作 列の 詳細 をクリックします。キーマテリアル セクションで、インポートのパラメーターを取得 をクリックします。
キーマテリアルインポートのパラメーターを取得します ダイアログボックスで、パブリックキータイプ と 暗号化アルゴリズム を選択し、次へ をクリックします。
キー管理タイプ
ラッピング用公開鍵タイプ
暗号化アルゴリズム
デフォルトキー(カスタマーマスターキー)
RSA_2048
RSAES_OAEP_SHA_1、RSAES_OAEP_SHA_256、RSAES_PKCS1_V1_5(非推奨)
ソフトウェア保護キー
RSA_2048
RSAES_OAEP_SHA_256、RSAES_PKCS1_V1_5(非推奨)
ハードウェア保護キー
RSA_2048
RSAES_OAEP_SHA_256、RSAES_PKCS1_V1_5(非推奨)
ラッピング公開鍵とインポートトークンをダウンロードし、安全に保管してください。
パブリックキー形式:
DER形式:ダウンロードされるファイル名はデフォルトで
WrappingPublicKey**.binです。PEM形式:ダウンロードされるファイル名はデフォルトで
WrappingPublicKey**.pemです。
トークンのインポート:ダウンロードされるファイル名はデフォルトで
ImportToken***.txtです。重要インポートトークンの有効期間は 24 時間で、この期間内であれば再利用可能です。有効期限が切れた場合は、新しいインポートトークンと公開鍵を取得する必要があります。
ラッピング公開鍵とインポートトークンはペアで使用する必要があります。あるダウンロードで取得したラッピング公開鍵と、別のダウンロードで取得したインポートトークンを組み合わせて使用することはできません。
ステップ 3:ラッピング公開鍵を使用したキーマテリアルの暗号化
ステップ 2:ラッピング公開鍵とインポートトークンのダウンロード でダウンロードしたラッピング公開鍵と指定されたラッピングアルゴリズムを使用して、キーマテリアルを暗号化します。
OpenSSL を使用して、32 バイトの乱数をキーマテリアルとして生成します。すでにキーマテリアルをお持ちの場合は、この手順をスキップしてください。
説明HMAC キーを作成する場合は、「HMAC キーマテリアルの長さ」を参照し、必要なバイト数に置き換えてからキーマテリアルを生成してください。
openssl rand -out KeyMaterial.bin 32指定された暗号化アルゴリズムに基づいてキーマテリアルを暗号化します。
説明例で使用している暗号化アルゴリズムは RSAES_OAEP_SHA_256 です。
例では公開鍵に DER 形式 を使用しています。公開鍵ファイルをダウンロードする際に PEM 形式 を選択した場合は、例の
-keyform DERを-keyform PEMに置き換えてください。PublicKey.binは、ステップ 2:ラッピング公開鍵とインポートトークンのダウンロード でダウンロードした公開鍵ファイルの名前に置き換えてください。openssl pkeyutl -encrypt \ -in KeyMaterial.bin \ -inkey PublicKey.bin \ -keyform DER \ -pubin \ -out EncryptedKeyMaterial.bin \ -pkeyopt rsa_padding_mode:oaep \ -pkeyopt rsa_oaep_md:sha256 \ -pkeyopt rsa_mgf1_md:sha256暗号化されたキーマテリアルを Base64 エンコードし、テキストファイルに保存します。
openssl enc -e -base64 -A -in EncryptedKeyMaterial.bin -out EncryptedKeyMaterial_base64.txt説明EncryptedKeyMaterial_base64.txt は KMS にインポート可能なキーマテリアルファイルです。
ステップ 4:キーマテリアルのインポート
キーの詳細ページで、キーマテリアルのインポート をクリックします。ラップされたキーマテリアルのインポート ダイアログボックスで設定を完了後、OK をクリックします。
パラメーター | 説明 |
包まれたキーマテリアル | ステップ 3:ラッピング公開鍵を使用したキーマテリアルの暗号化 で生成したキーマテリアルファイルをアップロードします。 |
トークンのインポート | ステップ 2:ラッピング公開鍵とインポートトークンのダウンロード でダウンロードしたトークンファイルをアップロードします。 |
有効期限が切れたキーマテリアル | 有効期限はありません を選択するか、カスタムの有効期限を指定できます。 説明 キーマテリアルに有効期限を設定した場合、KMS は指定された時刻後に期限切れのキーマテリアルを削除します。これにより、キーマテリアルは使用できなくなります。使用を再開するには、再度同一のキーマテリアルをキーにインポートしてください。 |
キーマテリアルのインポートが成功すると、キーのステータスは インポート待ち から 有効化 に変化します。
付録
HMAC キーマテリアルの長さ
キー仕様 | 必要なキーマテリアル長(バイト) |
HMAC_224 | 28 |
HMAC_256 | 32 |
HMAC_384 | 48 |
HMAC_512 | 64 |
暗号化アルゴリズム
RSAES_OAEP_SHA_1:RFC 3447/PKCS#1 で定義された RSAES-OAEP スキームを使用した RSA 暗号化。MGF1 と SHA-1 を使用します。
RSAES_OAEP_SHA_256:RFC 3447/PKCS#1 で定義された RSAES-OAEP モードを使用した RSA 暗号化。MGF1 と SHA-256 を使用します。
- 重要
RSAES_PKCS1_V1_5:米国国立標準技術研究所(NIST)の暗号アルゴリズムおよびキー長に関するガイドライン「暗号アルゴリズムおよびキー長の使用移行」では、トランスポートキーの暗号化にこのアルゴリズムを使用することを、2023 年 12 月 31 日以降に中止することが明確に記述されています。
よくある質問
キーマテリアルを削除できますか?
はい。
インポートされたキーマテリアルが有効期限切れまたは削除された後、キーは使用できなくなります。キーを通常通り使用するには、再度同一のキーマテリアルをインポートする必要があります。
キーマテリアルの直接削除
コンソール:キーの詳細ページの キーマテリアル セクションで、キーマテリアルを削除 をクリックします。
API:DeleteKeyMaterial 操作を呼び出してキーマテリアルを削除します。この操作ではキー自体は削除されません。
KMS による有効期限後の自動削除
キーマテリアルをインポートする際に有効期限を設定します。KMS は指定された時刻後に期限切れのキーマテリアルを削除します。
同一のキーマテリアルを再インポートするにはどうすればよいですか?
キーマテリアルが有効期限切れまたは削除された後、再度同一のキーマテリアルをインポートすることで、キーの使用を継続できます。
期限切れのキーマテリアルを削除します。
キーの詳細ページで キーマテリアル タブをクリックし、キーマテリアルを削除 をクリックします。
新しいラッピング公開鍵とインポートトークンをダウンロードします。詳細については、「ステップ 2:ラッピング公開鍵とインポートトークンのダウンロード」をご参照ください。
キーラッピングプロセスはキーマテリアルの内容に影響しません。そのため、異なるラッピング公開鍵およびラッピングアルゴリズムを使用して、同一のキーマテリアルをインポートできます。
ラッピング公開鍵を使用してキーマテリアルを暗号化します。詳細については、「」をご参照ください。
キーマテリアルは、以前に期限切れとなったものと同じである必要があります。
インポートトークンを使用して暗号化されたキーマテリアルをインポートします。詳細については、「ステップ 4:キーマテリアルのインポート」をご参照ください。
キーマテリアルが外部ソースからインポートされたものか、KMS によって生成されたものかを確認するにはどうすればよいですか?
方法 1:KMS コンソールで確認する
デフォルトキー:キー管理 ページで デフォルトキー タブをクリックし、対象のキーを見つけ、操作 列の 詳細 をクリックします。詳細ページで キーマテリアルソース を確認します。
ソフトウェア保護キー、ハードウェア保護キー:キー管理 ページで キー タブをクリックし、インスタンス管理 を選択し、対象のキーを見つけ、操作 列の 詳細 をクリックします。詳細ページで キーマテリアルソース を確認します。
方法 2:DescribeKey 操作を呼び出す
Originの値がEXTERNALの場合、キーマテリアルは外部ソースからインポートされています。Originの値がAliyun_KMSの場合、キーマテリアルは KMS によって生成されています。
インポートされたキーマテリアルを使用するキーをローテーションするにはどうすればよいですか?
インポートされた外部キーマテリアルを持つソフトウェア保護対称キーは、即時手動ローテーションのみをサポートしており、自動定期ローテーションはサポートしていません。詳細については、「BYOK キーのローテーション」をご参照ください。
インポートされた外部キーマテリアルを持つソフトウェア保護非対称キーは、ローテーションをサポートしていません。
インポートされた外部キーマテリアルを持つハードウェア保護キー(対称および非対称の両方)は、ローテーションをサポートしていません。