法律状态公告日
法律状态信息
法律状态
2018-12-07
未缴年费专利权终止 IPC(主分类):H04W12/04 授权公告日:20120502 终止日期:20171214 申请日:20091214
专利权的终止
2012-05-02
授权
授权
2010-08-25
实质审查的生效 IPC(主分类):H04W12/04 申请日:20091214
实质审查的生效
2010-06-30
公开
公开
技术领域
本发明涉及一种程序(也被称为:软件,下同)动态更新方法,属于无线通信领域。
背景技术
近年来,无线传感器网络因其广阔的应用前景而受到学术界和工业界越来越广泛的重视。在大多数场合,为了提供新的需求,基站需要更新所有传感器节点上的程序。然而,目前为止,还没有出现一种安全有效的动态程序更新方法。有些协议使用数字签名来保障程序动态更新的安全性,不过这种方法会消耗大量的资源,并不适用在资源受限的传感器节点上;有些协议采用矩阵正交性原理来保障程序动态更新的安全性,这种方法虽然计算花销少,但是这些协议无法抵御妥协节点发动的伪装攻击。也就是说,在这些协议里,妥协节点能够成功伪装基站广播虚假程序更新消息,进而控制整个传感器网络。
发明内容
-本发明的目的在于提供一种可抵御妥协节点攻击的无线传感器网络程序动态更新方法。
本发明解决其技术问题所采用的技术方案如下:
可抵御妥协节点攻击的无线传感器网络程序动态更新方法主要包括以下部分:
1)在传感器节点部署前,
基站确定一个哈希函数;
基站选择一个欧氏空间,将该欧氏空间分解为正交的第一子空间和第二子空间,所述第一子空间的维数为k,所述第二子空间的维数为n-k,其中,n为所述欧氏空间的维数,k为所述无线传感器网络中传感器节点的数量;
基站为每一个传感器节点选择一个身份标识符和属于第一子空间的向量;
所述向量、身份标识符和哈希函数分别被装载到每一个传感器节点中;
2)在传感器节点部署后,
当基站需要对所有传感器节点上的程序进行更新时,基站向传感器网络广播程序更新消息,该程序更新消息包括更新序号、消息发送的时间戳、更新后的程序、程序版本号、程序标识符、每个传感器节点的身份标识符和与每个传感器节点相对应的密钥散列消息认证码,所述密钥散列消息认证码以对应的传感器节点的向量作为密钥;
3)每个传感器节点收到所述程序更新消息后按以下步骤验证该消息的有效性:
i.传感器节点根据自己的身份标识符,从接收到的程序更新消息中提取出自己的密钥散列消息认证码;
ii.传感器节点验证程序更新消息中的更新序号和消息发送的时间戳的有效性,如果都有效,则进行下一步骤;否则拒绝该程序更新消息;
iii.传感器节点根据所装载的向量得到密钥散列消息认证码,将该密钥散列消息认证码与步骤i中提取的密钥散列消息认证码比较,如果两者相等,接受程序更新消息并进行程序更新;否则拒绝该程序更新消息。
与现有技术相比,本发明具有的优点是:
(1)即使敌方妥协了任一传感器节点m,从而获得了秘密值Cm,但是敌方无法伪装成基站发布虚假程序更新信息并且通过其他传感器节点的验证,因此即使某些节点被妥协,该无线传感器网络的安全性仍然能够得到保障;
(2)通过简单的运算(包括哈希函数、矩阵正交和密钥散列消息认证码)来保障无线传感器网络的安全性,可靠性高,因此特别适合于资源受限的无线传感器网络;
(3)为了更新所有传感器节点上的程序,基站仅需要发送一个广播消息就能更新所有传感器节点上的程序。
附图说明
图1是本发明无线传感器网络程序动态更新方法的工作流程图。
具体实施方式
有关的技术术语如下:
M 程序
Xpid 程序M的标识符
Xver 程序M的版本
HMAC() 密钥散列消息认证码(keyed hash message authentication code)
异或操作
A·B 矩阵A和矩阵B的点积
AT 矩阵A的转置
|| 串连接操作
IDi 节点i的标识符
参见图1,本发明可抵御妥协节点攻击的无线传感器网络程序动态更新方法如下:
A.在传感器节点部署前,基站确定一个哈希函数h;并且,基站选择一个n维的欧氏空间V,将V分解为两个正交的子空间,即第一子空间V1和第二子空间V2,其中V1是k维,V2是n-k维,其中,k为该无线传感器网络的所有传感器节点的数量。此外,基站为每个传感器节点i选择一个身份标识符IDi和一个属于V1的向量Ci,i=1,2K,k,Ci的长度应足够大以避免用穷举法猜测出该Ci,例如Ci的长度可以是512比特。向量Ci、哈希函数h和身份标识符IDi被安装到每个传感器节点中。
B.在传感器节点部署后,当基站需要对所有传感器节点上的程序进行更新时,基站向所有的传感器节点广播程序更新消息Madv(j),
IDk,HMAC(Ck,(j||tj||M||IDk||Xpid||Xver))},其中j=1,2Kk,j表示程序更新序号,tj表示发送消息Madv(j)的时间戳,M表示更新后的程序。
C.当任一传感器节点i接收到消息Madv(j)时,为了对该消息进行验证,需进行以下操作:
1)传感器节点i根据自己的标识符IDi,提取出自己的密钥散列消息认证码HMAC(Ci,(j||tj||M||IDi||Xpid||Xver))。
2)验证j的有效性,如果j小于或者等于存贮于节点的j*时,传感器节点拒绝该消息;否则,传感器节点认为j是新鲜的并且用j替换掉j*(初始时,节点存贮的j*=0)。并继续验证tj的有效性,传感器节点的当前时间为Clock,如果|Clock-tj|<Δt,进入下一步骤,否则传感器节点拒绝该消息。这里Δt为预先设置好的程序更新消息的时间延迟阈值。
3)传感器节点根据自己的Ci计算HMAC(Ci,(j||tj||M||IDi||Xpid||Xver)),将计算得到的HMAC(Ci,(j||tj||M||IDi||Xpid||Xver))与1)中提取出的HMAC(Ci,(j||tj||M||IDi||Xpid||Xver))进行比较,如果相等,传感器节点接受该广播消息并且更新自身的程序;否则传感器节点拒绝该消息;
每个传感器节点对所收到的程序更新广播消息进行以上一系列的检验,若该消息能够通过以上全部的检验,则该传感器节点接受该广播消息;否则,该传感器节点拒绝该广播消息。假设敌方妥协了某一传感器节点m,从而获得了该传感器节点上的秘密值Cm,但是敌方无法伪装基站发布虚假程序更新信息并且通过其他传感器节点的验证。因此,即使在传感器节点被妥协的情况下,本发明也能保障传感器网络的程序动态更新的安全性。
机译: 无线传感器网络中主节点定点攻击的动态防御机制
机译: 分布式动态无线传感器/执行器网络管理和操作方法,涉及通过接口将传感器节点有线耦合到网络节点,其中提供耦合以在初始状态下相互设置传感器节点
机译: MAC聚合具有抵御拒绝服务攻击的能力,可用于多节点数据网络