基于性能反馈的容侵路由协议的制作方法

文档序号:11139618阅读:638来源:国知局
基于性能反馈的容侵路由协议的制造方法与工艺
本发明涉及路由协议,尤其涉及一种基于性能反馈的容侵路由协议。
背景技术
:无线传感器网络中的传感器节点通常硬件资源受限、体积受限,导致计算能力和存储能力有限,电源续航能力有限;传感器节点通常数量众多,分布广泛,且通常没有保护措施,所以容易被俘获,易遭受恶意攻击;传感器节点之间通常以无线方式通信,通信能力有限,要求网络有一定容错能力。无线传感器网络是否安全,能否保证网络的机密性、完整性、可靠性、新鲜性等安全目标是一个亟需考虑的问题。针对无线传感器网络的这些特点和要求,需要能够保证网络在面对恶意攻击的同时能够保证网络功能的正常运行,为此研究者设计了一些容侵路由协议,诸如SPINS、SEIF、SEEM、SCMRP、TRANS、INSENS、H-SPREAD、ATSR、TARF等,但是现有的容侵路由协议在考虑安全性时很少考虑网络的QoS性能如何,为了达到安全性,通常会使网络性能大大下降。技术实现要素:发明目的:本发明针对现有技术存在的问题,提供一种基于性能反馈的容侵路由协议(PerformancFeedbackIntrusionToleranceProtocol,PFITP),该协议即保证无线传感器网络既能抵抗常见恶意攻击,又能提供较好的网络性能。技术方案:本发明所述的基于性能反馈的容侵路由协议,包括:(1)节点传输数据结束时,由基站广播性能采集数据包,节点收到后反馈确认数据包;(2)基站根据广播的性能采集数据包和接收的确认数据包估算时延、丢包率、连通性和路径长度;(3)根据时延、丢包率、连通性和路径长度的性能变化程度识别可疑节点,并列入可疑节点表列表;(4)根据节点的能耗、时延、丢包率、连通性和路径长度的性能变化程度以及可疑节点列表,计算节点的信任指数,并按照信任指数从大到小对节点进行排序;(5)基站对信任指数排序在前的指定数目的节点进行认证,将认证成功的节点选为簇头节点;(6)根据新的簇头节点重新组网,进行新一周期的数据传输。进一步的,步骤(1)具体包括:(11)节点传输数据结束时,基站广播加密后的性能采集数据包,并记录广播时间tsend;其中,性能采集数据包格式为:BS→*:Gather||Eskbs(IDBS||Num1||Num2),BS→*表示基站发送到某节点,Gather表示消息类型为性能数据采集,IDBS为基站的节点号,Num1是当前轮数,Num2为基站产生的随机数,Eskbs为基站的私钥,用于加密广播数据包;(12)簇头节点收到性能采集数据包后,采用基站公钥Epkbs解密,若数据包中的当前轮数Num1正确,则向基站反馈确认数据包,并将性能采集数据包转发给所在簇的普通节点;(13)普通节点收到性能采集数据包后,若数据包中的当前轮数Num1正确,则向基站反馈确认数据包;(14)基站收到反馈的确认数据包时记录收包时间trecieve;其中,确认数据包格式为:*→BS:ReGather||EsB(Pacnum||IDB||Num1||Num2+1),*→BS表示某节点发送到基站,ReGather表示消息类型为性能采集反馈数据,Pacnum表示节点B的发包数,IDB为发送节点B的节点号,EsB为节点私钥。进一步的,所述节点传输数据中,数据发包格式为:普通节点格式为:X→BS:MsgType||IDFather||IDX||IDDst||IDS||hop||Mgs||MAC,每项对应内容为:消息类型||下一跳节点号||当前节点号||目的节点号||源节点号||所经跳数||数据||MAC;其中MAC表示发送数据的消息验证码,MAC=C(K,M),C为MAC函数,K为与基站共享的秘钥,M为消息摘要;簇头节点格式为:CH→BS:MsgType||IDCH||IDDst||IDS||nums||hops||Mgs||MAC,每项对应内容为:消息类型||当前节点号||目的节点号||源节点号||源节点发包数||源节点跳数||数据||MAC。进一步的,步骤(2)具体包括:(21)时延估算:根据基站广播性能采集数据包的时间点tsend和节点i的确认数据包到达基站的时间trecieve(i),计算得到节点i的时延为Tdelay(i)=(trecieve(i)-tsend)/2,则节点i发送的数据到达下一跳的时延为Delayi=Tdelay(i)-Tdelay(i-1),相邻两次的Delayi差值为ΔDelayi,之后将各节点的时延Delay和时延变化ΔDelay存入基站维护的<节点时延表>;(22)丢包率估算:基站根据每个节点的发送数据包数Pacsend、最终收到来自该节点的数据包数Pacrecieve,计算得到每个节点的丢包率为PacLoss=1-Pacrecieve/Pacsend,相邻两次测量的丢包率差值为ΔPacLoss,再将每个节点的丢包率PacLoss和ΔPacLoss存入基站维护的<节点丢包率表>;(23)连通性估算:根据每个簇头上连接的节点数LinkNum和子节点ID、网络中的节点数NodeNum,获取其中的孤岛节点、每个簇头的子节点、每个簇头连接节点数占总结点数比例,并存入<节点连通性表>:(24)路径长度估算:基站根据返回的确认数据包,统计解析出的节点ID号个数,作为路径长度hop,相邻两次测量的路径长度差值为Δhop,将路径长度hop和Δhop保存到<路径长度记录表>。进一步的,步骤(3)具体包括:(31)时延数据分析:判断各节点的时延数据是否在置信区间内,如果在置信区间内,则将时延数据视为可靠数据,并将时延数据加入评估数据表中;否则视为无效数据,并将该节点标记为入侵节点或坏节点,存入可疑节点列表中;(32)丢包率数据分析:判断各节点的丢包率数据是否在置信区间内,如果在置信区间内,则将丢包率数据视为可靠数据,并将丢包率数据加入评估数据表中;否则视为无效数据,并将该节点标记为入侵节点或坏节点,存入可疑节点列表中;(33)连通性数据分析:判断各节点的连通性变化是否超过预设阈值,若超过,则将对应节点标记为可疑节点;(34)路径长度数据分析:判断各节点的路径长度变化是否超过预设阈值,若超过,则将对应节点标记为可疑节点。进一步的,步骤(4)具体包括:(41)设网络性能权重系数为ω1,网络稳定性权重系数为ω2,网络能耗权重系数为ω3,其中ω1+ω2+ω3=1,网络性能参数包括丢包率、时延、连通率和路径长度,权重系数分别记为ω11、ω12、ω13、ω14,其中ω11+ω12+ω13+ω14=1,网络稳定性参数包括丢包率变化、时延变化、连通率变化和路径长度变化,权重系数分别记为ω21、ω22、ω23、ω24,其中ω21+ω22+ω23+ω24=1;(42)根据设定的权重系数和对应的数据计算得到信任指数,并按照信任指数从大到小对节点进行排序。进一步的,步骤(5)具体包括:(51)基站选取出指定数目的信任指数排序在前的节点;(52)基站先生成一个随机数m,并将随机数m用X节点的公钥keyPX加密后,发送给选取出的节点;(53)选取出的节点用私钥keySX对接收的数据进行解密得到m·,将m·用和基站共享的对称秘钥keyBS-X加密发送给基站;(54)基站用对称密钥keyBS-X解密,如果解出的结果等于m,则对应节点认证成功,选取为簇头节点。有益效果:本发明与现有技术相比,其显著优点是:本发明提供了一种适用于基站集中控制形式的无线传感器网络中的公钥加密方案。该方法是基于有限域中的运算,基于多变量公钥密码基本结构,利用类似RSA的变化方法成功生成公钥多项式。克服了基于扩域变化多变量公钥密码方案易受到线性化方程攻击的问题,且私钥计算效率要远高于RSA算法,用于无线传感器网络中可以降低无线传感器网络中普通节点的能量消耗。该协议能够自己估算当前网络的性能,并根据网络性能更改簇头、选择效率更高的连接点、禁止性能明显异常的节点连接网络,不仅可以提高网络通信效率还可以及时排除可能的入侵节点对网络的影响。附图说明图1是本发明的一个实施例的流程示意图;图2是SCMRP协议、TARF协议、PFITP协议的网络平均能耗随网络中节点数目增多而变化的示意图;图3是SCMRP协议、TARF协议、PFITP协议的网络平均时延随网络中节点数目增多而变化的示意图。具体实施方式本实施例公开了一种基于性能反馈的容侵路由协议PFITP,该协议的前提是:首先应当在安全时间内路由成簇,具体路由成簇过程为:(1)在安全时间内,基站将进行一次广播:BS→*:Broad||IDBS,Broad表示数据包类型为广播数据包,IDBS表示广播数据包来自基站。节点收到广播数据包后返回响应数据包:*→BS:RPT||RSSI||IDBS||IDRPT,PRT表示数据包类型为广播数据的响应包,IDRPT表示对广播信号响应的节点号,RSSI表示响应节点收到基站信号的强度。基站记录给出回应数据包的节点,这些节点都可以当做候选簇头节点,可以取其中10%作为簇头节点。(2)基站将响应节点的RSSI值按大小顺序排列,按排列序号等差变化选择部分节点作为簇头,第一轮处于安全期内,所以不用采取认证措施。基站向选为簇头的节点发送成簇通知:BS→X:TypSink||IDX||IDBS,TypSink表示消息类型为成簇通知,IDX为目标节点号。节点收到成簇通知后,将自己设为簇头节点并接收其他节点的连接,簇头每隔一段间隙广播等待连接数据包:X→*:Ready||IDX,Ready表示消息类型为等待连接。(3)普通节点接收到等待连接通知后,根据检测到的RSSI值的大小,选择信号强度大的簇头发出加入申请:A→X:Req||IDA||IDX,Req表示消息类型为加入网络申请;簇头接收到加入申请后,如果允许加入,则返回加入成功数据包:X→A:Suc||IDX||IDA,Suc表示成功加入网络。普通节点加入簇头前要先向基站认证该节点身份是否合法:A→BS:AuthReq||EsA(IDX)||IDA||IDBS,AuthReq表示消息;类型为认证请求,IDX为待认证节点ID号,EsA表示用节点A的私钥加密;基站将认证结果发送给节点A:BS→A:AuthBack||EpA(Ans)||IDBS||IDA,Ans为验证结果,EpA表示用A的公钥加密。如果认证通过,申请加入该节点,否则,选择其他节点重新认证。(4)考虑在大规模网络情况下,可能有节点无法直接加入簇头,所以需要中转节点转发数据包,在节点成功加入网络后,定时发出可中转信号:A→*:Trans||IDA,Trans表示消息类型为可中转,尚未加入网络的节点可以通过这些节点加入网络。中转连接建立步骤与(3)类似,只是将消息类型改为TransReq和TransSuc。路由成簇完成后,开始进入工作阶段,如图1所示,PFITP协议包括以下步骤:S1、节点传输数据结束时,由基站广播性能采集数据包,节点收到后反馈确认数据包。该步骤具体包括:S11、节点传输数据结束时,基站广播加密后的性能采集数据包,并记录广播时间tsend;其中,性能采集数据包格式为:BS→*:Gather||Eskbs(IDBS||Num1||Num2),BS→*表示基站发送到某节点,Gather表示消息类型为性能数据采集,IDBS为基站的节点号,Num1是当前轮数,Num2为基站产生的随机数,Eskbs为基站的私钥,用于加密广播数据包。节点传输数据时,普通节点发送数据包的格式为:X→BS:MsgType||IDFather||IDX||IDDst||IDS||hop||Mgs||MAC,每项对应内容为:消息类型||下一跳节点号||当前节点号||目的节点号||源节点号||所经跳数||数据||MAC;其中MAC表示发送数据的消息验证码,MAC=C(K,M),C为MAC函数,K为与基站共享的秘钥,M为消息摘要;簇头节点格式为:CH→BS:MsgType||IDCH||IDDst||IDS||nums||hops||Mgs||MAC,每项对应内容为:消息类型||当前节点号||目的节点号||源节点号||源节点发包数||源节点跳数||数据||MAC。S12、簇头节点收到性能采集数据包后,采用基站公钥Epkbs解密,若数据包中的当前轮数Num1正确,则向基站反馈确认数据包,并将性能采集数据包转发给所在簇的普通节点。S13、普通节点收到性能采集数据包后,若数据包中的当前轮数Num1正确,则向基站反馈确认数据包。其中,确认数据包格式为:*→BS:ReGather||EsB(Pacnum||IDB||Num1||Num2+1),*→BS表示某节点发送到基站,ReGather表示消息类型为性能采集反馈数据,Pacnum表示节点B的发包数,IDB为发送节点B的节点号,EsB为节点私钥。S14、基站收到反馈的确认数据包时记录收包时间trecieve。S2、基站根据广播的性能采集数据包和接收的确认数据包估算时延、丢包率、连通性和路径长度。该步骤具体包括:S21、时延估算:根据基站广播性能采集数据包的时间点tsend和节点i的确认数据包到达基站的时间trecieve(i),计算得到节点i的时延为Tdelay(i)=(trecieve(i)-tsend)/2,则节点i发送的数据到达下一跳的时延为Delayi=Tdelay(i)-Tdelay(i-1),相邻两次的Delayi差值为ΔDelayi,之后将各节点的时延Delay和时延变化ΔDelay存入基站维护的<节点时延表>。节点时延表格式为:周期数节点号节点类型时延时延变化S22、丢包率估算:基站根据每个节点的发送数据包数Pacsend、最终收到来自该节点的数据包数Pacrecieve,计算得到每个节点的丢包率为PacLoss=1-Pacrecieve/Pacsend,相邻两次测量的丢包率差值为ΔPacLoss,再将每个节点的丢包率PacLoss和ΔPacLoss存入基站维护的<节点丢包率表>。节点丢包率表格式为:周期数节点号节点类型丢包数发包数丢包率丢包率变化S23、连通性估算:根据每个簇头上连接的节点数LinkNum和子节点ID、网络中的节点数NodeNum,获取其中的孤岛节点、每个簇头的子节点、每个簇头连接节点数占总结点数比例,并存入<节点连通性表>。节点连通性表格式为:周期数节点号子节点号连接率连接率变化S24、路径长度估算:基站根据返回的确认数据包,统计解析出的节点ID号个数,作为路径长度hop,相邻两次测量的路径长度差值为Δhop,将路径长度hop和Δhop保存到<路径长度记录表>。路径长度记录表表格式为:周期数节点号节点类型路径长度路径长度变化S3、根据时延、丢包率、连通性和路径长度的性能变化程度识别可疑节点,并列入可疑节点表列表。该步骤具体包括:S31、时延数据分析:对于时延,可以直接用正态分布描述,一个节点发出的数据包传到相邻的另一个节点的时间,总是在某一个时间长度附近波动。设时延总体满足的正态分布为X~N(μ,σ2),可将该正态分布转换为标准正态分布形式,即假设采样次数为n,采样结果为ti,n次采样的平均时延为则时延样本的标准差为:所以这些采样数据可以看成自由度为n-1的t分布:假设t分布的双侧置信概率为α,则置信区间为(-tα/2,tα/2),有P(-tα/2<t<tα/2)=1-α。所以,根据概率α和t分布自由度,查找t分布置信区间查询表,可以得出发生概率为α的区间。假设找到置信区间(-tα/2,tα/2),由得:所以得到:即的置信区间为将安全期间得到的数周期的数据作为最初评估数据,选择自由度和双侧置信概率,查t分布表,计算出置信区间。判断各节点的时延数据是否在置信区间内,如果在置信区间内,则将时延数据视为可靠数据,并将时延数据加入评估数据表中;否则视为无效数据,并将该节点标记为入侵节点或坏节点,存入可疑节点列表中。S32、丢包率数据分析:对于丢包率,节点单位时间收到数据包的个数可以看做X~N(μ,σ2)的正态分布,假设每个单位时间收到的数据包数为ni,t个单位时间收到的数据包为则t个单位时间收到的数据包均值为标准差为假设每个单位时间发出的数据包为k,则每个单位时间的收包比例为ni/k,k为常数,所以收包率有pi=ni/k,则X~N(μ/k,σ2/k2)。因此,对于m个采样数据,ni/k也是符合t分布的,k用周期内发包数均值取代。丢包率和收包率的和为一,所以计算出收包率的置信区间后就可以得到丢包率的置信区间。判断各节点的丢包率数据是否在置信区间内,如果在置信区间内,则将丢包率数据视为可靠数据,并将丢包率数据加入评估数据表中;否则视为无效数据,并将该节点标记为入侵节点或坏节点,存入可疑节点列表中。S33、连通性数据分析:判断各节点的连通性变化是否超过预设阈值,若超过,则将对应节点标记为可疑节点。预设阈值可由用户设定,例如设为80%,当某簇头之前只能连接10个子节点,突然连接了18个节点,将其标记为可疑节点。S34、路径长度数据分析:判断各节点的路径长度变化是否超过预设阈值,若超过,则将对应节点标记为可疑节点。预设阈值可由用户设定,例如设为80%。S4、根据节点的能耗、时延、丢包率、连通性和路径长度的性能变化程度以及可疑节点列表,计算节点的信任指数,并按照信任指数从大到小对节点进行排序。该步骤具体包括:S41、设网络性能权重系数为ω1,网络稳定性权重系数为ω2,网络能耗权重系数为ω3,其中ω1+ω2+ω3=1,每个系数由用户根据需要设定,例如,可以设定ω1=0.4,ω2=0.3,ω3=0.3,网络性能参数包括丢包率、时延、连通率和路径长度,权重系数分别记为ω11、ω12、ω13、ω14,其中ω11+ω12+ω13+ω14=1,可以设定ω11=0.3、ω12=0.3、ω13=0.3、ω14=0.1,网络稳定性参数包括丢包率变化、时延变化、连通率变化和路径长度变化,权重系数分别记为ω21、ω22、ω23、ω24,ω21+ω22+ω23+ω24=1,可以设定ω21=0.25、ω22=0.25、ω23=0.25、ω24=0.25。S42、根据设定的权重系数和对应的数据计算得到信任指数,并按照信任指数从大到小对节点进行排序。例如对每张性能数据表分别按各个性能从好到坏排序、性能变化从小到大进行排序、发包数从少到多排序。取每张表排名前5%的节点作为第一档,分数记为100,排名每降低5%记为另一档,分数减5。按照上述的计分方法和权重系数计算综合分数,将综合分数视为信任指数。S5、基站对信任指数排序在前的指定数目的节点进行认证,将认证成功的节点选为簇头节点。该步骤具体包括:S51、基站选取出指定数目的信任指数排序在前的节点。S52、基站先生成一个随机数m,并将随机数m用X节点的公钥keyPX加密后,发送给选取出的节点。S53、选取出的节点用私钥keySX对接收的数据进行解密得到m·,将m·用和基站共享的对称秘钥keyBS-X加密发送给基站。S54、基站用对称密钥keyBS-X解密,如果解出的结果等于m,则对应节点认证成功,选取为簇头节点。另外,如果A节点要验证B节点的身份,A节点将验证请求发送给基站,基站用上述方法验证节点B的身份,验证结束后基站将验证结果发送给节点A。是一种用基站代替节点进行复杂计算的验证方法。S6、根据新的簇头节点重新组网,进行新一周期的数据传输。为展示出本是实施例的协议的性能,对SCMRP协议、TARF协议、PFITP协议在物联网感知层仿真系统(IoTSIM)中进行了仿真,并从能量消耗和时延等网络性能等方面对比分析了这三种协议。SCMRP与PFITP协议都是层次性路由协议,TARF与PFITP协议都是基于反馈的协议,有一定相关性;分析表明PFITP协议对女巫攻击、黑洞攻击、选择性转发攻击、虫洞攻击、污水池攻击都有一定抵抗力,三种协议都能抵抗常见恶意攻击,所以有一定可比性。如图2所示随着网络规模变大,三种协议的平均网络能耗都在增加,但是SCMRP协议随着节点数目增加,平均网络能耗增加的较快,且能耗一直高于TARF和PFITP协议。如图3在网络规模不大时,三种协议平均时延相差不大,但是当网络规模变大时,SCMRP和TARF协议的网络平均时延呈逐渐变大趋势,而PFITP协议的网络平均时延的增加较为平缓,体现出了PFITP的优越性。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1