对等网络中基于二元意见的局部信任模型的建立方法

文档序号:7612488阅读:137来源:国知局
专利名称:对等网络中基于二元意见的局部信任模型的建立方法
技术领域
对等网络中基于二元意见的局部信任模型的建立方法属于对等网络的信任模型技术领域。
背景技术
对等网络是一种点对点的分布式网络系统。在这样的系统中,交易(如资源共享)在对等节点之间直接进行,打破了传统的客户/服务器模式,具有低成本、可扩展、灵活方便等特点。然而,对等网络中节点加入退出的自由性、节点标识的匿名性和易获得性以及统一管理的缺乏使得整个系统的可信度大大降低,造就了大批只索取资源、不贡献资源的自私节点,甚至出现了以攻击对等网络为目的的恶意节点,制约了对等网络的正常发展。信任模型的建立旨在构建对等节点之间的信任机制,孤立自私节点和恶意节点,提高整个系统的可信度。
恶意节点的攻击方式通常有三种单一攻击(一个恶意节点攻击)、联合攻击(一群恶意节点相互勾结进行攻击)和间谍攻击(通过正常交易提高自身的信任值,并以自己的高信任值来提升其它恶意节点的信任值)。全局信任模型(即节点的信任值全网统一)由于攻击目标确定,较难抵御间谍攻击和大规模的联合攻击。局部信任模型(即信任关系只建立在各个节点之间,没有全网统一的信任值)由于没有明确的攻击目标,在抵御联合攻击和间谍攻击时具有更大的潜力。
目前已知的对等网络信任模型尽管采用了各种复杂的信任值计算方法,但在节点标识匿名的环境下通常都很难抵御间谍攻击和大规模的联合攻击。而本发明采用了局部信任模型,通过分散攻击目标能够抵御大规模的联合攻击,并且通过意见链的推导能够发现并抑制间谍攻击。

发明内容
本发明的目的在于提供一种能够抵抗联合攻击和间谍攻击的对等网络信任模型的建立方法。
本发明的特征在于,所述的方法是在由对等节点构成的对等网络中进行的,依次含有以下步骤步骤1初始化;首先,定义以下局部信任模型的参量原始意见,即一个节点通过自己的经历和判断得出的对另一个节点的意见,即局部信任状态,节点a对节点b的原始意见有以下三种信任,记为a→b;不信任,记为 未定义,节点a对节点b没有明确的原始意见;另外约定原始意见的初始值均为未定义;
导出意见,即一个节点通过咨询别人的意见而推导出的对某一节点的意见,也分为所述的信任、不信任和未定义三种;所述导出意见具有一定的阶数,原始意见被称为一阶意见,根据朋友意见推导出的意见即所述朋友在通过咨询别人的意见而推导出的对某一节点的意见为二阶意见,以此类推;意见链,为一组无重复的节点序列,所述意见链中每一个节点对其后相邻的节点存在是否信任的关系,根据最后两个节点之间的关系,把所述意见链分为信任链和不信任链两种;一条长度为n的信任链记为C(a→…→xn-1→b,length=n)a→x1→x2→…→xn-1→b一条长度为n的不信任链记为 即在不信任链中最后两个节点之间出现不信任关系;意见链中除最后两个节点之间外的其它相邻节点之间不能出现不信任关系;所述n为意见链中所包含的意见个数;最大推导半径,指意见推导的意见链允许出现的最大长度,记为Rmax;步骤2.建立原始信任关系,即确定节点a的原始信任节点,即当节点a通过与节点b的多次交易形成了对节点b的信任,则节点a就把节点b标记为自己的原始信任节点,即朋友;步骤3.意见推导,即当节点a需要获得节点b的可信任程度时,采用下述步骤推导节点a对节点b的意见步骤3.1.判断节点a是否存在对节点b的原始意见;若存在原始意见,则推导结果与原始意见值相等,意见推导结束;否则,进入下一步;步骤3.2.初始化推导半径R=2,即节点a待收集的意见链长度为2;步骤3.3.节点a对自己的朋友广播对节点b的查询请求,该请求的TTL(生存时间,即分组在传输过程中所能经过的最大跳数)初始化值为R-1;步骤3.4.查询请求的执行过程的递归描述如下当节点xi收到对节点b的查询请求a→…→xi-1时,采用如下步骤执行该查询请求步骤3.4.1.节点xi判断自己是否存在对节点b的原始意见xi…b;若存在,生成查询应答a→…→xi-1→xi…b并返回给节点xi-1,执行结束;若不存在,进入下一步;步骤3.4.2.节点xi搜索缓存中是否存在对节点b的意见链xi→…b;若存在,执行步骤3.4.3;否则,执行步骤3.4.4;步骤3.4.3.节点xi判断意见链xi→…b的长度是否等于该查询请求的TTL;若是,则生成包含该意见链的查询应答a→…→xi-1→xi→…b并返回给节点xi-1,执行结束;若否,执行结束;步骤3.4.4.节点xi把查询请求的TTL减1;若TTL减1后,TTL=0,执行结束;否则,进入下一步;步骤3.4.5.节点xi向每一个非x1~xi-1节点的朋友发送节点xi对节点b的查询请求a→…→xi-1→xi,执行结束;步骤3.5.查询应答的执行过程的递归描述如下
当节点xi收到查询应答(长度为n的意见链)a→…→xi-1→xi→…→xn-1…b时,采用如下步骤执行00该查询应答步骤3.5.1.若xi=a,执行结束;否则进入下一步;步骤3.5.2.若节点xi+1,xi+2,…,xn-1中存在原始不信任节点,执行结束;否则进入下一步;步骤3.5.3.节点xi把查询应答转发给节点xi-1;步骤3.5.4.节点xi删除缓存中对节点b的意见链,并将意见链xi→…b加入缓存;执行结束;步骤3.6.若节点a收到了一条或多条长度为R的意见链,判断这些意见链中是否存在不信任链步骤3.6.1.若存在不信任链,则推导结果为R阶不信任,意见推导结束;若不存在不信任链,即全部为信任链,则推导结果为R阶信任,意见推导结束;若节点a没有受到任何长度为R的意见链,则进入下一步;步骤3.6.2.若推导半径R等于最大推导半径Rmax,则推导结果为未定义,意见推导结束;否则,进入下一步;步骤3.6.3.推导半径R增加1,返回步骤3.3;步骤4.若节点a通过与节点b的交易发现对方不可靠时,采用如下步骤对节点b进行惩罚步骤4.1.若节点a先前对节点b进行过意见推导,则读取最后一次推导中得到的所有信任链,把信任链中的除了自己和自己朋友(即原始信任节点)外的所有其它节点标记为原始不信任节点;步骤4.2.若节点a先前没有对节点b进行过意见推导,则只把节点b标记为原始不信任节点;步骤5.若要求信任模型具有防止节点冒名和意见篡改的功能,则需要把所有在对等网络中传播的意见链全部升级为签名意见链,即在每一条意见链中加入签名信息;所述签名意见链记为S(C(x0→x1→x2→···→xn-1···xn,length=n))]]>=C(x0→x1→x2→···→xn-1···xn,length=n)]]>+Sx0(x0→x1)+Sx1(x1→x2)+···+Sxn-1(xn-1···xn)]]>其中,每一个意见关系xi→xi+1及其过期时间(精确到秒的通用协调时间,过期的意见关系及包含该意见关系的所有意见链都将被删除)由节点xi签名,记为Sxi(xi→xi+1)。
本发明所提出的对等网络中基于二元意见的局部信任模型的建立方法,使每个节点能够根据自己及自己信任节点的意见推导出对其它节点的局部意见,即使恶意节点对某一部分节点进行了成功的攻击,也不会像全局信任模型那样通过全局统一的信任值立刻影响到网络中的所有其它节点;节点惩罚机制使得推举恶意节点的节点也受到连带的惩罚,从而有效地抵御间谍攻击。PC机(Pentium 42.0G,512MB内存)上的模拟实验表明,在绝大多数情况下,采用惩罚机制的局部信任模型能使交易成功率保持在90%以上。


图1.建立二元意见的局部信任模型的流程图;图2.意见推导的流程;图3.执行查询请求的流程图;图4.执行查询应答的流程图图5.对等网络信任模型示例图6.交易成功率随时间的变化曲线;图7~图12.各种恶意节点和间谍节点比例下的交易成功率。
具体实施例方式
下面给出意见和意见链在计算机中的数值表示方法。在对等网络中,每个对等节点分配了一个全局唯一的节点标识(例如随机生成的公钥的安全哈希值)。意见和意见链中出现的节点均用该节点的标识表示。
节点a对节点b存在原始信任的数值表示为<1,a,b,ea→b>;节点a对节点b存在原始不信任的数值表示为 节点a对节点b不存在原始意见的数值表示为<0,a,b>;其中ea…b为意见a…b的过期时间,用精确到秒的通用协调时间表示。
一条长度为n的信任链a→x1→x2→…→xn-1→b的数值表示为⟨1,n,a,x1,ea→x1,x2,ex1→x2,···,b,exn-1→b⟩]]>一条长度为n的不信任链 的数值表示为 一条长度为n的签名信任链a→x1→x2→…→xn-1→b的数值表示为⟨1,n,a,x1,ea→x1,Sa→x1,x2,ex1→x2,Sx1→x2,···b,exn-1→b,Sxn-1→b⟩]]>一条长度为n的签名不信任链 的数值表示为 其中Sx→y是节点x对意见x→y,的签名,即对<1,x,y,ex→y>的签名 是节点x对意见 的签名,即对 的签名。
下面举例说明信任模型的建立过程。设对等网络中存在5个对等节点a,b,c,d,e,最大推导半径Rmax=4。经过一段时间的交易,形成了如图5(1)所示的原始信任关系。节点a打算和节点e进行交易。在交易之前,节点a对节点e进行意见推导。当推导半径R增加到3时,节点a获得了一条信任链a→c→d→e因此节点e为节点a的第三阶信任节点。然而,在交易过程中,节点a发现对方有明显的欺骗行为,交易失败。为了对其进行惩罚,节点a将信任链中的节点e和节点d都标记为原始不信任节点。此时,对等网络中的原始信任关系转变为图5(2)。下面考察其它节点对节点e和节点d意见的转变。对于节点f而言,节点e由先前的4阶信任转变为2阶不信任,节点d由先前的3阶信任转变为2阶不信任。对于节点c而言,节点e由先前的2阶信任转变为2阶不信任,节点d仍为1阶信任。
下面举例说明查询请求是如何被对等节点执行的。以图5(1)为例,节点a向自己的朋友广播TTL=2的对节点办的查询请求;节点c收到节点a的查询请求,但自己对节点b没有原始意见,因此节点c将查询请求的TTL减1,转发给节点d;节点d收到查询请求后,将自己对节点e的信任意见放入查询应答,回复给节点c,节点c再回复给节点a,这样节点a就收到一条长度为3的信任链。
每个节点在收到完整或不完整的信任链时,都应当将其缓存起来,以降低网络负载。例如在上一个例子的查询过程中,节点c缓存了意见链c→d→e节点口缓存了意见链a→c→d→e下一次,当节点f向节点口发送TTL=3的查询请求时,节点a可直接将缓存的意见链返回给节点f。需要注意的是,每一条缓存的意见链都存在一个超时时间,超时后直接从缓存中删除,以避免数据过于陈旧。
下面举例说明签名意见链。以图5(1)为例,意见链a→c→d→e对应的签名意见链是a→c→d→e+Sa(a→c)+Sc(c→d)+Sd(d→e)下面分析信任模型的性能。设对等网络中每个节点的朋友个数(即原始信任节点个数)的均值为F,最大推导半径为Rmax。性能分析如下(1)安全性和鲁棒性。本模型不需要引入服务器,避免了单一节点失效的问题。由于模型中没有服务器和代理节点,每个节点计算的意见值都具有局部特性,因此恶意节点对信任模型的攻击很难对大范围区域产生影响。基于意见链的节点惩罚机制可以有效地抵御间谍攻击,这在其它信任模型中是很难做到的。
(2)意见推导时间。在最坏情况下,源节点需要广播Rmax-1次查询请求(广播半径依次为l,2,…,Rmax-1),每次查询请求的应答时间与推导半径(减1)成正比,故一次意见推导在最坏情况下所需要的推导时间为o(Rmax2)。由于Rmax为常数,意见推导时间与网络规模和节点平均朋友个数无关。
(3)网络负载。在最坏情况下,一次意见推导带来的网络负载为 比全局信任模型中查询带来的网络负载要大得多。然而,全局信任模型需要实时地进行意见更新计算,尤其对于分布式信任模型而言,所有节点都在周期性交互意见信息,网络负载具有很强的时间和空间的覆盖性。而本模型只在需要获得意见时才进行计算,网络负载也仅限于互相信任的节点区域,不会轻易扩散到整个网络。本模型不需要将意见信息存储在代理节点上,因此节点的加入和退出带来的网络负载也很小。另外,意见链缓存可以在很大程度上减少网络负载。
(4)另外,由于本发明采用的是局部信任模型,因此不存在初始迭代问题,也不要求对等网络支持分布式哈希。
为了考察本发明的运行效果,在PC机(Pentium 42.0G,512MB内存)上进行模拟实验。实验参数如下(1)对等网络含250个节点,任两个对等节点之间可以直接进行交易。
(2)对等网络中的节点分为正常节点、恶意节点和间谍节点三类,所有恶意节点和间谍节点相互勾结并信任对方。
(3)最大推导半径Rmax=3。
(4)每个单位时间内进行2500次交易(平均每个节点交易10次),交易是否实施取决于意见推导结果若推导结果为信任(不信任),则进行(放弃)交易;若推导结果为未定义,则进行交易的可能性为25%。被放弃的交易不计入2500次交易中。
(5)每个单位时间内有5%的节点退出对等网络,并有同样数量的新节点加入。每次退出加入时节点数量和各类节点的比例保持恒定。
(6)交易成功率只针对由正常节点发起的交易来计算,不针对由恶意节点和间谍节点发起的交易。
实验结果如下(1)图6考察了每个单位时间内的交易成功率随时间的变化(对等网络中存在60%的恶意节点和20%的间谍节点)。由图中可以看到,尽管对等网络有5%的动态特性,采用惩罚机制的局部信任模型能使交易成功率保持在90%以上。
(2)图7至图12考察了在各种恶意节点和间谍节点比例下的交易成功率。这里的交易成功率为20个连续单位时间内交易成功率的平均值。由图中可以看到,当存在间谍节点时,惩罚机制能有效地提高交易成功率。在绝大多数情况下,采用惩罚机制的局部信任模型能使交易成功率保持在90%以上。
由此可见,本发明达到了预期目的。
权利要求
1.对等网络中基于二元意见的局部信任模型的建立方法,其特征在于,所述的方法是在由对等节点构成的对等网络中进行的,依次含有以下步骤步骤1初始化;首先,定义以下局部信任模型的参量原始意见,即一个节点通过自己的经历和判断得出的对另一个节点的意见,即局部信任状态,节点a对节点b的原始意见有以下三种信任,记为a→b不信任,记为 未定义,节点a对节点b没有明确的原始意见;另外约定原始意见的初始值均为未定义;导出意见,即一个节点通过咨询别人的意见而推导出的对某一节点的意见,也分为所述的信任、不信任和未定义三种;所述导出意见具有一定的阶数,原始意见被称为一阶意见,根据朋友意见推导出的意见即所述朋友在通过咨询别人的意见而推导出的对某一节点的意见为二阶意见,以此类推;意见链,为一组无重复的节点序列,所述意见链中每一个节点对其后相邻的节点存在是否信任的关系,根据最后两个节点之间的关系,把所述意见链分为信任链和不信任链两种;一条长度为n的信任链记为C(a→…→xn-1→b,length=n):a→x1→x2→…→xn-1→b一条长度为n的不信任链记为 即在不信任链中最后两个节点之间出现不信任关系;意见链中除最后两个节点之间外的其它相邻节点之间不能出现不信任关系;所述n为意见链中所包含的意见个数;最大推导半径,指意见推导的意见链允许出现的最大长度,记为Rmax;步骤2.建立原始信任关系,即确定节点a的原始信任节点,即当节点a通过与节点b的多次交易形成了对节点b的信任,则节点a就把节点b标记为自己的原始信任节点,即朋友;步骤3.意见推导,即当节点a需要获得节点b的可信任程度时,采用下述步骤推导节点a对节点b的意见步骤3.1.判断节点a是否存在对节点b的原始意见;若存在原始意见,则推导结果与原始意见值相等,意见推导结束;否则,进入下一步;步骤3.2.初始化推导半径R=2,即节点a待收集的意见链长度为2;步骤3.3.节点a对自己的朋友广播对节点b的查询请求,该请求的TTL(生存时间,即分组在传输过程中所能经过的最大跳数)初始化值为R-1;步骤3.4.查询请求的执行过程的递归描述如下当节点xi收到对节点b的查询请求a→…→xi-1时,采用如下步骤执行该查询请求步骤3.4.1.节点xi判断自己是否存在对节点b的原始意见xi…b;若存在,生成查询应答a→…→xi-1→xi…b并返回给节点xi-1,执行结束;若不存在,进入下一步;步骤3.4.2.节点xi搜索缓存中是否存在对节点b的意见链xi→…b;若存在,执行步骤3.4.3;否则,执行步骤3.4.4;步骤3.4.3.节点xi判断意见链xi→…b的长度是否等于该查询请求的TTL;若是,则生成包含该意见链的查询应答a→…→xi-1→xi→…b并返回给节点xi-1,执行结束;若否,执行结束;步骤3.4.4.节点xi把查询请求的TTL减1;若TTL减1后,TTL=0,执行结束;否则,进入下一步;步骤3.4.5.节点xi向每一个非x1~xi-1节点的朋友发送节点xi对节点b的查询请求a→…→xi-1→xi,执行结束;步骤3.5.查询应答的执行过程的递归描述如下当节点xi收到查询应答(长度为n的意见链)a→…→xi-1→xi→…→xn-1…b时,采用如下步骤执行该查询应答步骤3.5.1.若xi=a,执行结束;否则进入下一步;步骤3.5.2.若节点xi+1,xi+2,…,xn-1中存在原始不信任节点,执行结束;否则进入下一步;步骤3.5.3.节点xi把查询应答转发给节点xi-1;步骤3.5.4.节点xi删除缓存中对节点b的意见链,并将意见链xi→…b加入缓存;执行结束;步骤3.6.若节点a收到了一条或多条长度为R的意见链,判断这些意见链中是否存在不信任链步骤3.6.1.若存在不信任链,则推导结果为R阶不信任,意见推导结束;若不存在不信任链,即全部为信任链,则推导结果为R阶信任,意见推导结束;若节点a没有受到任何长度为R的意见链,则进入下一步;步骤3.6.2.若推导半径R等于最大推导半径Rmax,则推导结果为未定义,意见推导结束;否则,进入下一步;步骤3.6.3.推导半径R增加1,返回步骤3.3;步骤4.若节点a通过与节点b的交易发现对方不可靠时,采用如下步骤对节点b进行惩罚步骤4.1.若节点a先前对节点b进行过意见推导,则读取最后一次推导中得到的所有信任链,把信任链中的除了自己和自己朋友(即原始信任节点)外的所有其它节点标记为原始不信任节点;步骤4.2.若节点a先前没有对节点b进行过意见推导,则只把节点b标记为原始不信任节点;步骤5.若要求信任模型具有防止节点冒名和意见篡改的功能,则需要把所有在对等网络中传播的意见链全部升级为签名意见链,即在每一条意见链中加入签名信息;所述签名意见链记为S(C(x0→x1→x2→···→xn-1···xn,length=n))]]>=C(x0→x1→x2→···→xn-1···xn,length=n)]]>+Sx0(x0→x1)+Sx1(x1→x2)+···+Sxn-1(xn-1···xn)]]>其中,每一个意见关系xi→xi+1及其过期时间(精确到秒的通用协调时间,过期的意见关系及包含该意见关系的所有意见链都将被删除)由节点xi签名,记为Sxi(xi→xi+1)。
全文摘要
对等网络中基于二元意见的局部信任模型的建立方法,属于对等网络的信任模型技术领域,其特征在于它使每个节点能够根据自己及自己信任节点的意见推导出对其它节点的局部意见,而节点惩罚机制使得推举恶意节点的节点也受到连带的惩罚,从而有效地抵御间谍攻击;即使恶意节点对某一部分节点进行了成功的攻击,也不会像全局信任模型那样通过全局统一的意见值立刻影响到网络中的所有其它节点;模拟试验表明,在绝大多数情况下,采用惩罚机制的局部信任模型能使交易成功率保持在90%以上。
文档编号H04L29/06GK1703045SQ20051001190
公开日2005年11月30日 申请日期2005年6月9日 优先权日2005年6月9日
发明者徐恪, 江帆, 崔勇 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1