一种用于家居智能控制的无线宽带安全路由方法

文档序号:7891892阅读:248来源:国知局
专利名称:一种用于家居智能控制的无线宽带安全路由方法
技术领域
本发明属于wifi (wireless fidelity,无线宽带,以下同此含义)无线网络和信息安全的交叉领域,特别涉及wifi无线网络中的安全路由技术。
背景技术
近年来,随着物联网技术的兴起,基于wifi技术的智能家居系统已成为业界研究和发展的热点。由于wifi网络具有较高的传输速率,并且通信距离能达到100米,这些特征使得它非常适合于建筑物内的通信。路由技术是wifi网络应用的关键技术之一。在智能家居系统中,不同的家电与控制终端之间存在着大量的命令与数据交互。在这个过程中,路由协议将发挥巨大的作用,它能够在源点和目的点之间寻找合适的路径,并沿着该路径把数据或命令转发出去。由于数据包采用了无线传输的方式,如何保障其数据的私密性也是需要重点考虑的问题。因此,设计一种具有安全保障机制的wifi路由方法很有必要性。在无线网络中,路由协议可以分为源路由和表驱动两种。源路由是指在源点处就将整个路径计算出来,中间节点只是按照源点计算的路径进行转发,自己并不负责路由的选择。表驱动路由是指每个节点都参与路径的计算,它们必须选择出合适的下一跳节点。表驱动路由的开销相对较小,且更容易适应外界环境的变化。源路由协议需要维护一定的链路信息,但是计算出的路由能够提供较好的端到端的服务质量(Quality ofService, QoS, 以下同)。在智能家居领域中,源路由协议具有更好的应用前景,这是因为第一,wifi网络在室内受天气干扰的程度较小,并且智能家居系统中的通信节点通常移动性较差,这就使得wifi网络具有了相对稳定的外部环境,链路状况也不会发生很剧烈的变化;第二,使用源路由协议能够提供较好的端到端通信质量,这样可以保证智能家居系统的服务水平。但是,考虑到安全性问题,仅仅由源节点来计算数据包转发的路径可能遭受非法的攻击,因此可能需要中间节点负责安全监督。此处,引入了安全多方计算技术,中间节点可能进行安全协作对源节点计算的路径实时监控,避免恶意节点对路径上的数据包发起攻击。传统的路由协议在计算路由时主要通过最小跳数来衡量路径的好坏,但是在wifi 网络中,这个准则并不是很理想。一般而言,跳数的减少就意味着每跳通信距离的增加。而通信距离越长,链路的质量就越差,网络的传输速率也就越低。因此,它实际上降低了业务的服务质量。此外,对于智能家居系统而言,使用单一的路径评判标准也是不够的。路由安全性、可靠性、链路时延等问题也应当是路由协议考虑的内容,一条安全路径的跳数也可能会多于一条不安全的路径的跳数。合理的传输路径应当是多个性能指标的平衡与综合。目前学术界已经对此进行了一些研究,但由于支持多参数的路由计算较为复杂,因此目前并没有合适的智能家居安全路由方法
发明内容
技术问题本发明的目的是提供一种用于家居智能控制的无线宽带安全路由方法,用于向智能家居系统中的各种业务提供安全、时延、可靠性等多性能保障的路由计算服务,并基于粒子群算法实现了最优路径的发现,同时实现了数据包的安全转发。本发明可较显著提升智能家居系统的通信性能,从而使用户获得良好的使用体验。技术方案本发明的方法是一种策略性方法,可以应用于智能家居领域的各种通信场景,将智能家居系统中的每个有通信能力的电器或终端设备看成一个节点。本发明提供了一种安全路由方法,能够支持任意两个节点之间多性能参数的路径计算和安全监管。用于家居智能控制的无线宽带安全路由方法包含以下三个部分①节点对网络链路状况的搜集;②最优路径的计算;③源节点和最优路径上的接收节点基于加密、认证和哈希函数方法进行安全多方计算从而保障数据的安全发送所述的节点对网络链路状况的搜集包括的两个功能邻居节点信息交流和网络链路状况广播,实现这两个功能的步骤包括①每个节点定期向一跳邻居节点发送“Hello”报文,通告本节点的相关信息,内容包括节点号、本节点的网络地址、本节点的当前队列长度和本消息的发送时间,②每个节点在收到邻节点的“Hello”报文后,将其保存到本节点的邻居信息表中, 邻居信息表中包括邻居节点号、邻居节点地址、邻居节点队列长度和“Hello”报文发送时间,如果邻居信息表中没有该节点的信息,则将其添加至表中,如果邻居信息表中已有该节点的信息,则更新其队列长度与发送时间信息;此外,节点也对邻居信息表进行监控,如果超过了一定时间后,某邻居节点的发送时间仍然没有更新,则需要将其从邻居信息表中删除;各节点在更新邻居信息表时,同步更新自己的链路信息表;链路信息表是一个nXn的矩阵,η是网络中的节点数,链路信息表中存储了所有节点之间的连接信息以及相应的QoS 信息;③如果发生下述三种情况,节点将判定网络的拓扑结构发生了变化,有必要让网络中的其它节点知道第一,发现了新的邻居节点;第二,邻居节点消失;第三,邻居节点的队列长度发生了较大的变化;此时,节点会将自己的邻居信息表放入“Changing”报文中, 并在网络中进行广播;④每个节点在收到“Changing”报文后,对本节点链路信息表中的内容进行更新;所述的最优路径计算包括如下的处理步骤输入网络信息与算法参数数据网络信息包括源节点、目标节点以及网络中链路的状态信息和QoS信息,算法参数数据包括种群规模、种群迭代次数、a” α2、a3、a4、Cl、 C2以及ω ;输出由节点编号组成的路径序列,算法步骤第一,设定种群规模、算法迭代次数,生成初始种群,第二,使用位置评价函数对各粒子的位置进行评价,第三,对第k代中的各粒子,求出个体当前最优位置7^、全局最优位置^^,并使用速度更新公式和位置更新公式进行更新,
第四,判断迭代次数是否达到预先设定,达到则算法终止,否则转回第二步,其中,粒子位置评价函数为f = Q1C-U2H+a3L隱+a4Nave)在该公式中,f是粒子位置的评价结果,C代表求出的路径是否是通路,H代表路径的跳数,Lmax代表路径上所有节点的最大队列长度,Nave代表路径上所有节点的平均邻居节点个数,αι、α2、a3、Ci4分别表示通路因子、跳数因子、队列因子和邻居数因子;速度更新公式为vf:1 = mvkld + ClTandl ( )(lfd - x-d ) + c2rand2 ( )(Pgkd - xfd )在该公式中,k表示算法执行至第k代,i表示第i个粒子,d表示第d维解空间; X么表示粒子i在第k次迭代中的位置,4、七+1分别表示粒子i在第k、k+l次迭代时的速度, 」^表示该粒子的历史最优位置,Atd表示整个粒子群体的最优位置,Cl、C2为加速常数,ω为惯性权重;位置更新公式为X =1在该公式中,X^1表示粒子i第k+Ι次迭代时的位置;所述的“源节点和最优路径上的接收节点基于加密、认证和哈希函数方法进行安全多方计算从而保障数据的安全发送”包括如下的处理步骤源节点作为发送节点,承担了数据的发送工作,它的主要步骤是①根据源节点和目的节点使用粒子群优化算法来求解最优路径,②最优路径上的t个节点Ni = (i = 1,2,. . . t)约定各自存储一个隐私身份数据 XiQ = 1,2, · · · , t),作为彼此隐私认证的标识,③将应用层传下来的数据打包,把计算出的路径放入该数据包的包头中。源节点和最优路径上的接收节点基于加密、认证和哈希函数等方法进行安全多方计算从而保障数据的安全转发①接收节点Ni首先判断自己是否是数据的最终目的地,如果是,则将数据包上交给应用层,②如果当前节点Ni不是最终目的地,则该节点取出数据包头中的路径,读取路径的下一跳Ni+1的信息,接下来进行身份认证,节点Ni生成一个随机数R,并将其发送给节点 Ni+1,③节点Ni+1收到Ni产生的随机数R后,生成一个私钥Ks和两个公钥Kpl和Kp2,其中Kpl+KP2 = R,同时节点Ni+1将公钥Kp1和Kp2回发给Ni,④节点Ni收到Kpl和Kp2后对其进行验证,如果Kpl+KP2 = R不成立则立即终止认证;如果成立,则随机在Kpl和Kp2中选择一个公钥对R进行加密,另一个公钥对Xi进行加密。不妨设公钥Kpl对R进行加密得到(R),用公钥Kp2对Xi加密得到OO,将加密后的数据(R)mEKp2 OO发送给Ni+1,⑤节点Ni+1用自己的私钥Ks对(R)mEKp2 OO解密,如果解密后是R,则另一个数据为隐私身份数据Xi,对Xi进行验证,如果其为数据转发前最优路径上的节点Ni事先约定的隐私身份数据,则说明节点Ni是可信的,节点Ni+1可以接受来自节点Ni数据包;否则认为节点Ni是恶意的,立即终止通信,⑥如果节点Ni是可信的,节点Ni+1将Ni的隐私身份数据Xi作为单向陷门哈希函数(单向陷门哈希函数\(力+1)是带有一个陷门的一类特殊的单向函数,一般用于公开密钥密码中,在不知道陷门Xi的情况下,进行& (6+1)的逆函数运算得出xi+1的值在计算上是不可行的,当在陷门Xi已知的条件下,很容易计算出xi+1的值)的陷门对Ni+1的隐私身份数据 xi+1进行处理,得到& α+1)并发送给Ni ;由于陷门是Xi,节点Ni很容易计算出xi+1并对其进行验证,如果其为数据转发前最优路径上的节点Ni事先约定的隐私身份数据,则说明节点 Ni+1是可信的,至此双向认证成功,⑦节点Ni将数据包转发给下一跳节点Ni+1,如果对下一跳节点的认证失效,则当前节点Ni将完成两个工作第一,通知源节点路径失效;第二对于已经收到的数据包,由当前节点重新计算一条路径并实现重复上述转发过程。有益效果本发明方法提出了一种适用于家居智能控制的wifi路由方法,能够在有通信需求的节点之间找到一条合适的传输路径。相对于现有技术,本发明的优点是(I)本发明通过综合使用跳数、节点队列长度、节点邻居数等信息来选择最佳路径,克服了最小跳数路由方法的不足,有利于提高wifi网络的通讯质量。(2)本发明具有较好的容错性能,能够适合无线网络外界环境的动态变化,同时该路由方法开销不大其具有较高的安全性,易于实现。(3)数据包的转发过程中对转发路径上的节点进行身份认证,在认证时很好的保证了其各自隐私数据的安全,有效防止了恶意节点的攻击。


图1是本发明中节点发送“Hello”报文的处理流程图。图2是本发明中节点收到“Hello”报文的处理流程图。图3是本发明中节点检查邻节点信息的处理流程图。图4是本发明中节点收到“Changing”报文的处理流程图。图5是本发明中最优路径的计算流程图。图6是本发明中源节点发送数据的处理流程图。图7是本发明中节点收到转发数据的处理流程图。图8是本发明中最优路径上路由节点身份认证流程图。
具体实施例方式1、体系结构本发明的技术方案具体由三个部分组成(1)节点对网络链路状况的搜集;(2)最优路径的计算;(3)数据的安全发送与转发处理。2、方法流程(1)节点对网络链路状况的搜集链路状况的搜集主要包括两个功能邻居节点信息交流和网络链路状况广播。这个过程主要使用了两种报文“Hello”报文和“Changing”报文。“Hello”报文用于一跳邻居节点之间的信息交互。“Changing”报文用于节点向网络中其它节点广播自己掌握的链路变化情况。链路状态搜集的具体步骤如下。①每个节点定期向一跳邻居节点发送“Hello”报文,通告本节点的相关信息,内容包括节点号ID、本节点的网络地址、本节点的当前队列长度I、本消息的发送时间ts等。②每个节点在收到邻节点的“Hello”报文后,将其保存到本节点的邻居信息表中。 邻居信息表中包括邻居节点号、邻居节点地址、邻居节点队列长度、“Hello”报文发送时间等内容。如果邻居信息表中没有该节点的信息,说明这是一个新加入的节点,则将其添加至表中,如果邻居信息表中已有该节点的信息,说明这是一个已知的节点,则更新其队列长度与发送时间信息即可。此外,节点也会对邻居信息表进行监控。如果超过了一定时间后,某邻居节点的发送时间仍然没有更新,这就说明该邻居节点已经关闭或者损坏,则需要将其从邻居信息表中删除。各节点在更新邻居信息表时,同步更新自己的链路信息表。链路信息表是一个nXn的矩阵,η是网络中的节点数。链路信息表中存储了所有节点之间的连接信息以及相应的QoS信息。③如果发生下述三种情况,节点将判定网络的拓扑结构发生了变化,有必要让网络中的其它节点知道第一,发现了新的邻居节点;第二,邻居节点消失;第三,邻居节点的队列长度发生了较大的变化。此时,节点会将自己的邻居信息表放入“Changing”报文中, 并在网络中进行广播。④每个节点在收到“Changing”报文后,对本节点链路信息表中的内容进行更新。(2)最优路径的计算当节点有数据需要传送时,源节点将完成路径的搜寻计算。本发明提供的路由方法能够在源节点和目标节点之间找到一条合适的路径,并实现可靠性、时延、跳数等多个性能参数的平衡。在网络中求解多QoS参数的路由问题是一个NP-Hard(Non-deterministic Polynomial Hard,非确定性多项式难)问题,本发明弓I入了粒子群优化算法来进行求解。粒子群优化算法是一种基于群智能的优化算法。它将搜索个体看成解空间中的一个以一定速度飞行的微粒,并通过粒子间的信息交流,对粒子的速度和飞行方向进行调整,从而使整个群体在解空间中向最优位置逼近。本发明使用粒子群优化算法来计算多参数QoS路径,能够在较短的时间内求得较好的结果。应用粒子群优化算法时,本发明使用了对节点链路进行编码的方法粒子的位置由η维组成,每一维对应一个节点。这一维的值就是路径在这个节点上选中的链路的编号,值为O表示不选择任何链路。该方法的流程如下。①初始化。设置节点数,对节点的链路进行编码。设置粒子个数、迭代次数等算法参数。②定义粒子位置的评价函数。③寻找最优粒子。使用速度与位置更新公式,迭代调整各粒子的飞行方向与位置, 求出全局最优解。在此方法流程中用到的公式与函数如下①粒子位置评价函数f = Q1C-U2H+a3Lmax+a4Nave)其中,f是粒子位置的评价结果,C代表求出的路径是否是通路,H代表路径的跳数,Lmax代表路径上所有节点的最大队列长度,Nave代表路径上所有节点的平均邻居节点个数,αι、α2、a3、Ci4分别表示通路因子、跳数因子、队列因子和邻居数因子。 ②速度更新公式 vf:1 = mvkld + ClTandl ( )(lfd - x-d ) + c2rand2 ( )(Pgkd - xfd )其中,k表示算法执行至第k代,i表示第i个粒子,d表示第d维解空间。X=表示粒子i在第k次迭代中的位置,4、七+1分别表示粒子i在第k、k+l次迭代时的速度表示该粒子的历史最优位置,表示整个粒子群体的最优位置,Cl、C2为加速常数,ω为惯性权重。③位置更新公式X =1其中,X^1表示粒子i第k+Ι次迭代时的位置。基于上述分析,本发明中基于粒子群算法的最优路径计算方法,其具体描述如下。输入网络信息与算法参数数据。网络信息包括源节点、目标节点以及网络中链路的状态信息和QoS信息。算法参数数据包括种群规模、种群迭代次数、a i、α 2、α 3、a 4、Cl、 C2以及ω等。输出由节点编号组成的路径序列。算法步骤第一,设定种群规模、算法迭代次数等算法参数,生成初始种群。第二,使用位置评价函数对各粒子的位置进行评价。第三,对第k代中的各粒子,求出个体当前最优位置7^、全局最优位置^^,并使用速度更新公式和位置更新公式进行更新。第四,判断迭代次数是否达到预先的设定值,达到则算法终止,否则转回第二步反复执行。(3)数据的安全发送与转发处理在本发明中,源节点作为发送节点,承担了数据的发送工作,它的主要步骤是①根据源节点和目的节点使用粒子群优化算法来求解最优路径。②最优路径上的t个节点Ni (i = 1,2,. . . t)约定各自存储一个隐私身份数据Xi α =1,2, . . . , t),作为彼此隐私认证的标识。③将应用层传下来的数据打包,把计算出的路径放入该数据包的包头中。而本发明中最优路径上的接收节点进行数据安全转发的主要步骤是①接收节点Ni首先判断自己是否是数据的最终目的地,如果是,则将数据包上交给应用层。②如果当前节点Ni不是最终目的地,则该节点取出数据包头中的路径,读取路径的下一跳Ni+1的信息。接下来进行身份认证,节点Ni生成一个随机数R,并将其发送给节点③节点Ni+1收到Ni产生的随机数R后,生成一个私钥Ks和两个公钥Kpl和Kp2,其中Kpl+KP2 = R0同时节点Ni+1将公钥Kpl和Kp2回发给Ni。④节点Ni收到Kpl和Kp2后对其进行验证,如果Kpl+KP2 = R不成立则立即终止认证;如果成立,则随机在Kpl和Kp2中选择一个公钥对R进行加密,另一个公钥对Xi进行加密。不妨设公钥Kpl对R进行加密得到(R),用公钥Kp2对Xi加密得到OO,将加密后的数据^^ (R)mEKp2 )发送给Ni+1。⑤节点Ni+1用自己的私钥Ks对(R)mEKp2 OO解密,如果解密后是R,则另一个数据为隐私身份数据Xi。对Xi进行验证,如果其为数据转发前最优路径上的节点Ni事先约定的隐私身份数据,则说明节点Ni是可信的,节点Ni+1可以接受来自节点Ni数据包;否则认为节点Ni是恶意的,立即终止通信。⑥如果节点Ni是可信的,节点Ni+1将Ni的隐私身份数据Xi作为单向陷门哈希函数(单向陷门函数\(力+1)是带有一个陷门的一类特殊的单向函数,一般用于公开密钥密码中,在不知道陷门Xi的情况下,进行&α+1)的逆函数运算得出Xin的值在计算上是不可行的,当在陷门Xi已知的条件下,很容易计算出Xi+1的值)的陷门对Ni+1的隐私身份数据xi+1 进行处理,得到& (A+1)并发送给队。由于陷门是Xi,节点Ni很容易计算出xi+1并对其进行验证,如果其为数据转发前最优路径上的节点Ni事先约定的隐私身份数据,则说明节点Ni+1 是可信的,至此双向认证成功。⑦节点Ni将数据包转发给下一跳节点Ni+1,如果对下一跳节点的认证失效,则当前节点Ni将完成两个工作第一,通知源节点路径失效;第二对于已经收到的数据包,由当前节点重新计算一条路径并实现重复上述转发过程。本发明提出的用于家居智能控制的wifi路由方法,它由三个部分组成,分别是网络链路状况搜集、最优路径搜索、数据的安全发送与转发处理。网络的链路状况主要通过节点之间互相发送“Hello”报文和“Changing”报文获得。其主要过程在图I至图4中显示。图I显示了节点发送“Hello”报文的处理流程图。其主要过程是,在路由模块中设置一个定时器,定时触发本节点发送“Hello”报文。该报文中包括节点号、节点地址、节点当前队列长度、发送时间等信息。它能够让周围节点知道该节点的存在以及该节点的基本情况,供其它节点在计算最优路径时使用。图2显示了收到“Hello”报文的处理流程图。其主要步骤是①节点接收到 “Hello”报文后,查找邻居信息表中是否有该节点信息。②如果没有,说明该节点是一个新的邻居节点,则将其存入邻居信息表,然后更新链路信息表,并广播“Changing”报文发送该消息。③如果邻居信息表中有该节点信息,则检查其信息是否有更改,如果有更改,同样要更改邻居信息表和链路信息表,并广播“Changing”报文。④如果邻居信息表中该节点的信息没有变更,则更新其发送时间信息即可。图3显示了节点检查邻节点信息的处理流程图。其主要过程是,在路由模块中设置一个定时器,定期触发本节点的邻居信息表检查。如果邻居信息表中某一个节点的发送时间已有很长时间没有更新,则判定该节点已关闭或损坏,将其从邻居信息表中删除,然后更新链路信息表,并用“Changing”报文通知网络中的其它节点。图4显示了节点收到“Changing”报文的处理流程图。其主要过程是根据 “Changing”报文,修改自己链路信息表中的相应数据即可。图5显示了最优路径搜索的算法流程。该算法的输入包括网络信息与算法参数数据。网络信息具体包括源节点、目标节点、网络中链路的状态信息和QoS信息等内容。算法参数具体包括种群规模、种群迭代次数、αι、α2、a3、a4、ci、c2以及ω等。该算法的输出是由节点编号组成的路径序列。该算法的具体步骤如下。第一,设定种群规模、算法最大迭代次数等算法参数,生成初始种群。第二,设置算法迭代次数t = O。第三,如果已达到最大迭代次数,则算法终止,将最优粒子解码,并返回最优路径。 否则继续。第四,根据源节点、目标节点以及网络链路状况信息,使用位置评价函数对各粒子的位置进行评价。第五,对第t代中的各粒子,求出个体当前最优位置、全局最优位置,并使用速度更新公式和位置更新公式进行更新。第六,令t = t+Ι,并转回第三步。图6、图7和图8描述了数据的安全发送与转发处理过程。图6显示了源节点发送数据的处理流程图。在源节点中当有数据要发送时,其处理步骤是①从要发送的数据包中取出源节点和目标节点信息。②启动最优路径搜索。③ 最优路径上的节点约定隐私身份数据。④将搜索结果放入数据包头部。⑤将该数据包发往最优路径的下一跳。图7显示了节点收到转发数据的处理流程图。其处理步骤是①从数据包头中取出目的地址,判断自己是否为目标节点,如果是,则将数据包上交给应用程序。②如果自己不是目标节点,则从包头中读取路径信息,找到下一跳节点。③如果下一跳节点仍然存在, 进行身份认证,认证成功后将数据包转发给该节点。④如果下一跳节点不存在,则通知源节点路径已发生更改,并启动最优路径搜索,将自己收到的数据包转发。图8显示了最优路径上路由节点身份认证流程图。其主要过程为①当前转发节点Ni生成一个随机数发送给最优路径中的下一跳节点Ni+1。②Ni+1收到随机数后产生相应的公钥和私钥,并将公钥传给队。③Ni对公钥进行验证后,使用公钥对“步骤①”产生的随机数和Ni的隐私身份数据进行加密,并将加密结果传给Ni+1。④Ni+1解密相应的数据,核实 Ni的身份后,使用单向陷门函数计算自己的隐私身份信息,并传送给队。⑤队对下一跳节点Ni+1的隐私身份数据进行验证,认证成功则将数据包转发给Ni+1。
权利要求
1.一种用于家居智能控制的无线宽带安全路由方法,其特征在于它包含以下三个部分①节点对网络链路状况的搜集;②最优路径的计算;③源节点和最优路径上的接收节点基于加密、认证和哈希函数方法进行安全多方计算从而保障数据的安全发送所述的节点对网络链路状况的搜集包括的两个功能邻居节点信息交流和网络链路状况广播,实现这两个功能的步骤包括①每个节点定期向一跳邻居节点发送“Hello”报文,通告本节点的相关信息,内容包括节点号、本节点的网络地址、本节点的当前队列长度和本消息的发送时间,②每个节点在收到邻节点的“Hello”报文后,将其保存到本节点的邻居信息表中,邻居信息表中包括邻居节点号、邻居节点地址、邻居节点队列长度和“Hello”报文发送时间,如果邻居信息表中没有该节点的信息,则将其添加至表中,如果邻居信息表中已有该节点的信息,则更新其队列长度与发送时间信息;此外,节点也对邻居信息表进行监控,如果超过了一定时间后,某邻居节点的发送时间仍然没有更新,则需要将其从邻居信息表中删除;各节点在更新邻居信息表时,同步更新自己的链路信息表;链路信息表是一个nXn的矩阵,η 是网络中的节点数,链路信息表中存储了所有节点之间的连接信息以及相应的QoS信息;③如果发生下述三种情况,节点将判定网络的拓扑结构发生了变化,有必要让网络中的其它节点知道第一,发现了新的邻居节点;第二,邻居节点消失;第三,邻居节点的队列长度发生了较大的变化;此时,节点会将自己的邻居信息表放入“Changing”报文中,并在网络中进行广播;④每个节点在收到“Changing”报文后,对本节点链路信息表中的内容进行更新; 所述的最优路径计算包括如下的处理步骤输入网络信息与算法参数数据网络信息包括源节点、目标节点以及网络中链路的状态信息和QoS信息,算法参数数据包括种群规模、种群迭代次数、a i、α 2、α 3、α 4、C1, C2以及ω ;输出由节点编号组成的路径序列,算法步骤第一,设定种群规模、算法迭代次数,生成初始种群,第二,使用位置评价函数对各粒子的位置进行评价,第三,对第k代中的各粒子,求出个体当前最优位置7^、全局最优位置^^,并使用速度更新公式和位置更新公式进行更新,第四,判断迭代次数是否达到预先设定,达到则算法终止,否则转回第二步,其中,粒子位置评价函数为 f = a iC- ( α 2H+ a 3Lmax+ α 4Nave)在该公式中,f是粒子位置的评价结果,C代表求出的路径是否是通路,H代表路径的跳数,Lmax代表路径上所有节点的最大队列长度,Nave代表路径上所有节点的平均邻居节点个数,αι、α2、a3、Ci4分别表示通路因子、跳数因子、队列因子和邻居数因子;速度更新公式为
2.根据权利要求I所述的用于家居智能控制的无线宽带安全路由方法,其特征在于源节点和最优路径上的接收节点基于加密、认证和哈希函数等方法进行安全多方计算从而保障数据的安全转发①接收节点Ni首先判断自己是否是数据的最终目的地,如果是,则将数据包上交给应用层,②如果当前节点Ni不是最终目的地,则该节点取出数据包头中的路径,读取路径的下一跳Ni+1的信息,接下来进行身份认证,节点Ni生成一个随机数R,并将其发送给节点Ni+1,③节点Ni+1收到Ni产生的随机数R后,生成一个私钥Ks和两个公钥Kpl和Kp2,其中 Kpl+KP2 = R,同时节点Ni+1将公钥Kpl和Kp2回发给Ni,④节点Ni收到Kpl和Kp2后对其进行验证,如果KP1+KP2= R不成立则立即终止认证;如果成立,则随机在Kpl和Kp2中选择一个公钥对R进行加密,另一个公钥对Xi进行加密;不妨设公钥Kpl对R进行加密得到(R),用公钥Kp2对Xi加密得到OO,将加密后的数据 W)和&2⑷发送给Ni+1,⑤节点Ni+1用自己的私钥Ks对(R)mEKpM)%m,如果解密后是R,则另一个数据为隐私身份数据Xi,对Xi进行验证,如果其为数据转发前最优路径上的节点Ni事先约定的隐私身份数据,则说明节点Ni是可信的,节点Ni+1可以接受来自节点Ni数据包;否则认为节点队是恶意的,立即终止通信,⑥如果节点Ni是可信的,节点Ni+1将Ni的隐私身份数据xi作为单向陷门哈希函数的陷门对Ni+1的隐私身份数据xi+1进行处理,得到& (A+1)并发送给Ni ;由于陷门是Xi,节点Ni 很容易计算出xi+1并对其进行验证,如果其为数据转发前最优路径上的节点Ni事先约定的隐私身份数据,则说明节点Ni+1是可信的,至此双向认证成功,⑦节点Ni将数据包转发给下一跳节点Ni+1,如果对下一跳节点的认证失效,则当前节点 Ni将完成两个工作第一,通知源节点路径失效;第二对于已经收到的数据包,由当前节点重新计算一条路径并实现重复上述转发过程。
全文摘要
本发明设计了物联网环境下一种用于家居智能控制的无线宽带安全路由方法,在有通信需求的节点之间找到一条合适的安全传输路径。该方法包括①节点对网络链路状况的搜集;②最优路径的计算;③数据的安全发送与转发处理;通过综合使用跳数、节点队列长度、节点邻居数等信息来选择最佳路径,克服了最小跳数路由方法的不足,提高wifi网络的通讯质量;能够适合无线网络外界环境的动态变化,同时该路由方法开销不大具有较高的安全性,并且易于实现;数据包的转发过程中进行转发路径上节点的身份认证,在认证时很好的保证了其各自隐私数据的安全,有效防止了恶意节点的攻击。
文档编号H04L12/56GK102594706SQ20121007495
公开日2012年7月18日 申请日期2012年3月20日 优先权日2012年3月20日
发明者严骐, 周旋, 孙琦, 尚上, 王汝传, 董富贵, 韦余杰, 黄海平 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1