Skip to content

Transparent Data Encryption (TDE) 概要

TDE(Transparent Data Encryption)は、Data at Rest(ディスク上の保存データ)を暗号化する機能です。 列または表領域レベルで暗号化を行い、暗号化されたデータは正しい権限でアクセスするアプリケーションに対して透過的に復号されます。

DBMSが暗号処理を担うため、「OS上のデータファイルやバックアップ媒体が盗難・流出した」ような場面でのリスク低減を狙います。

参考ブログ:https://blogs.oracle.com/oracle4engineer/post/database-security-oracle-tde-introduction-jp

コンポーネント説明
Keystore(キーストア)マスター暗号鍵を格納するファイル(ewallet.p12)または Oracle Key Vault。鍵の保管場所
マスター暗号鍵(MEK)表領域暗号鍵を暗号化するルートキー。CDB・PDB それぞれに作成が必要
WALLET_ROOTKeystore を格納するディレクトリのルートパス(静的パラメータ、再起動が必要)
TDE_CONFIGURATION使用する Keystore の種類(FILE / OKV など)を指定(動的パラメータ)

CDB(コンテナデータベース)環境では、PDB の鍵管理方式として2つのモードがあります。

  • 統一モード(United Mode): CDB$ROOT と統一 PDB が共通の Keystore を使用。CDB$ROOT の TDE_CONFIGURATION を PDB が継承する
  • 分離モード(Isolated Mode): 19c からサポート。PDB が固有の Keystore を持ち、個別に管理できる

このサイトのチュートリアルでは統一モードを使用します。

主に表領域暗号化を題材に、次の流れで TDE を体験します。

  1. TDEの事前準備

    WALLET_ROOT / TDE_CONFIGURATION などのパラメータ設定と、Keystore の作成、TDE マスター暗号鍵の作成を行います(CDB・PDB それぞれに作成)。

  2. 表領域の暗号化を行う

    USERS 表領域をオンラインで暗号化し、strings コマンドでデータファイルが暗号化されることを確認します。同様にオンライン復号も実施します。