鍵のローテーション

このトピックでは、Cloud Key Management Service での鍵のローテーションについて説明します。鍵をローテーションする具体的な手順については、鍵のローテーションをご覧ください。

鍵をローテーションする理由

対称暗号化では、セキュリティのために、定期的に自動で鍵をローテーションすることをおすすめします。Payment Card Industry Data Security Standard(PCI DSS)などの一部の業界標準では、鍵を定期的にローテーションする必要があります。

Cloud Key Management Service は、非対称鍵の自動ローテーションをサポートしません。詳細については以下の非対称鍵に関する考慮事項をご覧ください。

鍵をローテーションすると、次のようなメリットがあります。

  • 同じ鍵バージョンで暗号化されるメッセージの数を制限すると、暗号解読によるブルート フォース攻撃を防ぐことができます。推奨される鍵の存続期間は、鍵のアルゴリズムと、生成されたメッセージの数または同じ鍵バージョンで暗号化された合計バイト数によって異なります。たとえば、Galois / Counter Mode(GCM)での対称鍵の推奨有効期間は、https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf に記載されているように、暗号化されたメッセージの数によって決まります。

  • 鍵が不正使用された場合、定期的なローテーションにより、実際の不正使用されやすいメッセージの数が制限されます。

    鍵バージョンが不正使用されている疑いがある場合、できるだけ早く無効にしてアクセス権を取り消してください

  • 定期的な鍵のローテーションにより、セキュリティ侵害が発生した場合や、アプリケーションをより強力な暗号アルゴリズムに移行する必要がある場合にも、システムが手動ローテーションに復元可能になります。実際のセキュリティ インシデントが発生する前に、鍵のローテーション手順を検証してください。

鍵が不正使用されているために、または別のアルゴリズムを使用するようにアプリケーションを変更するために、鍵を手動でローテーションすることもできます。

鍵をローテーションする頻度

定期的なスケジュールで鍵を自動的にローテーションすることをおすすめします。ローテーション スケジュールは、ローテーションの頻度と、オプションで最初のローテーションが発生する日時を定義します。ローテーション スケジュールは、キーの経過時間、またはキーバージョンで暗号化されたメッセージの数または量に基づくことができます。

一部のセキュリティ規制では、定期的な自動鍵ローテーションが必要となります。事前定義された鍵のローテーション(90 日ごとなど)により、管理上の複雑さが最小限になり、セキュリティが向上します。

また、不正使用された鍵がある場合や、セキュリティ ガイドラインのためにアプリケーションをより強力な鍵アルゴリズムに移行する必要がある場合は、鍵を手動でローテーションする必要があります。手動ローテーションのスケジュールを将来の日時に設定できます。鍵を手動でローテーションしても、その鍵に対する既存の自動ローテーション スケジュールが一時停止されたり、変更されたり、その他の影響を受けたりすることはありません。

アプリケーションのセキュリティの主要なコンポーネントとしては、不定期または手動のローテーションを使用しないでください。

非対称鍵に関する考慮事項

Cloud KMS では非対称鍵の自動ローテーションがサポートされません。新しい非対称鍵バージョンを使用するには、追加の手順が必要です。

  • 署名に使用する非対称鍵の場合は、新しい鍵バージョンの公開鍵部分を配布する必要があります。その後、[CryptoKeyVersions.asymmetricSign][6] メソッドの呼び出しで新しい鍵バージョンを指定し、署名を作成したり、新しい鍵バージョンを使用するようにアプリケーションを更新したりできます。

  • 暗号化に使用する対称鍵の場合、新しい鍵バージョンの公開部分を配布してデータを復号するアプリケーションに組み込み、新しい鍵バージョンの非公開部分へのアクセスをデータを暗号化するアプリケーションに許可する必要があります。

次のステップ