加密SQL Server中的列

时间:2011-06-28 12:29:28

标签: sql-server encryption

我需要加密数据库中的多个列。

我是为每列创建一个证书和一个对称密钥,还是为每列创建一个证书和一个对称密钥。

最佳做法是什么?

3 个答案:

答案 0 :(得分:1)

数据来自哪里?如果您有应用程序,尤其是基于Web的应用程序,则应在传输数据之前对其进行加密。

答案 1 :(得分:0)

您是否考虑过使用SQL Server的Transparent Data Encryption (TDE)

答案 2 :(得分:0)

根据我使用MS SQL 2008单元级加密的经验,您需要为数据库设置主密钥,为数据库创建证书,并根据该证书创建用于加密单元级数据的对称密钥

要加密数据的列必须是VARBINARY类型之一(或其他两个:我相信VARCHAR和NVARCHAR,但我不确定)。还有一种在这些列中插入/更新数据的特定方法,以及从这些列中读取数据。

我们目前在VARBINARY(256)列中存储了以这种方式加密的一些敏感信息列,以及我们数据库顶部的TDE。

更多信息和有用的教程可以在这里找到:

http://www.sqlservergeeks.com/articles/sql-server-bi/19/cell-level-encryption-in-sql-server http://blogs.technet.com/b/keithcombs/archive/2005/11/24/415079.aspx