无线传感器网络安全认证技术研究*

2019-06-25 06:03魏国珩
通信技术 2019年6期
关键词:公钥密钥基站

吴 昆,魏国珩

(海军工程大学信息安全系,湖北 武汉 430033)

0 引 言

无线传感器网络(Wireless Sensor Network,WSN)是由若干体积微小、成本低、功耗低的传感器节点按照多跳的通信方式形成的一个无线自组织网络。随着WSN广泛应用于军事监控、环境监测、自然灾害预警与救援、国土安全、工业制造、医疗卫生和城市 交通等各种领域[1],其面临的安全问题也越来越凸显。由于WSN节点一般部署在安全性无法保障的环境中,很容易遭受恶意攻击,加上节点本身的资源受限,计算、存储和通信能力比较弱,传统的网络安全技术无法适用。针对无线传感器网络的特点,不少研究者提出了WSN的安全认证方案,在保证安全的前提下,尽可能减少系统对资源的消耗,增加网络的生存周期。本文在剖析无线传感器网络面临的安全问题基础上,对现有的安全认证相关技术和方案进行了研究,并展望了WSN安全认证的下一步研究方向。

1 WSN安全问题及认证技术基础

由于WSN节点的资源受限,而且网络往往部署在较为恶劣的环境中,很容易受到敌方的恶意攻击,如表1所示。

表1 WSN安全威胁

认证是网络安全体系的重要组成部分,它分为身份认证和信息认证。身份认证是保证只有通过网络认证的合法用户才能接入网络,并且阻止非法用户参与到网络,保证网络中的参与者都是合法的,它是WSN安全的第一道屏障;而信息认证主要是对信息来源的合法身份进行确认和确保信息的完整性,防止非法的节点发送、伪造和窜改信息,干扰网络的正常通信。而身份认证与消息认证的过程都需要对密钥进行认证,认证密钥是判断网络节点安全性的以及消息真伪的依据,认证机制需要与密钥管理方案结合在一起,才能有效地发挥出其的作用,如图1所示。密钥管理技术、节点身份认证技术和消息认证技术是实现无线传感器网络安全认证的三个关键技术。

图1 WSN安全认证关键技术

2 WSN密钥管理技术研究

密钥管理是WSN网络安全实现的基础,所有节点共享一个主密钥的方式显然不能够满足WSN的安全需求[2],目前研究者提出了很多密钥管理方式。

2.1 随机密钥预分配

随机密钥预分配模式一般由密钥预分配、发现共享密钥和通信密钥建立3个部分组成,基本思想是:从一个大的密钥池中任意选取k个不同密钥组成密钥链并随机分配给所有节点,只有拥有相同密钥的节点才能互相通信。在该模式中,节点拥有的密钥链长度k越大,网络的连通性越好,相对的安全性就越差,当有节点被攻击者捕获后,存储在节点中的密钥信息就会被攻击者获取,网络中的其他节点安全性就会降低。最早的随机密钥预分配方案是由Eschenauer L.和Gligor V.提出的E-G方案[3],在此基础上,chen等人结合提出了q-composite方案[4],当被攻击的范围较小时,降低了网路的安全风险;考虑到并不是所有的配对节点都需要建立相应的密钥,Liu DG等提出的基于多项式池的密钥预分发方案[5],提高了方案的可扩展性;Pietro R D等提出的基于Kryptograph 随机密钥图的密钥管理方案[6],可以在节点携带较少密钥素材的情况下,建立更多的安全链路;结合中国剩余定理,陈琳提出了基于中国剩余定理的密钥管理协议[7],使用较少的通信和计算能耗,实现网络的最大连通,并具有网络自愈合功能。随机密钥预分配被认为是最适合WSN的密钥管理方式。

2.2 预共享密钥

预共享密钥模式共包括节点与节点之间共享密钥和节点与基站之间共享密钥两种方式。前者要求每个节点都存储与其他所有节点的共享密钥,这种方式不依赖于基站,抗捕获性强,但是网络的扩展性差,对资源的消耗较多。后者只需要每个普通节点与基站之间共享一对密钥,这种方式对普通节点的存储能力要求较小,可扩展性强,但是由于计算和存储集中在基站,基站的暴露会使整个网络被攻破。典型的预共享密钥方式有SPINS(Security Protocols for Sensor Networks)安全框架协议[8]、广播会话密钥(Broadcast Session Key,BROSK)方案[9]等。

2.3 基于部署知识的密钥预分配

基于部署知识的密钥预分配模式是对基本密钥预分配模式的扩展,首先根据节点的部署知识构建密钥预分配模型,将节点的预部署位置与模型中坐标对应,减少密钥预分配过程的盲目性,这样可以增加节点之间拥有共享密钥的概率,提高网络的连通性[10]。文献[11]中提出了一种基于方格的密钥预分布模型,该方案将t2个节点分别部署在一个t*t的方格中,用x,y坐标表示各节点的位置信息,然后根据节点的坐标分配相应的密钥值。该方案的扩展性较强,在网络规模增大时,可根据坐标直接增加新的节点。但是由于在实际应用中节点的部署信息会受到多种因素的影响,如果节点的实际位置和预期的相差比较大,可能会使节点之间无法建立安全通信链路[12]。

3 WSN的实体身份认证

身份认证机制,是指通过对网络参与者的身份进行鉴别,确保只有拥有合法的用户才能加入到网络,保证网络的外部安全。目前常用的WSN身份认证机制主要分为基于秘密共享的认证机制和基于公钥密码的认证机制。

3.1 基于秘密共享的认证机制

秘密共享机制最早由Shamir和Blakley在1979各自独立提出,其思想是按照合适的方式将秘密拆分,并将拆分后的每一个部分交给不同的参与者管理,单个或少数的参与者无法根据拥有的信息恢复秘密值,只有达到一定数量的参与者共同协作才能将秘密消息恢复出来。Shamir[13]的基于多项式的(k,n)门限共享方案共分为两个步骤:

(1)秘密产生及分发:有n个参与者{U1,U2,…,Un}对应的公开表示符 {x1,x2,…,xn}。有秘密值S=a0,选取k-1个随机数a,a2,…,ak-1,并构造k-1 阶多项式 f(x)=a0+a1x+…+ak-1xk-1(mod p(x),则参与者 Ui所拥有的秘密值为 Si=f(xi)。

(2)秘密恢复:任意k个参与者所拥有的秘密集合为{Sj|j=0,1,…,k-1},每个参与者将自己的秘密值发送给其他k-1个参与者,并恢复秘密S。

求 得 a0,a1,a2,…,ak-1后, 构 造 多 项 式 f(x)=a0+a1x+…+ak-1xk-1,带入可得秘密值 S=f(0)。在秘密恢复过程中至少需要k个参与者才能恢复秘密,因此方案可以抵御k-1个参与者的共谋攻击。

在此基础上,庞提出了基于RSA的门限秘密共享方案[14],可以在不恢复秘密值得情况下直接进行身份认证,但是要求所有的参与者一起才能恢复秘密,因此不具备容错性。Miao等人利用中国剩余定理设计了一种基于秘密共享的异步(t,m,n)组认证方案[15],提出了随机分量的概念(RC)和具体实现方法,具有很强的安全性和应用价值;基于此思想,Liu基于对称多项式提出了一种可验证成对WSN组密钥分发与身份认证方案[16],在无需通信的情况下即可获取组密钥,但是当参与的节点较多时需要的存储空间也比较大。顾等人结合hash()函数提出了一种公平秘密共享方案[17],能够确保存在欺骗者时,即使合法的参与者达到门限值也无法恢复出秘密。

3.2 基于公钥密码的认证机制

随着技术的发展,公钥密码体制应用到WSN中越来越成为可能,文献[18]证明了公钥技术可以在WSN中实现用户认证;R.Watro等人首次提出了基于低指数级RSA的TinyPK[19]实体身份认证方案,方案采用分级的思想,私钥签名和解密操作交给资源充足的外部组织或节点进行,传感器节点完成用公钥验证签名和加密操作,较方便地实现了WSN的实体认证。在该方案中,如果某个认证节点被捕获了,攻击者就能利用这个节点获取合法的身份,进而威胁整个网络的安全。针对Tiny PK方案存在的不足,Z.Benenson等人提出了基于椭圆曲线加密(Elliptic Curve Cryptography,ECC)的强用户认证方案[20],采用分布式认证的方法,节点只有通过其通信范围内n个节点中的t个节点的安全认证,才能获得合法的身份,但是认证过程中节点的资源消耗太大,且容易遭受DOS攻击。具体过程如下:

(1)用户节点广播消息{U,certs},并根据U在认证中心CA处获得签名证书;

(2)网络中节点S保存该信息,并返回自己的身份值ID和一个随机数N;

(3)用户节点计算h1(U,ID,N),并用私钥签名后发送给网络节点S;

(4)网络节点S将两次收到的消息及CA的公钥,验证certs后,得到h1;

(5)网络节点S利用自身信息计算散列值h2,并与h1比较;

(6)多个节点进行以上步骤,最后计算消息认证码(Message Authentication Code,MAC)返回给用户节点。

为了减少节点在存储数字证书的资源消耗,zhang等人在双线性对技术基础上结合地理信息提出了基于身份的公钥密码方案[21],方案将身份信息与位置信息进行整合,避免了一般公钥方案中的证书验证和传输过程,提高了计算的效率,降低了通信负载。文献[22]提出了一种基于无证书机制的WSN认证方案,该方案通过建立可信邻接点组成的认证集来完成节点的身份认证,与基于身份的公钥密码体制类似,方案不需要使用证书来保证公钥的可靠性,而且也不会面临密钥托管问题。

随着技术的发展,WSN节点的能携带的资源逐渐增多,基于非对称密码的实体身份认证方法将越来越适合WSN网络。

4 WSN的信息认证

信息认证机制,主要是对信息来源的合法身份进行确认和确保信息的完整性和即时性,防止攻击者向网络中发送非法信息,干扰网络的正常通信。根据信息通信目标的不同,可将WSN信息认证分为单播信息认证和广播信息认证。

4.1 WSN单播信息认证

在WSN中,传感器节点往往需要将感知到的数据信息传递给某个特定的节点,根据两点间通信距离的不同可以将认证方式分为单跳认证和多跳认证。

(1)单跳通信认证

单跳认证往往针对基站对节点和节点对基站之间的信息传递,其认证方式比较简单,可以利用对称密钥和散列函数来实现。首先网络中普通节点需要与基站共享一个密钥对,当节点需要发送信息时,根据与基站之间共享的密钥计算出发送的数据的MAC值,然后将MAC值与需要发送的数据一起发送出去;基站收到信息后,根据明文信息计算出MAC值,并判断与受到的MAC值是否相等,以此来判断信息来源是否合法,同时可以保证信息的完整性。

(2)多跳通信认证

当无线传感器网络的规模较大时,距离较远的两点进行信息传递通常采用多跳通信方式实现。目前存在一种逐跳认证方式,即在每一跳通信的两端共享一个密钥,通过每一跳的信息认证保证,间接实现通信双方的信息安全。但是当通信链路中有少数节点被敌方捕获时,通信的安全就会受到严重的安全威胁。针对此问题,文献[23]提出了一种多路径认证方案,主要思想是信息发送节点通过多条不相交的路径分别将信息发送给目的节点,信息接收节点根据少数服从多数的原则确定合法信息,并将发送不同信息的路径标记出来。通过这种方法,少数的节点被攻击并不会对整体的安全通信造成特别严重的影响。但是这种方案在一次信息认证过程中需要多条不同的路径进行转发,会造成更多的能量消耗,而且也容易遭受拒绝服务攻击(Denial of Service,Dos)攻击而使网络瘫痪。

针对此问题,魏等人[24]基于消息认证码提出了一种面向分簇WSN的虚拟多路径信息认证方案,方案如图2所示。源节点需要向基站发送数据时,首先将信息发送给簇头节点,簇头节点利用自身拥有的路由表确定一条最佳路径,并指定出消息传递的第一跳和第二跳位置,同时用共享密钥计算出两个MAC值分别发送给下两跳节点。相邻跳节点判断MAC值来验证上一跳数据源的合法性,如果验证通过,则转发上一跳节点发送给下一节点的MAC值,同时指定出下一跳节点,并计算MAC值。方案实现了在一条通信链路上虚拟出三条链路传送认证消息,结合多路径和逐跳认证的优点,可以提供较强的认证效果。

图2 虚拟多路径认证路线

4.2 WSN广播消息认证

在WSN中,为了解并控制网络整体状况,基站往往需要向所有的节点发送消息,为了减少网络带宽消耗以及缩短通信时间,通常将信息以广播的方式进行传输。与单播信息认证不同,广播认证需要全网所有节点共享一个通信密钥来实现。现有的广播认证方案有基于延迟的对称密钥广播认证和基于公钥密码学的广播认证两种。

(1)基于延迟的对称密码广播信息认证

目前针对WSN的广播信息认证方式最常用的是μTESLA协议[25],它是WSN安全框架协议SPINS的一部分,利用消息认证码、单项散列函数、节点间的时间弱同步及对称密钥的延迟发布来实现点到多点的广播数据包非对称认证。主要认证过程如下图,可以分为基站安全初始化、节点加入和广播数据认证3个步骤:

1)基站初始化阶段,首先利用初始密钥Kn和单项散列函数 H(x)生成密钥链:H(Ki)=H(Ki+1),之后基站确定密钥发布的时间延迟d,单位为密钥的同步周期Tint。

2)网络节点加入阶段,首先利用SNEP与基站建立时钟同步,节点在时间 [i×Tint,(i+1)×Tint]时间加入网络的具体过程如下:

其中,NM是一个随机数,RA表示节点的加入请求,Ts是当前时间,Kas是节点与基站之间的认证密钥,Ki为初始化密钥,Ti表示当前同步时间的起始时间。按照这样的操作,节点能够获得认证广播消息需要的所有信息。

3)广播认证阶段,节点根据时间同步关系,在基站发布密钥时接收认证密钥Ki,并判断是否与Hash密钥链中的H(Ki+1)相等,验证密钥的合法性,之后利用该密钥验证相应时间段的广播数据包。

当普通节点需要发送广播数据包时,首先将广播信息发送给基站,再由基站进行全网广播。

在此基础上,很多学者作了研究和改进;Liu等人[26]对协议进行扩展,提出了多层协议,减少了初始参数的分配并且可以适用于更大规模的网络,但是该协议只考虑了基站作为唯一的广播者,而且当有攻击者不停广播数据包时,会使迅速耗尽网络合法节点的存储资源;针对此问题,文献[27]提出了一种基于Merkle树的广播信息认证方案,能够实现多点数据源广播的信息即时认证,然而,当WSN规模比较大时,会消耗过多的存储资源和通信能量。

(2)基于公钥加密体制(Public Key Cryptography,PKC)的广播信息认证基于对称密码学的广播认证方案虽然能耗比较低,但是消息的延迟认证很容易遭受DOS攻击。近年来,基于PKC的信息广播认证方案相继被提出,解决了基于对称密码学广播认证的初始密钥分发的问题,同时实现了实时认证。包括基于身份的广播认证机制[28]和基于证书的广播认证机制[29],其中基于身份的广播信息认证机制(Identity-based Broadcast Authentication Scheme,IDBAS)被证实更适用于WSN[7]。文献[30]提出了一种基于身份的多用户广播认证方案(BASIS),方案实现广播信息认证共包括网络初始化、私钥提取、广播认证三步。

1)网络初始化阶段,基站进行参数初始化,选取有限域Fq上的椭圆曲线E上的点P,确定约减值p,随机选取x∈Zp*为主密钥,公钥Ppub=xP,选择加密哈希函数 H1,H2:{0,1}* → Zp,F1:{0,1}k2→ (0,1)k1,F2:{0,1}* → (0,1)k2,并选择随机数k1,k2,且|p|=+k1+k2,网络的初始参数为{Fq,E,p,P,Ppub,H1,H2,F1´,F2´,k1,k2},并将参数加载到网络的每一个节点中;

2)私钥提取阶段,基站和网络节点获取各自的私钥:选择随机数r∈Zp*,计算R=rP,c=H1(ID,R),v=r+cx mod p,私钥 Sk=(R,v)。

3)广播认证阶段共包括两部分即签名和认证:

当身份标识为IDi的节点Ui想要广播信息mi时,选取时间戳ti并用自己的私钥Ski=(Ri,si)对mi进 行 签 名, 计 算 m´=F1(m)||(F2(F1(mi)⊕ mi),y=tiP ⊕ m´,h=H2(IDi,Ri,y),z=ti+hv mod p, 得 到 签名信息sigi=(Ri,y,z),并将信息广播发送到网络中。

节点收到广播签名信息后,计算h=H2(IDi,Ri,y),c=H1(IDi,Ri),m´=y ⊕ (zP-hR-hcPpub),并恢复数据 m=[m´]k2⊕ F2(k1[m´]),通过判断[m´]=F1(m)是否成立来对广播消息进行验证。其中k1[m´]表示m´的最低k1位,[m´]k2表示m´的最高k2位。

另外,基站可以通过将撤销节点的信息进行广播,其他节点在验证并恢复信息后,将该节点的ID加入撤销列表中,实现WSN节点的撤销功能。为了进一步减少计算量,研究者提出了基于身份的在线/离线广播认证方案[31],可以将一些复杂耗时的计算在离线签名阶段由资源充足的基站完成,普通节点执行在线签名阶段。

5 总结与展望

近年来研究者在WSN安全认证方面取得了很多新的成果,但是在认证的效果和网络的适用性方面仍然存在一定的不足。本文在分析现有WSN安全认证相关技术和方案的基础上,对WSN安全认证的下一步研究提出几点展望:

(1)改进公钥算法:对公钥算法的计算过程进行轻量化设计,如ECC算法中的点乘计算,在保证安全的前提下,降低计算复杂度和过程的资源消耗;

(2)设计结合公钥密码和对称密码的混合密钥管理方案;

(3)在基于非对称密码的节点身份认证中,结合身份标识和无证书机制,避免对数字证书的相关操作;结合网络的自组织性,将节点身份认证交给局部多点协同认证完成;

(4)对于大型无线传感器网络的信息认证,将虚拟多路径认证与节点分簇相结合,提高认证方案的适用性;结合数据融合技术,实现多点数据源广播的同时认证。

猜你喜欢
公钥密钥基站
幻中邂逅之金色密钥
幻中邂逅之金色密钥
案例教学法在公钥密码体制难点教学中的应用——以ssh服务中双向认证为例
密码系统中密钥的状态与保护*
5G IAB基站接入网络方案研究*
5G基站辐射对人体有害?
TPM 2.0密钥迁移协议研究
神奇的公钥密码
国密SM2密码算法的C语言实现
基于移动通信基站建设自动化探讨