基于动态信誉的无线Mesh网络安全路由路径确定方法与流程

文档序号:17149749发布日期:2019-03-19 23:18阅读:269来源:国知局
基于动态信誉的无线Mesh网络安全路由路径确定方法与流程

本发明属于网络安全技术领域,特别是涉及一种基于动态信誉的无线mesh网络安全路由路径确定方法。



背景技术:

随着网络技术的发展,无线mesh网络(wirelssmeshnetwork,wmn)被广泛应用于多个领域。wmn传输介质的开放性和网络拓扑结构的动态性,使得该网络极易遭受内部恶意节点的攻击。同时由于内部恶意节点可以利用合法授权进行伪装,传统的路由路径确定方法无法在路由过程中将其准确识别,从而导致大量信息在路由传输过程中遭到破坏。因此,如何在路由过程中有效识别恶意节点抵御内部攻击,成为目前wmn安全路由机制研究的热点问题。

sarma提出一种基于安全分层和角色的安全路由协议(securehierarchicalandrolebasedroutingprotocolformobilewirelesssensornetwork,sharp),对路由控制信息进行加密的同时计算节点信誉值和链路的质量安全值,根据计算结果选出安全的路由路径。bounouni等提出一种节点信誉值与贡献值混合确认方法(newhybridacknowledgmentapproach,nhack),采用基于监控确认技术的信誉值计算方法结合贡献系统计算节点在路由建立过程中的贡献值,依据节点信誉值与贡献值选出安全高效的路由路径。吴军等提出一种基于反馈可信度的可信机会路由转发模型,通过反馈可信度模型评价节点行为,进而识别出无线mesh网络中的恶意节点,实现了路由过程中共谋攻击的防御。

然而现有方法在路由过程中对节点的评价不够全面、缺乏时效性和动态性,没有结合节点历史行为与当前行为对节点做出综合评价,导致路由过程中恶意节点的识别不够准确。



技术实现要素:

为了解决上述问题,本发明的目的在于提供一种基于动态信誉的无线mesh网络安全路由路径确定方法。

为了达到上述目的,本发明提供的基于动态信誉的无线mesh网络安全路由路径确定方法包括按顺序进行的下列步骤:

1)由源节点j生成路由请求信息rreq,并广播发送给其邻居节点;

2)邻居节点中的任意节点i收到请求信息rreq后,查询本地信誉值数据库,搜寻有关源节点j的数据包转发信息,根据查询结果计算源节点j的直接信誉值ti;jdir,并将其保存在本地信誉值数据库中;

3)设定信誉值数学期望的阈值为β;计算源节点j直接信誉值的数学期望e(ti;jdir),若e(ti;jdir)<β,则判定源节点j为恶意节点并将其隔离;若e(ti;jdir)>β或者没有足够的数据进行源节点j直接信誉值的数学期望e(ti;jdir)的计算,则执行下一步骤进行判断;

4)节点i向其邻居节点广播信誉值查询信息,要求其提供关于源节点j的推荐信息,启动推荐信誉值计算过程;

5)节点i和源节点j的任意共同邻居节点作为推荐节点m收到信誉值查询信息后,查询本地信誉值数据库并将查询结果作为推荐信息反馈给节点i;

6)节点i将收到的所有邻居节点反馈的推荐信息进行整理,计算出源节点j的推荐信誉值ti:jind

7)节点i根据上述计算得出的直接信誉值和推荐信誉值,计算源节点j的综合信誉值ti;jsyn并作为源节点j的当前综合信誉值newti:jsyn,再结合信誉值数据库中源节点j的历史综合信誉值oldti:jsyn计算出源节点j的动态信誉值dynti:jsyn

8)计算源节点j动态信誉值的数学期望e(dynti:jsyn),若e(dynti:jsyn)<β,则节点i判定源节点j为恶意节点并将其隔离;若e(dynti:jsyn)>β,则判定源节点j为可信节点并向其发送路由响应消息rrep;

9)源节点j收到响应消息rrep后,执行步骤2)—步骤8)来判断节点i是否为可信节点;若源节点j将节点i判定为可信节点,则将其作为路由中的下一跳节点进行数据传递,否则将其隔离;

10)循环执行步骤2)—步骤9),直到找出源节点j到目的节点之间符合要求的路由路径。

在步骤2)中,所述的计算源节点j的直接信誉值ti;jdir的方法是结合了主观逻辑理论,即ti;jdir=(bi:jdir,di:jdir,ui:jdir,a),其中,a表示节点i愿意相信源节点j的程度,统一取值为0.5;bi:jdir、di:jdir和ui:jdir分别表示节点i对源节点j的信任程度、不信任程度和不确定程度,它们的计算公式如下:

其中,si:j表示源节点j从节点i接收到的数据包中成功转发的数量;fi:j表示源节点j从节点i接收到的数据包中丢弃的数量。

在步骤3)中,所述的源节点j直接信誉值的数学期望e(ti;jdir)的计算公式如下:

在步骤6)中,所述的源节点j的推荐信誉值ti:jind=(bi:jind,di:jind,ui:jind,a),其中,a统一取值为0.5;bi:jind、di:jind和ui:jind的计算公式如下:

其中,bm:jdir、dm:jdir和um:jdir分别表示推荐节点m对源节点j的信任程度、不信任程度和不确定程度,它们的计算方法同公式(1);n表示推荐节点的数量;hm表示任意一个推荐节点m的权重因子,计算方法如下:

其中,e(ti:mdir)代表节点i对推荐节点m直接信誉值的数学期望。

在步骤7)中,所述的源节点j的综合信誉值ti;jsyn=(bi:jsyn,di:jsyn,ui:jsyn,a);其中,a统一取值为0.5;bi:jsyn、di:jsyn和ui:jsyn的计算公式如下:

在步骤7)中,所述的源节点j的动态信誉值dynti:jsyn计算公式如下:

dynti:jsyn=τ×ω1×oldti:jsyn+ω2×newti:jsyn(6)

其中,oldti:jsyn表示源节点j的历史综合信誉值,设定节点综合信誉值计算周期为10s,则源节点j的历史综合信誉值oldti:jsyn为源节点j在10s前的综合信誉值;newti:jsyn表示源节点j的当前综合信誉值;ω1和ω2分别表示源节点j的历史综合信誉值和当前综合信誉值的权重因子,由于节点的当前综合信誉值比历史综合信誉值具有更高的参考价值,因此ω1和ω2满足:0<ω1<ω2<1,ω1+ω2=1;τ为衰减因子,表示历史信誉值随时间的衰减程度,0<τ<1。

在步骤8)中,所述的源节点j动态信誉值的数学期望e(dynti:jsyn)计算公式如下:

与现有技术相比,本发明提供的基于动态信誉的无线mesh网络安全路由路径确定方法具有较高的恶意节点识别率,并能有效提高网络吞吐量,抵御内部恶意节点攻击。

附图说明

图1为本发明提供的基于动态信誉的无线mesh网络安全路由路径确定方法流程图。

具体实施方式

下面结合附图及具体实施例对本发明做进一步的说明,但下述实施例绝非对本发明有任何限制。

如图1所示,本发明提供的基于动态信誉的无线mesh网络安全路由路径确定方法包括按顺序进行的下列步骤:

1)由源节点j生成路由请求信息rreq,并广播发送给其邻居节点;

2)邻居节点中的任意节点i收到请求信息rreq后,查询本地信誉值数据库,搜寻有关源节点j的数据包转发信息,根据查询结果计算源节点j的直接信誉值ti;jdir,并将其保存在本地信誉值数据库中;

所述的计算源节点j的直接信誉值ti;jdir的方法结合了主观逻辑理论,即ti;jdir=(bi:jdir,di:jdir,ui:jdir,a),其中,a表示节点i愿意相信源节点j的程度,统一取值为0.5;bi:jdir、di:jdir和ui:jdir分别表示节点i对源节点j的信任程度、不信任程度和不确定程度,它们的计算公式如下:

其中,si:j表示源节点j从节点i接收到的数据包中成功转发的数量;fi:j表示源节点j从节点i接收到的数据包中丢弃的数量。

3)设定信誉值数学期望的阈值为β;计算源节点j直接信誉值的数学期望e(ti;jdir),若e(ti;jdir)<β,则判定源节点j为恶意节点并将其隔离;若e(ti;jdir)>β或者没有足够的数据进行源节点j直接信誉值的数学期望e(ti;jdir)的计算,则执行下一步骤进行判断;

所述的源节点j直接信誉值的数学期望e(ti;jdir)的计算公式如下:

4)节点i向其邻居节点广播信誉值查询信息,要求其提供关于源节点j的推荐信息,启动推荐信誉值计算过程;

5)节点i和源节点j的任意共同邻居节点作为推荐节点m收到信誉值查询信息后,查询本地信誉值数据库并将查询结果作为推荐信息反馈给节点i;

6)节点i将收到的所有邻居节点反馈的推荐信息进行整理,计算出源节点j的推荐信誉值ti:jind

所述的源节点j的推荐信誉值ti:jind=(bi:jind,di:jind,ui:jind,a),其中,a统一取值为0.5;bi:jind、di:jind和ui:jind的计算公式如下:

其中,bm:jdir、dm:jdir和um:jdir分别表示推荐节点m对源节点j的信任程度、不信任程度和不确定程度,它们的计算方法同公式(1);n表示推荐节点的数量;hm表示任意一个推荐节点m的权重因子,计算方法如下:

其中,e(ti:mdir)代表节点i对推荐节点m直接信誉值的数学期望,其值越大表示推荐节点m的可信程度越高,相应的权重因子hm越大,推荐节点m的推荐信息在最终的推荐信誉值中所占的比重也越大。

7)节点i根据上述计算得出的直接信誉值和推荐信誉值,计算源节点j的综合信誉值ti;jsyn并作为源节点j的当前综合信誉值newti:jsyn,再结合信誉值数据库中源节点j的历史综合信誉值oldti:jsyn计算出源节点j的动态信誉值dynti:jsyn

所述的源节点j的综合信誉值ti;jsyn=(bi:jsyn,di:jsyn,ui:jsyn,a);其中,a统一取值为0.5;bi:jsyn、di:jsyn和ui:jsyn的计算公式如下:

所述的源节点j的动态信誉值dynti:jsyn计算公式如下:

dynti:jsyn=τ×ω1×oldti:jsyn+ω2×newti:jsyn(6)

其中,oldti:jsyn表示源节点j的历史综合信誉值,设定节点综合信誉值计算周期为10s,则源节点j的历史综合信誉值oldti:jsyn为源节点j在10s前的综合信誉值;newti:jsyn表示源节点j的当前综合信誉值;ω1和ω2分别表示源节点j的历史综合信誉值和当前综合信誉值的权重因子,由于节点的当前综合信誉值比历史综合信誉值具有更高的参考价值,因此ω1和ω2满足:0<ω1<ω2<1,ω1+ω2=1;τ为衰减因子,表示历史信誉值随时间的衰减程度,0<τ<1。

8)计算源节点j动态信誉值的数学期望e(dynti:jsyn),若e(dynti:jsyn)<β,则节点i判定源节点j为恶意节点并将其隔离;若e(dynti:jsyn)>β,则判定源节点j为可信节点并向其发送路由响应消息rrep;

所述的源节点j动态信誉值的数学期望e(dynti:jsyn)计算公式如下:

9)源节点j收到响应消息rrep后,执行步骤2)—步骤8)来判断节点i是否为可信节点;若源节点j将节点i判定为可信节点,则将其作为路由中的下一跳节点进行数据传递,否则将其隔离;

10)循环执行步骤2)—步骤9),直到找出源节点j到目的节点之间符合要求的路由路径。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1