基于推荐的对等网络信任模型
2010-03-12何泾沙
吴 旭,何泾沙,张 曦,徐 菲
(1.北京工业大学计算机学院,北京 100124;2.北京工业大学软件学院,北京 100124;3.博仁吉瑞网络科技有限责任公司,北京 100099)
对等网络(Peer-to-Peer,简称 P2P)的应用为个人用户提供了前所未有的便利,同时也有效地整合了网络的潜在资源,使互联网成为了自由交换信息的媒介,大大便利了用户对信息的获取.虽然目前 P2P应用日益广泛,但是正像 P2P网络所宣扬的平等共享精神一样,在这类系统中往往缺乏有效的机制以提高系统整体的可用性,资源的共享是用户的自愿行为,用户不用承担法律道义上的责任.传统的基于密码学的网络安全主流技术,如数字签名和数字身份证书等,虽然在 P2P中仍然适用,可以确保每次交易的保密性、完整性、不可抵赖性等,但对于交易双方的可信度的评估是没有办法完成的.建立有效的信任模型能成功地规避风险.
国内外研究人员在信任模型领域进行了一些研究,现存的大多数信任模型都着力于为资源提供者计算信任度,其中,基于声誉的信任模型[1-2]通过节点间交互的历史经验为网络中的每个节点计算一个唯一的信任度,节点下载文件时选择信任度最高的节点进行下载;在基于 PKI的信任模型[3]中节点的信任通过 CA颁发的证书加以保证,这类系统存在可扩展性差、单点失效等问题;基于推荐的信任模型[4-5]由于在信誉度的计算方式上灵活多样,目前得到了广泛的研究.然而,已有的这些机制还存在不足之处.首先,根据专家经验给出简单的特征组合公式[6]欠缺理论根据;其次,模型本身存在脆弱之处,不能有效地抵御恶意节点通过良好的交互行为来建立较高的信任值,然后利用建立的信任值突然改变行为的攻击等.
另外这些模型缺乏对信息的充分分析,同时也没有解决新进入节点的信任问题.为了解决这些问题,本文提出了一种基于推荐的信任模型,对影响节点信任度的几个向量进行了定义与说明,并给出该模型数学表述和分布式实现方法,从而使任意节点可以随时地、较方便地获取其他节点的全局可信度.
1 信任和信任度量
信任是人际网络中一个复杂的概念,难以严格地定义和理解.实体的信任具有很大的主观性和复杂性,信任关系应该包含不确定性一面[7].基于 P2P环境,本文给出这样的一个定义:信任是一个实体根据相关信息而对其他实体的未来可靠的、安全的、期望的行为的主观可能性判断,也可以说信任是对实体行为可靠性的判断.信任属性有主观性、上下文相关性、动态性.
对信任的度量不是在信息充分的条件下做出的,因此信任有很强的主观性,对客体的信任判断会依评价主体不同而得出不同的结论,信任判断也会受多种因素影响.信任是内容相关的,对目标的一个方面的信任可能不会影响到在另一个方面的不信任,信任只有在一定的上下文中才有意义.目标的信任会随着信任信息的更新、实体行为等的变化而动态变化.
P2P网络中的实体以目标实体的交互经验对其进行信任评估,实体间可以通过交换和传播信任评估信息以获取目标实体的信任.一般来说,对目标实体的信任除了考察直接交互经验外,还需要考察目标实体在网络中声望,尤其是在缺乏同目标实体的交互经验时,因此,对实体的信任由 2个部分组成:本地的交互经验(或称直接经验)和来自其他实体的信任推荐(或称声望),形式地表示为
式中,Tobject是对目标实体总的信任;D是由直接交互经验而得直接信任;R来自其他实体的推荐信任;α代表了二者的不同影响力.
2 基于推荐的信任模型
P2P网络是由许多节点组成的覆盖(overlay)网络,为了描述方便,本文以文件共享系统(file sharing system)为例,称请求节点从响应节点处下载文件的过程为节点之间的交易或交互.本文的信任模型在计算信任值时引入了以下 6个参数.
1)交易量因子 交易量因子的大小直接反映了此次交易的重要程度,这个因素可以防止一些隐讳的信任攻击.例如:一些恶意节点可以通过多次小规模成功交易提高它们的信任值,然后在大规模的交易中作假.
2)交易满意程度 这是一个主观的参数,反映了一方对另一方行为的满意程度.有了这个值,可以使得交易双方在交易中有更加良好的表现.按照下载的文件质量状况,交易满意程度取值区间为(-1,1).
3)交易次数 这个参数反映的是交易双方相互的重视和熟悉程度.请求节点从响应节点处下载文件的次数越多,表示交易双方越熟悉,直接信任和间接信任也就越准确.
4)时间影响因子 这个参数反映的是文件下载距离当前时间的远近程度.因为随着时间的变化,交易的个体也是在不停地变化的.所以说越是近期的下载行为,它的时间影响因子越大,对于本次下载行为的影响也越大.
5)推荐准确因子 本文的模型采用基于投票协议的推荐方式.这个参数反映了节点在投票过程中的准确程度.引入推荐准确因子的目的是刺激节点积极地正确投票.
6)风险因子 这个参数反映的是节点进行交易所面临的风险,如信息泄露、病毒传播等.
2.1 直接信任计算
假设在 y请求从 x下载文件之前,x计算对 y的直接信任.本模型中的直接信任是采用二元组D(Tx(y),S)的形式表示.其中,Tx(y)是 x对 y的直接信任值;S是 x赋予 y的交易量权限,体现交易规模的大小.交易量权限 S满足下面 2个规则:1)对于新进入网络的节点,赋予最低的交易量;2)只有交易成功次数达到规定的次数后交易量才能增加,出现恶意攻击行为后,交易成功次数也随之增加.交易量的引入有效地解决了新进入节点的信任问题.
直接信任值为
式中,tnow为当前时间;ti为此次交易时间;pen(i)为交易欺骗后的惩罚因子.pen(i)定义如下:pen(i)=-1表示第 i次交易因为欺骗或者恶意攻击而失败;pen(i)=0表示第 i次交易成功.当交易失败时,γ值增加从而使节点信任值迅速下降;Risk(y)是节点 y的风险因子.
2.2 推荐信任计算
对于曾经有过交易历史的 2个实体来说,可以通过 2.1计算出对方的直接信任值,并据此做出是否与之交易的判断.但如果 2个实体间从没有过交易或是交易经验较少时,就需要其他实体的推荐,综合它们给出的推荐值,就可以得到一个推荐信任值.在本模型中,计算推荐信任是采取投票协议[8]实现的.假设y主动请求从 x下载,推荐信任计算过程如下:
1)x计算出对 y的直接信任,并用二元组 D(Tx(y),S)表示.假设 y此次要求的下载交易量为 Q.
①如果 Q≤S的交易量上限,Tx(y)达到 x规定的标准 x与 y直接交易;但 Tx(y)未达到 x规定的标准,这时 x会广播请求消息,要求网络里的节点对 y进行投票;
② Q>S的交易量上限,如果 Tx(y)没有达到标准,x就拒绝与 y交易;如果 Tx(y)值很大,x广播请求消息,要求网络里的节点对 y进行投票.
2)收到投票请求之后,每个 peer通过下面的公式计算是否投赞成票(假设一个投票的 peer为 E),
式中,DTe(y)为 E对 y的投票;Ne(y)为 E与 y的交易次数;S(e,y)为 E对 y的满意程度;M(e,y)为在此交易量权限内的交易量因子;pen(i)为交易欺骗后的惩罚因子,Z与式(2)中相同.得到 DTe(y)后,E投票.若 DTe(y)>θ,投赞成票 p=1;反之 p=0(θ由 x决定),E将投票结果返回给 x.
3)x将收到的所有投票结果进行总票.总票的公式为
式中,T为间接推荐信任值;N(w)为总共得票数;R(w)为投票节点 w的推荐准确因子,即
式中 γ为对投票错误的惩罚因子.
3 仿真结果
仿真环境使用 java编写,说明如下:
1)网络由 120个节点组成,每个节点同时作为服务点和消费点.每个节点发出 300次下载请求后停止交易,对于每个节点,每次交易间隔在[0.5,2]s随机分布.网络中发生的下载请求总共36000次.
2)网络提供 500种文件(可能包含虚假文件)下载,每个节点在仿真开始时提供 5个特有的文件下载.
3)为尽量模拟真实网络,网络中的节点分为 4类,分别为 Best peers、Normal peers、Bad peers、Worst peers.
4)假定消费节点可以找到任何所需文件以及文件所在节点.消费节点选择信任最大的服务节点进行下载,并把下载后的文件作为共享文件提供下载.
本文设计了几种情景分别进行仿真来测试本文模型的有效性.仿真结果如图 1、2所示.图 1的虚线代表有恶意节点参与投票得到的间接推荐信任值 Tm.实线代表没有恶意节点参与投票得到的间接推荐信任值 Tr.
图1 恶意推荐次数与推荐信任值关系Fig.1 The relationship between the w rong recommendation number and the recommendation trust
从图 1(a)可以看到,如果所有节点都属于 Best peers或 Normal peers节点,它们通过投票计算出目标节点的间接推荐信任值为 0.3,但是实际情况可能是目标节点串通 Bad peers或Worstpeers来提高其推荐信任值,以致于让交易节点对目标节点的信任评估做出 0.9的错误判断.从图 1(b)中明显可以看出,基于本文提出的信任模型,Tm值一直是围绕 Tr值上下波动,而且波动变化很小.随着恶意节点错误推荐次数的增加,对整个推荐信任评估的最终真实结果影响很小.因此,本文提出的信任模型可以很好地抑制这种合谋的恶意信任攻击.
第 2个实验被设置在 2种攻击模型下,分别包括恶意节点独立攻击和恶意节点群组攻击.从图 2中看出,不管是独立攻击还是群组攻击,节点的不真实文件下载率均被控制在 3%~5%.因此本文提出的信任模型能有效抑制节点的攻击行为.
图 2 独立攻击和群组攻击下的模拟结果Fig.2 Simulation resu lts of peers under independent cheat and group cheat
4 结束语
本文提出了一种新的基于推荐的信任机制,该机制在计算信任值时引入了 6个参数,详细设计了节点信任度的计算方法.理论分析和实验结果表明,本文提出的信任机制可以有效地对抗共谋等恶意行为,防止通过多次小规模交易积累信任度,然后在大规模交易中进行欺骗的行为,同时解决了新进入节点的信任问题.由于 P2P网络的复杂性及信任问题的难解性,本文的信任机制仍需要进行不断的改进.今后,本研究将主要集中进行信任信息的更新方法与更新策略的研究;继续研究分析 P2P环境中的不同攻击类型,开发针对不同恶意行为的激励机制,以便使信任机制具有更强的对抗恶意行为的能力.
[1]XIONG L,LI U L.Supporting reputation-based trust for peer-to-peer electronic communities[J].IEEE Transactions on Knowledge and Data Engineering,2004,16(7):843-857.
[2]SELCUK A A,UZUN E,PARIENTE M R.A reputation-based trustmanagementsystem for P2P networks[C]∥Proc of the 2004 IEEE International Symposium on Cluster Computing and the Grid.Washington:IEEE Computer Society Press,2004:251-258.
[3]ALTMAN J.PKIsecurity for JXTA overlay networks[R].Palo Alto,USA:Sun Microsystem,2003:1-22.
[4]窦文,王怀民,贾焰,等.构造基于推荐的Peer to Peer环境下的Trust模型[J].软件学报,2004,15(4):571-583.DOUWen,WANGHuai-min,JIA Yan,etal.A recommendation-based peer to peer trustmodel[J].Journal Software,2004,15(4):571-583.(in chinese)
[5]田春岐,邹仕洪,王文东,等.一种基于推荐证据的有效抗攻击 P2P网络信任模型[J].计算机学报,2008,31(2):271-281.TIAN Chun-qi,ZOU Shi-hong,WANG Wen-dong,et al.A new trust model based on recommendation evidence for P2P networks[J].Chinese Journal of Computers,2008,31(2):271-281.(in chinese)
[6]SONG S S,HWANG K,ZHOU R F.Trusted P2P transactions with fuzzy reputation aggregation[J].IEEE Internet Computing,2005,9(6):24-34.
[7]SUN Y L,HAN Z,YU W,et al.A trust evaluation framework in distributed network:vulnerability analysis and defense againstattacks[C]∥Proc of the 25thIEEE International Conference on Computer Communications.Barcelona,Spain:IEEE Computer Society Press,2006:1-13
[8]CHHABRA S,DAMIANIE,VIMERCATISDC.A protocol for reputation management in super-peernet works[C]∥Proc of the 15thInternational Workshop on Database and Expert Systems App lication.Zaragoza,Spain:IEEE Computer Society Press,2004:979-983.