《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 基于簇域的P2P信誉评估模型
基于簇域的P2P信誉评估模型
来源:微型机与应用2010年第24期
王 铮,翁 涛
(重庆大学 计算机学院,重庆400044)
摘要: 针对现有的信任模型的网络消耗大、信任数据存储和查询等问题,设计了一种基于簇域的P2P网络拓扑结构的信誉评估模型P2P-CRep。模型采用双层网络拓扑结构,解决信任数据的存储和查询及网络消耗问题。通过对信誉模型的性能分析和仿真试验,验证了模型的动态性、可扩展性以及对电子商务恶意行为的有效抵制。
Abstract:
Key words :

摘  要: 针对现有的信任模型的网络消耗大、信任数据存储和查询等问题,设计了一种基于簇域的P2P网络拓扑结构的信誉评估模型P2P-CRep。模型采用双层网络拓扑结构,解决信任数据的存储和查询及网络消耗问题。通过对信誉模型的性能分析和仿真试验,验证了模型的动态性、可扩展性以及对电子商务恶意行为的有效抵制。
关键词: 信誉模型;簇域;模糊综合评判;推荐可信度

    P2P网络是一个开放的、动态的网络,没有权威中心对这些节点进行管理,使P2P网络也受到如冒名、诋毁等各种形式的攻击行为,因此需要建立一种信任模型来遏制这些攻击行为。
    不同拓扑的P2P网络环境有不同的信任解决策略。非结构式P2P网络中的信任模型,如Beth信任模型[1-3]、Jsang信任模型[4]等,都是通过泛洪方式迭代方式获得节点的全局信任度,但会带来大量的资源开销。在结构式P2P网络中的信任模型利用Chord、CAN和Pastry等算法快速定位查询全局信任度,但对高度动态性的P2P网络,不具有信任模型规模的扩展性。因此,针对结构式P2P信任模型的信任计算开销大和非结构式P2P信任模型的网络规模不易扩展等缺点,本文以P2P电子商务为研究背景,设计了一种基于信任向量的混合结构式P2P网络信任模型(P2P-CRep)。利用混合结构式P2P网络存取信任向量存储的历史交易数据,利用信任的衰减性计算信誉度。通过仿真实验验证了P2P-CRep信誉模型的合理性和对恶意行为的防御能力。
1 P2P-CRep信誉管理模型
    信誉是在特定的前提和时间下,基于其他实体对该实体以往信任的总结。
    本文P2P-CRep信任模型的系统应用环境采用基于簇域的信誉管理系统。该系统拓扑结构融合了集中式P2P网络拓扑和结构化P2P网络拓扑的优点,提高了资源定位的效率,降低了网络消耗,同时增加了网络扩展性。
    该系统模型由两层网络组成:索引网络层和簇域子网层,拓扑结构如图1所示。

    索引网络层由性能较强的超级节点SP(Super Peer)构成,主要负责资源信息发布、索引、信任数据的存储和信誉评估。索引网络层在系统中是较为稳定的子网,因而采用结构化DHT P2P网络协议Chord协议[5]进行路由。
    簇域子网层由若干普通节点CP(Common Peer)和一个备份节点BSP(BackupPeer)构成,CP节点根据自己的兴趣爱好加入不同的簇域,并与其他节点进行交易。BSP节点负责SP节点的数据备份,是SP的后备节点。为了便于网络扩展,簇域子网采用集中式P2P网络构成。
2 P2P-CRep信誉评估模型
    在不同的应用背景环境下,信誉评估模型会有不同的设计要求,本文的P2P-CRep信誉评估模型是针对电子商务的应用环境设计的。
2.1 交易评价度的推理
    在电子商务中,交易的因素呈现多样化和层次化,适合应用模糊数学的综合评估方法推理[6]。其流程如图2所示。

    由于电子商务交易记录中含有许多模糊量的交易指标,所以适合应用模糊逻辑推理规则推理交易评估因子。
    

    (3)利用交易指标集建立模糊逻辑推理规则库,并进行推理。针对交易指标集合H中各项交易指标对应的不同评价集vm,建立多条模糊逻辑推理规则,以此形成一个模糊推理规则库R。推理时,找到规则库R里满足所有推理条件的一条推理规则Rn,推导出相应的结论(交易评估因子);
    (4)交易评估因子的解模糊化。经过模糊数学的综合评判推理,得到的交易评价度ξ是一个模糊评价值,为了引入信誉评估的精确计算,需要将模糊值转换为相应的精确值。本文采用加权平均法(WFM)[7-8]解模糊化,将交易评价度ξ解模糊化。
2.2 直接信任度的计算
    每次交易结束后,节点将交易记录存储在自身节点上,并根据滑动窗口更新历史交易记录。计算此时对交易节点的本次直接信任度,并信誉代理更新之前的直接信任度。因此,直接信任计算可以分为以下几个步骤:
    
    信任度的提升越困难,信任度在商业上的价值就越大。本文通过系数调整控制信任度的收敛速度。由于直接信任度的初始值为0.5,所以系数调节的是直接信任度的变化值。直接信任度调节公式为:

    由式(4)可以看出,随着交易次数和交易量的增加,节点就越容易获取信任度,反之则否。此外,交易量M作为其中的一个因素,可以起到防止用户积累小交易信任度行骗的行为的作用。用户的交易量越小,直接信任度的提升越难。
2.3 推荐信誉度的计算
    为了增加信誉评估的可靠性,信誉评估应收集并综合计算其他节点对评估客体节点的信任度。本文的推荐信誉度计算引入以下几个因素:推荐信任度、推荐可信度Cr(i,j)、推荐节点的数目Num和推荐阈值?姿。推荐信誉度的计算分为以下几个步骤:
    (1)推荐可信度的计算
    节点根据兴趣爱好加入不同的簇域,因此簇域差异间接表现为节点间兴趣爱好的差异。所以簇域和评估差异可以作为推荐可信度计算的两个重要因素。
    ①评估相似度
    令推荐节点j和评估主体节点i对信誉评估客体节点k的直接信任度分别为Td(j,k)和Td(i,k),所以推荐节点j与评估主体节点之间由于信誉评估误差而导致的推荐可信度为:

    此外,为了降低热点节点的信誉评估复杂度,设置推荐信任度阈值λ>M,减少小交易量的节点推荐。
2.4 综合信誉度的计算
    如何准确综合直接信任度和推荐信誉度计算信誉评估客体节点的最终信誉度,是信誉评估模型设计的一个关键问题。本文采用置信因子法计算综合信誉度,其计算公式为:

    综合所有推荐节点的推荐可信度,计算得到平均推荐可信度。根据平均推荐可信度,可以设置推荐信誉度的计算权重β。系统管理员根据需求对[0,1]进行推荐可信度区间划分,确定区间相对应的推荐信誉度置信因子β1的值,形成如表1的推荐置信因子表。

    (2)平均交易量M
    综合所有推荐节点与评估客体节点交易量,计算得到平均值交易量。令评估主体节点与客体节点之间的交易量为M,则推荐信誉度的置信因子β为:
  
3 信誉评估算法描述
    算法1:直接信任度算法
Direct_trust()
{
Fuzzy_trust_transaction(win[k])
{将本次交易存储在滑动窗口win[k]中,并利用模糊综合评判计算交易评价度ξ}
Local_direct_trust(k,m[k],t[k])
{//k次交易及其交易量m[k],交易时间t[k]
μ[k]=Time_decay(t[k]);//计算时间衰减因子μ
weight[k]=weight_calculate(u[k],m[k]);//计算交易评价度的计
算权重
Return formula_1(weight[k],ξ[k]);//利用公式1计算本次直接
信任度
}
Updata_direct_trust(n,M,α)//直接信任度更新
{//交易次数n,交易量M,更新权重因子α
LT=Local_direct_trust(k,m[k],t[k]);//信誉代理得到本次直接
信任度
adjust=Adjust_direct_trust(n,M);//直接信任度调节因子
Return formula_3(adjust,LT);//更新直接信任度
}}
    算法2:推荐信誉度算法
Recommend_trust(Num,rec_trust[Num],cluster[Num],m[Num])
{//Num个推荐节点的所在的簇域cluster[Num],推荐信任度
rec_trust[Num],交易量m[k]
If(m[Num]>λ){
Recommend_trustworthy(cluster,)//推荐可信度计算
{η1=Difference_trust_evaluate(rec_trust,dire_trust);//直接信任度
和推荐信任度之间的评估差异
η2=Difference_trust_cluster(cluster1,cluster2);//根据所在簇域
的不同,确定评估差异
Return formula_6(η1,η2);//根据式(6)确定推荐可信度
}
adjust=Adjust__recommend_trust(Num);//根据推荐节点数目确
定推荐信誉度调节因子
weigth=weight_recommend(rec_trustworthy[Num]);//根据推荐节
点的推荐可信度确定推荐权重
Retrun formula_7(weight,adjust,rec_trust);//推荐信誉度
}}
    算法3:综合信誉度算法
Reputation_evaluate()
{β1=Mean_rec_trustworthy(rec_trustworth[Num]);//根据平均推
荐可信度确定推荐信誉度置信因子
β2=Mean_rec_transaction(rec_trustworth[Num]);//根据平均交易
量确定推荐信誉度置信因子
β=Confidence(β1,β2);//计算推荐信誉度置信因子
DT=Direct_trust();
RT=Recommend_trust();
Return formula_9(DT,RT,β)//计算综合信誉度
}
4 模型性能分析及仿真实验
4.1 模型性能分析

    为了分析基于簇域的信誉评估模型的性能,首先作如下假设:
    (1)假设索引网络层中有M个SP节点,在该层中每次索引查询需要经过的跳数为h;
    (2)假设电子商务中有N个CP节点,则平均每个SP节点为CP节点提供服务的节点数目为:β=N/M;
    (3)假设节点加入网络系统的过程服从Poisson分布,且加入的速率是λ;
    (4)假设CP在网络系统内平均逗留时间是D。并且逗留时间T服从f(T)分布,那么D=∫T  ×f(T)dT,参考文献[10]指出D大约是60 min;
    (5)假设平均每个CP每秒发出q个请求(资源索引和信誉评估请求)。
    基于以上假设,可知:网络模型中平均有N=λ×D个Common Peer[11]。如果知道参数λ和D,则可以由此得出模型中CP节点的数目。反之,如果通过测量知道N,则可以由此得出节点到达速率λ。假设N=1 000 000,D=3 600 s,则得出λ=278个/s。这表明,该信任模型中每秒可以有278个普通节点的加入和离开,因而该信任模型具有高度动态性和可扩展性。
    由假设可知对于SP节点平均要处理查询个数为:R=q×β,每秒要转发的查询数为:Z=(q×N×h)/M,如果每个查询消息的数据包为C字节,那么转发消息所占的带宽为:W=Z×C=q×β×h×C。

4.2 仿真实验
    仿真实验利用斯坦福大学开发的P2P模拟器Query Cycle simulator进行仿真,并与模拟器自带的EigenTrust信誉模型进行对比。
    (1)交易成功率
    仿真电子商务网在不同查询周期时的交易成功率。实验设定恶意节点的占用率为20%,随着仿真周期增长,P2P-CRep信誉评估算法、没有信誉评估算法以及EigenTrust信誉评估算法对交易成功率的影响变化曲线如图3所示。从图中可以明显地看出,在没有信誉评估模型的电子商务网络中的交易成功率急剧下降,由此,证明对于存在恶意节点的电子商务,很难保证交易的安全性。此外,在不同的仿真周期时,P2P-CRep信誉评估算法比EigenTrust信誉评估算法有较高的交易成功率。
    (2)“积小交易信任行大骗”行为
    本次实验通过仿真节点对于恶意节点的直接信任度变化曲线来表明信誉模型在“积小交易信任行大骗”行为方面的防御能力。直接信任度的变化曲线如图4所示,虚线和实线分别是对恶意节点PeerA和PeerB的直接信任度变化曲线,其中,虚线中的前6次交易的交易评估因子是0.8,第7次交易的评估因子是0.16,实线中的前11次交易评估因子是0.4,第12次交易评估因子为0.8的交易。由图可以看出:PeerA经过11次小交易积累的信任度,1次大的失败交易就损耗完积累的信任度,另外,奖惩的幅度也跟交易规模的大小有关,由此表明P2P-CRep具有防御“积小交易信任行大骗”行为的能力。

    (3)共谋欺诈的抵御性能
    本次实验设定网络中恶意节点为共谋行为的恶意节点,买家恶意节点对商品的评价取值为1的交易评价度。实验仿真恶意节点不断增加时的交易成功率,其仿真结果如图5所示。由图可以明显看出,随着恶意节点数不断曾加,交易成功率都有所下降,但P2P-CRep下降幅度较小,表明P2P-CRep具有较强的抵御能力。

    根据基于簇域的P2P拓扑结构的特点,本文提出了P2P-CRep信誉评估模型,以此解决电子商务中的信誉问题。基于簇域的P2P网络大大降低了信誉评估带来的资源开销,解决了信誉数据存储和查询的问题,并且使信誉评估网络系统模型具有高度动态性和可扩展性。在信誉评估算法中实现对电子商务中恶意推荐、积小交易信誉行骗等恶意行为的有效抵御机制,为电子商务中的交易安全提供保障。
参考文献
[1] Gnutella.[EB/OL].http://www.gnutella.com.
[2] Kazaa.[EB/OL].http://www.kazaa.com.
[3] BETH T,BORCHERDING M,KLEIN B.Valuation of trust in open networks[C].In Gollmann, D.,ed.Proceedings of the  3rd European Symposium on Research in Computer Security-ESORICS’94.Volume 875 of Lecture Notes in Computer Science., Brighton, UK, Springer-Verlag.1994:3-18.
[4] JSANG A.A model for trust in security systems[C].In: Proceedings of the 2nd Nordic Workshop on Secure  Computer Systems. 1997.http://security.dstc.edu.au/staff/ajosang/papers.html.
[5] STOICA I,MORRIS R, KARGER D,et al.Chord:a scalable Peer-to-peer lookup service for internet applications[A].  Proceedings of ACM SIGCOMM’01[C],San Diego California,2001:35-89.
[6] 韩存,张玉忠.企业绩效评价方法取向研究[J].财会通讯,2005(5):3-7.
[7] 夏启志,谢高岗,闵应骅,等.IS-P2P:一种基于索引的结构化P2P网络模型[J].计算机学报,2006,29(4):602-610.
[8] 李玲娟,姬同亮,王汝传.一种基于信任机制的混合式P2P模型[J].计算机应用,2006,26(12):2900-2902.
[9] 张春瑞,徐恪,王开云,等.基于信任向量的P2P网络信任管理模型[J].清华大学学报(自然科学版),2007,47(7):35-37.
[10] SAROIU S,GUMMADI P.K,GRIBBLE S.D.A measurement study of Peer2to 2Peer file sharing systems[C]. In:Proceed-in gs of the Multimedia Computing and Networking Conference, San Jose, alifornia,USA,2002.
[11] 宋金龙,董健全,邹亮亮.一种P2P网络安全的信誉度模型设计[J].计算机应用.2006,26(4):833-835.
[12] SCHOLLMIER R.Why P2P(Peer-to-Peer) does scale:analysis of P2P traffic patterns[C].In: Proceeding of the IEEE P2P Computing Conference, Linkoping,Sweden,2002:112-119.

此内容为AET网站原创,未经授权禁止转载。