SQL Server 中的数据加密 (ADO.NET)
更新:November 2007
SQL Server 2005 提供使用证书、非对称密钥或对称密钥对数据进行加密和解密的功能。 它在一个内部证书存储中管理所有这些证书或密钥。 该存储使用加密层次结构,可在层次结构中的上一层级别保护证书和密钥。 SQL Server 2005 的此功能区域称为“机密存储”。
加密功能支持的最快加密模式是对称密钥加密。 此模式适用于处理大量数据。 可以通过证书、密码或其他对称密钥加密对称密钥。
密钥和算法
SQL Server 2005 支持多种对称密钥加密算法,包括 DES、Triple DES、RC2、RC4、128 位 RC4、DESX、128 位 AES、192 位 AES 和 256 位 AES。 这些算法使用 Windows 加密 API 实现。
在数据库连接范围内,SQL Server 2005 可以保留多个开放式对称密钥。 开放式密钥从存储中进行检索,并可用于解密数据。 解密一段数据时,不需要指定要使用的对称密钥。 每个加密的值均包含用于加密该值的密钥的密钥标识符(密钥 GUID)。 如果已解密正确的密钥并且该密钥已开放,则引擎会将加密的字节流匹配到开放式对称密钥。 然后使用此密钥执行解密并返回数据。 如果正确的密钥未开放,则返回 NULL。
外部资源
有关数据加密的更多信息,请参见以下资源。
SQL Server Encryption(SQL Server 加密),位于 SQL Server 2008 联机丛书中 |
概述 SQL Server 2008 中的加密。此主题包括到其他主题和帮助主题的链接。 |
Encryption Hierarchy(加密层次结构)和 Encryption How-to Topics(加密帮助主题),位于 SQL Server 2005 联机丛书中 |
概述 SQL Server 2005 中的加密。此主题提供到其他主题和帮助主题的链接。 |
Using Encryption and Obfuscation(使用加密和模糊处理),位于 SQL Server 2000 联机丛书中 |
说明 SQL Server 2000 加密选项。 SQL Server 2000 可以选择使用安全套接字层 (SSL) 来加密在应用程序计算机和 SQL Server 实例之间传输的所有数据。 |
请参见
概念
SQL Server 中的应用程序安全机制方案 (ADO.NET)
SQL Server 中的服务器和数据库角色 (ADO.NET)
SQL Server 中的所有权和用户架构分离 (ADO.NET)