多权限组播通信中密钥管理协议和加密方案的研究

多权限组播通信中密钥管理协议和加密方案的研究

ID:32804078

大小:5.16 MB

页数:63页

时间:2019-02-15

上传者:U-22107
多权限组播通信中密钥管理协议和加密方案的研究_第1页
多权限组播通信中密钥管理协议和加密方案的研究_第2页
多权限组播通信中密钥管理协议和加密方案的研究_第3页
多权限组播通信中密钥管理协议和加密方案的研究_第4页
多权限组播通信中密钥管理协议和加密方案的研究_第5页
资源描述:

《多权限组播通信中密钥管理协议和加密方案的研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

摘要在信息技术朝着高性能、多样化、普适化和智能化等主要方向持续发展的今天,因特网上的多媒体业务变得多种多样。组播通信能够很好地解决多个用户的接收问题,其实质就是针对个性化需求,高效组织计算资源,构造可以适应用户需求的安全网络应用环境。随着组播通信开始从理论研究走向实际应用,其安全问题越来越突出。特别是多权限组播通信中的安全问题,比传统(单一权限)组播通信中的安全问题更难解决。本论文首先介绍了组播通信技术中已有的群组密钥管理协议,并针对这些协议中的密钥树都是二叉树、不利于系统扩展的局限,提出了基于单向函数和多叉树的群组密钥管理协议(0ne.WayFunctionandMultiwayTree—BasedGroupKeyManagementProtoc01,简称OMGM)。该协议将多叉树作为密钥图的构造基础,有效降低了密钥树高度,进而减少了群组管理者和用户的密钥存储、密钥更新和网络开销。同时,该协议采用随机数辅助密钥更新,可以大大降低因广播更新密钥而引起的网络带宽消耗。另外,本论文在基于属性加密的基础上提出了一种适用于多权限组播通信的安全加密方案(AScalableEnc巧ptionSchemeforMulti.PrivilegedGroupCommunications,简称EMGC)。该方案采用属性标记数据流,同时将合法用户信息融入密文,这样通过属性和ID的双重限制来保证组播通信的前向和后向安全性。针对不同的应用环境,本论文给出了两种加密方法:方法一适用于用户在不同服务组之间转移频率较高的情况,并且公钥长度较小;方法二对公钥和密文长度进行了折中,而且保证了在组播消息过程中,群组管理者和用户具有较少的计算开销。总之,本论文解决了多权限组播通信中的若干安全问题,包括密钥管理协议和加密方案的设计。从而保证了组播通信中的安全性,解决了密钥的分发和更新问题,减少了群组管理者和成员的计算、存储开销,降低了占用的网络带宽等。这些研究成果将应用到实际中去,改变多权限组播通信“研究多、应用少’’的现状。关键词:多权限组播通信,密钥更新,多叉树,基于属性的广播加密,用户撤销 ABSTRACTWithmer印iddeVelopmentofne觚orkteclm0109ies,moreandmoremultimediaapplications2uldservicesareproVidedoVertheIntemet.Groupcommunicationswereproposedtoadaptthedemandforindividuation,organizingcomputingresourcesefjFiciently,andconstlljctingsecurenetworkapplicationswhichcouldmeetusers’needs.Asgroupcommunicationsbegantobeusedinpracticalapplicationotherthantheo巧,securityissuesinthemaureincreasin91yprominent.Especiallyformulti—priVilegedgroupcommunications,theyaremoredif6culttos01Vethanthoseintraditionalgroupcommunications.Thisthesisfirstintroducessomeexistinggroupkeymanagementschemes.Asthekeygraphsintheseschemesarebina叫trees,whicharenotgoodforscalability,weproposeaone-way如nctionandmultiwaytree-basedgroupkeymanagementprotoc01(OMGM).Itisbasedonmultiwaytree,whichcouldreducetheheightofkeytreeef.fectiVely.TherebytheschemecanreducethekeystorageoVerheadofserverandusers.What’smore,itusesarandomnumbertosupportkeyupdating,whichcangreatlyreducetheoVerheadofne押orkbandwidthcausedbybroadcastingnewkeysduringkeyupdating.Inaddition,thisthesisalsoproposesascalableenc叫ptionschemeformulti—priVilegedgroupcommunications(EMGC)basedonAttribute—BasedEnc巧ption(ABE).Itusesattributestodescnbedatastre锄sin伊oupcommunications,andciphertextsarelabeledwimanaccesscontr01structureandthesetoflegalusers’IDs.Theforwardandback=、Ⅳardsecrecyareensuredbyme甜ributesandusers’IDset.MoreoVer,basedonthefeaturesofdiflferentmulti—priVilegedgroupcommunicationsystems,itproposes铆oconstructionsforEMGCscheme.Construction1canbenefitusers’switchingandhasasmansizeofpublickey,whiletheothermakesatradeoffbetweenthesizeofpublickeyandciphertext,andalsoreducesthecomputationaloVerheadofserverandusers.Thisthesisstudiesands01Vessomesecurityissuesinmulti—priVilegedgroupcommunications,includingthedesigningofgroupkeymanagementprotocolandenc巧ptionscheme.TheycanbeusedtoensureII thesecurityinmulti—privilegedgroupcommunications,achieVekeydistributionandupdating,reducemecomputationalandstorageoVerheadofserversandusers,reduceoverheadofne觚orkbandwidth,andsoon.TheseachieVementscanbewellappliedto印plications,andchangethe“researchmore,while印plied1ess’’statusofmulti—priVilegedgroupcommunjcations.KEYWoRDS:multi-priVileged舒oupcommunications,keyupdating,multiwaytree,attribute_basedbroadcastenc巧ption,userreVocationIII 硕士学位论文第一章绪论随着网络技术的发展,互联网上出现了越来越多的多媒体应用和服务。由于组播技术能够很好地解决多个接收者的问题,因此被广泛应用于这些应用和服务。但是在利用组播技术带来好处的同时,其安全问题也越来越突出。如何在使合法用户能够享受服务的同时保证信息的安全性,成为组播通信要解决的首要问题。而且由于组播组中用户的动态性,如何在成员变动时尽可能地降低对其他用户的影响,也是组播通信安全机制关注的问题。本章首先介绍了组播通信(特别是多权限组播通信)的一些基本知识,然后阐述了本论文的主要研究内容,并指出了本论文的结构。1.1组播技术的研究背景及应用2006年初发布的《国家中长期科学与技术发展规划纲要》将我国2006年至2020年的信息产业及现代服务业的基础研究工作分成四个层面,其中发展高可信网络和开发网络信息安全技术及相关产品,建立信息安全技术保障体系作为发展思路重点提出【l】。当今世界,信息技术正朝着高性能、多样化、普适化和智能化等方向发展,因特网上的多媒体业务也变得多种多样。在因特网上,多媒体业务诸如流媒体、视频会议、视频点播和付费电视等,正在成为信息传送的重要组成部分。由于组播技术解决了一个主机向特定的多个接收者高效发送消息的问题,而且随着各种无线网络如无线局域网、无线城域网、3G/4G无线通信网、移动自组网等的发展和各种移动设备如笔记本电脑、手机、PDA等的广泛使用,组播通信在各种有线和无线网络中的应用必将越来越广泛。组播技术(也称为硬件组播技术)最早出现在20世纪80年代早期的局域网(例如以太网和令牌环网)环境中【2】。但是这些组播应用也只是仅仅局限于局域网环境,还不能应用到更大范围的互联网中。虽然在分配IP地址空间的时候,D类地址作为组播地址预留了出来,但是互联网上并没有可以使用这类地址的IP组播技术。美国斯坦福大学的博士生S.Dee血g在20世纪80年代末才提出可以对基于数据报文的一对~的单播路由机制进行组播扩展【3一钉,以支持一对多或者是多对多的组播通信,因特网上的IP组播机制才得以诞生。在组播通信中,组播组由一个唯一的D类IP地址标识15J,组中可以包含零个或者多个主机。服务器只需要发送一个报文,组播组中的主机都可以接收到该报文。互联网中的主机要加入某个组播组时,要通过Intemet组管理协议(Intemet(打oupMallagementProtocol,简称IGMP)【6J通知它所在子网中最近的 硕士学位论文第一章绪论路由器,告诉路由器它要加入或者退出某个组播组。由于在这种组播技术中,参与组播的用户被动地接受组播路由器发送过来的数据,用户离开时不通知组播服务器。所以,组播路由器要周期性地对其管理的用户进行扫描,以检查这些用户是否还在该组播组中。只要该组播组中还有一个用户存在,组播路由器就要继续接收并转发数据【.71。当组播组中所有的用户都离开以后,组播路由器会收到一个IGMP协议的“离开’’消息报文。然后,组播路由器就会检测组播组内是否还有其他活动的成员。如果组内还有活动的成员,组播路由器就要继续工作;如果已经没有活动的成员,就可以停止转发数据【8】。由于网络中任何一台主机都可以不受组播组中网络拓扑和成员数量的限制而自由地申请加入或退出某个组播组,所以,组中的成员关系是不固定的,而且一台主机可以根据需要加入多个组播组而同时成为多个组播组的成员。与传统单播技术相比,组播由于传送报文数量大大减少,降低了对网络带宽的占用从而提高效率。如图1.1所示,在组播技术中,发送主机只需要发送一个报文到组播路由器咿J,由组播路由器将数据包复制到所有组成员所在的各个路由器接口上再进行分发,这样组播组内的用户就都能接收到该报文。而在单播技术中,发送主机为了使每个用户都接收到报文,需要给每个用户都发送一个数据包。由图1.1可以看出,无论有多少个目标地址,在整个网络的任何一条链路上只有一个数据包在传送,所以,组播技术能够大大地节省网络带宽,提高效率,改善网络性能,减少主干网出现拥塞的可能性。(a)单播(b)组播口服务器一路由器囵用户口数据包图卜1单播和组播报文传送情况2 硕士学位论文第一章绪论单播和组播通信服务在传统的有线因特网中已经进行了大量的研究工作。但是,由于组播通信中的安全性比较难以保证,基于组播通信服务的应用系统(如分布式数据库系统、视频会议、数据广播等)还远未达到基于单播通信服务的应用系统(如电子邮件、WWW应用、文件传输等)那样成熟和普及。另外,因为IP组播模型只负责将数据包发送出去,而不能够保证数据包能够到达用户,也即组播服务器不保证报文的可靠传输。同时,组播成员的异构性和分散性使组播可靠性研究要比单点发送复杂得多,所以,传统的类似于TCP方式的可靠单播机制难以移植到组播通信中f101。特别是在多权限组播通信中,用来保证安全性的密钥管理更为困难和复杂。1.2多权限组播通信1.2.1特点在传统的(单一权限)组播通信中,整个组播组中的用户具有相同的权限,他们接收相同的数据流。但是在新出现的一些应用系统中,服务器可以提供多个数据流,组播组中的不同用户可以根据自己的喜好订阅不同的数据流,这样在整个组播组中就形成了不同的权限。而且用户可以在不同的权限之间切换【11】。例如:(1)在某些多媒体应用中,数据是以多层编码的方式传输。如在付费视频广播系统中,普通电视的接收用户由于支付较少的费用而只能接收到普通分辨率的视频数据,而高清电视的接收用户因为付费较多而能接收高清分辨率的视频数据(也能接收到普通视频分辨率的数据)。用户按付费不同享受不同质量的视频。而且普通电视用户在增加了交纳费用后也可以接收到高清分辨率的数据;同样,高清用户由于费用不足也可能只能享用普通分辨率的电视信号。(2)在电子报刊广播系统中有多个数据流需要广播,如天气预报、每日要闻、娱乐新闻、经济新闻和体育新闻。不同的用户根据各自的兴趣爱好订阅不同内容的信息。这样能够获得同样信息的用户就形成了一个权限组。群组中存在多个不同的权限组。在因特网上的多权限组播应用中,特别是在某些商用系统中,如何保证通信过程中的信息传送安全问题是服务提供商关注的重要问题。安全组播的目的就是建立安全的群组以及保证组播通信信息的机密性。如何保证多权限组播通信的安全性将是本论文研究的重点。3 硕士学位论文第一章绪论1.2.2安全问题在传统的(单一权限)组播通信中,由于群组成员可以随时加入和退出,为了保证传播信息的安全性,组播通信机制必须保证不是该组的成员不能获得该组中传播的任何数据。因此,在组播组中传输的数据流需要用密钥进行加密,即会话密钥(SessionKey,简称SK)【121。由于传统的组播通信中的群组成员具有相同的访问权限(即能获得相同的数据流),因此组播组中的每个用户共享该会话密钥,组播组外的用户因为没有会话密钥而不能获得传输的数据流,从而保证了传输消息的安全性。此外,为了达到前向安全性(新加入的成员无法访问在他加入以前的通信内容)和向后的安全性(确保离开的成员无法访问其退出以后的通信内容)【l3‘,当有成员加入/退出组播组时,群组中的成员需要更新SK才能保证新加入的用户不能获得加入前的通信信息,并且保证退出后的用户不能获得退出后的通信信息。由于多权限组播通信在群组内有多个数据流的特点,组播组成员可以根据各自的权限获取自己所需要的数据流,而且可以根据需要切换对不同数据流的访问权限,因而多权限组播通信中的密钥管理比传统(单一权限)组播通信中的密钥管理更为困难。其主要原因如下IllJ:(1)在多权限组播通信中,服务器为组播组内的用户提供了多个数据流。为了保证通信数据的安全性,不同的数据流需要用不同的会话密钥进行加密。用户根据各自的需求获取一个或多个数据流,并且拥有其所能获得数据流对应的会话密钥。在传统组播通信中,组播组只有一个会话密钥,并且所有群组成员都共享该会话密钥。而在多权限组播通信中,每个数据流都用一个会话密钥来加密,并且群组成员所拥有的会话密钥的个数为其所获取的数据流的个数。因此,采用何种加密方案以及如何管理密钥以保证用户不能获得超出其权限的数据流和会话密钥,是多权限组播通信中需要考虑的一个重要问题。(2)在多权限组播通信中,用户不但可以随时加入/退出组播组,还可以根据各自的需要从一个组播组转移到另一个不同的组播组。而在传统组播通信中,所有组成员的权限都是相同的,因而只有用户加入/退出操作,而不存在用户切换组播组的操作。因此,在多权限组播通信中,如何设计群组密钥管理协议,以保证用户加入/退出/改变权限时,能够有效地管理组播组中的密钥保证群组中消息的安全性。在多权限组播通信中,通常把能获得同一数据流的用户组称为数据组【ll】(DataGroup,简称DG),而把具有相同权限、能获得相同数据流的用户组称为服务组(ServiceGroup,简称SG)。不同的DG中的群组成员会存在重叠的现象,因为群组成员会根据各自的要求获取多个数据流而存在于多个DG中。但是4 硕士学位论文第一章绪论不同的SG中的群组成员是不存在重叠现象的,因为每个群组成员只可能具有一种权限。假设有一个提供多媒体服务的公司,有足球、娱乐和艺术类的付费电视节目提供。三个用户A,B,C分别订制了这些电视节目。用户A订制足球频道6个月时间,用户B订制娱乐频道6个月时间,用户C订制足球、娱乐和艺术频道6个月时间。则组播通信加密方案和群组密钥管理协议需要满足以下几点要求:从来没有订制这些服务的用户不能获得任何信息;订制时间期满的用户不能获得后续信息;用户只能够获得他们付费的数据信息(例如用户A只能获得足球频道的信息,用户B只能获得娱乐频道信息,用户C能获得足球、娱乐和艺术频道信息);如果用户A申请将订制内容从足球频道切换到娱乐频道,则切换后他将不能继续获得足球频道的信息。多权限组播通信中除了可以有多个数据流之外,还可以在不同的应用中存在多维数据流。单维数据流是指组播中的所有数据流都只具有一个特征,而多维数据流则具有两个或多个特征。例如上面提供多媒体应用的公司有三个数据流:足球、娱乐和艺术,这些数据流只具有一个特征,因而为单维数据流。而在有些视频应用中,用户可接受种质量和肘个分辨率的数据流【14J(多媒体公司提供普通和高清两种模式的视频),因而,在该应用中,数据流有丁晰,这类数据流称为多维数据流。很明显,传统组播通信中的群组密钥管理协议不能简单地移植到多权限组播通信的群组密钥管理协议中来。在多权限组播通信系统中,为了达到细粒度的访问控制策略,最简单的方法是为每个DG分别构造一棵密钥树,其叶子节点为相应DG的用户私有密钥。这种构造方法很简单,也比较容易管理密钥,但是会带来许多冗余,因为DG中有相互重叠的成员关系。并且当数据流增多时,其扩展性不好。因此,多权限组播通信的群组密钥管理协议需要具有安全性、灵活性和可扩展性等特点岭J:(1)安全性:多权限组播通信中,每个用户能获得一个或多个数据流,所以,多权限组播通信中的群组密钥管理协议应限制用户获得其权限外。另外,由于每个用户只能拥有其所能获得的数据流的会话密钥,而且在其加入组播组前或退出组播组后要保证后向和前向安全性。此外,多权限组播通信的密钥管理协议还需要考虑一些新的安全问题,如用户改变权限时如何处理该用户拥有的会话密钥。同时为了减少密钥生成和更新开销,怎样处理那些同一个用户在不同服务组中共享的密钥。(2)灵活性:与传统的(单一权限)组播通信不同,在多权限组播通信中用户除了可以加入或退出群组以外,还可以在不同的群组之间转移。而且在用户5 硕士学位论文第一章绪论较多时,群组管理者需要维护的密钥数量将会很大。因而在用户提出加入/退出/改变权限时,多权限组播群组密钥管理协议应该能灵活地处理密钥更新,并且能够支持大规模、超动态的用户变动。(3)可扩展性:若请求加入的用户或者改变权限后的用户想要获得的数据流与组播组中的任何其他用户都不同,也即新用户加入的服务组还不存在于群组中,这时,组播管理者需为该用户新建一个服务组。另外,若某服务组中的用户全都退出或转移出去,组播管理者还需要删除此服务组。因而多权限群组密钥管理协议在处理新的服务组形成或旧的服务组解体时,应尽可能地避免整个密钥图的重构,减少对其他用户的影响。因而,可扩展性就是能够动态地支持形成新的服务组和解体旧的服务组。1.3主要研究内容(1)设计适用于多权限组播通信的基于单向函数和多叉树的群组密钥管理协议。本论文是在已经提出的基于单向函数的多权限群组密钥管理协议(One.wayFullction-basedG衲upKeyManagementProtocol,简称OFGl洲P)的基础上进行扩展。由于OFGⅪ心协议中所有的密钥树都是二叉树,亦即所提出的为密钥图节点分配ID的方法只适用于二叉树。如果密钥树的度大于2的话,当用户退出而需要进行密钥更新时,组播组中的其他用户各自计算新密钥的过程将会非常复杂。因此,本论文将密钥图中的二叉树扩展到度大于2的多叉树,而且提出新的密钥生成的方法以减轻群组管理者和用户的密钥更新负担。(2)设计基于ABE的多权限组播通信加密方案。在基于属性的加密方案(A“bute.BasedEnc巧ption,即ABE)中,用户的身份不再是简单的单个信息,而是由若干属性组成的集合。通过在密钥(或密文)上关联一个访问结构来控制拥有指定属性的用户可以获得密钥(或密文),进而控制用户解密出明文。这样,用户解密时需要持有的就不再是密钥而是属性。利用基于属性加密的这一特性,本论文设计了基于ABE的多权限组播通信加密方案,让拥有不同属性的用户根据自己拥有的属性从密文中解密出不同的明文,也即对应不同的权限。同时,在ABE中多个用户可以共享某一个(或多个)属性,这为多权限组播通信中权限组的设定提供了方便。另外,还将用户ID考虑进来,以实现细粒度的访问控制策略,保证单个用户加入/退出/转移时的前向和后向安全性。1.4论文结构本论文的基本结构为:6 硕士学位论文第一章绪论第二章首先介绍了单一权限组播通信中的群组密钥管理协议以及传统的基于树结构的多权限群组密钥管理协议,然后对最近兴起的基于ABE的组播通信加密方案进行了分析。针对已经出现的协议和方案,还详细分析了它们的优缺点,指出不足。第三章介绍了在基于传统树结构密钥管理方案基础上本论文提出的基于单向函数和多叉树的群组密钥管理协议。该协议将传统密钥树中的SG子树部分扩展到多叉树,而且引入随机数来协助群组管理者和用户的密钥更新。第四章则是基于ABE的多权限组播通信加密方案。针对不同的应用场景,本论文提出了两种加密方案。然后对提出的两种加密方案给出了系统描述,同时也分析了它们的安全性。第五章是对提出的密钥管理协议和加密方案的性能分析,包括理论分析和模拟分析。并与现有的一些方案进行了比较。第六章对本论文做了一个总结,并阐述了接下来的一些工作。7 硕士学位论文第二章群组密钥管理协议与组播加密方案的研究由于目前大多数的多权限群组密钥管理协议和加密方案都是基于单一权限组播通信的协议和方案进行扩展,因此本章首先介绍了现有的单一权限群组密钥管理协议,并指出它们的不足。然后是针对多权限群组密钥管理协议进行阐述,分析现有的多权限群组密钥管理协议的研究现状,为进一步探讨多权限群组密钥管理协议提供相关的研究背景和理论基础。最后本章还讨论了新型的基于ABE的多权限组播通信和他们的优缺点。2.1单一权限群组密钥管理协议的研究在单一权限的组播通信中,所有用户能够获得相同的数据流,亦即具有相同的权限。现有的密钥管理协议都是通过将整个群组分成几个小的子组来降低密钥更新时对现有用户的影响,进而降低密钥更新开销。在IOLUS方案【”】中,群组管理者将群组中所有成员划分为多个子组,每个子组则被进一步组织成一个树型层次结构。每个子组具有单独的子组地址且拥有单独的通信密钥,因而子组内部有成员加入或退出时,密钥更新不会影响到其它子组。这使得10LUS方案可以比较容易扩展到大规模、超动态的组播通信中使用。但是,该方案的一个突出问题是数据包进入一个子组时必须先解密然后重新加密,因而使得通信延迟增大。在密钥树方案【16】中,所有的密钥由一个集中的密钥服务器生成,并且使用一个逻辑树层次结构以便高效地分发群组密钥。而且该方案中,单个用户加入/退出时服务器的平均处理时间与群组规模的对数成正比,这很大程度上减轻了服务器的计算开销。但是,由于成员加入或退出时需要更新群组密钥并影响到所有成员,因此该方案的可扩展性不如IOLUS方案。文献[17】提出了一种定时更换域内密钥并能安全分发密钥的方法。为了减轻每次成员加入或退出所带来的密钥更新开销,文献【18]提出了周期性批量更新的方案,即:在一个密钥更新周期内,如果有多次成员加入或退出事件,密钥服务器只需重新生成一个群组密钥并发送给所有成员即可。文献[19】则研究了根据当前群组成员加入/退出请求的到达模式动态决定批量密钥更新周期的方法。采用批量密钥更新之后,密钥更新开销可以明显减少。但是,当成员数量特别多时,密钥树中每个节点的存储开销仍然很大。另外,为了维护庞大的密钥树,密钥服务器的计算任务相当繁重,可能会成为整个系统的性能瓶颈。文献[20】中的密钥管理的逻辑结构将一般的二叉树结构扩展到完全四叉树,并且完全密钥树的重建是基于子树移8 硕士学位论文第二章群组密钥管理协议与组播加密方案的研究动的(也即周期性批量更新),这样可以降低成员变动后平衡密钥树的时间消耗。但是,对于多种异构网络密钥更新周期的确定,以及对于超大规模组播通信中密钥服务器负担的减轻仍是比较困难的。后来提出的大多数方案都与IOLUS方案和密钥树方案有关。文献【21]中基于子组安全控制器的设计方案实际上是这两种方案的混合;文献[22]采用分层管理结构的思想,在密钥树方案的基础上,提出了可扩展的安全群组密钥分配方案;文献[23】也是在密钥树方案的基础上,采用Huffman编码的思想,通过用户离开概率模型来构造密钥树,使平均密钥更新代价和用户密钥存储量达到最小。文献[24]结合基于多项式展开的不使用加密和解密操作的密钥更新算法和基于密钥树的密钥管理,在保证通信开销随着群组规模呈对数增长的同时,与传统的使用加密和解密操作的方案相比,该方案有效地降低了计算复杂度,从而可以适用于大规模、超动态的组播通信。文献[25】提出的基于分级密钥管理的安全组播方案也可视为IOLUS方案与密钥树方案的混合,在分级结构中采用Hash链作为数据传递密钥来实现层与层之间的数据传递,而在子组内部则利用数字信封来实现密钥管理。文献【13]将现有的群组密钥管理方案分为三大类:集中式(Centralized)方案、分散式(Dece腑alized)方案和分布式(Distributed)方案。在集中式的群组密钥管理方案中,例如上述所提到的密钥树方案【16J(见图2.1),通常由一个单一实体(例如密钥分发中心l①C)负责生成、分发和更新群组密钥,其缺点是容易产生单点失效的问题,特别是群组规模非常大时,存在“1影响N’’的问题,可扩展性较差。UlU2U3U4图2一l逻辑密钥树分布式方案与分散式方案都能提供在分布式网络环境中对群组密钥的有效管理。在分布式密钥管理协议中,不存在一个集中的密钥分发中心,群组密钥9 硕士学位论文第二章群组密钥管理协议与组播加密方案的研究由成员本身生成。一些分布式密钥管理协议将典型的集中式密钥管理模式扩展到分布式环境当中。文献【26]将集中式LKH(LogicalKeyHierarchy)【16】扩展到了分布式的环境,没有采用集中的服务器,由密钥树中左子树领导节点(其最左边叶子节点是该子树的领导节点)选择密钥通过安全通道传送给右子树领导节点进行协商,沿着密钥树从底向上通过两个子树的协商来产生一个共同的群组密钥。这种方案中不存在可以得到所有成员秘密分量的实体。文献【27】针对已有的密钥共享协议,给出了两种攻击方法,使得攻击者可以恢复出主密钥。通过分析攻击成功的原因,提出了一种改进的密钥共享新个体加入协议。文献【28】结合基于身份的公钥密码技术,提出了利用参与者私钥作为其主分量的密钥分量分发方法。它有效地解决了密钥分量的安全分发问题,不需要密钥分发者和参与者之间事先进行任何信息交互,能够在分发密文的同时分发密钥分且里。在进行对等组播通信的分布式网络环境中,群组密钥以贡献(Contributo巧)的方式生成,即所有成员贡献各自的秘密信息以生成群组密钥。此外,还可以通过单一的群组成员来生成群组密钥。尽管后一种情况有一定的容错能力,但由于生成密钥需要安全机制,所以让任何单个成员生成新密钥都是不安全的(例如并不是所有成员都可以使用随机数生成器)。对于动态对等组播通信,参与通信的节点是对等的,各个成员节点贡献一个密钥分量。近年来出现了一些基于双方密钥交换协议的改进协议,例如Cliques方案【”】、GDH方案【30】等。Cliques方案是一种分布式的群组密钥管理方案。这种方案不需要安全的通道来分发密钥,是基于Dime.Hellman【”】协议扩展的多方密钥协商方法。Diffie.Helhnan协议通常用来在通信双方协商密钥。Cliques方案中,有n方成员参与密钥协商。该方案首先将成员按顺序编号,最后一个成员充当临时的群组管理者,根据前面成员传送的中间值从而计算群组密钥。最初产生群组密钥时,需要全体成员逐个参与运算,密钥传输时间延迟的复杂度为O(n),密钥计算量为O(n2);成员加入或退出群组时,群组管理者将重新产生群组密钥,需进行指数运算,计算量大,易成为系统的瓶颈,因此C1iques方案的可扩展性比较差。文献[32】采用双线性映射技术给出了一种高效的抗阻断攻击的非认证密钥协商方案。该方案在被动攻击下的安全性具有最“紧"的规约。文献[33】在多线性Di伍e.Hellmall(简称DH)问题假设下提出了改进的基于身份的组密钥协商协议,它只需要一轮消息交换即可。但是,文中模拟都只考虑了单个成员加入/退出的情况,而且群组规模也不是很大。针对群组成员关系的动态变化,会话密钥必须随时保持更新,而由于网络环境的不稳定,包含密钥的数据包容易丢失等问题,文献[34】提出了带成员撤10 硕士学位论文第二章群组密钥管理协议与组播加密方案的研究销的自恢复密钥分发机制。文献[35】则提出了一种高效的无条件安全的具有长生命周期的自恢复密钥分发机制。该机制避免了使用指数运算,降低了计算复杂度,其安全性为无条件安全(不是建立在DicisionDH困难问题假设基础上)。一些基于DH密钥交换的分布式密钥管理模式还结合了集中式方案或分散式方案的特点。为了获得好的可扩展性,文献【36】将密钥树方案和DH密钥交换相结合,提出了基于LIm的分布式密钥交换协议TGDH。TGDH继承了密钥树方案的优点,减少了每个成员所需要持有的密钥个数。与其它的基于密钥树的方案不同,群组成员使用DH算法来生成上层节点的密钥,每个节点的密钥由其两个孩子节点生成。文献[37]提出了Octopus协议。该协议把具有n个成员的大型群组划分为4个子组,每个子组在内部协商出一个中间值,然后在子组之间交换中间值从而得到最终密钥。通过层次划分,该方案将DH密钥交换的次数减少到了2}n.4。文献[38]提出基于Dif!cie.Hellman的密钥树结构厄T(Joill.Exit.Tree)。与传统方法相比,JET树在成员变动后的密钥更新时间上更少。用户加入后首先插入加入树(JomTree),然后批量地将加入树中的成员部署到主树(MainTree)上。当用户快要离开时,将其插入离开树(ExitTree)。这样平均的加入/离开消耗降低到log(109n)数量级。文献[39]在正T树的基础上,通过优化加入算法、离开算法和树的平衡算法,提出了WJT树(Weighted—JonE)【it.Tree)。三种优化分别是:将新加入用户插入到加入树的根部;根据用户离开时间将离开树组织成一个带有权重的密钥树(WeightedKeyTree);树的平衡算法将树的高度最小化。理论分析表明,基于WJT树的密钥管理模式的平均时间消耗与加入/离开事件次数成线性。在大规模、分布式异构网络环境中,参与组播通信的成员具有不同的能力,然而大多数的群组密钥管理模式并没有引起人们的足够关注,它们给予不同能力的用户以相同的负载。实际上,在建立群组密钥时,应该尽量将资源有限的用户的负载降至最小以保证整个群组能有效地生成群组密钥。文献[40】中群组成员利用会议树(Coz疵renceTree)在DH密钥协商的基础上来生成群组密钥。在建立会议树时,充分考虑用户代价和用户叶子节点到根节点的长度的关系,尽可能地将建立群组密钥时的总开销降到最小(例如用Hufhan树计算)。但是,如果成员发生动态变化时,该方案需要修改会议树来重新生成群组密钥。文献【41]在密钥树方案的基础上提出了基于空间位置服务的密钥管理协议STautll,根据成员位置信息来进行密钥分发。该协议降低了需要分发的密钥数量,因此具有较好的可扩展性,而且可以扩展到多维空间。 硕士学位论文第二章群组密钥管理协议与组播加密方案的研究在大多数的贡献式协议中(除了基于树的方法),计算复杂度和通信量随着成员的数量线性增长。贡献式协议要求每个成员都知道所有成员的关系列表,因此,贡献式方案的可扩展性都不太好,从而不适合于大规模、超动态的组播通信。为了解决集中式密钥管理模式与分布式密钥管理模式的可扩展性与可靠性问题,研究人员提出了一些分散式密钥管理模式。分散式的群组密钥管理方案又称为分层分组式方案,例如10LUS方案【l51。该方案将参与组播的成员进行分组,每个子组存在一个控制节点以管理子组局部的密钥生成、更新、以及分发。分散式密钥管理模式由于采用分层分组的形式,将密钥更新控制在局部范围内,有效地降低了“1影响N"的问题;同时,也可以将节点失效的影响限制在局部范围,有效避免了单点失效的发生,具有一定的容错性。因此,分散式的群组密钥管理适用于大规模、分布式的异构网络环境。但是,划分子组导致了每个子组的控制节点需要解密和重新加密的问题,增加了子组控制节点的计算开销。在动态网络环境中,整个网络不存在可信任的中央控制节点,那么在解密和重新加密的过程中,密钥的明文信息暴露给了转发密钥更新消息的子组控制节点。因此,第三方信任问题也在分散式方案中比较明显,此时组播通信的机密性就完全依赖于对每个子组控制节点的信任。为了解决第三方的信任问题,于是引入了代理加密的思想:给定代理密钥的代理可以将某个节点对应的密文转化为对应另一个节点的密文,而不会泄露任何关于解密密钥或者明文的任何信息。文献[42】提出了适用于大型动态网络的分散式群组密钥管理方案,其使用了ElG锄a1代理加密机制。在更新群组密钥时,每个代理的私有密钥与会话i的群组密钥同时加密下一个会话i+1的群组密钥。该方案的框架建立在基于源的组播树网络的基础上。根节点向所有孩子节点发送密钥更新消息时,间接代理将从父节点接收到的密文转化为只有其子节点才能解密的另一个密文。因此,只有同时知道群组密钥与代理密钥的授权成员才可以解密密钥更新消息,从而获得更新后的密钥。上述安全组播方案考虑了有线网络环境中的成员关系的动态性。在移动的和无线的分布式网络环境的安全组播中,还必须考虑成员位置的动态性。文献【43】基于密钥树方案,提出了使得密钥树与底层的无线网络拓扑结构尽可能匹配的方法,以降低密钥更新时的通信开销。文献【44】则是无线网络中IOLUS方案和密钥树方案的结合。该文提出了基于子组密钥服务器(CellKeySenrer,简称CKS)的两层密钥管理结构。群组密钥服务器(GroupKeySen,er,简称GKS)作为第一层,所有的子组密钥服务器通过有线连接作为控制单元的第二层。第二层将整个群组分成几个小的运行单元由CKS管理,群组密钥服务器与所有12 硕士学位论文第二章群组密钥管理协议与组播加密方案的研究CKS组成一个树结构来进行群组密钥管理。这样有利于提高可扩展性。针对基于簇结构的无线传感器网络,文献【45】提出了TLⅪⅥS,采用两级的管理架构:主级的管理存在于基站节点和簇头节点之间;次级的管理存在于簇头节点和相应簇内节点之间。每一级内采用密钥协商的方法来分发和更新密钥。文献[46]提出了一种基于“簇’’结构的门限密钥分发方案,簇头节点除了在簇内具有I①C的所有功能外,多个簇头节点还形成分布式KDC进行系统密钥管理。但是,其局限性是只针对“簇”结构的自组织网络,而且其簇头节点因为身兼数职而负担过重。在移动与无线分布式网络环境中,由于节点自身能量、计算能力等因素限制,利用分布式认证中心代替传统的单一认证中心也是移动网络环境中群组密钥管理的有效方法之一。针对分布式方案中的多认证中心,文献[47]提出了一种自动修复的密钥管理方案,该方案能够自动检测失效的分布式认证中心,在不需要其它可信第三方协助的情况下自动重建密钥管理服务,恢复整个群组的密钥管理。文献[48]结合固定网络环境中基于身份标识的公钥密码技术和具有最小通信量的群组密钥协商协议(STR协议),提出了一种基于身份标识的贡献式MANET群组密钥协商管理协议CEAGKP。该协议降低了密钥更新的通信量,同时具有较高的安全性和较好的可扩展性,能够适应MANET环境的要求。文献[49】则针对无线传感器网络能量、计算能力、存储空间、以及通信带宽等局限性问题,提出了一种适合无线传感器网络的密钥协商方案。文献[50】基于椭圆曲线密码体制,提出了一种分布式群组密钥管理方案。该方案要求群组成员贡献自己的密钥分量以计算出群组密钥。文献[5l】提出了基于双线性配对密码体制和三叉密钥树的PSTR(BilillearPairing-basedSTR)密钥管理协议,其具有更好的安全性和抗攻击能力,但是,由于通过群组成员共享各自的公钥协商得到群组密钥,这使得在成员变动比较频繁的自组织网络中,计算群组密钥的过程需要很多额外开销。文献[52]中提出的安全组播方案基于10LUS方案。但是,与IOLUS中基于树结构不同,该文提出了融ngNet模型。该模型是逻辑树和逻辑环的结合,既用于组播通信,也用于群组密钥管理。该模型具有很好的可扩展性、可靠性、分区运行性和自组织性,这些特性对成功地将IOLUS方案扩展到异构网络环境中相当重要。文献[52]基于弛gNet模型,提出了基于该模型的“局部组’’概念:局部组内部群组成员的变化只影响到该局部组:而局部组本身的加入或者退出则会影响到整个系统,并且由一个集中式的密钥服务器负责这一级别的密钥管理。由于在实际系统中,所提出的模型中的节点很可能具有某种优先级别关系,即上层的节点较下层节点的优先级别高些,文献[53】基于这种优先关系提13 硕士学位论文第二章群组密钥管理协议与组播加密方案的研究出了进一步减少由于局部组的加入或退出导致的通信开销的方案。但是,该文提出的方案仍然需要一个集中式的密钥服务器计算这种优先关系的各个参数,使得由直接相邻的上层局部组根据这些参数能够推导出下层局部组的子组密钥。为了克服集中式密钥服务器固有的缺点如可扩展性差和可靠性差等问题,针对大规模、超动态组播通信的安全性需求,提出了基于多级密钥服务器的分布式密钥管理方案,以提高系统的可扩展性和可靠性。针对移动组播通信中群组成员关系动态性(成员加入及退出)、成员位置动态性(移动主机的移动性)和网络动态性(节点或链路出错),文献[54】提出了适合于移动组播通信的基于双向令牌的层次环模型。由于结合了逻辑环的简单性和逻辑树的可扩展性,该模型具有很好的可扩展性。2.2传统多权限群组密钥管理协议的研究2.2.1集中式密钥管理协议现有的多权限组播通信的群组密钥管理协议还比较少,可分为集中式和分布式两类。在集中式的群组密钥管理协议中,存在一个控制全局的密钥服务器统一负责密钥的生成和分发,称之为密钥分发中心KDC(KeyDistribu廿onCemer)。文献[55】提出的Multi-研oupKeyManagementScheme(MC}l(MS)协议是一种集中式的群组密钥管理协议。该协议消除了由DG之间成员的重叠而带来的冗余。该协议能在用户加入/退出/改变权限时保证前向安全性和后向安全性。与为每个DG建立一个独立的密钥树相比,该协议能有效地减少存储、计算和通信开销。如图2.2所示。墨:K一{ooll是:%*lollI南:%一{llI}图2—2MGKMS方案密钥图文献[56]则是通过建立一个连接网络(Connec石onNe似ork)来消除由DG之间成员的重叠而带来的冗余,并且通过优化连接网络使得其中的密钥节点比MGKMS要少。但是,如果DG与SG之间关系比较复杂时,构造密钥图(连接网14 硕士学位论文第二章群组密钥管理协议与组播加密方案的研究络)的难度也会增加,并且该协议不能灵活地处理SG的形成和解体。文献[57】提出了适合于无线广播服务的基于密钥树方案的KeyTreeReuse(KTR)协议。KTR协议不需要更新加入路径或离开路径上所有节点的密钥,而是通过识别CriticalKey(在成员关系发生变化或权限发生改变时必须要更新的密钥)集合从而减少了密钥更新的开销。文献[58】提出的Membersmp.0rientedQoupKeyManagemem(MOGⅪⅥ)协议则是一种分布式和集中式相结合的密钥管理协议。该协议将服务群组作为应用层(ApplicationLayer),然后将所有用户对应到这些服务群组张ey.GroupLayer)。这样,就将成员加入或离开带来的影响限定在其所在的服务群组内。改变权限则分为离开和加入两步完成。该协议虽然减小了成员变动所影响的范围,但是,当群组内服务很多时,划分的服务群组将大大增加,成员与服务群组的关系也将更复杂,所以该协议的可扩展性仍然不是很好。在许多实际应用中,组播组中的用户和数据流都能形成偏序关系,而MGl洲S协议只考虑了用户之间的偏序关系,而没有考虑数据流之间的偏序关系。综合考虑用户之间和数据流之间的偏序关系,文献【59]提出了HierarcllicalAccessControlKeyMaIlagementScheme(HACIaMS)。该协议提出了基于统一的有向无环图以构造密钥图的算法。该算法采用宽度优先方式遍历统一的有向无环图,自底向上构造密钥图。该协议的密钥更新方法与MGKMS协议相同,但是HACKMS协议还同时考虑了数据流之间的偏序关系,并且密钥图中的辅助密钥和SK比MGl洲S协议中的要少,因而与MGⅪⅥS协议相比,在密钥更新过程中,该协议具有较少的KDC和用户存储、计算开销。但是,该协议中构造密钥图的方法比较复杂,因为需要将SG和资源组在构造密钥图时形成统一的有向无环图。另外,当数据流的偏序关系发生变化时,该协议需要重构密钥图。以上的多权限群组密钥管理协议只支持单维的数据流。实际上,在某些应用中还可能存在多维数据流。文献[60]提出了Dyn枷cAccessCon廿olScheme(DACS)协议,以支持多维数据流。该协议在支持多维数据流的同时,能够动态地处理SG的形成和解体,尤其是在新的SG形成时具有很好的可扩展性。另外,因为省略了DG子树部分的密钥,该协议的存储开销和密钥更新开销也少于MG砌ⅥS协议。2.2.2分布式密钥管理协议分布式密钥管理协议是通过弱化每个SG之间的联系来实现的。文献[61】提出了分布式的群组密钥管理协议Distm}utedKeyManagementScheme(D王CMS),如图2.3。在该协议中,没有集中式密钥管理协议中的KDC,取而代之的是每15 硕士学位论文第二章群组密钥管理协议与组播加密方案的研究个SG服务器通过协商来得到群组管理密钥。该协议构造的密钥图也包括两个部分:DG部分和SG部分。DG部分由所有的SG服务器组成,其功能是管理所有的SG服务器。SG部分包括该SG的服务器和SG中的所有用户。与MGⅪⅥS协议相比较,该协议能有效地减少存储开销和密钥更新开销,并且支持新的SG的形成和老的SG的解体。但是,与DACS协议相比较,该协议形成一个新的SG相对比较复杂,因为需要更新由所有的SG服务器共享的群组密钥。)一r气≮蛮⋯。;-':.%‘一.:_J固斟-t一⋯2.2.3传统协议的不足图2—3DKMS协议中的密钥图由以上分析可以看出,传统多权限密钥管理协议的实质是在单一权限群组密钥管理协议的基础上进行权限的扩展,把群组中的每个服务组作为单一权限组播通信环境下的群组来对待,然后再解决多个服务组之间的安全问题。集中式的多权限群组密钥管理协议是通过将密钥图中的DG部分进行融合,减少了DG部分的密钥数量,但是同时也增加了各个服务组之间的耦合度。然后再结合其他一些密钥生成办法来应用到具体的应用环境。分布式的群组密钥管理协议则将多个服务组之间通过松散的管理方式组织起来,其耦合度较集中式低,但是整个群组的一些管理密钥往往需要各个服务组协商生成,而且一般也需要设置一个子组的管理者负责整个群组的管理。由于多权限组播通信中,用户具有较高的动态性。而且随着网络技术的发展,群组中数据流和用户的数量往往很大。因此,传统协议中的密钥图会很复杂,用户和群组管理者需要维护的密钥数量也会很大,由于用户权限变动而引起的计算开销和网络带宽占用成为系统扩展的瓶颈。这样就不利于系统的扩展。16~q毗翌_。。。。..。。。●。。。。●。●●I。.。h 硕士学位论文第二章群组密钥管理协议与组播加密方案的研究2.3基于ABE的组播通信加密方案2.3.1研究现状在基于身份的加密方案【6副(Ident埘-BasedEnc巧ption,简称IBE)提出来以后,人们常用Email、身份证号或手机号等来代表用户的身份信息。例如,现在常用的邮件系统只用用户E—Mail来唯一标明一个用户。当需要向该用户发送消息时,只需要用系统的公开参数和该用户的E.Majl信息来加密要发送的消息即可,而不需要去访问独立于接收者的公钥认证中心。但是,这种方案不具有容错性,所以文献【63]中引入了模糊身份(FuzZyIdemit)r)的概念,并提出了一个基于模糊身份的加密方案(Fuz巧Idem畸BasedEnc巧ption,简称FIBE)。在该方案中,用户的身份是由若干属性组成的集合,而不再是简单的单个信息。在加密方案中,只有当用户∞和∞’足够接近时,用户∞’的私钥才能解密用户∞的私钥加密的消息。两个身份属性集合的重叠程度被用作度量标准。与IBE相比,用户的身份由若干属性组成的集合来标识,而不是用简单的唯一信息来标识。基于属性的加密方案(ABE)是在基于模糊身份的加密方案(FIBE)的的基础上建立起来的。在基于属性的加密中,一个用户的身份由多个描述其特性的属性来标明(例如,一个用户的身份用他所在的学校、部门、工作职能来描述)。系统中实体在加密消息时,会指定另外一个属性集,只有当要解密密文的用户的属性集至少有七个在该实体指定属性集中时,该用户才能解密出实体加密过的消息。七值是系统设定的参数。和传统IBE系统一样,在ABE系统中的实体只需要知道用来描述接收者的属性集,并用这些信息来生成公钥即可。它们的不同之处就在于:FIBE偏重于容错特性,而ABE注重的是访问控制。ABE可以分为两种类型:基于密钥策略的ABE(Key-policyABE,简称KP.ABE)和基于密文策略的ABE(Cipherte斌一PolicyABE,简称CP.ABE)。文献[64】针对现在很多用户敏感信息存储在第三方服务器上而难于灵活地控制其访问权限的问题,提出了基于密钥策略的属性加密叫-ABE)。该方案中每个用户对应一个基于用户属性的单调的访问结构,加密者为密文指定一系列需要满足的属性,当且仅当这些属性能够满足用户的基于属性的单调的访问结构时,才能利用拉格朗日插值多项式的原理,恢复出解密密文的密钥,进而利用双线性映射性质恢复明文。这样就避免了加密者直接将密钥告诉授权用户,而是授权用户根据自己的属性恢复密钥,加密数据的访问控制通过对密钥的访问控制实现。文献[65]则针对在一些分布式系统中存储和协调访问控制的服务器被攻破进而导致数据泄密的问题,提出了基于密文策略的属性加密(CP.ABE)。其特17 硕士学位论文第二章群组密钥管理协议与组播加密方案的研究点是加密者为密文指定一个基于属性的单调的访问结构,当且仅当用户的属性能够满足密文的基于属性的单调的访问结构时,才能最终解密密文。这样,属性直接控制了密文的产生,即加密之后就确定了哪些用户能够对它进行解密而不需要借助可信第三方服务器来实现这种控制。文献[66]构造了一个密文长度达到常数规模的CP.ABE系统,而且该系统也可以应用到组播通信中。文献[67]提出了一种采用随机预言模型(RandomOracleModel)的方案。该方案能够有效地解决大规模、松散耦合的分布式系统中的信息安全管理问题。另一个采用随机预言模型的方案【68】还改进了公共参数的个数与属性个数成正比这一不足,使得系统公共参数个数大大减少而且与属性个数无关,同时该方案在密钥提取和加密阶段的效率也大大提升。另外,该文还将该方案的安全性成功地归约到判定双线性DH(DecisiorlalBilinearDi伍e.HellmaIl,简称DBDH)困难问题上来。文献[69】利用双线性映射实现了基于析取范式(DisjunctiveNomalFo肌,简称DNF)的访问控制策略。解密开销只需要计算两次双线性映射,但是密文长度会与DNF中合取子句的数量成比例增加。文献[70】则将ABE中的解密条件进一步扩展到非单调的访问结构,即不仅包括AND和OR关系,还包括NOT关系。文献[7l】则改进了属性的管理和密钥的分发都只是由单一的认证中心(mnhori够)来完成的这一瓶颈,提出允许多个独立的认证中心来管理属性和分发密钥,从而更具实用性。但是,该机制需要一个可信的认证中心(CenificationAumori够,简称CA)。CA持有系统的管理密钥,所以可以解密出所有密文,而且CA可以通过用户唯一的标识(GID)得到用户所有的信息。文献[72]通过移除CA解决了这些问题。文献[73】则是用设置门限值的方法实现了多认证中心的基于属性加密(Multi.A1nhori够ABE,简称MA.ABE)。以上主要讨论了基于属性的加密方案。该方案具有用属性来标识用户、可以用属性来描述密钥或密文、以及支持多认证中心这些特点,从而可以很好地应用到组播通信中来。多权限群组密钥管理的关键之一就是要保证具有权限的用户能够解密数据,而没有权限的用户不能解密数据。当用户加入/退出/更改权限时,相应的密钥需要更新以保证信息的前向和后向安全性。在多权限组播通信中,用户的权限通常是与其某一身份或特性对应的(如性别、职务、年龄等)。基于属性的加密是通过与属性关联的访问结构来控制对密钥(或密文)的访问的,这样可以用基于属性加密中的属性来与多权限组播通信中的权限组或成员对应,当成员权限变动时,只需要修改与访问结构关联的属性集便可实现对用户权限的控制。文献[74】将组播通信与CP.ABE相结合,提出了一种能够抵抗合谋攻击的群组密钥管理协议。但是,该文中的用户属性取的是用户ID字18 硕士学位论文第二章群组密钥管理协议与组播加密方案的研究符串中不同的比特位,其实用性不是很好。文献[75]则将属性与拉格朗日多项式中的系数关联。不同于先前的广播加密方案,该方案提出将ABE应用于无状态接收者(也即无记忆功能)的广播加密中来,将用户和密文与多项式关联,多项式中的系数依赖于属性(用户多项式系数依赖于其拥有的属性,密文多项式系数依赖于解密密文需要拥有/不能拥有的属性),由用户是否能得到正确的最大公因式来决定其是否能得到密文。与传统广播加密相比,该机制减轻了解密者的负担,而且在密钥管理上也较为简单。但是,其访问结构只局限于AND和NOT结构,而没有0R结构。文献[76]提出了一种有效地基于属性的广播加密(A埘bute.BaLsedBroadcastEnc巧ption,简称ABBE)机制,该机制将密文长度降到常数规模。但是其缺点是不支持群组用户关系的动态性。现有的广播加密(BroadcastEnc巧埘on,简称BE)方法可以很好地支持因用户变动而引起的密钥更新,并且具有较好的注销机制。结合基于属性加密对组播通信的良好支持,文献[77]将广播加密和基于属性加密结合起来提出了BroadcastABE。该文提出了一种直接注销机制,当有用户退出群组时,该机制不会影响到未退出的用户,更为重要的是,它不需要周期性地更新密钥信息。与一般ABE相比,该文中要求私钥(PrivateKey,简称PK)与用户ID关联,密文与用户集S关联。这样,解密时除了要满足ABE的属性要求外,还必须有ID∈S。因此,BroadcaStABE可以看成是一个拥有直接注销机制的ABE系统,也可以看成是一个支持多认证中心的ABE系统。文献[78]提出了一种公钥广播加密系统,该系统中的公钥和私钥有固定长度,而且密文也降到D似数量级(,.是撤销的用户数目)。该系统也可以用来实现非单调的ABE系统。但是以上两种方案的缺点是,它们只考虑了群组中用户具有相同权限的情况。2.3.2现有方案的不足ABE是最近兴起的一种“一对多”的加密方案,它能够实现对密文的细粒度访问。通过给密文(或密钥)关联一个访问控制结构,使得拥有属性的用户只有在满足该访问结构时才能得到密文(或密钥)。现有的将ABE应用到组播通信中的方案,都是采用用户共享属性的方法来实现的。通过给具有相同权限的用户分配相同的属性,使得密文(或密钥)能够被这些用户获得。但是目前尚没有一种有效的用户撤销机制来支持群组中的用户动态加入或退出。因为用户共享属性,他们便持有相同的属性密钥。当用户权限变动时,这些属性密钥都需要更新。现有方案都是采用最小合取范式的思想寻找一个最小的更新集,但还是不能避免“一个退出,影响多个"的问题。如果能够找到19 硕士学位论文第二章群组密钥管理协议与组播加密方案的研究一种有效的方法,即利用了ABE的“一对多”加密的特性,也能够保证单个用户加入或退出时的安全,则将大大降低群组管理者和用户的密钥更新消耗。2.4本章小结本章首先介绍了单一权限组播通信中的群组密钥管理协议。因为整个群组中只存在一种权限,其群组密钥管理相对简单。然后介绍了基于树结构的多权限群组密钥管理协议。这些协议是在单一权限群组密钥管理协议的基础上加入对不同服务组的访问权限进行管理实现的。接下来介绍了基于ABE的组播加密方案。这些方案是利用基于属性加密(ABE)能够实现“一对多"加密的特性,融入用户撤销机制实现的。在分析已经存在的密钥管理协议和加密方案的基础上,本章还指出了他们应用到多权限组播通信中的不足,指出本论文接下来将要详细介绍的基于单向函数和多叉树的密钥管理协议和基于ABE的多权限组播加密方案将要重点关注的问题。20 硕士学位论文第三章基于单向函数和多叉树的群组密钥管理协议第三章基于单向函数和多又树的群组密钥管理协议基于文献[79.80】中密钥图的构造方式,本章提出了一种新的群组密钥管理协议:One-WayFullctionaIldMultiwayTree—BaSedQoupKeyMallagementProtocol(OMGM)。该协议在用户改变原有的访问权限时,同一组播组中受到影响的用户能够利用单向函数和随机数【8l】自己更新所拥有的需要更新的密钥。而且该协议在文献【82]构造密钥图方式的基础上,将原来服务组部分的二叉树结构扩展为多叉树结构(数据组部分也支持多叉树结构),从而有效地减少用户及群组管理者密钥存储和更新开销。本章先介绍0MGM协议密钥图中节点ID的分配方式,然后以三叉树结构的密钥图为例,分析了当用户在加入、退出服务组以及在不同服务组之间转移时密钥更新的方法。最后还给出了协议的安全分析。3.1密钥图节点ID的分配在OMGM协议中,密钥图由SG和DG两个部分组成。其中SG部分由所有的SG子树组成,而全部SK节点及SK节点与SG子树根节点之间的密钥节点组成DG部分。SG子树的编号采用素数标记法,即是,墨,...,S,...,其中f为素数。SG部分密钥节点的ID表示为<幻”>,表示它是服务组S子树中的第朋个节点(聊为自然数,从根节点标0开始,自上而下,自左而右排序)。即为S子树的根节点。按此分配节点ID的方式,可以通过简单的公式找到某个节点的父亲节点,例如的父亲节点(此处的x为多叉树的叉数)。DG部分密钥节点的ID表示为<.,,玎>,如果该节点拥有两个孩子节点<五,啊>和<左,心>,则,为五和五的最小公倍数,刀为五和五的最大值。如果某节点仅有唯一的孩子节点<石,啊>,则ID表示为,例如SK节点。在图3.1中,踊,踊,踊是组播管理者用来加密资源RJ,飓,R3的会话密钥,其他所有密钥均为辅助密钥,叶子节点是给每个用户的私钥。图3.1是将密钥图中各节点标记ID之后的结果。群组中的成员拥有从与自己对应的叶子节点到其所能获得的数据流SK节点之间所有路径上的密钥,以及其所在的SG子树中最大的密钥节点的ID。例如用户%。拥有以下密钥:红。.4>,也,.1>,也3’o>,t15’5>,也15'-l,,哎30’15,,吐30,-1>和用户“18的ID<3,12>。2l 硕士学位论文第三章基于单向函数和多叉树的群组密钥管理协议G图3—1多叉树密钥图节点的ID由于SG子树中的节点ID是连续编号,而DG部分是用素数标记,这种标记方法使得用户可以根据某个节点ID推算出其父亲节点ID(或是父亲节点ID的第一个坐标)。所以,当组播组中的用户在知道其他任何一个合法用户的ID时,便可推算出自己与该用户共同拥有哪些密钥。例如,当得知用户%。的用户ID为<3,4>,通过素数特性和寻找父节点的公式(m一1)/x,可得知其拥有&子树内密钥哎,t1>,哎。’0>。而对于DG部分的密钥t枷,,根据歹不是素数且能被3整除可知,用户%o拥有密钥k5’5>,k5。-1>,t,。,5>,也30’-1>。由图3.1可以看出,每个密钥(除了与用户关联的叶子节点)至少被两个用户共享。所以,当有用户加入、退出组播组或者在不同的服务组之间转移时,这些密钥必须更新,来保证前向及后向安全性。OMGM协议在多叉树结构基础上,结合单向函数与随机数,提出了与OFGI洲P协议不同的密钥更新算法。3.2单个用户的加入当有用户请求加入组播组时,群组管理者首先检查请求加入的SG子树是否为满树。如果不是,则将该用户直接插入SG子树最后一层的右边(保证SG子树是一个完全多叉树),并根据ID分配规则为其分配ID。否则,群组管理者下移该SG子树中最后一层最左边的用户节点,并在该用户节点的位置生成一个新的密钥节点,作为该用户节点和新加入用户节点的父亲节点。节点由于下移,其ID会改变。根据的父亲节点这一特点,下移的用户可自行计算出自己新的ID。这里,以用户“请求加入服务组S为例进行加入算法的说明。群组管理者按照前面的要求将新用户材插入S子树,并分配ID,随后广播<柚啥>, 硕士学位论文第三章基于单向函数和多叉树的群组密钥管理协议(J表示该ID是新加入用户的ID)及当前墨子树中最大的密钥节点的ID。从加入节点到该用户能获得的数据流SK节点的所有路径上的密钥都需要进行更新。当群组中其它用户收到群组管理者广播的有新用户加入的信息之后,检查自己保存的最大密钥节点ID是否与新用户加入后SG子树中最大密钥节点的ID相等。如果不相等,则说明SG子树中最后一层最左边的用户下移。下移用户根据接收到的信息计算出自己的新ID,且此密钥树在原下移用户的位置产生了一个新的密钥节点《功>(《伽,=厂(t“,0哎f,o,),其中的最左端的孩子)。如果相等,说明SG子树中原有叶子节点没有下移。所有用户根据接受到的信息推算自己拥有的密钥中哪些需要更新,然后利用单向函数七’=厂(后)计算出更新后的新密钥(尼7为七更新之后的新密钥)。群组管理者也利用相同的单向函数更新需要更新的密钥,并将用户“加入路径上的密钥用安全的单播信道加密发送给他。单个用户加入的密钥更新算法如图3.2所示。图3—2单个用户加入操作的密钥更新算法以用户“:。加入服务组是为例,如图3-3所示。群组管理者首先为用户甜:。产生一个新的用户节点,然后将其插入到子树是中并为该用户分配一个ID,<3,14>。另外,从新加入用户节点<3,14>到其所能获得的数据流的SK节点路径上的所有密钥都需要更新。群组管理者广播<3,14>J(新加入的用户节点的ID)和23 硕士学位论文第三章基于单向函数和多叉树的群组密钥管理协议<3,4>(最子树中最大的密钥节点的ID)给群组中成员。根据群组管理者的广播信息,组播组中原有的用户可以推算出密钥节点t,'l>,哎,,o>,t。5.5>,致。,,书,哎,”,,和丘,o'-,,需要更新,每个用户根据自己持有的密钥情况更新相应的密钥。密钥节点<3,4>是用户节点<3,14>插入时,因为子树最是满树而导致原用户节点下移(下移后的ID为<3,13>)所产生的新密钥节点。所以,用户可以按照如下方式自己更新受影响的密钥:%,>-厂(色。。。>),Jj},<,,扩/(乞。。>),七,<15t,>2/(‰,>),<15。5>。、<15,5>,七,<】5’.。>-厂(色15..。>),Jj},<30’1,>-厂(乞0.1,>),<30。15>。、<30.15>,七,<30,-1>-厂(乞0..1>),他。七,<3,。>2/(乞,。。>o乞,。>)。最后,群组管理者通过安全单播信道将新加入用户“:。所需的密钥发送给s—’zf28:{七乙,4>,七,<3,l>,七乙,0>,Ij},<15,》,七,<15,.1>,后,<30,15>,七r<30,.1>)kq,14>。28、<3,4>。<3,l>’<3。0>’<15。》。<15,.1>’<30。15>’<30..1>一⋯’<3,13><3,14>图3—3用户“29加入组播组后的密钥图3.3单个用户的退出若某用户“请求退出服务组S,则从该用户到他能访问的数据流SK节点之间的所有路径上的密钥都需要更新。该用户首先向群组管理者请求退出该组播24 硕士学位论文第三章基于单向函数和多叉树的群组密钥管理协议组,群组管理者此时需要检查该用户所在的服务组S中是否还有其他用户存在。如果没有用户,则群组管理者直接删除密钥图中SG部分的S子树。然后更新密钥图中DG部分与该服务组相关的密钥(这些密钥的更新规则与下面还有用户存在时DG部分的更新规则相同)。如果服务组S中还有用户存在,密钥更新过程如下:(1)群组管理者广播退出用户节点ID,(£表示该ID是退出用户的ID)。组内其他用户据此消息自行推算出自己与该退出用户共同拥有的密钥,即密钥殷f,向一∥p,⋯,殷‘D>及ID中首元素可被f整除的密钥节点,这些密钥需要更新。(2)群组管理者生成随机数R,将R加密发送至除退出用户“以外的其他所有需要更新密钥的用户。(3)接收到加密随机数R之后,用户用相应的密钥解密出随机数R;并根据退出用户的ID,自行推算出自己与其共有的密钥,将需更新的旧密钥后与随机数尺进行异或运算,再利用单向函数,即公式影=厂(七oR)计算出更新后的密钥。图3.4描述了单个用户退出操作的算法。图3—4单用户退出的密钥更新算法以用户%。欲退出组播组为例,如图3—5所示。用户甜。。所拥有的密钥都需更新。群组管理者从密钥图中移去用户节点t,-12,并广播<3,12>工(退出用户“。。25 硕士学位论文第三章基于单向函数和多叉树的群组密钥管理协议的节点ID)。然后,生成一个随机数天,并加密发送给所有需要更新密钥的用户。s一甜』6:{R)b协,s_“,7:{R)b】b,s_“JD一蛳{R)bb,s_“”一“":{R)bb,s_坳一坳:{R)bm,s一“朋一耽7:{R)b.b。岛中的用户可以根据群组管理者广播的信息推算出品子树中密钥丘。’3>和t,,0>需要更新,拥有密钥哎。’0>和哎。’3>的用户可按如下方式分别计算出磋s》和《3.o>。《3’3>=厂(哎3如。尺),《3.0>=厂(哎s,o,oR)。对于DG部分中的密钥,组播组中的用户可推算出t15.5>,t30’15>,哎15’_1>和哎,。.-。,需更新。用户可分别计算新的密钥《ts’5>和《so,ls,与sK,即《15-5>=厂(t15,5>o尺),《30'15,=厂(哎3”5>0R),《30。-l>=厂(哎3卟1,0R),心5’-1>=厂(k5,小oR)。图3—5用户“。退出组播组后的密钥图■o26 硕士学位论文第三章基于单向函数和多叉树的群组密钥管理协议3.4单个用户的转移若S中的某用户“想转入到S,,可以将这个过程看作用户甜先退出S,再加入S,。群组管理者将用户“的用户节点插入S,子树中,并广播退出和加入节点的ID以及当前S,子树中最大密钥节点的ID,即皿,<,,m>Ⅳ,</,体>。(SL表示是离开的用户节点ID,SJ表示是加入的用户节点ID)。对用户“在S中拥有而在Si中没有的密钥,采用之前单用户退出的方式进行更新。对用户“在S中没有在S,中拥有的密钥,采用之前单用户加入的方式进行更新。密钥更新算法如图3.6所示。输入:盟,</,聊>Ⅳ,</,体>;输出:更新后的新密钥。if(办==力&&(‰!=幼&&用户拥有密钥tm+1>【计算下移用户节点的新ID;醚,,l+1>=厂(t』,I+l,。也』,o,):七2体:聊=【-(m一1)/xJ:1wKle(,,痧0II胗O){r=l(聊一1)/xI:解密得到随机数R:Dec({R)七);心,f>=厂(吒』,oR):,7=芒:聊=l(肌一1)/xI:if用户拥有密钥哎,.卅,磋肋,=厂(丘』’卅>):l检查用户拥有的所有口非素的密钥吐。b;if(口modf—O)&&@mod_,f-0){解密得到随机数R:Dec({R)七):彭<口,6>2厂(艇。.6>oR);)if(口modfI-0)&&(口mod/一0)《咖=厂(t。加):图3—6单个用户转移操作的密钥更新算法例如,用户“,。从S转入到品,如图3·7所示,因&子树是满树,“。用户节27 硕士学位论文第三章基于单向函数和多叉树的群组密钥管理协议点要下移,为符合ID分配规则,其ID变为<2,13>,在原节点哎:.。,位置生成一个新的密钥节点《2.。,,%。在&中的ID为<2,14>。群组管理者广播<3,12>皿,<2,14>Ⅳ和<2,4>。其他用户自行推算出SG部分中需要更新的密钥为也:,.,,哎:。∽也,,,,,也,,。,和七’。:,。,。对于该用户加入路径上的密钥哎:.b和也:.。,,受影响的用户利用单向函数对需要进行更新的密钥进行一次计算,得出更新后的新密钥。Ii},<2,。>=厂(吃’1>),%0>-厂(乞。曲),<2,0>。、电。0>7七’=厂(七。七)。乜,4>。、乜,13>电。0>,对于该用户退出路径上的密钥哎,。,,和哎。。。,,群组管理者从密钥图中移去用户节点哎。.。:,并广播<3,12>工(退出用户“18的用户节点的ID)。然后,生成一个随机数尺,并加密组播发送给所有需要更新密钥的用户。s_助:㈣‰b,s_如一%:{R)‰,s_如一%:㈤k。山,s_坳一助:{天}km。受影响的用户通过解密得到系统生成的随机数R,将需要更新的密钥与随机数R进行异或,再利用单向函数进行一次计算,得出更新后的新密钥。七’=厂(七oR),<3。3>。、<3,3>七’=厂(J|}o灭)。<3。O>。、<3。0>对于DG部分中的密钥,ID中第一位只能整除3的密钥按退出操作进行更新,只能整除2的密钥按加入操作进行更新,即哎15.,>和k。。5.q,按退出操作进行更新。七’=厂(Ij}o励,<15。》。、<15。5>7七,<15,-l>2/(乞15.-1>。尺)。最后,群组管理者只需加密转移服务组用户“。。所需的密钥并将其发送给%8oJ_“18.限:,枷比。∽%。,k∥ 硕士学位论文第三章基于单向函数和多叉树的群组密钥管理协议3.5安全性分析图3—7用户“18从是转入后的密钥图基于前面给出的单个用户加入/退出/转移的算法,本论文将从三个方面分析OMGM协议的安全性:非群组成员的安全性、群组内成员前向和后向安全性、抵抗共谋攻击的安全性。(1)非群组成员的安全性:当攻击者可以窃取组播组中的通信消息时,由于攻击者不属于该群组,他没有解密数据流需要的SK,所以不能够解密窃取到的消息。当攻击者可以窃取组播中的密钥更新消息时(本协议中为随机数),由于他没有旧的SK,因而即使能够获得单向函数,也不能够利用随机数计算出新的SK密钥,也就无法解密窃取的消息。(2)前向和后向安全性:当攻击者向群组管理者申请加入组播组后,可能会试图收集在其加入以前组播的信息。因为该攻击者只有现在的密钥信息,而该信息是由以前的密钥和一个随机数通过单向函数计算得到,具有不可逆性。所以,该攻击者不能得到以前的SK,也即不能获得在其加入以前的信息(实现前向安全性)。对于已经离开群组的攻击者,新的SK是通过离开以前的SK和一个随机数通过单向函数计算得到。虽然攻击者拥有旧的SK和单向函数,但是他不能获得用来辅助密钥更新的随机数。因此也不能计算出更新后的SK,进而保证了后向安全性。若攻击者在不同服务组之间转移,其安全性是由用户先退出群组再加入新的群组的安全性共同保证,同样可以实现后向和前向安全性。(3)抵抗共谋攻击。共谋攻击是当攻击者不是组播组的合法用户时却能通过共谋获得数据流的会话密钥,进而获得组播组中传播的消息。由于OMGM协议中新的SK都是通过单向函数和随机数辅助计算出来的,而单向函数具有不可逆性。因此,就算共谋攻击者获得再多的密钥更新后的信息,也无法由这些29 硕士学位论文第三章基于单向函数和多叉树的群组密钥管理协议信息推出密钥更新前的会话密钥。因此,OMGM协议具有抵抗共谋攻击的安全性。总而言之,OMGM协议保证了只要是不属于该组播组的用户就不能获得该组播组的数据,保证了组播组中的用户不会获得不在其权限内的数据,即保证了前向安全性和后向安全性,并提供了抵抗共谋攻击的安全性。与0FGla佃协议相比,OMGM协议在安全性方面并没有降低。3.6本章小结本章提出了一种基于单向函数和多叉树的群组密钥管理协议。该协议通过素数标记密钥图中的SG子树,这样可以由孩子结点ID快速地推算出父节点ID,亦即确定了从该节点到其所能获得的数据流SK节点所有路径上的全部密钥。在0FGl洲S协议中,密钥图为二叉树结构,而且其密钥节点ID的分配方式仅适用于二叉树,若密钥树为多叉树,当用户访问权限发生改变,原来的密钥更新操作的过程将会变得十分复杂。本章提出的OMGM协议,将密钥图中的二叉树扩展到度大于2的多叉树,通过降低密钥树的高度来减少群组管理者和用户的密钥存储和更新开销。而且该协议利用单向函数与随机数辅助进行密钥更新,能够方便地实现密钥更新同步。后续章节将从理论上对OMGM协议的性能进行分析,并通过模拟实验将其和MGⅪⅥS协议和0FGⅪ订S协议进行比较。30 硕士学位论文第四章基于ABE的多权限组播加密方案本章通过结合抵抗共谋的广播加密方案‘83】和基于非单调访问结构的lo.ABE方案【701,提出了一个针对多权限组播通信的可扩展的加密方案(AScalableEnc巧ptionSchemeforMulti—PriVilegedGkoupCommullications,简称EMGC)。在保证前向安全性和后向安全性的前提下,该方案能够支持动态的用户集合、单调和非单调的访问结构。其中加密方案1在用户改变权限频率较高时具有较好的性能表现,加密方案2能够降低用户的计算开销,并且密文长度较小。本章首先介绍双线性映射的一些基本知识,然后给出了EMGC的通信模型和安全模型,接着详细介绍了EMGC方案的两种加密方法,最后给出了该加密方案的系统描述和安全性分析。4.1双线性映射基本理论4.1.1双线性映射(BilinearMaps)假定G1和G:是两个p阶循环群,G。是加法群,G2是乘法群。g是G。的生成元,P是一个双线性映射e:G,×G,=G,。则e有以下性质【64J:(1)双线性:对于V“,V∈Gl,口,6∈z:,有P:@。,V6)=P(“,V)口6成立。(2)非退化性:P(g,g)≠1。(3)可计算性【75】:对V”,v∈G,.存在一个多项式时间内的算法计算e@,V)。4.1.2关于双线性映射的几个密码学困难问题定义4.1判定双线性Dif!fie.Hellm龇l问题(DecisionalBiliIlearDi伍e.HellmanProblem,简称DBDH问题):G,是一个p阶加法循环群,g为群的一个生成元,口,6,c,z∈Z。且未知,从这些已知信息区分开P(g,g)出和P(g,g)。是困难的。定义4.2判定双线性Dime.HellmaIl假设(DecisionalBilillearDi伍e-HelhnanAssuI】叩tion,简称DBDH假设):某算法在解决DBDH问题时有如下关系IPr[召(94,96,g。,P(g,g)曲。)=0】一Pr[召(94,96,g。,P(g,g)2)=0】I≥E公式(4-1)当且仅当没有算法可以在多项式时间内解出DBDH问题时(即有一个不可忽略的盈余E),DBDH假设成立。定义4.3Z阶双线性Dif!fie.Helllllan指数问题(,.BilinearDif!fie.HellmallExponentProblem,简称,-BDHE问题):G】是一个p阶加法循环群,g,办是31 硕士学位论文第四章基于ABE的多权限组播加密方案群的两个生成元,对f-1,2,...,,,,+2,...2,,假定毋=g∥,从这些已知信息计算出口(g,办)矿1∈G:是困难的。定义4.4判定,阶双线性Dif!fie.HellmaIl指数问题(Decisional,.BilirlearDif!fie.HelhnanExponentProblem,简称判定,.BDHE问题):某算法在解决,.BD艇问题时有如下关系Pr[召(办,g,岛,⋯,gc,g“2,⋯,&c.)=P(gc+1,忍)】I>E公式(4—2)当且仅当没有算法可以在多项式时间内解出,.BDHE问题时(即有一个不可忽略的盈余e),,.BDHE假设成立。4.2基于属性的加密4.2.1访问结构(AccessS仃ucture)定义4-5访问结构(AccessS眦ture)【删:假设有实体集互,P2,...,£。集合A∈2毋,:∥一,对所有B,C,如果由B∈A和B£C能得到C∈A,则称A是单调的。一个单调的访问结构就是集合A的一个非空子集,也即A\{a)。A中的元素称为授权集,不在A中的元素则为非授权集。定义4.6线性密钥共享机制(LinearSecretSharingScheme,简称LSSS)【77】:假设存在一实体集只,尸:,...,只(在本论文中,实体集将被属性集代替),M为一个,x后的矩阵。p是一个将矩阵M的一行映射到一个实体的函数。一个在实体集丑,P:,...,£,访问结构A上的线性密钥共享机制,记为(M,p),必须由以下两个多项式时间内的算法组成:(1)分享(砌口,.P似,们):将要分享的内容s∈Z,作为算法输入。然后算法随机选取M,...儿∈Z。,并且设定V=(s,儿,...虮)。算法输出向量胁,其中包含Z个分量。分享的分量力州1=M·v属于集合p(f),其中M是M的第f行。(2)重建(RecD,zs驴“c疗D玖M,们):算法输入S∈A,并设定J={fp(f)∈s)。算法输出重建参数{(f,鸬)),d,以使∑脚心。乃(,)=J。4.2.2基于属性加密的分类基于属性的加密【67】(ABE)可以看成是基于身份的加密(IBE)的一个升级。在IBE中,每个用户的身份用一个字符串或其它标志来标明(例如,现在常用邮件系统只用用户E.Mail来唯一标识一个用户)。当需要向该用户发送消息时,只需要用系统的公开参数和该用户的身份信息来加密要发送的消息即可,而不需要去访问独立于接收者的公钥认证中心。在基于属性的加密中,~个用户的身份由多个描述其特性的属性来标明(例如,一个用户的身份用他所在的学校、部门、工作职能来描述)。系统中32 硕士学位论文第四章基于ABE的多权限组播加密方案实体在加密消息时,会指定另外一个属性集,只有当要解密密文的用户拥有的属性集至少有k个在该实体指定属性集中时,该用户才能解密出实体加密过的消息。k值是系统设定的参数。和传统IBE系统一样,在ABE系统中的实体只需要知道用来描述接收者的属性集,并用这些信息来生成公钥即可。基于属性的机密可分为两种类型:基于密钥策略的属性加密和基于密文策略的属性加密。(1)基于密钥策略的属性加密(10.ABE)在基于密钥策略的属性加密中,每一个密文被加密者用一个属性集标记。每一个私钥与一个访问控制结构联合,这些访问控制结构控制该密钥可以解密出哪些密文。因为访问控制结构与私钥联合,所以称为基于密钥策略的属性加宓瞰】mo(2)基于密文策略的属性加密(CP.ABE)在基于密文策略的属性加密中,密文被嵌入了访问控制结构,属性集被用来描述密钥。这样,加密之后就确定了哪些用户能够解密密文而不需要借助第三方可信服务器来实现这种控制【651。4.2.3基于属性的加密算法基于属性的加密算法由四个子算法组成【67】:(1)初始化:该算法由一个可信的认证中心运行以创建一个新的基于属性的加密系统。算法输入一个门限值七,输出主密钥(MaskerKey,简称MK)和公钥(PublicKey,简称PK)。(2)密钥生成:可信认证中心运行密钥生成算法以生成一个新的密钥。算法输入表明用户身份的属性集S和主密钥MK,输出该用户的解密密钥(SecretKev,简称SK)。(3)加密:任何要发送消息的用户均可运行加密算法。算法输入要发送的消息M,与密钥或密文关联的属性集S’(基于密钥策略的属性加密中该属性集与密文关联,基于密文策略的属性加密中该属性集与密钥关联)和其他公共参数。输出密文C。(4)解密:解密算法由希望解密密文得到消息的用户运行。当拥有属性集S和解密密钥SK的用户解密密文时,如果IS’nSl≥后,则算法输出密文C解密后的原文地否则,不能解密出原文M。33 硕士学位论文第四章基于ABE的多权限组播加密方案4.3EMGC的通信模型和安全模型4.3.1通信模型EMGC加密方案使用一个能够抵抗共谋的Hash函数来将数据流映射到属性集。整个系统的属性集为4,其中有d个属性。这也意味着在这个组播通信系统中一共有c,个数据流。对于属性集4中的每一个属性口∈4,有正负两个值,分别记为口+和口一。如果某个用户能够访问与属性口相关的数据流,则群组管理者将矿分发给该用户,否则,将口一分发给该用户。由于不同SG中的用户是不交叉的,并且每个SG中的用户具有相同的权限(即访问相同的数据流),本论文提出了EMGC的通信模型(如图4.1)。该模型由群组管理者(GroupCon仃011er,简称GC)、多个服务组(SG)和用户(GroupMelnber,简称GM)组成。在通信模型中,群组管理者是数据拥有者,也承担者给每个服务组中的用户生成密钥的任务。它管理着所有的服务组。图4—1EMGC的通信模型在加密方案1中,当用户切换权限频繁的时候,不管用户能够访问多少数量的数据流,该方案均给每个用户关联d个属性。群组管理者维护着一个属性用户表(A嘶bute锄dUserTable,简称AUTI),用来记录该群组中的属性和用户关系(如表4.1)。表4—1属性用户表I(d;3)在表4—1中,三个属性q,口2,码分别代表数据流蜀,坞,恐。三个服务组分别记为踞,.瞩,.踞。服务组.踊中的用户可以访问数据流{墨),.瞩中的用户可以访问数据流{坞),·瞩中的用户可以访问数据流{墨,马,坞)。所以,分别用属34 硕士学位论文第四章基于ABE的多权限组播加密方案性集{对,丐,丐),{町,口;,丐)和{西,西,西)来标记三个服务组。最后一列记录每个服务组中的用户信息。加密方案2假定每个服务组中的用户数最多为玎’,某一个服务组(陋)能够访问的数据流数为反。在该方案中,每个服务组中的用户是单独编号的,也即对每个服务组,用户ID集合都是U’=∥】_{1,2,...,玎7)。明显地,∥比门小很多。而且,在不同的服务组中,可能存在两个具有相同ID的用户。不同的服务组可以持有不同数量的属性(见表4.2)。该表也是被群组管理者保存,并用来记录该群组中的属性和用户关系。表4—2属性用户表Ⅱ(匾=吃=2,以=3)与表4-l不同,表4-2给服务组阳和.粥,只关联两个属性口1和%。这意味着在过去和现在,服务组.晒和.溉中的用户没有访问过数据流{足>。如果在将来,任意一个服务组中的用户改变权限,需要增加对数据流{足)的访问,群组管理者只需要添加{西>到相应的行。另外,这三个服务组中的用户ID能有重叠。还需要指出的是,在将服务组ID、属性集和用户ID插入表4.2中时,属性集中只包含与这个服务组中用户能够访问数据流相关的正值属性。4.3.2安全模型由于EMGC方案是基于属性的加密方法,本论文定义了selective.set模型【“】,【70】来证明模型的安全性。(1)模型初始化:敌手(ID为“。)声明他要挑战的属性集y。(2)模型建立:模拟器运行&,印算法来建立一个组播通信系统。然后运行C心口纪.粥算法为敌手随机生成一个服务组,并且将系统公共参数给敌手。(3)第一阶段:模拟器将敌手ID甜。放入服务组的用户集。敌手被允许查询与多个访问结构A,相关的私钥。但是对所有的f,y诺A;。(4)挑战:敌手提交两个消息%和M。模拟器选择一个随即比特6∈{0,1),并且用属性集y加密消息M。,最后将密文发送给敌手。(5)第二阶段:重复第一阶段。(6)猜测:敌手输出6’∈{0,1)。如果6=6’,则攻击者获胜。35 硕士学位论文第四章基于ABE的多权限组播加密方案敌手攻击EMGc方案的优势为4机(K)=In眇一6卜去I。在所有的多项式时间内,彳机(K)都是可以忽略不计的,则称EMGC方案在上述安全模型下是安全的。4.4EMGC加密方案本节提出了EMGC方案的两种构造方法。第一种允许每个服务组最多拥有整个群组的用户数量,并且每个服务组中的用户没有相同的ID。所以,群组管理者需要给每个服务组分别关联最多玎个用户和d个属性。然后本论文提出了一个更一般的构造方法。它运行着‰个并行的实例,其中每一个实例对应一个服务组,%为群组中服务组的个数。第二种构造方法去掉了对每个服务组最多刀个用户和d个属性的限制,但是在用户改变权限时其性能较第一种构造方法差。第二种构造方法还能够减少用户的计算开销。4.4.1方法1G.为一个素数阶为p的双线性群,g是它的一个生成元。并且存在P:G,×G,_G,,P为一双线性映射。拉格朗日多项式系数为今,s(x)=兀荨;(其中f∈zp,s∈zP)。组播系统中的用户ID集合为“=【玎】』弭互⋯,锄,属性集合记为4,访问结构记为A(可以为单调访问结构也可以为非单调访问结构)。算法如下:(1)建立(&却):在组播群组建立的时候,群组管理者随机选择唯一参数口,∥∈Z。,并且设定&=g。,92=g,∈G1。则系统的主密钥MK为:删={口,∥)公式(4-3)(2)创建服务组(m口纪.孵):为了创建一个新的服务组,群组管理者首先确定两个参数d和玎,分别用来标记该服务组中的属性数和用户数。因为在构造方法1中,每个服务组拥有相同的属性数和用户数,公钥PK和私钥SK。所以,群组管理者只需要在第一个服务组创建时随机产生/计算这些参数即可。首先,群组管理者随机选择唯一参数,.∈Z。,并设定v=97∈G,。然后随机选择两个矗度多项式p(x)和g(x),要求g(O)=∥。算法还需要计算当江1,2,...,玎,刀+2,...,2玎.时{g∥)∈G1的值。则给服务组%的公钥%(七=1,2,...,%)为:尸墨={g,V,{gp‘。’)os,‘d,{g∥)f=1,2,胡,肿2,.。2。.)给服务组甄的私钥-呱(七=1,2,...,‰)为:·%={,.).36公式(4—4)公式(4-5) 硕士学位论文第四章基于ABE的多权限组播加密方案在得到公钥瓯后,还需要生成两个可计算函数丁,矿:Z。专Gl,其中丁(x)映射到g;4·gm),矿(x)映射到g犯)。所以,这两个函数可以通过拉格朗日插值多项式计算得到。(3)加密(勘c仰ffD以):要加密消息M(与其关联的属性集为{口)∈4)给用户集{材)∈“,群组管理者选择一个随机数s∈Z。,则密文为:c={M·P(g“,旷)5,95,(V·兀g矿州)5,{r(x)‘)州口},{矿(x)5)州。))公式(4.6)(4)密钥生成(物Gg,zP,.口ffD玎):该算法输出一个密钥,在与密文关联的属性集满足访问结构A,并且“,∈{“)的情况下,允许用户Ⅳ。解密密文。首先,线性密钥共享机制用来获得口~州卢的分享{丑)。标记与五相关的属性为口f(可以为正也可以为负)。对每一个变量f,群组管理者选择一个随机值t∈Z。。则与属性q相关的解密密钥为:如果口f为正,口={g}·r(薯)‘,矿).如果q为负,皿’={g}“,y(‘)‘,矿).解密密钥由所有的口和DI’组成。而且不管口f为正还是为负,通过线性密钥共享机制得到的密钥分量是一样的,不同的只是由分量计算得到属性密钥的方法。(5)解密(DPc仰砌以):首先,群组管理者检查属性集{口)是否满足访问结构A。如果不满足,则输出空。否则,群组管理者确定一个多项式系数集{q),使得乞哆丑=口V加。解密过程如下:a.计算ABE算法中的属性部分【70】:如果与元关联的属性为正:K=丛爱鬻=P(&,曲“.公式(4-7)。P(g‘,丁(薯)5)一”。7一。”7如果与五关联的属性为负,首先计算拉格朗日多项式系数{仃,),使得乞吒g(x)=g(o)=∥。然后计算K’2:乙孑‘1=f石歹舌害萼;三暑‰2Pcg:,g广五·公式c4·8,b.计算解密密钥过程如下:37 硕士学位论文第四章基于ABE的多权限组播加密方案P(,,(V兀,“’)。),趾面=薪‘麝P(,,(g7兀,1。’)。),2万‘孟葡。丽巧P(g,g)4。’”P(g,兀94。+1。7+。’)。,一—瓦==7可‘石忑矽一,一一、口。,¨.,一一、口““,l=P(g,g)4’·P(g,g)∥⋯‘·————bP(g,g)“=e(g“,24)s.然后就可以利用解密密钥K解密密文C,得到原文M。4.4.2方法2公式(4-9)上一节介绍了一种组播通信加密方案,它允许服务组拥有和整个群组相同的用户集和属性集,该方案支持群组中只有一个服务组的情况。群组中的用户从1到玎连续编号。因为某个服务组中的用户数和属性数通常情况下比整个群组的小很多,所以,上面那些设置导致了很多冗余。所以,这一节提出了一个更一般的加密方案。这里,群组管理者运行Ⅳ坼个并行的实例。它在密文和公钥之间进行了折中。和加密方案l相比,加密方案2给每个服务组关联了更少的用户数和属性数。由于一个属性会引起两到三次双线性运算,这使得解密过程中的双线性运算次数大大减少,从而降低了群组成员的解密计算开销。基于ABE的多权限组播加密方案2如下(这里主要给出该方案与方案1的不同):(1)建立(&却):系统的建立算法与方案1相同。(2)创建服务组(DP口fPSG):与方案1不同,在方案2中群组管理者给每个服务组关联不同数目的属性。用户数目相同,记为拧’,但是每个服务组中的用户是单独编号的。与方案1不同的是,群组管理者随机选择一个参数集{%)∈Z。,并为每个服务组.甄设定v七=g乍∈G。。然后为每个服务组随机选择两个攻度多项式A(x)和吼(x),要求吼(0)=∥。算法还需要计算当江l,2,...,玎’,刀’+2,...,2,z’时{g∥)∈G1的值。则给服务组.瞩的公钥%(七=1,2,...,%)为:%={g,咋,{gAo’)曲;噍,{g靠“’)吲珥,{gq)两厶J·,。,+2,2。t.)公式(4-10)给服务组蹶的公钥.SK(七=1,2,...,%)为:38 硕士学位论文第四章基于ABE的多权限组播加密方案瓯={咯).公式(4-10)在公钥Ⅸ中,{g喁)f=1疋』,,。.+2':。.对所有的服务组都是一样的,所以,群组管理者只需要在系统建立时候计算一次。对服务组.瞩来说,在得到公钥尸K。和私钥.S墨后,还需要生成两个可计算函数瓦,圪:z,一G。,其中正@)映射到g尹·g^‘“,K(x)映射到g靠‘引。所以,这两个函数可以通过拉格朗日插值多项式计算得到。(3)加密(砌研叨ffD,2):要加密消息M(与其关联的属性集为{口)∈4,其中有或个属性)给用户集{甜)∈“,群组管理者选择一个随机数J∈Z。,则密文的形式除了用拧’替换方案1中的"以外,与方案1中的密文有相同的式子。(4)密钥生成(研GP,zPmffD”):该算法与方案1中相同。只是在最后的密钥中,要用巧替换,.。(5)解密(DPc唧砌聆):解密算法与方案1中相同。4.5EMGC加密方案的系统描述这~节将对EMGC方案进行系统级的描述。通过应用上一节提出的算法,EMGC方案能够达到细粒度的访问控制策略,并且能够实现安全可扩展的多权限组播通信。4.5.1系统建立群组管理者首先运行&印算法,产生一个系统管理密钥懈。然后,它创建一个空的属性用户表AUT(根据选用的加密算法不同,分别为表4.1和表4.2)来记录群组中的服务组和与服务组关联的属性和用户。4.5.2单个用户的加入当单个用户想要加入群组时,他首先向群组管理者提出申请。如果该申请通过,群组管理者将检查该用户要加入的服务组是否已经存在。如果不存在,群组管理者需要运行C托砒.粥算法来为该用户建立一个新的服务组(记为.好,)。然后,群组管理者选择一个未用的ID(记为甜,)给该用户。并且,给该用户分配一个访问结构A。然后利用忍纱Ge甩P,.口疗D”算法生成该用户的解密密钥。最后通过在群组管理者和该用户之间建立的一个安全单播信道将用户ID、访问结构和解密密钥发送给该用户。在完成以上这些操作以后,群组管理者按照下面的方法更新属性用户表(AUT):如果新用户将要加入的服务组在系统中不存在,则群组管理者要将服务组ID阳,、一个属性集{口)和用户ID甜,作为新行插入表中。如果采用加密39 硕士学位论文第四章基于ABE的多权限组播加密方案方案1,属性集{口)由所有与用户能访问数据流关联的正的属性集和用户不能访问的数据流相关的负的属性集组成。这些属性的个数为d。如果系统是采用加密方案2,则属性集{口)由与用户能够访问数据流关联的正的属性组成。如果新用户要加入的服务组在系统中已经存在,则群组管理者只需要将用户的ID甜.插入相应的用户组即可。已经在群组中的用户不需要做任何操作。该方案的前向安全性如下:假定用户甜,加入服务组.蹈,之前的用户集为U,,用户“,加入后的用户集为U,’=U,+“,。如果U,为空,也即“,是该服务组的第一个用户,则在甜,加入之前,该服务组中没有消息传递。如果U,不为空,则材,在U,’中但是不在U,中,所以“,只能够利用DPc唧ffD玎算法解密出与U,7关联的密文。群组中已有的用户在U,和U,’中,所以他们能够解密用户“,加入之前和加入之后的密文。4.5.3单个用户的退出当单个用户想要退出群组时,他也需要首先向群组管理者提出申请。如果该申请通过,群组管理者将该用户的ID,记为甜,,移出当前他所在服务组的用户集。然后,管理者检查是否还有用户在这个服务组中,如果没有则直接从属性用户表中移除该服务组对应的行。如果还有用户存在,则群组管理者在后面运行勘c唧打D玎算法给这些用户加密消息时,只需要采用新的用户集即可。已经在群组中的用户不需要做任何操作。该方案的后向安全性如下:假定用户“,退出服务组.晒之前的用户集为∽,用户甜,退出后的用户集为∽’=∽一“,。如果∽7为空,也即%是该服务组的最后一个用户,则在Ⅳ,退出后,该服务组中没有消息传递。如果弘7不为空,则“,在∽中但是不在珥7中,所以“,只能够利用Dec仰ffD,z算法解密出与∽关联的密文。群组中已有的用户在U,和U。’中,所以他们能够解密用户“,加入之前和加入之后的密文。4.5.4单个用户的转移当单个用户“。想要从服务组.蜗转移到服务组.粥,(假定服务组.%的属性集为{口,),服务组.阳,的属性集为{口,))时,群组管理者首先将用户的ID从服务组.粥,的用户集移到服务组阳,的用户集(还需要检查服务组.踽中是否还有用户存在和服务组阳,是否已经存在,操作与单个用户退出时相同)。然后群组管理者运行‰y@玎P阳力D玎算法给用户”。生成解密密钥。如果系统是根据加密方案1建立的,在劬Ge玎P,.口疗。玎算法中,群组管理者只需要重新计算在{口,)和{口,)中有不同符号的属性密钥,然后发送给用户甜。。这样,用户“。运行眈c仰rfD,2算法解密时,只需要用未改变的属性密钥和接收到的改变了的属性 硕士学位论文第四章基于ABE的多权限组播加密方案密钥解密即可。如果系统是根据加密方案2建立,群组管理者需要计算所有在{q)中的属性对应的属性密钥。前向和后向安全性如下:对服务组.踽,后向安全性与单个用户退出相同;对服务组·踊,前向安全性与单个用户加入时相同。4.5.5批量更新当用户加入、退出和转移请求频繁时,对每一次请求单独操作将会对群组管理者和网络产生很大的负担。批量更新的基本思想是:在一个时间段内,群组管理者只收集用户的加入、退出和转移请求,然后在时间段最后对这些请求进行统一处理。在本章前面提出的加入、退出和转移机制也支持批量更新。4.6安全性分析本节对EMGC方案(基于加密方法1)给了一个直观的安全证明,基于加密方法2的证明与这个类似。密文的形式为c={M·P(g旷,g口)5,95,(v·兀g一)5,{丁(x)5)州口},{y(x)5)圳。))。由于原文M只以形式M.P(g“,98)5存在手謦文中,攻击者必须要构造双线性映射P(g∥,94)5=P(g,g)矿“‘,从而能够从其中解密出原文M。95能够从密文中得到,但是因为判定性Z阶BDHE困难问题,攻击者不能从已知的g∥(f-1,2,⋯,以,咒+2,⋯,2刀)计算出g矿1,或者是构造双线性映射P(g∥“,95)得到P(g,g)∥5。另一种方法是类似于解密过程,用(v.上lg∥岫)‘和g。还原g矿“。但是因为DBDH困难问题,攻击者不能从(g,g旷,97,95)得到P(g,g)”。另外,由于攻击者不能获得任何一个用户的所有合法属性密钥(否则攻击者就是一个合法用户了)。这里假定攻击者获得某个用户“的所有属性{q)。搿豇衙,除了q。同时攻击者还获得另一个用户的属性q。这样他便获得了与用户甜相同数量的属性。然后攻击者利用这些属性获得相应的属性密钥,进而计算出P(g,g)4V。。因为在K砂GP船P阳ffD力算法中,线性密钥共享用来获得与每个属性对应的关于口~州∥的分享{五),而且在眈c卯矗D以算法中,要确定一个多项式系数集{q),用来得到乞q五=口~州∥。由于属性%和{口f}。g姐m属于不同的用户,所以攻击者不能从吃。屯。+艺州q)哆五得到口V加。综上所述,攻击者不能得到原文M。4.7本章小结本章提出了EMGC加密方案。该方案用属性来标记数据流,这样拥有属性的用户就能访问相应的数据流。同时群组管理者在加密时还将用户ID信息加入41 硕士学位论文第四章基于ABE的多权限组播加密方案密文,这样就保证了不在指定用户集中的用户不能解密该密文。EMGC加密方案就是通过属性和用户ID的共同作用来实现对密文的细粒度访问。本章提出的加密方法1给群组中每个用户关联相同数目的属性,给密文指定的用户集包括群组中所有用户的ID,这种设置使得用户在不同权限组之间转移时群组管理者和用户的计算开销较少。加密方法2给每个用户关联的属性数目不同,而且每个服务组中的用户单独编号,这样减少了加密/解密过程中的双线性运算次数(即计算开销)。在对该方案进行的系统描述中,给出了当用户加入/退出/转移时,EMGC加密方案中各个算法的执行情况。而且该方案还能够实现前向、后向安全性和抵抗共谋攻击,保证通信过程中消息的安全性。42 硕士学位论文第五章0MGM协议和EMGC方案的性能分析前面两章分别介绍了OMGM协议和EMGC加密方案,它们分别是基于树结构的密钥管理协议和基于ABE的多权限组播加密方案。由于其侧重点分别在密钥管理和加密方法上,本章将分别就其性能进行理论和模拟实验分析。首先就群组管理者在密钥更新过程中组播、单播信息大小和群组管理者/用户的存储、计算开销等方面比较了OMGM协议与MGⅪⅥS协议和0FGⅪ岬协议。然后比较了EMGC加密方案与其他基于ABE的组播加密方案和MGl(MS密钥管理协议。5.1OMGM协议的性能分析由于OMGM协议是在OFGl洲P协议基础上改进而来,而MG壬

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭