P2P网络中基于Eigentrust算法的信任模型研究
摘 要
在点对点(P2P)网络中,信任模型能够有效的降低恶意节点的影响。EigenTrust是最具有权威性的信任度算法之一,本文提出了一个基于反馈的推荐信任度算法,通过区分服务信任值和推荐信任值,防止拥有较高服务信任值的节点对正常节点的诋毁和欺骗。引入请求信任值,对不积极参与文件共享的节点和恶意服务节点进行访问权限的限制,识别并拒绝使用该类恶意节点的推荐信息,有效提高交互成功率。
【关键词】P2P网络 信任模型 恶意推荐 访问控制
1 引言
P2P网络发展迅速,在文件共享、视频点播、分布式计算、电子商务等方面广泛应用,成为一个新兴的研究热点。由于网络的开放性、匿名性、节点自治性等特点,为病毒、垃圾文件的传播创造了有利条件。网络中存在各种恶意行为,如搭便车、虚假文件、公共悲剧、共谋等,安全问题日益突出,成为阻碍P2P网络发展的主要因素。
常见的典型信任度算法EigenTrust中利用服务信任值定义推荐信任值,不能很好的反应节点实际推荐信息的真实性,本文针对网络中某些节点恶意反馈的行为,改进推荐信任值的定义。
2 控制节点恶意评价的信任算法研究
2.1 常见的恶意行为
P2P文件共享网络中,节点不断的上传和下载资源,由于网络中节点可以随时加入和离开网络,给恶意节点创造了机会,请求节点常常不能得到自己想要的资源。大量的垃圾信息和带病毒的资源在网络中传播。常见的恶意行为有:
(1)服务节点给请求节点虚假的文件。
(2)交互完成后,请求节点给服务节点恶意评价。
(3)只利用其他节点的资源,而不在网络中共享自己的资源。
针对网络中恶意节点的恶意评价,提出了推荐信任度,来识别诬陷节点,每次交互后,比较参与推荐的推荐节点的推荐值和真实交互结果对比,若推荐信息与真实交互结果一致,增大该推荐节点的推荐信任值,反之则减小。
对于不积极参与资源共享的节点,建立请求信任值,如果节点只是利用其他节点的资源,而自己不贡献自己的资源,那么他的请求信任值就会越来越低,最后不能得到其他节点的资源,而且在请求资源的时候,请求信任值高的节点优先,这样就会把这些搭便车节点和只提供恶意资源的恶意节点孤立出网络。
2.2 算法设计
信任是指节点依据历史交互记录形成的对另一节点未来行为的能力、诚实、可靠等方面的主观期望,是两个节点直接一对一的主观关系。
2.2.1 局部信任值
局部信任值表示节点提供服务也就是节点提供的资源的可靠性,节点之间进行交互,节点i从节点j处获得资源,然后i对j的服务进行评价,利用Beta概率密度函数计算节点i对节点j直接信任值为:
(1)
其中gij为i对j好的评价次数,uij为i对j不满意的评价次数。
节点j上传的好资源越多,其局部信任值dij越大;否则,dij将快速下降,实现对恶意节点的惩罚。
2.2.2 推荐信任值
基于推荐的模型中,节点间的信任需要其他节点的推荐,同时推荐节点的可信度也决定了其推荐节点可信度,从而形成一个可信网络。与Eigentrust信任模型不同,本模型区分了直接信任和推荐信任,即不用推荐节点的局部信任值作为推荐可信度。
推荐可信度是某个节点对另一个节点推荐信息的可信度,在Eigentrust信任模型中,节点i从节点j得到的满意服务次数越多,则i对j的推荐值也就越大。但是有的恶意节点提供虚假的推荐信息,比如说当节点i从节点j得到的不满意服务次数越多,则i对j的推荐信任值反而越大。单纯的直接信任值并不能很好的证明推荐信息的好坏,我们在这里把推荐可信度和直接信任值分开计算和考虑。
同时,我们再为推荐节点定义一个基于历史经验的推荐度,当节点i完成一次交互后,对推荐节点的推荐信息进行检验核对,若推荐节点的推荐信任值和实际交互结果相符,即请求节点完成了一次满意交互,同时推荐节点j对目标节点的推荐信任值大于0.5,我们就对节点j的诚实推荐次数hj+1,反之,对j的虚假推荐次数sj+1。我们定义节点j的历史推荐信任度为:
eij=(hij+1)/(hij+sij+2) (2)
节点的推荐信任度为:
rij=xeij+δsij (3)
其中x+δ=1,推荐信任度能够有效的抵制恶意推荐和恶意团体的协同作弊。
2.2.3 节点的服务信任值
当节点i请求某个资源时,得到m个响应,计算其中一个节点j的服务信任值时(j∈m),j的服务信任值为:
tij=α*dij+β* (4)
dik为节点i中节点k的局部信任值,rij为节点j的推荐可信度,dkj为节点k中节点j的局部信任值。
2.2.4 请求信任值
请求信任值是为了评定一个节点对网络贡献资源的大小。不积极参与文件共享的节点,请求信任值就会很小,在访问其他节点时候,权限将受到限制,逐渐被孤立出网络;同时请求信任值高的节点将获得更好更快的服务,节点的请求信任值越高,权限越大,可获取的资源越多。请求信任值q=(ug+1)/(ug+ub+2),其中ug为上传好的资源的个数,ub上传恶意资源的个数。
2.2.5 各个信任值的更新
当节点i从节点j成功的完成一次交互后,节点i上的gij+1,并计算dij,同时更新相关推荐节点k的hk+1,计算推荐节点的ek。最后还要更新服务节点的ug+1,并计算请求信任值q。
3 实验结果与实验分析
利用仿真软件对实验进行模拟测试,实现了EigenTrust信任模型,并与其对比。实验设定节点50个,交互次数20000次,网络结构是纯P2P网络,网络中存在三种节点,恶意服务节点10个,共享的资源800个,符合zipf分布,Zipf=0.4,一开始各个参数值都是0.5。改进后的模型能够更好的抵御恶意评价节点,选择好的节点进行交互,提高了交互成功率。
4 结语
实验表明,利用推荐信任值,很好的反应节点推荐行为的可信程度,改进的算法能够有效的遏制节点的恶意推荐行为,提高节点推荐信息的有效性,提高了交互成功率。另外还利用服务信任值,有效的识别恶意服务节点,同时请求信任值还使搭便车节点不得不积极的参与网络的资源共享,实现了惩罚机制和激励机制。
作者单位
1.河北辛集中学 河北省辛集市 052360
2.石家庄市职业技术教育中心 河北省石家庄市 050090