开篇:润墨网以专业的文秘视角,为您筛选了一篇基于椭圆曲线完全自组织Ad hoc网络密钥管理方案范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要:该文针对目前Ad hoc网络密钥管理方案存在计算量大,可信中心难以确定以及密钥更新周期大小难以确定的问题,提出一种基于ECC完全自组织ad hoc密钥管理方案。该方案为解决计算量大而采用EEC代替RSA, 以完全自组织方式解决可信中心的瓶颈,通过使用双重密钥更新机制克服定期更新大小难以确定等问题。本方案具有计算代价小,安全可靠,扩展性好等优点,适合大规模Ad hoc网络。
关键词:Ad hoc网络;椭圆曲线;密钥管理;自组织;密钥更新
中图分类号:TP309文献标识码:A文章编号:1009-3044(2010)11-2598-03
Ad hoc Networks Key Management Scheme Based on Elliptic Curve Completely Self-Organization
SHEN Wu,WANG Tian-qin
(College of Computer and Information Engineering, Henan University, Kaifeng 475004, China)
Abstract: According to the current key management scheme exist large computation,trusted centre and key update cycle size is difficult to determine problems,we proposed a scheme that based on ECC fully self-organization Ad hoc key management in this paper.The sckeme use ECC instead of RSA for large computation;in order to solve trusted centre,we use fully self-organization ; By using a double key update to overcome the regular updating cycle size problem. Computational cost of this program has a small compuation safe ,reliabilityand good scalability for large-scale Ad hoc network.
Key words: Ad hoc network; elliptic curve; key management; Self-organization; key renewing
根据文献[1]的定义,无线Ad hoc网络是由一组自主无线节点或终端相互合作而形成 ,独立于固定基础设施的自创造、自组织和自管理网络。传统网络的密钥管理方案一般都采用RSA公钥算法门限方案[2-3],基于可信中心的方案[4],而这些方案不能简单的移植到移动Ad hoc网络中来,因移动Ad hoc网络固有的特性,如计算能力小,拓扑动态变化,所以在这样的环境中找到可信的CA是较困难的,再者如果能找到,CA将成为整过系统的瓶颈,如果CA的私钥被攻破,那么整过网络将瘫痪。另外,目前提出的Ad hoc密钥更新方案多数是基于RSA的定期更新方案[5],在这样的方案中更新周期很难确定,周期过大,系统的安全容易遭到攻击,周期太小,因频繁的更新密钥,系统的效率将大大降低。
本文针对上面的问题提出一种高效的基于ECC的自组织的密钥管理方案。本方案在与RSA同等安全条件下,具有密钥长度短,计算代价小等特点;网络中的系统密钥有各个结点协同完成,通过门限机制组合成系统密钥;同时在定期更新的基础上引入密钥及时更新机制,从而很好实现了更细周期难以确定的问题。
1 有限域上椭圆曲线密码体制
要建立基于椭圆曲线的密码体制,需要类似与因子分解两个素数之积和求离散对数的难题。考虑方程Q=kP,其中Q,P∈EP (a,b)且k
对于ZP上的素曲线,我们使用三次方程,其中变量和系数在集合x0,1,…,p-1y中取值,运算为模p运算。
y2mod p=(x2+ax+b)mod p
可以证明,若(x3+ax+b)mod p无重复因子,则基于集合EP(a,b)可以定义一个有限Abel群。这等价于下列条件:
(4a3+27b2)mod p≠0 mod p
为了确保各种椭圆曲线密码的安全性,需要知道定义在椭圆曲线上的有限abel群中点个数。在有限群EP( ,b)中,点的个数N范围为:
因而,EP( ,b)上点的个数约等于ZP中元素的个数,即p个元素。
2 方案的实现
2.1 系统参数的安全选取
假定V是由n个节点成员组成的集合:记为V={V1, V2,…, Vn},系统的公共参数由每个成员共同协商确定,记为:(p,q,t,E,A,B, H,{ID1,ID2,…,IDn}),其中:p,q为大素数;t为系统的门限值;E为ZP上的椭圆曲线;A,B为E上阶均为q两个基点;H是公开的单向Hash函数,IDi为Vi的身份标识,其中i∈(1,2,…,n)。
2.2 系统初始化
第一步:
为了网络中节点在后续阶段能进行有效通信协商组密钥,网络中每个节点需在t0产生自己的公私钥对,节点Vi∈V,随机选择初始私钥xi0∈Zq,利用椭圆曲线计算Vi公钥yi0= xi0・B mod p,其中(xi0,yi0)是以上定义的椭圆曲线上的点,并广播yi0;
当每个节点收到其它节点广播的公钥时,在确保不同的节点产生不同的公钥,否则其中一个节点重新选择自己的私钥,并计算yj0,i0=xi0・yi0=xi0・xj0・B mod p,并广播yj0,i0。
第二步:每个节点Vi∈V随机选择子密钥份额ai0∈Zq,定义组私钥为:,组公钥为:Y=X・B mod p。
第三步:每个节点Vi∈V随机选择系数ai0,r∈Zq,其中r∈(1,2,…,k-1)构造k-1次多项式:
初始验证参数的计算:
初始秘密份额的的计算:
pi0,j=fi0(IDj) mod q,其中j∈(1,2,…,n),
用Vj在t=0时刻的公钥加密密钥份额pi0,j,即:秘密份额加密li0,j=ENCj0(Pi0,j)
用节点Vi在t=0时的私钥xi0对信息的签名:
(1)
广播式(1)和,保密信息Pi0,j
第四步:每个节点在接收到n-1个加密信息(li0,j=ENCj0(Pi0,j))后
用xi0解密信息得到li0,j=ENCj0(Pi0,j)。为了验证Vj给Vi的秘密份额的正确性,可以通过下式验证:
(2)
(如果通过,证明是正确的,否则Vj欺骗Vi并广播pi0,j失败),计算,子组公钥为:Yi0=pi0・B mod p并广播子组公钥Yi0,保存ui0。
通过以上四步就完成了系统中每个节点的初始化工作,以便在后续进行子密钥的更新和组密钥的生成工作。
3 子密钥份额的双重更新
子密钥份额的双重更新机制是为了防止一些攻击者在定期子密钥份额更新周期内攻破系统的组密钥或有泄露子密钥份额而设置的。其中对定期更新或及时新在确保组密钥不变的前提下对节点成员密钥份额进行更新。对于及时跟新,假定系统中每个节点成员都采用了一些机制来监控子密钥份额是否有泄露。
3.1 子密钥份额定期更新
第一步:定期更新初始化
网络中每个节点成员Vi∈V随机选择多项式系数ait,r∈Zq,其中r∈(1,2,…,k-1),构造k-1次多项式:
并计算更新验证参数:
δit,r=αit,r・B mod p
同时计算更新子密钥份额:
ψit,r=Hit(IDj) mod p,其中j∈(1,2…,n) (3)
然后用成员节点Vj∈V的上一个周期的公钥yjt-1加密信息得:ζit,j=ENCjt-1(ψit,j)。
用节点成员Vi的上一个周期的私钥xit-1信息签名得:
并广播式3和下面式4:
(4)
保存更新子密钥份额ψit,j。
第二步:验证阶段
每个网络成员节点Vi接收到n-1个ζit,j,用xit-1解密的得到上一个周期的秘密份额:ψit,i,然后通过下式(5)进行验证:
(5)
如果上式通过验证,则证明ψjt,i是正确的,然后计算节点成员Vi更新密钥份额:
如果上式通不过验证,则证明ψjt,i是不正确的,然后节成员Vi想网络中广播ψjt,i更新失败。
第三步:更新阶段
网络中节点成员Vi需把原来的多项式更新为新的多项式:如下式(6)所示:
(6)
计算更新后的验证参数不向网络中广播:如下式(7)所示:
(7)
计算成员节点Vi更新后的子组私钥:
,计算并广播子组公钥份额:
,并向网络中广播子组公钥份额。销毁上一个周期的子组公钥Yit-1。
网络中每个成员节点随机选择τit∈Zq,更新周期t的节点成员私钥:
xit=xit-1+τit・γit(mod q),并销毁上一个周期的私钥xit-1,然后向网络中广播更新公钥:yit=yit-1+τit-1・Yit(mod p),并保存网络所有其它节点成员公钥{yjt}∈(1,2,…,n)。
3.2 子密钥份额及时更新
对于子密钥份额的及时更新,和上面子密钥定时更新所基于原理基本相同,下面简要进行概述。
情况一:网络在执行第N次子密钥更新前,如果在监控m时间内,没有发现某些节点有泄露或泄露嫌疑的子密钥的情况下时,不对密钥进行任何更新工作。
情况二:若在执行第N次子密钥更新前,在监控m时间内发现存在某些节点有泄露或泄露嫌疑的子密钥的情况下,再判断子密钥泄露的数量。如果不大于门限值t,暂时不进行密钥跟新工作,若大于门限值,立即进行密钥更新工作。
4 方案的性能分析
4.1 安全性分析
4.1.1 被动攻击分析和主动攻击分析:
本方案的安全性是基于椭圆曲线离散对数的难解性的,任何攻击者从广播的信息中无法获得系统私钥信息;被动攻击者从初始验证参数βi,0=ai,1・A mod p得到βi,0是不可能的,因此,任何节点无法得到系统私钥;在系统公钥的生成过程中,任何从诚实成员的子系统公钥都没法到子系统私钥,从而无法求出系统私钥来;被动攻击者无法从公钥Y=X・B mod p中求出系统私钥。
任何主动攻击者要想获得满足的,根据上面的知识可求出ζ'it,改变子系统公钥Yit'=pit'・B mod p,最后篡改系统公钥。然而,根据杂凑函数的性质,要想获得有效的ζit’是不可能的,所以主动攻击者无法篡改公钥;主动攻击者由γit、Фit和Hit求出Yit'≠Yit来满足,根据杂凑函数的性质也是不可能的,所以主动攻者击最终也无法篡改系统公钥。
4.1.2 效率分析
通过上面的安全性分析可知我们的方案具有较好的安全性能。本方案为了安全需要,在协商系统子密钥份额时,节点的私钥和公钥由节点自己产生和计算,通信量虽然有所增加,但这是必不可少的。因为在不存在任何信任关系的的移动Ad hoc网络中,利用基于各个参与者都是诚实可信的假设的密钥共享是不可靠的。所以本方案采用了可验证的秘密共享代替基本门限方案,实际上每个节点只不过增加了验证时的计算开销。另外,为了防止系统私钥的泄露问题,本方案采用了双重更新机制,由此每个节点多增加一轮的计算和通信量。其它方案中由可信中心CA或基于身份方案中TA为新节点分配密钥份额虽然简单,但响应节点将泄露自己的密钥份额,且请求方对接收到的密钥份额并没有要求验证,所以在移动Ad hoc网络中其实是不实用的也不现实。我们的方案可根据网络的具体分布和大小等因素来选择适当的更新周期t,加入及时更新有效解决了更新周期过大易带来安全隐患,过小造成系统效率下降的问题,以达到最好的效果。
5 总结
本文通过对目前的Ad hoc网络密钥管理方案的分析,发现其存在的问题有,计算代价大,存在可信中心瓶颈,密钥更新周期难以确定等问题,本方案提出了一种高效的Ad hoc网络密钥管理方案,该案具有计算代价小,网络节点通过自组织方式协商系统密钥,有效地防止了可信中心被攻击的危险。通过引入密钥及时更新有效提高了系统使用单一的密钥定期更新的效率问题,适合大规模Ad doc网络使用。
参考文献:
[1] Perkins C E.Ad Hoc Networking[M].Addison Wesley Professional,2000.
[2] Lehane B,DoyleL,O_Mahony D.Shared RSA key generation in a mobile ad hoc network[C].Proceedings of IEEE Military Communications Conference (MILCOM2003),2003.
[3] Ertaul L,Chavan N.Security of Ad Hoc Networks and Threshold Cryptography[Z].Wirelesscom,2005.
[4] Wu B,Wu J,FernandezE,et al.Secure and Ef?cient Key Management in Mobile Ad Hoc Networks[C].Proc. of 19th IEEE International Parallel & Distributed Processing Symposium,2005.
[5].徐春香,魏仕民,肖国镇.定期更新防欺诈的秘密共享方案[J].计算机学报,2002,25(6):657-660.