一种高防御力的p2p文件共享系统的制作方法

文档序号:6581898阅读:121来源:国知局
专利名称:一种高防御力的p2p文件共享系统的制作方法
技术领域
本发明涉及P2P文件共享系统,特别是涉及一种高防御力的P2P文件共享系统。
背景技术
P2P—般建立在由若干节点所构成的叠加网(overlay)之上。叠加网的特点包括 匿名性,自组织性,动态可扩展性等等。任何节点都可参与其中,其行为不为人知,从 而为病毒传播、恶意行为等等提供了便利,安全问题也变得更加复杂。可能存在某些节 点提供差的、欺骗性的服务(恶意节点),或者只享受服务却拒绝提供服务(free rider), 也有些节点在信用过低时,会通过重新注册转变为新节点(whitewashing)获取新的享受 服务的权力。

发明内容
本发明所要解决的技术问题就是为了克服上述现有技术存在的缺陷而提供一种 高防御力的P2P文件共享系统。本发明的目的可以通过以下技术方案来实现一种高防御力的P2P文件共享系 统,其特征在于,包括(1)系统结构将整个系统抽象成一张信任评价有向图,节点间的信任评价可看作有向图中的 边,权值代表信任评价值,将对节点的信任度评价的计算建模成最短路径的选择,将信 任推荐路径的选择抽象为路由算法;每个节点存储其余节点的信任评价信息;(2)信任评价运作机制系统通过信任评价运作机制对各节点的信任值进行计算以及更新;(3)分组机制系统通过分组机制对节点进行分组管理,以节省系统资源;(4)对恶意节点或自私节点信任值很低企图通过重新注册时(whitewashing)的防 御机制系统通过white washing防御机制来抵御white washing攻击,所述的white washing防御机制包括(51)建立恶意节点数据库以及恶意文件数据库,通过上述两个数据库对新加入 节点进行过滤;(52)对新节点的惩罚机制。所述的信任评价运作机制包括信任值的计算以及时槽化的信任值更新。所述的信任值的计算包括以下步骤(31)节点的推荐信任值计算以推荐可信度进行加权RTmkj <= RrTmkj * RCmk .(32)去头去尾
对推荐信任值的前δ个最大值及最小值都加权考虑或置成0,即慎重考虑这些 比较极端的推荐,或者干脆删除;(33)采用迪杰斯特拉Dijkstra算法,计算出节点m到组内其它所有节点的最短路 径SRVm = {SRmj};(34)将SRV与DTV以λ进行取舍,得到最终信任值(FTV)FT y.<=DT} y"*A+SR y"*(l-X)o所述的时槽化的信任值更新包括以下步骤(40)设定一个时槽;(41)将一个时槽内所有需要更新的信任值先暂存起来,等到时槽结束后,算出 平均值再更新。(42)信任值的更新采用慢增快减的方式,使得节点的信任等级积累到一定程度 后增加会更加困难,而一旦从事恶意行动,信任等级则迅速降低。所述的分组机制包括根据兴趣、拓扑分布以及参与应用节点数目将节点分为多个组;为每个组设置一个管理节点GMA,用于管理本组其他节点,并设置一个中心服 务器,用于管理所有的管理节点GMA,所有的管理节点GMA构成了一个新的组,该组 通过信任评价运作机制对其内各节点的信任值进行计算以及更新;管理节点GMA由本组内所有成员联名投票产生并进行定期重选。所述的管理节点GMA由本组内所有成员联名投票产生并进行定期重选包括(61)组中的节点会对本组内的其余各个节点计算出其可信度,从中选出最大 值,将此节点作为推荐管理节点GMA的候选者,然后,用自己的私钥进行签名,生成一 项投票发送到中心服务器;(62)在中心服务器处保存一个数据库,用于记录每个组内的每个用户的投票 及被投票数,在一轮投票完毕后,会选出各个组内得票最多的那个成员作为该组内的 GMA,并发送用自己的私钥进行签名的任命状;(63)新的管理节点GMA—被选出,就会将从中心服务器处得到的任命状发送 给本组内所有成员;如果在职期间发现该管理节点GMA信任值下降或有恶意行为,其 余节点会向中心服务器要求发起重选GMA的活动,并选出自己认为当前更适合成为本 组GMA的节点,并将新的投票更新至中心服务器,这时中心服务器会将原先管理节点 GMA的票数相应减少,同时会将新被投节点的票数增加,当中心服务器发现某组内当前 管理节点GMA少于或另一节点的票数达到一定的阀值,则会启动GMA更迭过程,发 送新的GMA任命状至新的管理节点GMA以及旧的管理节点GMA,并由新的管理节点 GMA转发到组内所有节点。所述的恶意节点数据库内存储有恶意节点的相关信息,该恶意节点的相关信息 包括节点IP地址、节点ID号。所述的恶意文件数据库内存储有恶意文件的相关信息,该恶意文件的相关信息 包括大小、名称以及检验值。所述的对新节点的惩罚机制为当节点相网络请求服务时,对于网络返回的候选节点列表中,该节点首先计算各节点的最终信任评价trust^i,并验证时间令牌,然后计 算各请求信任评价trust—,选择合适的节点请求服务。与现有技术相比,本发明具有良好的运作机制,对协同作弊,free riding都有较 高的防御力,最重要的特点在于采取了双重防御的机制,对white washing有很高的防御 力。


图1为本发明的系统结构示意图。
具体实施例方式下面结合附图对本发明作进一步说明。一、系统结构概述从整个网络的角度考虑计算各节点的信任等级,将整个网络抽象成一张信任评 价有向图,节点间的信任评价可看作有向图中的边,权值代表信任评价值。如图1所 示,节点i对节点j进行信任评价,就是在图中寻找一条路径,其权值最佳。这样对某节 点信任度评价的计算可被建模成最短路径的选择,而信任推荐路径的选择可被抽象成为 路由算法。图1中I结点对J结点的推荐路径应为I- > M5- > M4- > J0模型选择类似链路状态(LinkState)路由算法的原理进行计算。一方面链路状态 路由算法没有距离矢量(Distance Vector)路由算法因“信任推荐环”产生的“慢收敛问 题”,另一方面当系统中某些节点信任值有更新时,会将新信息以增量更新的方式主动 广播给网络中其它节点,因而系统的实时性很好,即关于获取两个节点之间的推荐路径 的请求可以很快得到响应及答复。二、信任评价运作机制A.信任值的计算为了计算推荐路径,系统中每个节点都要存储其余节点的信任评价相关信息, 分别用DT—,RTmij, RC—表示在组Gm中丨节点对j节点的直接信任评价,推荐信任评 价,以及推荐可信度评价。考虑到在协同作弊的情况下,某些节点会恶意夸大或缩小其 他节点的信任等级,我们对Dijkstra算法做了四点改进,以此计算节点之间的最终信任评 价。改进后的Dijkstra算法如下1、节点的推荐信任值计算要以推荐可信度进行加权RTwi; <= RTtm^'*RCmk[J]2、去头去尾对推荐信任值的前δ个最大值及最小值都加权考虑或置成0,即慎重考虑这些 比较极端的推荐,或者干脆删除。3、采用Dijkstra算法,计算出节点m到组内其它所有节点的最短路径(The Shortest Route,简称SR)。路径的权值采用积运算SRVm = {SRmj}[2]4、将SRV与DTV以λ进行取舍,得到最终信任值(FTV)FTm;^DTm/*X+SRn;-*(l-X) [3]。
B.时槽化的信任值更新在每次提供服务之后节点之间的直接信任评价会有所改变,需要广播更新。由于一方面可能存在某些节点,在很短时间内企图大量更新以迅速哄抬或者哄降某节点的 信任等级,进行协同作弊;另一方面若某个时间段内信息更新次数过多,节点也会因太 过于频繁的信任度收敛计算而负荷太重,从而造成系统紊乱、出错、瘫痪。为避免以上 状况,我们考虑引入时槽化。即将一个时槽内所有需要更新的信任值先暂存起来,等到 时槽结束后,算出平均值再更新。信任值的更新应体现慢增快减的思想,使得节点的 信任等级积累到一定程度后增加会更加困难,而一旦从事恶意行动,信任等级则迅速降 低。时槽化和慢增快减的更新是本文的一个特点,这样可以更有效的打击恶意节点。C.Free riding由于采用了全局化地相互评级方式,某些只享受服务却拒绝服务的节点,会由 于拒绝提供服务被给予低的信任评价,久而久之,信任值会逐渐降低。同时,周围节点 与之联系也会减少,其对其他节点的评价及信任推荐与真实情况会越差越远,最后,信 任等级降到很低,也成为网络中的孤岛,无法再影响网络运行的效率。二、分组机制当系统内部节点越来越多,开销也会越来越大。因为每个节点都要存储其它节 点的相关信任信息,当节点数很大时,会造成巨大的存储空间浪费。设系统共有N个节
ι=η
点,若将系统分为K组,每组节点数分别为ηι,η2,叫…叫,Σ ,=ΛΓ。时间复杂性
;=1根据Dijkstra算法可得,不分组的时间复杂性为O (N2) *Ν①分组后系统时间复杂性为
i=k0{k2) * k +* A ②
/=1空间复杂性由每个节点都要存储其他节点信任值相关信息及相互之间的信任评价,可得不 分组时空间复杂性为O (N2) *N③分组后系统空间复杂性为
l=k0(k2 ) * A + Σ ) * 化④
/=1①与②相比,③与④相比,显然分组后的复杂性要低很多。我们在overlay上 把节点根据兴趣,拓扑分布,以及参与应用节点数目等因素分为很多组。这样一方面 使得节点开销更小;另一方面使资源搜索更有效率,每组节点在组内就可以满足大部分 需求。当组内成员不能满足需求时,会考虑其他组的节点。系统内部有一台中心服务 器,这台服务器是绝对可靠的,每组会有一个管理者(Group Management Agent,简称为 GMA),管理本组其他节点,由中心服务器管理所有GMA。所有的GMA构成了一个新 的组,在这个新的组内可以仿效组内节点的信任值的算法继续进行信任值计算和更新。GMA在系统中起到重要的作用,作为每组的代理节点,要与其他组的GMA进行信任值交流。一旦GMA是恶意节点,或与一些节点协同作弊会比普通节点对系统造成 大的多的影响。因此GMA应由本组内所有成员联名投票产生,此外还需要定期重选。可 采用如下机制对于组Gm中的成员i,它会对本组内的其余各个节点计算出其可信度, 从中选出最大值,将此节点作为推荐GMA的候选者,然后,用自己的私钥进行签名,生 成一项投票发送到中心服务器。在中心服务器处保存一个数据库,用于记录每个组内的 每个用户的投票及被投票数,在一轮投票完毕后,会选出各个组内得票最多的那个成员 作为该组内的GMA,并发送用自己的私钥进行签名的“委任状”。新的GMA—被选 出,就会将从中心服务器处得到的“委任状”发送给 本组内所有成员,宣布其上任。如 果在职期间发现GMA信任值下降或有恶意行为,一些节点会向中心服务器要求发起重选 GMA的活动,并选出自己认为当前更适合成为本组GMA的节点,并将新的投票更新至 中心服务器。这时中心服务器会将原先GMA的票数相应减少,同时会将新被投节点的票 数增加。当中心服务器发现某组内当前GMA少于或另一节点的票数达到一定的阀值, 则会启动GMA更迭过程,发送新的GMA任命状至新的GMA以及旧的GMA,并由新的 GMA转发到组内所有节点。整个overlay中所有有关GMA的管理,都由中心服务器统 一负责。当然,GMA也对组内成员提供了相应服务,可以享受相应的奖励政策,如更高 的信任值及享受服务机率等。三、whitewashing 防御由以上对全局模型的表述可知,协议同其它全局信任模型类似,在设计时着重 考虑了协同作弊免疫力。因此当协议运作一段时间后,可以很快的将恶意节点,协同作 弊团体以及Free Rider节点从网络中隔离。但大多数全局信任模型忽视了以下攻击形式 当一个恶意节点感知到自己已经遭遇信任危机时,它可重新注册一个新的ID,以一个新 的身份加入到此P2P网络中,从而享受到与普通新加入节点相同的待遇。在普通信任模 型中,对新节点都采取鼓励机制,给予较多的享受服务的权力。显然,只依赖全局信任 模型抵制white washing显得过于保守,其网络收敛速度也不能让人满意。为了抵御white washing攻击,我们引入双重机制1,通过恶意节点及文件数据 库过滤,2,对新节点的惩罚机制。模型在中心服务器处维护一恶意节点数据库,其中存储恶意节点的相关信息, 如IP地址ID号等。关于恶意节点的报告工作应由GMA定期完成。但完全基于节点的 信息会使协议可操作性不大,恶意节点重新注册进入时,很可能更换ID及伪造IP地址, 而处于同一 NAT地址保护下的多台主机也会有相同的IP地址信息。因此模型中也同时 维护恶意文件数据库,其中存储有恶意文件的大小、名称以及检验值(如CRC)等信息。 此信息亦可由GMA代理定期从网络中各善意节点处收集。当新节点注册加入时,网络 向其要求可共享文件的基本信息列表,并与病毒数据库中列表项进行匹配,若发现文件 列表中可疑文件数达到一定比例,则拒绝其加入。对于所有成功注册进入的节点,网络会依据各节点的新老程度区分对待。对 于有相同最终信任评价的节点,其存在于网络的时间越短,则其享受到服务的可能性越 小,而其对外提供服务的可能性越高。若为善意节点,因为会高频度地向外提供好的 服务及正确的信任推荐,其信任等级很快得到提高,进而也以更高的比例成功享受到服 务;而企图white washing的恶意节点虽然能通过伪造IP地址,伪造共享文件列表等方式成功注册进入网络,则会因为高频度地向外提供恶意服务或恶意推荐,很快被信任模型 孤立。Free Rider亦是如此。不同于一般信任模型,本模型中新注册节点享受服务受限,这种措施实际上是 对新节点的一种惩罚。这种惩罚机制的合理性证明如下设系统的服务等级 为x(即系统中善意节点比例)反映整个系统服务状态,用户 可以获得的服务利益(其中α >0,0< β <1为系统常数),R为节点提供服务的开 销,Q为即接受的服务,实际收益为Q-R。对于恶意节点的惩罚因子ρ< 1,则 Wgood =cap-X + (1 — _Ρ) ’ Wbad =
α X0-P α xe分别为单个善意节点和恶意节点实际获得的利益。在动态平衡情况下,设新 加入和退出系统节点比例都是d,可以得到以下结果1.静态状态下,实际利益为W1 = X^Wgood2.不惩罚所有新节点,实际利益为=+ +3.惩罚所有新节点,实际利益为Wi =
χ*(}-d)x+d4cocp (\-ρ)~+
JC显然Wi>W2>W3,可以看出对恶意节点的惩罚是有利的,如果考虑到新加入 节点中恶意节点所占比例可能更大,更应该对新节点进行惩罚。因为系统无法区分出新 节点的性质,所以必须对所有新节点进行一定的惩罚。而这样做,对新加入的善意节点 有失公平,因此鼓励新节点通过为别的节点提供善意服务迅速提高信任等级,而新加入 的恶意节点会因恶意服务更快地降低等级从而被屏蔽掉。具体实现如下Token; = {Timestampregister, NodeIDi, NodeIDserver)-Kprivate (server)其中Token1为节点i注册时所获时间令牌,Timestampregisto是节点的注册时间戳, NodeIDserver是注册服务器的节点ID,NodeIDnew为新注册节点ID。注册服务器通过自己 的私钥对新节点的时间戳加密进行身份证明。基于以上概念,对于每个节点的信任评价会有以下三种形式trustfinal = α *DT+(l_a )*RT [4]trustrequest = trustfinal* Y ^ β * [5](Timestamp-Timestampbase) * (1- Y j)trustserve = trustfinal* Y 2_ β * [6](Timestamp-Timestampbase) * (1- Y 2)其中trastfinal为节点根据全局信任模型计算出的信任评价,而taistrequest及^istserve 分别为节点需请求服务或提供服务时对端节点的信任评价。DT和RT分别表示对某节点 的直接评价和推荐评价;α,β,Y1, Y2分别为权值,其中Y1会比较低,Y2会比较 高,其意义在于表示对新节点享受服务的权利进行限制,即对新节点进行惩罚,但优先 让其为别的节点服务;Timestampbase是时间戳的基准值。
从 以上各式可知,当节点i向网络请求服务时,对于网络返回的候选节点列表 中,i首先计算各节点的trastfi-,并验证时间令牌,然后计算各trust—,选择合适的节 点请求服务。显然注册时间越晚的节点其提供服务的可能性越高;当节点i收到节点j发 起的服务请求时,其会计算对j的tru^m,若节点j注册时间越晚,则信任值越低,享受 到服务的可能性越小。以上两种机制积极主动,在恶意节点或Free Rider刚注册尚未进入网络时就尝试 加以屏蔽,在其成功注册后逼迫其在很短时间内暴露恶意行为并加以屏蔽,所以算法收 敛性会很高。尽管恶意节点在成功地重新注册后能通过提供好的服务累积信任值,而全 局信任模型本身的恶意节点免疫力能保证其在暴露恶意行为后很快被孤立。因此这一机 制与全局信任模型相互协作,能对协同作弊,Free Riding及whitewashing提供全方位的防 御,使协议本身具有很高的可靠性。
权利要求
1.一种高防御力的P2P文件共享系统,其特征在于,包括(1)系统结构将整个系统抽象成一张信任评价有向图,节点间的信任评价可看作有向图中的边, 权值代表信任评价值,将对节点的信任度评价的计算建模成最短路径的选择,将信任推 荐路径的选择抽象为路由算法;每个节点存储其余节点的信任评价信息;(2)信任评价运作机制系统通过信任评价运作机制对各节点的信任值进行计算以及更新;(3)分组机制系统通过分组机制对节点进行分组管理,以节省系统资源;(4)对恶意节点或自私节点信任值很低企图通过重新注册时(whitewashing)的防御机制系统通过white washing防御机制来抵御white washing攻击,所述的white washing防御机制包括(41)建立恶意节点数据库以及恶意文件数据库,通过上述两个数据库对新加入节点 进行过滤;(42)对新节点的惩罚机制。
2.根据权利要求1所述的一种高防御力的P2P文件共享系统,其特征在于,所述的信 任评价运作机制包括信任值的计算以及时槽化的信任值更新。
3.根据权利要求2所述的一种高防御力的P2P文件共享系统,其特征在于,所述的信 任值的计算包括以下步骤(31)节点的推荐信任值计算以推荐可信度进行加权 KYmkj <= KYmkj * RCmk ;(32)去头去尾对推荐信任值的前δ个最大值及最小值都加权考虑或置成0,即慎重考虑这些比较 极端的推荐,或者干脆删除;(33)采用迪杰斯特拉Dijkstra算法,计算出节点m到组内其它所有节点的最短路径SRVm = {SRmj}.(34)将SRV与DTV以λ进行取舍,得到最终信任值(FTV) FT^DT^/A+SRm/O-X)。
4.根据权利要求2所述的一种高防御力的P2P文件共享系统,其特征在于,所述的时 槽化的信任值更新包括以下步骤设定一个时槽;将一个时槽内所有需要更新的信任值先暂存起来,等到时槽结束后,算出平均值再 更新。(42)信任值的更新采用慢增快减的方式,使得节点的信任等级积累到一定程度后增 加会更加困难,而一旦从事恶意行动,信任等级则迅速降低。
5.根据权利要求3或4所述的一种高防御力的P2P文件共享系统,其特征在于,所述 的分组机制包括根据兴趣、拓扑分布以及参与应用节点数目将节点分为多个组;为每个组设置一个管理节点GMA,用于管理本组其他节点,并设置一个中心服务 器,用于管理所有的管理节点GMA,所有的管理节点GMA构成了一个新的组,该组通 过信任评价运作机制对其内各节点的信任值进行计算以及更新;管理节点GMA由本组内所有成员联名投票产生并进行定期重选。
6.根据权利要求5所述的一种高防御力的P2P文件共享系统,其特征在于,所述的管 理节点GMA由本组内所有成员联名投票产生并进行定期重选包括组中的节点会对本组内的其余各个节点计算出其可信度,从中选出最大值,将此节 点作为推荐管理节点GMA的候选者,然后,用自己的私钥进行签名,生成一项投票发送 到中心服务器;在中心服务器处保存一个数据库,用于记录每个组内的每个用户的投票及被投票 数,在一轮投票完毕后,会选出各个组内得票最多的那个成员作为该组内的GMA,并发 送用自己的私钥进行签名的任命状;新的管理节点GMA—被选出,就会将从中心服务器处得到的任命状发送给本组内所 有成员;如果在职期间发现该管理节点GMA信任值下降或有恶意行为,其余节点会向 中心服务器要求发起重选GMA的活动,并选出自己认为当前更适合成为本组GMA的节 点,并将新的投票更新至中心服务器,这时中心服务器会将原先管理节点GMA的票数相 应减少,同时会将新被投节点的票数增加,当中心服务器发现某组内当前管理节点GMA 少于或另一节点的票数达到一定的阀值,则会启动GMA更迭过程,发送新的GMA任命 状至新的管理节点GMA以及旧的管理节点GMA,并由新的管理节点GMA转发到组内所 有节点。
7.根据权利要求1或6所述的一种高防御力的P2P文件共享系统,其特征在于,所述 的恶意节点数据库内存储有恶意节点的相关信息,该恶意节点的相关信息包括节点IP地 址、节点ID号。
8.根据权利要求7所述的一种高防御力的P2P文件共享系统,其特征在于,所述的恶 意文件数据库内存储有恶意文件的相关信息,该恶意文件的相关信息包括大小、名称以 及检验值。
9.根据权利要求1或8所述的一种高防御力的P2P文件共享系统,其特征在于,所述 的对新节点的惩罚机制为当节点相网络请求服务时,对于网络返回的候选节点列表中, 该节点首先计算各节点的最终信任评价truStfinal,并验证时间令牌,然后计算各请求信任 评价trastrequ6St,选择合适的节点请求服务。
全文摘要
一种高防御力的P2P文件共享系统,包括将整个系统抽象成一张信任评价有向图,节点间的信任评价可看作有向图中的边,权值代表信任评价值;每个节点存储其余节点的信任评价信息;系统通过信任评价运作机制对各节点的信任值进行计算以及更新;系统通过分组机制对节点进行分组管理,以节省系统资源;系统通过white washing防御机制来抵御white washing攻击,所述的white washing防御机制包括建立恶意节点数据库以及恶意文件数据库,通过上述两个数据库对新加入节点进行过滤;对新节点的惩罚机制。本发明具有良好的运作机制,对协同作弊,free riding都有较高的防御力,最重要的特点在于采取了双重防御的机制,对white washing有很高的防御力。
文档编号G06F17/30GK102023999SQ20091019546
公开日2011年4月20日 申请日期2009年9月10日 优先权日2009年9月10日
发明者胡文心, 蔡建华, 郑骏 申请人:华东师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1