キー管理サービス (KMS) は、キーローテーション機能を提供します。 定期的にキーを回転させて、キーのセキュリティを強化し、ビジネスデータのセキュリティを向上させることができます。 このトピックでは、キーローテーションの仕組みとKMSでのキーローテーションの設定方法について説明します。
キー回転の利点
各キーを使用して暗号化されるデータの量を減らし、暗号解読攻撃のリスクを軽減します
鍵のセキュリティは、鍵を使用することによって暗号化されるデータの量に反比例する。 ほとんどの場合、量は、キーを使用して暗号化されたバイトの総数を指します。 自動回転は、各キーの攻撃面を減らし、キーベースの暗号化ソリューションのセキュリティを向上させます。
セキュリティイベントの処理に役立ちます
キーローテーション機能は、セキュリティイベントの処理に役立つように設計されています。
キーを割ることができる時間ウィンドウを短縮します
キーローテーションを有効にすると、既存のキーを使用して暗号化されたデータを新しいキーを使用して暗号化できます。 キー回転の間隔は、その間にキーがクラックされ得る時間ウィンドウと考えられる。 攻撃者は、鍵の2つの回転操作の間の間隔で鍵を解読する場合にのみ、データアクセスを得ることができる。 これにより、暗号解読攻撃に対するデータのセキュリティが大幅に向上します。
規制コンプライアンスの要件を満たす
自動キー回転により、次の規制を含むさまざまな規制への準拠が容易になります。
ペイメント カード業界データ セキュリティ基準 (PCI-DSS)
GM/T 0051などの国家暗号管理局によって発行された暗号関連の産業標準-2016暗号デバイス管理-対称鍵管理技術の仕様
NIST Special Publication 800-57 Recommendation for Key Managementなど、National Institute of standards and Technology (NIST) によって発行された暗号関連標準
キー回転のしくみ
KMSは複数のバージョンのキーをサポートしています。 鍵の異なるバージョンは、暗号学的に無関係である。 キーローテーション中、KMSは新しいキーバージョンを生成し、暗号化操作に最新のキーバージョンを使用します。 キーバージョンは指定できません。
キーローテーションはキーバージョンのみを追加します。 キーローテーションでは、ID、Alibaba Cloud Resource Name (ARN) 、エイリアスなどのキーの属性は変更されません。
KMSはキーバージョンを削除しません。 キーのキーバージョンは、キーが削除された場合にのみ削除されます。
キーが作成されると、KMSは初期キーバージョンを生成し、初期キーバージョンをプライマリバージョンに設定します。 キーがローテーションされると、KMSは新しいキーバージョンを生成し、新しいキーバージョンをプライマリバージョンに設定します。
自動回転が設定されている場合、次の回転時間は次の式を使用して計算されます。次の回転時間=最後の回転時間 + 回転期間。
次の回転時間と最後の回転時間を表示するには、DescribeKey操作を呼び出します。 応答では、
LastRotationDate
は最後の回転時間を示し、NextRotationDate
はKMSによって計算された次の回転時間を示します。自動回転が設定され、2つの回転操作の間に即時回転操作が実行される場合、最終回転時間は即時回転の時間である。
自動回転をサポートするキー
ソフトウェアキー管理タイプのKMSインスタンスの対称キーとデフォルトキーは、自動ローテーションをサポートしています。
KMSによってキーマテリアルが生成されるキーは、自動ローテーションをサポートします。 独自のキーマテリアルを使用するキーは、自動回転をサポートしていません。
Enabled 状態のキーは、自動ローテーションをサポートします。 キーが Disabled または 削除待ち 状態の場合、KMSは有効になっているキーローテーション機能を停止します。 キーが再有効化されると、キー回転機能が再有効化される。
デフォルトキー
料金
デフォルトキーは、Alibaba Cloudサービスのサーバー側暗号化にのみ使用され、KMSによって無料で提供されます。 デフォルトのキー回転は、付加価値機能として使用できます。
料金: 年間9米ドル-リージョン リージョンでデフォルトのキーローテーション機能を購入した場合、そのリージョンでサービスキーと顧客マスターキー (CMK) を含むすべてのデフォルトキーをローテーションできます。
回転方法と回転日付
デフォルトキーは自動回転のみをサポートします。 デフォルトキーは即時回転をサポートしていません。
ローテーション期間は365日で、変更できません。 デフォルトキーの自動ローテーションを有効にした後、デフォルトキーの最初のローテーションは、デフォルトキーが作成されてから365日後になります。 その後、デフォルトキーは365日ごとにローテーションされます。
デフォルトのキーローテーション機能は毎年購入できます。 注文が次のローテーションまで有効であることを確認してください。 そうでなければ、回転は実行されない。
キーローテーションに関する操作
自動ローテーションの有効化
デフォルトのキーローテーション機能の付加価値プランを購入します。
KMSコンソールにログインします。 上部のナビゲーションバーで、必要なリージョンを選択します。 左側のナビゲーションウィンドウで、キー管理 をクリックします。
デフォルトキー タブで、Purchase Value-added Plan をクリックします。 表示される購入ページで、パラメーターを設定し、[今すぐ購入] をクリックします。
インスタンスタイプ: [付加価値プラン] を選択します。
付加価値プラン: [デフォルトキーのローテーション] を選択します。
購入数量: 1を選択します。 リージョンのプランは1つだけ購入する必要があります。
読み、利用規約を選択し、[支払い] をクリックして支払いを完了します。
自動回転を有効にします。
サービスキー
KMSは、サービスキーの自動ローテーションを自動的に有効にします。
CMK
メソッド
説明
KMSコンソールの使用
キー管理 ページの デフォルトキー タブで、CMKのIDをクリックします。
詳細ページの下部で、Key Version タブをクリックし、Configure Rotation をクリックします。
Configure Rotation Policy ダイアログボックスで、[回転ステータス] をオンにし、[OK] をクリックします。
キーの詳細ページで、Rotation Status が [有効] に変わり、Rotation Period が [365日] に変わります。
API の呼び出し
UpdateRotationPolicy操作を呼び出し、EnableAutomaticRotationとRotationIntervalを設定します。 EnableAutomaticRotationは、自動回転を有効にするかどうかを指定します。 RotationIntervalは、ローテーション周期を指定する。
説明RotationIntervalは365dにのみ設定できます。 RotationIntervalを別の値に設定すると、KMSは400エラー (Rejected.UnsupportedOperation) を返します。
回転の詳細の表示
メソッド | 説明 |
KMSコンソールの使用 |
|
API の呼び出し | DescribeKey操作を呼び出し、AutomaticRotationとRotationIntervalを設定します。 AutomaticRotationは、自動回転を有効にするかどうかを指定します。 RotationIntervalは、ローテーション周期を指定する。 KeyVersionsの値を表示するには、ListKeyVersions操作を呼び出します。 |
ソフトウェア保護キー
クォータ
キーローテーションは、KMSインスタンスのキークォータを消費します。 キーの各キーバージョンは1つのキークォータを消費します。 たとえば、キーにV1、V2、V3の3つのキーバージョンがある場合、3つのキークォータが使用されます。 クォータを増やす方法の詳細については、「KMSインスタンスの管理」をご参照ください。
回転方法と回転日付
ソフトウェア保護されたキーは自動回転および即時の回転を支えます。
自動ローテーション: 7日から365日までのローテーション期間を指定して、新しいキーバージョンを定期的に生成できます。
即時ローテーション: 新しいキーバージョンがすぐに生成されます。
暗号化操作の実行
Alibaba Cloudサービスでサーバー側暗号化を実行するには、キーを指定するだけです。 暗号化操作を実行するためにSDKを手動で統合する必要はありません。 自己管理アプリケーションでデータ暗号化を実行するには、次のAPI操作を呼び出します。
AdvanceGenerateDataKey: データキーを生成します。 KMSは、プライマリバージョンのキーを使用してデータキーを暗号化します。
AdvanceEncrypt: データを暗号化します。 KMSは、プライマリバージョンのキーを使用してプレーンテキストを暗号化します。
AdvanceDecrypt: 暗号文を復号します。 KMSはキーバージョンを使用して暗号文を復号します。 キーバージョンは、暗号文の生成に使用されるものと同じでなければなりません。
キーの自動ローテーションが有効になっている場合は、Encrypt、Decrypt、またはGenerateDataKey操作を呼び出さないでください。 上記の操作では、キーの初期バージョンを使用し、回転後に生成される新しいキーバージョンは使用しません。
キーローテーションに関する操作
自動ローテーションの有効化
メソッド | 説明 |
KMSコンソールの使用 |
|
API の呼び出し |
|
すぐにキーを回転
メソッド | 説明 |
KMSコンソールの使用 |
|
API の呼び出し | CreateKeyVersion操作を呼び出します。 |
回転の詳細の表示
メソッド | 説明 |
KMSコンソールの使用 |
|
API の呼び出し | DescribeKey操作を呼び出し、AutomaticRotationとRotationIntervalを設定します。 AutomaticRotationは、自動回転を有効にするかどうかを指定します。 RotationIntervalは、ローテーション周期を指定する。 KeyVersionsの値を表示するには、ListKeyVersions操作を呼び出します。 |