时间:2024-07-28
陈朝大,梁柱勋,郑士基
移动自组织网(MANET)是一种新型的无线通信方式,在没有任何基础设施的条件下,可以实现移动终端间的通信。移动自组织网具有如下特点:1)通信终端采用无线链路通信。2)移动终端的计算能力和能量有限。3)由于移动性,移动终端可以自由进出并且在网内移动,所以移动自组织网的拓扑结构变化频繁。
基于上述特点,传统的密钥管理方案不适合直接应用于移动自组织网中。原因是:1)传统的密钥管理方案一般需要一个安全可信的CA充当产生和分配密钥的中心。但在MANET中,很难找到这样一个计算能力强且安全的移动节点,一旦这个节点被捕获,整个自组织网将会被攻破。2)移动节点计算能力有限,需要采用较容易计算的加密算法。3)频繁的拓扑结构变化需要一个效率更高的密钥更新算法。
该方案由一处信任的第三方CA充当密钥的分配与保存中心。移动节点通过RSA各自产生公私密钥对。当两个移动节点之间需要通信时,就要请求CA颁发证书。通过可信的证书,通信对端就可以协商会话密钥,进行通信。这种方案易于管理密钥且功能完善,但缺点也很明显。一般的移动自组织网中很难找到这样的第三方可信CA或者这个移动自组织网要和有基础设施的主干网相连。由于采用了单个CA管理密钥,一旦这个CA不可用或被入侵,整个网络就面临瘫痪,鲁棒性较差。
分布式密钥管理方案主要基于门限密码理论。由于集中式密钥管理的单个CA容易成为网络的瓶颈,所以分布式密钥管理把单CA的责任分配到多个服务节点。根据服务节点的数目,分布式密钥管理方案可分为部分分布式和完全分布式密钥管理方案。本文下面着点综述当前一些代表性的分布式密钥管理方案。
该方案不需要公认的CA或服务节点颁发证书或提供信任机制,由节点自身发布和维护证书。节点自身保存了自己发布的证书和其它节点发布的证书。当两个结点需要通信时,搜索各自的证书库,寻找是否存在着一条证书链可实现双方通信认证。
Shamir[1]最早提出基于身份的密码(Identity-Based Cryptography,IBC)系统的概念,其基本思想是利用用户的名字、住址、电话号码等身份信息作为唯一标识一个用户的公钥。这样,每个用户在第一次进入网络时,就可以利用这个公钥,由密钥生成中心生成其对应的私钥。
然而,传统的IBC系统存在着两个缺点,使其不能直接应用于MANET中。其一,基于身份的密码系统中,每个用户的私钥完全由PGC(Private Key Generation Center)生成,PGC掌握了网络中所有用户的私钥。MANET中没有任何基础设施,难以找到一个安全的结点充当PGC。并且当PGC伪造用户时,也不会被发现。其二,PGC生成的用户私钥需要通过安全的信道返回给用户,这个安全的信道在拓扑结构频繁变化的MANET中不切实际。为此,Yang[2]等人提出了一种适合于 MANET的基于身份的分布式密钥管理方案UCKG。该方案的数学基础是基于椭圆曲线上的双线性映射。
首先,用户通过广播自己的ID,请求PGC生成的私钥成分QID:
然后,PGC通过公共信道把私钥成分返回给用户。用户利用椭圆曲线上的双线性映射验证私钥成分后,就可以通过下式生成自己的私钥:
其中,s是系统私钥,ID是用户标识,d是用户生成的随机数,h是Hash函数。
为实现部分分布式管理,UCKG利用(t,n)门限技术[3],把系统私钥分成t份,分配给系统中的t个服务节点。用户需要至少同t个服务节点进行交互,才能生成自己的私钥。
该密钥管理方案解决了用户私钥完全由PGC产生的问题并且不需要专用信道发送用户私钥,适合于应用在MANET中。
组合公钥(Combined Public Key,CPK)是南湖浩[4]提出的一种经典的密钥管理方案。这种方案的最大特点是由少量的种子矩阵,可以组合出大量的密钥。该方案非常适合应用于MANET中,因为MANET是一种结点资源受限的网络,结点一般缺乏足够的存储空间保存大量的密钥。
应用最为广泛的组合公钥是基于椭圆曲线的组合公钥。PSK和SSK分别表示公钥种子矩阵和私钥种子矩阵,这两个矩阵的大小相同并且元素一一对应。假设(xij,yij)和rij分别表示PSK和SSK中第i行第j列的元素,那么这两个元素之间满足:
其中G是椭圆曲线的基点。
DING[5]等人根据组合公钥,提出了基于椭圆曲线组合公钥(ECCPK)的3层密钥管理模型。该模型的顶层是系统公/私钥对,为结点提供密钥的生成服务。中间层是公/私钥种子矩阵,为节点提供密钥的分发服务。底层是节点的公/私钥对。该方法比其它模型具有更高的安全性和效率,适合于应用在MANET中。当两个节点需要通信时,只需利用对方的公开的身份标识从自带的PSK中取出对方的公钥并把数据加密后发送。接收方利用自身的私钥对数据解密,就可得到原数据信息。这一过程中并不需要向服务节点申请证书,所以这是一种无证书的密钥管理方案。
为了增强系统安全性,每个节点的私钥都需要定期更新。当私钥即将过期时,节点首先根据当前时间产生出一个临时标识IDtmp。然后利用临时标识和映射函数从PSK中取出新的节点公钥。为了获得私钥,节点需要向至少t个服务节点发送签过名的私钥更新请求。服务结点含有用系统公钥加密后的SSK和按照(t,n)门限拆分系统私钥d后的份额di,可以生成节点的部分私钥。当用户收到至少t个服务节点返回的部分私钥后,就可以计算出节点的新私钥。
完全分布式管理方案也基于门限理论,不同于部分分布式管理方案的是,它把系统的私钥通过秘密共享分发给网络中的所有节点。一个节点通过其邻居任意k个节点,获得密钥管理服务。
在有限域Fq上定义方程有如下形式:y2+axy+by=x3+cx2+dx+e,其中a,b,c,d,e为常系数。如果q=2m(m∈Zn)或q为素数,则在有限域上定义的方程为y2=x3+ax+b。ECDLP的难解性是指对于椭圆曲线上给定的离散点S和Q,难于找到整数K,使得KS=Q。将椭圆曲线应用于密码体制时,设S为私钥,Q为公钥,其安全性就表现为知道Q无法推导S。
系统的初始阶段由一个离线的第三方可信dealer为节点分配参数。dealer首先选取一条安全的椭圆曲线E,在E上选一基点G,然后随机选取S∈Zq,计算Q=SG。Q为系统的公钥,S为系统的私钥。之后dealer随机产生多项式:f(x)=S+a1x+a2x2+…+ak-1xk-1,节点Pi的秘密分量Si=f(xi)modq。参数E,G,n,Q是公开参数。dealer为节点分发完秘密分量后就不再参与系统的其它操作。
当新节点Pj加入系统是,它需要通过广播方式向系统请求参数。其邻居Pi收到广播信息后,就会验证其身份。如果验证成功,就会为Pj计算部分秘密共享Si'=SiLpi(pj)modq,这里
当Pj收到k个秘密共享时,就可以利用Lagrange插值公式重构出新节点的密钥分量。这样就通过了k个邻居节点,共同完成了虚拟的CA。
系统私钥需要定期更新,以防止入侵者捕获足够多的节点重构出私钥。在移动自组织网中,对系统私角钥S更新过程和初始化阶段一致,代价太高不现实。更可取的方法就是更新节点拥有的私钥分量。私钥更新采用Proactive策略,允许每个节点在私钥隐蔽的情况下从旧的私钥分量更新到新的私钥分量,更新后将旧分量删除并用新分量产生部分证书和签名。
秘密分量更新期间,完成如下几步:
(1)节点Pt在一跳范围内与k个邻居节点协作产生更新多项式fu(x)=S′+b1x+b2x2+...+bk-1xk-1,并重构系统私钥S′;
(2)节点Pt利用系统的公钥加密多项式参数为{E(b1),E(b2),...,E(bk-1)},同时用私钥签名该多项式,然后加密签名后的更新多项式。
(3)需要更新的节点,这里设为Pj,收到加密签名的多项式后,首先验证签名,保证更新过程是由合法节点发起的。然后,联合k个邻居节点重构系统私钥,解密更新多项式。
(4)计算Pj的更新私钥分量f(pj),最后将更新私钥分量与自己的原始分量相加得到新分量,Sj(new)=Sj+f(pj)。
混合式密钥管理方案是集合了基于门限机制管理方案和基于证书链的管理方案的优点而提出的。实际上,这种密钥管理方案可以是部分分布式的,也可以是属于完全分布式的。如果节点能够接收到t个或以上的服务节点返回的证书签名部分,就可以实现认证。这时方案属于部分分布式的,因为系统中的t个或以上的服务结点充当了一个CA的功能。然后,当网络存在分割或邻居服务节点数目不够t个时,就要利用证书表,从而通过证书链到实现认证。
系统的初始参数与一般的部分分布式密钥管理方案类似。系统有一个公私钥对,私钥根据秘密共享被分配到n个服务节点中。除此之外,每个节点还维护一张信任表。表中包括节点ID,节点公钥和信任值三个属性。每一表项表示当前节点对相应节点的信任程度。信任值可通过邻居节点或转发数据包得到。
图1 混合式密钥管理网络拓扑
如图1,节点s是请求服务节点,节点t是被认证节点,CAi、CAj和j是中间节点。中间节点返回t的公钥PKt和信任值为VCAi,t、VCAj,t和Vj,t的单条证书链的信任值为:
上式是单条的证书链路信任值,合并的信任值如下:
n表示链路的条数。
下面以节点s对节点t的认证为例,说明认证的过程:
1)节点s向节点t发送一个认证请求;
2)节点t收到认证请求后,如果t有合成的签名证书,返回该签名证书,否则就返回无;
3)节点s收到请求响应后,如果返回的是签名证书,则用系统公钥PK验证该签名证书,如果验证成功,认证过程成功返回;否则,认证失败,隔离节点t;如果无合成的签名证书返回,跳转到4;
4)节点s查找信任值表中节点CAi,发送信任值请求到节点CAi,CAi收到该请求后,如果存在VCAi,t,返回消息m={PKt,VCAi,t}SKCAt
5)节点s收到CAi返回消息m后,用CAi公钥解密消息m,根据(11)(12)计算信任值Vt;
6)如果Vt大于设定信任值p,则认证过程成功返回;否则,认证失败,隔离节点t。
虽然传统的密钥管理方案比较完善,但由于移动自组织网自身所具有的特性,决定了传统密钥管理方案不能直接应用在移动自组织网上。分布式密钥管理方案考虑了移动自组织网计算能力较低、存储空间较少和拓扑结构变化频繁的特点,能够很好地应用在移动自组织网中。当然,上述了几个方案也对移动自组织网提出了一定的要求,如需要一个初始化阶段的安全第三方认证中心。因此,上述方案也要求移动自组织网具有一定的基础设施,不达做到普遍通用性。
[1]杨福荣,刘昌进.基于UCKG的密钥管理策略[J].中国科学院研究生学报,2008,25(5):616-619.
[2]谭乐,李婧婧,龙冬阳.基于组合公钥的移动自组网密钥管理方案[J].计算机工程,2009,35(10):138-138.
[3]丁晓宇,刘建伟,邵定蓉,刘淳.基于CPK的高效移动Ad Hoc网络密钥管理方案[J].计算机应用,2008,28(8):1916-1919.
[4]张玉臣,王亚弟,马自堂.Ad Hoc网络环境下分布式密钥管理[J].武汉大学学报(理学版).2009,55(1):85-88.
[5]曾萍,陈瑞利,方勇.基于自认证公钥的全分布式移动Ad Hoc网络密钥管理方案[J].计算机应用研究,2008,25(6):1779-1782.
[6]李安怀,荆继武.一种分布式无线局域网接入系统[J].计算机工程与设计,2007,01:62-65.
[7]姚雪梅.移动Ad Hoc网络安全综述[J].中国科技信息,2008,8:73-75.
[8]张彬连,唐文胜,徐洪智.移动Ad Hoc网络的密钥管理方案综述与分析[J].计算机与现代化,2006,8:99-101.
[9]陈志云,朱近丹,王轶骏.移动Ad Hoc网络中的密钥管理[J].信息安全与通信保密,2009,2:70-73.
[10]王浩,谢颖,郑武.无线移动自组网混合式密钥管理方案研究[J].电子科技大学学报,2007,36(6):1164-1166.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!