文献标识码: A
DOI:10.16157/j.issn.0258-7998.2015.10.029
中文引用格式: 张得生,刘直良. 基于圆锥曲线密码的WSNs密钥管理方案[J].电子技术应用,2015,41(10):107-110.
英文引用格式: Zhang Desheng,Liu Zhiliang. Key management scheme for WSNs based on conic curve cryptography[J].Application of Electronic Technique,2015,41(10):107-110.
0 引言
无线传感器网络(Wireless Sensor Networks,WSNs)是由多种学科高度交叉的热点研究领域,被广泛应用在军事监察、医疗护理、交通监管和环境监测等各类领域[1]。然而,无线传感器网络也面临着诸如窃听、注入、陷阱、欺骗、重放、拒绝服务和HELLO扩散攻击等多种安全风险,因此如何解决安全问题成为无线传感器网络研究的热点和难点问题[2]。由于无线传感器网络的节点在能量、计算能力、存储能力和通信带宽等方面有限制,传统的密钥管理方案无法直接应用在无线传感器网络中,使得无线传感器网络的密钥管理面临着诸多困难和挑战。适用于无线传感器网络的一种比较简单的密钥管理方案是在所有节点中都预先存储一个对称密钥进行通信,但是如果其中某一个节点被攻击成功,则全网络就不再安全,而且对称密钥管理方案限制了新节点的加入和密钥更新等动态性操作,因此对称密钥管理方案不能满足无线传感器网络的动态性和安全性需求。而非对称密钥管理方案既可以保证网络的安全性需求也可以很好地满足动态性需求,然而需要更多的能量和资源开销[3]。但随着大规模集成技术的飞速发展,传感器节点在能量、计算能力、存储能力和通信带宽等方面都有很大提高,可以通过有效的控制把非对称密码体制中的部分方法应用于无线传感器网络中来实现安全密钥管理。
圆锥曲线密码是一种比椭圆曲线密码更加高效的非对称密码体制,具有密钥短、参数选择灵活、实现速度快和安全性高等优点,通过将其应用在无线传感器网络的密钥管理方案中,给出一种基于圆锥曲线密码的无线传感器网络密钥管理方案(Key Management scheme based on Conic Curve cryptography for wireless sensor network,KMCC)。所给方案可以有效实现通信密钥分配以及动态添加新节点、密钥更新和回收,并且在密钥存储空间、可扩展性和抗网络攻击等方面都要比基于椭圆曲线密码的无线传感器网络密钥管理方案等经典的密钥管理方案具有更好的性能,因此所给方案可以较好地适用于无线传感器网络中。
1 KMCC方案设计
1.1 网路模型
假设部署的无线传感器网络中有且仅有一个基站,且该基站不会失效或者被攻击。网络中每个节点都能够感知其邻近的节点,同时假设在网络初始化阶段不存在外部入侵的问题,即所有节点都具有一定抵御外部攻击的能力,且为每个节点赋予唯一的身份标识ID以抵御Sybil攻击和Newcomer攻击。其中,基站作为证书管理机构,用来为每个节点分配证书,证书内容应包含与节点私钥匹配的公钥、节点身份标识以及时间戳。证书形式为CAi=E(PKi,IDi,T),i表示某个节点,Ci表示节点i的证书,SKCA表示基站的私钥,PKi表示节点i的公钥,IDi表示节点i身份标识号,T表示证书的有效期,且节点i自身私钥为SKi,同时被注入基站的公钥PKCA。
1.2 网络初始化
部署无线传感器网络之前,需要对整个网络中的基站和所有节点进行初始化设置。首先需要构造安全圆锥曲线C,然后分别在其上选取阶为k的基点P,并定义圆锥曲线C上的点加运算和标量乘法运算[4]。节点i的配置参数则为(k,C/Fq,E,F,G,H),k表示有限域Fq上的素数,C表示有限域Fq上的圆锥曲线,E表示有限域Fq上的加法群,F表示圆锥曲线上的Frobenius映射,G表示加法群E上随机选取的生成元,H表示单向散列函数,且有SKi=KMH(IDi),KM表示系统的主密钥。
1.3 通信密钥建立
部署无线传感器网络完成后,需要在基站和节点间建立通信密钥,具体执行过程如下所示:
(1)首先,每个节点都通过广播“Hello”消息来发现邻居节点,邻居节点在收到“Hello”消息后回复确认消息;
(2)当一对节点i和节点j互相确认为邻居节点之后,节点i通过利用公钥证书CAi将自己的公钥PKi发送给邻居节点j,节点i发送给节点j的消息为(CAi,t)=,节点j发送给节点i的消息为(CAj,t)=,发送的消息都包括时间戳t,主要作用是为了保证节点j收到证书的有效性,避免节点i重发已过期证书或防止恶意节点冒充节点i重发过期证书;
(3)节点i和节点j只有利用预注入基站公钥PKCA才能对证书解密,以验证证书是由基站发放的,并获得邻近节点的身份标识和公钥。节点j利用基站公钥PKCA来验证节点i发送的消息,节点j获得节点i的身份标识IDi和公钥PKi;同样,节点i也需要利用利用基站公钥PKCA对节点j发送的消息进行验证,获得节点i获得节点j的身份标识IDj和公钥PKj;
(4)邻居节点i和节点j互相获得对方的公钥后,利用初始化预先加载的私钥SKi=KM H(IDi)和SKj=KM H(IDj)建立对密钥Ki,j。节点i生成对密钥Ki,j=F(SKi, H(IDj)),节点j生成对密钥Kj,i=F(SKj, H(IDi)),由映射F性质可知Ki,j=Kj,i,则建立起邻居节点i和j之间对密钥。
1.4 节点的加入和删除
新节点加入网络时,需要首先对其配置身份标识,产生新节点的证书和私钥,再与邻近节点建立通信对密钥,具体执行过程如下:
(1)新节点t请求加入网络时,基站首先为该节点分配一个身份标识号IDt,用以生成证书CAt=E(PKt,IDt,T)以及私钥SKt=KMH(IDt),并同时为该节点预先注入基站公钥PKCA;
(2)新节点t部署后,向周围节点广播“Hello”消息寻找邻居节点,邻居节点回复确认消息后,然后新节点t与邻居节点之间建立对立对密钥Ki,t。
由于整个网络中每对邻居节点的密钥与其他节点之间的对密钥是相互独立的,所以删除被捕获或失效的节点不会给其他节点造成危害,节点删除的执行过程如下:
(1)当一个节点s能量耗尽或被捕获后,在网络中广播该失效或被捕获节点s的身份标识IDs及该节点已退出的消息,从而其证书CAs失效;
(2)其余节点收到节点s的身份标识IDs退出的消息后,若再有节点s发送到消息则直接丢弃。
1.5 密钥的更新和回收
网络中邻居节点利用公私密钥对更新对密钥,假定是由节点i发起密钥更新请求,具体执行过程如下所示:
(1)节点i采用节点j的公钥PKj来加密节点i的身份标识IDi和一个一次性随机数R1,然后发送给节点j,即节点i发送消息(IDi,R1)到节点j,其中R1唯一地标识节点i更新;
(2)节点j采用节点i的公钥PKi来加密节点i的一次性随机数R1和节点j新产生的一次性随机数R2,然后发送给节点i,即节点j发送消息E(R1,R2)到节点i,其中R2唯一地标识节点j更新回复;
(3)节点i收到消息(R1,R2)进行解密后,得到随机数R1,所以节点i确认回复消息是节点j发送的后采用节点j的公钥PKj来加密随机数R2,并发送给节点j,即节点i发送消息(R2)到节点j;
(4)节点j收到消息(R2)进行解密得到随机数R2,所以节点j可以确认此次消息是节点i发送的;
(5)节点i选择通信会话密钥KD,并采用自己的私钥SKi和节点j的公钥PKj加密会话密钥KD达到密钥更新报文消息M,,然后发送给基点j。
(6)节点j收到密钥更新报文消息M=E(E(KD)),然后采用自己的私钥SKj和节点i的公钥PKi来解密会话密钥KD,从而邻居节点间建立新的会话密钥。
在无线传感器网络中,如果有节点发现某个节点不合法时,需要向基站对该节点投不信任票,当基站收到对这个节点的不信任投票超过一定的阈值,则基站就会通过广播节点私钥的方式对该节点的密钥进行回收,具体执行过程如下:
(1)当基站收到对节点e的不信任投票超过阈值d时,则向网络广播发送密钥回收消息(SKe,PKe);
(2)网络中节点在收到回收消息(SKe,PKe)后,查找自己是否与不信任节点e是邻居节点,如果不是邻居节点则直接丢弃该消息,如果是邻近节点则今后不再接收节点e的消息,等到证书过期后,则邻居节点之间的对密钥自动撤销。
2 实验仿真与性能分析
实验仿真工具采用伯克利大学研制的MICA2mote,使用的是8位ATmega128L处理器,4 KB的SRAM以及128 KB的ROM,MAC层协议采用802.11标准协议,路由协议采用DSR协议,传感器节点数目为500,有且仅有1个基站。主要从安全性、存储开销、能耗和可扩展性四个方面分别与E&G方案、IBC方案和基于ECC方案三种经典密钥管理方案进行分析比较,以验证所给KMCC方案的优越性。
2.1 安全性分析
KMCC方案的安全是建立在圆锥曲线上离散对数问题难解性的基础之上的。在网络通信密钥建立过程中,攻击者无法获得圆锥曲线密码标量乘算法的初始密钥k,而如果通过截获网络通信密钥协商消息来推导出初始密钥是困难的。当有新节点加入网络时,由于该节点没有初始密钥,其现在的密钥分配的密钥无法解密之前的报文消息,因而能够保证网络的后向安全性;假如攻击者捕获了网络中的一个节点,由于邻居节点之间的对密钥只涉及邻居节点本身,与其余节点无关,为避免攻击者通过恢复被捕获节点初始密钥获取通信报文消息,可以通过密钥更新方法来更新密钥,从而使得老的对密钥不能解密以后的报文或生成冒充的加密报文,从而有效防止外部恶意节点或被捕获节点的攻击,保证网络的前向安全性。攻击者即使捕获控制了网络一个节点,也不可能获取其余节点的密钥信息和其他相关信息,并且可以通过其余节点的不信任投票来删除该节点,所以可以减少安全威胁影响整个网络,所以KMCC方案具有较高的抗毁性。
由于攻击者总是试图在无线传感器网络中通过捕获控制传感器节点来获得其余节点密钥信息,所以节点捕获对于无线传感器网络是一种需要非常重视的安全威胁。E&G方案由于节点需要存储密钥个数较多,如果其中一个节点被捕获,则极有可能造成多个节点的密钥信息泄露,网络的抗毁性较差,其节点的密钥被捕获概率为1-(1-a/P)n [5]。IBC方案、基于ECC方案以及所给KMCC方案由于只存储邻近节点密钥信息,所以单个节点被捕获不会扩散整个网络,IBC方案的节点密钥被捕获的概率为,基于ECC方案的节点密钥被捕获的概率为,所给KMCC方案的节点密钥被捕获概率为。其中,a表示密钥环大小,P表示密钥池大小,n表示被捕获的节点个数,m表示网络节点数目,e1表示基于ECC方案的密钥回收成功概率,e2表示KMCC方案的密钥回收成功概率。其中,节点数m=500。假定令a=300,P=1 000,n=200,e1=0.27,e2=0.35,则KMCC方案与E&G方案、IBC方案和基于ECC方案的密钥抵抗被捕获能力的比较分析如图1所示。
2.2 能耗分析
由于无线传感器网络节点的能量有限,所以密钥管理方案应尽可能节约能量消耗,密钥管理方案的能耗主要包括运算能耗和通信能耗。在无线传感器网络中,节点传输信息所需的通信能耗比执行计算时的运算能耗大得多,一般认为传输1 bit信息100 m所需能量大约可以执行3 000条指令。对于E&G方案,密钥分配建立阶段需需执行单向散列函数运算和XOR运算,同时需要进行节点间的通信,当密钥环超过阈值时,通信能耗将会大幅增加,当有新节点加入或更新密钥时,需要重新执行密钥分配过程,能耗几乎相同。对于IBC方案,需要执行单向散列函数运算、XOR运算和公钥运算,当需要更新密钥时,只需在邻居节点之间进行计算能量和通信能量消耗。对于基于ECC方案,需要执行单向散列函数运算、椭圆曲线密码标量乘运算和椭圆曲线点加运算,对密钥只存在于邻居节点之间,所以只需考虑邻居节点之间的计算和通信能量消耗。对于KMCC方案,需要执行单向散列函数运算、圆锥曲线密码标量乘运算和圆锥曲线点加运算,对密钥只存在于邻居节点之间,所以只需考虑邻居节点之间的计算和通信能量消耗,但是圆锥曲线密码标量乘运算和圆锥曲线点加运算优于椭圆曲线密码标量乘运算和椭圆曲线点加运算,所以KMCC方案比ECC方案所需能耗更少。其中,假定网络中每个节点的初始能量为0.5 J。图2给出了随网络规模变化KMCC方案与经典密钥管理方案的能耗分析比较。
2.3 存储开销分析
假定节点之间通信密钥的长度是相等的,令存储参数的开销为Sc,存储单个密钥的开销为Sk,h表示平均邻居节点的个数,有。对于E&G方案,只需要存储节点的通信密钥,所以其存储开销只与网络规模的大小有关,则其单个节点的存储开销为m(lnm+9.21)Sk/h[8]。对于IBC方案,需要存储邻居节点的通信密钥,还需存储系统参数、系统公钥、节点公私钥对以及身份标识,所以其存储开销与对网络规模大小和参数个数有关,则其单个节点的存储开销为Sc+(h+4)Sk[9]。对于基于ECC方案,需要存储邻居节点之间的通信密钥,还需要存储公共参数、节点公私钥对以及节点认证密钥,所以其存储开销与对网络规模大小和参数个数有关,则其单个节点的存储开销为Sc+(h+3)Sk[10]。对于所给KMCC方案,需要存储邻居节点之间的通信密钥,还需要存储节点公私钥对和节点认证密钥,所以其存储开销与对网络规模大小和参数个数有关,则其单个节点的存储开销为Sc+(h+2)Sk。而且由于IBC方案和基于ECC方案以及所给KMCC方案都是存储邻居节点之间的密钥信息,所以网络规模的增加节点的存储开销变化不大。则KMCC方案与E&G方案、IBC方案和基于ECC方案的存储开销比较如图3所示。
3 结束语
密钥管理是无线传感器网络其他安全机制的基础,也是无线传感器网络的研究热点。通过将圆锥曲线密码应用到无线传感器网络的密钥管理中,给出了一种有效的KMCC密钥管理方案。由于通信密钥的生成算法是基于圆锥曲线上离散对数问题的难解性之上的,可以有效防止外来节点的攻击,同时新节点加入的密钥生成以及密钥更新与回收采用的是圆锥曲线密码,可以有效提高密钥安全性以防止内部恶意节点的攻击。并且所给KMCC方案的密钥建立、更新、回收、节点对密钥生成以及新节点密钥建立都是发生在邻居节点之间的通信,不需要进行集中管理,所以具有良好的动态扩展性。通过与经典密钥管理方案相比,所给方案在安全性、能量消耗和存储开销方面都具有较好的优越性,因此所给方案具有较好的可行性,适用于动态无线传感器网络并且可以有效保证网络性能。
参考文献
[1] FARRUH I,AMIR S M,SUNG W K.Energy consumption balancing(Ecb) issues and mechanisms in wireless sensor networks(WSNs):a comprehensive overview[J].Euro.Transac-tions on Telecommunications,2011,22(4):151-167.
[2] LEVI A,TASCI S E.Simple,extensible and flexible random key predistribution schemes for wireless sensor networks using reusable key pools[J].Journal of Intelligent Manufac-turing,2010,21(5):635-645.
[3] 郭萍,张宏,傅德胜,等.一种混合轻量型无线传感器网络公钥密码方案[J].计算机科学,2012,39(1):69-72.
[4] 刘铎.有限域GF(pm)上圆锥曲线标量乘快速算法[J].北京交通大学学报,2013,37(5):132-137.
[5] ECHENAUER L,GLIGOR V D.A key management schemefor distributed sensor network[C].Proc.of the 9th ACM .on Computer and Communications Security,2002:41-47.
[6] ZHANG Y C,LIU W,LOU W J,et al.Location based compromise- tolerant security mechanisms for wireless sensor networks[C].IEEE Journal on Selected Areas in Communications,2006,24(2):247-260.
[7] 蹇波,郭永辉,罗长远,等.基于ECC的无线传感器网络密钥管理协议[J].计算机工程,2010,36(3):142-144.
[8] 罗文俊,付海洋.一种基于椭圆曲线的WSN密钥管理方案[J].计算机工程与应用,2013,49(19):88-91.
[9] 刘涛,熊焰,黄文超,等.基于信誉模型的WSN密钥管理方案[J].计算机工程,2013,39(11):123-126.
[10] 王亮,王伟欣,张林.一种新的传感器网络的密钥协商算法[J].传感器与微系统,2013,32(7):129-131.