对等网信任管理模型的研究*
2011-02-02齐丽丽
齐丽丽
(潍坊学院,山东 潍坊 261061)
作为改变现有Internet应用模式的主要技术之一,计算机对等网络(Peer-to-Peer netwo rks,简称为P2P)是目前新一代互联网技术研究的热点之一。相对于传统的服务器/客户机(C/S)模式,P2P系统中参与的节点(Peer)可以贡献自己的资源,节点既可以充当服务器,也可以同时充当客户机。目前,Internet提供的服务大都采用传统的C/S(client/server,客户/服务器)模型,但这种模型容易导致以下问题:第一,对服务器的性能要求非常高,某段网络如果是带宽瓶颈会造成整个网络的拥塞,存在性能瓶颈问题,网络可扩展性和资源可用性较差;第二,服务器容易成为黑客的攻击目标,存在安全等问题。
为了解决C/S存在的问题,20世纪90年代末,P2P(Peer-to-Peer,对等网)作为一项重要的技术而倍受关注,成为学术界讨论的热点。P2P研究涉及的方面主要包括:拓扑结构、资源的寻址和定位、安全与可靠性、分布式数据存储、大规模并行计算等。P2P的应用更是涵盖了诸多领域,如文件共享和交换、即时通讯交流、对等计算、分布式存储、搜索引擎、协同处理与共享平台、电子商务、网络游戏等等。目前应用的最为广泛的还是文件共享和交换(简称为文件共享),本文的研究工作就是基于P2P文件共享系统的信任管理。
1 P2P信任管理研究的理论基础
1.1 信任模型的社会学基础
信任模型采用声誉管理方法,在选择文件下载时选择声誉好的节点,参照了人类社会的信任特性:将P2P文件共享系统中的信任细分为资源可信性和推荐可靠性,以及负面评价优先原则。
网络社会与人类社会有一定的相似性,因此,信任关系的建立可以参照人类社会进行。将信任分为资源可信性和推荐可靠性,正是信任的特定背景性和客观性决定的。对应于人类社会中,有些人在与其他人交易中非常诚实,可以信任,但当被问及对别人的信任评价时,其观点却不一定可靠了,因为每个人对他人的信任倾向也是不一样的,有些人倾向于不相信别人,而有一些人则更倾向于相信别人。
负面评价优先原则,即节点的负面行为将作为首先否定的条件。在社会生活中人们往往更倾向于相信从没犯过错误的,有过一次不诚实的交易要比许多次诚实的交易更容易受到他人的重视。在本模型的推荐可信度的合成以及文件下载节点的选择等,都使用这一原则。
1.2 P2P文件共享操作过程
普通的P2P文件共享系统(如Gnutella)中文件共享的操作过程可以细分为四步。
第一步,文件查询(Query)。每个对等点都可以发出某个条件(一般是文件名)的文件查询,查询消息按照系统定义好的机制发送到系统中的有限个节点。如在 Gnutella中,查询消息按洪泛方式进行,首先传播到所有相邻节点,然后再传播到相邻节点的相邻节点,直到达到预先确定的层次为止。
第二步,文件查询响应(Response)。系统中的其他节点收到文件查询消息后,如果其共享文件夹中有完全符合条件的或部分符合条件的文件,则回答响应消息。
第三步,对等点挑选下载文件。对等点从响应消息中根据需要挑选要下载的文件。
第四步,文件下载。从一个或几个源节点下载挑选的文件。
这种简单的节点选择过程和文件下载过程无安全保障,容易出现虚假和恶意信息的泛滥,也极易受到黑客的攻击。
在普通的文件共享系统中建立信任模型,实际上主要是让对等点在选择下载节点、文件下载过程中增加信任策略,以选择更安全的下载节点和保障下载文件的完整性等方面来增加安全性,这样信任模型就成为了P2P文件共享系统的一个组成部分。
2 信任模型的设计
2.1 信任模型的设计思想
针对P2P文件共享系统中的安全需求,此模型使用基于资源可信度和推荐可靠度相结合的声誉管理方法来建立信任模型,将节点的信任分为资源可信性和推荐可靠性两个方面,将声誉的计算综合正负两方面的评价,并对这些反馈的评价予以加权平均,并充分考虑安全性。
本文模型将节点的信任分为资源可信性和推荐可靠性两方面,资源可信性是针对直接信任而言的,我们将直接信任与节点提供的资源质量直接联系在一起,用基于历史评价与最近评价加权整合的可信变量记载目标节点提供资源质量的历史记录,即目标节点的可信度,可信度是作为选择文件下载节点的依据;推荐可靠性是针对推荐信任而言的,我们将推荐信任与节点推荐在其他节点时判断的正确程度相联系,用表示可靠度的变量来记载目标节点的推荐历史记录,即目标节点可靠度,可靠度是作为合成推荐可信度的依据;对于未知的节点,则需要向其他节点询问其可信度,然后根据这些节点的可信度反馈值以及其本身的可靠度进行加权合成为未知节点的可信度即声誉。
模型首先将文件查询的响应节点按提供文件的MD5哈希值分组,提供文件哈希值相同的节点被分在同一组。
图1简要标出了信任的工作流程,在文件查询挑选分组和文件下载时,采用的信任策略是挑选低不可信度和高可信度的分组或节点而进行的。这其中,每组的平均可信度和不可信度的计算是最复杂的一步,涉及到可信度、不可信度、可靠度与不可靠的计算。当分组有未知节点时,要发出信任查询,并要将推荐(反馈)的可信度进行合成。
图1 信任模型的简要工作流程
2.2 可信度和可靠度的计算模型
对某个节点而言,完成一次下载后它的可信度t的计算方法为:
其中,t′表示历史可信度,指的是该节点历史上的综合可信度,a与b是权重因子,要求a+b=1,T是对本次下载的可信评价。
T={1:本次是诚实的交易|0:否则};
每次下载后计算新的可信度t并存入本地数据库,作为下次从该节点下载的历史可信度。
对某个提供第三方节点可信度的节点而言,完成一次下载它的可靠度c的计算方法为:
其中,c′表示历史可靠度,指的是该节点历史上的综合可靠度,a与b是权重因子,要求a+b=1,C是对本次提供可信度的可靠评价。
C={1:本次是正确的评价|0:否则}
每次下载完成后计算新的可靠度c并存入本地数据库,作为下次从该节点提供第三方可信度的历史可靠度。
根据人类社会的行为特性及部分实验数据,可信度与可靠度的计算式中的a均取2/3,b均取1/3。
本模型用一个变量tru记录历史中有过交易的其他节点的可信度记录,用可靠度cre记录其他节点过去对另外节点的推荐意见的正确与否。每个节点都维护着含有可信度和可靠度的本地信任数据库,用以记录与其他节点的历史交互。例节点A的本地信任数据库见表1。
表1 A的本地信任数据库
2.3 直接可信度和可靠度的计算
节点的可信度是指其共享的资源而言的,是对资源可信性进行的数值估算;可靠度是指其推荐其他节点时(即对其它节点的评价)而言的,是对这种推荐行为的可靠性进行的数值估算。
本模型中将可信度分为直接可信度tB和推荐可信度ci。直接可信度是节点根据过去的直接交互产生的可信度,直接取自于本地数据库,若本地数据库中不存在该节点的记录,则令tB=0.5;推荐可信度(可靠度)则是对未知节点由认识的第三方推荐后产生计算的可信度,直接从本地数据库取值,如果不存在记录,则令ci=0.5。不可信度 d tB,记录着某个节点的历史交易中有过的不诚实交易情况,不可信度的计算为 d tB=1-tB;不可靠度(记为 dcB)计算公式为 dcB=1-cB。
当需要知道未知节点的可信度与不可信度时,本模型使用推荐可信度的合成方法:
如果节点i发出关于对未知节点j的信任查询,反馈节点为R1,R2,…,Rk,k<=θC(阈值),其中 Rp对j的可信度评价是tp,不可信度评价是 d tp,而i中对 p的可靠度和不可靠度评价分别是cp、dcp。则i关于j的可信度和不可信度的计算公式为:
节点j的可信度:
节点j的不可信度:
2.4 挑选分组及文件下载
挑选分组过程采用信任策略,按低不可信度-高可信度的原则来选择要下载文件的分组。即根据前面的计算,将所有分组的平均不可信度降序和平均可信度升序排列,选取排在第一的分组。
一旦某个分组被选定,一个提供文件的节点将被选定用来提供下载。文件下载过程有几个方面的考虑:节点的选择、IP地址过滤、下载过程分段哈希验证、服务提供端排队机制等。
(1)选定下载的节点是被选定组中任意一个或几个节点,不可信度小的节点优先。
(2)IP地址过滤,禁止系统连接指定的IP地址,阻止从被禁止的客户端的上传和下载。
(3)将要下载的文件分段,在下载过程中进行分段 Hash检查。
(4)服务端排队机制。当文件提供方同时有许多节点要下载该文件时,引进激励机制:按照本地数据库中的交易次数m将文件请求者排队。这样做的目的是为了鼓励共享,打击搭便车者。
每一次文件下载,下载文件的节点都要更新本地信任数据库,要更新的是文件提供节点的可信向量和推荐此节点的其他节点的可靠向量。
3 结束语
本文模型中提出了新型的信任评价公式及方法,将新的信任评价方法应用于信任模型中,理论上克服了P2P文件共享操作中存在的信任管理问题,具有计算存储简单、能够有效的隔离恶意节点、实现网络负载均衡等优点,为信任管理方法在P2P文件共享系统中的应用提供了理论支持。
[1]姜怡.P2P网络中基于实体行为的分布式信任模型[J].高技术通讯,2005,15(3):1-6.
[2]张铁军,张玉清,战守义.Peer-to-Peer典型应用安全需求分析[J].计算机工程,2005,31(20):56-58,69.
[3]刘进红.P2P平台技术[J].计算机工程与应用,2005,20(12):33-36.
[4]赵恒,权义宁,胡予濮.对等网环境下一种安全有效的信誉体制[J].计算机应用,2005,3(3):551-553.