すべてのプロダクト
Search
ドキュメントセンター

Key Management Service:キーローテーションの設定

最終更新日:Jan 23, 2025

キー管理サービス (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は新しいキーバージョンを生成し、新しいキーバージョンをプライマリバージョンに設定します。

image..png

自動回転が設定されている場合、次の回転時間は次の式を使用して計算されます。次の回転時間=最後の回転時間 + 回転期間

説明
  • 次の回転時間と最後の回転時間を表示するには、DescribeKey操作を呼び出します。 応答では、LastRotationDateは最後の回転時間を示し、NextRotationDateはKMSによって計算された次の回転時間を示します。

  • 自動回転が設定され、2つの回転操作の間に即時回転操作が実行される場合、最終回転時間は即時回転の時間である。

自動回転をサポートするキー

  • ソフトウェアキー管理タイプのKMSインスタンスの対称キーとデフォルトキーは、自動ローテーションをサポートしています。

  • KMSによってキーマテリアルが生成されるキーは、自動ローテーションをサポートします。 独自のキーマテリアルを使用するキーは、自動回転をサポートしていません。

  • Enabled 状態のキーは、自動ローテーションをサポートします。 キーが Disabled または 削除待ち 状態の場合、KMSは有効になっているキーローテーション機能を停止します。 キーが再有効化されると、キー回転機能が再有効化される。

デフォルトキー

料金

デフォルトキーは、Alibaba Cloudサービスのサーバー側暗号化にのみ使用され、KMSによって無料で提供されます。 デフォルトのキー回転は、付加価値機能として使用できます。

料金: 年間9米ドル-リージョン リージョンでデフォルトのキーローテーション機能を購入した場合、そのリージョンでサービスキーと顧客マスターキー (CMK) を含むすべてのデフォルトキーをローテーションできます。

回転方法と回転日付

デフォルトキーは自動回転のみをサポートします。 デフォルトキーは即時回転をサポートしていません。

ローテーション期間は365日で、変更できません。 デフォルトキーの自動ローテーションを有効にした後、デフォルトキーの最初のローテーションは、デフォルトキーが作成されてから365日後になります。 その後、デフォルトキーは365日ごとにローテーションされます。

説明

デフォルトのキーローテーション機能は毎年購入できます。 注文が次のローテーションまで有効であることを確認してください。 そうでなければ、回転は実行されない。

キーローテーションに関する操作

自動ローテーションの有効化

  1. デフォルトのキーローテーション機能の付加価値プランを購入します。

    1. KMSコンソールにログインします。 上部のナビゲーションバーで、必要なリージョンを選択します。 左側のナビゲーションウィンドウで、キー管理 をクリックします。

    2. デフォルトキー タブで、Purchase Value-added Plan をクリックします。 表示される購入ページで、パラメーターを設定し、[今すぐ購入] をクリックします。

      1. インスタンスタイプ: [付加価値プラン] を選択します。

      2. 付加価値プラン: [デフォルトキーのローテーション] を選択します。

      3. 購入数量: 1を選択します。 リージョンのプランは1つだけ購入する必要があります。

    3. 読み、利用規約を選択し、[支払い] をクリックして支払いを完了します。

  2. 自動回転を有効にします。

    1. サービスキー

      KMSは、サービスキーの自動ローテーションを自動的に有効にします。

    2. CMK

      メソッド

      説明

      KMSコンソールの使用

      1. キー管理 ページの デフォルトキー タブで、CMKのIDをクリックします。

      2. 詳細ページの下部で、Key Version タブをクリックし、Configure Rotation をクリックします。

      3. Configure Rotation Policy ダイアログボックスで、[回転ステータス] をオンにし、[OK] をクリックします。

        キーの詳細ページで、Rotation Status[有効] に変わり、Rotation Period[365日] に変わります。

      API の呼び出し

      UpdateRotationPolicy操作を呼び出し、EnableAutomaticRotationとRotationIntervalを設定します。 EnableAutomaticRotationは、自動回転を有効にするかどうかを指定します。 RotationIntervalは、ローテーション周期を指定する。

      説明

      RotationIntervalは365dにのみ設定できます。 RotationIntervalを別の値に設定すると、KMSは400エラー (Rejected.UnsupportedOperation) を返します。

回転の詳細の表示

メソッド

説明

KMSコンソールの使用

  1. キー管理 ページの デフォルトキー タブで、表示するサービスキーまたはCMKを見つけます。

  2. キーのIDをクリックします。 詳細ページで、Rotation StatusRotation Period 、および Key Version を表示します。

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はキーバージョンを使用して暗号文を復号します。 キーバージョンは、暗号文の生成に使用されるものと同じでなければなりません。

重要

キーの自動ローテーションが有効になっている場合は、EncryptDecrypt、またはGenerateDataKey操作を呼び出さないでください。 上記の操作では、キーの初期バージョンを使用し、回転後に生成される新しいキーバージョンは使用しません。

キーローテーションに関する操作

自動ローテーションの有効化

メソッド

説明

KMSコンソールの使用

  • キーの作成時に自動回転を有効にします。 詳細については、「キーの管理」をご参照ください。

    1. キー管理 ページの キー タブで、必要なインスタンスIDを選択し、キーの作成 をクリックします。

    2. キーの作成 パネルでパラメーターを設定し、OK をクリックします。

  • キーの作成後に自動回転を有効にします。

    1. キー管理 ページの キー タブで、必要なインスタンスIDを選択し、管理するキーのIDをクリックします。

    2. キーの詳細ページで、Configure Rotation をクリックします。 Set Rotation Policy ダイアログボックスで、[自動回転] をオンにして、回転期間を指定し、OK をクリックします。

API の呼び出し

  • キーの作成時に自動回転を有効にする

    CreateKey操作を呼び出し、EnableAutomaticRotationとRotationIntervalを設定します。 EnableAutomaticRotationは、自動回転を有効にするかどうかを指定します。 RotationIntervalは、ローテーション周期を指定する。

  • キーの作成後に自動回転を有効にする

    UpdateRotationPolicy操作を呼び出し、EnableAutomaticRotationとRotationIntervalを設定します。 EnableAutomaticRotationは、自動回転を有効にするかどうかを指定します。 RotationIntervalは、ローテーション周期を指定する。

すぐにキーを回転

メソッド

説明

KMSコンソールの使用

  1. キー管理 ページの キー タブで、必要なインスタンスIDを選択し、管理するキーのIDをクリックします。

  2. キーの詳細ページで、Configure Rotation をクリックします。 表示されるダイアログボックスで、 Rotate Now を選択し、OK をクリックします。

API の呼び出し

CreateKeyVersion操作を呼び出します。

回転の詳細の表示

メソッド

説明

KMSコンソールの使用

  1. キー管理 ページの キー タブで、必要なインスタンスIDを選択し、管理するキーのIDをクリックします。

  2. 詳細ページで、Rotation StatusRotation Period 、および Key Version を表示します。

API の呼び出し

DescribeKey操作を呼び出し、AutomaticRotationとRotationIntervalを設定します。 AutomaticRotationは、自動回転を有効にするかどうかを指定します。 RotationIntervalは、ローテーション周期を指定する。

KeyVersionsの値を表示するには、ListKeyVersions操作を呼び出します。