首页 理论教育 常用信任模型及信任路径优化为:常用信任模型与信任路径

常用信任模型及信任路径优化为:常用信任模型与信任路径

时间:2023-06-09 理论教育 版权反馈
【摘要】:在得到信任路径后,就要取回信任路径上的所有证书进行完整性验证。路径图路径图方法是指客户端程序通过检查并存储用户信任域所有的层次关系,产生一幅结点路径图,结点代表CA和用户,证书是弧。

常用信任模型及信任路径优化为:常用信任模型与信任路径

选择信任模型(Trust Model)是构筑和运作PKI所必需的一个环节。选择正确的信任模型以及与它相应的安全级别是非常重要的,同时也是部署PKI所要做的较早和基本的决策之一。

在X.509规范中给出了信任的定义:如果实体A认定实体B严格地按实体A所期望的那样行动,则实体A信任实体B。从这个定义可以看出,信任涉及假设、期望和行为,这意味着信任是不可能被定量测量的,信任是与风险相联系的,并且信任的建立不可能总是全自动的。在PKI中,可以把这个定义具体化为:如果一个用户认为CA可以把任一公钥绑定到某个实体上,则该用户信任该CA。

常用的信任模型有4种:

1)认证机构的严格层次结构模型(Strict Hierarchy of Certification Authorities Model)。

2)分布式信任结构模型(Distributed Trust Architecture Model)。

3)Web模型(Web Model)。

4)以用户为中心的信任模型(User Centric Trust Model)。

1.认证机构的严格层次结构模型

认证机构的严格层次结构模型是最早的PKI信任模型,可以用一棵倒转的树来描述。在该模型中,整个领域中的信任点是根CA(Root CA)。在根CA的下面是零层或多层中介CA(Intermediate CA),也被称作子CA。根CA认证直接连接它下面的子CA。每个CA都认证零个或多个直接连接在它下面的CA。

CA对非CA实体的认证有两种方式:一种是上层的CA既可以认证其他CA也可以认证终端实体;另一种是CA要么认证终端实体,要么认证其他CA,但不能两者都认证。

2.分布式信任结构模型

与PKI系统中所有实体都信任唯一一个CA的严格层次结构相反,分布式信任结构把信任分散在两个或多个CA上,即整个PKI系统由若干个子集构成,而每个子集都是一个严格层次结构。也就是说,A把CA1作为信任的根,而B可以把CA2作为信任的根。这些CA必须是整个PKI系统的一个子集所构成的严格层次结构的根CA(CA1是包括A在内的严格层次结构的根,CA2是包括B在内的严格层次结构的根)。两个根CA之间可以通过交叉认证(Cross Certification)机制实现相互之间的信任。

3.Web模型

Web模型是在万维网上诞生的,而且依赖于流行的浏览器,如Netscape公司的Navigator和Microsoft公司的Internet Explorer。在这种模型中,许多CA的公钥被预装在标准的浏览器上。这些公钥确定了一组浏览器用户最初信任的CA。尽管这组根密钥可以被用户修改,然而几乎没有普通用户对于PKI和安全问题精通到可以进行这种修改的程度。但这也是这种模型存在的安全缺陷之一。

Web模型在方便性和简单互操作性方面有明显的优势,但是也存在许多安全隐患。例如,因为浏览器用户自动地信任预安装的所有公钥,一般不知道收到的证书是由哪一个根密钥签发的,即使这些根CA中有一个是“坏的”(例如,该CA从没有认真核实被认证的实体),安全性都将被完全破坏;另外一个潜在的安全隐患是没有实用的机制来撤销嵌入到浏览器中的CA。如果发现一个CA的公钥是“坏的”,要使全世界数百万个浏览器自动地废止该密钥的使用是非常困难的;该模型还缺少有效的方法在CA和用户之间建立合法协议,该协议的目的是使CA和用户共同承担责任。

4.以用户为中心的信任模型

在以用户为中心的信任模型中,每个用户自己决定信任哪些证书。因为要依赖于用户自身的行为和决策能力,因此以用户为中心的模型在技术水平较高和利害关系高度一致的群体中是可行的,但是在一般的群体(它的许多用户极少有或者没有安全及PKI的概念)中是不现实的。而且,这种模型一般不适合用在贸易、金融或政府环境中,因为在这些环境下,通常希望或需要对用户的信任实行某种控制,显然这种情况下安全策略在以用户为中心的模型中是不可能实现的。

所谓信任路径是指当一个实体认证另一个实体时,构成两者之间信任链的证书的集合。以最简单的严格层次结构信任模型为例,如图2-24所示,U为根CA,由于根认证中心U的证书对于Alice和Bob来说是预装的,即对Alice来讲可以直接信任U,当Alice和Bob的发证中心不同时(Alice的证书由X颁发,而Bob的证书由Z颁发),则Alice可由以下证书链实现对Bob的认证:

U<<V>>V<<Y>>Y<<Z>>Z<<B>>

978-7-111-39843-1-Chapter02-64.jpg(www.xing528.com)

图2-24 认证路径的概念

其中U<<V>>表示V的证书由U来颁发,所以V可以得到U的公钥从而认证U。在得到信任路径后,就要取回信任路径上的所有证书进行完整性验证。

由以上内容可以看出,构建信任路径由两个过程组成:

1)从目录服务器中获取证书并且构建证书路径。

2)验证每个证书的完整性及其相关的策略是否正确。

下面介绍信任路径构建的几种方法:

(1)证书链

证书链方法被商业CA和大多数SSL所采用,S/MIME也采用这种认证方式。证书链由一系列从根CA到用户的证书所组成。为了能够认证不同信任域内的用户证书,客户端要保存所有需要的自签根证书,还要有能够验证其他域CA自签证书所用到的签名算法。大多数情况下可以通过目录服务器来访问分布式的数据库,或用S/MIME电子邮件消息来发布和得到证书链;还有一种方式是将证书链的构建过程放到发证和制作数字信封当中,这样做可以使得客户端变得十分简单而且易于实现,因为剩下的工作只是做签名验证就可以了。但是,在大规模的分布式环境中,维护和管理本地每一个用户的数个根CA证书链,而且还要实施密钥保护和维持证书安全策略是很困难的。用户必须经常地从系统管理员那里更新自签证书,一旦用户没有得到正确及时的更新信息,使用了不可信任的根证书所带来的风险是难以估量的。

(2)路径图

路径图方法是指客户端程序通过检查并存储用户信任域所有的层次关系,产生一幅结点路径图,结点代表CA和用户,证书是弧。根据某种算法,可以合并包含结点的新的路径图和原有的路径图,来产生新的路径图。对于每一个新插入的路径图结点都要进行完整性校验,在整个路径构建完毕后,就可以进行路径验证了。

在这种方法下可能会有多重路径,所以要有相应的算法来决定最短路径。如果最短路径无效,那么就要对次短路径进行检测,从最短路径到最长路径的序列中找到可以通过验证的最短路径。层次路径图是一种通用的、适应性强的确定证书信任路径的方法,它独立于证书策略所决定的层次结构的形式。另外,如果在层次结构中只有一个自签的证书,那么路径图方法对于直接对用户进行欺骗攻击的抵御性是很强的。当然,本地层次结构中的CA也可以通过交叉认证来与其他的PKI信任域中的结点建立信任。但是,当信任域增加时,由于图的复杂性也大大增加,证书的获得、路径图的查找、最短路径选择的复杂性将会大大增加。在许多拥有大量结点的路径图互相直接或间接地相连时,客户端会将所有的证书取回本地,这样客户端实施路径图的计算量将会比真正执行其主要功能的运算量还要大。一种解决方案是将经常用到的信任域的证书存储到本地的缓存中,但是,维护和管理缓存也会降低客户端的运行效率。另外一种可选的方法是将缓存和PKI信息服务器相结合,以保证客户端证书信息的更新。这种方法的缺点是:在系统出现意外事故或受到拒绝服务攻击时,会使得客户端无法连接到PKI信息服务器,会妨碍所有用户间信任的建立。

(3)证书路径验证服务

用一个专用的DCS(Data Certification Server)来处理证书信任路径的构建和验证,并提供证书的更新信息。为了认证一个PKI用户,客户端将一个认证请求连同自己的证书发送给DCS,DCS负责从目录服务器获取所有需要的证书,构建证书信任路径并加以验证,将结果发送回用户,如图2-25所示。在这种情况下,客户端是极其简单的,因为它不需要构建证书路径,也不需要验证证书,但从另一方面看,整个系统的安全性依赖于一个服务器,如果受到拒绝服务攻击,或者是欺骗攻击,所有的用户和实体都将受到损害,所以要实施DCS,必须要使用附加的、强大的安全手段来保护服务器,另外,要实施DCS,肯定需要一个高性能的服务器,这样无疑增加了系统成本。

978-7-111-39843-1-Chapter02-65.jpg

图2-25 证书路径验证服务

(4)目录服务器路径构建

由目录服务器来进行路径的构建,在接收到请求后,目录服务器负责构建证书路径,并将路径上的所有证书都发回给客户端,客户端负责对证书路径进行验证,如图2-26所示。因为验证操作是在客户端完成的,对于目录服务器自身的安全性没有什么损害。在大规模分布式环境下,在目录服务器上实施这样的操作,将会给目录服务器造成极大的负担,从而影响目录服务器的主要功能:提供对分布式存储的访问。另外,要想在目录服务器中实现这项功能,就必须对已有的目录服务器的协议进行修改,这势必会对其开放性和互操作性造成影响。

978-7-111-39843-1-Chapter02-66.jpg

图2-26 目录服务器路径构建

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈