Transparent Data Encryption(TDE)2024 Nov

TDEは、データベースシステムに格納されているすべてのユーザーデータを自動的に暗号化するオプション機能です。テーブルデータ、その他のデータベースオブジェクト、システムカタログデータなどが含まれ、ユーザーには透過的に動作します。アプリケーションを変更する必要はありません。EDBはAES暗号化アルゴリズム(AES-128またはAES-256、初期化時に設定可能)を使用し、データファイルにはXTSモード、WALファイルにはCTRモードを採用してセキュリティを強化しています。

TDEのユースケース
TDEは、厳格なデータ保護を必要とする状況で特に価値があります。例えば、以下のようなケースです。

  • 機密個人データの保護:金融、医療、政府機関など、個人データを取り扱う業界は、GDPR、HIPAA、PCI DSSなどの規制への準拠のためにTDEを使用できる
  • 政府機関のコンプライアンス:FIPSなどの情報処理標準を遵守する必要がある政府機関
  • トランザクションデータの保護:金融機関は、不正や財務上の損失を防ぐために、トランザクションデータや口座データを保護する必要がある
  • 知的財産の保護:企業は、競争優位性を維持し、ブランド価値を高め、イノベーションを促進するために、独自の情報を保護する必要がある
  • クラウドベースまたはパブリックウェブアプリケーションのデータ保護:共有環境やAPIの脆弱性によってデータが侵害される可能性のある状況での追加のセキュリティ層として機能する

TDE有効化のメリット

  • データの機密性:データベースサーバーやバックアップが侵害されても、データへの不正アクセスを防ぐ(暗号化キーがなければ、盗まれたデータは解読できない)
  • コンプライアンス:データ保護規制や業界標準への準拠を支援
  • セキュリティ強化:データ侵害に対する保護層を追加
  • 透過性:暗号化はデータベースによって自動的に処理されるため、アプリケーションを変更する必要がない(パフォーマンスへの影響は比較的少ない)

TDEの有効化手順
TDEは、initdbコマンドの–data-encryptionまたは-yオプションを使用して、データベースクラスタの初期化時に有効化されます。重要なのは、データ暗号化キー自体(「マスターキー」)を保護するメカニズムも定義することです。方法は次のとおりです。

  • パスフレーズ:キーの暗号化/復号化にパスフレーズを使用
  • キーストア:AWS KMS、Azure Key Vault、Google Cloud KMS、HashiCorp Vaultなどの外部キー管理システムと統合する(より安全で管理しやすいアプローチ)

initdbコマンドでは、選択した方法でマスターキーのラップ/アンラップに使用するコマンド(–key-wrap-command、–key-unwrap-command)を指定する必要があります。キーを保護しない場合(–no-key-wrap)、プレーンテキストで保存されます。これはテスト専用であり、本番環境では使用しないでください。

既存のデータベースをTDEに移行するには、暗号化されたデータとキーを移行処理中に適切に扱うための特定のオプションを指定してpg_upgradeを使用する必要があります。pg_upgradeのドキュメントには、サポートされているシナリオと必要なパラメーターが詳細に記載されています。

日本語訳|Transparent Data Encryption(TDE)2024 Nov

※GoogleのAutoML Translationを使用して翻訳しております。

英語原文|Transparent Data Encryption(TDE)2024 Nov

CNPG

前の記事

EDB Postgres for Kubernetes 1.24.1