用語集

保存時の暗号化 とは?

保存時の暗号化とは、ディスク、データベース、バックアップメディアなどの永続ストレージに暗号化された形式でデータを保存するプラクティスで、ストレージメディアが侵害されてもデータを保護します。

保存データとは、ネットワーク経由で移動する転送中のデータや、メモリで処理される使用中のデータとは対照的に、永続的に保存されたあらゆるデータを指します。保存時の暗号化は、ハードドライブの盗難、不正なデータベースアクセス、侵害されたバックアップテープ、クラウドストレージ侵害などの脅威から保護します。

保存時の暗号化はさまざまな層で実装できます。フルディスク暗号化(BitLocker や LUKS など)はドライブ上のすべてを暗号化します。データベース層の暗号化(TDE など)はデータファイルを透過的に暗号化します。アプリケーション層の暗号化はデータをストレージに書き込む前に暗号化し、誰が鍵を持つかをアプリケーションが完全にコントロールできるようにします。

保存時の暗号化における重要な問題は、誰が鍵を持つかです。暗号化されたデータを保存するサーバーが復号鍵も保持している場合、サーバーが完全に侵害されるとすべてが露出します。最も強力なアプローチは鍵管理とデータストレージを完全に分離することで、ストレージの侵害だけではデータを読み取るには不十分にします。

Vaulted における 保存時の暗号化 の使われ方

Vaulted は設計によって保存時の暗号化を提供します。シークレットはサーバーに送信される前にブラウザで AES-256-GCM を使って暗号化され、Redis に暗号文として保存されます。暗号鍵はサーバーに届くことはなく、URL フラグメントにのみ存在します。つまり、Redis に保存されているデータは、完全に別の場所(共有リンク)に存在する鍵で暗号化されており、暗号化されたストレージと鍵素材の強固な分離を実現しています。