一种无线体域网络安全传输方法

文档序号:7801253阅读:187来源:国知局
一种无线体域网络安全传输方法
【专利摘要】本发明公开了一种无线体域网络安全传输方法,其包括以下阶段:1、系统初始化:系统利用节点的时钟进展频率以及两节点的时钟偏移,交换两相邻节点及节点与Sink节点之间的时钟进展频率,形成两种类型的成对密钥;2、安全路由形成:当所有节点收到“OK”信息后,每个节点删除原来AODV路由信息,采用改进的AODV协议形成安全路由和加密传输数据;3、数据加密传输:将数据包分为路由信息Data1和感知数据Data2两部分,分别用两种不同的成对密钥加密,两相邻节点互相验证Data1,Sink节点验证Data2,然后进行传输。本方案支持“即插即用”且能够保证BAN数据安全与隐私,适用于所有的BAN网络。
【专利说明】一种无线体域网络安全传输方法

【技术领域】
[0001]本发明涉及无线网络加密传输领域,尤其是涉及一种无需事先预装密钥的无线体域网络安全传输方法。

【背景技术】
[0002]无线体域网络BAN (Body Area Network),是一种穿戴在被监护者身上监测人体生理和医学数据的网络,其传感节点通过一跳或多跳的方式将感知的数据传送到BAN的Sink节点,该节点可以进一步将数据传送PC或PDA,对被监护者(老人、婴幼儿、运动员、残疾人以及慢性病者)提供生理数据实时监测,还广泛应用于消费者电子、娱乐、运动、环境智能、畜牧、军事或安全等领域。尽管BAN是WSN (无线传感器网络,Wireless Sensor Network)的分支,与WSN有很多相似性JMBAN在部署方式、节点类型与规模、流量类型、延迟、移动性等方面又不同于通用WSN,特别是WSN往往假定在无人值守的条件下运行,而BAN是运行在有人值守的环境中(被监护者本人、医务人员或家人)。
[0003]由于BAN中传感节点感知的被监护者相关的生理和医学数据对医学诊断和治疗起着相当重要的作用,并且还涉及到被监护者个人隐私问题,因而数据安全和隐私是BAN网络的一个关键问题,同时临床应用的安全措施又希望“即插即用”的简单操作。信息加密与节点认证是保证网络安全通信的主要措施,密钥Key管理又是保证信息保密性、完整性及阻止非法节点入侵的关键。在通用传感网络中,保证数据安全主要有预装对称密钥和非对称公钥技术两种,但这都不适用于BAN网络。
[0004]预装对称密钥技术:由于BAN节点规模较小(一般N小于50),每个节点预装N_1个密钥,就可以保证任意两接点间数据加密传输,这表面看可行,但存在以下问题:
(1)每一个BAN必须预装不同于其它BAN的N-1个密钥,否则当两个穿戴BAN的病人靠近时,两个BAN的节点间可能形成成对密钥导致错误的传输;
(2)由于BAN节点异类,可能来自不同的生产厂家,终端用户(医务人员或病人)给BAN中的每个节点分配N-1个密钥是很困难的,他们在临床中更希望“即插即用”(Plug-And-Play)的简单操作,即BSN中任何形式的Key分布与管理过程都应最小化、自动化且对用户透明;
(3)即使经过努力预装了N-1个密钥,但当BAN工作后发现密钥泄露,在临床中改变预装的N-1个密钥也是很困难的。
[0005]非对称公钥技术:该技术主要有以下问题:
(O能量和计算开销不适合资源受限的传感节点;
(2)对环境的依赖和操作复杂性限制了在临床中的应用。
[0006]目前,在BAN中主要利用人体生理信息和无线信道属性来产生对称密钥加密数据,在没有事先共享密钥的情况下,获得了“即插即用”效果,但两者都有不足之处:
1、利用人体生理信息由于BSN网络是用于监测人的生理信息,而生理信息是不易模仿的。许多研究利用脑电图(EEG)、光电血管容积图(PPG)、心电图(ECG)等生理信息,建立秘密信道对节点和信息进行认证。然而,这需要所有节点具备感知相同的某信号(EEG或ECG等)的能力,对节点硬件提出了新的要求;此外,在被监护者身上不同位置的传感节点测量相同的生理信号,很难具备相同的准确性,也就是说密钥恢复的准确性不能保证100%。
[0007]2、利用节点与无线信道的物理属性
利用BAN/BSN网络的信道特征和节点自身的物理属性来产生对称密钥是一个比较新的方向,比较容易获取的物理属性主要有信号强度(Signal Strength),解决了利用人体生理信息带来的密钥恢复准确性不能保证100%的问题。然而,由于大多数无线传感节点采用半双工通信,RSS的测量不能在两个方向同时进行,且两节点间密钥产生要经历对无线信号进行采样、量化、协调(Reconcile)、私隐放大(Privacy Amplificat1n)四个阶段,这带来了密钥提取的低效率问题。
[0008]中华人民共和国国家知识产权局于2012年08月01日公开了申请公布号为CN102624530A的专利文献,名称是无线体域网的无证书远程匿名认证方法,其通过公钥/私钥配合的方法实现数据的加密,存在准确性低和提取效率低的问题。


【发明内容】

[0009]本发明主要是解决现有技术所存在的无法兼顾即插即用特性和准确性、提取效率的技术问题,提供一种无需事先预装密钥,在不需要增加附加硬件的情况下,用传感节点与Sink节点的成对密钥加密数据及两相邻节点的成对密钥加密路由信息的思想和方法,支持“即插即用”,使得保证BAN数据安全与隐私这一复杂的理论与技术问题变得具有可操作性和实用性的无线体域网络安全传输方法。
[0010]本发明针对上述技术问题主要是通过下述技术方案得以解决的:一种无线体域网络安全传输方法,包括以下阶段:
(1)系统初始化:系统利用节点的时钟进展频率以及两节点的时钟偏移的动态性与唯一'I"生,在Sink节点标准时间控制下,交换两相邻节点及节点与Sink节点之间的时钟进展频率,形成两种类型的成对密钥;
(2)安全路由形成:当所有节点收到“0K”信息后,每个节点删除原来AODV(Ad hocon-demand distance vector routing)路由信息,采用改进的AODV协议形成安全路由和加密传输数据;
(3)数据加密传输:将数据包分为路由信息Datal和感知数据Data2两部分,分别用两种不同的成对密钥加密,两相邻节点互相验证Datal,Sink节点验证Data2,然后进行传输。
[0011]作为优选,如果CFx (?)表示节点z在真实时间?的时间,时钟进展频率CF/ (?)定义为:
CF/ (t) =dCFx(t) /dt (?>=0) (I)
Sink节点的时间作为真实时间,真实时间的时钟进展频率等于I ;
节点I与节点2的时钟偏移6?⑴定义为CF/⑴和CF/⑴的差值:
CS12(t)= CF/ ⑴-CF/ ⑴ (2)
节点z的ID记为IDx ;
系统初始化具体操作为: (1)Sink节点以单跳方式向无线体域网络中所有节点广播两个随机间隔的标准时间戳
T1 和 T2 ;
(2)节点z收到T1和&后,用公式(I)计算出自己的时钟进展频率为:
CF/ {T2-TXCFx(J2)- CF人T;)、/ { T2-T1)
节点z保存CFx z [T2-T1),并将CFx z {T2-T;) HDx通过原始的AODV协议发送给Sink节点,当无线体域网络工作时,节点Z用尤对感知的数据进行加密,Zr定义如下:
K=FiCF/ (T2-T1), IDx)(3)
这里F为密钥生成函数,根据需要产生指定长度的密钥,但密钥必须满足某些数学特征。例如,如果IDx长度为I字节,CF: [T2-T1)为4字节,产生64位的密钥需根据IDx和CFx, [T2-T1)的值的不同,插入3字节满足数学特征;比如可以用Hash函数来生成密钥;
(3)节点z将CF/[T2-T1) HDx发送给Sink节点时,x的一跳范围内的邻居节点也会收到该信息并保存在自己存储中;同样,z作为邻居节点也会收到其它节点的时钟进展频率和ID信息,这样,BAN中两节点完成了时钟进展频率交换;
(4)在节点z到Sink节点的路径上,两相邻节点都有对方的时钟进展频率,其时钟偏移与两节点的ID产生的密钥^? H是唯一的,用于加密路由信息,两节点进行相互认证或^相同,定义如下:
Kmn=Ktw=FiCSmn [T2-T1),IDm, IDn)(4)
CSmn(T2-T1) =ABS(CF/ (T2-T1)- CF/ (T2-T1))
这里F为密钥生成函数,与公式(3)相同,ABS为取绝对值;
(5)Sink节点收到所有节点的时钟进展频率和ID信息后,Sink节点与每一个节点z形成了一个成对密钥尤,用于加密数据本身,两相邻节点》、η形成了成对密钥Kmn或用于加密路由信息;当Sink节点以单跳方式广播“0K”信息后,BAN进入安全路由形成和数据加密传输阶段。
[0012]作为优选,当所有节点收到“0K”信息后,每个节点删除原来AODV路由信息,采用改进的AODV协议形成安全路由和加密传输数据;改进的AODV协议消息是在原有消息基础上增加一个时钟进展频率字段CF ;当节点z希望向Sink节点发送数据时,首先要发送RREQ(路由请求)消息形成到Sink节点的安全路由,然后再根据该路由传送数据,数据源节点z请求形成到Sink节点的安全路由操作如下:
(1)节点Z产生一条RREQ消息,同原来AODV—样填充里面各字段信息,增加的CF字段用节点Z的CFxz {Τ2-Τ;)填充,然后广播给邻居节点;
(2)当节点Z的邻居节点》收到RREQ消息时,分三种情况操作如下:
A.如果RREQ消息中的CF字段为空,说明RREQ来自一个不信任节点,停止转发该消息;
B.如果RREQ消息中的CF字段存在且节点中保存有节点z的CF值CF/[T2-T1),节点历比较两者的值是否相等,如果相等,节点?用自己的CF值CF/ [T2-T1)替换RREQ消息中节点Z的CF值,继续转发该RREQ ;否则,停止转发;
C.如果RREQ消息中的CF字段存在且节点?中没有保存节点z的CF值,节点?就向Sink节点请求节点z的CF值,如果Sink节点有节点z的CF值,就将CFx, [T2-T1)用Km加密后以单跳方式发送给节点节点?收到该消息并用^正确解密后,保存CF/ [T2-T1)在内存中,后续操作与B相同;
(3)当节点?的邻居节点收到RREQ消息后,同步骤(2)类似的方式转发RREQ消息;
(4)当Sink节点收到RREQ消息时,产生一条RREP(路由回应)消息,用Sink节点的CF值填充RREP的CF字段,然后单播传回给Sink节点的邻居节点;
(5)当Sink节点的邻居节点收到RREP消息后,同步骤(2)类似传回RREP消息;
(6)当数据源节点z收到RREP消息时,就形成了只有合法节点参与的安全路由。
[0013]作为优选,N1、N2和N3都为节点,假定NI到Sink的安全路由为Nl->N2->N3->Sink,源节点NI产生由标记Tag、Datal和Data2组成的数据包;Tag为消息类型,Datal包含源ID、目标ID和数据产生时间信息,Data2为NI实际感知的数据;在加密数据传输中,节点N1、N2、N3和Sink操作如下:
(1)Nl:将Data2用只有NI和Sink节点知道的成对密钥加密得到万(ZfeidJ1),Datal用只有节点NI和N2知道的成对密钥J12加密为J12),然后将数据包单播传送给N2 ;
(2)N2:先用仏解密出Datal,即K12)得到Datal,获取路由信息后再用只有节点N2和N3知道的成对密钥J23加密为,然后将数据包传送给N3 ;E为加密操作,D为解密操作;
(3)N3:先用J23解密出Datal,即K2,)得到Datal,获取路由信息后再用只有节点N3和Sink节点知道的成对密钥Atl加密为万(ZfeteU3tl),然后将数据包传送给Sink节点;
(4)Sink:先用J3tl解密出Datal, D (β Watal,K,0), IQ得到Datal,获取源节点信息后,用A解密出Data2,即K1)获得真实数据Data2。
[0014]加解密可以使用常规的算法来处理,比如AES算法。
[0015]本发明带来的实质性效果是,在保证安全性的前提下,满足了即插即用的特性,不需要通过复杂的过程来设置密钥,具备良好的密钥恢复准确性,也不存在密钥提取效率低的问题。

【专利附图】

【附图说明】
[0016]图1是本发明的一种通用BAN结构示意图;
图2是本发明的一种改进的AODV协议消息结构示意图;
图3是本发明的一种加密与传输过程示意图。

【具体实施方式】
[0017]下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
[0018]实施例:本实施例的一种无需事先预装密钥的无线体域网络BAN(Body ArearNetworks)安全传输方法,分为三个阶段:
(O系统初始化:系统初始化需在安全环境下进行,利用节点的时钟进展频率(微秒级),两节点的时钟偏移Clock Skew的动态性与唯一'丨生,在Sink标准时间控制下,交换两相邻节点及节点与Sink之间的时钟进展频率,形成两种类型的成对密钥(Pairwise Key);
(2)安全路由形成:通过对著名的反应式协议AODV的改进,形成只有合法节点参与的安全路由;
(3)将数据包分为路由信息Datal和感知数据Data2两部分,分别用两种不同的成对密钥加密,两相邻节点互相验证Datal, Sink节点验证Data2,这样既提高了加密、解密的效率,又保证了数据安全与隐私。
[0019]一、系统模型 I网络模型
本发明的通用BAN结构如图1所示,图中正方形节点为Sink节点(ID=0),假定:
(1)有#个传感节点(S1,S2,……,SN}部署在被监护者身上(一般来说BANmArGO),每个节点有唯一 ID (大于O),节点互不相关(每个节点能独立确定感知的数据),配有相同的无线通信接口,如ZigBee ;
(2)有I个Sink节点,其ID=0,收集所有传感节点感知的数据,其本身是安全的,并且知道当前运行BAN中的节点ID和每个节点产生数据的频率间隔;
(3)Sink节点由于有足够的功率可以用一跳方式或多跳的方式向所有传感节点传送数据,传感节点采用甚低功率的短距离传输(对人体有益),以多跳的方式向Sink节点传送感知的数据,传输协议使用AODV ;
(4 ) BAN网络已采取某种时间同步机制,但在PPM级是不同的,其同步本身是安全的;
(5)BAN初始化或添加新节点复位时,周围没有恶意节点(由医务人员或监护人操作,在室内环境下是可以保证的),在通用WSN中,往往也进行这样假设;
2攻击模型
本发明主要考虑数据的机密性和完整性,攻击模型假定为:
(1)在无线通信范围内,攻击者可以随意偷听BAN中各节点发出的数据,修改或延迟后能以各种功率向BAN中继续传播;
(2)攻击者可以假冒其它合法节点,向BAN网络发布伪造数据;
(3)攻击者可以进行节点捕获攻击。
[0020]二、协议描述
I时钟进展频率与时钟偏移
如果CFx(i)表示节点Z在真实时间t的时间,时钟进展频率(简称为CF)CF/ (?)定义为:
CF/ (t) =dCFx(t) /dt (?>=0) (I)
Sink节点的时间作为真实时间,真实时间的时钟进展频率等于I ;
节点I与节点2的时钟偏移6?⑴定义为CF/⑴和CF/⑴的差值:
CS12(t)= CF/ ⑴-CF/ ⑴ (2)
节点X的ID记为IDx ;
通常,现代处理器数字时钟具有下面两个属性:
1、任何时钟的时钟偏移在正常温度下是稳定的;
2、每一个稳定的时钟偏移可以认为是唯一的。
[0021]2系统初始化
在安全环境下,当BAN加电或复位(系统初始化)时,各节点清除已保存在存储器中的原有时钟进展频率和路由信息,采用未改进的AODV传送数据,操作如下: (1)Sink节点以单跳方式向无线体域网络中所有节点广播两个随机间隔的标准时间戳
T1 和 T2 ;
(2)节点z收到T1和&后,用公式(I)计算出自己的时钟进展频率为:
CF/ {T2-TXCFx(J2)- CF人T;)、/ { T2-T1)
节点z保存CFx z [T2-T1),并将CFx z {T2-T;) HDx通过原始的AODV协议发送给Sink节点,当无线体域网络工作时,节点Z用尤对感知的数据进行加密,Zr定义如下:
K=FiCF/ (T2-T1), IDx)(3)
这里F为密钥生成函数,根据需要产生指定长度的密钥;
(3)节点z将CF/[T2-T1) HDx发送给Sink节点时,x的一跳范围内的邻居节点也会收到该信息并保存在自己存储中;同样,z作为邻居节点也会收到其它节点的时钟进展频率和ID信息,这样,BAN中两节点完成了时钟进展频率交换;
(4)在节点z到Sink节点的路径上,两相邻节点都有对方的时钟进展频率,其时钟偏移与两节点的ID产生的密钥^? H是唯一的,用于加密路由信息,两节点进行相互认证或^相同,定义如下:
Kmn=Ktw=FiCSmn [T2-T1),IDm, IDn)(4)
CSmn(T2-T1) =ABS(CF/ (T2-T1)- CF/ (T2-T1))
这里F为密钥生成函数,与公式(3)相同,ABS为取绝对值;
(5)Sink节点收到所有节点的时钟进展频率和ID信息后,Sink节点与每一个节点z形成了一个成对密钥尤,用于加密数据本身,两相邻节点》、η形成了成对密钥Kmn或用于加密路由信息;当Sink节点以单跳方式广播“0K”信息后,BAN进入安全路由形成和数据加密传输阶段。
[0022]3安全路由形成
当所有节点收到“0K”信息后,每个节点删除原来AODV路由信息,采用改进的AODV协议形成安全路由和加密传输数据。改进的AODV协议消息是在原有消息基础上增加一个时钟进展频率字段CF,如图2所示;形成路由的方法与原来AODV相似,但多了 CF验证过程。当节点z希望向Sink节点发送数据时,首先要发送RREQ请求形成到Sink的安全路由,然后再根据该路由传送数据,数据源节点Z请求形成到Sink的安全路由操作如下:
(1)节点Z产生一条RREQ消息,同原来AODV—样填充里面各字段信息,增加的CF字段用节点Z的CFxz {Τ2-Τ;)填充,然后广播给邻居节点;
(2)当节点Z的邻居节点》收到RREQ消息时,分三种情况操作如下:
A.如果RREQ消息中的CF字段为空,说明RREQ来自一个不信任节点,停止转发该消息;
B.如果RREQ消息中的CF字段存在且节点中保存有节点z的CF值CF/(&-/;),节点?比较两者的值是否相等,如果相等,节点?用自己的CF值CF/ [T2-T1)替换RREQ消息中节点Z的CF值,继续转发该RREQ ;否则,停止转发(说明RREQ可能来自一个假冒节点);
C.如果RREQ消息中的CF字段存在且节点m中没有保存节点z的CF值,这可能是由于人体运动或不同姿势造成网络拓扑结构发生变化的结果。节点》就向Sink节点请求节点z的CF值,如果Sink节点有节点z的CF值,就将CFx, [T2-T1)用Km加密后以单跳方式发送给节点ffi,节点?收到该消息并用Km正确解密后,保存CF: [T2-T1)在内存中,后续操作与B相同;
(3)当节点的邻居节点收到RREQ消息后,同步骤(2)类似的方式转发RREQ消息;
(4)当Sink节点收到RREQ消息时,产生一条RREP消息,用Sink节点的CF值(等于I)填充RREP的CF字段,然后单播传回给Sink节点的邻居节点;
(5)当Sink节点的邻居节点收到RREP消息后,同步骤(2)类似传回RREP消息;
(6)当数据源节点z收到RREP消息时,就形成了只有合法节点参与的安全路由。
[0023]4加密数据传输
当安全路由形成后,数据源节点就可以向Sink传送数据了,其加密与传输过程如图3所示。
[0024]在图3中,N1、N2和N3都为节点,假定NI到Sink的安全路由为Nl->N2->N3_>Sink,源节点NI产生由标记Tag、Datal和Data2组成的数据包;Tag为消息类型,Datal包含源ID、目标ID和数据产生时间信息,Data2为NI实际感知的数据;在加密数据传输中,节点N1、N2、N3和Sink操作如下:
(1)Nl:将Data2用只有NI和Sink节点知道的成对密钥&加密得到万(ZfeidJ1),Datal用只有节点NI和N2知道的成对密钥J12加密为J12),然后将数据包单播传送给N2 ;
(2)N2:先用J12解密DatalK12)得到Datal,获取路由信息后再用只有节点N2和N3知道的成对密钥K2z %\\密为EQ)atal,K2?),然后将数据包传送给N3 ;E为加密操作,D为解密操作;
(3)N3:先用J23解密出Datal,即K2,)得到Datal,获取路由信息后再用只有节点N3和Sink节点知道的成对密钥Κ?Λ加密Datal,即万(ZfeialU,然后将数据包传送给Sink节点;
(4)Sink:先用J3tl解密出Datal, D (β Watal,K,0), IQ得到Datal,获取源节点信息后,用A解密出Data2,即&),木)获得真实数据Data2。
[0025]5安全性分析
下面从密钥动态性与准确性、被动与主动攻击、节点捕获、新节点加入和“即插即用”等方面分析我们发明的安全性:
(I)密钥动态性与准确性:每次初始化产生的两种密钥是动态的,这是由于Sink节点广播的标准时间间隔是随机的,CF又随环境温度而变化,密钥计算公式(3)、(4)又与节点ID (唯一的)捆绑,因而,两种密钥又是唯一的;
本发明不会带来利用生理信息产生对称密钥恢复的准确性问题,也没有从无线信道的物理属性提取密钥的低效率问题;这是因为CF由节点自己计算,不需要一个节点去测量另一节点的CF,在安全环境下两相邻节点完成CF值交换,没有密钥提取过程。
[0026](2)被动攻击:偷听节点可以无限接近BAN,偷听BAN中各节点发出的数据;由于节点数据包分为两个部分,分别用两种不同的成对密钥加密,安全路由上的合法节点只知道数据来自哪个节点,也不知道数据的内容;即使偷听者知道了密钥生成函数A也不知道偷听的信息由哪个节点发出,也不知道哪个邻居节点接收,偷听者分析密钥仏是很困难的,而尤又与z的ID紧密相关,因而很难得到真实的Data2。
[0027](3)主动攻击对主动攻击的三种主要表现方式进行分析:
重放:对攻击者来说,只有重放过时数据才有意义。假定攻击者冒充节点Z广播过时的数据(不做任何修改,只是延迟转发),只有z的邻居节点i能正确解密Jri),获取路由信息,转发给i的邻居节点,其它节点由于不能正确解密^而停止转发;但BAN全网时间同步,在z节点可以用一个时间域值判断该数据包是否过时,即使在域值时间内,数据传到了 Sink节点,Sink节点也会将该数据同该节点的上一次数据比较而丢弃过时数据并报警;
假冒:假冒就是攻击者假冒合法节点ID向Sink节点发送伪造数据。假定假冒节点功率足够大,所有BAN/BSN中的合法节点都能收到假冒节点发出的消息。如果假冒节点是一个新节点,发送数据前要先形成安全路由,由于形成安全路由需要对节点进行认证,所有合法节点中(含Sink)没有假冒节点的CF信息,不能建立路由信息,因而不能把伪造信息发送给Sink节点;如果假冒一个合法节点z发出伪造数据,攻击者必须向z的邻居节点i提供X的CF信息;攻击者由于没有该项数据而不能形成路由,因而不能将假冒合法节点向Sink传输数据。
[0028]篡改:篡改是修改数据后再重放,也就是攻击者修改了 Data2 (Datal未修改),将合法节点Z的数据包再发送一次;与Z相邻的合法节点都收到该伪造信息,但AODV行成的路由是单播传输的,不在Z到Sink路由上的节点不会理睬该伪造信息,在路由表上的z邻居节点i (第一跳节点)用与合法节点z间的密钥Jri解密,Zri)(中间节点不验证Data2),未发现错误,数据能发送到Sink节点,但Sink节点不能用Zr解密,因而丢弃该数据并报警。
[0029](4)节点捕获
假定节点被捕获(丢失或其它途径),合法节点离开被监护者一段时间后,变成恶意节点又回到原来的BAN中;这段时间攻击者可以获得合法节点里CF及其邻居节点的CF,可以通过密钥生成函数I计算出两种成对密钥,也就是BAN没有任何秘密可言,攻击模型也考虑到这种情况。由于BAN属于有人值守网络,节点异类且无冗余节点,出现节点丢失时,首先Sink在一定时间范围内(节点产生数据的间隔)能够感知某节点故障或丢失而报警;其次,即使发现节点捕获攻击(病人、医务人员比较容易发现节点丢失或被替换),清除恶意接点后,只需在安全环境下重新加电复位,Sink广播新的T1和T2,恶意节点再次进入BAN时,因为上次产生的CF信息已经不再使用,同样不能进行被动和主动攻击。
[0030](5)新节点加入与“即插即用”
当需要在原有BAN中加入新的传感节点时,只需在安全环境下,安装新节点到被监护者身上后,执行一次加电复位就行;从内部讲就是重新进行系统初始化(密钥产生)、安全路由形成、加密数据传输三个过程;从外部讲加电复位本身就是一个按钮操作,对医务人员、家庭监护人等是可操作的,不需要特殊的专业知识,因而满足“即插即用”。
[0031]本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属【技术领域】的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
[0032]尽管本文较多地使用了节点、进展频率、偏移等术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。
【权利要求】
1.一种无线体域网络安全传输方法,其特征在于,包括以下阶段: (1)系统初始化:系统利用节点的时钟进展频率以及两节点的时钟偏移的动态性与唯一'丨生,在Sink节点标准时间控制下,交换两相邻节点及节点与Sink节点之间的时钟进展频率,形成两种类型的成对密钥; (2)安全路由形成:当所有节点收到“0K”信息后,每个节点删除原来AODV路由信息,采用改进的AODV协议形成安全路由和加密传输数据; (3)数据加密传输:将数据包分为路由信息Datal和感知数据Data2两部分,分别用两种不同的成对密钥加密,两相邻节点互相验证Datal,Sink节点验证Data2,然后进行传输。
2.根据权利要求1所述的一种无线体域网络安全传输方法,其特征在于,如果CFrU)表示节点^在真实时间t的时间,时钟进展频率CF/ (?)定义为: CF/ (t) =dCFx(t) /dt (?>=0) (I) Sink节点的时间作为真实时间,真实时间的时钟进展频率等于I ; 节点I与节点2的时钟偏移6?⑴定义为CF/⑴和CF/⑴的差值: CS12(t)= CF/ ⑴-CF/ ⑴ (2) 节点X的ID记为IDx ; 系统初始化具体操作为: (1)Sink节点以单跳方式向无线体域网络中所有节点广播两个随机间隔的标准时间戳T1 和 T2 ; (2)节点z收到T1和&后,用公式(I)计算出自己的时钟进展频率为:
CF/ (T2-T^{CFx{J2)~ CF人T;)、/ { T2-T1) 节点z保存CFx z [T2-T1),并将CFx z {T2-T;) HDx通过原始的AODV协议发送给Sink节点,当无线体域网络工作时,节点Z用尤对感知的数据进行加密,Zr定义如下: K=FiCF/ (T2-T1), IDx)(3) 这里F为密钥生成函数,根据需要产生指定长度的密钥; (3)节点z将CF/[T2-T1) HDx发送给Sink节点时,x的一跳范围内的邻居节点也会收到该信息并保存在自己存储中;同样,z作为邻居节点也会收到其它节点的时钟进展频率和ID信息,这样,BAN中两节点完成了时钟进展频率交换; (4)在节点z到Sink节点的路径上,两相邻节点都有对方的时钟进展频率,其时钟偏移与两节点的ID产生的密钥^? H是唯一的,用于加密路由信息,两节点进行相互认证或^相同,定义如下:
Kmn=Ktw=FiCSmn [T2-T1),IDm, IDn)(4)
CSmn(T2-T1) =ABS(CF/ (T2-T1)- CF/ (T2-T1)) 这里F为密钥生成函数,与公式(3)相同,ABS为取绝对值; (5)Sink节点收到所有节点的时钟进展频率和ID信息后,Sink节点与每一个节点z形成了一个成对密钥尤,用于加密数据本身,两相邻节点》、η形成了成对密钥Kmn或用于加密路由信息;当Sink节点以单跳方式广播“0K”信息后,BAN进入安全路由形成和数据加密传输阶段。
3.根据权利要求2所述的一种无线体域网络安全传输方法,其特征在于,当所有节点收到“0K”信息后,每个节点删除原来AODV路由信息,采用改进的AODV协议形成安全路由和加密传输数据;改进的AODV协议消息是在原有消息基础上增加一个时钟进展频率字段CF ;当节点z希望向Sink节点发送数据时,首先要发送RREQ请求形成到Sink节点的安全路由,然后再根据该路由传送数据,数据源节点Z请求形成到Sink节点的安全路由操作如下: (1)节点Z产生一条RREQ消息,同原来AODV—样填充里面各字段信息,增加的CF字段用节点Z的CF/ {Τ2-Τ;)填充,然后广播给邻居节点; (2)当节点Z的邻居节点》收到RREQ消息时,分三种情况操作如下: A.如果RREQ消息中的CF字段为空,说明RREQ来自一个不信任节点,停止转发该消息; B.如果RREQ消息中的CF字段存在且节点中保存有节点z的CF值CF/(T2-T1),节点历比较两者的值是否相等,如果相等,节点?用自己的CF值CF/ [T2-T1)替换RREQ消息中节点Z的CF值,继续转发该RREQ ;否则,停止转发; C.如果RREQ消息中的CF字段存在且节点?中没有保存节点z的CF值,节点?就向Sink节点请求节点z的CF值,如果Sink节点有节点z的CF值,就将CFx, (T2-T1)用Km加密后以单跳方式发送给节点节点?收到该消息并用^正确解密后,保存CF/ [T2-T1)在内存中,后续操作与B相同; (3)当节点?的邻居节点收到RREQ消息后,同步骤(2)类似的方式转发RREQ消息; (4)当Sink节点收到RREQ消息时,产生一条RREP消息,用Sink节点的CF值填充RREP的CF字段,然后单播传回给Sink节点的邻居节点; (5)当Sink节点的邻居节点收到RREP消息后,同步骤(2)类似传回RREP消息; (6)当数据源节点z收到RREP消息时,就形成了只有合法节点参与的安全路由。
4.根据权利要求2或3所述的一种无线体域网络安全传输方法,其特征在于,N1、N2和N3都为节点,假定NI到Sink的安全路由为Nl->N2->N3->Sink,源节点NI产生由标记Tag、Datal和Data2组成的数据包;Tag为消息类型,Datal包含源ID、目标ID和数据产生时间信息,Data2为NI实际感知的数据;在加密数据传输中,节点N1、N2、N3和Sink操作如下: (1)Nl:将Data2用只有NI和Sink节点知道的成对密钥加密得到万(ZfeidJ1),Datal用只有节点NI和N2知道的成对密钥J12加密为J12),然后将数据包单播传送给N2 ; (2)N2:先用仏解密出Datal,即K12)得到Datal,获取路由信息后再用只有节点N2和N3知道的成对密钥J23加密为,然后将数据包传送给N3 ;E为加密操作,D为解密操作; (3)N3:先用J23解密出Datal,即K2,)得到Datal,获取路由信息后再用只有节点N3和Sink节点知道的成对密钥Atl加密为万(ZfeteU3tl),然后将数据包传送给Sink节点; (4)Sink:先用J3tl解密出Datal, D (β Watal,K,0), IQ得到Datal,获取源节点信息后,用A解密出Data2,即K1)获得真实数据Data2。
【文档编号】H04W12/02GK104135727SQ201410148159
【公开日】2014年11月5日 申请日期:2014年4月15日 优先权日:2014年4月15日
【发明者】谭劲, 杨红 申请人:中国计量学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1