加密层次结构

SQL Server 2005 用分层加密和密钥管理基础结构来加密数据。每一层都使用证书、非对称密钥和对称密钥的组合对它下面的一层进行加密。如下图所示,加密层次结构与权限层次结构中介绍的安全对象的层次结构相似。

下图显示了加密层次结构的每一层是如何对它下面的一层进行加密的。顶级(服务主密钥)是用 Windows DP API 加密的。

键层次结构:Windows,SQL Server,数据库层

加密机制

SQL Server 2005 提供了下列加密机制:

  • 证书
  • 非对称密钥
  • 对称密钥

证书

公钥证书(通常只称为证书)是一个数字签名语句,它将公钥的值绑定到拥有对应私钥的人员、设备或服务的标识上。证书是由证书颁发机构 (CA) 颁发和签名的。从 CA 接收证书的实体是该证书的主体。证书中通常包含下列信息。

  • 主题的公钥。
  • 主题的标识符信息,如姓名和电子邮件地址。
  • 有效期。这是指证书被认为有效的时间长度。
    证书只有在指定的有效期内有效,每个证书都包含一个“有效期始于”和“有效期至”****日期。这两个日期设置了有效期的界限。证书超过有效期后,必须由已过期证书的主题请求一个新证书。
  • 颁发者标识符信息。
  • 颁发者的数字签名。
    此签名用于证明主题的公钥和标识符信息之间的绑定的有效性。(在对信息进行数字签名的过程中,信息以及发件人拥有的一些秘密信息将被转换成一个称为“签名”的标记。)

证书的主要好处是使主机不再需要为每个主题维护一组密码。相反,主机只需要与证书颁发者建立信任关系,然后证书颁发者就可以签名无限数量的证书。

当主机(如安全 Web 服务器)将某个颁发者指定为受信任的根颁发机构时,主机将隐式信任该颁发者用来建立它所发出的证书绑定的策略。也就是说,主机将相信该颁发者已经验证了证书主题的标识。主机可以通过将颁发者自签名的证书(其中包含颁发者的公钥)放入主机的受信任根证书颁发机构证书存储区,将此颁发者指定为受信任的根颁发机构。对于中间证书颁发机构或从属证书颁发机构,只有当它们具有受信任根证书颁发机构的合法路径时才会受到信任。

颁发者可以在证书到期之前便撤消该证书。撤消后,将解除公钥与证书中声明的标识之间的绑定。每个颁发者都维护一个证书撤消列表,此列表可由程序在检查任何给定证书的有效性时使用。

由 SQL Server 创建的自签名证书遵循 X.509 标准并支持 X.509 v1 字段。

非对称密钥

非对称密钥由私钥和对应的公钥组成。每个密钥都可以解密另一个密钥加密的数据。非对称加密和解密相对来说会消耗大量资源,但它们比对称加密提供了更高的安全级别。非对称密钥可用于加密对称密钥,以便存储在数据库中。

对称密钥

对称密钥是加密和解密都使用的一个密钥。使用对称密钥进行加密和解密非常快,适用于对数据库中敏感数据的日常使用。

请参阅

概念

权限层次结构
安全对象

其他资源

安全函数 (Transact-SQL)
加密操作指南主题

帮助和信息

获取 SQL Server 2005 帮助