具有丢包容忍和机密保障的无线传感器网络代码分发方法

文档序号:6524285阅读:207来源:国知局
具有丢包容忍和机密保障的无线传感器网络代码分发方法
【专利摘要】具有丢包容忍和机密保障的无线传感器网络代码分发方法,属于无线传感器网络应用【技术领域】,(1):源节点对待更新程序映像和运行在节点上的旧程序映像进行字节级比较获得待分发的程序映像增量;(2):源节点对程序映像增量进行分发前的预处理;(3):无线传感器网络进行代码分发;(4):传感器节点进行代码分发的验证和装配,并将接收到且验证成功的数据包装配成程序映像增量;(5):传感器节点基于已经运行在其上的旧程序映像,重编译产生新的更新好的程序映像,并加载。本发明本身的方案复杂度不高,易于操作和实现,适应无线传感器网络这种资源受限的环境。本方法同时具备了丢包容忍属性和机密性保障属性。
【专利说明】具有丢包容忍和机密保障的无线传感器网络代码分发方法
【技术领域】
[0001]本发明属于无线传感器网络应用【技术领域】,具体涉及为具有丢包容忍和机密保障的无线传感器网络代码分发方法。
【背景技术】
[0002]无线传感器网络在国防军事、农业、医疗卫生、工业、智能交通等众多领域有着广阔的应用前景,其应用通常被部署于长期无人看守的环境中。然而,随着时间的推移,无线传感器节点上的应用程序经常需要增加一些功能或者修复软件中存在的问题,这就需要对整个网络所有的节点进行在线代码分发。在一些网络规模较大或者是节点部署环境较恶劣的情况下,人工手动地对所有节点编程将是一项非常耗时、耗力甚至是不可能完成的任务。因此在无线传感器网络(Wireless Sensor Networks, WSNs)中需要一种机制能够通过无线的方式远程对节点软件进行更新。WSNs在线代码分发技术是一种有效的解决途径。
[0003]增量式多跳代码分发方法是WSNs在线代码分发中最主流的一类方法。这类方法的通用做法是首先通过计算新旧程序映像之间字节级的差异确定分发目标,然后将更新目标分成固定大小的页,每页被进一步分割成固定大小的数据包,最终将该数据包作为基本的数据传输单位进行传输。传输时,页按序传输。这类方法最初的考虑重点是如何降低代码分发过程中的能耗,基本都没有考虑在线代码分发的安全性。
[0004]为此,针对传感器节点资源极度受限的计算环境,许多学者提出采用基于对称密钥加密方法来加强在线代码分发方法的安全性和可靠性。虽然这种方法可以减少更新代码的认证开销,缩短端到端传输的时间延迟。然而,使用对称密钥加密方法,需要在发送者和接收者之间事先建立一个共享密钥。在在线代码分发过程中,只要有一个节点被俘获就意味着共享密钥被泄露,导致整个网络都不再安全。
[0005]此夕卜,即便使用源节点与传感器节点之间的配对密码(pairwise keys)方案,也会因WSNs规模增大所产生的显著开销,而变得难以实用。
[0006]针对这些缺点,基于PKC (Public Key Cipher)的安全认证方法被提了出来。这类方法的主要思想是使用单向Hash函数和数字签名的混合方法来认证网络中的更新代码包和源节点的身份。数字签名主要用来认证源节点的身份,即一个可信的源节点有一个私钥,同时每个传感器节点预置了这个源节点相应的公钥。源节点用它的私钥对每个更新包进行签名,传感器节点用公钥来验证每个接收更新包的真实性。任何节点在没有获得私钥的情况下,都无法冒充源节点的合法签名。但是,现有的解决方案普遍存在方法复杂度较高、无法在资源受限的无线传感器网络中实现的问题。另外,现有所有的解决方案基本都没有考虑无线传感器易于丢包的通信特性,也没有考虑待分发代码的保密性需求。

【发明内容】

[0007]本发明的目的在于克服上述提到的缺陷和不足,而提供具有丢包容忍和机密保障的无线传感器网络代码分发方法。[0008]本发明实现其目的采用的技术方案如下。
[0009]具有丢包容忍和机密保障的无线传感器网络代码分发方法,包括以下步骤:
步骤(I):源节点对待更新程序映像和运行在节点上的旧程序映像进行字节级比较获
得待分发的程序映像增量;
步骤(2):源节点对程序映像增量进行分发前的预处理,包括以下内容:
(2.1),源节点将代码映像分成固定大小的页,每页进一步被分成固定大小的数据包; (2.2),源节点按页序对页内所有的数据包采用reed-solomon方法进行编码;
(2.3),源节点计算每个数据包的Hash值,该Hash值被嵌入到选定的数据包合适的位
置;
(2.4),源节点采用CP弱认证机制,然后通过数字签名包来发起一次代码分发;
步骤(3):无线传感器网络进行代码分发;
步骤(4):传感器节点进行代码分发的验证和装配,并将接收到且验证成功的数据包装配成程序映像增量;
步骤(5):传感器节点基于已经运行在其上的旧程序映像,重编译产生新的更新好的程序映像,并加载。
[0010]更具体的,步骤(2.4)中CP弱认证机制,包括如下步骤:
(2.41)源节点随机选取一组随机数作为起点,对每个随机数不断的进行Hash计算,从而为每一个程序映像产生一个单向密钥链;
(2.42)计算密钥谜的答案;
(2.43)重新构造广播包,并广播该新构造的广播数据包。
[0011]更具体的,所述步骤(4)包括以下步骤:
(4.1)传感器节点在收到数字签名后,首先通过简单的Hash操作进行数字签名认证之前的初步验证;
(4.2)如果初步认证通过再进行进一步的数字签名认证;
(4.3)数字签名认证通过后,源节点身份得到确认,开始从链路层接收数据包,解密数据包;
(4.4)传感器节点将数据包装配成数据页,再将数据页装配成最终的程序映像。
[0012]与现有的发明相比,本发明提出了具有丢包容忍和机密保障的无线传感器网络代码分发方法,同时兼顾了在线代码分发的安全性、可靠性和容错性。
[0013]在安全性方面,本方法没有采用高复杂性、高计算消耗的数字签名等非对称密码技术,而是采用了低计算消耗、低复杂度的Hash函数。通过有效的Hash值嵌入技术,能保证在页内数据包乱序到达情况下,仍能通过简单的、多次Hash操作就能对所接收的代码包进行一致性认证。本发明中,一次代码更新操作是通过包含代码映像Hash值的根的数字签名操作来发起。
[0014]为了防御基于数字签名的DoS攻击,本方法在发送数字签名之前引入CP (CipherPuzzle)弱认证机制,也就是在进行数字签名认证操作之前,先通过简单的Hash操作进行“粗略”验证,能避免节点进行昂贵而无谓的数字签名认证操作。
[0015]为了提供在线代码分发的机密性保障,本方法采用了对称加密方法对数据包进行加密,并采用动态秘钥以提高机密性。[0016]在丢包容忍方面,方法采用reed-solomon编码方法对页内数据包进行编码,接收节点只要接收到指定阈值的数据包就可以正确解码整个数据页内的所有数据,从而可以容忍一定量的丢包。
[0017]与现有的解决类似问题的发明相比,本发明本身的方案复杂度不高,易于操作和实现,适应无线传感器网络这种资源受限的环境。更加重要的是本方法同时具备了丢包容忍属性和机密性保障属性,是现有所有安全的在线代码分发方法所不具备的。
【专利附图】

【附图说明】
[0018]图1是本发明的流程示意图;
图2是本发明的原理框图;
图3是本发明的部分流程示意图;
图4是本发明的面向数据包认证和机密性保障的PI预处理示意图;
图5是本发明的CP机制的工作原理。
【具体实施方式】
[0019]下面结合附图,对本发明作进一步详细说明。
[0020]对于一个已经投入使用的无线传感器网络应用系统,为了进行无线在线代码更新,需要经历远程重启正运行的程序映像到代码更新模式一>代码更新一> 远程重启到更新好的代码映像。在该流程下,本发明采用的详细技术方案如图1所示,方案将参与在线代码分发的无线传感器网络分成了三个角色:源节点或基站,无线传感器网络本身,传感器节点。
[0021]步骤(1):源节点对待更新程序映像和运行在节点上的旧程序映像进行字节级比较获得待分发的程序映像增量。
[0022]步骤(2):源节点对程序映像增量进行分发前的预处理。包括以下内容:
(2.1),源节点将代码映像分成固定大小的页,每页进一步被分成固定大小的数据包。
[0023](2.2),源节点按页序对页内所有的数据包采用reed-solomon方法进行编码,确保程序映像分发具有丢包容忍的属性。具体的编码方法如下:
假定一页内有η个数据包,分别计为:C^d2,…,dn,每个数据包大小为k字节。同时假定有m个冗余数据包,分别计为:ri,r2,…,rm,每个数据通包大小也为k字节。每个冗余数据包的内容从原始数据包计算,我们的目标是定义每个冗余数据包A的计算,以确保^d2,..., dn, T1, r2,…,中的η个数据包被接收后,整个页面就能被成功重建,从而允许代码分发过程中部分数据包丢失。
[0024]对于每个冗余数据包可以采用公式(I)进行计算。
[0025]FD=R(I)
这里D和R分别代表原始和冗余数据包向量,F代表一个矩阵,其中每一行对应一个函数。
[0026]本发明中将F定义为一个mXn的vandermonde矩阵:fi,j=」1—1,基于此,等式(I)可以转换为等式(2)。[0027]
【权利要求】
1.具有丢包容忍和机密保障的无线传感器网络代码分发方法,其特征在于,包括以下步骤: 步骤(I):源节点对待更新程序映像和运行在节点上的旧程序映像进行字节级比较获得待分发的程序映像增量; 步骤(2):源节点对程序映像增量进行分发前的预处理,包括以下内容: (2.1),源节点将代码映像分成固定大小的页,每页进一步被分成固定大小的数据包; (2.2),源节点按页序对页内所有的数据包采用reed-solomon方法进行编码; (2.3),源节点计算每个数据包的Hash值,该Hash值被嵌入到选定的数据包合适的位置; (2.4),源节点采用CP弱认证机制,然后通过数字签名包来发起一次代码分发; 步骤(3):无线传感器网络进行代码分发; 步骤(4):传感器节点进行代码分发的验证和装配,并将接收到且验证成功的数据包装配成程序映像增量; 步骤(5):传感器节点基于已经运行在其上的旧程序映像,重编译产生新的更新好的程序映像,并加载。
2.如权利要求1所述的具有丢包容忍和机密保障的无线传感器网络代码分发方法,其特征在于,步骤(2.4)中CP弱认证机制,包括如下步骤: (2.41)源节点随机选取一组随机数作为起点,对每个随机数不断的进行Hash计算,从而为每一个程序映像产生一个单向密钥链; (2.42)计算密钥谜的答案; (2.43)重新构造广播包,并广播该新构造的广播数据包。
3.如权利要求1所述的具有丢包容忍和机密保障的无线传感器网络代码分发方法,其特征在于,所述步骤(4)包括以下步骤: (4.1)传感器节点在收到数字签名后,首先通过简单的Hash操作进行数字签名认证之前的初步验证; (4.2)如果初步认证通过再进行进一步的数字签名认证; (4.3)数字签名认证通过后,源节点身份得到确认,开始从链路层接收数据包,解密数据包; (4.4)传感器节点将数据包装配成数据页,再将数据页装配成最终的程序映像。
【文档编号】G06F21/64GK103838605SQ201310697086
【公开日】2014年6月4日 申请日期:2013年12月18日 优先权日:2013年12月18日
【发明者】谢满德, 魏贵义 申请人:浙江工商大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1