3

我有一個數據庫,目前正在使用我的應用程序。我不想在我的應用程序CORE中更改任何東西。但我想加密DATAINFORMATION其中storedis storing在數據庫中。如何加密SQL Server 2008數據庫

SQL Server 2008(或2008 R2)應該有一個內部機制來加密和解密提供給應用程序的信息。

如何讓它工作? (使用Triggers或其他任何需要對所有數據庫,數字,字符串,布爾值,日期時間字段加密等

任何幫助appriciated

+0

@Ehsan這種情況是不同的:在我的情況下,DBA能夠看到和使用*表工作,*但數據是加密的,就像密碼字段,沒有人可以理解他們的含義。 'DBA'也可以刪除,添加或編輯任何結構''(不要忘記這些是DBA工作)''。我只是想加密表 – 2012-01-12 09:34:36

回答

3

如果你想單元級加密,你應該自己做wayes)如果你想加密數據庫文件,你可以使用Transparent Data Encryption (TDE)

+0

+1中的信息來加密數據庫文件,即使我不是這個意思。 – 2012-01-12 09:00:01

2

SQL 2008有TDE或,總數據庫加密。這加密了整個數據庫,並且對數據庫的任何用戶都是透明的。如何去了解它的詳細信息可以在這兩個微軟文章中找到:

http://msdn.microsoft.com/en-us/library/cc278098%28v=sql.100%29.aspx

http://msdn.microsoft.com/en-us/library/bb934049.aspx

+0

+1在Express版本中不提供加密功能..? – shashwat 2013-06-27 17:07:10

+1

@shashwat使用非對稱密鑰/對稱密鑰/證書的列級別可以使用加密。您需要TDE來加密整個數據庫,並且它在快速版上不可用。 – Louhike 2016-12-12 16:43:43

0

您可以替代,以期自己的真實表的INSERT INSTEAD OF添加和INSTEAD OF UPDATE觸發器,創建幾個用戶定義的函數。您可能需要稍微修改您的應用程序。

取而代之的是,考慮在文件級別對模式保護使用加密。 DbDefence等工具可用於小型數據庫的免費版本,適用於中型數據庫,價格適中。

0

如果您真的按字段對所有內容進行了加密,您將失去索引優勢並且性能會大幅下降。

自由選項:將數據庫文件放在加密分區上。 然而這對DBA當然不會有什麼區別。他將能夠選擇未加密的數據庫。

有類似微軟TDE的廉價解決方案稱爲DbDefence(是的,我與該公司相關聯的)

正如你可能知道,微軟將在SQL Server 2016調用來實現新的加密功能「始終加密」。 DbDefence自2005版以來一直使用SQL Server的這種方法。它確實有效,您不需要在應用程序中更改任何內容。

0

透明數據加密(TDE)

透明數據加密(TDE)是由微軟和甲骨文開發加密數據庫文件的技術。它提供文件級加密功能,並通過加密硬盤驅動器和備份介質上的數據庫來保護靜止數據。它不保護傳輸中的數據或正在使用的數據。

加密對於訪問數據庫的應用程序是完全透明的。它使用高級加密標準或三重DES加密對數據庫的數據文件(.mdf)和日誌文件(.ldf)中的數據進行加密。

可以使用相同的密鑰來加密表中的所有列,而不管表中要加密的列數。數據庫服務器主密鑰爲這些加密密鑰提供加密,並存儲在數據庫的字典表中。

欲瞭解更多信息,請參閱鏈接 How to implement TDE encrytion on SQL Server

相關問題