【问题标题】:Best way to encrypt certain fields in SQL Server 2008?加密 SQL Server 2008 中某些字段的最佳方法?
【发布时间】:2010-05-25 22:12:38
【问题描述】:

我正在编写一个 .NET Web 应用程序,它将读取信息并将信息写入 SQL Server 2008 数据库。其中一些信息本质上是高度机密的,因此我想加密某些数据元素。

出于性能原因,我不想使用 TDE 或任何全数据库加密。我主要关心的是保护这些敏感数据作为防止 SQL 注入甚至数据库服务器受损的最后手段。

执行此操作以保持性能的最佳方法是什么?使用 SQL Server 2008 加密功能(如EncryptByKey)会更快,还是在 .NET Web 应用程序本身中加密和解密数据会更快?该应用程序将使用存储在安全 web.config 中的对称密钥并将加密值存储在数据库中。

【问题讨论】:

    标签: .net sql-server database encryption


    【解决方案1】:

    我一直遵循这样的规则,如果你要做的是与没有业务规则相关的数据,那么它应该在数据库中完成,这样你就不必再担心它了......例如,如果您要编写另一个应用程序,您已经有了加密设置,而不必编写任何额外的代码。这包括不需要再次测试或引入任何新错误。

    【讨论】:

      【解决方案2】:

      我已经使用第三方库在 Web 应用程序内部进行了数据加密,我确实认为它会比 SQL2008 EncryptByKey 中的慢。

      【讨论】:

        【解决方案3】:

        我没有使用数据库加密,但我的建议是在应用程序级别进行加密。如果出于某种原因您的数据库需要更改,则加密逻辑将位于应用程序层而不是数据库层。

        我不太确定两者之间的速度,但是如果在应用层进行维护,项目的维护会更容易。至于加密,这个网站是设计你的加密和解密逻辑和加盐的好读物。

        Encrypt and Decrypt Data Using a Symmetric (Rijndael) Key

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-04-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多