SQL Server 加密

加密是使用密钥或密码模糊处理数据的过程。 这可以使数据毫无用,而无需相应的解密密钥或密码。 加密无法解决访问控制问题。 但是,即使绕过了访问控制,它也会通过限制数据丢失来提高安全性。 例如,如果数据库主计算机配置错误,并且黑客获取敏感数据,则被盗信息在加密时可能毫无用处。

可以将 SQL Server 中的加密用于连接、数据和存储过程。 下表包含有关 SQL Server 中加密的详细信息。

重要

尽管加密是一种有助于确保安全性的宝贵工具,但不应将其考虑用于所有数据或连接。 在决定是否实现加密时,请考虑用户如何访问数据。 如果用户通过公用网络访问数据,可能需要数据加密来提高安全性。 但是,如果所有访问都涉及安全 Intranet 配置,则可能不需要加密。 任何加密的使用都应包括密码、密钥和证书的维护策略。

本节中

加密层次结构
有关 SQL Server 中的加密层次结构的信息。

选择加密算法
有关如何选择有效的加密算法的信息。

透明数据加密 (TDE)
有关如何以透明方式加密数据的常规信息。

SQL Server 和数据库加密密钥(数据库引擎)
在 SQL Server 中,加密密钥包括用于保护敏感数据的公共密钥、私钥和对称密钥的组合。 本部分介绍如何实现和管理加密密钥。

保护 SQL Server
概述如何帮助保护 SQL Server 平台,以及如何处理用户和安全对象。

加密函数 (Transact-SQL)
有关如何实现加密函数的信息。

ENCRYPTBYPASSPHRASE (Transact-SQL)
有关如何使用密码加密数据的信息。

ENCRYPTBYKEY (Transact-SQL)
有关如何使用对称密钥加密数据的信息。

ENCRYPTBYASYMKEY (Transact-SQL)
有关如何使用非对称密钥加密数据的信息。

ENCRYPTBYCERT (Transact-SQL)
有关如何使用证书加密数据的信息。

外部资源

SQL Server 2005 安全性的 10 个步骤
有关 SQL Server 安全性的当前信息。

另请参阅

sys.key_encryptions (Transact-SQL)
SQL Server 和数据库加密密钥(数据库引擎)
备份和还原 Reporting Services 加密密钥