[SQL SERVER][Security]瞭解透明資料加密 (TDE)#簡介

[SQL SERVER][Security]瞭解透明資料加密 (TDE)#簡介

一直沒有時間來玩玩SQL2008 TDE(新特性),最近剛好有個安全上的需求,

藉此實做並記錄一下。

 

前言:

早期SQL Server在安全性上總讓人詬病,無法處理保護整個資料庫,

但現在SQL2008的TDE可以很方便就達到這樣的需求。當公司對於資料庫安全非常重視,

如果發生Mdf/ldf檔案或資料庫備份檔不小心被竊取時,也要達到無法還原或附加成功到其他資料庫實例上,

而且就算還原成功,資料內容也要比擬文字天書那樣的高深莫測才讓人放心。

 

透明資料加密:

TDE是資料庫層級的加密,它不局限於欄位,TDE 會保護休眠的資料,也就是資料檔和記錄檔會執行即時 I/O 加密和解密。

一但在一個資料庫上啟動了TDE,要附加資料檔或利用備份檔恢復到另一個SQL Server實例是不被允許的,

除非用來保護資料庫加密金鑰 (DEK)憑證是有用的。

TDE加密會在頁面層級上執行。加密之資料庫中的頁面會先加密,然後在讀入資料庫時將其寫入磁碟及解密。

同時啟用TDE並不會增加資料庫大小。

 

TDE 加密的架構:

image

 

啟用TDE注意事項和影響:

1.完善的災難復原計畫

如果非必要自己盡量不使用TDE,原因很簡單,我怕無法成功還原(凡事都沒有絕對成功XD),

所以得時常演練災難復元計畫,同時備份憑證以及與此憑證有關的私密金鑰。

2.不可有唯讀檔案群組

如果資料庫內有任何檔案群組標示為 READ ONLY,則資料庫加密作業將會失敗。

3.tempdb 效能低落

由於tempdb只有一個,所有明確建立暫存使用者物件,

儲存多工緩衝處理或排序之中繼結果集的工作資料表...等都需要使用到tempdb,所以這是需要DBA自行衡量的。

4.記錄檔和資料檔不包含純文字資料。

5.備份壓縮將無法大幅壓縮備份儲存體。因此,不建議您同時使用 TDE 與備份壓縮。

6.如果使用FILESTREAM類型的資料將不會加密。

 

管理維護:

image

參考

了解透明資料加密 (TDE)