用語集

一時的シークレット とは?

一時的シークレットとは、パスワード、トークン、鍵などの機密データアイテムで、限られた時間または限られたアクセス回数後に永久かつ回復不可能な形で破棄されるよう意図的に設計されたものです。

別名: temporary secrets, one-time secrets, short-lived credentials

一時的シークレットの背景にある原則は、機密データを保護する最善の方法は、不要になったときにそれが存在しないようにすることだということです。シークレットが永続するすべての瞬間は潜在的な標的を表します。侵害で発見されたり、不正ユーザーにアクセスされたり、バックアップやログファイルを通じて漏洩したりする可能性があります。

一時的シークレットは、永続的な API キーや静的パスワードのような長期的なクレデンシャルとは対照的です。永続的なクレデンシャルは便利ですが、時間の経過とともにリスクが積み重なります。1 年前に作成されて Slack で共有された API キーは、チャットログ、バックアップ、それ以降そのチャンネルに参加した全員に 1 年分の露出がありました。単一の受け渡しのために使われた後に破棄される一時的なクレデンシャルは、劇的に小さな攻撃対象を持ちます。

一時的シークレットの課題は、破棄が本物で完全であることを確認することです。チャットアプリでメッセージを削除してもサーバーバックアップから削除されないかもしれません。クラウドドライブからファイルを削除してもゴミ箱に残るかもしれません。効果的な一時的システムは暗号化と削除を組み合わせることで、暗号化されたデータの断片が残っても鍵素材が破棄されるようにします。

Vaulted における 一時的シークレット の使われ方

Vaulted のすべてのシークレットは設計によって一時的です。シークレットは最大閲覧数(1、3、5、10、または無制限)と TTL 有効期限(最大 30 日)で作成されます。Redis は閲覧数をアトミックに追跡し、制限に達すると暗号化されたレコードを削除します。TTL は閲覧数に関係なく自動的に有効期限を確保します。Redis から削除されると暗号文は消去され、暗号文なしでは URL フラグメントの鍵は無意味です。シークレットは永久に破棄されます。