计算机安全信任模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、信任模型
1.信任模型的基本概念
(1)信任
实体A认定实体B将严格地按A所期望的那样行动,则A信任B(ITU-T推荐标准X.509的定义)。
称A是信任者,B是被信任者。信任涉及对某种事件、情况的预测、期望和行为。信任是信任者对被信任者的一种态度,是对被信任者的一种预期,相信被信任者的行为能够符合自己的愿望。
(2)信任域
人所处的环境会影响对其他人的信任。例如在一个公司里,很可能你对公司同事比对外部人员会有更高的信任水平。如果集体中所有的个体都遵循同样的规则,那么称集体在单信任域中运作。所以信任域就是公共控制下或服从一组公共策略的系统集。(策略可以明确地规定,也可以由操作过程指定)。
识别信任域及其边界对构建PKI很重要。使用其它信任域中的CA签发的证书通常比使用与你同信任域的CA签发的证书复杂得多。
(3)信任锚
在下面将要讨论的信任模型中,当可以确定一个身份或者有一个足够可信的身份签发者证明其签发的身份时,我们才能作出信任那个身份的决定。这个可信的实体称为信任锚(trust anchor)。
(4)信任关系
证书用户找到一条从证书颁发者到信任锚的路径,可能需要建立一系列的信任关系。在公钥基础设施中,当两个认证中心中的一方给对方的公钥或双方给对方的公钥颁发证书时,二者之间就建立了这种信任关系。用户在验证实体身份时,沿这条路径就可以追溯到他的信任关系的信任锚。
信任模型描述了建立信任关系的方法,寻找和遍历信任路径的规则。信任关系可以是双向的或单向的。多数情况下是双向的。信任关系只在一个方向上延续,会出现一些特殊情形。例如,从绝密信任域转到开放信任域时,恰当的做法是信任应该在绝密域内的认证中心范围里。
2.PKI信任模型介绍
一个PKI内所有的实体即形成一个独立的信任域。PKI内CA与CA、CA与用户实体之间组成的结构组成PKI体系,称为PKI的信任模型。选择信任模型(Trust Model)是构筑和运作PKI所必需的一个环节。选择正确的信任模型以及与它相应的安全级别是非常重要的,同时也是部署PKI 所要做的较早和基本的决策之一。
信任模型主要阐述了以下几个问题:
(1)一个PKI用户能够信任的证书是怎样被确定的
(2)这种信任是怎样被建立的
(3)在一定的环境下,这种信任如何被控制
根据CA与CA、实体之间的拓扑关系,PKI的基本信任模型主要有四种:认证中心的严格层次结构模型(Strict Hierarchy of Certification Authorities Model)、分布式信任结构模型(Distributed Trust Architecture Model)、Web模型(Web Model)和以用户为中心的信任模型(User-Centric Trust Model)。
(1)严格层次结构模型
认证机构的严格层次结构为一棵倒转的树,根在顶上,树枝向下伸展,树叶在下面(如图5-2所示)。在这棵倒转的树上,根代表一个对整个PKI系统的所有实体都有特别意义的CA——通常叫做根CA,它充当信任的根或“信任锚(trust anchor)”——也就是认证的起点或终点。在根CA的下面是零层或多层中介CA,也被称作子CA,因为它们从属于根CA。子CA用中间节点表示,从中间节点再伸出分支。与非CA的PKI实体相对应的树叶通常被称作终端实体或终端用户。在这个模型中,层次结构中的所有实体都信任唯一的根CA。
在该模型中,层次结构中的所有实体都信任唯一的根CA,该层次结构按如下规则建立:
a)根CA认证(更准确地说是为其创建和签署证书)直接在它下面的CA;
b)这些CA中的每个都认证零个或多个直接在它下面的CA;
c)倒数第二层的CA认证用户实体。
而在层次结构中的每个实体(包括中间CA和用户实体)都必须拥有根CA的公钥。该公钥的安装是在这个模型中为随后进行的所有通信进行证书处理的基础,因此,其必须通过一种安全的带外方式来完成。例如,一个实体可以通过物理途径如(纸的)信件或电话来取得这个密钥,也可以选择电子方式取得,然后只是通过带外机制来确认它(例如,密钥的散列结果可以由信件发送、公布在报纸上或者通过电话告之)。
图5.2严格层次结构模型图
例5.1:格层次结构模型认证过程
持有根CA公钥的终端实体Alice通过下述方法检验另一个终端实体Bob的证书。假设Bob的证书是由CA6签发的,而CA6的证书是由CA3签发的,CA3的证书又是由根CA1签发的。Alice
拥有根CA1的公钥KR,能够验证CA1的公钥K1,因此可提取出可信的CA3的公钥。然后,类似地就可以得到CA6的可信公钥K6。公钥K6能够被用来验证Bob的证书,从而得到Bob的可
信公钥KBob。现在Alice能根据密钥的类型来使用密钥KBob,如对发给Bob的消息加密或者用来验证据称是Bob的数字签名,从而实现A和B之间的安全通信。
(2)分布式信任结构模型
与在PKI系统中的所有实体都信任唯一一个CA的严格层次结构相反,分布式信任结构把信任分散在两个或多个CA上(如图5-3所示)。也就是说,A把CA1作为他的信任锚,而B可以把CA2做为他的信任锚。因为这些CA都作为信任锚,因此相应的CA必须是整个PKI系统的一个子集所构成的严格层次结构的根CA(CA1是包括A在内的严格层次结构的根,CA2是包括B在内的严格层次结构的根)。
如果这些严格层次结构都是可信颁发者层次结构,那么该总体结构被称作完全同位体结构,因为所有的CA实际上都是相互独立的同位体(在这个结构中没有子CA)。另一方面,如果所有的严格层次结构都是多层结构,那么最终的结构就被叫做满树结构。(注意,根CA之间是同位体,但是每个根又是一个或多个子CA的上级。混合结构也是可能的(具有若干个可信颁发者层次结构和若干个多层树型结构)。一般说来,完全同位体结构部署在某个组织内部,而满树结构和混合结构则是在原来相互独立的PKI系统之间进行互联的结果。同位体根CA的互连过程通常被称为“交叉认证(cross certification)”。
交叉认证把以前无关的CA连在一起,使各自主体群之间的安全通信成为可能。它也扩展了信任概念。交叉认证要考虑以下问题:
·名字约束例:限定某一特定公司的证书有效。
·策略约束例:限制证书使用目的
·路径长度约束限制交叉证书的数目
图5.3分布式信任结构模型图
(3)Web模型
Web模型是在WWW上诞生的,依赖于浏览器,如Navigator和Internet Explorer。许多CA的公钥被预装在标准的浏览器上。这些公钥确定了一组浏览器用户最初信任的CA。普通用户很难修改这组根密钥。
该模型似乎与分布式信任结构模型相似,但从根本上讲,它更类似于认证机构的严格层次结构模型。因为在实际上,浏览器厂商起到了根CA的作用,而与被嵌入的密钥相对应的CA就是它所认证的CA,当然这种认证并不是通过颁发证书实现的,而只是物理地把CA的密钥嵌入浏览