一种基于动态令牌的多路径源节点位置隐私保护路由方法与流程

    专利2022-07-07  126


    本发明涉及无线传感器网络安全通信技术,具体是一种基于动态令牌的多路径源节点位置隐私保护路由方法(dynamictokenandmulti-path,简称dtmp)。



    背景技术:

    无线传感器网络(wirelesssensornetworks,简称wsns)是物联网(internetofthings,简称iot)的基础,随着物联网技术的发展,wsns的应用愈加广泛。wsns由大量传感器节点以自组织方式形成的无线网络,用于对物理世界进行感知、监测、描述,由于低成本、自组织、低能耗、无线通讯等特点,该网络在军事、民生、医疗等领域受到了广泛关注。wsns常部署于环境恶劣、无人看守的自然场景中,内部资源特别是节点电量难以补充,随机的节点分布位置增加了网络拓扑的复杂性,针对能量和体积的硬件剪裁使得节点的计算、存储能力受到限制,此外由于自组织以及无线通信等特点,攻击者采用监听无线信号、逐跳回溯等形式,获取网络的数据包传递模式,跟踪数据来源,从而获取到源节点即source节点和被监控对象的位置信息。

    source节点位置隐私问题,严重制约了wsns进一步的应用发展,研究人员先后提出了基于随机游走机制的随机路由方法、基于中间幻影节点的幻影路由、基于虚假数据源来隐匿真实source节点的假源方法以及多路径路由方法等。在随机游走机制中,路由过程主要分为两个阶段:第一阶段是source节点通过随机游走将数据包发送至一定区域;第二阶段是在第一阶段基础上,再通过一定的路由方式,比如以贪婪路由的方式,将数据包发送给基站节点;幻影路由方法在source点发送数据之前产生幻影节点,合理优化幻影节点产生的位置,source节点经由幻影节点传递数据到汇聚节点(sink);假源方法以及多路径路由方法则是通过构建干扰路径,比如传递虚假数据包的路径,或者传递真实数据到sink以外的节点,吸引攻击者到错误路径,隐匿数据包真实的路径传输。

    发明的内容

    本发明的目的是针对现有技术的不足,而提供一种基于动态令牌的多路径源节点位置隐私保护路由方法。这种方法使得攻击者难以回溯到source节点,能延长和抵御回溯攻击、增加网络的安全时间,实现source节点位置的隐私保护,在环路传输阶段,采用部分节点参与的方式,可以节约网络能耗,提高网络寿命。

    实现本发明目的的技术方案是:

    一种基于动态令牌的多路径源节点位置隐私保护路由方法,包括如下步骤:

    1)定义网络结构:所述无线传感器网络由大量传感器节点和一个网关sink节点组成,均匀分布于监测区域,传感器节点负责监测目标,传感器节点监测到目标后发起信息传递,该传感器节点定义为source节点,source节点将收集的目标信息以时间ts为周期发送数据包,通过逐跳方式传递至网关sink节点,网络结构设置如下:

    1-1)网络节点均匀分布于监测区域,每个节点拥有相同的资源配置,包括同样的计算能力、存储空间、初始能量eo、通信半径r;

    1-2)网关sink节点位于网络中心,无需考虑能量消耗、计算能力、存储能力以及射频能力;

    1-3)网络节点布置完成后,以各个节点的位置为基准,将网络划分为均匀的网格,每个网格选择能量最高的为簇头节点,负责传递数据,并实时更替;

    1-4)以网关sink节点为中心、以通信半径r为梯度,将网络划分为层层环路,定义节点所在的环路编号为节点环号hop,网关sink节点的编号为0,网络中最大环路编号为maxhop,maxhop–1环定义为“令牌环路”,作为令牌节点的备选集合;

    1-5)网络初始化完成后,每个节点向邻居广播自己的环号hop、网格编号、节点编号id、剩余能量ei、位置坐标(x,y)、以网关sink为原点的弧度值α、簇头节点标志,在每个节点的路由表中存储上述信息;

    1-6)网络传输的数据包进行加密处理,攻击者无法获得数据包包含的数据信息,也无法区分真实数据包和伪数据包;

    2)定义攻击者模型:攻击者即attacker的最终目标是捕获传感器网络所监控的对象,source节点是距离监控对象最近的节点,所以在攻击模型中认为攻击者是以获取source节点位置为目标的入侵者,攻击者通过监控周围节点发送的数据包,追踪source节点位置,攻击者模型定义如下:

    2-1)attacker的计算能力、存储能力和能源消耗不受限制,attacker监听到无线电波后,可以获取信号角度、强度,准确定位发射器,并移动到发射器位置,移动过程花费的时间定义为δ,δ大于完成一次数据包传递所花费时间,为保证追踪到数据流,假设攻击者一开始伺服在网关sink节点的附近,等待数据流的到来,在追踪途中若有tattacker时间内没有监听到任何无线信号,则认为本次追踪失败,并迅速回到网关sink节点重新开始监听;

    2-2)采用局部攻击:攻击者的窃听范围为普通节点的通讯范围的1.5倍,即1.5r,出现在监听范围内的所有数据包都将被发现,但攻击者无法监控网络中监听范围之外的数据包;

    2-3)被动攻击:attacker攻击期间不会干扰网络运行,不对数据包进行解析、不修改数据包数据、不冒充网络节点、不主动发送虚假数据包,监听过程中可以对监控到的数据流向进行分析,保存有用的信息,分析历史数据并推测source节点的可能方向;

    2-4)回溯攻击:攻击者追踪数据流的来源时,主要采用逐跳回溯的形式,attacker潜伏于节点周围窃听传输信号,当有数据包传来时,可以定位来源找到发送者并移动到发送者的位置,驻留在该位置上继续窃听,等待下一轮数据包的到来;

    3)令牌链路传输:网络初始化之后随机分配一个“令牌”到令牌环路,持有令牌的节点定义为启动节点,将环路所有节点定义为集合trs1,启动节点确定后,以贪婪路由的形式建立启动节点与网关sink之间的最短路由路径,最短路由路径称为令牌路径,启动节点周期性生成虚拟数据包,发起数据转发过程,沿令牌路径传输,令牌路径上的节点将被标记为令牌节点,启动节点将接收网络中描述source节点距离的信标消息,通过信标消息分析启动节点与source节点的位置关系,其中定义source节点的弧度值为αs,“令牌”持有时间tp结束后,进行“令牌”再传递过程,该过程有两种方式,方式一:当“令牌”所在节点的弧度值小于时,启动节点通过信标消息判断出source节点与自身相对位置,将“令牌”沿着令牌环路向远离source节点的方向传递htoken跳;方式二:当“令牌”所在节点的弧度值大于时,启动节点将集合trs1中,弧度值大于且小于的节点定义为集合trs2,从集合trs2中随机选取一个节点,作为“令牌”传递的目标节点,传递完成后,启动节点清除当前节点标志及令牌路径,得到“令牌”的节点将成为新的启动节点,重新构建令牌路径,其中,信标消息的发送频率低于source节点发送数据包的频率,所以信标消息不会作为攻击者追溯的对象;

    4)事件环及干扰环传输路径:在令牌路径路由的同时,网络中的传感器开始对网络区域进行监控,目标一旦出现,传感器探测到的目标信息促使节点转化为source节点,source节点所在的环路被记为hops,为避免被追溯到事件环上的攻击者直接找到被保护对象,定义source节点周围两跳范围内为“危险区域”,避开危险区域,source节点随机选取hops 2环或hops-2环作为网络的事件环,source节点形成后,向启动节点发送包含source节点方向信息的加密信标消息,发送信标消息规则是source节点生成一个空的信标消息包,循环选择远离网关sink的邻居节点作为消息传递的下一跳,发送消息包到令牌环路,然后随机选取一个时针方向,信标消息通过令牌环路沿着所选的时针方向传递到启动节点,信标消息在令牌环路传递过程中,记录自身传递的跳数hb,该跳数信息为启动节点判断source节点的方位提供了参考,source节点将消息路由到事件环上,在环上随机选取传递方向即顺时针或逆时针方向均可,将包含真实事件的数据包沿事件环逐跳传递到令牌路径,并同时向相反方向释放一个假数据包,环上节点收到事件包后,默认将数据包存储在节点内存中,收到假数据包则会直接抛弃,source节点到令牌路径的弧形路径是整个事件环路的一部分,在source节点发送数据包过程中,弧形路径上的节点内存中都将保存有真实事件的数据包,与此同时,将网络内所有节点定义为集合rs1,从集合rs1中去除热点区域、令牌环、事件环以及与source节点相邻环路中的所有节点,形成新集合rs2,在集合rs2中以概率p选取干扰环环号,在选中的干扰环上,随机选择环上一个节点作为起始节点即假源,以信标消息的方式激活假源节点,假源节点将在tfake时间内产生假包,以同样的方式传递到令牌路径,以隐藏真实事件环路和source节点位置;

    5)多路径传输:启动节点生成的虚拟数据包在沿令牌路径逐跳传递的过程中,会检测节点内存中是否保存真实的数据包,当通过事件环路时,环路节点存储有真实数据包,令牌链路与事件环路的交点定义为“交叉节点”,交叉节点将用内存中的真实事件包替换掉虚拟数据包,并以多路径传输的方式传递消息至网关sink节点,传输过程中,交叉节点首先随机选取一个环路方向d,定义交叉节点到sink的连线即“sink-交叉节点”为多路径的边lcs,然后以网关sink为圆心,将lcs沿d方向旋转angle角度,该边在旋转过程中扫过的扇形区域为多路径备选区域sectors,多路径传输将在该区域中随机选择一条通向sink节点的路径传递数据包,从交叉节点开始,每个节点随机挑选与当前节点同等跳数,并且位于环路方向上的节点,或者距离网关sink节点最近的邻居节点,作为下一跳节点,当节点位于最内侧环路时,直接将数据包转发到网关sink节点,设交叉节点距离sink有i跳,多路径传输可产生的路径总数mi定义为:

    本技术方案可应用于工业物联网、智慧农业、智慧城市、环境监控、动物监控等涉及到无线传感器网络的物联网应用领域,用于保护网络的节点位置隐私安全。

    本技术方案采用新的令牌运行策略,使令牌向远离source节点的方向传递,并保持处于网络令牌环路远离source节点一侧,用于传输数据的事件环路选取避开source节点所在的环路,使得攻击者难以回溯到source节点,采用多路径传输,使得路由备选路径更加丰富,延长和抵御回溯攻击,增加了网络的安全时间,在环路传输阶段,采用部分节点参与的方式,可以节约网络能耗,提高网络寿命。

    这种方法使得攻击者难以回溯到source节点,能延长和抵御回溯攻击、增加网络的安全时间,实现source节点位置的隐私保护,在环路传输阶段,采用部分节点参与的方式,可以节约网络能耗,提高网络寿命。

    附图说明

    图1为实施例的网络结构及方法中信号流程示意图;

    图2为实施例中多路径传输过程示意图;

    图3为实施例中网络生命周期随source-sink节点距离的变化示意图;

    图4为实施例中网络路径多样性随source-sink节点跳数的变化示意图;

    图5为实施例中网络安全周期随source-sink节点距离的变化示意图;

    图6为实施例中节点密度对网络性能的影响示意图;

    图7为实施例中网络数据包到达sink节点的时延示意图;

    图8为实施例中令牌链路传输过程示意图;

    图9为实施例中事件环传输过程示意图;

    图10为实施例中干扰路径传输过程示意图。

    具体实施方式

    下面结合附图和实施例对本发明的内容作进一步的阐述,但不是对本发明的限定。实施例:

    参照图1,一种基于动态令牌的多路径源节点位置隐私保护路由方法,包括如下步骤:

    1)定义网络结构:所述无线传感器网络由大量传感器节点和一个网关sink节点组成,均匀分布于监测区域,传感器节点负责监测目标,传感器节点监测到目标后发起信息传递,该传感器节点定义为source节点,source节点将收集的目标信息以时间ts为周期发送数据包,通过逐跳方式传递至网关sink节点,本例网络结构设置如下:

    网络初始化为1000m×1000m的网络,节点密度ρ设置为0.003,随机均匀部署3000个传感器节点,基站sink位于网络的中心点,传感器节点的通信半径r设置为45m,攻击者感知范围为1.5r,节点功率可调,未找到合适的邻居节点时可以调整通信半径,节点的初始能量为0.5j,数据包的长度为1000bit,source节点每发送50个信息包到sink后将重新建立路由路径,网络选取干扰环的概率p为0.2,网络节点信息传递的能量消耗定义为如公式(2)、公式(3)所示:

    er=leelec(3),et表示发送l长度的数据包所消耗的能量,er表示接收数据包所消耗的能量,具体参数见附表1:

    表1符号描述

    1-1)网络节点均匀分布于监测区域,每个节点拥有相同的资源配置,包括同样的计算能力、存储空间、初始能量eo、通信半径r;

    1-2)网关sink节点位于网络中心,无需考虑能量消耗、计算能力、存储能力以及射频能力;

    1-3)网络节点布置完成后,以各个节点的位置为基准,将网络划分为均匀的网格,每个网格选择能量最高的为簇头节点,负责传递数据,并实时更替;

    1-4)以网关sink节点为中心、以通信半径r为梯度,将网络划分为层层环路,定义节点所在的环路编号为节点环号hop,网关sink节点的编号为0,网络中最大环路编号为maxhop,maxhop–1环定义为“令牌环路”,作为令牌节点的备选集合;

    1-5)网络初始化完成后,每个节点向邻居广播自己的环号hop、网格编号、节点编号id、剩余能量ei、位置坐标(x,y)、以网关sink为原点的弧度值α、簇头节点标志,在每个节点的路由表中存储上述信息;

    1-6)网络传输的数据包进行加密处理,攻击者无法获得数据包包含的数据信息,也无法区分真实数据包和伪数据包;

    2)定义攻击者模型:攻击者即attacker的最终目标是捕获传感器网络所监控的对象,source节点是距离监控对象最近的节点,所以在攻击模型中认为攻击者是以获取source节点位置为目标的入侵者,攻击者通过监控周围节点发送的数据包,追踪source节点位置,攻击者模型定义如下:

    2-1)attacker的计算能力、存储能力和能源消耗不受限制,attacker监听到无线电波后,可以获取信号角度、强度,准确定位发射器,并移动到发射器位置,移动过程花费的时间定义为δ,δ大于完成一次数据包传递所花费时间,假设攻击者一开始伺服在网关sink节点的附近,等待数据流的到来,在追踪途中若有tattacker时间内没有监听到任何无线信号,则认为本次追踪失败,并迅速回到网关sink节点重新开始监听;

    2-2)采用局部攻击:攻击者的窃听范围为普通节点的通讯范围的1.5倍,即1.5r,出现在监听范围内的所有数据包都将被发现,但攻击者无法监控网络中监听范围之外的数据包;

    2-3)被动攻击:attacker攻击期间不会干扰网络运行,不对数据包进行解析、不修改数据包数据、不冒充网络节点、不主动发送虚假数据包,监听过程中可以对监控到的数据流向进行分析,保存有用的信息,分析历史数据并推测source节点的可能方向;

    2-4)回溯攻击:攻击者追踪数据流的来源时,采用逐跳回溯的形式,attacker潜伏于节点周围窃听传输信号,当有数据包传来时,可以定位来源找到发送者并移动到发送者的位置,驻留在该位置上继续窃听,等待下一轮数据包的到来;

    3)令牌链路传输:网络初始化之后随机分配一个“令牌”到令牌环路,持有令牌的节点定义为启动节点,将环路所有节点定义为集合trs1,启动节点确定后,以贪婪路由的形式建立启动节点与网关sink之间的最短路由路径,最短路由路径称为令牌路径,如图1所示,由token节点起始到达sink节点的路径即为令牌路径,启动节点周期性生成虚拟数据包,发起数据转发过程,沿令牌路径传输,令牌路径上的节点将被标记为令牌节点,启动节点将接收网络中描述source节点距离的信标消息,通过信标消息分析启动节点与source节点的位置关系,其中定义source节点的弧度值为αs,“令牌”持有时间tp结束后,进行“令牌”再传递过程,该过程有两种方式,方式一:当“令牌”所在节点的弧度值小于时,启动节点通过信标消息判断出source节点与自身相对位置,将“令牌”沿着令牌环路向远离source节点的方向传递htoken跳;方式二:当“令牌”所在节点的弧度值大于时,启动节点将集合trs1中,弧度值大于且小于的节点定义为集合trs2,从集合trs2中随机选取一个节点,作为“令牌”传递的目标节点,传递完成后,启动节点清除当前节点标志及令牌路径,得到“令牌”的节点将成为新的启动节点,重新构建令牌路径,如图1所示,token节点将“令牌”传递到d节点,其中,信标消息的发送频率低于source节点发送数据包的频率,所以信标消息不会作为攻击者追溯的对象,如图8所示,本例令牌链路传输具体过程为:

    step1:在“令牌环路”上随机选取初始启动节点,该节点拥有一个“令牌”,设置持有为tp,当tp递减为0时,开始“令牌”再传递过程,转step2,否则,转step3;

    step2:定义source节点的弧度值为αs,当弧度值小于时,启动节点会将“令牌”沿着令牌环路向远离source节点的方向传递htoken跳;当弧度值大于时,选取令牌环路中弧度值大于且小于的节点定义为集合trs2,从中随机选取一个节点,将“令牌”传递到该节点,此时清除启动节点标志及令牌路径,重新设置得到“令牌”的节点为新的启动节点;

    step3:启动节点加入令牌链路,启动节点作为令牌链路起点开始生成虚假数据包,作为当前令牌链路节点,令牌链路的终点为网关sink;

    step4:当前令牌链路节点选择所有邻居中环数小于自身的节点组成集合ts;

    step5:选择ts中能量最高的节点,作为下一跳,传递数据包,将其加入令牌链路,并作为当前令牌链路节点;

    step6:检查当前令牌链路节点内存中是否存在真数据包,若果存在,则用真数据包替换假数据包,转step8;如果不存在真实数据,则执行step7;

    step7:如果当前令牌链路节点不为网关sink,重复步骤step4-step7,若是网关sink,执行step15;

    step8:随机选择一个时针方向,顺时针或逆时针;

    step9:以当前令牌链路节点到网关sink的连线作为边lcs,以sink为圆心,在所选的时针方向上旋转角度angle,边lcs扫过的扇形区域为多路径传输的“扇形区域”sectors;

    step10:随机选取前进方向random(0,1),如果为0执行step11;若为1执行step12;

    step11:在sectors内,当前节点选择hop值比自身小的邻居节点形成集合ts,转到step13;

    step12:在sectors内,当前节点选择hop值与自身相同并且在所选时针方向上的邻居节点形成集合ts;

    step13:选择ts中能量最大的节点,作为下一跳,传递数据包,加入令牌链路,并选定为当前令牌链路节点;

    step14:如果当前节点不为网关sink,重复步骤step10-step14;若是,则执行step15;

    step15:本轮令牌链路传输结束;

    4)事件环及干扰环传输路径:在令牌路径路由的同时,网络中的传感器开始对网络区域进行监控,目标一旦出现,传感器探测到的目标信息促使节点转化为source节点,source节点所在的环路被记为hops,为避免被追溯到事件环上的攻击者直接找到被保护对象,定义source节点周围两跳范围内为“危险区域”,避开危险区域,source节点随机选取hops 2环或hops-2环作为网络的事件环,如图1所示,阴影环路部分即是事件环,source节点形成后,向启动节点发送包含source节点方向信息的加密信标消息,发送信标消息规则是source节点生成一个空的信标消息包,循环选择远离网关sink的邻居节点作为消息传递的下一跳,发送消息包到令牌环路,然后随机选取一个时针方向(顺时针或者逆时针),信标消息通过令牌环路沿着所选的时针方向传递到启动节点,信标消息在令牌环路传递过程中,记录自身传递的跳数hb,该跳数信息为启动节点判断source节点的方位提供了参考,source节点将消息路由到事件环上,在环上随机选取传递方向即顺时针或逆时针方向均可,将包含真实事件的数据包沿事件环逐跳传递到令牌路径,并同时向相反方向释放一个假数据包,环上节点收到事件包后,默认将数据包存储在节点内存中,收到假数据包则会直接抛弃,source节点到令牌路径的弧形路径是整个事件环路的一部分,在source节点发送数据包过程中,弧形路径上的节点内存中都将保存有真实事件的数据包,与此同时,将网络内所有节点定义为集合rs1,从集合rs1中去除热点区域、令牌环、事件环以及与source节点相邻环路中的所有节点,形成新集合rs2,在集合rs2中以概率p选取干扰环环号,在选中的干扰环上,随机选择环上一个节点作为起始节点即假源,如图1所示,a点为选择的假源节点,以信标消息的方式激活假源节点,假源节点将在tfake时间内产生假包,以同样的方式传递到令牌路径,以隐藏真实事件环路和source节点位置,如图9所示,本例事件环传输的过程为:

    step16:节点发现监测对象,收集信息成为source节点,形成真实数据包,记录source节点环号hops,定义source节点周围2跳范围内为“危险区域”,定义网关sink周围3跳范围为“热点区域”;

    step17:source节点随机选取hops 2环或hops-2环作为网络的事件环,若其中一个备选位置位于危险区域、热点区域,则直接选择另一符合要求的备选位置为事件环;若两个备选位置均不符合要求,则选择source节点所在环为事件环;

    step18:选择source节点为当前节点;

    step19:当前节点选择所有邻居节点中,较自身更靠近事件环节点形成集合es1;

    step20:选择es1中能量最大的节点,作为下一跳,传递数据包,并选定为当前节点;

    step21:如果当前节点位于事件环,则执行step22,若否,重复步骤step19-step21;

    step22:随机选择一个时针方向,顺时针或逆时针;

    step23:当前节点选择hop值与自身相同并且在所选时针方向上的邻居节点形成集合es2;

    step24:选择es2中能量最大的节点,作为下一跳;

    step25:传递数据包,将真数据包存储到节点内存中,并向相反方向释放一个虚假数据包;

    step26:选定为当前节点,如果当前节点不为令牌链路节点,重复步骤step23-step26;若是则执行step27;

    step27:本轮事件环传输结束;

    如图10所示,本例干扰路径传输的过程为:

    step28:将网络内所有环路节点定义为一个集合rs1,从集合rs1中去除热点区域、事件环、令牌环和危险区域环路的节点,形成新集合rs2,在集合rs2中以p=0.2的概率选取干扰环节点,并用该节点的环号形成干扰环:

    step29:在每个干扰环上随机选取假源节点,作为当前节点,在tfake时间内持续产生假数据包;

    step30:随机产生一个时针方向dir,顺时针或逆时针;

    step31:当前节点选择hop值与自身相同并且在dir方向上的邻居节点形成集合is;

    step32:选择is中能量最大的节点,作为下一跳,传递数据包,同时反方向释放一个假包;

    step33:如果当前节点不为令牌链路,重复步骤step31-step33;若是则执行step34;

    step34:本轮干扰路径传输结束;

    5)多路径传输:启动节点生成的虚拟数据包在沿令牌路径逐跳传递的过程中,会检测节点内存中是否保存真实的数据包,当通过事件环路时,环路节点存储有真实数据包,令牌链路与事件环路的交点定义为“交叉节点”,交叉节点将用内存中的真实事件包替换掉虚拟数据包,并以多路径传输的方式传递消息至网关sink节点,传输过程中,交叉节点首先随机选取一个环路方向,定义交叉节点到sink的连线即“sink-交叉节点”为多路径的边lcs,然后以网关sink为圆心,将lcs沿选定的环路方向旋转angle角度,该边在旋转过程中扫过的扇形区域为多路径备选区域sectors,多路径传输将在该区域中随机选择一条通向sink节点的路径传递数据包,从交叉节点开始,每个节点随机挑选与当前节点同等跳数,并且位于环路方向上的节点,或者距离网关sink节点最近的邻居节点,作为下一跳节点,当节点位于最内侧环路时,直接将数据包转发到网关sink节点,如图1所示,由b节点到sink节点为一条多路径传输线路,如图2所示,多路径路由的一般过程,设交叉节点距离sink有i跳,多路径传输可产生的路径总数mi定义为:

    仿真实验:

    本例的仿真实验环境为matlab python实验平台,本例dtmp方法仿真结果将与slpdr方案和rsin方案进行比较,slpdr是一种基于动态路由的源节点保护协议,使用干扰环路、分段数据传输的形式来迷惑攻击者,rsin方案是基于中间节点、混合环路的源位置保护策略,仿真实验将从网络能耗、路径多样性、安全周期以及数据时延指标对路由方法进行验证dtmp路由方法的有益效果。

    一、网络能耗:如图示3所示,网络声明周期定义为网络中出现第一个能量耗尽的节点前source节点发送数据包的数量,slpdr方案在非热点区域创建较多虚假消息环路,虚假环路和事件环路上全部节点以循环路由的方式逐跳传递数据包,环路节点承受大量负担,造成事件环路大量能耗,rsin方案中采用了流量消息的方式对网络中的信息进行收集,同时起始节点还要发起对sink节点的消息传输服务,这使得起始节点承受了大量的网络能耗,造成网络过早的凋亡,本例dtmp方法引入的虚假源和真实source节点使用特定环路上的一部分节点传递数据,使攻击者感到困惑,提高网络安全性并节约了网络能耗,随着source节点到sink节点距离的增加,网络寿命基本不会有大的变动,本例dtmp方法不会在热点区域生成冗余路径,因此本例dtmp方法中的虚假数据流,对网络的能耗和寿命影响较小。

    二、路径多样性:在一个数据传输周期内,每个节点转发的数据包数量ni、与数据包转发总数m以及节点总数n之间的关系,体现了路径的分散性,用来评估网络中参与传输的节点的随机程度,路径多样性以信息论中的香农熵h(n)进行评价,定义如公式(4)所示:

    在一个网络生命周期中,统计各个节点对数据包的转发次数,计算熵值h(n),

    如图4所示,rsin方法大量中间节点集中在source节点周围,使得source节点到达中间节点的路径多样性不足,本例dtmp方法通过动态的调节令牌链路和虚假数据流的位置,使网络的路径不断变化,对于每个数据包发送周期而言,平均参与节点数量较slpdr有所减少,但网络参与数据包转发的节点趋于分散,故两者路径多样性趋于一致,同时本例dtmp方法减少单个节点的负载,进而提高了整个网络的寿命。

    三、安全周期:如图5所示,安全周期是指从攻击者开始攻击到成功捕捉到source节点为止,source节点的最大发包数量,攻击者可能在某一区域静默停留较长的时间,这将增大找到真实数据流向概率,缩短安全协议的安全周期,rsin方案没有额外的干扰路径,攻击者可能会陷入环路陷阱,但强大攻击者将很快意识到自己陷入了环路,接着将有计划的寻找source节点到达环路的数据流向,slpdr方案虚假环路可以达到吸引攻击者进入陷阱的效果,本例dtmp方法一定程度上隔离了主干消息通讯流,直接通向网关sink的消息流起始节点会定期的更换,这增大了攻击者判断被保护对象实际位置的难度,所以本例dtmp方法达到干扰攻击者,对source节点保护的效果,随着source节点和网关sink节点距离延长,网络的安全周期也将不断增大,随着节点密度的增大,参与消息传递的节点总数增加,网络构建的信息传输流更加多样化,增加了攻击者回溯的难度,使安全周期有逐渐增大的趋势,与安全周期相比,数据延时始终保持在一个较低的范围内,不会有明显的波动,如图6所示。

    四、数据时延:如图7所示,用数据包经历的平均最小跳数表示数据时延,由于本例dtmp方法在事件环、令牌链路形成时,并没有进行大规模的循环和延伸,不会引起较大的传输延时,从图7给出的结果可以看出,随着source节点位置的变化,网络数据延迟并没有加大的波动,一直处于低延迟水平。


    技术特征:

    1.一种基于动态令牌的多路径源节点位置隐私保护路由方法,其特征在于,包括如下步骤:

    1)定义网络结构:所述无线传感器网络由大量传感器节点和一个网关sink节点组成,均匀分布于监测区域,传感器节点负责监测目标,传感器节点监测到目标后发起信息传递,该传感器节点定义为source节点,source节点将收集的目标信息以时间ts为周期发送数据包,通过逐跳方式传递至网关sink节点,网络结构设置如下:

    1-1)网络节点均匀分布于监测区域,每个节点拥有相同的资源配置,包括同样的计算能力、存储空间、初始能量eo、通信半径r;

    1-2)网关sink节点位于网络中心,无需考虑能量消耗、计算能力、存储能力以及射频能力;

    1-3)网络节点布置完成后,以各个节点的位置为基准,将网络划分为均匀的网格,每个网格选择能量最高的为簇头节点,负责传递数据,并实时更替;

    1-4)以网关sink节点为中心、以通信半径r为梯度,将网络划分为层层环路,定义节点所在的环路编号为节点环号hop,网关sink节点的环号设为0,网络中最大环路编号为maxhop,maxhop–1环定义为“令牌环路”,作为令牌节点的备选集合;

    1-5)网络初始化完成后,每个节点向邻居广播自己的环号hop、网格编号、节点编号id、剩余能量ei、位置坐标(x,y)、以网关sink为原点的弧度值α、簇头节点标志,在每个节点的路由表中存储上述信息;

    1-6)网络传输的数据包进行加密处理,攻击者无法获得数据包包含的数据信息,也无法区分真实数据包和伪数据包;

    2)定义攻击者模型:攻击者即attacker的最终目标是捕获传感器网络所监控的对象,source节点是距离监控对象最近的节点,所以在攻击模型中认为攻击者是以获取source节点位置为目标的入侵者,攻击者通过监控周围节点发送的数据包,追踪source节点位置,攻击者模型定义如下:

    2-1)attacker的计算能力、存储能力和能源消耗不受限制,attacker监听到无线电波后,可以获取信号角度、强度,准确定位发射器,并移动到发射器位置,移动过程花费的时间定义为δ,δ大于完成一次数据包传递所花费时间,假设攻击者一开始伺服在网关sink节点的附近,等待数据流的到来,在追踪途中若有tattacker时间内没有监听到任何无线信号,则认为本次追踪失败,并迅速回到网关sink节点重新开始监听;

    2-2)采用局部攻击:攻击者的窃听范围为普通节点的通讯范围的1.5倍,即1.5r,出现在监听范围内的所有数据包都将被发现,但攻击者无法监控网络中监听范围之外的数据包;

    2-3)被动攻击:attacker攻击期间不会干扰网络运行,不对数据包进行解析、不修改数据包数据、不冒充网络节点、不主动发送虚假数据包,监听过程中可以对监控到的数据流向进行分析,保存有用的信息,分析历史数据并推测source节点的可能方向;

    2-4)回溯攻击:攻击者追踪数据流的来源时,采用逐跳回溯的形式,attacker潜伏于节点周围窃听传输信号,当有数据包传来时,可以定位来源找到发送者并移动到发送者的位置,驻留在该位置上继续窃听,等待下一轮数据包的到来;

    3)令牌链路传输:网络初始化之后随机分配一个“令牌”到令牌环路,持有令牌的节点定义为启动节点,将环路所有节点定义为集合trs1,启动节点确定后,以贪婪路由的形式建立启动节点与网关sink之间的最短路由路径,最短路由路径称为令牌路径,启动节点周期性生成虚拟数据包,发起数据转发过程,沿令牌路径传输,令牌路径上的节点将被标记为令牌节点,启动节点将接收网络中描述source节点距离的信标消息,通过信标消息分析启动节点与source节点的位置关系,其中定义source节点的弧度值为αs,“令牌”持有时间tp结束后,进行“令牌”再传递过程,该过程有两种方式,方式一:当“令牌”所在节点的弧度值小于时,启动节点通过信标消息判断出source节点与自身相对位置,将“令牌”沿着令牌环路向远离source节点的方向传递htoken跳;方式二:当“令牌”所在节点的弧度值大于时,启动节点将集合trs1中,弧度值大于且小于的节点定义为集合trs2,从集合trs2中随机选取一个节点,作为“令牌”传递的目标节点,传递完成后,启动节点清除当前节点标志及令牌路径,得到“令牌”的节点将成为新的启动节点,重新构建令牌路径,其中,信标消息的发送频率低于source节点发送数据包的频率;

    4)事件环及干扰环传输路径:在令牌路径路由的同时,网络中的传感器开始对网络区域进行监控,目标一旦出现,传感器探测到的目标信息促使节点转化为source节点,source节点所在的环路被记为hops,定义source节点周围两跳范围内为“危险区域”,避开危险区域,source节点随机选取hops 2环或hops-2环作为网络的事件环,source节点形成后,向启动节点发送包含source节点方向信息的加密信标消息,发送信标消息规则是source节点生成一个空的信标消息包,循环选择远离网关sink的邻居节点作为消息传递的下一跳,发送消息包到令牌环路,然后随机选取一个顺时针或逆时针方向,信标消息通过令牌环路沿着选取的时针方向传递到启动节点,信标消息在令牌环路传递过程中,记录自身传递的跳数hb,source节点将消息路由到事件环上,在环上随机选取传递方向即顺时针或逆时针方向均可,将包含真实事件的数据包沿事件环逐跳传递到令牌路径,并同时向相反方向释放一个假数据包,环上节点收到事件包后,默认将数据包存储在节点内存中,收到假数据包则会直接抛弃,source节点到令牌路径的弧形路径是整个事件环路的一部分,在source节点发送数据包过程中,弧形路径上的节点内存中都将保存有真实事件的数据包,与此同时,将网络内所有节点定义为集合rs1,从集合rs1中去除热点区域、令牌环、事件环以及与source节点相邻环路中的所有节点,形成新集合rs2,在集合rs2中以概率p选取干扰环环号,在选中的干扰环上,随机选择环上一个节点作为起始节点即假源,以信标消息的方式激活假源节点,假源节点将在tfake时间内产生假包,假包以同样的方式传递到令牌路径,以隐藏真实事件环路和source节点位置;

    5)多路径传输:启动节点生成的虚拟数据包在沿令牌路径逐跳传递的过程中,会检测节点内存中是否保存真实的数据包,当通过事件环路时,环路节点存储有真实数据包,令牌链路与事件环路的交点定义为“交叉节点”,交叉节点将用内存中的真实事件包替换掉虚拟数据包,并以多路径传输的方式传递消息至网关sink节点,传输过程中,交叉节点首先随机选取一个环路方向d,定义交叉节点到sink的连线即“sink-交叉节点”为多路径的边lcs,然后以网关sink为圆心,将lcs沿d方向旋转angle角度,该边在旋转过程中扫过的扇形区域为多路径备选区域sectors,多路径传输将在该区域中随机选择一条通向sink节点的路径传递数据包,从交叉节点开始,每个节点随机挑选与当前节点同等跳数,并且位于d方向上的节点,或者距离网关sink节点最近的邻居节点,作为下一跳节点,当节点位于最内侧环路时,直接将数据包转发到网关sink节点,设交叉节点距离sink有i跳,多路径传输可产生的路径总数mi定义为:

    技术总结
    本发明公开了一种基于动态令牌的多路径源节点位置隐私保护路由方法,其特征在于,包括如下步骤:1)定义网络结构;2)定义攻击者模型;3)令牌链路传输;4)事件环及干扰环传输路径;5)多路径传输。这种方法使得攻击者难以回溯到source节点,能延长和抵御回溯攻击、增加网络的安全时间,实现source节点位置的隐私保护,在环路传输阶段,采用部分节点参与的方式,可以节约网络能耗,提高网络寿命。

    技术研发人员:王慧娇;吴少轩;蒋华;吴林
    受保护的技术使用者:桂林电子科技大学
    技术研发日:2020.12.03
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-5694.html

    最新回复(0)