繁体   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