基于兴趣群组的p2p网络信任云模型计算方法
【专利摘要】本发明公开了一种基于兴趣群组的P2P网络信任云模型计算方法。本发明由兴趣群组划分及其消息传递过程、信任云构建过程和节点信任度评价过程构成。兴趣群组划分及其消息传递过程是根据每个群的兴趣把网络划分为不同群组,并分别确定组内、组间节点的消息传递方式;信任云构建过程是通过云模型的三个数字特征,即期望、熵和超熵来表达节点信任关系,构建由直接信任云和推荐信任云组成的综合信任云;节点信任度评价过程是通过优先考虑直接经验的信任值计算方法评估节点综合信任值。本发明的方法不仅解决了P2P网络中过多的消息传递以及因兴趣不对称难以建立直接信任关系的问题,而且能降低节点获得不可靠推荐信息的风险。
【专利说明】基于兴趣群组的P2P网络信任云模型计算方法
【技术领域】
[0001]本发明属于信任模型研究【技术领域】,特别是一种针对P2P网络中基于兴趣群组的信任云模型计算方法。
【背景技术】
[0002]从互联网诞生之日起,P2P就已经存在了,它是互联网的起源和基础。早在1979年,Truscott和Ellis就开发了基于P2P的典型应用:新闻讨论组,它作为互联网上的一种交流方式,起信息传播的作用。近年来,P2P网络凭借其独特的分布性、自组织性等优势在互联网上迅速成长起来,成为互联网的重要组成部分,P2P网络不依赖于中心节点,能有效利用网络中的各种闲置资源,在很多方面都有很好的发展。然而由于P2P网络的对等性,节点可以自由出入网络,致使网络中存在较多的安全隐患,比如网络病毒攻击,行为不一致攻击等等,针对这些问题,很多学者进行了研究,研究发现,通过信任模型中信任度的高低来辨识恶意节点,有助于减少网络中恶意文件的传播;通过在信任模型中加入激励机制,能够使得节点更好的参与到网络中来,提供有用的资源,解决网络中的存取攻击;通过信任模型,可以很好的辨识网络中希望通过行为不一致来掩盖其作恶本质,欺骗距离较近节点的攻击者,可以使得节点之间更加合作。
[0003]目前针对P2P网络中的信任模型的研究有很多,各个模型都有各自的缺点与优点,其中较为经典的为XRep、EigenTrust、PeerTrust0
[0004]XRep模型采用平均值计算的方法得到节点的信任值,模型没有对信任信息进行过滤,认为所有的信任信息都是可靠的,对于信任度计算中的权重问题没有进行具体考虑(Damiani Ej Vimercati DC,Paraboschi S,Samarati P, Violante RA reputation-basedapproach for choosing reliable resources in peer-to-peer networks.Proceedingsof9th ACMP Conf on Computer and Communications Security(CCSi 02).WashingtonDC, USAj ACMP Press,2002:207 ?216.)。
[0005]EigenTrust模型通过迭代计算节点全局唯一的信任度,每次交易都需要全网络的迭代致使通信的代价较大,计算的收敛性是一个问题,而且模型把信任度高的节点当作可靠的推荐节点,存在不合理的地方,就好比一个工作认真的人不一定就是个诚实的人,所说的话不一定都是可靠的(Sepandar DKj Mario TSj Hector GM.The EigenTrust algorithmfor reputation management in P2P networks.Proceedings of thel2th Int’I Conf.0nWorld Wide Web.Budapest:ACM Press,2003:640 ?651.)。
[0006]PeerTrust模型从多个方面考虑影响节点信任度的因素:交易评价、交易数量、交易时间、交易额度、给出反馈评价节点的可信度等。该算法抗攻击性较强,但是未考虑对恶意节点的惩罚、计算收敛速度以及利用稀疏的数据计算相似度可能会带来较大误差等问题(Xiong L, Liu L.PeerTrust: Supporting Reputation-Based Trustfor Peer-to-Peer Electronic Communities.1EEE Transaction on knowledge dataengineering, 2004,16(7):843 ?857.)。[0007]从信任度的计算方法来看,目前信任模型中存在多种方法,比如基于云模型的,基于概率的,基于模糊理论的等等。
[0008]Beth提出信任模型是基于经验与概率统计的,模型将信任关系的描述通过经验的理念来加以说明,给出了信任度的计算方法,同时,提出了运用概率值的表示方法来说明实体间执行交易的可能性,模型没有解决初始信任的获取问题,未考虑信任本身的模糊特性(Beth T,Boreherding M, Klein B.Valuation of Trust in open network.Proceedingsof the European Symposium on Research in Computer Security (ES0RICS).NewYork:Springer-Verlag, 1994:3 ?18.)。
[0009]唐文等提出的信任模型是在模糊理论的基础上建立的,该模型将模糊理论运用到信任模型中,通过隶属度来说明模糊性,同时给出了概念树这一思想来说明信任类型的方法,但是模型忽视了信任的随机性(唐文,陈钟.基于模糊集合理论的主观信任管理模型研究.软件学报,2003,14⑶:1401?1408.)。
[0010]张卫光等提出了基于云模型的信任评估模型,该模型将云模型这一思想运用到主观信任研究中,较好的解决了信任的模糊性和随机性,通过逆向云算法给出了直接信任的计算,同时给出了推荐信任的算法,使得主观信任推理变得容易理解,但是模型没有考虑网络中存在的各种恶意行为(张光卫,康建初,孟祥怡等.基于云模型的主观信任表示研究.计算机科学,2006,33 (11): 158 ?161.)。
[0011]信任模型研究至今,已经在很多方面取得了进步,比如模型的算法,模型的数据存储,模型的安全性等等,这些进步都是各位学者努力的结果,但是还存在一些问题:
[0012]( I)计算复杂度问题。经过多年的研究,已经有多位学者给出了各自的信任模型,各个模型所用到的计算方法也各不相同,但是,部分信任模型的计算复杂度较大,使得信任计算效率变低,降低了模型的实用性。
[0013](2)推荐可信度问题。网络中存在大量的不诚实推荐节点,比如夸大、诋毁、合作欺骗节点,使得获取的推荐信息不可靠,从而影响信任评价的结果,目前大多数的信任模型都是通过计算节点评价行为相似度来判断推荐节点的可信度,这就存在这样一个问题,如果评价信息较少,通过相似性获得的可信度就存在较大误差。
[0014](3)信任模型的“惩罚奖励”机制。目前存在的诸多的信任模型中有较多模型没有给出对应的“奖励”机制,从而导致大多数的节点不愿意参与到网络中来提供服务,因为这对它们来说没有太大的意义,得不到很多好处,这就造成网络中提供服务的节点很少,同时,对于恶意节点,也需要一个有效的“惩罚”机制对其进行处理。
[0015](4)信任关系的建立及其网络流量问题。随着网络规模的不断扩大,节点之间发生交易的机会逐渐变小,要在节点之间建立直接信任关系将变得困难重重,同时也会造成网络中大量的消息传递。
【发明内容】
[0016]本发明的目的在于为P2P网络中的信任模型提供一个可靠的计算方法,解决现有技术中存在的计算复杂、准确度不高、缺少奖惩机制等问题。
[0017]实现本发明目的技术解决法案为:一种基于兴趣群组的P2P网络信任云模型计算包括兴趣群组划分、兴趣群组消息传递过程、信任云构建过程和节点信任度评价过程四个步骤。
[0018]步骤I兴趣群组划分:首先确定兴趣群组的数目,每个兴趣群组最大兴趣爱好数目以及网络中文件资源数目;然后确定组头节点,根据设定的群组数,兴趣爱好数,网络中的文件资源数目,确定网络中的节点所属的群组,最后非组头节点通过查询请求查找与之主题兴趣相同的组头节点,组头节点彼此之间建立连接;
[0019]步骤2兴趣群组消息传递过程:根据节点查询的内容确定群组消息传递方式,若为主题兴趣,则进行组内查询,若为次要兴趣,则进行组间查询;
[0020]步骤3信任云构建过程:首先获取节点i与节点j的直接交互次数h ;其次比较交互次数h与给定的交互次数阈值H大小,如果交互次数h大于或等于给定的交互次数阈值H时,将节点i对节点j的直接信任评价值输入一维逆向正态云生成算法,得到直接信任云7T%(ExD,EnD,IieDh如果节点i与节点j的直接交互数等于O时,节点i只能通过其他节
点的推荐来度量对节点j的信任值,计算推荐节点Rk的推荐可信度,仅将可靠推荐节点的推荐评价值输入一维逆向正态云生成算法,可靠推荐节点的推荐可信度〃>0’从而得到推荐信任云?^;如果交互次数h大于0,小于给定的交互次数阈值H,组合节点i对节点j的直接信任云和推荐信任云共同决定节点i对节点j的综合信任云
TCfol(EXto, ^ Heto,);
[0021]步骤4节点信任度评价过程:首先将节点i对节点j的综合信任云
的期望的信任值T(j);然后比较节点j的信任值T(j)
与善意行为评价阈值GT大小,如果T (j)小于善意行为评价阈值GT,则不对节点进行信任度的奖励与惩罚,如果T (j)大于`或等于善意行为评价阈值GT,则比较节点j的行为不确定因子Λ与评价阈值GT大小,用于区分恶意节点和善意节点;若节点j的行为不确定因子Λ小于行为不确定因子阈值Θ,则对节点j进行奖励,提高其信任度,若节点j的行为不确定因子Λ大于行为不确定因子阈值Θ,则对节点j进行惩罚,降低其信任度。
[0022]本发明与现有的技术相比,其显著的优点为:(I)借鉴了人类心理认知习惯中优先采纳直接经验进行判断节点信任度的思想,使得当两个节点之间交易次数超过交互次数信任阈值H时,节点就可以通过自身进行信任判断,不需要推荐信息,从而简化了信任计算的复杂度;(2)提出了一种新的计算“推荐可信度”的方法,过滤掉不可信的推荐信息,使得模型能更好地抵御不诚实推荐节点的恶意行为;(3)应用传统云模型中表征不确定性的两个参数一熵和超熵,引入奖励因子和惩罚因子分别对善意节点实施奖励、对恶意节点实施惩罚,使得在善恶节点的辨别上变得更加容易;(4)引入“主题兴趣”,“次要兴趣”概念,使得兴趣分组更加合理,能更好的解决信任模型中因为兴趣不同难以形成直接的信任关系,同时,有效减少网络中消息传递数目。
【专利附图】
【附图说明】
[0023]图1是/[目任值计算过程。
[0024]图2是分组过程图。
[0025]图3是分组后P2P网络工作原理图。[0026]图4是综合信任云流程图。
[0027]图5是信任度奖励惩罚流程图。
[0028]图6是平均消息复杂度(AMC)随网络规模的变化规律。
[0029]图7是平均交互次数(ANT)随网络规模的变化规律。
[0030]图8是失败下载总数(TFN)随仿真周期的变化规律。
[0031]图9是合作欺骗恶意节点CDMP存在下的成功下载率。
[0032]图10是策略型恶意节点SMP存在下的成功下载率。
【具体实施方式】
[0033]下面结合附图对本发明作进一步详细描述。
[0034]结合图1,本发明基于兴趣群组的P2P网络信任云模型计算方法,步骤如下:
[0035]第一步,兴趣群组划分和及其消息传递过程。首先结合图2阐述兴趣群组划分过程:
[0036]步骤1:记U = IC1, C2, (V..CJ为P2P网络的兴趣集合,则每个节点i都有其感兴
趣的内容类别记为Ui = IC1, C2,CfC1J,其中OfZi=C/,m表示网络中所拥有的节点总数,
?=1
但每个节点有一个最感兴趣的内容类别,即每个节点都有一个主题兴趣,是用来作为划分兴趣群组的依据。除了主题兴趣外,每个节点还可以有多个感兴趣的次要主题,节点对次要兴趣感兴趣的程度低于主题兴趣,各个次要兴趣也可根据按照优先级排序;因此,每个节点都保存有一张兴趣爱好列表。
[0037]步骤2:初始时,根据节点i的处理、存储、带宽等方面性能,确定其是否为组头节点,如果在这些方面,节点的性能较好,则确定为组头节点,否则为非组头节点;为了防止单点失效,每个组中也可以有多个组头节点,一旦连接的组头节点离开网络,可以选择组中其他的组头节点。
[0038]步骤3:如果该节点为非组头节点,则通过查询路由协议QRP与组头节点进行查询路由表QRT地交换,非组头节点向组头节点发送对应的QRT,组头节点将接收到的QRT与其自身的QRT进行整合,同时与网络中的其他组头节点进行QRT交换。
[0039]步骤4:如果找不到主题兴趣相同的组头节点,可以根据次要兴趣的排序,连入次要兴趣组;
[0040]步骤5:如果该节点为组头节点,则其会与之最近的组头节点进行连接。
[0041]接着,结合图3给出分组后网络中的消息传递过程,消息传递可分为组内查询和组件查询。
[0042]?组内查询
[0043]若为组内查询,则节点查询的内容为主题兴趣。首先,向组头节点发送一个查询请求,组头节点根据具体的查询内容发送给组中其他的`非组头节点;非组头节点收到查询请求后,根据本身的情况,若存在对应的内容,则对该请求进行响应;查询节点收到响应后,与之建立连接,实现资源共享。
[0044]?组间查询
[0045]若节点要查询的内容为次要兴趣内容,则组头节点以广播的方式发送给与之相连的其他组的组头节点,通过这种方式,将查询请求一直传递下去,直到找到需要查询的次要兴趣群组的组头节点,然后再由次要兴趣组的组头节点转发给该组的非组头节点。具体的步骤如下:首先向本组的组头节点发送一个查询请求,本组的组头节点根据具体的查询内容发现不是本组的内容,则依靠QRT发送给次要兴趣的组头节点;其次,次要兴趣组头节点根据查询的内容,发送给组中与之相连的非组头节点;然后,次要兴趣非组头节点收到查询请求后,根据本身的情况,若存在对应的内容,则对该请求进行响应;最后,查询节点收到响应后,与之建立连接,实现资源共享。
[0046]第二步,综合信任云构建过程,结合图4阐述云模型与人类心理认知习惯相结合给出了计算节点综合信任云的过程,其方法如下:
[0047]步骤1:构造直接信任云。当节点i想要判断节点j的信任度时,获取节点i与节点j之间h次直接交互经验,直接交互经验表示成节点i对节点j的提供服务的满意度评分值,评分值在区间[0,1.0]之间,其中评分值O表示节点提供最差的服务,很不满意;评分值0.25表示节点提供交易不成功,不满意;评分值0.5表示节点提供服务普通,一般满意;评分值0.75表示节点提供交易成功,满意;评分值1.0表示节点提供交易很成功,很满意。假设善意节点只提供满意度为0.75和1.0的服务,恶意节点作恶时提供满意度为
0.0和0.25的服务,不作恶时提供0.75和1.0的服务,0.5作为节点的初始信任度。若h> O,将节点i对节点j的直接信任评价值输入一维逆向正态云生成算法得到直接信任云T(l(ExD,EnD,HeD),具体的一维逆向正态云生成过程如下:
输入:样本点Xi,其中ζ: = 1,2,3...η
输出:反映定性概念的三个数字特征(Ex,En,He)
(I )根据Xi计算这组数据的样本均值尤e丄I; X,,一阶样本绝对中心矩
n i=i
[0048]i ΣI X,.-ExI ,样本方差 S1 — I (X1- Hf ;
nη —I ?-ι
C2)期望Ere无;
(3)熵jlx 丄 ?|χ,_ —£?| ;
V 2 η ?=ι
(4)超熵-En2 ;
[0049]步骤2:构造推荐信任云。若节点i与节点j之间无直接交互经验,即直接交互次数等于O时,则当节点i想要获取节点j的推荐信任值时,节点i需要根据节点j的推荐节点集合来获取近期内所有曾经与节点j有过交互历史经验的节点对节点j提供服务的评价值。但为了保证推荐节点的可靠性,需要为每个推荐节点Rk都保存了历史推荐统计信息,包括成功推荐次数1?""?、失败推荐次数FC0M?k和推荐可信度^12^,查询节点i每次在
采用推荐信息时,如果该推荐节点的可信度>0'则认为节点Rk的推荐信息可靠,可
以采用,反之,则不采用,即仅将推荐可信度^/\ > O的节点的推荐评价值输入一维逆向
正态云生成算法,得到推荐信任云π?,),在推荐信任云构造过程中,推荐节点的推荐可信度通过如下步骤计算得到:
[0050]步骤2.1:节点i在与节点j完成一次交易后,根据获取到的服务质量,参考满意度评分标准,给出评价值,结合原有的评价数据,通过平均值计算的方法得到对节点j的直接信任度MTrustij ;
[0051]步骤2.2:获取推荐节点Rk对节点j的推荐信任度;
[0052]步骤2.3:计算MTrustij与RTnislH.」差值的绝对值,如果
-RTrus/4 S ΔΑ,其中Λ T为推荐可信度阈值,一般为信任评价中好的服务质量
最大差值,则成功的推荐次数夂^?&加I,反之,失败的推荐次数FCmmk加i ;
[0053]步骤2.4:通过计算SC0.、-FCountRt,更新推荐可信度腿&。
[0054]步骤3:构造综合信任云。当节点i与节点j的直接交互次数h大于或等于给定的交互次数阈值H时,认为节点i根据自己已有的历史经验,完全能够判断节点j,则直接信任云TCUExmE^,HeD)就是緣合信任云TCUExlol,E~,HelJ ;当节点i与节点j的直接交互次数h等于O时,节点i只能通过推荐节点来获取对节点j的信任评价,此时综合信任云退化为推荐信任云当节点i与节点j的直接交互次数h在O到H范围内的时候,综合信任云由直接信任云和推荐信任云共同决定,此时需先计算直接信任云!^〖(^^,^^,//^^,然后计算推荐信任云^^成.^,^^,,/^),最后将这
两种信任云进行综合,得到综合信任云?^(£^,办;以上计算方法的公式如下:
[0055]
【权利要求】
1.一种基于兴趣群组的P2P网络信任云模型计算方法,其特征在于包括兴趣群组划分、兴趣群组消息传递过程、信任云构建过程和节点信任度评价过程,具体步骤如下: 步骤I所述的兴趣群组划分过程如下:首先确定兴趣群组的数目,每个兴趣群组最大兴趣爱好数目以及网络中文件资源数目;然后确定组头节点,根据设定的群组数、兴趣爱好数、网络中的文件资源数目,确定网络中的节点所属的群组,最后非组头节点通过查询请求查找与之主题兴趣相同的组头节点,而组头节点彼此之间建立连接; 步骤2所述的兴趣群组消息传递过程如下:根据节点查询的内容确定群组消息传递方式,若为主题兴趣,则进行组内查询,若为次要兴趣,则进行组间查询; 步骤3所述的信任云构建过程如下:首先获取节点i与节点j的直接交互次数h ;其次比较交互次数h与给定的交互次数阈值H大小,如果交互次数h大于或等于给定的交互次数阈值H时,将节点i对节点j的直接信任评价值输入一维逆向正态云生成算法,得到直接信任云埤山如果节点i与节点j的直接交互数等于O时,节点i只能通过其他节点的推荐来度量对节点j的信任值,计算推荐节点Ri的推荐可信度,仅将可靠推荐节点的推荐评价值输入一维逆向正态云生成算法,其中可靠推荐节点的推荐可信度RTDRk > 0,从而得到推荐信任云TCUExnEnliHei);如果交互次数h大于O,小于给定的交互次数阈值H,则组合节点i对节点j的直接信任云和推荐信任云共同决定节点i对节点j的综合信任云 TCvtol (Extol, Enlol, Hetol); 步骤4所述的节点信任度评价过程如下:首先将节点i对节点j的综合信任云 的期望Extol作为节点j的信任值T(j);然后比较节点j的信任值T(J)与善意行为评价阈值GT大小,如果T (j)小于善意行为评价阈值GT,则不对节点进行信任度的奖励与惩罚,如果T (j)大于或等于善意行为评价阈值GT,则比较节点j的行为不确定因子△与评价阈值GT大小,用于区分恶意节点和善意节点;若节点j的行为不确定因子Λ小于行为不确定因子阈值Θ,则对节点j进行奖励,提高其信任度,若节点j的行为不确定因子△大于行为不确定因子阈值Θ,则对节点j进行惩罚,降低其信任度。
2.根据权利要求1所述的基于兴趣群组的P2P网络信任云模型计算方法,其特征在于所述的步骤I中兴趣群组划分步骤如下: 步骤1.1设定组头节点ID号,需要分组的群组数n,每个节点拥有的兴趣爱好数m,m<=n,网络中所有文件总数; 步骤1.2根据设定的组头节点ID号,确定组头节点,根据设定的群组数,兴趣爱好数,网络中的文件数,确定网络中的节点所属的群组,节点拥有的兴趣及其拥有的文件数量,其中兴趣爱好分为主题兴趣和次要兴趣,主题兴趣的ID号与节点分配到的群组ID号是相同的; 步骤1.3非组头节点通过组头节点查询请求查找与之主题兴趣ID号相同的组头节占.步骤1.4组头节点收到组头结点查询请求后,如果发现对应的主题兴趣与自己相同,将该非组头节点作为自己的邻居节点,同时非组头节点也将该组头节点作为自己的邻居节占.步骤1.5组头节点彼此之间建立连接。
3.根据权利要求1所述的基于兴趣群组的P2P网络信任云模型计算方法,其特征在于所述的步骤2中兴趣群组消息传递过程如下: 步骤2.1判断节点查询的内容,如果节点查询的内容为主题兴趣,则执行步骤2.2,如果节点要查询的内容为次要兴趣内容,则执行步骤2.3 ; 步骤2.2进行组内查询,通过以下步骤进行查询: 步骤2.2.1向组头节点发送一个文件查询请求,组头节点根据具体的查询内容发送给组中其他的非组头节点; 步骤2.2.2非组头节点收到文件查询请求后,若与自身的主题兴趣相匹配,则对该请求进行响应; 步骤2.2.3查询节点收到响应后,与响应节点建立连接,进行文件下载; 步骤2.3进行组间查询,通过以下步骤进行查询: 步骤2.3.1首先向本组的组头节点发送一个组间查询请求,本组的组头节点根据具体的查询内容发现不是本组的内容,则发送给次要兴趣的组头节点; 步骤2.3.2次要兴趣组头节点根据查询的内容,发送给组中与之相连的非组头节点;步骤2.3.3次要兴趣非组头节点收到组间查询请求后,若与自身的主题兴趣相匹配,则对该请求进行响应; 步骤2.3.4查询节点收到响应后,与之建立连接,进行文件下载。
4.根据权利要求1所述的基于兴趣群组的P2P网络信任云模型计算方法,其特征在于所属的步骤3中信任云构建过程步骤如下: 步骤3.1构造直接信任云,若节点i与节点j存在直接交互,即直接交互次数h>0,则节点i根据自己已有的历史经验来获得节点i对节点j的直接信任评价,即通过把节点i对节点j的直接信任评价值输入一维逆向正态云生成算法,可得到直接信任云TCUExmEnmHel^,其中ExD、En11和He11分别为期望、熵和超熵; 步骤3.2构造推荐信任云,若节点i与节点j不存在直接交互,即直接交互次数h=0,节点i只能通过与节点j有直接交互经历的推荐节点来获得节点i对节点j的信任值,即为了保证推荐节点Rk的推荐可靠性,设推荐节点的推荐可信度,仅将推荐可信&RTD丨、的推荐节点的推荐评价值输入一维逆向正态云生成算法,得到推荐信任云.,其中推荐节点Rk的推荐可信度计算过程如下: 步骤3.2.1节点s(s古i)在与节点j完成一次交易后,根据获取到的服务质量,参考满意度评分标准,给出评价值,结合原有的评价数据,通过平均值计算的方法得到对节点j的直接信任度MTrustsj ; 步骤3.2.2获取推荐节点Rk对节点j的推荐信任度Stliu ;
步骤 3.2.3 计算 MTrustij 与 RTrustthj 差值的绝对值,如果
5.根据权利要求1所述的基于兴趣群组的P2P网络信任云模型计算方法,其特征在于所述的步骤4中节点信任度评价过程按照以下方式进行: 行为不确定因子
【文档编号】H04L29/08GK103561047SQ201310328657
【公开日】2014年2月5日 申请日期:2013年7月31日 优先权日:2013年7月31日
【发明者】徐建, 张宏, 衷宜, 陆玲玲, 张琨, 董圣杰, 沈海波 申请人:南京理工大学