分析P2P网络信任机制研究

时间:2011-08-23

  摘  要:P2P网络存在的问题进行了分析,阐述了建立P2P网络信任模型的需求。在对现有P2P网络中的信任模型进行总结归纳后,指出了以后研究的方向。对仿真系统进行了性能测试,并对测试结果进行了分析。仿真结果表明,该模型对于信息窃取、信息篡改等类型的恶意攻击有较好的抑制作用。

  随着P2P系统的广泛应用,安全问题也随之产生。主要体现在以下几个方面:由于共享特性带来的安全问题、中间节点的恶意攻击以及针对P2P系统结构安全漏洞的攻击等。在P2P系统中节点的信息传输往往需要经过多个中间节点的传递,由中间节点产生的威胁也难防范。中间节点恶意攻击包括信息窃取、信息篡改等。

  随着Internet的广泛普及,端用户系统资源的丰富,以及网络带宽的快速增加,传统的Client/Server网络应用模式中服务器的性能瓶颈以及单点失效的问题不仅限制了端系统资源的充分利用,同时也越来越无法满足新的分布式应用的需求。而P2P网络在协同工作、分布式信息共享、大规模并行计算等方面显示出的独特优势,使其成为新的发展热点。基于反馈/评价的信任模型分为资源建立可信度和为通信节点建立可信度两大类。为资源建立可信度的信任模型局限于信息共享的应用,不具有广泛的适用性。为通信节点建立可信度又分为全局信任和局部信任2种模型。全局信任模型对网络中所有通信反馈进行分析并为每个节点建立的可信度。在 KAMVAR S提出的EigenTrust模型中是根据节点通信的历史计算本地的信任度,并考虑节点的推荐信任信息,通过节点间信任度的迭代来实现信任的传播[2].局部信任模型大多关注于提供机制使节点可以根据共享信息为给定节点计算局部信任值。 WANG Y提出了P2P环境下基于贝叶斯网络的信任模型[3],该信任模型主要关注于描述信任的不同方面,使得节点可以根据不同的场景来按需获取节点不同方面的性能。总之,对于信任度的计算,现有的信任度模型均给出了其各自的计算方法,这些方法在一定程度上提高了系统的安全性。

  本文提出在P2P网络中引入信任度评价机制来降低恶意节点攻击,从而提高通信成功的概率。根据节点在通信交互过程中,其他节点对给定节点的评价来设定信任度,并相应地更新路由表高速缓存器中的信任值, 使节点在以后的通信过程中有针对性地选择信任度高的节点作为传递消息的中间节点。

  1 信任模型

  1.1 信任度

  在节点具有自主权利,自组织的P2P网络中,如何来规范节点的行为呢?事实上,P2P网络提供了真实世界中人类交流的网络环境,是以人为中心的网络,与社会网络具有同构性。而信任作为社会存在的一个整体部分,是社会网络中人与人之间的关系。人类社会通过基于信誉的信任关系与激励机制来约束人们的日常生活行为。基于信任的P2P网络与人类社会网络的相似性体现在P2P网络中个体之间的彼此交互会为彼此留下零星的"信用"信息;个体对交互对象具有充分的选择权利;个体往往不看重的可靠性或服务质量,即个体可以忍受少量错误的选择带来的损失,比如文件共享应用;个体有义务为网络中的其它个体提供推荐信息。因此,可以利用信任关系刻画P2P网络中节点之间的关系,并采取基于信任的激励机制解决上述问题。

  反馈信任机制中关于一个给定节点的信任度的定义,需要考虑该节点与其他节点在以往通信交互过程中,其他节点对该节点的评价。参考文献[4]考虑了3个主要因素:

  (1)给定节点收到来自其他节点的通信满意度信息的反馈;

  (2)给定节点与其他节点的通信次数;

  (3)反馈源信息的可信度。

  本文中基于信任机制的P2P系统也是依赖节点的反馈信息来做出信任度评价的。反馈信息是节点在通信后接收到的关于通信内容的满意度,这反映了此节点完成其所负责部分通信的程度。

  1.2 信任度的搜集、计算和更新

  基于通信反馈满意度的信任机制,每个参与通信的节点在通信结束后进行相互反馈。而关于信任度的计算本文采用计算信任度的方法并进行改进,首先定义几个参数:

  I(u,v)表示节点u与节点v之间的通信次数;

  I(u)表示节点u与其他节点通信的总次数;

  P(u,i)表示其他加入的节点与u的第i次通信;

  S(u,i)表示节点u从P(u,i)次通信后得到的满意度;

  Cr(v)表示节点v反馈源的可信度。

  那么节点u的信任度可根据式(1)进行计算:

 

  式(1)中反馈满意度S(u,i)的数值在0和1之间。S(u,i)和通信次数I(u)可以在每次通信结束后自动收集,而反馈源的可信度则需要考虑节点过去的通信历史,定义如下:

  采用式(2)来计算反馈源可信度的前提是基于2个假设,首先恶意节点一定会提供错误的或误导的反馈信息以暴露自己恶意节点的身份,其次正常的节点总是提供正确的反馈信息。

  其他通信节点可以通过T(u)的值来判断节点u的可信度。简单的判断条件为:如果I(u)>C1并且T(u)>C2,那么节点u就是可信的。其中C1为节点u少的通信次数门限值,C1为节点u的可信程度。一个容忍度较高的节点门限值C2会相对低一些。

  考虑到现实中恶意节点并不总是提供错误或误导的反馈信息,正常的节点有时也会提供错误信息,因此本文对给定节点的信任度计算式(1)进行修改,加入节点的信任率Tr,以及适当调整参数α和β的值使得系统在具有恶意节点的网络中能够提高计算信任度值的准确性。修改公式如下:

  信任度的更新方式本文采用参考文献[7]提到的设置高速缓存器来收集节点以往通信过程中的信任度。高速缓存器的大小取决于覆盖网络的结构,以及每个节点的有用资源等因素。

  2 基于信任机制的P2P模型系统

  2.1 系统模型

  考虑分布式结构化的P2P系统,以环形P2P网络为基本框架进行改进。在节点模型中添加2个模块,即信任度管理模块和数据定位模块。这样使得每个节点都参与信任度的计算。信任度管理模块用于进行反馈信息的发送和信任度的计算,并维护本地的数据库信息。数据定位模块用来放置和定位P2P网络中的信任值信息。

  不同的P2P结构网络采用不同的数据定位方法,例如Gnutella采用基于泛洪的广播方法来搜索信息但是不考虑消息的可靠性,基于DHT算法的Chord[8]网络模型利用哈希函数将通信节点的IP地址转变为全局标识符nodeID,并把关键字和存储位置之间建立一一对应关系,使得给定关键字后就可以确定存储位置。每个节点加入网络都会拥有一个nodeID,并且节点的nodeID不会随着节点改变IP地址或不定时离开覆盖网络而改变。DHT算法首先根据nodeID找到节点的目的地址,然后再把nodeID转换成IP地址。在本文中关于一个节点u的信任数据,以及节点u每次通信后获得的反馈信息,都存储在通过哈希函数得到的具有关键字标志的节点。简单的模型结构如图1所示。

  每一个节点都存储许多其他节点的关键字信息,并且维护一张具有其他节点关键字信息的路由表。

  2.2 路由表及路由算法

  本文采用基于DHT算法的P2P模型的路由表构建方式。路由表中存储邻居节点的信息包括nodeID、关键字Key及信任度的值。简单的路由表设置如图2所示。

  举例说明对图2中网络进行信息查询。当节点终端2接收到查询信息Key 110,终端2没有需要的信任度值,那么它查询路由表寻找与Key 110有相同前缀的节点信息,这里1指向了终端6,于是根据1查询消息发送到节点终端6,终端6也没有需要的信任度值,继续查询终端6的路由表,路由表中有11指向了终端4,将查询信息发送到终端4,终端4本地Key为110,于是返回查询需要的信任度值。

  3 系统仿真及测试结果

  通过仿真实验来验证所提出的系统在有恶意节点的情况下通信成功的概率,并将其与式(1)涉及的信任机制模型以及没有引入信任机制的P2P系统三者通信成功的概率进行比较。通过设置恶意节点的数目,以及节点的信任率,来验证系统在不同条件下三者通信成功的概率。

  3.1 系统测试环境及参数设置

  仿真工具采用NetLogo 4.0.4.在仿真试验开始时设置100个通信节点,其中恶意节点数为20个,节点的信任率Tr为40%,μ为0.6,α为0.4.为了简单起见,在环形P2P网络通信中,假设信息传递一圈为通信过程,网络中的每个节点在每圈信息传递过程中只进行通信。用跳数(time steps,信息在所有节点中传递完称为1 step)来表示仿真时间,在每一跳中每个节点都要完成信息的查询、交换、信任度的更新以及反馈信息的发送。

  3.2 仿真结果及分析

  仿真结果如图3、图4所示,图中横坐标表示通信的次数,1 step代表通信,纵坐标表示通信成功的概率,虚线的信任模型曲线是在式(1)的模型下得出的,呈上升趋势的实线是改进信任模型式(3)下得出的,呈下降趋势的实线表示没有加入信任度的网络模型。图3试验按照3.1节的初始条件对系统进行设置,设置Tr<μ(此时β=-1),使得系统从恶意行为较多的情况开始,可以看到改进的模型从第14次通信(忽略小数部分)开始成功的概率就超过了式(1)的信任模型,并在以后的通信过程中也有一定的优势。

  图4所示试验将恶意节点数设为40个,其他条件不变,保持了节点信任率参与可信度计算的比率并且同样从系统恶意行为较多的情况开始仿真。由仿真结果图可以看到与图3相比变化不大,即虽然恶意节点增多了,但是通过设置适当的α值还是能够保持较高的通信成功概率。

  由2次试验结果可以看到,加入节点信任率Tr以及调整参数α和β后,节点计算信任度的准确性有所提高,使得信息在选择路由时根据信任度的高低选择的中间节点更加可靠,进而通信成功的概率不断地提高。

  事实上,在P2P网络信任模型的研究方面,应充分借鉴真实社会的信誉管理体制,针对交易发生的不同场景为节点建立可信度,并将节点纳入到特定的群体来约束和规范节点的行为。因此,基于群组的信誉机制是以后研究的方向,已有研究工作在该方面进行了有益的探索,但仍不成熟。此外,在研究基于信任模型的激励机制时,不仅要考虑P2P网络内部节点之间的合作,也应考虑P2P应用与网络中其他应用之间的合作。例如,在文件共享P2P应用中,当网络带宽利用率达到某一阈值时,对仍然掠夺性使用网络资源的节点进行惩罚。P2P应用与网络中其他应用的和谐共存,才是P2P应用发展的长久之道。


  
上一篇:浅谈西门子物位测量技术在水泥厂中的应用
下一篇:在钢铁厂中全新的西门子导波雷达物位计的应用

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料