2010-05-25 57 views
2

我正在編寫一個.NET Web應用程序,它將讀取和寫入信息到SQL Server 2008數據庫。其中一些信息本質上是高度機密的,所以我想加密某些數據元素。加密SQL Server 2008中某些字段的最佳方法?

出於性能原因,我不想使用TDE或任何全數據庫加密。我主要關心的是保護這些敏感數據,作爲防止SQL注入甚至數據庫服務器泄密的最後手段。

這樣做是爲了保持性能的最佳方法是什麼?使用SQL Server 2008加密函數(如EncryptByKey)的速度更快嗎?還是加快和解密.NET Web應用程序本身中的數據會更快?該應用程序將使用存儲在安全web.config中的對稱密鑰並將加密值存儲在數據庫中。

回答

0

我已經使用第三方庫在web應用程序內完成了數據加密,我認爲它與SQL2008 EncryptByKey中的相比將會變慢。

0

我還沒有使用數據庫加密,但我的建議是在應用程序級別進行加密。如果出於任何原因需要更改數據庫,那麼加密邏輯將位於應用程序層而不是數據庫層。

我並不十分確定兩者之間的速度,但如果維護在應用程序層中,項目的維護將更容易。至於加密,這個網站是一個很好的閱讀設計你的加密和解密邏輯和醃製。

Encrypt and Decrypt Data Using a Symmetric (Rijndael) Key

1

我一直遵循的規則,如果你正在嘗試做的是一個沒有業務規則,那麼它應該在的數據庫中進行相關的數據,這樣你就不必擔心它再次...例如,如果你要編寫另一個應用程序,你已經有了加密設置,而不必編寫任何額外的代碼。這包括不需要再次測試或引入任何新的錯誤。

相關問題