SQL Server 加密
适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例
加密是指通过使用密钥或密码对数据进行模糊处理的过程。 如果没有相应的解密密钥或密码,此过程会使数据变得毫无用处。 加密并不解决访问控制问题。 不过,它可以通过限制数据丢失来增强安全性,即使在访问控制失效的情况下。 例如,如果数据库主计算机配置有误且黑客获取了敏感数据,那么被盗信息如已加密就可能毫无用处。
虽然加密是可帮助确保安全性的有力工具,但其并不适用于所有数据或连接。 决定是否实施加密时,请考虑用户访问数据的方式。 如果用户通过公共网络访问数据,则可能需要使用数据加密以增强安全性。 但是,如果所有访问都具有某项安全 Intranet 配置,则可能不需要使用加密。 任何时候使用加密时还应包括密码、密钥和证书的维护策略。
注意
有关传输级安全性 (TLS 1.2) 的最新信息,可在针对 Microsoft SQL Server 的 TLS 1.2 支持中获取。 有关 TLS 1.3 的详细信息,请参阅 TLS 1.3 支持。
本节内容
您可以在 SQL Server 中为连接、数据和存储过程使用加密。 下文包含有关 SQL Server 中加密的更多信息。
-
提供有关 SQL Server 中的加密层次结构的信息。
-
说明如何选择有效的加密算法。
-
有关如何加密静态数据的一般信息。
-
在 SQL Server 中,加密密钥包括一组用来保护敏感数据的公钥、私钥和对称密钥。 该部分介绍如何实现和管理加密密钥。
-
确保本地数据库管理员、云数据库操作员或其他特权虽高但仍属未经授权的用户无法访问加密数据。 通过具有安全 enclave 的 Always Encrypted 扩展了 Always Encrypted,以实现就地加密和更丰富的保密查询。
-
通过向非特权用户屏蔽数据,限制敏感数据泄露。
-
有关如何使用公钥加密的信息。
相关内容
- 保护 SQL Server
- Azure SQL 数据库安全功能概述
- 加密函数 (Transact-SQL)
- ENCRYPTBYPASSPHRASE (Transact-SQL)
- ENCRYPTBYKEY (Transact-SQL)
- ENCRYPTBYASYMKEY (Transact-SQL)
- ENCRYPTBYCERT (Transact-SQL)
- sys.key_encryptions (Transact-SQL)
- SQL Server 和数据库加密密钥(数据库引擎)
- 备份和还原 SQL Server Reporting Services (SSRS) 加密密钥
- 配置 SQL Server 数据库引擎以加密连接
- Microsoft TechNet:SQL Server 技术中心:SQL Server 2012 安全和保护