キーローテーション とは?
キーローテーションは、有効な暗号化キーやクレデンシャルを定期的に新しく生成したものに交換し、古いキーを廃止または無効化することで、キーが侵害された場合の露出期間を限定するセキュリティプラクティスです。
別名: credential rotation, secret rotation
すべてのキーには有効な使用期間があります。キーが使用され続けるほど、より多くのデータがそのキーで暗号化され(暗号解析に利用可能な材料が増加)、漏洩や盗難の機会が増え、侵害時の被害が拡大します。キーローテーションは、単一のキーが限られた期間に限られた量のデータのみを保護するようにすることで、この露出を制限します。
ローテーション戦略はキーの種類によって異なります。対称暗号化キーは使用量または時間に基づいてローテーションすべきで、多くの標準はキーが2^32ブロック以上を暗号化する前にローテーションするよう推奨しています。APIキーやサービスクレデンシャルは通常、定期的なスケジュール(30日、60日、または90日)または侵害が疑われた場合に即座にローテーションされます。TLS証明書にはローテーションを強制する有効期限が組み込まれています。
効果的なキーローテーションには、それ用に設計されたシステムが必要です。アプリケーションは複数の有効なキーを同時にサポートし(古いデータを復号しながら最新キーで新しいデータを暗号化する)、ローテーションプロセスを自動化して手動エラーを回避すべきです。Key WrappingとエンベロープWrapは、ローテーションを簡単にします。マスターキーのローテーションに必要なのは、データキーの再ラップのみで、データセット全体の再暗号化は不要です。
Vaulted における キーローテーション の使われ方
Vaultedの一時的な設計は、従来のキーローテーション問題を回避しています。各シークレットはそのシークレットの存続期間のみ存在する固有のAES-256-GCMキーを持ちます。ローテーションが必要な長期キーはありません。シークレットが自己消滅(ビュー制限または有効期限による)すると、サーバー上の暗号文と共有リンク内のキーの両方が無意味になります。このシークレットごとのキーモデルは、単一のキーが複数のシークレットを保護することがないため、定期的なローテーションよりも強力な保証を提供します。