基于信任域的移动ad hoc网络信任模型研究

时间:2022-10-13 10:27:59

基于信任域的移动ad hoc网络信任模型研究

摘要:详细阐述了基于信任域的信任模型策略分析、模型的基本设计思想、模型中的数据结构,探讨了保障簇安全性的措施,研究了计算机信任值及修正信任值的方法。

关键词:信任域;ad hoc;模型

中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)31-pppp-0c

On Study of Dynamic ad hoc Network Trust Model Based on Trust Domain

ZUO Wei-zhi1,2, ZENG Fan-zi1

(1.School of Computer and Communication HNU, Changsha 410082, China; 2.Hengyang Finance Economics and Industry Vocational College, Hengyang 421001, China)

Abstract: The basic having set forth the analysis, model confiding in model tactics owing to confiding in a region's detailedly designs data structure in thought , model, method having discussed the measure ensuring a cluster acting for security , having studied the computer confides in value and the value amending trust.

Key words: confide in the region; ad hoc; model

1 基于信任域的信任模型策略分析

基于信任域的移动ad hoc网络信任模型的设计思想是:利用移动ad hoc网络的分级结构,将网络划分为若干自治簇,将网络中的节点之间的信任关系分为簇内的信任关系和簇间的信任关系,对于这两种不同的信任关系分别设置不同的策略,此类信任模型通常采用以下策略来实现:

1) 簇内信任关系:任意节点维护两张表:直接信任表和推荐信任表。

假设A、B两节点在同一个簇内,如果A节点需要和B节点发生交易,则需要观察B节点的信任值。

2) 簇间信任关系:簇间关系的计算比较复杂,为了计算的方便,为每个簇设置信任,根据簇的分级结构,将簇头设置为信任,称为簇,它维护两张表:簇间信任关系表和本簇节点权值表。簇间信任关系表:存储与本簇发生过直接交易的簇的整体信任值。若簇A中的节点A1需要与簇B中的节点B1发生交易,需要得到B1的信任值。

2 模型的基本设计思想

通过对现有基于信任域的信任模型进行分析,针对其存在的缺陷,本文提出以下改进方法:

1) 分层的思想。在信任关系上引入分层的思想符合人类社的现实情况,相关研究表明分层思想的引入还能降低信任问题的复杂度[1-3]。由于各个簇都有各自不同的安全策略,簇内的信任管理相对容易,但是,各个簇之间由于安全策略不同,很难建立一种通用的安全策略。针对这个特点,本文提出在分层的基础上建立基于信任簇的信任管理模型,在不同的簇之间建立安全信任关系。将采取相同或者相似管理策略的节点归类到同一个簇中,根据管理策略重新对簇进行划分,建立能够有效沟通的簇与簇的信任关系,从而有效的节省网络资源,提高网络使用效率。

模型分为上下两层,上层负责建立簇之间的推荐信任关系,并根据需要进行修改,移动ad hoc网络中的各个节点在发生交易之前根据簇间推荐信任关系和簇内各节点的信任值确定交易是否发生;下层负责对簇内的节点进行行为的监控和评估,对每一个节点赋予信任值,并把该值向其他的簇进行声明。

簇内信任关系的管理是采用集中的方式进行,目的是对簇中的节点信任值进行管理和维护。在每个簇内将簇头设置为管理者,称为簇,它为簇内的节点维护一张节点信任表,表中包含每个节点的信任值。当簇内增加一个新节点时,新节点通过簇获取一个初始的信任值,然后根据节点在网络中的表现进行相应的调整。

本论文用fA-Ai表示簇A给出的节点Ai的信任值。如果一个节点在与其它节点发生交易的行为中失败的几率很高,它将获得较低的信任值,同时它与其他节点的协作将受到限制。同理,如果一个簇的簇错误的或者不能较为准确的提供簇内节点的信任值,这个簇在整个移动ad hoc网络中将获得较低的推荐系数。

在簇间信任关系的管理中,各个簇之间需要建立推荐信任关系。移动ad hoc网络中的各个簇,如果需要与其它簇发生交易,必须要有初始的推荐信任值。例如:簇A的节点需要与簇B的节点发生交易,簇A可以选择曾经与它发生过交易的一个或多个簇作为“推荐人”,相应的簇A也必须为其他的簇提供信任推荐服务。初始的推荐信任值通常并不能真正反映簇之间的推荐信任关系,一般是根据簇与其“推荐人”的熟悉程度,由各个簇自行设定,取值范围为[0,1],这个初始值表示簇A在多大程度上信任簇B的推荐信息[4-5]。该信任值可以根据簇A、B中节点的实际交易情况进行调整,最终可以获得能准确反映簇之间信任关系的信任值。

2) 移动ad hoc网络环境中各个簇内节点之间具备自主交易的能力。例如,同一个簇内的节点A1,若A1需要获得某资源,它可以查找A1上直接信任表,得到簇内曾经与A1发生过直接交易的节点列表,并选择信任值高的节点,根据节点的ID号与节点发生交易。这个过程不需要依赖簇,可以在簇内部的两节点之间自主进行,从而减少簇的工作量,提高网络的吞吐率和工作效率。

3) 簇作为管理者维护各个节点的信任值。由于各节点退出信任域后,节点上维护的信任表立即消失,因此,为了降低节点退出后,信任值消失,对系统的整体信任造成的巨大影响,降低节点的负担,降低网络的阻塞,在本模型中,各个节点的信任值不仅仅由自身来维护而且是簇中也同时对节点的信任值进行维护,因此,节点的加入和退出并不影响整个策的信任情况。

4) 由于移动ad hoc 网络动态性强,节点的移动对簇的影响较大,随着时间的推移,簇的成员将发生改变,同时将对簇的整体信任值以及簇内节点的信任值带来较大的影响,因此,有必要寻找合适的衰减函数,考虑时间因素对信任值的影响。

5) 节点之间发生交易后,交易的结果对信任值也是有影响的,通常交易成功次数多的节点信任值高,反之则低,因此需要考虑节点交易情况(成功或失败)对信任值的影响。

3 模型中的数据结构

1) 簇内节点保存节点信任关系表,该表中存储了本簇节点之间的交往信息与本簇节点与其他簇节点的交往信息,存储在节点的数据库中,如表1所示。

具体取值如表2所示。

其中x: 两节点交易成功次数;y:两节点交易失败次数;x+y:两节点交易的总次数;t:两节点最后一次成功交易的时间;rstv(Ai-Bi):两节点最后一次成功交易产生的信任值。

2) 簇节点保存节点信任关系表,该表中存储了本簇内所有节点的信任值和本簇对于其它簇的推荐信任值,存储在簇的数据库中,如表3所示。

具体取值如表4所示。

其中,fA-Ai表示簇A对簇内节点的Ai信任值;rtv(A-B)表示簇A对邻居簇B的推荐信任值。

3) 节点之间交易的对象对应有相应的资源,例如:办公文件、程序、视频文件等,因此,簇内还需要保存各节点能提供的资源类型。在节点请求资源时,簇可根据簇内各个节点拥有的资源类型来选择合适的节点进行交易。此外,备注信息用来保存节点的基本情况信息。

4 簇的安全性保障措施

在模型中,每个簇的簇头即为簇,因此,簇的安全性显得十分重要。簇不仅存储整个簇的节点信任值,还存储了曾经发生过交易的其它簇的推荐信任值,因此,一旦若簇被黑客攻击,信任关系表被恶意更改、销毁,那么整个簇就会瘫痪,而且将对其它簇的安全构成严重威胁。

为保证簇的安全性,本文提出两点措施对簇的安全性进行维护。

1) 在各簇内选择合适的节点对簇所存储的节点信任关系表创建副本,称为副本节点。该副本可作为簇丢失数据或被恶意更改后的备份。该副本节点必须在簇内有较高的信誉,信誉不仅仅体现在信任值的大小,还与该副本节点成功交易的次数和比例有关,因此,本文提出使用公式1对簇内的节点进行信誉评估。x、y:表示节点交易成功与失败的次数;rstvi:表示最后一次成功交易的信任值;m:表示与该节点发生过直接交易的节点数量。

通过计算,即可以得到信誉较高的节点,并进行副本的创建。

2) 设定更新时间。由于移动ad hoc网络动态性较强,因此,需要设置更新时间,实时的对簇以及节点上的信任关系表进行更新和维护。副本节点也同样根据该时间对副本进行更新。

3) 簇的更换。当簇出现异常情况无法正常工作时,例如:能量耗尽、受到攻击等,必须更换簇,新的簇可以从存储副本的节点上获得所需的簇内以及簇间的信任关系表,然后分别向簇内节点以及邻居的簇发送广播信息,告知自己的身份。

5 信任值的计算方法

5.1 簇内信任关系

簇内信任关系是指簇内节点之间的交易。

在新的信任模型中,采用的计算方法是:若A、B两节点均为簇内节点,A节点若需要与B节点发生交易关系,首先需要得到B节点对A节点的信任值(也就是A节点能多大程度的信任B节点)。A节点将首先查看A节点上的信任关系表,若两节点曾经发生过交易,则存在直接信息关系,从而得到B节点对A节点的信任值;若两节点未曾发生过交易,则将寻找与两节点发生过交易的其它节点作为推荐者,并选择信任值高的推荐者通过计算获得推荐信任值;若两节点既无直接关系也不存在间接关系,则认为它们之间的信任程度为0(即B节点对A节点的信任值为0),两节点不存在信任关系,无法进行交易。

5.2 簇间信任关系

簇间信任关系是指簇间节点之间的发生交易行为。两个簇之间的信任值的计算不同上一节中所描述的簇内信任值的计算方法,而是根据直接信任关系和其他簇的评估综合计算得出。

每个自治簇有一个簇,它负责维护两张表,分别是:

1) 域间信任关系表:包括与该簇发生过直接交易的簇信息;

2) 权值表:包括了该簇内所有节点的权值信息。

由于每个簇包含了多个节点,因此,簇间的节点之间的交易也会对簇间信任关系产生一定影响。

在移动ad hoc网络环境中,每个自治簇中都包含多个节点,簇内的节点根据其行为的合法性对该簇信任值的影响是不同的。交易合法并有较高信任值的节点的行为可以增加该簇的信任值,否则将降低该簇的信任值。因此,模型中引入了权值表,该表给簇内的每个节点赋一个权值,表示不同的节点对该簇信任值的影响因子。例如:新加入的节点将获得一个较低的的权值,在该节点与其它节点发生交易的过程中如果存在不诚信的行为,其权值将将会降低并对该簇的信任值产生负面影响。相反的,如果节点长期存在并行为合法,它对簇的信任值的贡献就更多,这类节点的权值就较高。

5.3 信任值的修正

在信任模型中,信任值计算的精确性是模型能正常发挥功能的关键因素,因此,应该充分考虑影响信任值的各个因素,并加以修正,通过上一章的分析可知,对影响信任值变化的因素主要包括:时间的衰减等因素,本模型将定义时间衰减函数,考虑时间的衰减对信任值的影响

时间衰减函数:由于移动ad hoc网络的动态变化具有瞬时性的特点,因此,必须考虑时间因素对信任值的影响,节点之间两次交易之间间隔的时间越长,那么上次成功交易后节点获得的信任值将会有较大的减少,仍然使用之前的信任值显然是不合理的。模型中设时间衰减函数为T(t),它的表达式为公式2:

公式中,At为节点之间两次交易的时间差,显然两次交易之间相隔的时间越长,T(t)的值越小。

5.4 信任的初始化

对于新加入簇的节点,簇对其赋初始的信任值,这个值必须满足两个原则:

1) 不能太低。如果初始值过低,那么该节点很难与簇内的其它节点发生交易,将造成资源的浪费。

2) 不能过高。如果该节点是恶意用户,那么过高的信任值将会对簇内的节点造成安全威胁。

模型中提出,初始值的赋予应根据该节点加入簇时为其提供推荐的节点的信任值来决定。

6 信任值的改变

6.1 节点信任值的改变

由于直接信任值可以反映节点之间信任的变化,如果节点之间成功进行交易,则直接信任值增加,反之,则直接信任值减少,因此,节点之间的信任值的变化可以用直接信任值来更新。

6.2 簇间信任值的改变

簇间的信任值的变化是与簇内节点之间的交易情况相关的,如果簇之间的节点交易成功,则参与推荐的簇间信任值也增加,反之,则减少。可以根据节点Ai与节点Bj交易成功的次数来计算簇间信任值的变更情况。

其中O表示变化系数,取值范围是(0,1),S表示变化前的信任值,x,y分别表示节点交易成功和失败的次数,公式O(m)=e-1/m是根据Beth模型[6],O(m)随着m的增大而增大,且其取值范围是(0,1)。显然,在变化系数 恒定的情况下,成功次数x越高,信任值将迅速变大,反之,则迅速变小。一旦某个节点的总体信任值降至某一较低水平以下时,就将被当做恶意节点从簇中除名。

7 节点的加入和退出

在移动ad hoc网络环境中,节点可以动态加入或离开某个簇。当节点P加入簇A中时,簇为防止恶意节点的非法加入,将根据该节点的“推荐人”的信任值来赋予该节点的初始信任值。此后,将根据该节点在簇中的交易表现不断更新P的信任值。

若P节点被攻击成为恶意节点,其信任值将随着其交易情况的恶化降低,当信任值下降到零或者零以下时,该节点将被认为是恶意节点,簇将会把该节点从簇中删除,同时修改簇上的信任关系表。

参考文献:

[1] 王珊,高迎,程涛远,等.服务网格环境下基于行为的双层信任模型研究[J].计算机应用,2005,25(9).

[2] 马德芳.基于信任的网格动态访问控制研究[D].武汉:华中师范大学,2007.

[3] 杨艺,代春燕,青虹宏.基于主观信任和推荐的信任模型[J].重庆工商大学学报,2006,23(2).

[4] 王东安,徐浩,南凯,等.基于推荐的网格计算的信任模型[J].计算机应用研究,2006.

[5] T.Beth,M. Borcherding,B. Klein,Valuation of trust in open systems,In D.Gollmann,editor,Computer Security ESORICS′94,volume 875 of Lecture Notes in Computer Science,Springer Verlag,Berlin,1994:3-18.

上一篇:Eclipse插件体系结构的研究 下一篇:关于Java程序设计的教学思考