一种用于保护无线传感器网络安全的密钥生成方法与流程

文档序号:12134435阅读:191来源:国知局
一种用于保护无线传感器网络安全的密钥生成方法与流程
本发明属于无线通信领域,涉及一种用于保护无线传感器网络安全的密钥生成方法。
背景技术
:无线传感器网络(WirelessSensorNetworks,简称WSN)是将微电子技术、传感技术、无线通信技术融合的新型网络,可广泛应用于军事、医疗、交通等诸多领域,具有非常好的应用前景。在实际应用中,安全对于无线传感器网络至关重要,特别是无线传感器网络被部署在无人触及或容易受损的环境时,保证无线传感器网络的安全性更是应该优先考虑的问题。密钥管理可以为网络提供安全、可靠的保密通信,是确保网络安全的至关重要的服务。根据无线传感器网络的特点,现有的密钥管理方案主要使用对称密钥以减少节点的能量消耗。通常,这类方案包括四个步骤:1)密钥分析;2)密钥分配;3)密钥生成;4)密钥分发。密钥分析阶段,服务器根据网络的规模确定密钥池的大小以及每个节点所需存储的密钥的数目;密钥分配阶段,服务器确定密钥与节点之间的映射关系,进而确定每个节点存储哪些密钥;密钥生成阶段,服务器生成具体使用的密钥;密钥分发阶段,服务器将生成的密钥按照密钥分配关系分发给对应的节点。现有的密钥管理方案主要使用的密钥形式包括普通的串密钥、二元对称多项式密钥、矩阵密钥。Blundo等人提出的二元对称多项式密钥主要是用来提高密钥的破解难度。然而,这类密钥增加了节点的计算以及存储开销。Blom等人提出的矩阵密钥可以提高网络的连通性。然而,所提出的方案可扩展性较差,不适用于大规模网络。密钥管理虽然可以提高网络的安全性,但是通常会降低其他性能,比如通信效率。密钥连通性是密钥管理的一项非常重要的性能指标,反映了网络节点能够实现直接安全通信的概率。密钥连通性低的方案会使得很多邻居节点由于缺少共享密钥而无法实现直接通信。如果这类节点想要互相通信,则需要建立密钥路径以完成通信。然而,这些操作会产生大量的消息转发,从而极大地消耗了节点的能量同时也带来了节点的认证问题。因此,确保密钥管理方案的密钥连通性至关重要。虽然部分现有方案能保证密钥连通性为1。然而,这些方案要么可扩展性差无法应用于大型网络,要么需要节点的位置信息,以上问题限制了这类方案在实际环境中的可用性。事实上,现有绝大部分方案的密钥连通性都小于1,从而严重降低了网络的通信效率甚至是网络的生命周期。综上所述,有必要发明一种用于保护无线传感器网络安全的密钥生成方法。通过该方法生成的密钥能够广泛地应用于各种密钥管理方案,并保证在不影响密钥管理其他性能的前提下显著地提高密钥连通性,从而保证使用该类密钥的密钥管理方案能够为网络提供更高效的安全服务。技术实现要素:针对现有技术的不足,本发明提出一种保护无线传感器网络安全的密钥生成方法,该方法使用方程组作为秘密为网络节点生成共享密钥,利用方程组的解增强密钥之间的联系,并能够保证在不降低密钥私密性的前提下利用该隐含的联系提高直接安全通信的概率。该密钥生成方法能够广泛地应用于各种现有的密钥管理方案,显著地提高密钥管理的效率并保证不降低其他性能。该方法的基本思想简述如下:根据密钥池的大小u,构造含有u方程的方程组,使得该方程组有且仅有一个解。然后将方程组中的每个方程作为秘密,使用统一的密钥生成函数(通常为单向密钥哈希函数)H(·)生成最终的密钥。所构造的方程组中的方程可以是任意形式的方程,包括线性方程,多项式方程等。实际上,所构造的方程组只需要保证有且仅有一个解,所包含的方程数目大于等于密钥的数目即可。通过该方法生成的密钥能够更广泛地应用于各种现有的密钥管理方案,显著地提高密钥管理的密钥连通性,保证网络的通信效率。为了达到上述目的,本发明的技术方案为:一种保护无线传感器网络安全的密钥生成方法,该方法使用方程组作为秘密为网络节点生成密钥以保证节点之间通信的安全性,包括方程组构造、密钥生成两个部分,具体步骤如下:第一步,构造方程组根据密钥池的大小u,构造方程组其中,含有u个方程,每个方程含有v个变量;另外,ci,j表示方程fi的第j个未知数的系数,pi,j表示该未知数的幂,1≤i≤u,1≤j≤v;该方程组有且仅有一个解S(v)={x1,...,xv}T(2)第二步,生成密钥将中的每个方程转化为惟一的字符串:fi=<ci,1||pi,1>||ci,2||pi,2>||…||<ci,v||pi,v,1≤i≤u(3)其中,||表示连接操作;将fi作为输入,利用相同的密钥生成函数H(·)生成对应的密钥ki=H(fi),1≤i≤u(4)根据上述方法,利用方程组生成密钥池中的所有密钥ki(1≤i≤u)。另外,利用惟一解S(v)用于生成密钥如下:ks=H(S(v))=H(x1||x2||…||xv)(5)然后,将这些密钥应用于具体的密钥管理方案中保护节点之间的通信安全。根据方程组理论,当网络中的节点存储中超过v方程时,使得该节点有可能通过所知方程计算惟一解S(v)。使用本方法生成的密钥,节点不止可以利用自己存储的密钥(方程)实现与其他节点的安全通信,还可以通过计算该方程组的惟一解生成共享密钥实现与其他节点的安全通信。该过程被称为共享密钥发现过程,具体描述如下:当网络中一个节点A想要与另一个节点B通信时,节点A首先广播自己密钥的ID。通过这些密钥ID,节点B检查其是否与节点A具有共享密钥。若节点A与节点B存在共享密钥,则使用共享密钥加密消息实现彼此之间的安全通信;否则,节点A与节点B计算惟一解,并使用ks=H(S(v))加密消息实现彼此之间的安全通信。进一步地,第一步中所构造的方程组中的方程的数目大于或者等于密钥池的大小u,确保每个密钥由不同方程生成。进一步地,具体使用的方程组数目根据总密钥池包含子密钥池的数目确定,若总密钥池包含多个子密钥池,则每个子密钥池对应一个方程组。进一步地,第二步中所述的密钥生成函数为任意的单向哈希函数(one-wayhashfunction)或伪随机函数(pseudo-randomfunction)。所提出的发明方法实际上是密钥管理过程中为节点生成具体密钥的方法。实际应用中,需要将该方法与密钥管理方案相结合,才能为网络提供更加全面、系统的安全保护。本发明的有益效果为:使用方程组作为秘密为网络节点生成密钥以保证节点之间通信的安全。使用本方法,节点通信时不止可以利用所存储的密钥实现安全通信,还可以通过计算方程组的惟一解生成共享密钥实现安全通信。因此,节点之间直接安全通信的概率得到显著提高,进而提高了节点之间的通信效率。通过该方法生成的密钥能够广泛地应用于现有的各种密钥管理方案中,从而保证不降低其他性能的前提下显著地提高密钥管理的效率。附图说明图1密钥管理流程图。图2含有惟一解的方程组对应的几何图形。图3方程组、密钥、节点关系图。具体实施方式下面结合附图,具体说明本发明的优选实施方式。本发明提供的发明概念可以实施在多种具体环境中。所论述的具体实施例仅用于说明本发明的实现方式,而不限制本发明的范围。图1展示了一个典型密钥管理方案的流程图。密钥管理通常包含密钥分析、密钥分配、密钥生成以及密钥分发四个过程。如上所述,密钥分析阶段旨在确定密钥池的大小以及每个节点存储的密钥数目;密钥分配阶段实现密钥与节点之间的映射关系;密钥生成阶段确定密钥的具体形式;密钥分发阶段根据前面的分配关系将密钥分发给对应的节点。以经典的EBS(n,k,m)密钥管理方案为例,说明本发明方法与密钥管理结合的实现流程。EBS(n,k,m)密钥管理方案要求每个节点存储k密钥,而总的密钥池大小为k+m。那么,每个节点未知的密钥数目为m。通过每个节点未知的m密钥加密更新消息,EBS方案可以高效地驱逐任意失效节点并完成密钥更新。本实例假设网络中含有10个节点,EBS(10,2,3)方案被用来保证网络的通信安全。密钥管理方案对于网络的保护分为三个部分:密钥预分发,共享密钥发现/密钥路径建立,密钥重分发。1.密钥预分发密钥预分发阶段需要在节点部署之前完成,该阶段主要设计密钥的分配规则并生成具体密钥分发给所有网络节点。如前所述,该阶段主要由四个阶段构成:密钥分析,密钥分配,密钥生成以及密钥分发。1)密钥分析根据网络规模n以及EBS方案的构造规则确定密钥池、每个节点存储的密钥数目满足关系上述公式能够保证网络中每个节点都能够从密钥池中选择k密钥且密钥组合不重复。2)密钥分配阶段当EBS(10,2,3)密钥管理系统用于保护网络时,密钥分配阶段确定的密钥与节点之间的映射关系表示如表1。根据表1,若表格的第i行j列值为1,则表示节点j存储了密钥i。若节点N5失效,则密钥k2、k3暴露。此时,服务器可以通过k1、k4和k5加密新的密钥k′2、k′3并广播。结果,其他节点可以解密这些消息完成密钥更新,节点N5由于无法解密更新消息而被驱逐。表1EBS(10,2,3)密钥分配方案N1N2N3N4N5N6N7N8N9N10k11111k21111k31111k41111k511113)密钥生成阶段密钥生成阶段,综合效率以及安全性考虑,总的密钥池通常会被划分为t(t≥1)子密钥池,然后为每个子密钥池使用本发明提出的密钥生成方法。结合本实例实施如下:a)根据实际需求,总的密钥池为SK={k1,k2,k3,k4,k5}。本实例中,总的密钥池不进行分割。因此,使用一个方程组生成总密钥池中的密钥。b)构造方程组用于生成SK中的密钥对应的解为图2显示了对应的图形。根据图2可以看到,所涉及的方程组中的方程全部都是线性方程,其中每个方程对应于2维空间的一条直线,方程组的惟一解对应于所有直线的交点。c)根据构造的方程组生成具体的密钥。由于是含有两个变量的线性方程。根据平面几何理论,可以通过直线上的两点确定对应的方程。因此,使用直线上的点代表每条直线(方程)作为秘密生成密钥。以直线(方程)f1:x-y-1=0为例,选择点(8,7)以及(-2,-3)作为秘密生成密钥k1=H((8,7)||(-2,-3))。图3展示了方程组对应的直线、点、密钥与节点之间的关系。4)密钥分发阶段根据表1确定的密钥分配规则,服务器将用于生成密钥的点、单向哈希函数以及密钥的ID分发给对应的节点。经过以上流程,服务器可以根据网络的规模设计分配规则生成具体使用的密钥,并将这些密钥分发给节点。当节点被部署到网络之后,这些节点可以通过各自己存储的密钥完成安全通信。2.共享密钥发现/密钥路径建立节点被部署至网络之后,需要判断是否与其他节点存在共享密钥从而实现安全通信。首先,想要通信的两个节点广播各自密钥的ID,从而使得这些节点可以通过密钥ID判断彼此是否存在共享密钥,若存在共享密钥,则使用这些共享密钥实现安全通信;否则,这些节点根据密钥ID判断彼此是否能够计算相同的方程组的惟一解,若能够达成,则使用这些相同的惟一解生成相同的密钥实现安全通信。相比于传统的密钥生成方案,此实施例将方程组的惟一解作为新增的共享秘密用于生成节点之间的共享密钥,从而极大地提高了密钥管理的效率。通过分析可得,本实例中共有种情况下节点之间没有共享密钥却能通过方程组的惟一解实现安全通信。当两个通信节点既不存在共享密钥又无法计算相同解的时候,需要建立密钥路径以保证通信安全。通过寻找能够与自己直接安全通信的中间节点,通信节点可以与这些中间节点建立一条密钥路径,使用这条路径可以实现通信节点之间的安全通信。3.密钥重分发当网络中的节点被捕获或者能量耗尽时,需要增加新的节点。若密钥池中仍存在可用的密钥组合,服务器根据节点的预期部署位置从可用的密钥组合中任选一个密钥组合并分发给该节点。若不存在可用密钥组合,需要为网络中所有节点重新建立密钥系统。此时,需要重新执行上述流程生成新的适合网络的密钥。然后,服务器用现有密钥加密新的密钥向网络中的节点广播完成整个密钥系统的重建。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1