2010-07-05 111 views
0

我的問題是一個重複 - Oracle Transparent Data Encryption undecrypted access - 但是在SQL Server 2008中SQL Server 2008中 - 透明數據加密未解密訪問


我可以在這樣設置的的SQL Server 2008數據庫所有下列陳述是正確的?

一)某些列,可能所有列進行加密,從而使數據庫文件直接文件訪問不會允許攻擊者獲取任何記錄

B)的加密列透明解密的授權用戶,在哪裏授權發生例如通過具有特定角色或特權

c)具有用於執行「正常」管理任務(調整,創建/刪除模式對象,重新啓動數據庫,從數據字典中選擇)的可執行特權的管理員可以選擇表,但將看到只有加密列中的加密數據。

如果這是可能的,我該怎麼做。如果這是不可能的,我有什麼選擇,至少要「接近」這些要求?

我知道a)是可能的,但我不確定b)和c)。

謝謝。

回答

1

沒有,因爲你不能只選定列執行透明數據加密:

透明數據加密(TDE) 執行實時I/O加密和 解密的數據和日誌文件。 加密使用數據庫 加密密鑰(DEK),該數據庫在恢復過程中的 可用性的數據庫引導記錄中存儲 。 DEK 是一個對稱密鑰,通過使用存儲在服務器主數據庫 中的 證書或由EKM 模塊保護的非對稱密鑰進行保護。 TDE保護數據「靜止」, 表示數據和日誌文件。它 提供了遵守 許多法律,法規和指導 在各行業建立的能力。 這使得軟件開發人員可以通過使用AES和3DES 加密算法來加密數據,而無需更改現有應用程序的 。 Ref

下面是你應該考慮有關TDE一些事情(的Brad McGehee's blog提供):

  • TDE不保護內存中的數據,所以敏感的數據可以被任何人誰擁有DBO權限的可見數據庫或SA權限到SQL Server實例。換句話說,TDE不能阻止DBA查看他們想要查看的任何數據。

  • TDE沒有粒度。然後整個數據庫加密。

  • TDE不保護客戶端應用程序與SQL Server之間的通信,所以必須使用其他加密方法來保護通過網絡傳輸的數據。

  • FILESTREAM數據未加密。

  • 如果SQL Server實例上的任何一個數據庫啓用了TDE,則tempdb數據庫會自動加密,這可能會導致在同一實例上運行的加密和非加密數據庫的性能較差。

  • 儘管實現TDE所需的資源比列級加密所需的資源要少,但仍會產生一些開銷,這可能會阻止其在遇到CPU瓶頸的SQL Server上使用。

  • 使用TDE加密的數據庫無法利用SQL Server 2008的新備份壓縮功能。如果你想利用備份壓縮和加密,你將不得不使用第三方應用程序,如SQL備份,它允許你執行這兩個任務而不會受到懲罰。

這可能會感興趣:How to: Encrypt a Column of Data