您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 一种基于LKH的分层式密钥更新机制优化方案
一种基于LKH的分层式密钥更新机制优化方案胡雯,许勇(安徽师范大学数学计算机科学学院计算机应用技术系)摘要:随着因特网的发展,多播技术被越来越多地应用在一些主流的服务中。例如,视频会议、IP电视、远程教育等。IP多播的安全性问题限制了其广泛使用,为了保护通信的机密性,在多播组中仅仅给予合格的组成员相应的密钥用于通信。密钥管理是IP多播的一个基本问题,密钥管理的目的是为了组成员在一个多播期间形成、更新、传输密钥,以及在传输过程中提供密钥的保密性。这篇文章,我们回顾了几种经典的密钥管理方法,并提出了一种基于LKH的分层式密钥更新的优化方案,最后与其他方法进行了比较。关键词:多播安全,LKH,密钥更新Abstract:WiththedevelopmentoftheInternet,multicasttechnologyisusedpopularlyinmanymainstreamapplications.Forexample,videoconferencing,IPTV,remoteeducation.SecurityproblemsofIPMulticastlimititsdevelopment,inordertoprotecttheconfidentialityofcommunications,multicastgrouponlygivethekeytoqualifiedmembersofthegroupforcommunication.KeymanagementisabasicproblemoftheIPmulticast,theaimofkeymanagementformulticastisformingkeysduringamulticastgroupsession,update,transportkeys,andprovidingtheconfidentiality.Inthispaper,wereviewseveraltypicalkeymanagementmethod,andproposeaschemewhichbasedonLKHhierarchicalkeyoptimizationprogram,Atlast,wemakeacomparisionbetweenourmethodandothers.Keywords:multicastsecurity;groupkeymanagement;LKH1.引言多播是基于UDP/IP协议的,提供了一种发送方同时发送信息到多个接收方的高效通信机制。多播技术在IP电视、多媒体会议、PPV(Pay-per-view)、计算机协同工作、股市行情分析等应用中非常有效。在因特网中,多播提供一种有效的,尽最大努力型服务,使大规模内容分发成为可能。图1[1]描述了多播源S向组成员M1~M4发送数据的情形,R1、R2为路由器。SM1M2R1R2M3M4图1多播源S向组成员M1~M4发送数据随着网络应用的发展,对于多播安全性问题的要求日益显现出来。而不同的多播应用,对通信和安全性有不同的需求。要保证多播组中密钥形成、更新、传输以及前向机密性和后向机密性,这就需要组密钥管理方案来描述和实现。这篇文章的结构如下:第2部分分析了密钥管理的研究现状。第3部分描述了本文提出的优化方案。第4部分对前面提到的几种方法和本文的方法进行了比较。最后对本文做了总结2.研究现状2.1LKH[2]LKH(LogicalKeyHierarchy)逻辑密钥树的每个页节点对应于一个组成员,中间节点代表一个逻辑子组,根节点代表组密钥。每个多播组只有1个密钥服务器,用来对组成员进行密钥管理。LKH密钥分发规则:每个成员接收对应叶节点到根的路径上的所有密钥,当成员关系变化时,GCKS只更新并分发加入或离开成员所知道的密钥。每个成员持有的密钥树等于树的高度logn。kakbKckdkekfkgkhkabkcdkefkghkadkehkahABCDEFGH密钥节点A持有的密钥主机图2二叉树LKH树的结构GCKS需要向每个成员发送其到根的路径上的所有密钥,当有成员加入或离开组时,密钥更新所带来的GCKS加密次数和通信开销都与组成员规模成对数关系,因此该方案有很强的扩展性。2.2OFT[3]OFT(one-wayfunctiontree)也是一种用于进行高效密钥更新的逻辑密钥树,是由McGrew和Sherman提出的。与LKH相比,离开密钥更新更为高效。在OFT模式中,根密钥作为组密钥,每个成员与唯一的叶节点相关联,并持有该叶节点的秘密密钥。OFT密钥分发规则为:每个成员接收其相应页节点到根的路径上的节点的兄弟节点的盲密钥。kakbKckdkekfkgkhkabkcdkefkghkadkehkahABCDEFGHE不知道的密钥E知道的盲密钥E知道的非盲密钥kekahkahkefkeh图3OFT密钥树结构在图中,i'k=g(ik),i'k为盲密钥,g为盲化函数。GCKS用单向函数g计算密钥树中对应于每个KEK的盲密钥。成员利用所知道的密钥来计算它的祖先密钥,包括组密钥。假设节点i是中间节点,它的左孩子和右孩子的密钥分别为kl和kr,ik=f(g(kl),gkr)),f为混合函数,用来计算祖先节点的非盲密钥。例如:成员E知道密钥ke、kf’(兄弟节点的盲密钥)、kgh’和kad’。在OFT模式中,,当有成员加入或离开组时,由于中间节点密钥是由其他密钥形成的,GCKS向新成员发送的盲密钥数大大减少。和LKH相比密钥更新数降低到log2n,n为组成员数。2.3Iolus[4]Iolus是Mittra提出的一个分层的安全多播体系结构,使用划分子组方式,具备了管理大规模、动态的、可扩展多播组的特点。Iolus是通过使用安全分发树来实现的,树由组安全代理(GSA)组成,位于Iolus体系结构根部的组安全代理被称为组安全控制器(GSC),每一个安全组受组安全控制器的管理。GSC管理最高层的子组并指派可信任第3方代理来管理其他的子组,也称为组安全中介(GSI)。每一个子组都只有少量的组员,并且有自己的多播地址。每一个子组都有自己的密钥。GSI在自己的子组里面主要承担两个任务:管理本子组的密钥和协调本子组和其他子组的通信。Iolus组密钥管理协议的主要优点是成员的加入和离开只会影响所在的子组,并不会影响到整个组。由于子组的规模很小,子组密钥的更新不会带来太大的开销,所以它的扩展性很好。它的缺点是:首先,Iolus要求很大的信源开销来管理多播组;其次,即使Iolus用分层系统在很多节点上分布组管理工作量,它仍然依靠单个的高层节点GSC来保证正确运作;此外,必须充分信任中间节点GSI,这将会带来安全隐患。3.本文提出的优化方案根据对前面集中经典密钥管理模式的分析,我们知道每一种方法都有它的好处,比如LKH结构简单,Iolus提出了划分子组,可扩展性好,OFT对于密钥更新非常有效。本文结合了LKH和Iolus提出一种优化方法,主要的框架如图所示。GSC(kg)U1U2UiUm-1UmSGSC1SGSCiSGSCm图4框架结构第一层每个组都有一个私钥k用于通信,第二层使用LKH方法来管理。分发规则:(1)所有的组成员共享组密钥(2)假设子组数为m,子组成员数为n,总的组成员数N=m*n。(3)组控制器负责管理组密钥gk,持有一系列子组的私钥,总共持有的密钥数为m+1(4)SGSC为子组控制器,用来管理组成员的访问控制和密钥分发。每个子组都有自己的密钥。当有组成员加入或离开时,我们使用LKH来对子组进行密钥更新。3.1密钥更新(1)向多播组添加一个子组GSC在注册过程中将ik发送给SGSCiGSC创建一个新的组密钥g'k,为SGSCi用ki加密g'k,其他子组{g'k}kg为所有的子组i的成员用iSGSCk'加密g'k当有一个子组加入多播组是,GSC的密钥消耗为m。子组密钥更新复杂度为O(N)。(2)一个子组从多播组离开假设子组j请求离开多播组GSC创建一个新的组密钥g'kGSC→SGSCi:{g'k}ik(i≠j)为所有的子组成员用iSGSCk'加密g'k(i≠j)当一个子组从多播组离开是,GSC的密钥更新消耗为m-1,子组密钥更新复杂度为O(N)。(3)向多播组添加一个子组的成员假设一个成员要想加入到子组i中,子组中采用LKH方法,SGSCi创建一个新的子组密钥iSGSCk'。GSC创建一个新的组密钥g'kGSC→{SGSC1,SGSC2,…,SGSCm}:{g'k}ikSGSCi创建一个新的子组密钥iSGSCk'为所有的子组成员用iSGSCk加密g'kGSC密钥更新消耗为m(4)子组的一个成员离开多播组假设子组i的一个成员要离开,SGSCi采用LKH方法,创建一个新的子组密钥iSGSCk'GSC创建一个新的组密钥g'kGSC→iSGSC:{g'k}ikiSGSC创建一个新的子组密钥iSGSCk'为子组i中的成员用iSGSCk'加密g'k为其余子组中的成员用jk'SGSC加密g'k(j≠i)当有一个子组成员离开多播组时,GSC的密钥更新消耗为m。4.本文实现方法分析4.1密钥量分析4.2仿真实验4.3几种方法的比较在LKH和OFT中属于集中式密钥管理,由GSC控制密钥的分发。本文提出的方法中,我们将整个组划分为各个子组,访问控制和密钥分发由子组控制器来控制。GSC的工作量降低了。例如:一个多播组有1024(N=1024)个组成员,组成员划分为8(m=8)个子组。GSC存储的密钥数和密钥更新的消耗如下表1所示。LKHOFT本文的方法GSC存储的密钥数GSC需要发送的更新密钥数2N-1=20472log2N=202N-1=2047Log2N=10m+1=9m=8表1几种方法的比较5.总结对于大的多播组,比较适用分层式密钥管理结构。然而在典型的Iolus中,不同的GSI都有不同的密钥,这样就增加了通信消耗。在我们的方法中所有的组成员都共享同样的组密钥进行通信,GSC持有的密钥数明显相对于其他几种方法较少。参考文献:[1]W.T.Zhu,J.P.Xiong,J.S.LiandP.L.Hong,“AStudyoftheKeyDistributioninSecureMulticast”,JournalofSoftware,Vol.14,No.12.2003.[2]周贤伟.IP多播与安全[M].北京:国防工业出版社,2006.[3]WongCK,GoudaM,LamSS.SecureGroupCommunicationsUsingKeyGroups.IEEE/ACMTrans.onNetworking,2000,8(1):16~30[4]赵膺,宋佳兴,徐万鸿等.安全多播综述.小型微型计算机系统,2003,24(10):1873~1877[5]AlanT.ShermanandDavidA.McGrew,“KeyEstablishmentinLargeDynamicGroupsUsingOne-WayFunctionTrees”,IEEETranssactionsonSoftwareEngineering,Vol.29,NO.5,May2003[6]SuvoMittra,“Iolus:AFrameworkforScalableSecureMulticasting”,InProc.ACMSIGCOMM’97,Cannes,France,1997,277~288.[7]BaugherM,CanettiR,DondetiL,etal.GroupKeyManagementArchitecture.WorkinProgress,2002[8]许勇,陈恺.安全多播中基于成员行为的LKH方案.软件学报,2005,16(4):601~608
本文标题:一种基于LKH的分层式密钥更新机制优化方案
链接地址:https://www.777doc.com/doc-2814502 .html