首页> 中国专利> 轻量级的无线传感器网络安全小数据分发方法

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

摘要

本发明公开了一种轻量级的无线传感器网络安全小数据分发方法,包括如下阶段:第一阶段:系统初始化阶段,基站生成单向密钥链,并在各传感器节点部署之前将密钥链承诺值加入到各传感器节点中;第二阶段:数据包的前期处理阶段,基站利用哈希函数,构建特定数据项的合法数据包;第三阶段:数据包验证阶段,传感器节点对接收到的数据包进行验证,如果接收到的数据包为合法的数据包,则接受该数据包并对传感器节点进行更新,否则直接放弃该数据包。本发明考虑了常用的传感器节点资源受限的情况,具有能抵抗传感器节点妥协,在丢包以及数据包传送失序上具有高鲁棒性、基站与传感器节点之间无需时间同步等优点,同时兼具高效节能、存储开销较低、能抵抗恶意攻击等优秀特性。

著录项

  • 公开/公告号CN103702325A

    专利类型发明专利

  • 公开/公告日2014-04-02

    原文格式PDF

  • 申请/专利权人 华南理工大学;

    申请/专利号CN201310705568.9

  • 发明设计人 何道敬;黄子超;林涛;

    申请日2013-12-19

  • 分类号H04W12/04;H04W12/08;H04W84/18;

  • 代理机构广州市华学知识产权代理有限公司;

  • 代理人蔡茂略

  • 地址 510640 广东省广州市天河区五山路381号

  • 入库时间 2024-02-19 23:19:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-04-19

    授权

    授权

  • 2014-04-30

    实质审查的生效 IPC(主分类):H04W12/04 申请日:20131219

    实质审查的生效

  • 2014-04-02

    公开

    公开

说明书

技术领域

本发明涉及无线通信的技术领域,特别涉及一种轻量级的无线传感器网络 安全小数据分发方法。

背景技术

目前,无线传感器网络的分布十分广泛,应用也多种多样,包括环境监测, 战地监视以及在严酷地理环境下的数据获取。在无线传感器网络中,能够在网 络中分发小数据是一个很有用的操作功能。它允许基站往传感器节点写入一些 小的程序,命令,查询和配置参数。需要强调的是,小数据分发协议不同于已 经被深入研究的代码分发(有时也被称为数据分发或重编程)协议。代码分发 是将新的二进制文件分布到网络中,从而实现完整的系统重编程。举例来说, 高效地分发几万字节的二进制文件需要代码分发协议,而分发几个大小为两个 字节的配置参数,需要小数据分发协议。

最近,一些小数据分发协议已经被提出。其中,Drip,DIP和DHV代表 了当前的水平。这些协议假设无线传感器网络工作在一个受信任的环境下,它 不同于真正的实际情况。实际情况中,可能有攻击者打算破坏运行的无线传感 器网络。例如,当一个无线传感器网络在偏远地区工作,以监督非法活动,如 遇到枪支卸货和非法作物种植,攻击者可以在注入的数据项中包括“网络休眠 很长一段时间(network dormancy for a long period)”命令,从而关闭监控功能。

因此,验证分发的数据项的合法性非常重要,这样传感器节点可以验证来自受 信任的源的数据项,并保证数据项在传输过程中不被修改。因此,传感器节点 需要依靠认证机制,以确保在运输过程中这些来自可信来源的项目的数据没有 被更改。

通常情况下,认证广播消息依赖于数字签名(例如,the Rivest,Shamir,and  Adleman(RSA)签名和Elliptic Curve Cryptography(ECC)签名)和它们的加强变 化版本(例如,群签名,环签名,盲签名),混合方法以及对称密钥加密。不 幸的是,它们在服务于确保小数据分发时,也有一些安全漏洞和效率问题。例 如,数字签名验证技术会导致很高的计算和存储开销,因此,该方法不适合资 源有限的传感器节点。

发明内容

本发明的目的在于克服现有技术的缺点与不足,提供一种轻量级的无线传 感器网络安全小数据分发方法,保证了小数据分发过程的效率和安全性。

为了达到上述目的,本发明采用以下技术方案:

轻量级的无线传感器网络安全小数据分发方法,包括如下三个阶段:

第一阶段:系统初始化阶段,基站生成单向密钥链,并在各传感器节点部 署之前将密钥链承诺值(key chain commitment)加入到各传感器节点中;

第二阶段:数据包的前期处理阶段,需要发送数据的基站或传感器节点利 用哈希函数H(.),构建特定数据项的合法数据包;

第三阶段:数据包验证阶段:传感器节点对接收到的数据包进行验证,如 果接收到的数据包为合法的数据包,则接受该数据包并对传感器节点进行更新, 否则直接放弃该数据包。

所述第一阶段包括以下步骤:

A、基站挑选一个随机数Kb

B、根据Kb生成一个单向密钥链,由K0,K1,…Kb组成,其中Kj=H(Kj+1)(j= b-1,b-2,…,0);

C、基站预分配密钥链,保证密钥链承诺值K0在传感器节点网络部署之前已 经被装载到每个传感器节点中。

步骤B中,所述的单向密钥链生成方法为,以基站选择的随机数作为单向密 钥链的头节点,其后的每一个密钥链节点上的谜键都由前一个密钥链节点上的 谜键通过哈希函数进行哈希而得到,单向密钥链的长度可以是任意的,但不应 小于网络生命周期中基站将分发的数据项数。

所述第二阶段包括以下步骤:

I、对于每一轮数据分发,假设为第j轮,基站使用谜键(puzzle key)Kj

II、将数据项dj的轮值(round)设为j;

III、数据项dj以及谜键(puzzle key)Kj构成了一个具有特定消息的谜(puzzle)。

IIII、上述具有特定消息的谜(puzzle)和一个有效的解答Lj再加上包头(packet  header)构成一个合法的数据包(packet)。其中一个有效的解答Lj是指这样一个 数,它使得有效载荷的哈希结果的前l位全为0。这里的有效载荷指由谜(puzzle) 和解答Lj组成的项,l称为强度参数,它的值由基站确定。

IIIII、步骤II中的数据项用四元组(round,key,version,data)来表示,这 里轮值(round)表示数据项的分发新旧程度(round值越大,数据项的分发越新), 变量标识(key)唯一标识要被更新的变量,版本号(version)表示数据项的新 旧程度(version值越大,数据项越新),数据(data)表示要分发的数据。

所述第三阶段包括以下步骤:

a、传感器节点从任意一个相邻的一跳传感器节点或基站接收到一个数据包Pi

b、验证接收的数据包的轮值(round),从而确定该数据包的分发新旧(有可 能为新一轮分发,同一轮分发或者旧一轮分发);

c、如果数据包是新一轮分发的数据包,则验证步骤如下:

1)验证包Pj中的谜键(puzzle key)Kj是利用有效的哈希函数H(.)和密钥链 承诺值K0得到的结果以及验证该谜键没有被之前的任何一个有效数据项使用过, 如果通过验证,则执行2),否则执行5)。

2)检查H(Pj)的前l位是否为0,如果前l位为0,则执行3),否则执行5)。

3)检查Pj中版本号(version)和变量标识(key)的有效性,即确认其为新 版本,如果确认其为新版本,则执行4),否则执行5)。

4)根据数据包的变量标识(key)来更新数据,同时用Pj包中相应的轮值(round) 和谜键(puzzle key)来更新它所存储的轮值(round)和谜键(puzzle key)。

5)丢弃该数据包。

d、如果数据包中的轮值(round)与节点当前存储的轮值(round)相等,即 节点当前接收到的数据包与上一次接受的数据包属于同一轮分发,则通过Trickle 算法来增加分发的时间间隔;

e、如果数据包是旧一轮分发的数据包,则传感器节点分发它自己所储存的 数据包。

我们提供轻量级的无线传感器网络安全小数据分发方法(被称为LightDrip, 下同),该方法保证了小数据分发过程的效率和安全性。

与DIP和DHV不同,Drip将每一个数据项作为一个独立的实体进行分发, 因而对数据项的分发时间以及速度具有更好的控制。这里,我们主要将精力集 中于安全的Drip协议。在LightDrip中,我们将Drip的三元组(key,version, data)延展到四元组(round,key,version,data)来表示一个数据项,这里的 round表示数据项的分发新旧程度(round值越大,数据项的分发越新),而其他 的三个元素与现有协议具有相同的含义,即key唯一标识要被更新的变量, version表示数据项的新旧程度(version值越大,数据项越新),data表示要分发 的数据。特别地,我们说明如何利用其高效的基础分发策略来开发Drip的一个 安全的扩展(即,Trickle)。显然,同样的方法也可用于为其他小数据分发协议 提供安全性保护,例如DIP和DHV,它们之间唯一的区别是如何在传感器节点 之间搜索不同的数据项来实现高效消息传输。

我们集中研究轻量级的安全机制,设计我们的协议来为基站分担尽可能多 的处理工作。此协议有三阶段组成:系统初始化,数据包的前期处理,数据包 验证。在部署网络前执行系统初始化阶段。在此阶段,基站建立单向密钥链, 并保证将密钥链承诺值加载到每个传感器节点。然后,在数据分发之前,基站 通过解答谜(puzzle)信息,得到一个有效的解答,然后为数据项构造数据包, 来执行数据包的前期处理阶段。在最后一个阶段,数据包验证阶段,每个传感 器节点独立验证每一个接收到的数据包。如果验证通过,则根据接收到的数据 更新数据包。

在安全性以及效率方面,LightDrip比基于PKC的安全系统,混合方法,和 基于对称密钥加密技术的安全性解决方案更为合适。

本发明相对于现有技术具有如下的优点及效果:

(1)抵抗传感器节点的妥协:不管有多少个传感器节点被破坏,只要未被 损坏的传感器节点的子集仍能与基站形成一个连通图,那么协议就对传感器节 点的妥协具有抵抗弹性;

(2)在丢包和数据包传送失序上具有高鲁棒性:在无线传感器网络中相对 较多的数据包丢失事件以及乱序数据包的到达需要能容忍高数据丢失率以及乱 序数据包传输的设计;

(3)基站与传感器节点之间不需要时间上的同步:基站与传感器节点之间 不要求同步。因此,不用假设数据包到达的时间间隔,一旦数据包传送到传感 器节点,它能立刻被验证。

(4)其他优点:高效节能(对于通信和计算),较低的存储开销,能抵抗 恶意攻击等。

附图说明

图1是本发明的流程图。

图2是单向密钥链的形成示意图。

图3是具有特定消息的加密包的构成图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方 式不限于此。

实施例

如图1所示,本协议分为系统初始化、数据包的前期处理和数据包验证三个 阶段,具体如下:

第一阶段:系统初始化阶段,基站生成单向密钥链,并在各传感器节点部 署之前将密钥链承诺值加入到传感器节点中;

第二阶段:数据包的前期处理阶段,基站利用哈希函数,构建特定数据项 的合法数据包;

第三阶段:数据包验证阶段,传感器节点对接收到的数据包进行验证,如果 接收到的数据包为合法的数据包,则接受该数据包并对传感器节点进行更新,否 则直接放弃该数据包。

在系统初始化阶段,如图2所示,基站挑选一个随机数Kb,然后生成一个单 向密钥链,由K0,K1,…Kb组成,其中Kj=H(Kj+1)(j=b-1,b-2,…,0)。然后, 基站预分配密钥链,保证密钥链承诺值K0在传感器节点网络部署之前加入到每个 传感器节点中。密钥K0,K1,…Kb称为谜键(puzzle key),谜键(puzzle key)Kj用 于第j轮分发,其中j>0。这里每条链的长度b可以是任意的,但不应小于网络生 命周期中基站将分发的数据项数。

在LightDrip中,我们将Drip的三元组(key,version,data)延展到四元组 (round,key,version,data)来表示一个数据项,这里的round表示数据项的分 发新旧程度(round值越大,数据项的分发越新),而其他的三个元素与现有协议 具有相同的含义,即key唯一标识要被更新的变量,version表示数据项的新旧程 度(version值越大,数据项越新),data表示要分发的数据。跟Drip的实现一样, 变量标识(key)和版本号(version)的长度分别为2字节和4字节。每一轮可以 将它们的字节长度设置到足够长,例如,4个字节,以避免在无线传感器网络的 生命周期中它们一直环绕在某个实数空间。然而,为了减少开销,如果环绕(wrap  around)允许的话,可以使用每个字节4位的长度。由于预期的分发率并不是非 常高,允许环绕(wrap around)应该不会造成任何传感器节点上的歧义。

在完成系统初始化阶段后,进入数据包的前期处理阶段。如果基站想分发这 样一个数据项:d={round,key,version,data},它会执行以下步骤来构建d的数 据包。在下文中,H(M)表示消息M的哈希值。

对于每一轮,假设为第j轮,基站使用谜键(puzzle key)Kj,然后将数据项dj的 round值设为j。数据项dj以及谜键(puzzle key)Kj构成了一个具有特定消息的谜 (puzzle)。如图3所示,一个有效的解答Lj为,在对(dj‖Kj‖Lj)施加哈希函数H(.)时, 结果镜像的前l位全为0。参数l决定了谜(puzzle)的强度。基站确定l的值,并在 部署前将其加载到所有的传感器节点中。在发送数据包之前,基站尝试通过寻找 谜(puzzle)的解答Lj来解出该谜(puzzle)。随后,基站会分发最终的数据包Pj, 它由包头以及有效载荷(dj‖Kj‖Lj)组成。

第三个阶段是数据包验证阶段。当传感器节点接收到一个数据包时(该数据 包从任意一个相邻的一跳传感器节点或基站接收到),每个传感器节点,假设为Si, 执行以下操作:

(1)如果这是新一轮分发(即,接收到的数据包中的轮值(round)大于已存 储的(round,puzzle key)中的轮值(round)),传感器节点Si有以下的验证顺序:

a)验证包Pj中的谜键(puzzle key)Kj是利用有效的哈希函数H(.)和密钥链承 诺值K0得到的结果以及验证该谜键没有被之前的任何一个有效数据项使用过,如 果通过验证,则执行b),否则执行e)。

b)检查H(Pj)的前l位是否为0,如果前l位为0,则执行c),否则执行e)。

c)检查Pj中版本号(version)和变量标识(key)的有效性,即确认其为新 版本,如果确认其为新版本,则执行d),否则执行e)。

d)根据数据包的变量标识(key)来更新数据,同时用Pj包中相应的轮值(round) 和谜键(puzzle key)来更新它所存储的轮值(round)和谜键(puzzle key)。

e)丢弃该数据包。

(2)如果传感器节点Si最近曾接收到一个与其分发新旧相同的数据包(即, 接收到的数据包中的轮值(round)等于已存储的轮值(round)),它会通过Trickle 算法来增加分发的时间间隔。这样当网络是一致时,通过这种方法可以减少传感 器节点的能量消耗。

(3)如果当前遇到了旧一轮分发(即,接收到的数据包中的轮值(round)小 于已存储的轮值(round)和谜键(puzzle key)中的轮值(round)),也就是说, 其相邻的一跳传感器节点所分发的数据包是旧的,那么传感器节点Si分发它所储 存的数据包。

本发明中有关的技术术语代表的含义如下:

Kj表示第j轮分发的谜键(puzzle key);

dj表示第j个数据项的内容;

Pj表示第j个数据包;

H(Pj)表示数据包Pj的哈希值;

Lj表示第j轮一个有效的解答。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实 施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、 替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号