P2P的PKI信任模型研究
2010-06-05江浩伟谭玉波
江浩伟,谭玉波
(河南工业大学 信息科学与工程学院,河南 郑州450001)
CA在公钥基础设施PKI体系中占有核心地位,现实世界中,不同行业往往有各自不同的CA,每个CA只可能覆盖一定的作用范围,其颁发证书都只在行业范围内有效,终端用户只信任本行业的CA。由于PKI体系结构各不相同,有的是单CA信任模型,有的是其他信任模型,而这些不同的PKI体系在实际中需要相互联系,因此解决PKI中的多级信任模型问题就显得尤为重要[1]。而将PKI引入P2P网络中后则使得中心CA被去除,每一个节点都既可以作为CA为其他节点颁发证书,又可作为客户端请求其他节点为其颁发证书。因此在基于P2P的网络环境下的PKI具有区别于一般PKI的特征。解决对节点CA的信任问题成为重中之重。在PKI中,网络实体信任关系的处理实际上是对标识实体身份的数字证书的验证过程。证书的验证一般包括3个方面:证书的数字签名,证书是否被撤销以及证书是否仍在有效期内[2]。
有的技术借鉴了P2P的相关技术,采用基于P2P的查询技术P-Grid来解决证书分发的困难[3]。非集中式PKI体系通过实体间信任关系的传递形成信任网从而解决集中式PKI中CA单点失效的问题。由于信任网的整体强度取决于强度最弱的网络实体,因此系统的安全性很难保证。文献[3]通过多重数字签名中可度量的信任来提高系统的可靠性和安全性。而本文则在文献[3]的基础之上引入节点的行为特征,从而进一步提高系统的可靠性。
P-Grid是一种基于虚拟分布式查询树的P2P查询技术,每个节点存储整个查询树的部分信息,所有节点存储的信息构成了整个查询树。节点通过相互间随机的访问,连续不断地分割搜索空间,这样就能够快速查询到相关信息。每个节点均保存足够的信息以便在以后转发搜索请求时与其他节点通信,最终形成的分布式访问结构就是P-Grid。它在逻辑上表现为二进制树型结构,称为二进制搜索树[4]。在基于P2P的PKI体系中可以利用P-Grid技术来完成实体证书的分发。基于P2P的PKI信任模型,主要有:
1)传统CA引入的模型 这类模型的安全性主要依赖于成熟的PKI中的相关安全技术所提供。在这类模型中一般存在所谓的超级节点,这些少数超级节点在P2P网络中承担了诸如监督整个网络的运行状况,定时向网络发出通告通知存在信任风险的节点等远远大于一般节点所承担的责任。但这类模型存在和传统PKI相类似的中心依赖性问题。
2)基于P2P的非集中式PKI 此类模型一般通过实体之间关系的传递形成信任网,从而解决集中式PKI中CA节点单点失效问题,但具有证书验证的复杂性和证书撤销的局限性。尤其由于每个节点都可以对其他节点进行颁发证书和向其他节点申请证书,而每个节点的能力信用方面又各不相同,从而导致在证书颁发过程中信任度的计算标准和准确度难以达到令人满意的程度。
本文提出了一种引入节点行为特征的信任模型,此模型有效解决了基于P2P的PKI体系中信任度计算的任意性,提高了信任度计算的准确性,并且由于在多重数字签名过程中,每个节点的证书由多个来自于其他节点的签名构成从而提高了证书的可信程度,一定程度上避免了恶意节点对信任度数值的任意更改。
1 节点行为特征信任模型
算法结合了多重数字签名算法和基于节点信息交换行为的信任度数值的计算,既具有数字签名算法的安全性和不可否认性,又具有信任度计算中的动态适应性和灵活性,能有效的解决P2P中的信任问题。
1.1 相关定义
1)服务质量 ①GOOD服务节点提供了高质量服务,交换非常顺利;②NORMAL服务节点提供了正确服务,但服务有些延迟或降低;③BAD服务节点提供错误信息,甚至提供恶意的文件下载。
2)信息价值 IW(information worth)IW1,IW2 ,IW3…,比如[0、100]、(100,200]、(200,500]等。
多重数字签名是指某个实体为申请一个有效的证书,需要一定数目的有效实体同时对该实体的身份进行核实,并在证书的基本信息后附上自身的数字签名作为签署证书的凭证。当实体的身份被多个有效实体核实后,就得到一个附有多个实体数字签名的有效数字证书。多重数字签名能够尽量保证实体身份的真实性,在一定程度上提高了系统的安全性,同时在某个实体的安全性无法得到保证时,也不影响整个系统的使用,提高了整个系统的可用性[5]。
1.2 实体证书的申请
由于采用多重数字签名和可度量信任2种技术,基于P2P的PKI体系对实体证书有特别的要求。如图1所示,实体证书的内容包括证书基本信息、颁发实体信息和实体自身签名3部分。而其中对实体信任度的计算是基于节点行为特征的计算,既要考虑节点服务的质量,又要考虑节点提供信息的价值。
1)加分规则 当服务质量为GOOD时进行加分,第一次加 1 分,以后每次加 Mi其中 Mi=N(IWi)/N(ΣIWi)。例如:某服务节点依次提供信息价值为 :IW1,IW2,IW2,IW3,IW4,IW2,IW2。 则加分如下:1,1/2,2/3,1/4,1/5,1/2,1/2。 这样,提供服务质量相同的情况下提供信息价值越大的节点加分越多[6]。
图1 多重数字签名Fig.1 Multiple digital signatures
2)减分规则 以往的信任模型对于恶意行为采用简单的统一减分,这对于防止恶意节点的周期性恶意行为效果不太理想,因此本文采用有区别的减分原则。第i信用级的服务节点一次“差评”扣 Ui。Ui是扣分系数,i 在具体的P2P网络环境下,假设将节点间的交换信息的价值分段如图2所示。 图2 交换信息的价值Fig.2 Value of exchange information 根据信用值将信用等级分为10级,信用值初值为0。每个级别的扣分系数的设定依据遵循高信用值、高成功交换率的原则,对每个信用等级设定相应的交换失败率阈值。λi是本文预期的交换失败率的最大值,在这个值的范围内,该信息交换是安全可行的,或者说是可以接受的。设定λi值如表1所示,为了对超过预期的惩罚和保证超过阈值范围的交换,将使服务节点的信用值降低一个级别。设信用值等级区间为[c,d],已经在该区间内的服务节点上升到更高一个信用级别,需要的交换数至少是d-c。在这个交换数中,服务节点若希望不被降级,失败的交换次数n应该小于 X(d-c)。假设服务节点当前的信用值为y,那么要使得在λi条件下,超过n次的失败交换将使服务节点的信用值降级,需要满足的条件是 y-nki≤c,ki为当前级别的扣分系数。于是,ki≥(y-c)/n,而n≤λi(d-c), 所 以 ki≥(y-c)/[λi(d-c)], 又 max((y-c)/[(d-c)])=1/λi,所以 ki≥1/λi,因此,表 1 显示了交换失败率与扣分系数的关系。 表1 交换失败率与扣分系数的关系Tab.1 Relationship failure rate of exchange marking coefficient 经过基于节点行为特征的加分和减分后节点的的信任度达到一个新的值,本模型中的行为特征既可以是接受服务节点的直接信任值,也可以是其他节点的推荐信任值,根据不同的信任策略,对直接信任值和推荐信任值赋予不同的权重,从而计算出最终的信任度。 证书中的信任度信息是整个PKI体系实现可度量信任的基础,它使得在证书验证时对信任度的计算成为可能。另外为方便系统实现和管理,需要定义3个信任常量: 1)签发证书信任常量Q1证书签署过程中的门信任量。在证书申请与签署自身签名过程中,如果对一个实体的信任度小于该值,则既不允许向该实体申请证书,也不允许为该实体签署证书。 2)验证证书信任常量Q2证书可信性验证的门槛任量。在对证书可信性验证完成后,如果对该证书的信任度小于该值,则认为该证书实体是不可信的。 3)信任度计算常量Q3信任度计算过程中的门槛信任量。在多路信任度的计算过程中,如果某路信任度小于该值,则认为该信任度对总信任度基本没有影响,可以忽略。 3个信任常量值的选取可以在一定程度上影响系统的安全可靠性以及系统实现的复杂性。3个信任常量问的关系为O≤Q3≤Q2≤Q1≤1。 实体的身份被系统中多个有效实体核实后,就获得一个具有多重数字签名的数字证书。利用P-Grid技术将该证书存放在系统中,实体就完成了证书的申请,成为体系中一个有效的实体。 在基于P2P的PKI体系中,实体证书的撤销并不由证书颁发实体完成,而由实体本身完成。并且,实体证书的撤销信息也具有特殊的格式,如图3所示,它主要包括证书撤销基本信息和证书撤销数字签名2部分。在该体系中,实体由于某种原因需要撤销证书时,无需向颁发者提出申请,只需利用自身私钥生成证书撤销信息并发布到系统中即可,大大简化了实体证书的撤销过程。 图3 证书的撤销Fig.3 Certificate revocation 系统中每个实体都需要配置信任实体和对应的信任度,以作为验证信任度的依据。实体本身是信任度为1的信任实体。在基于P2P的PKI体系中,实体证书的验证包括实体证书有效性的验证和实体证书可信性的验证2个方面。 1)实体证书有效性的验证 此过程包括验证证书内容的完整性、证书的有效期以及证书是否被撤销。由于证书和证书撤销信息均采用了自签名技术,因此从证书中读取公钥信息即可验证内容的完整性。如果证书撤销信息存在且数字签名正确,则说明证书撤销。 2)实体证书可信性的验证 只有当实体配置了信任实体且存在有效的信任实体时,才能开始对其他实体证书可信性的验证。信任实体的有效性验证与上述普通实体有效性的验证方法相同。实体证书可信性验证是通过计算实体证书的信任度完成的。 基于P2P的PKI信任模型,引入在P2P网络中基于节点行为特征的信任度的计算方法,使得在对节点进行数字签名的证书中对于节点的信任度的计算更加科学合理,尤其是在对每个节点的行为进行细分之后,使得在不同分段上的行为的节点的扣分系数不同,从而使得对其最终的信誉度产生关键性的影响,一定程度防止了恶意节点通过提供低价值信息获取较高信誉后,对于P2P网络的周期性攻击。但是本文在信任度的计算中未考虑基于全局的信任计算还是基于局部的信任计算对节点信誉度结果影响的不同,这可以作为以后进一步的研究。 [1]史伟奇.基于PKI信任模型的研究[J].电脑开发与应用,2005,18(3):36-38.SHI Wei-qi.Research on turst model based on PKI[J].Computer development and application,2005,18(3):36-38. [2]李胜勇,陈文元,张卫平.PKI技术及其存在问题的分析[J].微计算机信息,2005,21(1):171-172.LI Sheng-yong,CHEN Wen-yuan,ZHANG Wei-ping.The PKI technology and analysis of the existing problems[J].Micro Computer Information, 2005,21(1):171-172. [3]Aberer K,Datta A,Hauswirth M.A decentralised public key infrastructure for customer-to-customer e-commerce[J].International Journal of Business Process Integration and Management,2005, 1(1):26-33. [4]杨静,夏素贞,顾君忠.基于P-Gr i d的数字媒体信息共享研究[J].计算机应用,2004,24 (5):10-13.YANG Jing,XIA Shu-zhen,GU Jun-zhong.Information sharing of digital media based on P-Grid[J].Computer Applications,2004,24 (5):10-13. [5]李之棠,陈福生.一种基于P2P的PKI体系[J].计算机工程与科学,2006,28(9):1-3,32.LI Zhi-tang,CHEN Fu-sheng.A P2P-based PKI system[J].Computer Engineering and Science,2006,28(9):1-3,32. [6]文朱穆,卢正鼎,唐卓,等.P2P网络环境中节点信息交换的信任机制研究[J].计算机工程与科学,2009,31(7):5-9,24.WE Zhu-mu,LU Zheng-ding,TANG Zuo,et al.Research of the trust mechanism for information exchange between P2P nodes[J].Computer Engineering and Science, 2009,31(7):5-9,24.1.3 实体证书的撤销
1.4 实体证书的验证
2 结束语