簡體   English   中英

加密SQL Server 2008中某些字段的最佳方法?

[英]Best way to encrypt certain fields in SQL Server 2008?

我正在編寫一個.NET Web應用程序,它將讀取和寫入信息到SQL Server 2008數據庫。 其中的某些信息本質上將是高度機密的,因此我想對某些數據元素進行加密。

由於性能原因,我不想使用TDE或任何全數據庫加密。 我主要關心的是保護這些敏感數據,以防SQL注入甚至數據庫服務器受損。

這樣做以保持性能的最佳方法是什么? 使用SQL Server 2008加密函數(例如EncryptByKey )是否更快,或者對.NET Web應用程序本身中的數據進行加密和解密會更快? 該應用程序將使用存儲在安全web.config中的對稱密鑰,並將加密后的值存儲在DB中。

我一直遵循以下規則:如果您要執行的操作是與無業務規則相關的數據,則應在數據庫中完成,這樣就不必再擔心它了……例如,如果您如果要編寫另一個應用程序,您已經具有加密設置,而不必編寫任何其他代碼。 這包括不需要再次測試或引入任何新的錯誤。

我已經使用第三方庫在Web應用程序內部進行了數據加密,但我確實認為,與SQL2008 EncryptByKey中的數據加密方法相比,它會更慢。

我沒有使用數據庫加密,但是我的建議是在應用程序級別進行加密。 如果由於某種原因需要更改數據庫,則加密邏輯將在應用程序層而不是數據庫層中進行。

我不確定這兩者之間的速度,但是如果將項目維護在應用程序層中,則可以更輕松地進行項目維護。 至於加密,此網站是設計加密和解密邏輯以及添加鹽分的很好的閱讀材料。

使用對稱(Rijndael)密鑰加密和解密數據

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM