轻量级的无线传感器网络安全小数据分发方法

文档序号:7781232阅读:367来源:国知局
轻量级的无线传感器网络安全小数据分发方法
【专利摘要】本发明公开了一种轻量级的无线传感器网络安全小数据分发方法,包括如下阶段:第一阶段:系统初始化阶段,基站生成单向密钥链,并在各传感器节点部署之前将密钥链承诺值加入到各传感器节点中;第二阶段:数据包的前期处理阶段,基站利用哈希函数,构建特定数据项的合法数据包;第三阶段:数据包验证阶段,传感器节点对接收到的数据包进行验证,如果接收到的数据包为合法的数据包,则接受该数据包并对传感器节点进行更新,否则直接放弃该数据包。本发明考虑了常用的传感器节点资源受限的情况,具有能抵抗传感器节点妥协,在丢包以及数据包传送失序上具有高鲁棒性、基站与传感器节点之间无需时间同步等优点,同时兼具高效节能、存储开销较低、能抵抗恶意攻击等优秀特性。
【专利说明】轻量级的无线传感器网络安全小数据分发方法
【技术领域】
[0001]本发明涉及无线通信的【技术领域】,特别涉及一种轻量级的无线传感器网络安全小数据分发方法。
【背景技术】
[0002]目前,无线传感器网络的分布十分广泛,应用也多种多样,包括环境监测,战地监视以及在严酷地理环境下的数据获取。在无线传感器网络中,能够在网络中分发小数据是一个很有用的操作功能。它允许基站往传感器节点写入一些小的程序,命令,查询和配置参数。需要强调的是,小数据分发协议不同于已经被深入研究的代码分发(有时也被称为数据分发或重编程)协议。代码分发是将新的二进制文件分布到网络中,从而实现完整的系统重编程。举例来说,高效地分发几万字节的二进制文件需要代码分发协议,而分发几个大小为两个字节的配置参数,需要小数据分发协议。
[0003]最近,一些小数据分发协议已经被提出。其中,Drip, DIP和DHV代表了当前的水平。这些协议假设无线传感器网络工作在一个受信任的环境下,它不同于真正的实际情况。实际情况中,可能有攻击者打算破坏运行的无线传感器网络。例如,当一个无线传感器网络在偏远地区工作,以监督非法活动,如遇到枪支卸货和非法作物种植,攻击者可以在注入的数据项中包括“网络休眠很长一段时间(network dormancy for a long period)”命令,从而关闭监控功能。
[0004]因此,验证分发的数据项的合法性非常重要,这样传感器节点可以验证来自受信任的源的数据项,并保证数据项在传输过程中不被修改。因此,传感器节点需要依靠认证机制,以确保在运输过程中这些来自可信来源的项目的数据没有被更改。
[0005]通常情况下,认证广播消息依赖于数字签名(例如,the Rivest, Shamir, andAdleman(RSA)签名和Elliptic Curve Cryptography (ECC)签名)和它们的加强变化版本(例如,群签名,环签名,盲签名),混合方法以及对称密钥加密。不幸的是,它们在服务于确保小数据分发时,也有一些安全漏洞和效率问题。例如,数字签名验证技术会导致很高的计算和存储开销,因此,该方法不适合资源有限的传感器节点。

【发明内容】

[0006]本发明的目的在于克服现有技术的缺点与不足,提供一种轻量级的无线传感器网络安全小数据分发方法,保证了小数据分发过程的效率和安全性。
[0007]为了达到上述目的,本发明采用以下技术方案:
[0008]轻量级的无线传感器网络安全小数据分发方法,包括如下三个阶段:
[0009]第一阶段:系统初始化阶段,基站生成单向密钥链,并在各传感器节点部署之前将密钥链承诺值(key chain commitment)加入到各传感器节点中;
[0010]第二阶段:数据包的前期处理阶段,需要发送数据的基站或传感器节点利用哈希函数H (.),构建特定数据项的合法数据包;[0011]第三阶段:数据包验证阶段:传感器节点对接收到的数据包进行验证,如果接收到的数据包为合法的数据包,则接受该数据包并对传感器节点进行更新,否则直接放弃该数据包。
[0012]所述第一阶段包括以下步骤:
[0013]A、基站挑选一个随机数Kb ;
[0014]B、根据Kb生成一个单向密钥链,由K。,K1,…Kb组成,其中Kj = H(KJ+1) (j =b-l,b-2,- ,O);
[0015]C、基站预分配密钥链,保证密钥链承诺值Ktl在传感器节点网络部署之前已经被装载到每个传感器节点中。
[0016]步骤B中,所述的单向密钥链生成方法为,以基站选择的随机数作为单向密钥链的头节点,其后的每一个密钥链节点上的谜键都由前一个密钥链节点上的谜键通过哈希函数进行哈希而得到,单向密钥链的长度可以是任意的,但不应小于网络生命周期中基站将分发的数据项数。
[0017]所述第二阶段包括以下步骤:
[0018]1、对于每一轮数据分发, 假设为第j轮,基站使用链键(puzzle key) Kj ;
[0019]I1、将数据项dj的轮值(round)设为j ;
[0020]II1、数据项dj以及链键(puzzIe key)Κ」构成了一个具有特定消息的链(puzzIe)。
[0021]1111、上述具有特定消息的链(puzzle)和一个有效的解答Lj再加上包头(packetheader)构成一个合法的数据包(packet)。其中一个有效的解答Lj是指这样一个数,它使得有效载荷的哈希结果的前I位全为O。这里的有效载荷指由谜(puzzle)和解答Lj组成的项,I称为强度参数,它的值由基站确定。
[0022]IIII1、步骤II中的数据项用四元组(round, key, version, data)来表示,这里轮值(round)表示数据项的分发新旧程度(round值越大,数据项的分发越新),变量标识(key)唯一标识要被更新的变量,版本号(version)表示数据项的新旧程度(version值越大,数据项越新),数据(data)表示要分发的数据。
[0023]所述第三阶段包括以下步骤:
[0024]a、传感器节点从任意一个相邻的一跳传感器节点或基站接收到一个数据包Pi ;
[0025]b、验证接收的数据包的轮值(round),从而确定该数据包的分发新旧(有可能为新一轮分发,同一轮分发或者旧一轮分发);
[0026]C、如果数据包是新一轮分发的数据包,则验证步骤如下:
[0027]I)验证包P」中的链键(puzzle key) Kj是利用有效的哈希函数H(.)和密钥链承诺值Ktl得到的结果以及验证该谜键没有被之前的任何一个有效数据项使用过,如果通过验证,则执行2),否则执行5)。
[0028]2)检查H(Pj)的前I位是否为0,如果前I位为0,则执行3),否则执行5)。
[0029]3)检查Pj中版本号(version)和变量标识(key)的有效性,即确认其为新版本,如果确认其为新版本,则执行4),否则执行5)。
[0030]4)根据数据包的变量标识(key)来更新数据,同时用Pj包中相应的轮值(round)和链键(puzzle key)来更新它所存储的轮值(round)和链键(puzzle key)。
[0031]5)丢弃该数据包。[0032]d、如果数据包中的轮值(round)与节点当前存储的轮值(round)相等,即节点当前接收到的数据包与上一次接受的数据包属于同一轮分发,则通过Trickle算法来增加分发的时间间隔;
[0033]e、如果数据包是旧一轮分发的数据包,则传感器节点分发它自己所储存的数据包。
[0034]我们提供轻量级的无线传感器网络安全小数据分发方法(被称为LightDrip,下同),该方法保证了小数据分发过程的效率和安全性。
[0035]与DIP和DHV不同,Drip将每一个数据项作为一个独立的实体进行分发,因而对数据项的分发时间以及速度具有更好的控制。这里,我们主要将精力集中于安全的Drip协议。在LightDrip中,我们将Drip的三元组(key, version, data)延展到四元组(round,key, version, data)来表示一个数据项,这里的round表示数据项的分发新旧程度(round值越大,数据项的分发越新),而其他的三个元素与现有协议具有相同的含义,即key唯一标识要被更新的变量,version表示数据项的新旧程度(version值越大,数据项越新),data表示要分发的数据。特别地,我们说明如何利用其高效的基础分发策略来开发Drip的一个安全的扩展(即,Trickle)。显然,同样的方法也可用于为其他小数据分发协议提供安全性保护,例如DIP和DHV,它们之间唯一的区别是如何在传感器节点之间搜索不同的数据项来实现高效消息传输。
[0036]我们集中研究轻量级的安全机制,设计我们的协议来为基站分担尽可能多的处理工作。此协议有三阶段组成:系统初始化,数据包的前期处理,数据包验证。在部署网络前执行系统初始化阶段。在此阶段,基站建立单向密钥链,并保证将密钥链承诺值加载到每个传感器节点。然后,在数据分发之前,基站通过解答谜(puzzle)信息,得到一个有效的解答,然后为数据项构造数据包,来执行数据包的前期处理阶段。在最后一个阶段,数据包验证阶段,每个传感器节点独立验证每一个接收到的数据包。如果验证通过,则根据接收到的数据更新数据包。
[0037]在安全性以及效率方面,LightDrip比基于PKC的安全系统,混合方法,和基于对称密钥加密技术的安全性解决方案更为合适。
[0038]本发明相对于现有技术具有如下的优点及效果:
[0039](I)抵抗传感器节点的妥协:不管有多少个传感器节点被破坏,只要未被损坏的传感器节点的子集仍能与基站形成一个连通图,那么协议就对传感器节点的妥协具有抵抗弹性;
[0040](2)在丢包和数据包传送失序上具有高鲁棒性:在无线传感器网络中相对较多的数据包丢失事件以及乱序数据包的到达需要能容忍高数据丢失率以及乱序数据包传输的设计;
[0041](3)基站与传感器节点之间不需要时间上的同步:基站与传感器节点之间不要求同步。因此,不用假设数据包到达的时间间隔,一旦数据包传送到传感器节点,它能立刻被验证。
[0042]( 4 )其他优点:高效节能(对于通信和计算),较低的存储开销,能抵抗恶意攻击等。【专利附图】

【附图说明】[0043]图1是本发明的流程图。
[0044]图2是单向密钥链的形成示意图。
[0045]图3是具有特定消息的加密包的构成图。
【具体实施方式】
[0046]下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
[0047]实施例
[0048]如图1所示,本协议分为系统初始化、数据包的前期处理和数据包验证三个阶段,具体如下:
[0049]第一阶段:系统初始化阶段,基站生成单向密钥链,并在各传感器节点部署之前将密钥链承诺值加入到传感器节点中;
[0050]第二阶段:数据包的前期处理阶段,基站利用哈希函数,构建特定数据项的合法数据包;
[0051]第三阶段:数据包验证阶段,传感器节点对接收到的数据包进行验证,如果接收到的数据包为合法的数据包,则接受该数据包并对传感器节点进行更新,否则直接放弃该数据包。
[0052]在系统初始化阶段,如图2所示,基站挑选一个随机数Kb,然后生成一个单向密钥链,由1((|,1(1,一1(13组成, 其中1(」=!10(」+1) (j = b-l,b-2,...,())。然后,基站预分配密钥链,保证密钥链承诺值Ktl在传感器节点网络部署之前加入到每个传感器节点中。密钥Ktl, K1,…Kb称为链键(puzzle key),链键(puzzle key) Kj用于第j轮分发,其中j > O。这里每条链的长度b可以是任意的,但不应小于网络生命周期中基站将分发的数据项数。
[0053]在LightDrip中,我们将Drip的三元组(key, version, data)延展到四元组(round, key, version, data)来表示一个数据项,这里的round表示数据项的分发新旧程度(round值越大,数据项的分发越新),而其他的三个元素与现有协议具有相同的含义,SPkey唯一标识要被更新的变量,version表示数据项的新旧程度(version值越大,数据项越新),data表示要分发的数据。跟Drip的实现一样,变量标识(key)和版本号(version)的长度分别为2字节和4字节。每一轮可以将它们的字节长度设置到足够长,例如,4个字节,以避免在无线传感器网络的生命周期中它们一直环绕在某个实数空间。然而,为了减少开销,如果环绕(wrap around)允许的话,可以使用每个字节4位的长度。由于预期的分发率并不是非常高,允许环绕(wrap around)应该不会造成任何传感器节点上的歧义。
[0054]在完成系统初始化阶段后,进入数据包的前期处理阶段。如果基站想分发这样一个数据项:d= {round, key, version, data},它会执行以下步骤来构建d的数据包。在下文中,H(M)表示消息M的哈希值。
[0055]对于每一轮,假设为第j轮,基站使用链键(puzzle key) Kj,然后将数据项dj的round值设为j。数据项d」以及链键(puzzle key) Kj构成了一个具有特定消息的链(puzzle)。如图3所示,一个有效的解答Lj为,在对((IjIlKjIlLj)施加哈希函数H(.)时,结果镜像的前I位全为O。参数I决定了链(puzzle)的强度。基站确定I的值,并在部署前将其加载到所有的传感器节点中。在发送数据包之前,基站尝试通过寻找谜(puzzle)的解答h来解出该谜(puzzle)。随后,基站会分发最终的数据包匕,它由包头以及有效载荷(dj Il Kj Il Lj)组成。
[0056]第三个阶段是数据包验证阶段。当传感器节点接收到一个数据包时(该数据包从任意一个相邻的一跳传感器节点或基站接收到),每个传感器节点,假设为Si,执行以下操作:
[0057](I)如果这是新一轮分发(B卩,接收到的数据包中的轮值(round)大于已存储的(round, puzzle key)中的轮值(round)),传感器节点Si有以下的验证顺序:
[0058]a)验证包P」中的链键(puzzle key) Kj是利用有效的哈希函数H(.)和密钥链承诺值Ktl得到的结果以及验证该谜键没有被之前的任何一个有效数据项使用过,如果通过验证,则执行b),否则执行e)。
[0059]b)检查H(Pj)的前I位是否为0,如果前I位为0,则执行C),否则执行e)。
[0060]c)检查Pj中版本号(version)和变量标识(key)的有效性,即确认其为新版本,如果确认其为新版本,则执行d),否则执行e)。
[0061]d)根据数据包的变量标识(key)来更新数据,同时用Pj包中相应的轮值(round)和链键(puzzle key)来更新它所存储的轮值(round)和链键(puzzle key)。
[0062]e)丢弃该数据包。
[0063](2)如果传感器节ASi最近曾接收到一个与其分发新旧相同的数据包(B卩,接收到的数据包中的轮值(round)等于已存储的轮值(round)),它会通过Trickle算法来增加分发的时间间隔。这样当网络是一致时,通过这种方法可以减少传感器节点的能量消耗。
[0064](3)如果当前遇到了旧一轮分发(B卩,接收到的数据包中的轮值(ixnmd)小于已存储的轮值(round)和链键(puzzle key)中的轮值(round)),也就是说,其相邻的一跳传感器节点所分发的数据包是旧的,那么传感器节点Si分发它所储存的数据包。
[0065]本发明中有关的技术术语代表的含义如下:
[0066]K」表示第j轮分发的链键(puzzle key);
[0067]Clj表示第j个数据项的内容;
[0068]Pj表示第j个数据包;
[0069]H(Pj)表示数据包Pj的哈希值;
[0070]Lj表示第j轮一个有效的解答。
[0071]上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
【权利要求】
1.轻量级的无线传感器网络安全小数据分发方法,其特征在于,包括如下阶段: 第一阶段:系统初始化阶段,在此阶段,基站随机挑选一个数,根据该数生成一条单向密钥链,并在各传感器节点部署之前将密钥链承诺值加入到各传感器节点中; 第二阶段:数据包的前期处理阶段,在此阶段基站利用哈希函数,根据需要分发的特定的小数据项,构造一个属于该数据项的合法数据包; 第三阶段:数据包验证阶段,传感器节点对接收到的数据包进行验证,如果接收到的数据包为合法的数据包,则接受该数据包并对传感器节点进行更新,否则直接放弃该数据包。
2.根据权利要求1所述轻量级的无线传感器网络安全小数据分发方法,其特征在于,所述第一阶段包括下述步骤: A、基站挑选一个随机数; B、基站根据该随机数,利用哈希函数来生成一个单向密钥链,密钥链上的密钥称为谜键; C、基站将密钥链承诺值装载到每个传感器节点中,其中单向密钥链的最后一个谜键称为密钥链承诺值。
3.根据权利要求2 所述轻量级的无线传感器网络安全小数据分发方法,其特征在于,步骤B中,所述的单向密钥链生成方法为,以基站选择的随机数作为单向密钥链的头节点,其后的每一个密钥链节点上的谜键都由前一个密钥链节点上的谜键通过哈希函数进行哈希而得到,单向密钥链的长度可以是任意的,但不应小于网络生命周期中基站将分发的数据项数。
4.根据权利要求1所述轻量级的无线传感器网络安全小数据分发方法,其特征在于,所述第二阶段包括以下步骤: 1、对于每一轮数据分发,基站使用与该轮分发对应的谜键; I1、将该轮所要分发的数据项的轮值设为该轮的轮次; II1、该轮所要分发的数据项以及谜键构成一个具有特定消息的谜; 1111、上述具有特定消息的谜和一个有效的解答再加上包头构成一个合法的数据包;其中一个有效的解答是指这样一个数,它使得有效载荷经过哈希后,哈希结果的前面若干位为零,这里零的位数称为强度参数。
5.根据权利要求4所述的轻量级的无线传感器网络安全小数据分发方法,其特征在于,在步骤I中,从单向密钥链的密钥链承诺值开始,我们对单向密钥链上的谜键从零开始进行编号,在进行数据分发时,根据当前的分发轮次,我们使用编号为该轮次的谜键。
6.根据权利要求4所述轻量级的无线传感器网络安全小数据分发方法,其特征在于,步骤II中,所述的数据项包括轮值、变量标识、版本号和数据;其中,轮值表示数据项的分发新旧程度,变量标识唯一标识要被更新的变量,版本号表示数据项的新旧程度,数据表示要分发的数据。
7.根据权利要求4所述轻量级的无线传感器网络安全小数据分发方法,其特征在于,步骤IIII所述的有效载荷指由谜和该解答组成的项,强度参数的值由基站确定。
8.根据权利要求1所述轻量级的无线传感器网络安全小数据分发方法,其特征在于,所述第三阶段包括以下步骤: a、传感器节点从任意一个相邻的一跳传感器节点或基站接收到一个数据包;b、传感器节点验证接收到的数据包的轮值,从而确定该数据包的分发新旧,如果是新一轮分发,则执行步骤C,如果是同一轮分发,则执行步骤d,如果是旧一轮分发,则执行步骤e; C、如果接收到的数据包是新一轮分发的数据包,则传感器节点执行数据包的验证步骤; d、如果接收的数据包与当前数据包属于同一轮分发,则通过Trickle算法来增加该数据包分发的时间间隔; e、如果接收到的数据包是旧一轮分发的数据包,则传感器节点分发它自己所储存的数据包。
9.根据权利要求8所述轻量级的无线传感器网络安全小数据分发方法,其特征在于,步骤c中,传感器节点执行的验证步骤的具体方法如下: 1)验证数据包中的谜键是利用有效的哈希函数和密钥链承诺值得到的结果以及验证该谜键没有被之前的任何一个有效数据项使用过,如果通过验证,则执行2),否则执行5); 2)根据基站确定的强度参数的值,检查该数据包哈希值前若干位为零的位数是否与该强度参数相等,如果相等,则执行3),否则执行5); 3)检查该数据包中版本号和变量标识的有效性,即确认其为新版本,如果确认其为新版本,则执行4),否则执行5); 4)根据该数据包的变量标识来更新数据,同时用数据包中相应的轮值和谜键来更新传感器节点所存储的轮值和谜键; 5)丢弃接收到的数据包。
【文档编号】H04W84/18GK103702325SQ201310705568
【公开日】2014年4月2日 申请日期:2013年12月19日 优先权日:2013年12月19日
【发明者】何道敬, 黄子超, 林涛 申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1