本文へスキップ
ecdsa.com

鍵のローテーション

定期的に、またはインシデントの後に、暗号鍵を新しい鍵に置き換えることです。切り替えの間も検証が機能し続けるよう、通常は新旧の鍵を並べて公開します。
別表記key rolloverkey rotationrekeying

ローテーションによって、1 つの鍵が保護するデータの量と、盗まれた鍵が使える期間が制限されます。SP 800-57 Part 1 §5.3 は暗号期間の指針を示しており、たとえば署名用の秘密鍵では 1〜3 年です。有効期間の短い証明書やトークンを使うと、課題は鍵のローテーションから、認証情報の自動更新へと移ります。

手順はどのエコシステムでも同じです。新しい鍵を公開し、すべての検証者に行き渡るまで待ってから、その鍵で署名を始め、古い鍵で署名したものがすべて期限切れになった後で古い鍵を廃止します。JWKS では kid とキャッシュの有効期間を使い、DKIM では新しいセレクターを使います。SSH では UpdateHostKeys でクライアントに新しいホスト鍵を伝え、TLS では新旧の証明書の期間を重ねます。Sigstore と TUF は、署名付きメタデータを通じてルート鍵をローテーションします。

よくある失敗は、キャッシュされたトークンの有効期限が切れる前に古い鍵を削除すること、起動時に一度だけ鍵を取得する検証者、識別子がないために検証者がすべてを試さなければならない鍵、そして一度もリハーサルしていない緊急ローテーションです。

規格と参考文献

すべての用語