一种无线传感器网络安全轻量重编程方法_3

文档序号:9474874阅读:来源:国知局
量K〈KM,K0i2, K0i3, - ,Κ0ιη>对收到的数据包进行解密。其解密公式为:
[0071]D (EdK1, J ,K1 = {C, Kli jI
[0072]传感器节点成功解密后,使用Η(.)函数来判断其数据完整性。如果H(Ky)=K1 j,则接受该数据包;否则,将直接丢弃改数据包。
[0073]成功对数据包进行解密后,将对数据包进行解码工作。当收到当前页面的第一个编码包C1时,目标传感器节点就可以开始解码,其解码的主要步骤如下:
[0074]I)当成功解密一个数据包时,将其和其它数据包的编码信息进行比较,如果和已收到的数据包都不相同,则PCount的值增加I各个单位,将该数据包和该页面的C1编码包进行异或操作,恢复相关的数据包;如果收到的数据包已经存在于当前存储的数据包,则直接将其丢弃。
[0075]2)当pCount的值为η (η为该页面总的数据包数目)时,则表明已经成功接收到所有的编码数据包,此时按I)中的描述已经解码出η-1个数据包,最后的一个元数据包可以使用以下的循环操作获得:将恢复的η-1个数据包依次与C1进行异或操作,恢复出该页面的最后一个数据包。
[0076]拒绝服务攻击是无线传感其网络中较为常见的攻击行为,现有的主流的应对方法是在解码中使用弱的验证作为第一道防线,如使用信息特定迷惑(Message specificpuzzle)或密码迷惑(Cipher puzzle)等。然而虚假数据包的到来在一定程度上是服从泊松分布的,因而本方法采用如上述的先进行正常的验证行为,一旦该数据包的验证失败,则将fCount的值增加1,在发现接收到的错误包数目达到一定阈值(F_C0UNT)时,才启用弱的验证机制作为第一道防线。这样能够最大限度地节约传感器节点的能量,延长传感器网络的寿命。同时,本方法设置的阈值可根据传感器节点部署的网络环境进行调整。在结合编码和加密方法的基础上,本方法将Deluge扩展为一个抵抗攻击者在线监听、安全保密、高效抵抗拒绝服务攻击(DOS,Denial of Service)并且能够容忍数据包的不按顺序接收。
[0077]本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。
【主权项】
1.一种无线传感器网络安全轻量重编程方法,其特征在于,包括如下阶段: 系统初始化阶段:基站将每个待发送的页面对应位置的原始数据包分组,根据所述页面的数目和每个页面所包含的数据包的数目,基站为其生成多路单向哈希链作为秘钥,并将每条单向哈希链的定向哈希值存储在各个传感器节点上;所述基站生成自己的公钥和私钥,并将公钥安装在各个传感器节点上; 数据包预处理阶段:所述基站对待发送的数据包进行预处理,使用先编码后加密的方式构建加密数据包和Merkle哈希树,然后依次发送所述数据包; 数据包验证阶段:各个传感器节点在收到所述数据包,对所述数据包进行解密和验证后,对各个数据包进行解码以恢复成所述原始数据包,并判断所接收到的数据包的有效性成立后接受所述原始数据包。2.根据权利要求1所述的无线传感器网络安全轻量重编程方法,其特征在于,所述初始化阶段包括以下步骤: 步骤Al:所述基站将所述页面中相同位置的数据包分到同一个组内,并为每个数据包组选取一个随机数作为单向哈希链的种子数字; 步骤A2:所述基站利用所述种子数字为对应的数据包组创建一条单向哈希链作为秘钥,所述种子数字作为哈希链头的初始值,其它链上的值由其前一个单向哈希链上的值作为输入运用哈希函数运算而产生的,在足以满足当前页面数据包个数的情况下,获得最后一个哈希值即定向哈希值,所述定向哈希值用于验证所述数据包的完整性; 步骤A3:把所述定向哈希值组成的定向哈希值向量分配到对应传感器节点上,作为密钥向量,在后续步骤中将用于对接收的数据包进行解密; 步骤A4:使用七元组表示每一个数据项。3.根据权利要求2所述的无线传感器网络安全轻量级重编程方法,其特征在于,步骤A4中所述七元组分别为:编码标识、传感器节点标识、版本号、已完成的页面、已完成的数据包、冗余验证位和数据值;其中,所述编码标识表示采用的编码方式,所述传感器标识表示数据的传输的来源,所述版本号表示程序镜像的新旧,所述已完成的页面表示现已经收到程序镜像页面的总数,所述已完成的数据包表示已完成页面的下一页面中已经接收的数据包,所述冗余验证位表示用于对数据分发的正确性进行校验的二进制数,所述数据值表示数据项的数据值。4.根据权利要求1所述的无线传感器网络安全轻量重编程方法,其特征在于,所述的数据包预处理阶段包括以下步骤: 步骤B1:基站首先利用产生的随机数,先对各个页面的各个数据包进行异或操作,生成编码的数据包,然后利用目标传感器节点上的密钥对编码的数据包进行对称加密。 步骤B2:所述基站采用广播模式将加密后的数据包分发到每一个传感器节点,所述传感器节点之间程序镜像的分发采用事先生成的秘钥簇来认证节点双方,以确定通信双方所发送数据的真实性以及数据的完整性。5.根据权利要求4所述的无线传感器网络安全轻量重编程方法,其特征在于,步骤BI中所述的基站利用传感器节点上的密钥对数据包进行对称加密的步骤为:基站利用所产生的多路单向哈希链对所述数据包组进行加密,加密时采用纵向加密的方法,其中第一个单向哈希链对每个页面第一个数据包所组成的集合进行加密,第二个单向哈希链对每个页面的第二个数据包所组成的集合进行加密,依次类推;然后将该加密数据包和加密下一个数据包的密钥连接在一起构建一个新的数据包用于广播到各个传感器节点。6.根据权利要求1所述的无线传感器网络安全轻量重编程方法,其特征在于,所述数据包验证阶段包括以下步骤: 步骤Cl:由基站发送的加密的数据包传送到目标传感器节点后,所述传感器节点利用自身所存储的密钥向量对其中的各个数据包进行逐一解密,只有经过所述密钥向量进行验证过的数据包才能算成功解密; 步骤C2:成功解密后对所述数据包进行验证; 步骤C3:传感器节点将成功解密后的数据包进行解码,解码的过程根据目标传感器节点所收到的数据包上的编码标识进行解码,恢复原始的程序镜像数据包。7.根据权利要求6所述的无线传感器网络安全轻量重编程方法,其特征在于,步骤C2对所述数据包进行验证包括如下步骤: 步骤C21:若接收到的数据包的版本号比原有的版本号更新,则执行步骤C22,否则执行步骤C25 ; C22:若所述数据包的密钥值通过哈希函数计算后得到的哈希值与所述传感器节点上保存的密钥值相同,则执行步骤C23,否则执行步骤C24 ; C23:所述传感器节点用所述数据包中的密钥值替换原来的密钥值,若数据包的版本号是新的,且已经接收完成一个完整的页面,则所述传感器节点接收所述数据包以更新数据,否则执行步骤C24 ; C24:抛弃所述数据包; C25:若所述数据包的数据的版本号和所述传感器节点上的版本号相同,则所述传感器节点根据Trickle算法增大广播数据包的时间间隔;若接收到的数据包的版本号较所述传感器节点上的版本号更早,则广播所述传感器节点自身存储的数据包。8.根据权利要求6所述的无线传感器网络安全轻量重编程方法,其特征在于,步骤C3对所述数据包进行解码过程包括如下步骤: 步骤C31:当所述传感器节点收到足够的编码数据包时,对数据包进行解码,解码前首先依据编码标志位获得第一个编码数据包,所述编码数据包是该页面所有数据包编码的结果; 步骤C32:将后续的编码数据包依次与第一个编码数据包进行异或操作,恢复出除了最后一个原始数据包之外的其余原始数据包; 步骤C33:将所有已经恢复出来的原始数据包与第一个编码数据包进行异或操作,恢复出所述最后一个原始数据包。9.根据权利要求1所述的无线传感器网络安全轻量重编程方法,其特征在于,在所述数据包验证阶段中,根据设定的阈值动态启动弱的验证机制,以降低传感器网络应对拒绝服务攻击所消耗的资源。
【专利摘要】本发明公开了一种无线传感器网络安全轻量重编程方法,包括:系统初始化阶段:基站将每个待发送的页面对应位置的原始数据包分组,根据页面的数目和每个页面所包含的数据包的数目,基站为其生成多路单向哈希链作为秘钥,并将每条单向哈希链的定向哈希值存储在各个传感器节点上;基站生成公钥和私钥,并将公钥安装在各个传感器节点上;数据包预处理阶段:基站对待发送的数据包进行预处理,使用先编码后加密的方式构建加密数据包和Merkle哈希树,然后依次发送数据包;数据包验证阶段:各个传感器节点在收到数据包,对数据包进行解密和验证后,对各个数据包进行解码以恢复成原始数据包,并判断所接收到的数据包的有效性成立后接受原始数据包。
【IPC分类】H04W12/12, H04W84/18
【公开号】CN105228157
【申请号】CN201510590508
【发明人】何道敬, 陈得鹏, 黄琳
【申请人】华东师范大学, 北京奇虎测腾科技有限公司
【公开日】2016年1月6日
【申请日】2015年9月16日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1