データベース暗号化
更新日:
用語解説
データベース暗号化は、データベースに保存した表、列、ファイル、バックアップなどを暗号化し、媒体やファイルが盗まれても内容を読めないようにする対策です。
■ 試験で押さえるポイント
データベースのファイル全体を暗号化する方式(TDE)と、特定の列だけを暗号化する方式があります。
暗号の鍵は、データとは別の場所で管理します。
正規の権限で問い合わせると復号されるため、SQLインジェクションによる漏えいは防げません。
方式 | 暗号化する範囲 | アプリの改修 | 防げる例 |
|---|---|---|---|
TDE(透過的暗号化) | データファイル・ログ・バックアップ全体 | 不要 | 媒体やバックアップの盗難 |
列の暗号化 | 特定の列(カード番号など) | 必要なことがある | 盗難に加え、その列の不要な閲覧 |
アプリでの暗号化 | アプリが暗号化してから保存 | 必要 | DBが丸ごと漏れても鍵がなければ読めない |
TDEは正規の問合せには復号した値を返すため、SQLインジェクションや権限のある利用者による漏えいは防げません。
■ 過去問での着眼点
保存時の暗号化は媒体の盗難などへの対策です。アクセス制御や通信の暗号化と組み合わせます。
例: データベースのファイルとバックアップを暗号化し、鍵は別の鍵管理サービスで管理します。