1.一种基于多因素的无线传感器网络信任管理模型的构建方法,其特征在于该无线传感器网络信任管理模型主要由三层组成,分别是信任值计算层、信任值管理层和信任值应用层,其中信任值计算层是基础,信任值管理层是核心,信任值应用层是目的;
信任值计算层:
信任值计算层是该基于多因素的无线传感器网络信任管理模型的基础,它包括直接信任值计算、不良合作值计算、能量因子计算和总信任值计算,节点的总信任值由直接信任值、不良合作值和能量因子共同决定,总信任值的取值范围是[0,1];
1)直接信任值计算
节点的直接信任值Di,j计算是以节点间合作记录表保存的合作信息为基础,分别建立合作评价函数、消息权重函数和时间衰减函数,最后由三种函数合成计算出节点的直接信任值,其取值范围也是[0,1],计算公式如下:
其中,ci,j(x)、gi,j(m)和ti,j(k)分别是合作评价函数、消息权重函数和时间衰减函数,Ni,j为节点i作为合作请求方与合作响应方节点j的合作次数;
2)不良合作值计算
直接信任值是节点i对节点j通过分析计算相关合作信息计算出的信任值,是从正面对节点j的一种评价,不良合作值Bi,j的计算也是以节点间合作记录表保存的合作信息为基础,通过对合作评价函数进行分析计算,得出节点的不良合作值,其取值范围也是[0,1],计算公式如下:
其中, 和 分别表示节点i作为合作请求方与合作响应方节点j合作的集合
中无响应、拒绝合作以及恶意转发的次数;
3)能量因子计算
定义,能量因子是节点i对节点j的能量消耗率进行评价得出的一个值,它的取值范围是[0,2],当Ei,j=1时,表示节点处于正常工作状态,当Ei,j>1时,表示节点应该增加参加网络合作的次数,当Ei,j<1时,表示节点处于高频率的工作状态,应该适当降低参加网络合作的次数;
能量因子计算的策略是,信誉越高,合作频率越大,节点能量消耗率就越大,那么它的能量因子就会越小,相反,信誉越低,合作频率越小,节点能量消耗率就越小,那么它的能量因子就会越大;
考虑到提供不同的合作,即不同的合作评价,系统能量的消耗是不一样的,假设,一次良好的G和S合作,系统将消耗1个单位的资源;一次不良的U,R,M合作,系统将消耗2个单位的资源,则节点的能量消耗率ei,j计算公式为:
其中,E是每个节点初始具有的总能量,ki,j是调整系数,因为节点i保存的只是节点j和节点i之间的合作,节点j和其他节点间的合作同样也要消耗能量,因此引入调整系数来估算节点实际的能量消耗;
4)总信任值计算
节点的总信任值Ti,j由直接信任值、不良合作值和能量因子共同决定,总信任值的取值范围是[0,1],计算公式如下:
Ti,j=αDi,j+β(1-Bi,j)+γEi,j, α+β+γ=1;
信任值管理层:
信任值管理层是该基于多因素的无线传感器网络信任管理模型的核心,它包括存储节点间合作信息的合作记录表管理、节点间信任值管理、节点信任值初始化和节点信任值更新;1)合作记录表管理
合作记录表是信任值计算的重要依据,无论是直接信任值、不良合作值还是能量因子的计算,都需要依据合作记录表中的内容,因此,每个节点都需要建立并维护该表,节点之间每完成一次合作,就需要对合作记录表进行一次更新;
2)节点间信任值管理
每个节点只需要一个简单的一维数组来存储它相邻节点的信任值,随着网络中节点间合作的不断进行,节点间的信任值也将会不断更新,节点每完成一次总信任值的计算后,都要对自身的信任值存储数组进行更新;
3)节点信任值初始化
当一个节点j刚加入网络时,因为节点i没有与节点j的任何合作记录,这样节点j就被网络中的其它节点孤立了,永远不会参与网络合作;因此,基于多因素的无线传感器网络信任管理模型对刚加入的节点赋予一个初始信任值ω,即任何一个节点对于节点j的总信任值都是ω;开始阶段,其它节点对节点j没有合作记录,因此总信任值就是初始值ω,随着节点j慢慢地参与网络合作,其相邻节点将会记录与它的相关合作信息,进而可以采用前面定义的计算基于多因素的无线传感器网络信任管理模型对相关信任值进行计算;
4)节点信任值更新
节点信任值更新主要有触发更新和定期更新两种情况:
定期更新主要是为了保证计算结果的公平性和准确性,它的主要方法是每经过一个固定的时间周期,就对符合要求的节点间信任值进行更新,使节点间有机会进行合作;
触发更新则相对比较简单,主要是针对恶意节点的,当节点的不良合作值达到一定值BHigh时,就直接判定节点j是恶意节点,将Ti,j设为0,永不参加网络合作,其实这也是一种惩罚措施的体现;
信任值应用层:
信任值应用层是该基于多因素的无线传感器网络信任管理模型最终要实现的功能,它包括恶意节点识别、可信节点确定、低能量节点识别和可信路由选择,这些应用都是通过节点之间相互进行信任值评估来完成的。
一种基于多因素的无线传感器网络信任管理模型\n技术领域\n[0001] 本发明涉及无线传感器网络中基于多因素的信任管理模型研究,具体是根据节点间合作记录表保存的合作信息构建节点信任管理模型。它属于无线传感器网络中信任管理技术领域。\n背景技术\n[0002] 随着无线传感器技术的不断发展与进步,其应用也变得越来越复杂,由于它低成本低污染的优势,并且能够解决现代社会中面临的环境与生态监测、交通控制等问题,使无线传感器网络在社会生活中的作用也变得越来越重要。\n[0003] 无线传感器网络是一组传感器通过Ad Hoc(移动自主网络)的方式构成的网络,它的目的是协同感知、可靠传输和智能处理感知到的信息。与Ad Hoc网络一样,它们都是自组织、可重构的网络,无线传感器网络在某种程度上讲是Ad Hoc的一种特例。不过无线传感器网络也有其自身的特点,如:不确定的网络环境,不可靠的无线链路,动态变化的网络拓扑,随机进行的节点分布,有限的能量、存储、计算和通信能力。无线传感器网络必须要考虑到一般网络安全机制中不是很关心的功耗问题。所以,诸如Ad hoc的那些无线网络中的安全机制是不能直接应用在大规模的分布式的无线传感器网络中。比起Ad hoc等网络,无线传感器网络显得更加脆弱,面临的安全挑战也更为严峻。而这其中一个明显的安全问题就是当传感器节点被敌方俘获后发生的内部攻击,这是Ad hoc等网络中没有出现过的,同时也是基于传统的密码体系的安全机制不能解决的问题。\n[0004] 为了进一步提高无线传感器网络的安全系数,并且对密码技术进行有效的补充,学术界已开始广泛地关注无线传感器网络中信任管理技术的研究,通过对节点信任度的评估,进行故障节点、低竞争节点和被俘获节点的识别,同时也采取相应的有针对性的措施来平衡网络的开销,减少不必要的损失,从而提高网络的可靠性、安全性和持续性。\n发明内容\n[0005] 技术问题:本发明提出了一种基于多因素的无线传感器网络信任管理模型,该模型根据节点间的合作记录表保存的合作信息对节点的信任值进行评估,从而快速识别网络中的恶意节点,平衡网络中各节点的开销,减少不必要的资源损耗,杜绝了因内部节点被俘获所造成的信息泄露问题,保证无线传感器网络可靠、安全、持续地运行。\n[0006] 技术方案:本发明提出的基于多因素的无线传感器网络信任管理模型主要由三层组成,分别是信任值计算层、信任值管理层和信任值应用层。其中计算层是基础,管理层是核心,应用层是目的。该模型的具体结构如图1所示,符号说明如表1所示。\n[0007] 表1符号说明表\n[0008]\n[0009]\n[0010] 信任值计算层:\n[0011] 信任值计算是该模型的基础,它包括直接信任值计算、不良合作值计算、能量因子计算和总信任值计算,节点的总信任值由直接信任值、不良合作值和能量因子共同决定,总信任值的取值范围是[0,1];\n[0012] 1)直接信任值计算\n[0013] 节点的直接信任值Di,j计算是以节点间合作记录表保存的合作信息为基础,分别建立合作评价函数、消息权重函数和时间衰减函数,最后由三种函数合成计算出节点的直接信任值,其取值范围也是[0,1],计算公式如下:\n[0014]\n[0015] 其中,ci,j(x)、gi,j(m)和ti,j(k)分别是合作评价函数、消息权重函数和时间衰减函数,Ni,j为节点i作为合作请求方与合作响应方节点j的合作次数;\n[0016] 2)不良合作值计算\n[0017] 直接信任值是节点i对节点j通过分析计算相关合作信息计算出的信任值,是从正面对节点j的一种评价。不良合作值Bi,j的计算也是以节点间合作记录表保存的合作信息为基础,通过对合作评价函数进行分析计算,得出节点的不良合作值,其取值范围也是[0,1],计算公式如下:\n[0018]\n[0019] 其中, 和 分别表示节点i作为合作请求方与合作响应方节点j合作的集合中无响应、拒绝合作以及恶意转发的次数;\n[0020] 3)能量因子计算\n[0021] 定义,能量因子是节点i对节点j的能量消耗率进行评价得出的一个值,它的取值范围是[0,2],当Ei,j=1时,表示节点处于正常工作状态,当Ei,j>1时,表示节点应该增加参加网络合作的次数,当Ei,j<1时,表示节点处于高频率的工作状态,应该适当降低参加网络合作的次数;\n[0022] 能量因子计算的策略是,信誉越高,合作频率越大,节点能量消耗率就越大,那么它的能量因子就会越小,相反,信誉越低,合作频率越小,节点能量消耗率就越小,那么它的能量因子就会越大;\n[0023] 考虑到提供不同的合作,即不同的合作评价,系统的能量消耗是不一样的,假设,一次良好的G和S合作,系统将消耗1个单位的资源;一次不良的U,R,M合作,系统将消耗2个单位的资源,则节点的能量消耗率ei,j计算公式为:\n[0024]\n[0025] 其中,E是每个节点初始具有的总能量,ki,j是调整系数,因为节点i保存的只是节点j和节点i之间的合作,节点j和其他节点间的合作同样也要消耗能量,因此引入调整系数来估算节点实际的能量消耗;\n[0026] 4)总信任值计算\n[0027] 节点的总信任值Ti,j由直接信任值、不良合作值和能量因子共同决定,总信任值的取值范围是[0,1],计算公式如下:\n[0028] Ti,j=αDi,j+β(1-Bi,j)+γEi,j,α+β+γ=1;\n[0029] 信任值管理层:\n[0030] 信任值管理是该模型的核心,它包括存储节点间合作信息的合作记录表管理、节点间信任值管理、节点信任值初始化和节点信任值更新;\n[0031] 1)合作记录表管理\n[0032] 合作记录表是信任值计算的重要依据,无论是直接信任值、不良合作值还是能量因子的计算,都需要依据合作记录表中的内容,因此,每个节点都需要建立并维护该表,节点之间每完成一次合作,就需要对合作记录表进行一次更新;\n[0033] 2)节点间信任值管理\n[0034] 每个节点只需要定义一个简单的一维数组来存储它相邻节点的信任值,随着网络中节点间合作的不断进行,节点间的信任值也将会不断更新,节点每完成一次总信任值的计算后,都要对自身的信任值存储数组进行更新;\n[0035] 3)节点信任值初始化\n[0036] 当一个节点j刚加入网络时,因为节点i没有与节点j的任何合作记录,这样节点j就被网络中的其它节点孤立了,永远不会参与网络合作;因此,模型对刚加入的节点赋予一个初始信任值ω,即任何一个节点对于节点j的总信任值都是ω;开始阶段,其它节点对节点j没有合作记录,因此总信任值就是初始值ω,随着节点j慢慢地参与网络合作,其相邻节点将会记录与它的相关合作信息,进而可以采用前面定义的计算模型对相关信任值进行计算;\n[0037] 4)信任值更新\n[0038] 信任值更新主要有触发更新和定期更新两种情况:\n[0039] 定期更新主要是为了保证计算结果的公平性和准确性,它的主要方法是每经过一个固定的时间,就对符合要求的节点间信任值进行更新,使节点间有机会进行合作;\n[0040] 触发更新则相对比较简单,主要是针对恶意节点的,当节点的不良合作值达到一定值BHigh时,就直接判定节点j是恶意节点,将Ti,j设为0,永不参加网络合作,其实这也是一种惩罚措施的体现;\n[0041] 信任值应用层:\n[0042] 信任值应用是该模型最终要实现的功能,它包括恶意节点识别、可信节点确定、低能量节点识别和可信路由选择。这些应用都是通过节点之间相互进行信任值评估来完成的。\n[0043] 有益效果:基于多因素的无线传感器网络信任管理模型根据节点间合作记录表保存的合作信息进行节点间的信任值评估,可以快速识别网络中的恶意节点,平衡网络中各节点的开销,减少不必要的资源损耗,从而杜绝了因内部节点被俘获所造成的信息泄露问题,保证无线传感器网络可靠、安全、持续地运行。\n附图说明\n[0044] 图1基于多因素的无线传感器网络信任管理模型结构图,\n[0045] 图2消息权重函数图像,\n[0046] 图3直接信任值计算,\n[0047] 图4不良合作值计算,\n[0048] 图5能量因子计算,\n[0049] 图6信任值划分区间,\n[0050] 图7恶意节点识别,\n[0051] 图8可信节点确定。\n[0052] 图1说明了基于多因素的无线传感器网络信任管理模型的具体结构,图2画出了消息权重函数图像,图3说明了节点直接信任值的计算流程,图4说明了节点不良合作值的计算流程,图5说明了节点能量因子的计算流程,图6表明了节点信任值区间的划分,图7说明了恶意节点的识别过程,图8说明了可信节点的判断过程。\n具体实施方式\n[0053] 1、信任值计算\n[0054] 信任值计算是基于多因素的无线传感器网络信任管理模型的基础,它包括直接信任值计算、不良合作值计算、能量因子计算和总信任值计算等。节点的总信任值由直接信任值、不良合作值和能量因子共同决定,节点的总信任值取值范围是[0,1],总信任值为1表示节点是完全可信节点,总信任值为0表示节点为完全不可信节点(即恶意节点)。\n[0055] (1)直接信任值计算\n[0056] 定义1:两个节点的一次交互称为一次合作,为了简化理解,定义一次合作就是一次消息转发。\n[0057] 定义2:直接信任值Di,j是节点i通过分析计算节点j作为合作响应方时与合作请求方i的历史合作信息得出的节点i对节点j的直接信任值。同样,直接信任值的取值范围也是[0,1]。\n[0058] 在实际的无线传感器网络应用中,节点之间的每次合作效果都是不相同的,因此,两个节点之间每完成一次合作,请求合作节点就会根据合作效果给予合作响应节点一个评价。考虑到模型的简易性要求,假设合作评价函数是一个简易的离散函数,如下所示:\n[0059]\n[0060] 根据合作效果将合作评价分为五类,其中G(good)表示合作非常成功,S(satisfaction)表示合作满意,U(unresponsive)表示对方不响应,R(refuse)表示对方拒绝合作,M(malicious)表示对方恶意合作。两种极端情况是:若节点i对合作非常满意,则给出的评价值是1,若节点i对合作非常不满意(对方恶意合作),则给出的评价值是0,其它的评价值在0到1之间。\n[0061] 同样,在实际的无线传感器网络的应用中,不仅转发效果是不同的,每次需要转发的消息也是有差别的,比如说针对重要性高的消息的恶意行为带来的危害会更大。因此,为了防止恶意节点在转发一般消息时提供良好合作来提高自身的信誉,而在转发重要消息时进行恶意破坏,提出了消息权重函数的定义。同样考虑到模型的简易性要求,定义消息权重函数是一个简易的分段连续函数,如下所示:\n[0062]\n[0063] 其中,m表示消息的权重,定义域为[0,1],m越接近1表明消息越重要。N(no important)表示不重要消息,C(common)表示一般消息,I(important)表示重要消息,V(very important)表示非常重要消息。有了消息权重函数,在计算直接信任值时,就提高了重要消息的影响程度而降低了一般消息的影响程度。\n[0064] 从如图2所示的消息权重函数的图像中,我们可以看出,随着m越来越大,其对g(m)的影响也变得越来越大,符合现实中转发消息越重要,对自身的信誉影响就越重要的事实。\n[0065] 直接信任值受合作评价的影响会随着时间的推移越来越小,因此定义了一个时间衰减函数,有了此函数,就能更加准确合理地反映历史合作评价对直接信任值计算的影响,此函数如下:\n[0066]\n[0067] 其中,ti,j(k)表示第k次合作的时间权重,λ表示时间因子, 表示当前合作的开始时间, 表示第k次合作的开始时间。\n[0068] 定义0<λ<1,那么从时间衰减函数的表达式中可以看出,所发生的合作越久远,那么△t就会越大,进而ti,j(k)就会越小,因此该合作对直接信任值计算的影响就越小;反之则△t就会越小,进而ti,j(k)就会越大,因此该合作对直接信任值计算的影响就越大。\n[0069] 这样,通过综合合作评价函数、消息权重函数和时间衰减函数,得出了直接信任值的计算公式,如下所示:\n[0070]\n[0071] 具体计算过程如图3所示:当节点i计算节点j的直接信任值时,首先查找合作记录表中是否有和节点j的合作信息,若没有,则直接信任值为ω,若有则根据所有合作信息计算节点j的直接信任值。\n[0072] (2)不良合作值计算\n[0073] 直接信任值是节点i对节点j通过分析计算相关合作信息计算出的信任值,是从正面对节点j的一种评价。然而现实的无线传感器网络中,恶意节点和低竞争力节点需要受到相应的惩罚。因此,根据历史合作信息的记录提出了不良合作值的概念。\n[0074] 定义3:不良合作值Bi,j是节点i根据节点j的历史合作信息计算出的节点j行为的不良合作值。\n[0075] 与总信任值和直接信任值一样,不良合作值的取值范围也是[0,1]。计算公式如下:\n[0076]\n[0077] 其中,Ni,j为节点i作为合作请求方与合作响应方j合作的次数, 和 分别表示节点i作为合作请求方与合作响应方j合作的集合中无响应、拒绝合作以及恶意转发的次数。之所以加上系数,是为了达到不良合作行为越严重,不良合作值就会越大的效果,即为了达到信任值的增慢减快的原则,同时不良合作值也是该模型中信任值更新机制的一个重要依据。\n[0078] 具体计算过程如图4所示:当节点i计算节点j的不良合作值时,首先查找合作记录表中是否有和节点j的合作信息,若没有,则不良合作值为0,若有则根据所有合作信息计算节点j的不良合作值。\n[0079] (3)能量因子计算\n[0080] 在无线传感器网络中,可信节点、低竞争力节点和恶意节点是同时存在的,并且所具有的能量都是有限的。对于网络中的可信节点,它们会因为优质的服务评价和良好的信誉而承担网络中的大部分合作,节点的信任值越高,所承担的合作越多,这样就会导致可信节点快速消耗完能量从而退出网络;对于低竞争力节点来说,由于受到本身低信誉的影响,参加网络合作的机会就不多,又没有任何的鼓励其参加网络合作的措施,这样就会让此类节点一直停留在网络中却提供不了相应的贡献;对于恶意节点,它们可以通过不断的参加普通的网络合作(如转发不重要的消息)来提高自身的信誉,将自己伪装成可信节点,等待机会对网络进行破坏。为了避免以上情况的发生,又引进了能量因子Ei,j的计算。\n[0081] 定义4:能量因子Ei,j是节点i对节点j的能量消耗率进行评价得出的一个值。能量因子也是对节点参加网络合作的一种鼓励和惩罚因子,定义它的取值范围是[0,2],当Ei,j=\n1时,表示节点处于正常工作状态,当Ei,j>1时,表示节点应该增加参加网络合作的次数,当Ei,j<1时,表示节点处于高频率的工作状态,应该适当降低参加网络合作的次数。\n[0082] 能量因子Ei,j计算的策略是,信誉越高,合作频率越大,节点能量消耗率就越大,那么它的能量因子就会越小,相反,信誉越低,合作频率越小,节点能量消耗率就越小,那么它的能量因子就会越大。这样,可信节点将不会因为较高的信誉而不断地参加网络合作从而导致较早地退出网络,低竞争力节点将会有相应的机会参加网络中的合作,恶意节点将无法通过不断地参加网络合作的方式来提高自身的信誉。\n[0083] 为方便对能量因子的计算,将节点的信任值划分为8个阶段,节点能量消耗率划分为5个阶段,它们对能量因子的影响如表2所示:\n[0084] 表2总信任值、能量消耗率与能量因子的关系\n[0085]\n[0086] 考虑到提供不同的合作(即不同的合作评价),系统能量的消耗是不一样的,假设,一次良好合作(G和S合作),系统将消耗1个单位的资源;一次不良合作合作(U,R,M合作),系统将消耗2个单位的资源。则节点的能量消耗率ei,j计算公式为:\n[0087]\n[0088] 其中,E是每个节点初始具有的总能量,ki,j是调整系数,因为节点i保存的只是节点j和节点i之间的合作,节点j和其他节点间的合作同样也要消耗能量,因此引入调整系数来估算节点实际的能量消耗。\n[0089] 具体计算过程如图5所示:当节点i计算节点j的能量因子时,首先要查找信任值记录表中节点j的总信任值,然后计算节点j的能量消耗率,最后根据节点j的总信任值和能量消耗率计算节点j的能量因子。\n[0090] (4)总信任值计算\n[0091] 定义5:总信任值Ti,j,节点i作为合作请求方对合作响应方节点j的总的信誉评价。\n[0092] 总信任值Ti,j由直接信任值Di,j、不良合作值Bi,j以及能量因子Ei,j共同决定,计算公式为:Ti,j=αDi,j+β(1-Bi,j)+γEi,j,α+β+γ=1\n[0093] 2、信任值管理\n[0094] 信任值管理是基于多因素的无线传感器网络信任管理模型的核心,它包括存储节点间合作信息的合作记录表管理、节点间信任值管理、节点信任值初始化和节点信任值更新等。\n[0095] (1)合作记录表管理\n[0096] 合作记录表是信任值计算的重要依据,无论是直接信任值、不良合作值还是能量因子的计算,都需要依据合作记录表中保存的合作信息,因此,每个节点都需要建立并维护该表。表3就是节点i保存的与其它节点的合作记录表的结构。因为在现实的无线传感器网络环境中,节点之间时刻都有合作发生,因此合作记录表需要不断更新,即节点之间每完成一次合作,就需要对合作记录表进行一次更新。\n[0097] 表3节点i的合作记录表的结构\n[0098]\n响应节点 合作评价 消息权重 合作开始时间\nAid Coo_c Mes_m Sta_t\n[0099] (2)节点间信任值管理\n[0100] 在现实的无线传感器网络环境中,节点之间时刻都有合作发生,从而节点间的总信任值也是不断变化的,我们需要对节点间的信任值不断进行更新。考虑到现实环境中节点的能量和存储容量都有限,况且节点也不必要知道其它节点间的信任值,因此,每个节点只需要一个简单的一维数组来存储相邻节点的信任值,如Ti[],则初始阶段令Ti[j-1]=Ti,j。\n随着网络中节点间合作的不断进行,节点间的信任值也将会不断更新,每当有一次合作时,就会计算当前的信任值Ti,j,计算结束后再令Ti[j-1]=Ti,j,对存储的信任值进行更新。节点i存储的其它节点的信任值记录表:\n[0101] Ti[]={Ti,1,Ti,2,...Ti,n-1,Ti,n}\n[0102] 其中,Ti,j=Ti[j-1],为了后续计算方便,假设每个节点都保持自身对自身的总信任值,即存在Ti,i,且Ti,i=Ti[i-1]。\n[0103] (3)节点信任值初始化\n[0104] 当一个节点j刚加入网络时,因为节点i没有与节点j的任何合作记录,这样节点j就被网络中的其它节点孤立了,永远不会参与网络合作。因此,模型对刚加入的节点赋予一个初始信任值ω,即任何一个节点对于节点j的总信任值都是ω。因此Ti,j=Di,j=ω,Bi,j=Ei,j=0。随着节点j慢慢地参与网络合作,其相邻节点将会记录与它的相关合作信息,进而可以采用前面定义的计算模型对相关信任值进行计算。\n[0105] (4)信任值更新\n[0106] 如果节点之间的信任值仅仅依据每次合作之前的计算来更新,除了会增加不必要的计算量之外,还可能产生不准确和不公平的计算结果,因此模型中引入了信任值更新机制。信任值更新主要有触发更新和定期更新两种情况。\n[0107] 定期更新主要是为了保证计算结果的公平性和准确性。一个节点产生不良合作主要有两种情况,一种是恶意破坏的故意行为,比如已被敌方控制的恶意节点或是拒绝合作的自私节点等,另一种是链路错误或是电池耗尽而导致的无意行为。对于前一种情况,我们在计算节点的总信任值时已经反复考虑到了,只要节点有不良行为,那么信任值就会快速下降,容易被识别;而对于后一种情况,由于发生不良行为是无意的,并不能因为一些非恶意因素(比如链路错误)造成的不良行为而使得其信任值快速下降,当其信任值下降到信任阀值之下时,就将被认定是恶意节点,从而没有任何机会再参与网络合作。因此,针对这种情况,希望有一种救赎机制,使那些偶尔产生不良行为的非恶意节点有机会重新加入网络与其它节点进行合作。此模型中定义的定期更新机制就可以很好地实现这种救赎功能。\n[0108] 定期更新的主要方法是每经过一个固定的时间(假设为△T),就对符合要求的节点间信任值进行更新,使节点间有机会进行合作。更新函数如下所示:\n[0109] 当T=k·△T时,\n[0110] 其中T是网络运行时间,k为整数,θ是节点的合作信任阀值,TLow是信任值在信任阀值之下的一个值,具体的下限根据网络对安全性的要求来定。\n[0111] 触发更新则相对比较简单,主要是针对恶意节点的。当节点的不良合作值达到一定值BHigh时,就直接判定节点j是恶意节点,将Ti,j设为0,永不参加网络合作,其实这也是一种惩罚措施的体现。\n[0112] 3、信任值应用\n[0113] 信任值应用是基于多因素的无线传感器网络信任管理模型最终要实现的功能,它包括恶意节点识别、可信节点确定、低能量节点识别和可信路由选择等。\n[0114] 在该模型中,定义的节点总信任值的取值范围是[0,1],将信任值划分为三个区间,同时也将相关的一些参数进行了假设,如图6所示。\n[0115] 其中,当Ti,j在[0,0.2)区间内时,节点i就认定节点j为恶意节点;当Ti,j在[0.2,\n0.4]区间内时,节点i就认定节点j为低竞争力节点;当Ti,j在(0.4,1.0]区间内时,节点i就认定节点j为可信节点。\n[0116] 节点的初始化信任值ω、可信阀值θ以及信任值更新阀值TLow需要满足以下条件:\n0.2≤TLow<θ<ω≤0.4。\n[0117] (1)恶意节点识别\n[0118] 如图7所示,节点i识别节点j是否是恶意节点通过以下三个步骤完成:\n[0119] 第一步,节点i查看存储在信任值记录表中节点j的总信任值Ti,j是否在区间[0.0.2)中,如是则识别过程结束,确定节点j是恶意节点,停止与节点j进行合作;如不是,则进行第二步;\n[0120] 第二步,计算节点j的不良合作值Bi,j。不良合作值是对某节点在一定时间内发生不良合作次数的一个评价,其值越大,说明节点的不良合作次数就越频繁,是恶意节点的概率就越大。如果节点i计算出节点j的不良合作值Bi,j达到了固定阀值BHigh时,识别过程结束,节点i认定节点j为恶意节点,进而将存储在信任值记录表中节点j的总信任值Ti,j修改为0,并停止与节点j进行合作。如不良合作值Bi,j没有达到固定阀值BHigh,则进行第三步;\n[0121] 第三步,计算节点j最新的总信任值Ti,j。如计算出的最终信任值Ti,j在区间[0.0.2)中,那么节点i将认定节点j为恶意节点,将不会请求和节点j进行合作;如不在区间[0.0.2)中,则节点i确定节点j不是恶意节点,识别过程结束。\n[0122] (2)可信节点确定\n[0123] 如图8所示,节点i确定节点j是否是可信节点通过以下三个步骤完成:\n[0124] 第一步,节点i查看存储在信任值记录表中节点j的总信任值Ti,j是否在区间[0.0.2)中,如是则确定过程结束,节点i确定节点j不是可信节点;如不是,则进行第二步;\n[0125] 第二步,计算节点j的不良合作值Bi,j。如果节点i计算出节点j的不良合作值Bi,j达到了固定阀值BHigh时,则确定过程结束,节点i确定节点j不是可信节点;如没有达到,则进行第三步;\n[0126] 第三步,计算节点j最新的总信任值Ti,j。如计算出的最终信任值Ti,j在区间(0.4,\n1.0]中,那么节点i将确定节点j为可信节点;如不在区间(0.4,1.0]中,则节点i确定节点j不是可信节点。确定过程结束。\n[0127] (3)低能量节点识别\n[0128] 模型中对低能量节点的识别主要是通过计算节点的能量消耗率ei,j来完成的。当节点i计算出的节点j的能量消耗量ei,j达到固定阀值eHigh时,就会认定节点j的能量已经消耗过多了,属于低能量节点,进而将通过能量因子来控制节点j参与合作的次数,使得节点j得以长时间的留在网络中进行相关的合作。\n[0129] (4)可信路由选择\n[0130] 可信路由选择是此模型最终的目的。恶意节点识别、低能量节点识别、总信任值计算以及可信节点确定都是为了实现可信路由的选择。\n[0131] 节点i在进行可信路由选择时,首先要对其所有相邻节点进行恶意节点的识别,在所有的非恶意节点中,分别计算出各节点的总信任值,将总信任值最大的节点选为自身的下一跳节点;当出现总信任值相等情况时,就需要依次对不良合作值、能量消耗率、合作总次数进行对比,相对应的值越小,则优先级就越高;如果最终出现两个或两个以上的相邻节点所有值都相等的情况,那就从中随机选取一个节点作为下一跳节点。\n[0132] 同时,为了防止节点i不停地向节点j发出合作请求浪费节点j的能量进而对网络进行恶意破坏,节点j在收到节点i的合作请求时,首先也要查看节点j对节点i的总信任值Tj,i,如果总信任值Tj,i小于0.2,则拒绝合作;如果Tj,i大于0.2,则才接受合作,进行接下来的路由选择。