fbpx

EDB 15 新功能!利用 TDE(透明資料加密)提升資料安全性

EPAS 15 版和 EDB Postgres Extended Server 皆支援透明資料加密(TDE)功能。

TDE 能夠加密任何儲存在資料庫中的使用者資料。這種加密模式對使用者而言是透明的。(透明註解:使用者端無需要進行額外的資料加解密)使用者資料包含儲存在資料表和其他物件中的資料,以及系統目錄資料,例如:物件名稱。 

TDE

補充資訊

  • 使用 TDE 從伺服器擷取的 WAL 檔,包括串流複寫(streaming replication)和資料歸檔都是加密的。
  • 物理備份( physical replica)必須使用與主要伺服器(Primary Server)相同的金鑰進行加密 (or not encrypted)
  • 如果一台伺服器使用 TDE ,資料庫的全備份功就會自動加密。

以下資料無法被 TDE 加密

  • 不含使用者資料,但資料庫運作需要的系統資訊(Metadata),例如:交易狀態(如  pg_subtrans 和 pg_xact)
  • 資料目錄(Data Directory)中的檔名和目錄結構(file system structure)。這意味著使用者能在不解密的情況下查看整個資料庫的大小、資料庫的數目、資料表的數目、它們的相對大小、以及系統檔元資料,例如最後存取時間。
  • 外部表格中的資料
  • 伺服器診斷日誌
  • 設定檔

補充資訊

TDE 並不會影響邏輯複寫(Logical Repliaction)。發布者和訂閱者能夠擁有不同的加密設定。邏輯複寫協定中的資料內容並不會被加密。(建議使用 SSL 憑證)

TDE 對效能的影響為何?

TDE 與 AES(進階加密標準)皆使用相同的運算資源。

TDE 如何運作?

TDE 能夠防止未經授權的使用者查看資料庫伺服器和硬體空間備份(Backup Storage)中的作業系統檔(operating system file)。一但資料遭到竊取或被錯誤地放置,未經授權的使用者將無法解讀其內容。

加密和解密是由資料庫負責管理,因此使用者無需更改應用程式或客戶端的驅動程式(client drivers)。

EPAS 和 EDB Postgres Extended Server 為資料庫外部的金鑰管理系統提供接口(Hooks)。這些接口讓使用者能夠執行簡易的金鑰密碼加解密或整合其他企業級的金鑰管理解決方案。

TDE 如何加密資料?

TDE 使用 AES-128-XTS 加密資料檔。 這種加密模式使用資料庫 OID、Refilenode 和資料的區塊編號(Block Number)加密 XTS 中的調整值(Tweak)。

使用者能透過 AES-128-CTR 加密 WAL 檔。而加密模式中的「CTR」包含 WAL 檔的日誌序號(WAL LSN)。

以區塊加密模式存取的暫存檔也使用 AES-128-XTS 加密。其他暫存檔則使用 AES-128-CBC 加密。

TDE 的資料是如何儲存於硬碟中?

在下方的範例中, tbfoo 資料表中的資料已被加密。pg_relation_filepath 這個語法能夠定位 tbfoo 資料表中對應的資料檔。

tde example

利用 Grep 指令查詢的資料內容只會回傳加密過的資料。

最後 5 行資料為回傳後的加密資料。

TDE Example

相關文章