APP下载

面向选择推荐节点的P2P网络信任模型*

2018-07-05马满福何春玲

计算机工程与科学 2018年6期
关键词:信任度指针信任

马满福,何春玲

(1.西北师范大学计算机科学与工程学院,甘肃 兰州 730070;2.甘肃省物联网工程研究中心,甘肃 兰州 730070)

1 引言

对等网络P2P(Peer-to-Peer)的开放、节点匿名以及不同节点之间的松耦合等特点使得一些恶意行为、非法内容、垃圾数据等肆意传播,从而导致了一系列的安全问题。另外,由于奖励、惩罚机制的缺乏,使得一些节点进入了懒人模式(只下载文件,不上传文件)。国内外相关研究表明:制约P2P发展的重要因素是节点之间的信任问题。针对信任,学者们已经展开了大量的研究,但这些研究普遍存在的问题是:多数只将节点信任度作为服务选择的依据,即该类系统根据节点的历史交易反馈信息为节点计算信任等级[1 - 6]。当存在多个可选服务时,信任等级高的节点成为首选。这样做可以在一定程度上抑制节点的一般恶意行为,但在应付许多针对信任模型本身的一些攻击,如不诚实反馈、协同作弊及策略型攻击等恶意行为的过程中表现出来的有效性与健壮性仍然不够。节点与节点之间不存在制约关系,这更方便了一些恶意行为的大肆传播。

针对以上缺陷,本文提出了面向选择节点的P2P网络信任模型。在本模型中各节点之间不仅仅存在直接信任和推荐信任,而且还涉及到交互节点的信任值。为此,本文准备了两套应对方案:第一套方案为找出综合直接信任和间接信任均值最接近的信任值节点,此节点会有一个专门指针指向与均值信任相接近节点的IP。另外,此节点在向另外一个节点推荐信任时,会根据本节点自身收到的推荐信任的权值加自身通过直接交易信任值的权值,把信任值推荐给下一个节点;方案二为:使用推荐节点与交互节点信任值相似度来寻找选择节点的IP。这样,存有相似兴趣的节点以一个双链接的形式存在。如果某节点出现恶意行为,那么与它相连接的所有节点均会受到不同程度的信任值削减。同样,如果一个节点有好的信誉,那么与其相关的节点也会得到不同程度的信任值提升。这样做,既可以防止节点的恶意行为,也可以防止节点的不诚实推荐以及节点协同恶意行为等。

2 相关工作

目前,随着P2P的迅速发展以及广阔的市场,出现了大量基于P2P的信任模型。文献[6] 提出了一个适用于P2P电子社区的局部信任模型,节点的可信度是对以往该节点向其他节点提供服务的水平的综合评价;文献[7] 通过给不同评价者的反馈值分配一个适当的权重,提出了分布式架构;文献[8]通过研究移动P2P节点的信任关系的变化与网络使用者的兴趣、爱好的等变化的对应关系,提出了一种基于增强的稳定组模型的信任评估方法;文献[9]给出了一种基于信誉的信任模型,此模型被用来计算云基础设施提供商的可信性;文献[10]为了解决传统信任模型无法处理冲突程度高而引起的信任计算不准确问题,采用重新分配冲突概率与引入权重系数的策略,提出一种改进的D-S(Dempster-Shafer)证据理论的 P2P 系统信任模型 DSETTM(Trust Model Based on D-S Evidence Theory for P2P networks),并将其用于P2P网络的信任建模;文献[11]建议将节点i的档案点沿Terrace树根节点的方向做一定的迁移,使节点信任度的分布更加平衡,路由效率更高;文献[12]针对P2P系统的动态开放等固有特征使其面临严重的行为问题,提出了一种P2P环境下的基于反馈的Web服务选择信任模型;文献[13]采用对评价信息汇集并使用一些相似度或排名比较算法得到最终信任值,提出一种基于反馈相关性的P2P网络信任模型;文献[14]提出了一个加权大多数算法WMA(Weighted Majority Algorithm),算法的思想是对不同推荐者的推荐分配不同的权重,根据权重来聚合相应的推荐,并根据交互的结果来动态地调整相应权重。

上述方案在解决P2P信任方面做了很多有益的尝试,且取得了一定的成果,但是由于这些模型关心的重点是参与交互的节点,所以没有将推荐节点作为一个重要的参考指标进行计算,这将使交易节点在推荐信任方面处于被动状态。基于此,本文提出了面向选择推荐节点的P2P网络信任模型。

3 面向选择节点的P2P网络信任模型

根据共同兴趣群将节点分为三种类型:普通节点N、推荐节点或间接节点IN以及直接交易节点DN。对于N,它在不参与交易时,是闲置节点;而IN作为推荐节点在推荐信任值被采纳时会得到一个指针指向该资源节点的IP;DN是动作的接受者以及发出者,它是交易的关键节点,它的父节点有可能是N也有可能是IN。图1是选择节点的P2P网络结构图,图中描绘了三个小型网络组成的一个大型网络。目标节点如果不是共同兴趣群里的,也可以进行正常的互动,例如节点DN4位于C群落里,而IN1和IN2分别在A群落里和B群落里,并且他们可以通过不同节点进行互动。网络中任意节点Ni同时扮演着三种角色,它不但是用户节点、管理节点,同时还是监测节点。管理节点只提供信任数据的存取;监测节点负责对与它进行交互节点的监测,一旦发现某节点Ni发生异常,就会立即报警。

Figure 1 P2P network structure of the selected node图1 选择节点的P2P网络结构图

本模型的基本思想是节点根据直接交易以及相邻节点所推荐的间接信息按一定比例建立对目标节点的信任关系。此外,此节点搜索出与均值信任相近的节点,并在指针序列中添加指向该节点IP的指针。如果目标节点(例如IN1)想要和节点DN1互动,那么节点(DN1)就要通过本身与节点N1的交易信任值以及与N1邻节点的推荐信任值相结合,从而生成对N1的信任值;然后根据算法,在DN1指针序列中生成一个指针指向与信任均值相接近的节点,这里假定IN1为被选中的节点。假如某一节点被怀疑为恶意节点,那么与它有联系的所有节点的信任值都会受到缩减;与此相反,如果某一节点受到好评,那么与它有关的节点的信任值都会有不同程度的增加。

按照各节点的不同状态,节点可划分为普通状态、交互状态和挂起状态。图2是节点三种状态之间的转换关系。图3中普通状态和交互状态是可逆的转换:当某个节点向另一节点主动发起交互申请时,被发起交互的节点同意请求时,这两个节点便由普通状态变为交互状态;当交互完成,这两个节点又恢复普通状态。但是,交互状态与挂起状态之间是不可逆的,他们之间只有一条路径:交互节点在交互期间如果信任值小于或等于0时(r≤0),那么交互状态将被挂起,即变为挂起状态;被挂起的节点只有等到等待的事件发生时才可以重新初始化信任值,变为普通状态。

Figure 2 Transition diagram between states图2 各状态之间转换关系图

3.1 模型的工作流程

信任模型是建立在综合信任的主观性、复杂性以及不确定性等特点基础之上的一种信任关系框架,是对节点之间信任关系的综述。信任模型的建立是为了给节点服务提供信任度较高的信任目标作为交互目标,从而高效地完成交互任务。

首先,为每个节点进行信任值的初始化,初始值为0.5;其次,本模型根据节点是否发生交互依次去处理发生的事件:如果没发生交互,则节点继续保持它原有的初始化信任值;反之,本文就会依次去计算节点的推荐信任值IRi、推荐信任均值AIR、添加指针P、直接信任值DR以及计算综合信任值SR;最后,根据计算的综合信任值SR来判断该节点的状态以及是否实施奖惩机制:如果SR的值小于或等于零时,要报警。一旦进入这一阶段,本节点不仅要被挂起,其它与之相关的节点也会受到不同程度的惩罚;如果SR的值大于零,对提供可信的节点进行信任值奖励并储存下该节点的综合信任值SR,这也意味着此次交互成功完成。具体流程如图3所示。

Figure 3 Flow chart of the model图3 模型流程图

3.2 模型的定义及其表示

3.2.1 信任值的计算

定义1(局部信任度) 在交互期间内节点Ns、Nk之间交易了Tsk次,则局部信任度(直接信任度)可定义为:

(1)

其中,DRsk为节点Ns对Nk的直接信任值,即节点Ns对节点Nk的直接交互反馈。当DRsk=0时,表示节点Ns与节点Nk之间不存在交互,即节点Ns对节点Nk的直接信任值为0。

定义2(推荐信任度) 令IRi为节点Ns与节点Nk在交互过程中的Nk下游的节点,即推荐主题的集合为Ai={n1,n2,…,ng},设ng的推荐信任度为IRng,g=1,2,…,n,则Ns共接纳的推荐信息ZIR与推荐信息的信任均值AIR为:

(2)

(3)

定义3(综合信任) 综合信任是在推荐信任以及局部信任(直接信任)之上,根据它们不同的权重相结合的信任度。具体为:

SR=(1-ε)*IRi+ε*DR

(4)

其中,ε为信任的权重参数,且0≤ε≤1,权重随着节点的不同会有不同的数值。

相似度是推荐节点自身的信任值与交互节点信任值的相似度。本文将推荐节点的推荐信任度与平均推荐相似度之差的最小值作为最后指针所指的推荐节点。具体计算公式如下:

(5)

sim=αm(ti,td)simi

(6)

其中,式(5)代表间接相似度,MaxV是参与交互节点的信任值;minIRi代表文中对推荐节点所提出的最小信任值;式(6)是引入时间衰减因子α计算相似度;m(ti,td)表示从ti到td所经历的时间(按照某一周期计算)。

3.2.2 信任信息的分布式存储

本文在文献[15]提出的Tuerrace拓扑基础上规划了信任信息存储机制。如图4所示,以中心点a为上游节点,其存储数据是通过公式(4)计算所得的综合信任值以及指向推荐信任的某个节点Ni的指针。其中,指针序列是用来存放指向推荐信任值节点地址的指针,这是一块特殊的缓存空间。当某节点需要同上一级节点进行交互时,首先查看上一级节点的综合信任值(推荐信任值和直接信任值)是否满足要求,一旦满足,此节点的指针就会指向该节点。其次,(b,c,d)为中心节点的下游节点,这些节点所存数据与中心节点所存数据不同,相比中心节点,下游节点所存数据很少,只保存综合信任值和指针,这样大大节约了节点的空间资源。以此类推,位于下游的节点皆按此方式存储数据。

Figure 4 Storage structure of trust data图4 信任信息存储结构图

3.2.3 节点挂起惩罚激励机制

在本文中,如果某节点Ni出现异常,则与它有关的所有节点的信任值都会受到缩减,本文称此为连带惩罚或反向惩罚。

定义4(信任值减小) 由于权重值的不同,所以推荐信任的节点与局部信任(直接信任)会按其权重的多少来决定各自信任值缩减的多少。其中,局部信任值与推荐信任值缩减计算公式如下所示:

CDR=CR*η

(7)

CIR=CR*λ

(8)

式(7)表示受罚时,局部信任节点的信任值的缩减计算;式(8)表示受罚时,推荐信任节点信任值的缩减计算。其中,CR为当前出现异常节点的信任值,λ与η分别为推荐信任和局部信任(直接信任)的权重参数。

挂起节点定义为暂时被淘汰出交互的节点。由于网络的容错能力有限,在异常节点到达预定信任值下限时,P2P网络就会对节点进行合理安排。其中,出现异常的节点就会被强制禁止与其他节点进行交互,此时,该节点将会进入挂起状态。具体执行过程如图5所示。

Figure 5 Sketch map of the node hanging up punishment mechanism图5 节点挂起惩罚机制示意图

节点已存在,但由于信任值达到下限值,必须创建挂起状态使节点进入惩罚状态。此时的节点不但接受信任值被削减的惩罚,且不可进入交互状态。审核是由各个正常节点经过一段时间的观察以及测试等来判断此节点是否知错改过,通过审核来决定是否给受惩罚节点重新进入交互的权利。一旦信任值被减到零,此节点就会进入惩罚状态。信任值为零是节点的下限。如果被惩罚节点通过审核,那么它就会重新获得一次机会与其它节点进行交互。恢复后的信任值是最初被赋予的值,它也是惩罚节点通过审核的一个重要条件。通过审核且审核合格,受罚节点可以被允许进行信任值的初始化并且与正常节点进行交互。

本模型根据P2P网络具有开放式、匿名性、无中心等一系列的特性,以及传统的安全机制如基于PKI安全机制并不能很好地保障节点的安全,提出基于节点挂起惩罚的激励机制,本机制的建立主要有两个目的:(1)减少节点资源的浪费;(2)使得本系统更加人性化。

3.3 信任算法

关于节点选择算法,设AIR为推荐节点的推荐均值,在推荐信任集合ζ中,IRi为ζ的子集,从ζ中找出与AIR的相似度最高的子集IRi,并将指针P指向该推荐节点的id;其次,计算出直接信任值,根据这两步,利用公式(4)计算出综合信任值SR。其算法的具体实现如算法1所示。

算法1信任算法

输入:推荐信任值IRi,直接信任值DR。

输出:credit,sim。

1 begin

2k→size;//推荐信任值节点的个数

3 for eachIRiinξ//遍历ξ集合中的IRi

4 IfIRi≤1‖IRi≥-1//计算推荐信任均值

5SIR=SIR+IRi;//总推荐信任值的计算

6simI←根据公式(5);

7simα← 根据公式(6);

8 Else continue;/*不满足条件就跳过此节点继续计算下一个节点的信任值*/

9 end for;

10AIR← 根据公式(3);

11ζ←ζ∪{IRi};/*把每个推荐节点的推荐信任值存入ζ*/

12 for eachIRiinξ

13 computef(AIR,IRi);/*计算AIR与ζ中每个IRi的相似度*/

14 Choose the highest similarity ofIRk;

15P→ID(IRk);//指针指向被选中的推荐节点

16 end for;

17SR← 根据公式(4);

18 output thecreditofSR;//输出当前信任值

19 output thesimαandsimI;/*输出相似度simα和simI*/

20 release otherIRζ-1;

21 end

本文所提出的算法,因其没有复杂的迭代计算过程,所以具有良好的计算收敛性。首先,在计算推荐信任均值AIR时,需要遍历所有推荐节点(被推荐节点的下游一级推荐节点)的推荐信任值,因此其时间复杂度为O(n),其空间复杂度为O(n);其次,推荐信任均值AIR与推荐信任值相匹配的算法中,其时间复杂度为O(n),空间复杂度为O(n)。

异常节点的检测与挂起算法如算法2所示。

算法2异常节点的检测与挂起算法

输入:节点状态STATE。

输出:STATE。

1DetectandHungNode(ε);//ε为与交互相关的节点集

2Get(ID,SR,STATE);/*获取节点的ID(地址)、SR(当前信任值)、STATE(状态)*/

3 if (STATE==0)

4 Ifsatisfytheconditiondo//如果满足条件

5Initialization(SR);//初始化节点信任值

6 end if;

7 end if;

8 if (STATE==1)

9 if (SR≤0)//节点处在交互态,但信任值变为零

10 state=0;

11 Hand up this node;//将状态变为零,节点挂起

12 end if;

13 end if

STATE代表节点状态,是检测节点是否异常的第一道关卡,取值为0或1,简化了节点的检测。

4 仿真实验与分析

4.1 仿真环境及其参数

本节建立了多个仿真实验来检测信任模型的效果。仿真实验在Eclipse Enterprise Workbench Version:2014 JDK 1.7上进行,其系统运行环境为Windows 7旗舰版X64位,通过Matlab环境将运算数据生成图表。仿真参数的设定值见表1。

Table 1 Simulation parameters表1 仿真参数表

仿真过程探究了不同节点推荐信任度以及推荐节点自身的信任度与参与交互节点信任度。此外,相似度引入了衰减因子α来仿真信任值的变化。

4.2 推荐节点选择的仿真

首先,仿真实验按照设定的参数完成初始化后,分别针对推荐节点信任度与交互节点信任度以及推荐节点推荐信任相似差的计算仿真,验证本模型抗拒恶意节点的效果及自适应性。

表2和表3是仿真的三组数据。表2中跳过的节点预示不在选择范围内,而相似度越高的节点越有可能被选中;表3中数据差值越大表示节点越不容易被选中,相反,差值越小表示节点越容易被选中。

另外,仿真这三组数据分别代表三种不同的选择:第一组的情况是交互节点可以根据相似度进行选择,也可以根据差值进行选择;第二组的情况适应于根据差值进行选择;第三组的情况适应于根据相似度进行选择。不同节点可以根据自身及网络环境的不同选择测量标准,这样做既降低了恶意节点的破坏概率,也提高了网络的自适应能力。

4.3 相似度变化仿真

α的设定是为了保证相似度的有效性。如图6所示,相似度随时间的增加而减少。本文将α设置了三个值。

Figure 6 Similarity changes with time图6 相似度随时间的变化Table 2 Trust similarity between the recommendation node and the interaction node表2 推荐节点信任度与交互节点信任度相似度

分组节点一二三四五六七八九十第一组信任值0.50.210.350.60.650.430.750.800相似度0.85跳过0.49110.6811跳过跳过第二组信任值0.40.70.40.350.750.430.3000相似度0.6110.614910.680.37跳过跳过跳过第三组信任值0.00.60.50.40.70.560.53000相似度跳过10.850.6111跳过跳过跳过

Table 3 Recommended trust value difference表3 推荐信任度差值

由图6可以明显看出,当α=0.5时,相似度下降较快;当α=0.6时,相比前者下降速度有所减缓;当α=0.7时,相似度下降速度明显缓慢。α的取值是由节点自身及网络环境所决定的。

5 结束语

移动P2P网络环境的开放性、匿名性等特点使节点之间的信任关系显得尤为重要,因此节点之间的信任问题成为目前的一个热门研究。本文提出了一种基于选择节点的P2P网络信任模型。在此模型中,节点被划分为三类,并给出了这三种类型节点之间的转化关系。与此同时,本文还给出了基于挂起惩罚的激励机制,这与现有信任模型相比大大节约了节点资源。仿真实验表明,本文所提出的模型不仅具有抵抗恶意节点、节约资源的特点,且也具有较好的自适应性和自治性。接下来的工作是研究基于选择节点P2P信任模型的效率,包括推荐信任节点的检索效率以及推荐信任均值计算效率等。

[1] Khambatti M,Dasgupta P,Ryu K D.A role-based trust model for peer-to-peer communities and dynamic coalitions[C]∥Proc of the 2nd IEEE International Information Assurance Workshop,2004:141-154.

[2] Almenarez F,Marin A,Diaz D.Developing a model for trust management in pervasive devices[C]∥Proc of the 3rd IEEE International Workshop on Pervasive Computing and Communication Security(PerSec 2006),2006:1-5.

[3] Marti S,Garcia-Molina H.Limited reputation sharing in P2P systems[C]∥Proc of the 5th ACM Conference on Electronic Commerce,2005:91-101.

[4] Jordi S M,Paolucci M.On representation and aggregation of social evaluations in computational trust and reputation models[J].International Journal of Approximate Reasoning (Elsevier),2007,46:458-483.

[5] Wang Y,Vassileva J.Bayesian network trust model in peer-to-peer networks[C]∥Proc of the 2nd International Workshop on Agents and Peer-to-Peer Computing,2004:23-34.

[6] Xiong L,Liu L.PeerTrust:Supporting reputation-based trust for peer-to-peer electronic communities[J].IEEE Transac-tions on Knowledge and Data Engineering,2004,16 (7):843-857.

[7] Abawajy J.Establishing trust in hybrid cloud computing environments[C]∥Proc of IEEE 10th International Conference on Trust,Security and Privacy in Computing and Communications,2011:118-125.

[8] Wu Xu.Enhanced stable group model-based trust evaluation scheme for mobile P2P networks[J].Chinese Journal of Computers,2014,37(10):2118-2127.(in Chinese)

[9] Pawar P S,Rajarajan M,Nair S K,et al.Trust model for optimized cloud services[C]∥Proc of the 6th IFTP International Conference on Trust Management,2012:97-112.

[10] Gao Wei,Zhang Guo-yin,Song Kang-chao,et al.P2P trust based on D-S evidence theory[J].Computer Engineering,2012,38(1):114-119.(in Chinese)

[11] Zhang Qian, Zhang Xia, Wen Xue-zhi,et al.Construction of peer-to-peer multiple-grain trust model[J].Journal of Software,2006,17(1):96-107.(in Chinese)

[12] Chen Wen-dong,Li Min-qiang,Zhao Qing-zhan.Research of web service selection trust model on P2P environment[J].Journal of Computer Science,2015,42(1):113-118.(in Chinese)

[13] Wang Yong,Hou Jie,Bai Yang,et al.Survey on feedback correlation based dynamic trust model for P2P systems[J].Computer Science,2013,40(2):67-74.(in Chinese)

[14] Yu B,Singh M P,Sycara K.Developing trust in large-scale peer-to-peer systems[C]∥Proc of the 1st IEEE Symposium on Multi-Agent Security and Survivability,2004:1-10.

[15] Dou Wen, Wang Huai-min, Jia Yan,et al.A recommendation-based peer-to-peer trust model[J].Journal of Software,2004,15(4):571-583.(in Chinese)

附中文参考文献:

[8] 吴旭.基于增强稳定组模型的移动P2P网络信任评估方法[J].计算机学报,2014,37(10):2118-2127.

[10] 高伟,张国印,宋康超,等.一种基于D-S证据理论的P2P信任模型[J].计算机工程,2012,38(1):114-119.

[11] 张骞,张霞,文学志,等.Peer-to-Peer环境下多粒度Trust模型构造[J].软件学报,2006,17(1):96-107.

[12] 陈文东,李敏强,赵庆展.基于P2P环境下的Web服务选择信任模型研究[J].计算机科学,2015,42(1):113-118.

[13] 王勇,侯洁,白杨,等.基于反馈相关性的P2P网络信任模型[J].计算机科学,2013,40(2):67-74.

[15] 窦文,王怀民,贾焰,等.构造基于推荐的Peer-to-Peer环境下的Trust模型[J].软件学报,2004,15(4):571-583.

猜你喜欢

信任度指针信任
全球民调:中国民众对政府信任度最高
为什么表的指针都按照顺时针方向转动
嘤嘤嘤,人与人的信任在哪里……
基于改进Hough变换和BP网络的指针仪表识别
汽车养护品行业运行环境分析及提高客户信任度的途径
信任
2014,如何获得信任
ARM Cortex—MO/MO+单片机的指针变量替换方法