首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

22.7  证书和非对称密钥

在本书中一些不同的地方(包括本章的前面),我们提到过加密的概念。对于服务器体系结构的不同级别来说,证书和非对称密钥是定义加密密钥的主要的加密机制。这二者是完成相同的基本事情的不同方法,并且,它们在很大程度上是可互换的。无论使用的是证书还是非对称密钥,都需要记住,它们很像是你房间的钥匙——如果让所有人都拥有的话,则它们很快将失去自身的价值(现在,既然所有的人都能进来,那么,为什么要多此一举地把所有人锁在外面呢?)。

你可能想要在不同的加密密钥下分隔开若干不同的控制筒仓,基于这种打算,SQL Server在几个不同的级别支持密钥的概念。在每一个服务器安装中,SQL Server都维护有一个服务主密钥。它由Windows级别的服务主密钥加密。同样,每一个数据库都包含一个数据库主密钥,如果选择,它本身可以基于服务主密钥进行加密。然后,在每一个数据库中,可以定义证书和(或)非对称密钥(这二者都是某种形式的密钥)。总的来说,加密层次结构如图22-3所示:

数据

 

数据

 

数据

 

对称密钥

 

对称密钥

 

对称密钥

 

非对称密钥

 

证书

 

数据库主密钥

 

服务主密钥 用DPAPI加密

 

服务主密钥

 

数据库级别

 

SQL Server级别

 

Windows级别

 

图 22-3

22.7.1  证书

从SQL Server 2000开始,SQL Server拥有了它自己的证书颁发机构,或称CA。同样,也支持第三方的CA。CA颁发证书,颁发的证书中包含加密密钥,以及一些与证书有关的基本信息,如证书有效的时间范围(一个起始日期和一个到期日期)、证书持有者的名字、证书颁发机构的信息。使用CREATE CERTIFICATE命令把证书添加到服务器中。

22.7.2  非对称密钥

非对称密钥与证书的工作方式大体相同,但指定起来更加直接,并且,不由任何发行机构验证。与证书一样,指定加密密钥,然后利用加密密钥来加密敏感信息。使用CREATE ASYMMETRIC KEY命令把非对称密钥添加进来。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论