张启坤 甘 勇 王锐芳 郑家民 谭毓安
1(郑州轻工业学院计算机与通信工程学院 郑州 450002) 2(北京理工大学计算机学院 北京 100081)
传感器网络中节点共同收集信息、协同处理数据是传感器网络群组通信的应用体现,如何保障传感器网络群组通信的安全是当前研究的一个重要问题.群组密钥协商是为群组成员之间建立一条安全的通信信道.多年来无线传感器网络密钥协商机制一直是传感网络安全研究的重点技术,典型的研究有潘耘等人[1]融合了基于CA 的公钥认证框架和基于身份的公钥认证框架二者的优点,提出了适合于无线传感器网络环境的轻量级的、高效的密钥预分配方案;夏戈明等人[2]提出基于对称平衡不完全区组设计的密钥预分配方案,安全强度有所提高,并在能量消耗方面进行了优化;黄海平等人[3]提出基于逻辑网格的密钥预分配方案,传感器节点间通过求解网格矩阵系数,计算共同的密钥参数,进而实现共享对称加密密钥;Walid等人[4]提出一个高度可扩展性密钥预分配方案,有效地提高了共享密钥节点的连通性,提高节点存储共享密钥的性能;Monjul等人[5]通过扩展图论的方法设计一个密钥预分配方案,密钥预分配方案有其固有的缺陷.
传感器节点之间通过在线计算生成它们之间的共享密钥,是传感网密钥协商的另一种可行技术.近年来典型的方案有Tseng 等人[6]提出一种非平衡环境下群组密钥协商协议,但其不具有可认证性和动态性;张启坤等人[7]对Tseng等人[6]的群组密钥协商协议进行了改进,提出一种新的动态可认证群组密钥协商协议,具有可认证性和动态性;Cheng等人[8]采用双线映射技术对Tseng 等人[6]的协议进行改进,使之能够抵抗密钥临时泄露攻击;张启坤等人[9-10]采用组合密钥技术实现密钥协商,但其容易遭受密钥信息共谋攻击;Teng等人[11]提出无线网络环境下可认证的群组密钥协商协议,协议具有动态灵活性,能抵御积极攻击;Thomas等人[12]提出无线传感网络中一种节约资源的群组密钥协商,其主要是针对特定的无线网络环境下在计算量尽可能少、信息传播轮数尽可能少的节能性群组密钥协商;Walid等人[13]提出无线传感网络中一种可扩展的密钥管理机制,该方案针对传感器存储资源受限及传感网节点易变性提出的密钥管理机制,适用于传感网特定的应用环境.
非对称群组密钥协商的主要特点是群组成员协商一对公/私密钥对,分别用于群组交换信息的加密与解密.伍前红等人[14]在2009年EUROCRYPT 会议上提出非对称群组密钥协商(asymmetric group key agreement, AGKA)协议,由于群组加密密钥和解密密钥不相同,加密密钥可以对外公开,这使得消息发送者不局限于群组内部人员,该方案具有较高的安全性,但在效率方面没有优势,该方案只适用于静态群组;2011年伍前红等人[15]对其EUROCRYPT 会议提出的AGKA进行了扩展与改进,使其具有动态性,增强了方案的灵活性和实用性;张磊等人[16-17]提出可认证的非对称群组密钥协商,提高了非对称群组密钥协商的安全性;Zhao等人[18]提出一种应用于ad hoc 网络的动态ASGKA,该方案的群组间认证采用多方签名技术来实现,增加了较大的计算量.在移动设备资源受限的环境下,该方案有待于进一步简化计算量与通信量;徐畅等人[19]提出具有隐藏特性的可认证非对称群组密钥协商协议,对参与群组密钥协商的成员隐私信息具有一定的保护能力;Lü等人[20]提出基于无证书密码系统的可认证非对称群组密钥协商方案,避免了基于身份密码系统中密钥托管问题,在Diffie-Hellman困难假设下可证明安全的;2014年张启坤等人[21]利用短签名技术实现动态可认证非对称群组密钥协商,进一步提高了群组密钥协商的安全性及效率,但群组密钥协商的计算量及通信消耗比较大,不适用于移动网络环境中.
综上分析,无线传感网中基于预置的密钥分配方案,由于传感器节点存储能力的限制,使其在大规模的无线网络中的应用受到限制;基于在线计算的对称群组密钥协商,其安全度不高,且灵活性较差,不适用于网络易受攻击及节点易被捕获的传感网络;当前非对称群组密钥协商,其计算量及通信量较大,有待进一步优化以适用节点资源受限的无线传感网.
本文提出可认证非对称群组密钥协商具有3项优势:
1) 可跨簇性.参与群组密钥协商的传感器节点可分布在不同的簇,在传感器节点通信能力受限的情况下通过桥接技术实现跨簇非对称群组密钥协商,完成传感器节点远距离信息安全交换与信息安全传输;
2) 轻量级计算.由于非对称群组密钥涉及的通信与计算较对称群组密钥协商要大,通过不对等计算技术,将传感器节点的计算与通信负载迁移簇头节点来完成,弥补传感器节点资源受限的限制问题,达到非对称群组密钥协商的性能,具有对称群组密钥协商的轻量级计算和非对称群组密钥协商的安全性及灵活性;
3) 群组密钥自证实性.群组成员计算完群组密钥后,不需要经过额外的通信广播轮数,只需通过简单函数映射关系,自己能够验证其所计算的群组密钥的正确性.
首先给出双线性映射的定义[15-16],假设G1为加法群,G2为乘法循环群,其具有共同的大素数阶q,q≥2k+1,k是安全参数,且G1和G2上的离散对数是困难的.群G1和G2是一对双线性群,设G1=g1,e是可高效计算的双线性映射,e:G1×G1→G2,有关双线性映射性质如下[17,19-20]:
性质1. 双线性.对所有的g1,g2∈G1,及a,b∈有e(ag1,bg2)=e(g1,g2)ab.
性质2. 非退化性.即e(g1,g2)≠1.
性质3. 可高效计算性.存在有效的算法,对于g1,g2∈G1可高效计算e(g1,g2).
假设2. DCDH(divisible computational Diffie-Hellman)问题[17,19-20].假设一个三元组(g1,ag1,bg1)∈G1,对于未知数a,b∈计算(ab)g1是困难的.
1.2.1 安全模型与安全假设
本节参考了文献[18,21],在其基础上给出了非对称群组密钥协商协议参与者安全模型属性,然后给出安全模型的形式化定义及要实现的安全目标.
1) 安全模型属性及相关符号
假设U是参与密钥协商协议的传感器节点组成的集合,该集合的大小为多项式有界,U中每个传感器节点都有自己的身份信息及对应的公私密钥对,U的任意子集Usub={u1,u2,…,un}中的节点可以随时执行密钥协商协议Π,用表示节点ui与其伙伴节点{u1,u2,…,ui-1,ui+1,…,un}执行非对称密钥协商的第π个实例,π∈每个参与节点实例拥有多个属性,定义如下:
2) 他们成功的完成群组会话密钥协商;
1.2.2 敌手模型
本文所设计的跨簇非对称密钥协商协议方案中,参与群组密钥协商的传感器节点所计算的公开群组密钥是群组加密密钥,而群组解密密钥是由各不相同的传感器节点自身的密钥参数计算的.本文把保密性定义为任意概率多项式时间的敌手区分用群组加密密钥加密的2个等长消息的优势是可忽略的.通过一个挑战者C与一个敌手A之间的游戏规则来定义该群组密钥协商协议的安全性,安全模型中包括一个主动攻击者和一个协议参与者集合,每个参与者被模拟成一个随机预言机,该游戏分为3个步骤:
1) 初始化阶段.该阶段挑战者C运行系统函数Setup()(是一个安全参数),输出相关的系统参数及主密钥.然后将系统参数发给敌手A,并保留主密钥.
2) 训练阶段.敌手A通过以下询问与挑战者C进行交互:
3) 输出.游戏结束后,敌手A输出一个对比特b的猜测值(记为b′).若b′=b,则称敌手A赢得了此游戏.定义敌手A成功赢得游戏的概率为AdvA()=|2Pr[b′=b]-1|(为安全参数).
3) 未对参与实体集合Pj做过Corrupt查询.
定义3. 安全性.称该非对称群组密钥协商协议具有 适应性选择挑战ID和选择明文攻击下的语义不可区分性(indistinguishability against identity-based chosen plaintext attack, IND-ID-CPA),如果没有概率多项式时间(probabilistic polynomial time, PPT)内敌手A以不可忽略的优势赢得以上游戏,或者任意概率多项式时间IND-ID-CPA敌手A赢得该游戏的优势AdvA()=|2Pr[b′=b]-1|可以忽略.
在无线传感网中簇间非对称群组密钥协商协议分为2个部分:1)簇头之间的联盟密钥建立;2)簇间传感器节点非对称群组密钥协商协议.
假设G1和G2分别是具有相同大素数阶q的加法群和乘法群,q≥2+1,是安全参数,且G1和G2上的离散对数是困难的,设G1=g1.e是可高效计算的双线性映射,e:G1×G1→G2,H1,H2:G2→为2个散列函数.系统的参数为params=(q,G1,G2,g1,e,H1,H2).
设N个簇的簇头集合为φ={U1,U2,…,UN},任意簇头Ui(1≤i≤N)随机选择SKi∈并计算PKi=SKig1,则Ui(1≤i≤N)的公私密钥对为(PKi,SKi),SKi由簇头秘密保存,PKi广播出去并对外公开.
将N个簇的簇头Ui(1≤i≤N)作为三叉树的叶子节点,构建一个完全三叉树,如图1所示.其中Th,l表示非叶子节点,h为分枝节点Th,l在树中的高度(层数),l为该分枝节点Th,l在h层中的第l个节点,且
Fig. 1 The logical structure of key agreement for cluster heads图1 簇头联盟密钥建立的逻辑结构
为简述方便,以9个簇头的传感网为例,由9个簇头组建的三叉树分3层,假设簇头分别为U0,U1,U2,U3,U4,U5,U6,U7,U8其对应的公私密钥对分别为(SK0,PK0),(SK1,PK1),(SK2,PK2),(SK3,PK3),(SK4,PK4),(SK5,PK5),(SK6,PK6),(SK7,PK7),(SK8,PK8),则簇头间联盟密钥生成过程如下:
1)U0,U1,U2通过各自自己的私钥和其兄弟节点的公钥可计算出其父节点T1,0的私钥TX1,0.如U0计算TX1,0=H1(e(PK1,PK2)SK0)=H1(e(g1,g1)SK0SK1SK2)及对应公钥TY1,0=H1(e(g1,g1)SK0SK1SK2)g1,并广播TY1,0.U1计算TX1,0=H1(e(PK0,PK2)SK1)=H1(e(g1,g1)SK1SK0SK2);U2计算TX1,0=H1(e(PK0,PK1)SK2)=H1(e(g1,g1)SK2SK0SK1).
2) 同理,U3,U4,U5各自计算出其父节点私钥TX1,1=H1(e(PK4,PK5)SK3)=H1(e(PK3,PK5)SK4)=H1(e(PK3,PK4)SK5)=H1(e(g1,g1)SK3SK4SK5),U3计算对应的公钥TY1,1=TX1,1g1,并广播出去.
3) 同理,U6,U7,U8,U5各自计算出其父节点私钥TX1,2=H1(e(PK7,PK8)SK6)=H1(e(PK6,PK8)SK7)=H1(e(PK6,PK7)SK8)=H1(e(g1,g1)SK6SK7SK8),U6计算对应的公钥TY1,2=TX1,2g1,并广播出去.
4) 所有叶子节点收到U0,U3和U6的广播后,可计算出根节点T0,0的私钥
TX0,0=H1(e(TY1,1,TY1,2)H1(e(g1,g1)SK2SK0SK1))=
H1(e(TY1,0,TY1,2)H1(e(g1,g1)SK3SK4SK5))=
H1(e(TY1,0,TY1,1)H1(e(g1,g1)SK6SK7SK8)),
则传感器网络中每个簇头可协商出一个共同的联盟密钥TX0,0.
本节提出一种轻量级的关于无线传感器节点之间的跨簇可认证的非对称群组密钥协商协议,以一个簇的传感器节点的群组密钥协商为例,有2种假设需要考虑:
1) 每个簇有一个簇头和n个传感器节点组成.簇头Ui内的低能量节点集合表示为u={ui,1,ui,2,…,ui,n},其对应的身份集合表示为I={idui,1,idui,2,…,idui,n},任意节点ui,j(1≤j 2) 每个节点在执行协议之前都能知道其他成员的身份信息. 定义4. 非对称群组密钥协商(asymmetric group key agreement, AGKA)[21].一个群组密钥协商Σ是非对称的,如果该协议成功终止,有等式ekui,t=ekui,k,ekui,t≠dkui,t或ekui,t=ekuj,k,ekuj,k≠dkuj,k,其中ekui,tdkui,t,ekuj,kdkuj,k分别是ui,t和ui,k及ui,t和uj,k分别是同簇和不同簇的2个不同的节点,其计算出的群组加密解密密钥(t,k,i,j∈+,1≤t≤n,1≤k≤n,t≠n,1≤i≤N,1≤j≤N,i≠j). 2.3.1 跨簇传感器节点间群组密钥计算 如果参与群组密钥协商的传感器节点分布在不同的簇,则跨簇群组密钥协商过程如下: 1) 每个传感器节点ui,t(1≤i≤N,1≤t≤n)随机选择2个数mi,t,qi,t∈然后计算Qi,t=qi,tg1,Ti,t=((mi,t+ski,t)qi,t)g1,Mi,t=mi,tPKi.并将(idui,t,Qi,t,Ti,t,Mi,t)发送给簇头Ui(注:(idui,t,Qi,t,Ti,t,Mi,t)提前存储在对应传感器内存卡上,以减少在线计算量,延长传感器使用寿命). 3) 各簇头Ui(1≤i≤N)之间,将各簇内参与群组密钥协商的传感器节点信息fi,t相互传递共享.为描述方便,假设有2个簇的传感器节点参与群组密钥协商,分别是以簇头Ui和簇头Uj为首的跨簇群组密钥协商.则Ui将其内部参与密钥协商的节点信息(fi,t,Qi,t,Ti,t,pki,t)(1≤t≤n)发送给Uj,Uj将其内部参与密钥协商的节点信息(fj,t,Qj,t,Tj,t,pkj,t)(1≤t≤n)发送给Ui. Fig. 2 Cross-cluster sensor node group key agreement图2 簇间传感器节点群组密钥协商 对任意明文信息m∈M*(M*:明文空间),任意成员ui,t拥有群组加密密钥ekui,t和群组解密密钥dkui,t作如下操作. 加密:消息发送者ui,t随机选择整数γi,t∈算δi,t=γi,tg1,ηi,t=m⊕H2(e(g1,(H2(Re(P,φi,t)-1)g1)γi,t).然后广播密文c=δi,t,ηi,t,簇间传感器节点的通信,可由簇头进行转发广播. 解密:当收到消息发送者广播的密文c=δi,t,ηi,t,群组内任意成员uj,t可用计算的群组私钥dkuj,t计算出明文m=ηi,t⊕H2(e(δi,t,H2(dkuj,t)g1)). 本节首先给出相关等式的正确性证明,其次对提出的协议进行安全性分析,最后给出协议的性能比较与分析. 定理1. 正确性.群组密钥协商阶段,如果参与群组密钥协商的任意传感器节点ui,t计算无误,则都可计算出一致的群组解密密钥dkui,t,即: 证明. 观察上述公式,群组解密密钥dkui,t是一个固定量,与具体成员自身的固定参数有关.只要每个成员计算无误,则群组解密密钥dkui,t是一个定值. 证毕. 定理2. 贡献性.该群组密钥协商是贡献性群组密钥协商. 证毕. 定理3. 一致性自证实.如果等式e(P,φi,t)dkui,t=R(1≤t≤n)成立,因为参数P和R是公开的,φi,t是通过公开参数fi,t和成员自身的保留参数简单计算的.因此,如果φi,t计算无误,则只要等式成立,簇内每个群组成员ui,t就可以验证群组解密密钥dkui,t计算的正确性. 所以,等式e(P,φi,t)dkui,t=R. 证毕. 证毕. 证明. 设挑战者C是一个挑战者,A是一个能破译该协议的敌手.给定C一个实例(G1,G2,q,g1,ag1,bg1,e,h,H1,H2),未知数a,b∈是公开的散列函数,H1和H2是C所控制的2个随机预言机.C利用A来求解DCDH问题.定义一个新的会话,他将有一个唯一的会话ID.挑战者C随机选择一个会话,该会话的ID用符号sidt表示.对应的模拟会话的ID用Csidt表示,则该会话被选中的概率设为Pr[Csidt=0]=σ,对应的Pr[Csidt=1]=1-σ.同时该挑战者C记下二元组(sidt,Csidt). 1) 初始化阶段.游戏开始,C选择系统参数params=(G1,G2,q,g1,ag1,bg1,e,h,H1,H2),C将参数发送给敌手A. 2) 训练阶段.挑战者C与敌手A交互如下: ① C选择系统参数pC=bg1作为公钥返回给A,并保留参数b; ② A随机选择ai,ri∈并根据查询列表CL1获得的私钥计算并将发送给C; ② A随机选择ai,ri∈并根据查询列表CL1获得的私钥计算并将发送给C; 4) 返回c*=δ*,η*给A. 证毕. 引理1. 如果C没有终止上述模拟游戏,则敌手A无法区分模拟世界和真实世界环境. 证明. 在上述的模拟游戏中的所有输出都符合协议CL-AGKG的规则要求,同时实体输出的消息符合消息空间上的均匀分布.因此,敌手A无法觉察到模拟世界和真实世界的不一致性. 证毕. C成果的概率为 由于传感器节点资源受限,协议设计过程中除安全性外,协议的计算量、通信量及能量消耗是衡量协议性能的重要指标.本文就近年来可以进行量化计算的文献进行对比分析.这些协议都适用于无线传器网络,具有可比性及代表性.依据这些协议所提供的数据,分别从计算与通信复杂度及协议消耗的总能量进行对比分析.表1列举了本文协议与这些具有可比性和代表性的4个群组密钥协商协议在计算复杂度及通信量方面进行比较分析. Table 1 Complexity Analysis of Authenticated Protocols表1 可认证协议的复杂度分析 从表1可以看出计算复杂度较小的是Tsai[23]及本文方案,其计算复杂度不随节点的数量变化而变化.Chen等人[24]及张磊等人[25]计算复杂度最高,通信复杂度Chen等人[24]最高. 从协议执行时间上看,我们通过文献[26]提供的数据进行分析,该文献通过PBC实验室提供的实验程序pbc-0.5.12版本,在硬件Intel®CoreTM2 Duo E8400 CPU(3.00 GHz),操作系统ubuntu-10.04上运行相关算法,结果显示在G1上的乘法平均运行时间为0.016 ms,在G1和G2上的指数平均运算时间分别是3.886 ms和0.489 ms,双线对的平均运行时间为4.354 ms.总结如表2所示: Table 2 Cost Time of Some Algorithms表2 运算消耗时间 无线传感器网络中根据以上计算复杂度和相关算法运行的时间分析,我们的方案和前期4种研究成果的时间消耗对比分析如图3所示. Fig. 3 The time cost of the five protocols图3 5种协议运行时间对比 从图3可以看出协议运行时间最长为张磊等人[25]提出的方案.其次是Chen等人[24]方案这2种方案的运行时间远远比其他3种方案消耗时间长.运行时间最短的是Lee等人[22]和本文提出的协议,这2种协议运行时间相当. 从协议的能量消耗上分析,本文把群组密钥协商所消耗的总能量简单地量化成群组成员在协商过程中的计算量消耗和通信量消耗的总和.不失一般性,根据文献[21]提供的资料,一个133 MHz“Strong ARM”微处理器执行一个模幂运算需要消耗9.1 mJ能量,执行一个纯标量乘法运算需要消耗8.8 mJ能量,执行一个Tate对运算需要消耗47 mJ能量.一个IEEE 802.11频谱24 WLAN卡发送1 b信息需要消耗0.66 μm能量,其接收1 b信息需要消耗0.31 μm能量,如表3所示: Table 3 Energy Costs for Computation and Communication表3 计算与通信能量消耗 假设群组密钥协商协议在有限域Fp上交换一个单位信息的信息长度为1 024 b.由于传统加密方法用1 024 b长度的密钥加密信息的安全度等同于椭圆曲线加密方法采用160 b长度的密钥加密的安全性.假设基于椭圆曲线加密方案的群组密钥协商协议的单个信息量为160 b.由于这5个有效的协议均为160 b的加密密钥.设每个信息量的大小为160 b,则这5个协议的计算消耗如图4所示: Fig. 4 Computation cost of the unauthenticated protocols图4 协议计算所消耗能量 Fig. 5 Communication cost of the unauthenticated protocols图5 协议通信所消耗能量 由图4可以看出,计算消耗能量最大的为张磊等人[25]提出的协议,计算消耗能量最低的为Tsai 等人[23]及本文提出的协议,两者的计算能量消耗线几乎重叠.Chen等人[24]和张磊等人[25]计算量消耗的原因是因为其计算量随着参与群组密钥协商的成员数量的增加而增加,且幂指数计算消耗能量较大. 通信能量消耗如图5所示,Lee等人[22],Tsai[23]与本文这3种方案的通信能量消耗相当,通信消耗曲线几乎重合,通信消耗较少,具有明显的优势.Chen等人[24]方案通信消耗较大. 总能量消耗分析如图6所示,Chen等人[24]及张磊等人[25]这2种方案的总能耗随着群组成员的规模增大上升较快,因此不适用于大规模的群组密钥协商协议.Tsai[23]及本文协议总能量消耗处于明显优势,该方案适用于大规模的大规模群组密钥协商协议,如网格计算及云计算等大型分布式协同计算.但本文方案与Tsai[23]具有较大性能的优势体现在,本文方案是可认证的非对称群组密钥协商,与对称群组密钥协商相比具有加大的灵活性和较高的安全性. Fig. 6 Total energy cost of the authenticated protocols图6 总能量消耗 分析了现有的群组密钥协商协议的方案,为适用新型网络应用需求,如移动云计算网络、无线传感器网络等,其网络终端易受攻击、网络节点资源受限、计算能力和通信范围有限等特性,提出跨簇非对称群组密钥协商协议,即传感器节点的信息交换采用非对称密码体制,具有更高的安全性和灵活性; 跨簇群组密钥协商使得通信范围有限的资源节点更容易扩展簇间协同计算的范围;采用了非对称计算,使得传感器节点承担轻量级的计算及通信量.经证明和分析验证了协议的安全性及能耗性能具有较好的优势.2.4 无线传感器节点间群组安全通信
3 安全性及性能分析
3.1 关键技术的正确性证明
3.2 安全性分析
3.3 性能分析
4 总 结