移动Ad hoc网络密钥管理方案分析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

网络密钥管理方案分析王文婷,陆传赉北京邮电大学信息工程学院,北京(100876)E-mail:wwt0718@yahoo.com.cn摘要:移动adhoc网络是由移动节点自组织形成的网络,由于其动态拓扑、无线通信、分布式协作和受限能力等特点,容易遭受各种安全威胁。与传统的有线网络相比,移动adhoc网络更容易受到攻击。我们详细分析了AdHoc网络的特点和安全威胁,并主要研究了现有的密钥管理方案。本文还对各种方案进行了分析,指出其特点和优缺点。关键词:密钥管理;密钥协商;移动自组织网络中图分类号:TN929.51.引言移动自组织网络[1]具有资源有限、拓扑动态、路由多跳、低带宽等特性[2],使得它面临的网络安全威胁比传统无线网络更严峻[3],更容易遭受各种攻击[4]。而密钥管理用于解决密钥的产生、分配、存储、销毁等问题,是移动自组织网络安全技术的关键内容。2.密钥管理机制的三种方式从密钥生成方式分类,AdHoc网络的密钥管理机制主要有预共享密钥[5]、密钥协商[6]、密钥分发三种方式。预共享密钥就是在网络组建之前通过安全信道预先配置节点间共享密钥。密钥协商一般采用DH[7]密钥交换协议及其改进方案协商节点间共享密钥[8],AdHoc网络在这方面的研究主要集中在组密钥管理协议[9]。密钥分发一般是公钥密码系统中密钥产生过程的一个阶段。下面就这几种机制进行简单的介绍。2.1预共享密钥预共享密钥是一种静态密钥管理机制,主要有预置全局密钥、预置所有密钥对[10]、随机预共享密钥等形式。现将随机预置共享密钥的思想进行简单的介绍。随机预共享密钥方案中[11],每个进入AdHoc网络的节点都从密钥池P中随机的选取k个密钥;节点通过共享密钥发现机制建立邻居节点间的共享密钥;当网络组建结束,只有存在共享密钥的邻居节点才能进行通信,如果两个节点间未能建立共享密钥,将通过一个或者多个中介节点进行中转。但是随机预共享密钥机制要求节点间必须拥有共享密钥才能建立链路连接,这在一定程度上降低了节点间的连通概率。因此,随机预共享密钥机制只适合于对于随机拓扑结构能够保持连通的场合,如果节点分布稀疏或者密度不均匀,即使网络本身是连通的,那么随机密钥预分配也不能保证网络的连通性。文章[12]提出一种利用已知区域信息的密钥预分配方案,相比随机密钥预分配方案能提高网络的连通性,减小节点所需存储空间,并能增强网络抗攻击能力。随机预载共享密钥HARPS的具体实现方式:HARPS具有三个参数:P—根密钥的个数;K—公钥生成函数,会生成长度是k的一个公钥;L—由根密钥和单向哈希函数可以得到的衍生密钥的个数,(注:一个根密钥就可以生成L个衍生密钥);h()—加密哈希函数;F()—公钥生成函数;(注:公钥生成函数是和节点的ID进行作用的,每一个节点都有固定唯一的ID)。衍生密钥的表达式:由第i个根密钥进行j次加密哈希运算得到的衍生密钥jiK;由公钥生成函数和节点A的ID生成的结果表示:[(A1,a1),(A2,a2),…….(Ak,)]=F(IDA)。Aj∈(1,P)(a1……ak)是在1和L之间随机取的一串数。节点A生成衍生密钥aAK共有k个,保证每个节点都会随机从P个根密钥中选择k个根密钥表示为A然后生成k个衍生密钥,生成每个衍生密钥的哈希运算次数是随机选择的,次数表示为a。节点B也同样生成衍生密钥。由于F()生成函数是公开的,且每个节点的ID是已知的,节点A可以用公钥生成函数F(ID)分别生成自己和节点B的k个结果形式(A1,a1),(A2,a2),…….(Ak,ak)和(B1,b1),(B2,b2),…….(Bk,bk),找出相同根密钥(Aj=Bi),符合要求的根密钥定义成[s1……sm]共m个,m一定不大于k。同时记录下相同根密钥对应的衍生密钥生成所需哈希运算次数(aj和ib),对比找出最大的运算次数,记为dn。n最大可取到m。节点B的共享密钥发现过程同A相同,他们的共享密钥是由上述哈希函数生成的。形如:)M(hKijji=。这样节点AB间的共享密钥由节点自身生成不需要进行信道上的传输。保证了共享密钥的安全性。2.2密钥协商密钥协商[13]就是两个或以上的节点共同参与,通过一定的算法计算出密钥,而任何成员都不能预先得到密钥。Becker和Wille提出“超立方体”密钥分配协议[14],假设系统有n=2d个通信用户,每个用户对应“超立方体”的一个顶点,显然每个用户正好可以用一个d位的二进制地址表达。该协议共运行d轮,第j轮时,地址为I的用户将与地址为I×2j-1的用户执行一次DH协议,经过d轮运行后,n个用户间将拥有共同的会话密钥。M.Steine等提出了三个“协商式”密钥分配协议[15],这些协议推广了DH方案,即把两个通信实体扩展到多个。其中,GDH.1是为了说明设计思想而提出的一个协议,计算负荷和通信负荷均较大,没有实用价值。GDH.2和GDH.3侧重点不一样,前者主要希望能尽可能地减少协议执行过程中的通信负荷,而后者则希望能尽可能地减少协议执行过程中的计算负荷。在本文的第3部分有GDH.3的简单介绍。TGDH(tree-basedgroupDH)[16]方案在区分参与组密钥协商节点的地位的同时,将其构成二叉树结构,根节点的密钥由其两个子节点的密钥通过DH算法得来,叶子节点随机选择秘密参数,根节点的密钥作为全组成员的共享密钥。TGDH的一种扩展算法中将网络构成二叉逻辑密钥树[17],每个组成员可以根据自己的密钥来计算出从它对应的节点到根节点路径上的每个节点对应的密钥,在成员加入和删除时,一个成员会被选举出来作为辅助成员,负责对密钥进行更新。通过将二叉密钥生成树与TGDH结合,较好地解决了AdHoc网络中拓扑的动态变化以及密钥更新的问题。2.3公钥密码系统目前研究者提出应用于AdHoc网络公钥密码系统主要分为三类:部分分布式CA(CertificateAuthority)机制,完全分布式CA机制[18],和自发布证书机制。部分分布式CA机制[19]的基本思想是将集中式CA服务器的功能分给多个节点共同承担。完全分布式CA机制是对部分分布式CA机制的进一步扩展,将CA服务器的功能扩展到全网节点。3.几种典型的密钥管理技术介绍3.1基于概率的对称密钥预分发机制个密钥给各个节点,两个节点之间在很大概率上存在某些相同的密钥,如果两个节点不存在相同的密钥,则他们可以通过临近的节点进行中继。因此网络内任何节点之间都可以通过直接或者间接的方式协商出共同的密钥,使得网内任何两个节点之间都可以进行安全的通信[20]。3.2GDH.3协议GDH.3协议是以DH为基础的结点参与型组密钥生成协议[21]。以n个网络节点为例,G,P为已知参数,首先给节点从排定逻辑顺序(以下标表示),每个节点在组密钥生成的过程中都产生一个随机数is(is为节点私钥,G为节点公钥)执行过程分为四个阶段,在第一个阶段,前n-2个节点中每个节点Mi都收到前一节点发送的值,iM计算后送给iM+1,在第二个阶段nM-1将添加自己的随机分量之后的值广播给前n-2个节点.随后,前n-1个节点将除去自己分量之后的值送给nM,nM将得来的各个值分别添加自己的随机分量之后再回送给各个节点.这样各个节点就可以计算最终的组密钥key.GDH.3协议与分布CA方案相比,其复杂度大大降低,并且在安全性能要求不很高的场合具有较好的实用价值.应用于Adhoc网络,GDH.3协议能够很好地支持节点加人和退出、提供密钥前后向的安全性.前向安全性指退出节点不能推算新密钥,后向安全性指加入节点不能推算新密钥.但是以DH为基础GDH.3协议,仅生成1024bit长的密钥带来的计算开销和存储需求对于现有的AdHoc网络而言,就是不可接受的.3.3分布式组密钥管理策略分布式组密钥管理框架[22]以RSA非对称密码体制和基于拉各朗日插值的秘密共享方案为基础,为带宽有限、通信信道可靠性不高、节点自由移动自组织网络提供组密钥管理支持。在部署移动自组织网络之前,由离线的控制节点根据网络的应用需求对通信组进行划分,并初始化节点的密钥信息。在网络部署以后,由门限[23]个节点组成组密钥生成中心,对组成员的资格进行管理[24]。离线的组控制节点也可为新的组成员颁发组成员资格证书。该方案的几个主要算法包括:初始设置、组密钥更新的认证算法、有节点新进时的组密钥更新、有节点离开时的组密钥更新。假设移动自组织网络由N个节点组成,离线的组控制节点生成组的RSA密钥对为{SK,PK},其中SK为私有密钥,PK为公开密钥,并选择组通信密钥种子生成函数g(x)以及初始值,在网络部署之前,组控制节点预先为每个组成员生成并分发一定的密钥信息。假设节点的全局惟一标识为拥有的密钥信息,其包括:节点的共享密钥;节点的私钥和公钥对;节点的组成员资格证书;组通信密钥种子生成函数g(x);HASH函数;初始组密钥:HASH((g(m))SK),m表示组密钥种子初始序号。节点的共享密钥由组控制节点根据拉各朗日插值秘密共享方案生成。节点的公钥、私钥对应于组密钥生成与分发时的安全通信。节点的组成员资格证书由离线控制节点,利用组私钥签发,用于验证节点的公钥,以及组内成员资格。组成员的删除通过证书废除列表实现。在框架中,组通信密钥TEK(trafficencryptkey)由组通信密钥种子,经过组私有密钥加密后的密文,再经过散列函数(用HASH表示)变换后获得。根据秘密共享方案,任何N个以上的成员都可以在不暴露组私有密钥的情况下生成TEK。因此,在该框架中,任意t个组成员都能够组成TEK生成中心,使TEK的生成与分发不受网络拓扑变化的影响,避免了多跳连接不可靠以及单点失效等问题。此外,组成员节点可以利用组密钥生成种子序列号的单调性来维护TEK的一致性。TEK更新算法:在组通信过程中,数据的私密性通过TEK加密实现。当节点加入或退出时,组成员节点都需要更新TEK,以保证通信的后向私密性和前向私密性。在DGKMF中,请求加入的组成员需要由离线组控制节点或门限个组成员节点为其颁发组成员资格证书。利用TEK更新算法,新加入的组成员与其邻居节点生成新的组密钥以后,用已有的组密钥加密新的组密钥,向组中所有节点广播,以更新组密钥。组成员退出分为主动退出和强制退出两种情况。当组成员主动退出时,它向全组广播退出请求;强制退出请求由发现异常的节点广播,接到退出请求的组成员利用TEK更新算法,更新组通信密钥,同时将退出组成员的资格证书加入到证书废除列表中,以防止已退出的组成员参与密钥更新过程。本方案具有强壮和高效的特点,而且单个节点失效也不影响组密钥的更新;解决了在组通信中TEK(组通信密钥)不连续问题。3.4分层分组式组密钥管理策略建立相连区域集(ConnectedDominatingSet,CDS)的主要思想是依据分组算法将网络划分成多个小组,所有分组不重叠,完备的覆盖网络所有节点。小组内有一个组长和组员。假设在初始密钥协商阶段网络拓扑不变。从时间上AdHoc密钥协商分为两阶段:初始密钥协商(InitialKeyAgreement,IKA)和密钥更新(AuxilaryKeyAgreement,AKA)。从空间上密钥协商分为低层小组内密钥协商和高层dominator间密钥协商。密钥协商两个主要性能指标(通信量和计算量)很难兼顾。小组内节点距离不大于2跳,通信消耗小而可靠,适合用通信量较大的方案以换取计算量的减少,因此可以采用类似GDH.3协议。分层分组式的管理策略[25]的基本思想是:对加入网络的成员进行分组,每个小组中包含一个控制节点,所有的控制节点组成了组播密钥管理的一层,而小组内部的密钥管理属于另一层,这两层从某种意义上是相对独立的,它们选择的密钥管理方式可以相同,也可以不同,

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功