移动P2P分布式信任模型设计
2013-07-22杨志兴汤红波
杨志兴,汤红波,柏 溢,杨 森
国家数字交换系统工程技术研究中心,郑州 450002
移动P2P分布式信任模型设计
杨志兴,汤红波,柏 溢,杨 森
国家数字交换系统工程技术研究中心,郑州 450002
1 引言
随着移动通信技术的进步和移动终端处理能力的不断增强,对等技术(Peer-to-Peer,P2P)在移动环境中的应用得到长足发展[1],文件共享、移动社交网络[2]、电子商务[3]以及基于位置的服务[4]等越来越吸引人们的眼球。相比传统P2P网络,移动P2P网络具有更大范围的开放性和节点间松耦合等特性,容易被恶意节点侵入。恶意节点提供虚假资源、发布非法内容、滥用有限资源、拒绝合作等攻击行为影响网络正常运转。因此,需要设计一种适合移动环境的信任模型对节点行为进行信誉评判,将恶意节点孤立到网络边缘,从而提高移动P2P网络的健壮性和可用性。
目前已经有很多的研究者在信誉管理方面做了大量有意义的工作[5]。文献[6]最早提出了一种基于全局信誉的信任机制,通过收集对某节点的抱怨信息来确定其全局信誉;文献[7-9]都是利用信用的传递性通过收集所有节点局部信誉值来计算全局信誉值,但未对服务可信度和评价可信度进行区分;文献[10]设计了基于交易历史向量的信任模型,但未考虑移动环境应用的情况;文献[11-12]都是移动环境下的信任模型,虽然考虑了恶意诋毁攻击的影响,但未考虑恶意节点动态策略性攻击的影响。
以上基于声誉的信任模型大部分都是基于“信誉值高的节点的评价推荐更可信”的假设。然而在移动P2P网络中,某些恶意节点为逃避信誉系统惩罚而采用动态策略攻击,动态选择是否忠实服务和是否提供真实评价推荐,这种情况下基于该假设的信任模型就会无法检测。针对这一问题,本文提出一种基于社会距离的分布式信任模型(Social-Distance based Distributed Trust model,SD2Trust)。该模型首先区分了节点服务可信度和评价推荐可信度,用评价诚实因子刻画节点评价和推荐的真实性;其次,将社会分析相关理论引入信任系统,用结构同型性描述向量刻画节点在网络中的地位和行为特征,根据社会距离确定推荐节点集和推荐信誉计算权重,以此排除蓄意夸大和恶意诋毁和动态策略性攻击行为对系统的影响;最后,设计了适合移动P2P环境的信誉流转机制,在激励惩罚机制中对由于节点资源受限、移动等原因导致的非恶意交易失败和恶意行为进行区分,增强了模型的鲁棒性和对移动性的支持。理论分析和实验结果表明,该模型能有效对抗恶意节点动态策略攻击行为。
2 基于社会距离的移动P2P分布式信任模型
2.1 模型建立
SD2Trust模型以目前使用最为广泛的基于超节点的双层移动P2P网络拓扑结构为基础,按照地理位置将移动P2P网络分为不同的域,域内节点主要分为信誉节点、普通节点和备用信誉节点,职能如下:
(1)信誉节点:是一些在线时间长、计算和存储能力较强的可信节点,负责本域内普通节点交易记录和局部信誉值的存储管理。
(2)备用信誉节点:提供信誉系统的冗余备份,当信誉点失效时便充当起该域内信誉管理节点的功能,同时调用信用节点选择算法,重新选择备用信誉节点。
(3)普通节点:是移动P2P网络中的普通参与者,参与平常的交易和评价。
图1 SD2Trust模型信誉按域管理方式
新节点加入网络时,根据位置信息加入相应管理域,然后信誉节点给节点发放一个描述该节点基本特征的令牌,格式定义为其中IDA为节点全网唯一标识,为保证信誉系统的匿名性,可以通过对节点标识、位置等进行哈希得到;d-IDA为域标识;CapA为节点能力,反映通信带宽、处理存储能力等,文中高能力归一化为1,低能力归一化为0.5;CurA为用来进行交易的虚拟货币;T为时间戳,用以确定该令牌的时效性;Sig为节点所在域的信誉节点的签名,目的是防止节点篡改数据。
如图2所示,SD2Trust模型主要分为如下几个部分:直接信誉计算部分、推荐信誉计算部分、综合信任计算部分和激励惩罚与信誉流转机制。直接信誉来源于历史交易记录,当历史交易记录足够多时可以直接据此选取服务提供者;推荐信誉来源于可信节点集的推荐,在计算时首先利用与请求节点的社会距离确定可信节点集,然后用可信节点与服务提供者的距离确定信誉计算权重,最后得出推荐信誉;综合信任计算时将诋毁风险考虑在内,以此决定是否进行交易;激励惩罚机制用于激励节点进行协作和提供真实评价,并将恶意节点快速孤立到网络边缘,信誉流转机制提供对节点漫游后重新加入网络享受服务的支持。
图2 SD2Trust模型结构
2.2 信任计算
2.2.1 直接信誉
定义1(服务满意度评价函数)定义为节点i对 j在t时刻提供服务或者资源的满意度评价函数,在0到1之间取值,节点i对 j所提供的服务越满意的值越大:
定义2(评价反馈满意度函数)定义评价反馈满意度函数表征节点i对 j在t时刻的评价满意度。模型采用评价再反馈机制,节点i与 j交易完毕后 j会将评价上传到信誉节点C,C再将评价反馈给i,以此确定 j是否进行了恶意诋毁,公式为:
交易完成后,节点会对存储记录进行更新,单条历史交易记录的存储格式如表1。其中,IDj为交易对象节点标识;t为交易时间;为交易额度;为对交易节点所提供服务的满意程度;为对交易节点所提供评价的满意程度。考虑到移动P2P节点能力有限,超出时间窗win的交易记录不再保存。
其中∆tk=tk-t0为节点i与 j第k次交易评价的时效值,tk为第k次交易的时间,win为时间窗,在实际中可以取一个月或半年等,在时间窗之外的交易评价认为是失效的。
得到直接信誉计算公式为:
其中,ntotal为节点i和 j在时间窗win内的交易总次数,ψ(τ)为时间效用衰减函数,为节点i、j在τ时刻的交易额度,为服务满意度。若在时间窗win内节点i未与节点 j进行交易,则=0.5,表示节点i对 j的信任情况不确定。
定义3(评价诚实因子)评价诚实因子ζij为表征节点提供评价和推荐真实性的量,其定义为在时间窗win内节点i所提供对 j的诚实评价占节点i所提供评价总数的比例:
其中ntotal为时间窗win内 j提供的对i评价的总次数,为评价满意度函数。
2.2.2 推荐信誉
要计算推荐信誉首先要确定可信推荐节点集。在社会网络分析中,社会距离是指社会存在体之间在空间、时间和心理上的距离。人们发现,在社会网络中人们常与同自己有相似特性(如相同兴趣爱好、专业背景、生活工作在同一单位等)的朋友联系,对于同一事物的评价,与自己社会距离近的人的推荐感觉更可信;另外,具有相似特性的个体之间关系比较密切,相互之间可能存在诸如共同利益关系(导致合谋)和竞争关系(导致诋毁)等,因此涉及彼此之间相互评价时往往不可信。因此,在计算推荐信誉时采用如下的策略:
(1)利用社会距离确定可信节点集,亦即在获取节点的推荐信誉值时,向与自己社会距离近的节点发起询问。
(2)在推荐信誉值计算时,与服务提供者社会距离越近的节点的推荐所占比重越小,以此来排除节点蓄意夸大和恶意诋毁的影响。
图3 推荐信誉计算示意图
选取节点能力、交易频度、交易成功率、连接度和评价诚实因子等五个因素描述节点在网络中的地位、作用、行为等特征,称为结构同型性描述向量,形式化定义为其中capi为节点能力;φi为交易频度,即单位时间内平均交易次数;sri为时间段win内交易成功率;wi为连接度,为在时间窗win内进行过交易的不同节点个数,其值越大,说明该节点在网络中的地位越重要;ζi为全局评价诚实因子,表征节点评价和推荐的可信程度。
定义社会相似度σij为表征节点i和节点 j的地位和行为特征相似性的量,以此来体现二者的社会距离。文中取两个节点的结构同型性描述向量的余弦相似度,公式如下:
其中,Vi·Vj表示Vi和Vj的内积,‖·‖表示进行取模运算。
设与节点i和 j都有过交易历史的节点集合为Iij,根据社群网络相关知识,具有相似社会背景的节点推荐更容易被接受,因此定义节点i对节点 j进行推荐信誉计算时的可信节点集为集合Iij中与节点i社会相似度最大的m个元素的集合,即
Ntotal为在时间窗内i所提供的总评价次数。
2.2.3 信任综合
2.3 激励惩罚与信誉流转
2.3.1 激励惩罚机制
在缺少激励机制存在情况下,由于节点带宽、供电和处理能力有限,节点提供评价信息的积极性较低。另外,考虑到在移动P2P网络由于节点资源受限、带宽不一致以及节点的移动等原因,用户的文件下载可能会受到系统中负载过重、包丢失或网络故障等非节点恶意行为的影响,从而导致对节点的评判有失偏颇。因此,在SD2Trust模型中采取如下激励惩罚机制:
(1)新加入节点虚拟币Curi初始化为0,节点必须通过提供服务或评价等赚取虚拟币才能享受服务。
(2)对于不提供评价节点,若全局评价诚实因子ζi<ϕ,则认为是以不提高对方信誉为目的的恶意行为,ζi值会进一步减小。
(5)当全局评价诚实因子ζi小于门最低门限值ϕmin时,系统会将其排除到网络边缘,减少或者阻断其他节点与该节点的交易。
2.3.2 信誉流转机制
移动性是移动P2P网络的一大特点。为使信誉系统能够保持节点信誉值的同步,并使节点在移动后重新加入网络时仍能够享受服务,采取如下信誉流转机制:
(1)新节点i根据位置信息归入相应管理域,域内信誉节点Ci负责token的发放,并负责维持和管理域内节点信誉,之后token由节点自己维持,作为入网凭证。
(2)当节点离开网络时,向其所属信誉节点Ci发送离线通告,然后Ci发起对该节点信誉值的离线计算过程,具体流程与推荐信誉计算类似,参照公式(9)。
(3)将节点i的相关信息和离线信誉在其他信誉节点冗余备份,存储格式如下其中IDj为节点标识,d-IDi为域标识,Curi为虚拟货币,Ntotal为时间窗win内参与交易总次数,Vi为结构同型性描述向量,RTi为离线信誉,T为时间戳,Sig为信誉节点签名。
(4)当节点i再次加入网络时,新的域内信誉节点首先完成节点信息的验证,然后接管该节点的信誉,直到节点i退出该信誉管理域为止。
3 仿真实验
本文设计了3组仿真实验对SD2Trust模型进行性能评估:单类恶意节点条件下交易成功率实验,以验证模型的收敛性和对各类恶意节点的有效性;固定恶意节点占比条件下信任计算和交易成功率实验,以验证模型的信任计算有效性;模型性能鲁棒性实验,以验证三类恶意节点均存在且所占比例变化情况下模型的有效性。
3.1 参数设定
为了对SD2Trust模型进行性能评估,采用布达佩斯大学开发的开源的、基于组件的模块化开放仿真平台OMNeT++(Objective Modular Network Testbed in C++)进行仿真实验。OMNeT++是一种面向对象的离散事件仿真器由,可以进行包括通信协议、计算机网络、并行系统、分布式系统等离散事件系统。实验参数设置如表2。
SD2Trust模型把网络中的节点分为两类:诚实节点Pi和恶意节点Pe。其中,诚实节点Pi忠实提供服务并且评价真实,占网络中的大部分。恶意节点又分为三类:第一类恶意节点Pe1既不履行承诺的服务又进行恶意诋毁;第二类Pe2为单纯诋毁节点,忠实提供服务但提供恶意评价;Pe3类节点具有充足的能力,故意提供虚假资源或较差的服务,但评价真实。
表2 实验参数设定
3.2 仿真实验
实验1 SD2Trust模型对三类恶意节点的有效性验证
首先验证SD2Trust模型分别对三类恶意节点的有效性。设系统中总节点数为100,随机分布于3个域内,能力强弱节点各占50%,初始成功率和评价诚实因子在[0.6,0.8]之间随机生成,初始交易次数[10,20]之间,诚实节点与第i类恶意节点比例为Pi∶Pei=80%∶20%,假设恶意节点表现出恶意行为的概率为100%,其他参数参见表2,启动随机通信,得到SD2Trust模型在各类恶意节点单独存在下的交易成功率曲线如图4。
图4 SD2Trust模型对三类恶意节点收敛情况
可以看出,SD2Trust模型对Pe1类恶意节点的检测效果最快,在进行两轮左右的交易后成功率收敛到92%并上下摆动;Pe2类恶意节点因为忠实履行服务而仅进行恶意诋毁,检测的收敛速度较慢,第五轮交易后逐渐收敛于93%左右;Pe3类节点条件下的成功率收敛也较慢,但交易成功率能够达到95%左右,这是因为该类恶意节点只是不忠实履行服务,但评价真实,故模型对其检测效果较好。
实验2固定恶意节点比例条件下信任计算和交易成功率实验
在三类恶意节点同时存在的情况下验证SD2Trust模型的信任计算错误率和交易成功率。作为比较,本文还实现了与SD2Trust模型具有相同应用场景的文献[11]中的MGT模型和文献[12]中的MSSP模型。设诚实节点占比70%,即Pi∶Pe1∶Pe2∶Pe3=7∶1∶1∶1,其他参数见表2。启动随机通信,交易共进行8轮取平均,每轮为100次,得到信任计算结果和交易成功率分别如图5、图6所示。
图5 30%恶意节点条件下信任计算情况
图6 30%恶意节点条件下交易成功率
由图5和图6可以看出,三种模型对Pe1类恶意节点都有比较好的抗攻击性,SD2Trust模型的信任计算错误率最低,在4.6%左右;MGT模型的信任计算错误率也较低,但错误地选择Pe1类恶意节点的概率要高于其他模型;MSSP模型因为具有折半惩罚机制,故对提供虚假服务的Pe1和Pe3类恶意节点能够很好地预防,但由于缺乏抗诋毁攻击的考虑,信任计算错误地选择了Pe2类单纯恶意诋毁节点的概率高达10%。SD2Trust模型在恶意节点占比30%的条件下交易成功率能够达到85%左右,这是因为将信誉值区分为“服务信誉”和“评价推荐信誉”,并且利用社会相似度和交易风险进行信任值的计算,能够有效规避节点恶意评价和动态策略攻击;MGT模型也采用了聚类的思想,将信任值进行了细化,但因其未考虑恶意节点的动态策略攻击行为,因此在性能上要比SD2Trust稍逊一筹交易成功率维持在81%左右;MSSP因为缺乏抗诋毁攻击机制,不能很好地预防恶意节点动态攻击策略,总体交易成功率也较低,在76%左右。
实验3模型性能鲁棒性实验
图7是交易成功率随恶意节点比例增长的仿真。如图所示,随着移动P2P网络中恶意节点比例的增加,三种模型的交易成功率都有不同程度的下降,其中MSSP模型的下降速度最快,当恶意节点占比达到50%时交易成功率就下降到了53%,恶意节点占比达到80%时交易成功率仅为45%;SD2Trust和MGT模型的下降速度均比MSSP模型下降缓慢,恶意节点占比达到80%时交易成功率分别为53%和49%。这说明在Pe1、Pe2和Pe3类恶意节点同时存在的等效恶意节点动态策略攻击条件下,SD2Trust具有较强的抗攻击能力,能够保证较高的交易成功率。事实上,SD2Trust在一定程度上也可以抵御共谋攻击,根据2.2.2节推荐信誉部分和2.3.1节激励惩罚机制的说明,恶意节点在发起交易请求进行信任计算时,会以很大概率选择恶意节点进行交易,但由于其本身的诚实因子的值较小,信誉系统会将其评价甄别出来,从而达到抵御共谋攻击的效果。
图7 恶意节点比例-交易成功率
4 结论
本文提出一种基于社会距离的移动P2P分布式信誉管理模型SD2Trust。该模型采取根据节点地理位置按域管理信誉值的分布式管理和存储策略,区分了节点的服务信誉和评价信任,用结构同型性描述向量刻画节点在网络中的地位和行为特征,利用社会距离确定相对可信节点集和信任计算权重,从而排除节点蓄意夸大和恶意诋毁和动态策略性攻击的影响,最后针对移动P2P的特点设计了相应的激励惩罚和信誉流转机制。仿真实验结果验证了SD2Trust模型在Pe1、Pe2和Pe3类恶意节点同时存在的等效恶意节点动态策略攻击条件下的有效性。在SD2Trust模型中,为防止信誉节点单点失效而导致其域内所属节点无法正常工作,采用了信誉节点荣誉备份策略,这可能会产生一些信誉节点间交互开销和额外的信誉数据存储开销。而且在进行全局信誉计算时进行交互的开销依然较大,但可以通过控制单个域内节点规模和可信节点集的大小来控制,下一步仍需进行改进。另外,研究针对信誉系统的特定攻击行为(如刷白攻击、Sybil攻击等)的防护措施可能是重要的研究方向。
[1]李伟,徐正全,杨铸.应用于移动互联网的Peer-to-Peer关键技术[J].软件学报,2009,20(8):2199-2213.
[2]Dong W,Dave V,Qiu Lili,et al.Secure friend discovery in mobile social networks[C]//IEEE INFOCOM,2011:1647-1655.
[3]李致远,王汝传.P2P电子商务环境下的动态安全信任管理模型[J].通信学报,2011,32(3):50-59.
[4]周傲英,杨彬,金澈清,等.基于位置的服务:架构与进展[J].计算机学报,2011,34(7):1155-1171.
[5]李勇军,代亚非.对等网络信任机制研究[J].计算机学报,2010,33(3):390-405.
[6]Aberer K,Despotovic Z.Managing trust in a peer-to-peer information system[C]//Proceedings of the 10th International Conference on Information and Knowledge Management,Atlanta,GA,USA,2001:1-7.
[7]Sepandar D K,Mario T S,Hector G M.The EigenTrust algorithm for reputation management in P2P networks[C]//Proc ofthe12thInt’lConfonWorldWideWeb.Budapest:ACM Press,2003:640-651.
[8]Zhou R F,Hwang K.PowerTrust:a robust and scalable reputation system for trusted peer-to-peer computing[J].IEEE Transactions on Parallel and Distributed Systems,2007,18(4):460-473.
[9]Xiong L,Liu L.PeerTrust:supporting reputation-based trust for peer-to-peer electronic communications[J].IEEE Transactions on Knowledge Data Engineering,2004,16(7):843-857.
[10]谭振华,王兴伟,程维,等.基于多维历史向量的P2P分布式信任评价模型[J].计算机学报,2010,33(9):1725-1735.
[11]任艳,任平安,吴振强,等.移动P2P网络中的多粒度信任模型[J].计算机工程与应用,2009,45(6):137-140.
[12]Qu Haitao,Song Meina,Song Junde.A master-slave recommended credibility model in mobile P2P based on chord[C]// 5th International Conference on Wireless Communications,Networking and Mobile Computing,2009:1-4.
[13]石志国,刘冀伟,王志良.基于时间窗反馈机制的动态P2P信任模型[J].通信学报,2010,31(2):120-129.
[14]金瑜,古志民,班志杰.一种新的P2P系统中基于双ratings的声誉管理机制[J].计算机研究与发展,2008,45(6):942-950.
[15]甘早斌,丁倩,李开,等.基于声誉的多维度信任计算算法[J].软件学报,2011,22(10):2401-2411.
YANG Zhixing,TANG Hongbo,BAI Yi,YANG Sen
National Digital Switching System Engineering&Technological R&D Center,Zhengzhou 450002,China
Most existing reputation-based trust models are based on the controversial assumption that“the higher serving credit one has,the more credible comments it provides”.This paper proposes a Social-Distance based Distributed Trust model(SD2Trust)for mobile P2P networks,which differentiates the reliability of recommending and that of service providing,constructs trustworthy node set and computes reputation computing weights by making use of social similarity.The distributed reputation storing structure and additional incentive approach together make it more suitable to mobile environment.Both theoretical analysis and simulation results show that SD2Trust can resist dynamic attacks with strategy and improve the success rate of transactions.
mobile Peer-to-Peer(P2P)networks;reputation;trust;social-distance;slandering;dynamic strategy attraction
移动P2P网络的开放性和松耦合特性使得节点恶意攻击行为普遍存在,而现有基于声誉的信任模型大都基于“信誉值高的节点评价推荐越可信”的假设,无法识别恶意节点动态策略性攻击行为。针对这一问题,将社会网络相关理论引入信任系统,提出一种基于社会距离的信任模型(SD2Trust)。该模型区分了服务可信度和推荐评价可信度,用多维结构同型性描述向量刻画节点网络地位和行为特征,根据社会距离确定推荐节点集和推荐信誉计算权重,综合信任考虑了诋毁风险。理论分析和实验结果表明,该模型能有效对抗恶意节点动态策略攻击行为。
移动点对点(P2P)网络;信誉;信任;社会距离;诋毁;动态策略性攻击
A
TP393
10.3778/j.issn.1002-8331.1202-0207
YANG Zhixing,TANG Hongbo,BAI Yi,et al.Distributed trust model for mobile P2P networks.Computer Engineering and Applications,2013,49(23):75-80.
国家863主题项目(No.2011AA010604);国家科技重大专项课题(No.2009ZX03004-002)。
杨志兴(1987—),男,硕士研究生,主要研究领域为可移动网络。E-mail:yangzhixing7@163.com
2012-02-13
2012-04-05
1002-8331(2013)23-0075-06
CNKI出版日期:2012-06-15 http://www.cnki.net/kcms/detail/11.2127.TP.20120615.1726.040.html