严轶群,郑 刚
(安徽工程大学计算机与信息学院,安徽 芜湖241000)
近年来,对等网络(P2P)技术在协同工作、分布式信息或资源共享、大规模并行计算、即时通信等领域获得了广泛的应用[1]。与此同时,由于P2P网络的开放、匿名、自治以及节点之间松耦合等特性使得P2P网络中存在大量恶意和搭便车节点致使节点之间合作受限,阻碍了P2P网络应用的进一步发展。以Gnutella文件共享系统为例,有70%的节点是free riders[2]由于P2P环境是完全开放的分布式网络,共享资源分散在网络的各个节点中,因此传统的集中式环境下的安全策略及机制不能直接应用于P2P网络下,需要建立一种有效的信任机制加强系统的可靠性和安全性。理论研究表明,依据节点可信度的高低来区分节点的不同服务能有效提高系统的可用性[3]。
目前,围绕如何更为合理准确地刻画节点的信任,研究者从不同的角度针对P2P环境下不同应用模式提出了各种信任模型,如基于PKI的信任模型[4]、基于全局信誉度的信任模型[5-6]、基于本地信誉度的的信任模型[7-8]和基于Bayesian网络的信任模型[9-11]。现有的信任模型大多忽略兴趣对节点信誉的影响,而是将节点在不同兴趣域的可信度累计成一个整体,隐藏了节点在特定兴趣域内的行为细节,因此恶意节点可通过在某个兴趣域的高可信行为隐藏其在另一兴趣域内的恶意行为。为解决此类问题,笔者参考人类社会网络结构,提出一种改进的非结构化P2P网络中基于兴趣域划分的信任模型。
BIDT M信任模型总体结构是建立在混合式P2P网络拓扑架构上,根据节点兴趣偏好不同,将网络划分成若干个互不重叠的独立的兴趣域,每个兴趣域内包含一个权威节点以及若干个普通节点,节点之间的信任关系被分解为同一兴趣域内节点之间的信任以及不同兴趣域节点间的信任,根据交易节点是否在同一兴趣域内,采用不同的方法来计算节点的信任值。
模型基本思想如下:普通节点j对目标节点i发出交易请求,若节点i与j在同一兴趣域内,则节点j在本地存储与节点i的交易信息;若节点i与j不在同一兴趣域内,则节点j将交易结果反馈给其所在兴趣域内的权威节点,权威节点根据节点j的反馈结果建立对节点i所在兴趣域的权威节点的信任关系。计算同一兴趣域内节点的信任度时,按照兴趣域内基于局部推荐的信任机制计算;而不同兴趣域的权威节点的信任度按照兴趣域内所有节点对其的全局推荐来计算[12]。
在动态分布的P2P网络环境下,节点可随时加入和退出网络,每个节点独立计算和更新信任值都会为信任模型的建立和重新做出贡献,因此在建立信任模型时需要考虑每个加入节点的参考。而BIDT M模型是基于兴趣域网络结构的基础上,根据交易双方节点是否处于同一兴趣域内,所采取的信任度计算方法不同,因此模型在计算节点信任值前需研究兴趣域的划分方法,兴趣相似度的度量及新节点加入到某一兴趣域的过程。
1)兴趣域的划分方法 该模型在划分兴趣域时引入VSM(向量空间模型),加入到网络中的每个节点的兴趣偏好用一个n维向量表示,利用向量中每个分量的赋值来对应表达节点的“兴趣偏好”。若节点偏好某项资源则对应分量赋值为1,若节点不爱好某种资源,则对应分量设置为0。
2)相似度的度量 节点的加入到哪个兴趣域是基于节点与该兴趣域的兴趣相似程度来判定的,计算节点间兴趣相似度采用余弦相似度的方法。将节点的兴趣用n维向量表示,用向量间的余弦夹角来度量节点间的相似程度。假设有2个节点i,j,它们在n维空间上的兴趣分别表示为向量→i和向量→j,则它们之间的兴趣相似度为:
设i为等待加入节点,j为已加入节点,Tpi为节点i的信任值,λ为允许节点加入的初始信任阈值(0<λ<0.5),δ为允许加入的兴趣相似度阈值,通过δ来控制节点i可否加入节点j所在的兴趣域,si m为计算兴趣相似度的函数。加入过程如下:
(1)节点i向节点j发出加入请求。
(2)节点j查询节点i的初始信任值Tpi,若Tpi>λ,节点j将消息发给兴趣域内的中心节点,并与节点i做兴趣比较;若Tpi<λ,则节点j拒绝i加入。
(3)当si m(i,j)小于阈值δ时,节点j将i的信息转发给兴趣域内的中心节点P1,P1负责将节点推荐给其他邻居中心节点(如P2),同时给节点i发出拒绝消息;若邻居中心节点(P2)与i的兴趣相似,则P2向节点i发出同意接受其加入的消息。若si m(i,j)≥δ,节点j向节点i发送同意接受加入本兴趣域的消息,节点i可以在j所在的兴趣域内的中心节点(P1)处完成注册,加入P2P网络。
(4)中心节点P1在转发节点i的请求时采用的是随机泛洪算法,节点i可能会收到若干个中心节点的响应消息。模型中选择响应时间最短的中心节点加入。
同一兴趣域内某一节点的信任值由2部分构成:直接信任值和推荐信任值。
1)直接信任度 域内直接信任度Di(j)表示同一兴趣域内节点i根据与节点j直接交易历史记录而得出的对节点j的信任。
为了准确获取节点i对节点j的直接信任值,在计算直接信任值时引入如下几个参数:①交易总次数N(j)。②交易满意程度S(i,j)。交易满意和不满意程度相应地反映了节点在交易中的好坏行为,可以使交易双方在交易中有更加良好的行为。③交易量大小M(i,j)。交易量大小可以防止一些恶意节点通过多次小规模成功交易提高它们的信任值,而在大规模交易中进行欺骗。④时间因子Z∈(0.1)。引入时间因子表示信任是随时间动态变化的,距离当前交易时间越近,节点行为越可信。引入上述参数后,则域内直接信任度的计算公式如下:
2)推荐信任度 推荐信任是节点间根据第三方的推荐而形成的信任。域内推荐信任度Rj是在兴趣域I Dj内所有与j有过交互的节点直接信任度的加权值:
式中,M为在兴趣域I Dj内向节点i提供信任推荐的节点数;K是与j有过直接交易的节点;ak是节点k与兴趣域的相似度系数,在模型中可以作为节点的域服务信誉推荐强度,相似度系数越大,推荐越可信;Dk(j)的计算同式(2)。
同一兴趣域内节点i对j的域内信任度Trij为:
式中,参数α、β是用来调节兴趣域内直接信任度和域内推荐信任度的权重,α+β=1(0.5<α<1)。参数设置表明兴趣域内节点信任值的计算以节点交互的直接经验为主,并综合兴趣域的局部推荐信任值。
各个兴趣域之间的信任度计算是通过中心节点完成的,中心节点性能稳定,存储能力强,在线时间长,因此可采用基于全局推荐信任模型计算。
假设P2P网络存在的兴趣域V={D1,D2,D3,…,Dn},NDiDj代表兴趣域Di与兴趣域Dj间交易总次数,SDiDj代表兴趣域Di与Dj交易成功次数,FDiDj代表兴趣域之间交易失败次数。
域间推荐信任度是兴趣域Di对兴趣域Dk的信任评估程度,是节点i与本兴趣域外的未知节点k进行交互前从兴趣域Di的中心节点处得到关于兴趣域Dj的间接评价。由于节点i与兴趣域外的节点交易机率较小,因此为了简化计算,兴趣域间的交互信任度可采用如下公式来计算:
节点i对节点j的综合信任度Lij是反映2个节点间信任关系的最终信任值,计算公式为:
在计算节点综合信任度时应以域内信任度为主,以兴趣域外的节点信任度为辅,参数γ为调节域内推荐度占综合信任度的比重,满足0.5<γ<1。
为检测BIDT M的性能,构造了2个仿真试验,将BIDT M模型与Eigen Rep模型性能进行比较,通过仿真对比分析2模型的性能差异,仿真时,在Redhat Linux 9.0,P2Psi m0.3的基础上搭建了一个文件共享应用的实验平台,即请求节点从目标节点下载所需文件,文件下载成功作为交易成功标准,交易成功率是反映信任模型有效性的一个重要依据。
设系统中共包含100个节点,每个节点拥有的共享文件数为10,交易总次数为4000次。初始状态下,设所有节点的初始域内信任度为0.5。域内直接信任度比重α=0.7,域内推荐信任度比重β=0.3,权重因子γ=0.7,兴趣相似度阈值δ=0.8。
试验时,设置2类节点:一类是诚实节点(honest node)提供真实文件上传服务,对其他节点推荐是可靠的。另一类为恶意节点(si mple malicious peer),恶意节点只提供虚假文件。
1)实验1:对比交易失败的次数 4000次交互中,传统模型交互失败次数为120次,而BIDT M模型交易失败次数为65次,有效地减少了交易失败次数,较大的提高了P2P网络文件下载的成功率(见图1)。
2)试验2:对比网络中恶意节点所占比例对信任模型的影响 试验结果如图2所示。虽然随着恶意节点数的增多,2个模型中虚假文件下载比例都在逐渐上升,但由于BIDT M模型在交易过程中引入惩罚因子、推荐权重因子来动态调整推荐信息所占的权重,能更快速区分出恶意节点,因此其虚假文件下载比例较传统模型更低。
图1 交易有效性对比
图2 虚假文件下载比例随不同规模恶意节点的变化规律
笔者在已有模型的基础上提出一种基于兴趣域的P2P信任模型,节点信任值的计算综合考虑了同一兴趣域内直接信任值、域内间接信任值以及不同兴趣域间信任值,并引入惩罚因子、相似度系数因子及权重因子来调节相关信任权重。仿真结果表明,该模型避免了在全网范围内因收集信任数据而产生的网络开销以及局部信任数据收集所造成的误差过大等问题。模型可靠性高,能有效抑制恶意节点的攻击,提高交易成功率。后续研究可以在此模型的基础上对P2P网络的资源搜索技术及中心节点的选取算法做进一步研究。
[1]Ora m A.Peer-to-peer:har nessing the power of disr uptive technology[M].[S.1.]:O'Reilly Press,2001.
[2]Saroiu S,Gu mmadip K,Gribble S D.A measurement st udy of P2P file sharing systems[C]//Proc of Multi media Co mputing and Net wor king Conference,2002:18-25.
[3]Buragohain C,Agrawal D,Sun S.A game theoretic fra me-wor k f or incentives in P2P systems[A].Pr oc of the 3rd Inter national Conference on Peer-to-Peer Co mputing[C] .Washingt on DC:IEEE Co m-puter Society,2003:48-56.
[4]ZHOU Jian-ying,Goll mann D.An efficient non-repudiation proto-col[A].Pr oc of the 10t h IEEE Wor kshop Co mputer Security Foun-dations[C].Washingt on DC:IEEE Co mputer Society,1997:126-132.
[5]窦文,王怀民,贾焰,等 .构造基于推荐Peer2to2Peer环境下的Trust模型[J].软件学报,2004,15(4):571-583.
[6]Ka mvar S D,Schlosser M T.Eigen Rep:Reputation manage ment in P2P net wor ks[A].Lawrence S,ed.Pr oc.of the 12t h Int’l World Wide Web Conf[C].Budapest:ACM Press,2003:640-651.
[7]Xiong L,Liu L.Peer Tr ust:Supporting reputation2based tr ust f or peer2to2peer electr onic co mmunities[J].IEEE Transactions on Kno wledge and Data Engineering,2004,16(7):843-857.
[8]Cornelli F.Choosing reputable servents in a P2P net wor k[A].Lassner D,ed.Proc.of the 11th Int'l World Wide Web Conf[C].Hawaii:ACM Press,2002:441-449.
[9]Wang Y,Vassileva J.Bayesian net wor k_based tr ust model[A].Pr oceedings of the IEEE/WIC Inter national Conference on Web Intelligence[C].Halifax,Canada,2003:372-378.
[10]李俊清,李元振 .基于贝叶斯网络的时间感知的P2P信任管理模型[J].计算机工程与设计,2008,29(12):5971-5975.
[11]高迎,程涛远.P2P环境下基于Bayesian网络的多粒度信任模型[J].计算机工程与应用,2007,43(13):11-13.
[12]田春岐,江建慧 .一种基于聚集超级节点的P2P网络信任模型[J].计算机学报,2010,33(2):345-355.