传感器论文无线传感器网络的密钥管理方案摘要:无线传感器网络常用于军事目标追踪、环境监测、病人病情跟踪等方面,,当其部署在一个敌对的环境中,会受到不同类型的恶意攻击,保障其安全性显得极为重要。传感器节点的资源严格受限,传统网络安全机制不适用于无线传感器网络。保障无线传感器网络安全的常用方法是对传输数据进行加密,文章介绍并分析适用于该类型网络的典型密钥管理方案。关键词:无线传感器网络;密钥管理;安全随着传感器技术、嵌入式技术、无线通信技术和微机电系统(MicroElectro-MechanicalSystem,简称MEMS)技术的进步,极大地推动了集信息采集、数据处理、无线传输等功能于一体的无线传感器网络(WirelessSensorNetworks,WSN)的发展。WSN以其低成本、低功耗的特点,在军事、环境监测、医疗健康等领域有着广泛的应用,并逐渐深入到人类生活的各个领域。当无线传感器网络部署在一个敌对的环境中,安全性就显得极为重要,因为它们容易产生不同类型的恶意攻击。例如,敌人可以冒充合法节点窃取网络中的通信数据,或者发送错误的信息给其它节点。为了确保从网络中收集到的数据正确可靠,节点间的数据通信必须进行加密和验证。针对无线传感器网络安全问题的研究有很多方面,但其中最核心、最基本的问题就是密钥管理问题。1密钥管理方案的评估指标无线传感器网络一般受限于计算、通信和存储能力,节点随机部署,以及网络拓扑结构的动态变化,从而使得传感器网络比传统的网络更难抵抗各种攻击。在传统网络中,往往通过分析密钥管理方案所能够提供的安全性来评估一个密钥管理方案的优劣。但是,这在无线传感器网络中都是远远不够的。所以,结合自身的特点和限制,无线传感器网络的密钥管理方案需要具备以下特性[1-2]。1)安全性。对于无线传感器网络密钥管理方案,其安全性主要体现在对外部攻击的抵抗能力上,主要指抵抗俘获攻击和复制节点攻击的能力。利用该算法生成的密钥应具备一定的安全强度,不能被网络攻击者轻易破解或者花很小的代价破解。也即是加密后保障数据包的机密性。2)连通性。指相邻节点之间直接建立通信密钥的概率。保持足够高的密钥连通概率是无线传感器网络发挥其应有功能的必要条件。密钥信息生成和分发之后,除了孤立节点(无法与网络中其它任何节点进行通信)之外,要保证密钥的全连通或者部分连通。3)有效性。对于节点电源能量来说,密钥管理方案必须具有很小的耗电量。对于节点的计算能力来说,传统网络中广泛采用的复杂的加密算法、签名算法都不能很好的应用于无线传感器网络中,需要设计计算更简单的密钥管理方案。对于节点的存储能力来说,不可能在密钥分配时保存过多的密钥信息,那么设计的密钥管理方案必须使每个节点预分配信息尽可能的少。确保传感器节点有足够的存储空间去存储建立安全密钥管理所需要的信息,具有建立共享密钥的处理能力以及在密钥建立阶段所需要的通信能力。4)轻量级和低开销。传感器节点主要有三个消耗能量的模块:传感器模块,处理器模块和无线通信模块。其中,通信能耗远远大于计算能耗,数据传输所消耗的能量约占总能耗的97%,有20%消耗在共享密钥发现阶段和会话密钥建立过程中。通常1比特信息传输100m距离耗费的能量相当于执行3000条安全算法(如计算Hash函数,比较密钥ID等)计算指令所消耗的能量。因此,要求密钥管理方案中的节点间通信尽量小,要求节点在传输之前对数据进行预处理,以降低通信量。5)可扩展性。无线传感器网络的规模通常达到成千上万个,但由于存储空间受限,密钥管理方案所支持的网络规模通常都有一个门限值,在设计无线传感器网络密钥管理方案时必须允许大量新加入的节点,保障网络是可扩展的。而且,在增强网络的扩展性的同时要尽可能地降低存储开销。通常情况下,评估WSN密钥管理方案的好坏,主要看此方案所能支持的网络规模、传感器节点的能耗、整个网络的可建立安全通信的连通概率、整个网络的抗攻击能力等。2典型密钥管理方案分析通过总结和调研国内外的文献,本文将现有的无线传感器网络密钥管理方案进行了适当的分类。根据依据不同,主要可以分为四大类:一是按照密钥管理方案所依托的密码基础不同,可分为对称密钥管理和非对称密钥管理;二是按照网络的逻辑结构不同,可分为分布式密钥管理和层次式密钥管理;三是按照网络运行后密钥是否更新,可分为静态密钥管理和动态密钥管理;四是按照网络密钥的链接性情况不同,可分为随机密钥管理与确定密钥管理。这四种分类方法并不是唯一的,也并非将所有的方案都依此划清界限而彼此之间没有交集,同一种密钥管理方案完全可能在不同的分类中重复出现。下面介绍一些典型的密钥管理方案。2.1预共享密钥分配方案SPINS协议[3]是预共享密钥分配方案之一,它由安全网络加密协议SNEP(SecurityNetworkEncryptionprotocol)和广播认证协议μTESLA(microTimedEfficientStreamingLoss-tolerantAuthenticationprotocol)组成。SNEP是一个低通信开销的简单高效的安全通信协议,实现了数据认证、数据机密性、完整性、新鲜性保证等功能。它只描述了协议的工作过程,并未规定实际采用的算法,具体算法在实现时可根据需要选择。SNEP采用预共享主密钥的安全引导模型,让每个节点都和基站之间共享一对主密钥,其他密钥从该主密钥派生出来。新鲜性的认证是通信双方共享一个计数器来实现,数据完整性认证通过使用消息认证码来提供。μTESLA协议是一个高效的广播认证协议,用于实现点到多点的广播认证,其核心思想是推迟公布广播包的加密密钥。基站先广播一个经过密钥Kmac加密的数据包,一段时间后再公布Kmac,这就保证了Kmac公布之前,无人能够得到密钥的任何信息,也无法在广播包得到认证之前伪造正确的广播包。该协议要求基站和节点之间拥有松散的时间同步,即接收者应该知道基站公布密钥的时刻表。μTESLA协议由基站安全初始化、节点加入安全体系和完成数据包的广播认证三个过程组成。SPINS使用预共享密钥的方式来建立安全连接。其主要通过两种方式建立安全连接:节点之间共享和每个节点与基站之间共享。使用每个节点之间共享一个主密钥,可以在任何一对节点之间建立安全通信,但其抗俘获能力、扩展性都很低,适用于小型网络。在每个节点和基站之间共享一个主密钥,需要节点的存储空间大大降低,但计算和通信都集中在基站,容易成为网络的瓶颈。2.2随机密钥预分配方案目前最常用的随机密钥管理方式是在网络节点布置到目标区域之前,给每个节点预置一部分信息,节点之间采用这些预置信息协商共享密钥。E-G方案[4]是由Eschenauer和Gligor提出的一种基于概率论和随机图论的密钥预分配方案。其基本思想是:有一个大的密钥池,所有节点都从中随机选取若干密钥构成密钥链,只有密钥链间拥有一对相同密钥的相邻节点才能建立安全通道。该方案包括三个阶段:密钥预分配、共享密钥的发现和路径密钥的建立。1)密钥预分配。由密钥生成者生成一个大的密钥池S,密钥池中的每二个密钥都有一个惟一可以识别它的身份ID。在散布节点之前,从密钥池S中随机选出m个密钥分发给每个节点。2)共享密钥的发现。节点被布置到目标区域以后,广播自己的身份ID以及所存储的密钥的ID。节点通过共享密钥发现阶段来发现可以建立起安全通信的节点。3)路径密钥的建立。经过第2步建立起通信的无线传感器节点已经形成了一个安全连通网络,任意两个节点之间都可以找到一条安全连通路径到达对方,不存在共享密钥的节点间可以通过安全路径上的中间节点协商安全通信密钥。Q-composite方案[4]是E-G方案的一种增强方案。在E-G方案中,任意两个邻居节点之间只需要有一个共享密钥,这样虽然减少了节点的开销,但是节点抵御外部攻击的能力却大大减弱。为了增加节点的抗攻击能力,Chan等人对E-G方案进行扩展,提出Q-composite随机密钥预分布方案。Q-composite方案要求两个节点之间至少拥有q个公共密钥才能直接协商建立共享密钥。q值越大网络的抵抗力越强,攻击难度与q呈指数关系。该方案使用两个节点的所有公共密钥的哈希值作为共享密钥。假设两个邻居节点有t个公共密钥(tq),则共享密钥Kshare=Hash(K1||K2||…||Kt),其中Hash代表某个公开的散列函数。2.3层次型LEAP密钥管理方案2003年,SencunZhu等人提出的LEAP[5](Localizedencryptionandauthenticationprotocol)是一个适用于层次网络的密钥管理协议,为了确保网络的安全总共需要四种类型密钥:每个传感器节点与基站共享的个体密钥(IndividualKey),与某一跳邻居节点共享的对密钥(PairwiseKey),多个邻居节点共享的簇密钥(ClusterKey),以及网络中所有节点共享的组密钥(GroupKey)。1)个体密钥个体密钥是基站与每个节点之间共享的一个唯一的密钥。节点使用这个密钥来计算发往基站的消息的MAC值,例如在发现异常情况后向基站发送的警告消息。同样地,基站也可以使用该密钥来给网络中的某个节点发送敏感消息。个体密钥用于保证单个传感器节点与基站的安全通信,这个密钥是在节点布置之前,预置到节点中的。节点u的个体密钥可用一个伪随机函数f来生成,K是密钥生成者用于生成个体密钥的主密钥,密钥生成者只需要存储K,在需要与节点u通信的时候再用伪随机函数计算出它们之间的通信密钥。2)对密钥对密钥是节点与它的一跳邻居节点共享的密钥,可以通过交换其标识符及使用预分配的组密钥和单项散列函数计算得到。对密钥用来建立安全通信,例如节点可以使用对密钥加密它的簇密钥发送给邻居,或者将其采集的数据加密后发送给汇聚节点。对密钥用于加密需要保密的通信信息或者用于源认证,即可以在节点布置之前预置,也可以采用节点布置以后通过相互通信进行协商。3)簇密钥簇密钥是一个节点和其所有邻居共享的密钥,用来加密本簇内的广播信息。例如,路由控制信息,采集的机密数据等。先由簇头产生一个随机密钥作为簇密钥,然后使用与邻居节点的对密钥逐一地对簇密钥加密后发送给对应节点,只有同一簇内的邻居节点才能拥有并用于通信。网内的数据处理,例如数据融合对于能量的节省十分重要。一个节点在接收到邻居节点发送来的数据后,如果发现与自己采集的数据一样,则可以选择不发送该数据,从而减少了网络的能量消耗。但是这就要求这些消息被一个局部共享的密钥进行加密和认证。因此,LEAP协议给每个节点提供了一个与邻居节点共享的唯一密钥来保证消息的安全性,邻居节点使用同样的密钥来解密和认证消息,该密钥就是簇密钥。4)组密钥组密钥是当基站需要向全网广播消息时使用的,例如,基站广播查询消息、命令等。由于网络中的所有节点共享一个组密钥,从安全的角度出发,当有节点被撤销时必须更新这个密钥,以防被撤销节点还能监听基站与每个节点的广播通信,可采用μTESLA(mieroTimedEffieientStreamingLoss-tolerantAuthenticationprotocol)协议更新网络的组密钥。2.4各种方案的优缺点上述的各种密钥管理方案都在某种程度上解决了一些WSN的安全问题,但是每个方案也都存在着不足之处。SPINS协议实现了点对点消息的保密性、可认证性、完整性和新鲜性,实现了广播消息的可认证性,但是,该协议节点必须通过基站才能建立安全通信密钥,使得基站成为网络中的瓶颈,可扩展性差,只适合小型网络使用,且不能抵御DOS攻击。E-G方案是一种随机密钥预分配方案,它使得节点只需存储密钥池中的部分密钥,降低了节点的存储开销,点到点的安全通信信道可以通过共享密钥独立建立,从而减少了对基站的依赖,适用于规模大的网络。但是,该方案基于概率模型,不能保证所有节点是安全连通的。它的安全连通性受到密钥链的长度L和密钥池的大小S等因素的影响。Q-composite方案要求两个相邻节点至少共享q个密钥才能建立配对密钥,随着共享密钥阀值的增大,攻击者破坏网络安全链路的难