安全有效的无线传感器网络程序动态更新方法

文档序号:7710105阅读:202来源:国知局
专利名称:安全有效的无线传感器网络程序动态更新方法
技术领域
本发明涉及一种程序动态更新方法,属于无线通信领域。
背景技术
近年来,无线传感器网络因其具有广阔的应用前景而引起了大量研究者的关注。 在大多数情况下,基站需要更新传感器节点上的程序。这里的基站是指连接着传感器网络 并且资源不受限的服务器。最近,许多无线传感器网络安全动态程序更新机制已经被提出, 其中一些机制因为使用了数字签名这一高能耗的操作而不适用于资源受限的传感器网络, 一些其他机制已经被人指出存在安全漏洞。因此,到目前为止,还没有出现一种安全有效的 无线传感器网络程序动态更新方法。

发明内容
本发明的目的在于提供一种安全有效的无线传感器网络程序动态更新方法。
本发明解决其技术问题所采用的技术方案是该安全有效的无线传感器网络程序 动态更新方法主要包括以下步骤 1)在传感器节点部署前,基站进行以下操作 确定一个欧氏空间,并将该欧氏空间分解为两个正交的第一子空间和第二子空 间;随机选择第一子空间的一个标准正交基,并为每一个传感器节点从第二子空间中随机 选择一个向量; 确定一个哈希函数,并为所有的传感器节点选择一个相同的随机数作为簇密钥;
将所述向量、簇密钥和哈希函数安装到每一个传感器节点中; 2)在传感器节点部署后,当基站对所有传感器节点上的程序进行更新时,基站向 传感器网络广播程序更新消息,该程序更新消息中包括消息发送的时间戳、更新后的程序、 程序版本号、程序的标识符、以簇密钥作为输入的哈希函数值和用来检验程序更新消息的 有效性的辅助信息; 3)每个传感器节点收到程序更新消息后,验证该消息的有效性,若该程序更新消 息有效,则传感器节点接受该程序更新消息并更新自身的程序;否则拒绝该程序更新消息。
与现有技术相比,本发明的优点是 (1)本发明通过矩阵正交原理来实现系统的安全性,简单可靠,因此特别适用于资 源受限的无线传感器网络; (2)传感器节点对程序更新消息进行了周密的验证从而能够有效地抵御各
种袭击,特别是簇密钥的使用,能够有效抵御虫洞攻击; (3)为了更新所有传感器节点上的程序,基站仅需要发送唯一一个广播消息即可。
(4)本发明中的程序更新信息的长度是固定的,与传感器网络的节点数目无关,从 而适用于大规模的无线传感器网络程序更新。


图1是本发明无线传感器网络程序动态更新方法的工作流程图。
具体实施例方式有关的技术术语如下
M程序xPid程序M的标识符^ver程序M的版本h单路的哈希函数④异或操作
A B矩阵A和矩阵B的点积AT矩阵A的转置A.在传感器节点部署前,基站选择一个n维的欧氏空间V,并且将V分解为两个正交的第-一子空间K和第二子空间、,其中K是k维,L是n-k维。基站再随机选择K的一个标准正交基{QpQ^... ,QJ ;并且为每个传感器节点i选择一个向量Ci, i = 1,2K,k,其 中&是属于V2的元素。基站确定一个哈希函数,再为所有的传感器节点选择一个相同的m 位的随机数xB作为簇密钥,m应该足够大,例如256,也就是说xB是一个高信息熵的随机数。 然后,向量&、哈希函数h和簇密钥xB被装载到每个传感器节点中。 B.在传感器节点部署后,当需要更新程序时,基站向所有的传感器节点发送程序 更新消息Mddv(j),M=^^■,M,义,X附,/^C;V,,M,J^w,;re xs),^9J},其中J = l,2Kk, j
表示程序更新序号,是用来检验程序更新消息的有效性的一个辅助信息;tj表示消息Mddv(j) 发送的时间戳;M表示更新后的程序,XPid表示程序的标识符,rsr表示程序版本号,|3是满 足关系h(j, tj, M, Xpid, XVCT, Xb) |3 = 0的向量。 C.当任一传感器节点i接收到消息Mddv(j)时,进行下面关于程序更新消息的有效 性验证的操作 1)验证j的有效性如果j小于或者等于存贮在传感器节点中的j*时,传感器节 点拒绝该消息;否则,传感器节点认为j是新鲜的并且用j替换掉f(初始时,传感器节点 存贮的j* = 0),并进行下一步操作。 2)验证tj的有效性传感器节点的当前时间为Clock,如果IClock-tjl < At,进 行下一步骤;否则传感器节点拒绝该消息。这里At为预先设置好的时间延迟阈值;
3)接着,传感器节点利用所存储的簇密钥xB计算h(j, tj, M, Xpid, XVCT, xB),将所计 算得到的h(j, tj, M, Xpid, XVCT, xB)与Madv(j)中对应的哈希函数值h(j, tj, M, Xpid, XVCT, xB)进 行比较,如果两者不相等,则传感器节点拒绝该消息;如果两者相等,则进行下一步骤。
4)传感器节点计算h (j , tj, M, Xpid, XVCT, xB) t |3 0/,如果等于0,进行下一步骤;否则
传感器节点拒绝该消息; 5)传感器节点随机从13 0/中选择一个非零的行向量R/,将R/和存储在节点i中 的&相乘,如果结果为O,继续下一步骤;否则传感器节点拒绝该消息;6)传感器节点检查Rj是否为&, R2 K Rj—工的线性组合,如果不是,则存储Rj,将Rj
插入到向量集合{&,1 21( Rj—J中,接受该消息;否则拒绝该消息。
每个传感器节点对收到的程序更新消息都进行以上一系列关于程序更新消息的 有效性的检验的操作,若该消息能够通过全部的检验,则该传感器节点接受该程序更新消 息,进行程序的动态更新;否则,该传感器节点拒绝该程序更新消息。
权利要求
一种安全有效的无线传感器网络程序动态更新方法,其特征在于包括以下步骤1)在传感器节点部署前,基站进行以下操作确定一个欧氏空间,并将该欧氏空间分解为两个正交的第一子空间和第二子空间;随机选择第一子空间的一个标准正交基,并为每一个传感器节点从第二子空间中随机选择一个向量;确定一个哈希函数,并为所有的传感器节点选择一个相同的随机数作为簇密钥;将所述向量、簇密钥和哈希函数安装到每一个传感器节点中;2)在传感器节点部署后,当基站对所有传感器节点上的程序进行更新时,基站向传感器网络广播程序更新消息,该程序更新消息包括消息发送的时间戳、更新后的程序、程序版本号、程序的标识符、以簇密钥作为输入的哈希函数值和用来检验程序更新消息的有效性的辅助信息;3)每个传感器节点收到程序更新消息后,利用所存储的簇密钥,验证该消息的有效性,若该程序更新消息有效,则传感器节点接受该程序更新消息并更新自身的程序;否则拒绝该程序更新消息。
全文摘要
本发明公开了一种安全有效的无线传感器网络程序动态更新方法,属无线通信领域。该方法包括以下步骤在传感器节点部署前,基站确定一个欧氏空间,并将它分解为两个正交的第一子空间和第二子空间;随机选择第一子空间的一个标准正交基,并为每一个传感器节点从第二子空间中随机选择一个向量;确定一个哈希函数,并为所有的传感器节点选择一个相同的随机数作为簇密钥;将所述向量、簇密钥和哈希函数安装到每一个传感器节点中;当基站需要更新所有传感器节点上的程序时,基站向传感器网络广播程序更新消息,由各传感器节点验证该消息的有效性,若该程序更新消息有效,则传感器节点接受该程序更新消息并更新自身的程序;否则拒绝该程序更新消息。
文档编号H04W12/00GK101742490SQ20091015512
公开日2010年6月16日 申请日期2009年12月2日 优先权日2009年12月2日
发明者何道敬, 卜佳俊, 尹明剑, 陈纯 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1