一种无线传感器网络分组小数据安全分发方法

文档序号:10492957阅读:225来源:国知局
一种无线传感器网络分组小数据安全分发方法
【专利摘要】本发明公开了一种无线传感器网络分组小数据安全分发方法,包括:基站依据节点到基站的跳数对节点进行分组;基站随机选择数量相同的随机数,为每个分组生成一条单向哈希链,并将每条哈希链的定向哈希值存储在相应分组节点上;基站将待发送的数据包进行预处理,使用哈希链上的定向哈希值对该条链上其前驱值进行加密处理;对数据包和前驱值进行组合获得其组合后的哈希值,并加入用于表示数据包生命周期的参数,构造待传输的数据包;传感器节点对数据包进行验证,根据节点的组别对数据包进行解析后验证其合法性,若数据包为其它组的数据,则直接转发该数据包;若数据包为合法数据包则接受该数据包并更新该节点相应的数据项;否则直接删除该数据包。
【专利说明】
一种无线传感器网络分组小数据安全分发方法
技术领域
[0001]本发明属于无线通信技术领域,尤其涉及一种无线传感器网络分组小数据安全分发方法。
【背景技术】
[0002]无线传感器网络(Wireless Sensor Networks,WSN)是由一批资源受限的传感器节点组成的多跳的自组织网络,其广泛应用于医疗健康领域、栖息地环境、温室以及军事等关键领域。传感器节点一旦部署在相应的环境中,就很难再将这些节点收集起来。然而,在实际的应用中,经常需要对某些重要的参数进行调整,手动地对这些传感器节点进行相关参数的修改以及代码的更新代价都是巨大的。因而,在WSN中,小数据分发协议的设计非常关键。
[0003]在WSN中已经有不少设计优良的小数据分发协议如DRIP、DHV、DIP等,WSN中的小数据分发协议主要分为三个部分:第一个部分是基站向网络中发送所要传输的数据项的摘要信息,当节点收到相关的摘要信息后将会与自身的摘要信息比较,确定是否需要更新数据项。当节点收到的摘要信息和所存储的摘要信息不同时,比较其版本号的新旧,如果版本号比现有的新,则发送更新的请求,如果版本号比现有的旧,则广播其自身所存储的摘要信息,如果相同则延长其自身广播的时间间隔来延长节点的使用寿命。小数据分发的第二个阶段,传感器节点接收到相关的数据项,检查相关的循环冗余校验码保证数据的正确接收。在小数据分发的第三个阶段,如果正确接收到相关的数据项后,查询其关键字,然后对其进行更新,直到整个网络中所有的传感器节点都保持相同的版本号。然而这些协议所关注的重点在于如何保证数据分发的正确性以及数据分发过程中的效率,未能考虑到数据在发送的过程中可能面临的安全威胁。由于节点接收数据都是根据数据的版本号和其关键字来确定的,因而攻击者很容易通过修改部分数据对网络发起攻击。如通过修改数据项的版本号,节点收到相关的数据就误以为版本号发生了变化而更新数据项。因而,在节点接收数据时必须验证数据的完整性,确保数据在接收的过程中没有被篡改。因而,加强对小数据分发过程中的安全保护非常关键。
[0004]本发明的目的在于克服现有技术的缺点与不足,提供一种无线传感器网络分组小数据安全分发方法,本发明确保了在网络中出现部分节点妥协的情况下能够降低对整个网络中的影响,使得在网络中部分节点妥协时不会造成整个网络的瘫痪。其次,所提出的小数据分发安全方法采用三重认证机制,不仅能够有效抵抗攻击者伪造数据包,而且能够对数据包进行快速有效的认证。最后,对传感网进行分组,可以有效地管理节点,降低网络中节点能量的损耗,延长网络的使用寿命。

【发明内容】

[0005]本发明提出了一种无线传感器网络分组小数据安全分发方法,包括如下阶段:
[0006]系统初始化阶段:基站依据节点到基站的跳数对节点进行分组;根据组别的数量,基站随机选择数量相同的随机数,为每个分组生成一条单向哈希链,并将每条哈希链的定向哈希值存储在相应的分组节点上;
[0007]数据包预处理阶段:所述基站对待发送的数据包进行预处理,使用哈希链上的定向哈希值对该条链上其前驱值进行加密处理;将所述数据包和所述前驱值进行组合获得其组合后的哈希值,并加入用于表示数据包生命周期的参数,构造一个待传输的数据包;
[0008]数据包验证阶段:传感器节点对所述数据包进行验证,根据节点的组别对所述数据包进行解析后验证其合法性,若所述数据包为其它组的数据,则直接转发所述数据包;若所述数据包为合法数据包则接受该数据包并更新该节点相应的数据项;若所述数据包不具合法性,则直接删除该数据包。
[0009]本发明所述的无线传感器网络分组小数据安全分发方法中,所述初始化阶段包括以下步骤:
[0010]步骤Al:所述基站根据节点到基站的跳数将节点进行分组,将同一跳数范围内的节点组成一个组别,并为每组节点选取一个随机数作为单向哈希链的种子数字;
[0011 ]步骤A2:所述基站利用所述种子数字为相应的分组创建一条单向哈希链,所述种子数字作为哈希链的初始值,其它链上的值由其前一个哈希链上的值作为输入运用哈希函数运算产生,在满足所发送的数据项个数的情况下,获得最后一个哈希值为定向哈希值,所述定向哈希值用来验证数据项的完整性;
[0012]步骤A3:依据节点的不同分组,将所述定向哈希值分配到相应组别的传感器节点上;
[0013]步骤A4:使用四元组表示每一个所需要发送的数据包。
[0014]本发明所述的无线传感器网络分组小数据安全分发方法中,步骤A4中所述四元组分别为:原始数据包、加密区数据、哈希区数据和生命周期标识;其中,所述原始数据包表示所发送需要更新的数据包,该数据包包括数据项的关键字、版本号和数据三个部分;所述加密区数据表示使用哈希链上的值进行加密后的数据,所述哈希区数据表示原始数据和哈希链连接后的哈希值,所述生命周期标识表示数据包在发送过程中所能传递的跳数。
[0015]本发明所述的无线传感器网络分组小数据安全分发方法中,所述数据包预处理阶段包括以下步骤:
[0016]步骤B1:所述基站根据网络中的分组构建出数据包生命周期数组,依据各个不同的数据包生命周期来构建待传输的数据包。
[0017]步骤B2:所述基站采用广播模式将构建后的数据包发送到每一个传感器节点,所述传感器节点首先依据数据包的生命周期来确定是否是其所属组别的数据包,然后对其所收到的数据包进行相关的验证。
[0018]本发明所述的无线传感器网络分组小数据安全分发方法中,步骤BI中所述基站依据不同的数据包生命周期来构建所要发送的数据包的步骤为:利用基站所产生的哈希链加密相应的哈希链上的值,将数据包和哈希链上的值连接并获得其哈希值,将所生成的各部分的值与数据包的生命周期连接,构建出所述待传输的数据包。
[0019]本发明所述的无线传感器网络分组小数据安全分发方法中,所述数据包验证阶段包括以下步骤:
[0020]步骤Cl:当数据包到达传感器节点端后,首先验证其数据包的生命周期;
[0021]步骤C2:验证成功之后,用节点所存储的确认值解密数据包相关部分,然后验证其完整性;
[0022]步骤C3:传感器节点对原始数据包进行验证然后更新数据项。
[0023]本发明所述的无线传感器网络分组数据安全分发方法中,步骤Cl对所述数据包生命周期进行验证包括如下步骤:
[0024]步骤ClI:当节点收到数据包时,其数据包的生命周期自动减I,如果生命周期为O,则执行步骤C12,否则执行步骤C13;
[0025]步骤C12:对数据进行相应的解析,进行步骤C2的验证;
[0026]步骤C13:否则该数据包的生命周期自动减I然后转发。
[0027]本发明所述的无线传感器网络分组小数据安全分发方法中,步骤C2对所述数据包进行解密过程包括如下步骤:
[0028]步骤C21:当所述传感器节点收到数据包时对其进行解密,使用节点端存储的确认值进行解密;
[0029]步骤C22:验证解密出来的确认值的哈希值是否和所存储的确认值相等,如果相等则进行步骤C3的验证,否则转向步骤C23;
[0030]步骤C23:直接将所收到的数据包丢弃。
[0031]本发明所述的无线传感器网络分组小数据安全分发方法中,步骤C3对所述数据包进行验证包括如下步骤:
[0032]步骤C31:当得到正确哈希链上的确认值时,利用其验证原始数据包是否正确,如果原始数据包和确认值的连接的哈希值与解析的数据相等,则接收该数据,并更新相应的确认值和数据项,否则执行步骤C32;
[0033]步骤C32:直接将该数据包丢弃。
[0034]在所述数据包验证阶段中,根据所设定的三重验证机制不仅能够确保节点妥协情况下降低对网络的威胁,同时三重验证机制可以最大限度防止攻击者伪造数据包对节点能量的消耗。
[0035]本发明的有益效果在于:
[0036]抵抗传感器节点的妥协:在WSN中只有部分节点妥协的情况下,仍然能够保证网络中大多数的节点不会受到影响。
[0037]数据完整性:通过对数据项进行三层认证,不仅能保证节点接收正确的数据包,而且可以高效地丢弃伪造的数据包。
[0038]高效管理网络中的节点:对WSN进行分组管理,可以高效地管理网络中的节点,且能够保证网络中节点的能量均衡。
[0039]基站与传感器节点间无时间同步:基站与传感器节点间不要求时间同步。因此,无需对数据包到达间隔时间做任何假设,当传感器节点接收到数据包时便可即刻对所述接收到的数据包进行认证。
【附图说明】
[0040]图1是本发明传感器节点的分组图。
[0041 ]图2是本发明的一般流程图。
【具体实施方式】
[0042]结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
[0043]本发明中有关的技术术语代表的含义如下:
[0044]Ki,j表示第i条哈希密钥链的第j个数据项,其中j >0;
[0045]P1表示第i个数据项的原始数据;
[0046]Ek(X)表示用对称密钥K给数据项X进行对称加密;
[0047]Dk(X)表示用对称密钥K给数据项X进行解密;
[0048]H(.)表示单向密钥哈希函数;
[0049]H(M)表示数据项M的哈希值;
[0050]Ki, j表示第i组哈希链上的第j个值;
[0051]TTL表示数据包的生命周期,即数据包能够在网络中传递的最大跳数;
[0052]I I表示连接运算。
[0053]本发明基于采用分组的策略和三重安全验证的基础上的轻量级的安全防护方案,对无线传感器网络中小数据分发协议(DRIP)进行安全扩充,实现对传感器网络中节点高效管理的同时抗节点妥协情况下攻击者对网络的危害的安全小数据分发方法。
[0054]本发明无线传感器网络分组小数据安全分发方法(GrDrip)分为系统初始化,数据包预处理和数据包验证三个阶段,具体为:
[0055]系统初始化阶段:基站依据节点到基站的跳数对节点进行分组,即同一跳数范围内的节点分为一个组别;根据组别的个数,基站为其生成相同数量的哈希链,并将每条哈希链的定向哈希值存储在相应的分组节点上;
[0056]数据包预处理阶段:基站将待发送的数据包进行预处理,使用哈希链上的定向哈希值对该条链上其前驱的值进行加密处理;将要发送的数据包和哈希链的值进行组合获得其组合后的哈希值;将所生成的数据进行组合并加入用于表示数据包生命周期的参数,最后构造出一个合法的数据包;
[0057]数据包验证阶段:传感器节点对所接收到的数据包进行验证,根据节点的组别对数据包进行解析后验证其合法性,如果数据包为其它组的数据,则直接转发;如果为合法数据包则接受该数据包并更新该节点相应的数据项,否则直接删除该数据包。
[0058]在系统初始化阶段,需要生成后续数据分发过程中所需要的公共参数和变量等。首先,选择恰当的哈希函数,在本发明中选择SHA-1(可根据实际的安全需求进行调整)。使用哈希函数对数据进行处理,可以使得本发明的验证更加高效。在基站端选择一组随机数,该随机数的数目根据网络中分组的数目来确定,即至少为每一组的数据分发选择一个随机数。然后根据哈希函数和组数生成哈希链。假设网络中共有η组,则生成η条哈希链。这η条哈希链是利用随机数在哈希函数作用L次生成的。即Ku = H(K1+1,丄其中0<i<L,所产生的最后一个值作为确认值(Commited Value)。注意在本发明中,将所生成的链会用于后续的加密操作,因而称为秘钥链。所生成的一组确认值对应相应的不同组的节点,将这些确认值事先分别安装在节点端。即第i个确认值安装在第i个组的节点中。
[0059]在完成了系统初始化阶段后,进入数据包预处理阶段。当节点部署完毕之后,如果基站有相关的参数需要进行更新,则首先对该数据项进行处理。在小数据分发过程中,所有需要更新的数据项,可以根据其不同的key来进行区分,因而可以将数据和key映射到一个数据项中。然后将这些数据项组合起来,成为一个消息数组。因而,在此本发明利用Ρο,Ρ:,P2,...,Ρη来表示需要发送的数据项。用第一条秘钥链的确认值加密(采用对称加密方案AES)该确认值的下一个值,得到的结果可用于更新加密秘钥,即得到加密结果Εκο,KK1,O。然后将需要发送的数据PO与K1,i进行组合,对其连接后获得其哈希值H(Po| IK1,为了能够加强数据发送过程的安全性,本发明中加入一个参数TTL用以保证数据在发送的过程中只针对具体跳数的节点。
[0060]所要发送的数据项的构建如下:
[0061]Pi = PiI IQijI I SiJ I ITTLi
[0062]其中Qi,j = EKi,j(Ki,j+1)
[0063]Sij = H(Pi| |Ki;j+i)
[0064]根据以上方式构建好了需要发送的数据包,节点从收到第一个数据包开始进行验证。由于本发明采用是顺序验证的方式,所基于的假设是数据包的按顺抵达,因而不考虑包的非序抵达的问题。
[0065]在数据包验证阶段,节点对所接收到的数据包进行验证。数据在到达节点端时,可以进行三个验证,一个是秘钥端的验证,另一个是数据包的验证,还有一个是数据包的生命周期验证。在此本发明仅对第一组的节点进行说明,其他的可以按类似的方案进行。当接收到数据包Po = PoI Qo1I SojI I TTLo时,节点对其进行相应的解析,验证数据的可靠性。
[0066]第一步验证TTL: TTL对应相关的跳数,即节点的组号。而且,在TTL的值为O时,表明该数据包的生命周期结束。因而在解析出TTL后,检查其值看是否为O,如果不为O,则直接转发。否则,进行下一步。
[0067]第二步验证并更新秘钥:用节点端存储的确认值Ko,i解密Qo,η并且验证H(D(Qo,O)是否和Ko,i相等。如果两者相等,则将K1,i替换Ko,i并进行第三步。否则,直接删除该数据。
[0068]第三步验证并更新数据项:当得到了K1,i的值之后,利用So,i和K14的值来验证所得到的数据项Po的值。具体的实现算法描述如下。第i个数据项到达节点端时,第j组的第k个节点SNj, k的验证。基站BS端数据包生成,节点端进行验证。
[0069]在数据包验证阶段中,根据所设定的三重验证机制不仅能够确保节点妥协情况下降低对网络的威胁,同时三重验证机制可以最大限度防止攻击者伪造数据包对节点能量的消耗。
[0070]本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。
【主权项】
1.一种无线传感器网络分组小数据安全分发方法,其特征在于,包括如下阶段: 系统初始化阶段:基站依据节点到基站的跳数对节点进行分组;根据组别的数量,基站随机选择数量相同的随机数,为每个分组生成一条单向哈希链,并将每条哈希链的定向哈希值存储在相应的分组节点上; 数据包预处理阶段:所述基站对待发送的数据包进行预处理,使用哈希链上的定向哈希值对该条链上其前驱值进行加密处理;将所述数据包和所述前驱值进行组合获得其组合后的哈希值,并加入用于表示数据包生命周期的参数,构造一个待传输的数据包; 数据包验证阶段:传感器节点对所述数据包进行验证,根据节点的组别对所述数据包进行解析后验证其合法性,若所述数据包为其它组的数据,则直接转发所述数据包;若所述数据包为合法数据包则接受该数据包并更新该节点相应的数据项;若所述数据包不具合法性,则直接删除该数据包。2.根据权利要求1所述的无线传感器网络分组小数据安全分发方法,其特征在于,所述初始化阶段包括以下步骤: 步骤Al:所述基站根据节点到基站的跳数将节点进行分组,将同一跳数范围内的节点组成一个组别,并为每组节点选取一个随机数作为单向哈希链的种子数字; 步骤A2:所述基站利用所述种子数字为相应的分组创建一条单向哈希链,所述种子数字作为哈希链的初始值,其它链上的值由其前一个哈希链上的值作为输入运用哈希函数运算产生,在满足所发送的数据项个数的情况下,获得最后一个哈希值为定向哈希值,所述定向哈希值用来验证数据项的完整性; 步骤A3:依据节点的不同分组,将所述定向哈希值分配到相应组别的传感器节点上; 步骤A4:使用四元组表示每一个所需要发送的数据包。3.根据权利要求2所述的无线传感器网络分组小数据安全分发方法,其特征在于,步骤A4中所述四元组分别为:原始数据包、加密区数据、哈希区数据和生命周期标识;其中,所述原始数据包表示所发送需要更新的数据包,该数据包包括数据项的关键字、版本号和数据三个部分;所述加密区数据表示使用哈希链上的值进行加密后的数据,所述哈希区数据表示原始数据和哈希链连接后的哈希值,所述生命周期标识表示数据包在发送过程中所能传递的跳数。4.根据权利要求1所述的无线传感器网络分组小数据安全分发方法,其特征在于,所述数据包预处理阶段包括以下步骤: 步骤B1:所述基站根据网络中的分组构建出数据包生命周期数组,依据各个不同的数据包生命周期来构建待传输的数据包。 步骤B2:所述基站采用广播模式将构建后的数据包发送到每一个传感器节点,所述传感器节点首先依据数据包的生命周期来确定是否是其所属组别的数据包,然后对其所收到的数据包进行相关的验证。5.根据权利要求4所述的无线传感器网络分组小数据安全分发方法,其特征在于,步骤BI中所述基站依据不同的数据包生命周期来构建所要发送的数据包的步骤为:利用基站所产生的哈希链加密相应的哈希链上的值,将数据包和哈希链上的值连接并获得其哈希值,将所生成的各部分的值与数据包的生命周期连接,构建出所述待传输的数据包。6.根据权利要求1所述的无线传感器网络分组小数据安全分发方法,其特征在于,所述数据包验证阶段包括以下步骤: 步骤Cl:当数据包到达传感器节点端后,首先验证其数据包的生命周期; 步骤C2:验证成功之后,用节点所存储的确认值解密数据包相关部分,然后验证其完整性; 步骤C3:传感器节点对原始数据包进行验证然后更新数据项。7.根据权利要求6所述的无线传感器网络分组小数据安全分发方法,其特征在于,步骤Cl对所述数据包生命周期进行验证包括如下步骤: 步骤Cl I:当节点收到数据包时,其数据包的生命周期自动减I,如果生命周期为O,则执行步骤Cl 2,否则执行步骤Cl 3; 步骤C12:对数据进行相应的解析,进行步骤C2的验证; 步骤C13:否则该数据包的生命周期自动减I然后转发。8.根据权利要求6所述的无线传感器网络分组小数据安全分发方法,其特征在于,步骤C2对所述数据包进行解密过程包括如下步骤: 步骤C21:当所述传感器节点收到数据包时对其进行解密,使用节点端存储的确认值进行解密; 步骤C22:验证解密出来的确认值的哈希值是否和所存储的确认值相等,如果相等则进行步骤C3的验证,否则转向步骤C23 ; 步骤C23:直接将所收到的数据包丢弃。9.根据权利要求6所述的无线传感器网络分组小数据安全分发方法,其特征在于,步骤C3对所述数据包进行验证包括如下步骤: 步骤C31:当得到正确哈希链上的确认值时,利用其验证原始数据包是否正确,如果原始数据包和确认值的连接的哈希值与解析的数据相等,则接收该数据,并更新相应的确认值和数据项,否则执行步骤C32; 步骤C32:直接将该数据包丢弃。
【文档编号】H04W84/18GK105848150SQ201610334582
【公开日】2016年8月10日
【申请日】2016年5月19日
【发明人】何道敬, 陈得鹏
【申请人】华东师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1