CN1716853A - 基于物理层次的组播密钥管理方法 - Google Patents
基于物理层次的组播密钥管理方法 Download PDFInfo
- Publication number
- CN1716853A CN1716853A CNA200410041119XA CN200410041119A CN1716853A CN 1716853 A CN1716853 A CN 1716853A CN A200410041119X A CNA200410041119X A CN A200410041119XA CN 200410041119 A CN200410041119 A CN 200410041119A CN 1716853 A CN1716853 A CN 1716853A
- Authority
- CN
- China
- Prior art keywords
- group
- multicast
- key
- physics
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明是一种用于组播网络中的基于物理层次的组播密钥管理方法,它涉及到因特网安全组播领域,是用于组播服务中划分子组、组播密钥管理和组播通信的方法,可以有效的减少组播密钥更新的开销。组播发送源使用本地子组通信密钥加密数据后组播给本物理子组,本物理子组的组安全代理收到后,解密后再使用逻辑子组通信密钥加密后组播给其它的物理子组,其它物理子组的组安全代理收到后使用逻辑子组通信密钥解密后,再使用本地子组通信密钥加密组播给本物理子组的组播接收者,组播接收者使用本地通信密钥解密获得数据。本发明能够有效的划分子组,解决安全组播的密钥管理问题,减少了组播密钥更新的开销,且没有规模限制,具有良好的可扩展性。
Description
技术领域:
本发明涉及因特网安全组播领域,用于组播服务中划分子组、组播密钥管理和组播通信的方法。
背景技术:
组播技术可以节省网络资源,便于在一对多及多对多的场合中使用。组播技术被越来越多的应用到各种宽带业务中,如新闻点播、视频会议等。
图1显示的是一个组播服务的网络拓扑图。组播发送源(发送者,Sender)通过组播路由器(Multicast Router,MR)接入网络,向组播地址发送组播数据(例如图1中的192.168.2.9);各个子网内的用户向网络发送加入请求报文(IGMP),加入组播组成为组播成员(Receiver/Member),接收组播数据(例如图1中的192.168.3.11和192.168.6.141);子网内未加入组播组的用户(Host/Non-member)不能接收组播数据(例如图1中的192.168.3.75)。组播发送源和组播接收者统称为组播参与者。组播路由器之间运行距离矢量组播路由协议(DVMRP,Distance Vector Multicast Routing Protocol)或协议无关组播(PIM,Protocol Independent Multicast)等组播寻路协议,建立共享的组播树,将组播数据从组播源传送到组播成员。
当前使用的组播控制方法允许任何用户加入组播组。该用户的主机可以发送加入请求报文给邻近的组播路由器,该路由器即向上层组播树发出加入请求。在现有的组播控制方法中,没有任何的接入控制,所有加入请求都会被成功响应。一旦请求加入成功,组播树就会延伸到该子网,发出加入请求的主机就可以接收组播数据。
现有组播控制方法中的另一个问题是,对于组播的数据源没有认证功能。某个主机只要知道了组播服务使用的组播地址,就可以向该组播地址发送干扰数据。这会造成如下后果:①导致正常的组播业务质量下降,②浪费网络资源,影响网络服务质量。
为解决以上问题,当前安全组播研究中提出的一种方法是对组播数据进行加密,只有获得密钥的用户才能解密数据。在安全组播中,组播发送源用通信密钥对数据加密,组内每个用户共享该密钥用来解密加密的数据。该通信密钥由一个可信赖的组控制者来发布和更新。当有用户加入或退出时,为了保证新加入的用户不能解密以前的数据,退出的用户不能解密以后的数据,都要重新发布新的通信密钥,称为密钥更新。现有的组播密钥管理方法中,密钥更新是针对当前组播组内所有的用户同时进行,当组播组的规模很大时,每次密钥更新的开销都会非常大,严重影响了组播服务的质量。
发明内容:
本发明的目的是提供一种基于物理层次的组播密钥管理方法,以减少组播密钥更新时的开销,并实现安全组播。
本发明的技术解决方案如下:
提出的基于物理层次的组播密钥管理方法包括分组、通信及密钥分配方法;其中的分组方法将所述组播组的子组仅仅分为两个层次:①用户层:包括多个物理子组,它们分别受控于各自的组安全代理,每个组安全代理负责维护一个本地子组通信密钥;②代理层:包括一个逻辑子组,它由多个组安全代理组成并使用一个逻辑子组通信密钥。
基于上述分组方法,将动态性低的用户层物理子组合并到由静态的组安全代理构成的代理层逻辑子组,使子组融合。
其中的密钥分配方法中所采用的密钥更新方法为:代理层子组的周期密钥更新方法:代理层的逻辑子组通信密钥定期更换,由每个组安全代理采用相同的公式SEK0(n,t)=f0(s,n,v0)计算得出,不须发布密钥更新报文;用户层子组的批次密钥更新方法:组安全代理统计组播参与者加入或退出的次数达到门限时,更新本物理子组的本地子组通信密钥,采用公式SEKi(n,t)=fi(s,n,vi)计算得出,然后向组内的组播参与者发布密钥更新报文更新本地子组通信密钥。
其中的密钥分配方法中还增加了密钥预告方法:在物理子组内,组安全代理提前向各个组播参与者发布下一版本的本地子组通信密钥。
组播组中的各个组播参与者的通信过程为:①组播发送源用本地子组通信密钥对消息进行加密,在本物理子组内组播该加密数据,同一物理子组的用户利用本地子组通信密钥解读该数据;②本物理子组的组安全代理收到密文后用本地子组通信密钥解密,再将解密的消息用逻辑子组通信密钥加密,然后向本逻辑子组中的其它组安全代理组播加密的数据;③其它物理子组的组安全代理用逻辑子组通信密钥解密来自上述物理子组的密文消息,获得消息后再各自用它们的本地子组通信密钥加密,并向各自物理子组内组播加密数据;④其它物理子组的组播接收者接收到密文后,用各自物理子组的本地子组通信密钥解密并获得消息。
在上述方案中,各部分的工作过程如下:
所述的组播发送源的工作过程包括如下步骤:①当它要发送组播数据时,它首先寻找最近的一个物理子组,将自己的认证信息发送给该物理子组的组安全代理;②等待该物理子组的组安全代理的认证,认证成功后获得本地子组通信密钥;③使用本地子组通信密钥进行加密,将加密后的数据组播出去,并监听组安全代理的密钥更新;④需要退出组播组时,发送离开报文,退出组播组;
所述的组播接收者的工作过程包括如下步骤:①当它要接收组播数据时,它首先寻找最近的一个物理子组,将自己的认证信息发送给该物理子组的组安全代理;②等待该物理子组的组安全代理的认证,认证成功后获得本地子组通信密钥;③接收组播数据,使用本地子组通信密钥进行解密,并监听组安全代理的密钥更新;④需要退出组播组时,发送离开报文,退出组播组;
所述的组安全代理的工作过程包括如下步骤:①首先,计算获得本代理层的逻辑子组通信密钥以及本地子组通信密钥,并定期计算更新逻辑子组通信密钥;②启动进程,不断地监听组播参与者的加入或退出请求,并对认证后的加入者给出本地子组通信密钥;③统计组播参与者加入或退出的次数,当达到规定的门限,进行密钥预告操作,更新的本地子组通信密钥是下一版本的本地子组通信密钥;④根据组播参与者变化次数,当少于规定的门限时,进行子组融合,将该物理子组合并到逻辑子组;合并后,当变化次数大于规定的门限时,将该物理子组从逻辑子组中分离出来,成为独立的物理子组;⑤启动进程,监听本物理子组内有无组播源需要发送数据;⑥当有组播源发送数据时,接收数据,使用本地子组通信密钥解密,再使用逻辑子组通信密钥加密数据,组播给其他的物理子组;⑦启动进程,监听有无从其它物理子组发送的组播数据;⑧当有本物理子组需要的组播数据时,接收数据,使用逻辑子组通信密钥解密,再使用本物理子组的本地子组通信密钥加密,然后组播到本物理子组。
本发明的关键在于将大规模的组播组按照地域划分为多个物理子组,在各个物理子组内进行密钥管理、密钥更新和组播数据。基于物理层次的组播密钥管理方法在两个层次(用户层和代理层)上来划分子组,用户在划分的物理子组内使用本地子组通信密钥加密或解密数据,各个物理子组之间使用逻辑子组通信密钥加密或解密数据,将密钥分层次进行管理。还提出了在用户层和代理层的密钥更新方法,以及密钥预告和子组融合的方法。可以在组播环境中有效地对组播数据进行加解密,并对加解密的密钥进行有效的管理和更新,解决了组播中的数据安全通信问题及密钥管理问题。相比当前使用的密钥更新方法,本发明在各个物理子组内独立的进行密钥更新,大大减少了密钥更新时的开销,是一种适用于安全组播领域的有效方法,具有良好的应用前景。
附图说明:
图1是现有的组播服务网络拓扑图;
图2是简单密钥分发中心示意图;
图3是安全分发树的示意图;
图4是基于物理层次的组播密钥管理方法示意图;
图5是密钥更新报文格式图;
图6是批次密钥更新示意图;
图7是子组密钥预告示意图;
图8是子组融合示意图;
图9是组播发送源工作过程图;
图10是组播接收者工作过程图;
图11是组安全代理的工作过程图。
具体实施方式:
下面结合附图和实施例对本发明内容及其所依据的背景技术作详细叙述:
(1)简单密钥分发中心(SKDC)
在现有的组播模型中允许任何主机不经审核地加入组播组,没有对组播参与者进行接入控制。任何主机可以发送加入请求报文给邻近的组播路由器,该路由器即向上层组播树发出加入请求。一旦请求加入成功,组播树就会延伸到该子网,发出加入请求的主机就可以接收组播数据。
对于一个通信业务,最实际可行的保密措施是对业务数据进行对称加密(如采用DES等加密算法)。对称加密的特点是加密数据的密钥和解密数据的密钥是同一个(或者,能从其中一个立即推算出另一个),这在组播通信中就成为标志组成员身份的通信密钥。只要一个用户持有当前通信所使用的通信密钥,它就可以对组播数据解密加密。一个不持有当前通信密钥的用户,即便它能接收到组播数据,它也无法解读出其中的信息。
安全组播的一种方法就是所有组成员共享一个不被未授权用户所知的通信密钥,通常称之为业务加密密钥SEK(Session Encryption Key)。本发明中采用“通信密钥”或“SEK”的叫法。SEK是对称密钥,组内所有通信都用它进行加密和解密。对于单源组播这种具有代表性的业务,组播源采用SEK对明文业务进行加密,而所有的组成员采用SEK对密文数据进行解密。由于单源组播考虑的是只存在一个数据发送者的情况,有些问题会变得很简单。例如,恶意的攻击者虽然可以向组播组发送干扰数据,但由于它不知道SEK,因而用户能识别出哪些数据有用、哪些没有用;只要接收到的数据能用SEK正确解密,那么它肯定来自授权源并且报文是完整的。
组控制者GC(Group Controller),负责访问控制和密钥管理。组控制者和数据发送源可以是不同的实体,尽管ISP(因特网服务提供商)可能会将组控制者和组播源用同一台高端机器来实现,应用中可以视组播源为一永久组成员。
简单密钥分发中心SKDC(Simple Key Distribution Center)是最简单、最直观的密钥管理方案,它的实质就是组控制者通过加密的单播把通信密钥SEK更新到组播组中的每个成员。
SKDC是最基本的线型(linear)密钥管理方法,在SKDC方法中,每个成员拥有一个私有密钥用来加密通信密钥,称为密钥加密密钥(Key Encryption Key),本发明中简写为KEK。每当有成员关系变动(加入或退出)时,GC使用各个用户的KEK加密SEK得到KEKi(SEK),然后依次将KEKi(SEK)单播给每个成员。GC存储所有N个KEKi并负责产生SEK,用户Mi则存储仅为自己与GC所知的KEKi并用之解密出SEK,如图2所示。这样,GC添加一个成员需要执行N+i次加密传送,排除一个成员需要执行N-1次加密传送。
(2)物理层次结构
物理层次结构,这是一种具有可扩展性的安全组播方法。图3是一棵安全分发树,它包含了一些小的安全组播子组(subgroup)并组织为一种物理的或地域的层次结构。因此,这样的一个安全组播组实际上是由各子组所聚合而成的一个虚拟的群组,这些子组是各自独立的,物理层次结构因此得以解决密钥管理的扩展性问题。
所谓独立,不仅是指安全分发树中的各子组使用不同的组播目的地址,它们还各自使用不同的子组密钥。在物理层次结构中不存在全局性质的通信密钥,而是每个子组使用各自的通信密钥来加密数据业务。这样,当某个成员退出,或者某个用户加入进来时,只有特定的子组发生成员关系变化;这种加入或退出由于子组的划分而限制成为一个局部事件,不会波及到其他子组。因此,密钥更新只是一种相对小范围的操作。物理层次结构通过把一个大型群组分割为多个相对无关的子组,从而克服了密钥管理的可扩展性问题。
物理层次结构引入两种类型的网络实体来管理子组:
①组安全控制者GSC(Group Security Controller),它负责控制最高级别子组(top-level subgroup,如图3中的G1),位于安全分发树的树根位置,它实际上就是前文中称为GC的组控制者;
②安全中介GSI(Group Security Intermediary),也是可信赖的服务器,负责控制其他子组(如图3中的G2A、G2B、G2C,以及更低级别的G3A、G3B),且每个子组分派一个;每个GSI都是上级GSI或者GSC的代理。
上面的GSC和GSI又统称为组安全代理GSA(Group Security Agent)。
物理层次结构考虑的是多对多组播,组成员既是数据发送者又是数据接收者,它们加入到各自的当地子组,而这些子组又靠GSA“拼接”形成一个虚拟的大型群组,也就是面向应用的安全组播组。这当中其实主要是GSI在起作用,它们按照各自在层次结构中的级别(level)加入到子组中:负责控制第L级子组的GSI加入第L-1级的子组(当L-1=1时就是GSC控制的顶级子组),并且在这两个级别的子组之间进行组播业务数据的转发。由于不同的子组使用了不同的通信密钥,因此GSI在转发之前需要先对密文数据进行解密,然后再次对明文数据进行加密。物理层次结构之所以采用安全分发树这样一种结构是为了防止在数据转发过程中出现回环,这种树状结构本身可以是比较松散的,如附图3所示。物理层次结构的主要优点在于成员加入或退出只触发特定子组内的成员关系变动,但其主要缺点在于各GSI需负责不同子组之间的密文“翻译”,即用一个通信密钥解密消息,再用另一个通信密钥加密后转发,如此反复,从而引入了较大的计算开销。
(3)基于物理层次的组播密钥管理方法
1、基本原理
本专利提出的基于物理层次的组播密钥管理(MKMPL,Multicast Key Managementbased on Physical Level)方法,如附图4所示。它是一种新型的双层次结构及基于版本管理的密钥更新和数据传送协议。该方法将一个大型的组播组划分为多个彼此不相关的物理子组。将物理或地域相近的组播参与者组织成为一个小的安全组播子组成为物理子组。各个物理子组由一个组安全代理进行管理,多个组安全代理构成了一个逻辑子组。
考虑到如图3所示的物理层次结构显得过于松散,图4提出的基于物理层次的组播密钥管理方法只在两个层次上来划分子组:
①用户层(user level):包括m个物理子组subgroup1~subgroupm,它们分别受控于各自的组安全代理GSAi,每个组安全代理负责维护一个本地子组通信密钥SEKi;
②代理层(agent level):包括一个逻辑子组subgroup0,它由m个组安全代理组成并使用一个逻辑子组通信密钥SEK0。
在后文中,下标i和下标0将按以上的层次定义区分开来。例如subgroupi就是指用户层的物理子组(i∈[1,m]),而代理层将使用明确的下标0(如subgroup0)来指代。
当新用户加入组播组时,它找到地域上最近的一个subgroupi,由GSAi进行身份认证,获得本地子组通信密钥SEKi。各个GSA独立地维护其用户层子组的SEK,采用密钥管理方案SKDC进行密钥更新。
所有的GSA共享一个代理层的子组密钥SEK0。这些GSA将扮演类似口译人员的角色,在子组之间负责数据的“翻译”和转发。MKMPL既能适用于一对多组播,也能适用于多对多组播。例如,考虑在某个安全组播业务中,M1a是subgroup1中的一个成员,它要向全组发送一则消息,这个通信过程如图4所示:
①M1a用SEK1对消息data进行加密,SEK1(data)表示加密后的数据,在subgroup1内组播SEK1(data),同一物理子组的用户使用SEK1解密该数据;
②GSA1收到密文SEK1(data)后用SEK1解密。每个GSAi都既知道SEKi又知道SEK0。GSA1再将消息data用SEK0加密,然后向subgroup0内的其它GSA组播SEK0(data);
③GSAi(除了GSA1)用SEK0解密来自GSA1的密文消息,获得data后再各自用SEKi加密,并向subgroupi内组播SEKi(data)。
④subgroup1外的subgroupi的用户在接收到GSAi的密文后,用SEKi解密并获得data。
图4中出现了三道加密和三道解密,所有不属于subgroup1的群组成员现在都能获得M1a发送的data了。上述加密过程分别发生在发送源端及GSA的输出接口,而解密过程分别发生在GSA的输入接口及用户接收端。
2、密钥生成与发布
MKMPL的设计目标是成为多对多保密通信的一般性解决方案,在其之上可以同时运行多个安全组播业务。首先来看子组通信密钥的生成与发布,这是一套基于版本管理的方法。①代理层:周期密钥更新
代理层的逻辑子组subgroup0实质上是一个静态的子组,它由多个静态的组安全代理组成,组安全代理在组播业务中不会发生加入或退出操作。该子组执行相对简单的周期密钥更新,即SEK0定期更换,其特色在于subgroup0中将不会交换任何单播或组播的密钥更新报文。
每个GSA都维护一个定时器,子组密钥SEK0由各GSA同步地、各自地计算出:
SEK0(n,t)=f0(s,n,v0) (1)
公式中的f0是一个带有三个参数的单向函数,单向函数指只能由参数计算出结果,而不能由结果推算出参数的函数,满足此条件的函数都可以使用,例如哈希函数就是一种单向函数。公式(1)的参数说明如下:
s:是单向函数f0的秘密种子,它由各GSA在业务初始化阶段协商产生,并且仅为GSA所知。
n:是业务编号(session number)。这是组播业务的标识符,它体现了MKMPL对多业务的支持。不同的组播组具有不同的业务编号。
v0:是密钥SEK0的版本号,由于它实际上还关联着具体的业务(此处为业务n),因而它其实是v0n的简写。这是一个离散时间索引,它从某个协定的时间点开始,初值为0,每经过一个密钥更新周期Tmax增加1。这个协定的时间点就记为t=0,是业务n的起始时刻。因此,v0版本的SEK0具有生存期t∈[v0Tmax,(v0+1)Tmax]。考虑到subgroup0是一个静态子组并且所有的GSA都是信任实体,故可以选取一个相对较大的Tmax。例如,取v0为16比特宽,Tmax取为8秒,则v0将在经历216Tmax秒后溢出并重新从0开始记数,根据公式(1),SEK0的值也将循环使用。这样,理论上用户可以在记录下全部216个版本的SEK0后退出组播,然后用他记录下的密钥解密后续的业务。但是216Tmax=524288秒≈6.1天,因而对于一个将SEK0值加以循环利用的用户而言,这个时间已经足够防范攻击了。如电视台在凌晨要停止播放节目,组播业务的持续时间也不大可能持续24小时以上。进一步,即使是那些持续时间长于6天的组播业务,也可以通过重新分配业务编号n来抵抗这种攻击。
②用户层:批次密钥更新
与代理层类似,用户层的子组密钥也是通过单向函数产生,但subgroupi不像静态子组subgroup0那样执行周期密钥更新,而是执行基于过程的批次密钥更新。密钥更新报文格式如附图5,具体内容为:
当前版本号(Current Version):当前使用的密钥SEK的版本号;
长度域(Len):标识后面的加密的下一版本号和下一密钥的长度;
更新密钥(New Key):使用当前密钥加密的下一个密钥的版本号和密钥。
批次密钥更新的基本原理是:GC(这里则为GSA)并不是就每一个成员加入或退出立即进行一次单独的密钥更新,而是在统计成员加入或退出次数达到规定的门限后,才执行一次密钥更新,如图6所示。
图6中时间轴t上方的箭头表示新成员加入,而下方的箭头表示成员退出群组。假如对图中总共10次加入和10次退出都单独密钥更新,则系统需要更换20次密钥,每个密钥只使用很短暂的时间。如果改变策略,执行批次密钥更新,在每收集到4个成员关系变动时更新一次密钥,则可把这20次密钥更新变动合并为5次,并且这5个密钥都能使用相对稍长的时间,是一种对资源的节约。这种批次密钥更新既能降低GC的通信开销,又能降低组成员的通信开销。MKMPL在用户层子组内采用引入了批次密钥更新的SKDC。实际上,在除SKDC之外的其他密钥管理中也可以引入批次密钥更新。
用户层的子组密钥SEKi也是通过单向函数来生成:
SEKi(n,t)=fi(s,n,vi)(2)
s:就是前面单向函数f0的秘密种子,它仅为GSA所知,这样组成员就无法自己计算出SEKi(尽管他们知道n和vi)。
n:是标识特定组播业务的业务编号。假设subgroup1中存在两个组播用户M1a和M1b前者参与业务a而后者参与业务b,那么GSA1同时管理两个组播业务,且业务a和业务b没有必要同时开始(即它们t=0的起始时间点不必重合)。GSA1把SEK1(a,t)发布给M1a,并把SEK1(b,t)发布给M1b。
vi:是业务n在subgroupi中的通信密钥版本。由于用户层的物理子组执行批次密钥更新,vi每当GSAi收集到B个成员关系变动后增加1。这里B是批次密钥更新阈值,每B个加入或退出事件触发一次密钥更新,例如在图6中B=4。MKMPL规定,批次密钥更新的时间间隔虽然是可变的,但须是受限制的。MKMPL限定用户层子组的密钥更新间隔上限为Tmax,即其更新速度不得慢于代理层子组的周期密钥更新。另一方面,MKMPL再引入一个密钥更新间隔下限Tmin,以防止vi过于快速地增长,也即防止一个具有高动态性的子组过于频繁地密钥更新。这里三个门限Tmax、Tmin和B的取值应依照子组划分的实际情况及业务运行经验来设置。总之,批次密钥更新间隔总是在区间[Tmin,Tmax]之内,若它等于Tmin则表明GSA已经收集到大于(或正好等于)B次的成员关系变动,若它等于Tmax则表明GSA在此期间收集到的成员关系变动不足(或正好等于)B次。
GSAi在用户层子组subgroupi内采用单播的SKDC方案发布密钥更新报文。除了向成员发布通信密钥SEKi(n,t)外,它还把业务编号n和密钥版本号vi同时发布给成员。这样,尽管subgroupi内可能并存多个群组的用户集,并且一些用户可能同时加入到多个群组,它们也能通过n来辨识到底是哪个群组发生了密钥更新,并根据n来相应更新其业务密钥SEKi(n,t)及密钥版本号vi。
3、密钥预告
MKMPL把版本管理引入到数据传送协议中,利用对密钥版本的管理来避免出现混乱。MKMPL要求数据发送者把它的子组密钥版本附加在其密文消息中一并组播出去。
一个密钥更新落后的成员在接收到使用最新SEK加密的数据时,由于它只持有上个密钥更新间隔所使用的密钥,它必须暂时缓存密文数据。通常这会引起数据处理(如多媒体播放)延时,这都是组播应用中所不期望的。
MKMPL引入子组密钥预告来避免这一问题。其基本思想是:在物理子组subgroupi内,不是按正常时序发布版本为vi的SEKi,GSAi被调整为向组内成员预先发布版本为vi+1的SEKi。这种方法的唯一例外发生在最开始的批次密钥更新间隔(称为时间段0,此时组内成员个数为0,GSAi正在收集成员加入事件),在这个时段结束时(GSAi收集满了B个成员关系变动,或者是间隔持续时间达到了上限Tmax),GSAi需要同时发布版本1和版本2的SEKi。
密钥预告可一般性地归纳为:GSAi在时间段vi-1收集成员加入和退出事件,但是,它并不是按正常操作去为下一间隔(即时间段vi对应的时段)密钥更新,而是为时间段vi+1作密钥更新,如图7所示。
4、子组融合
MKMPL系统的可扩展性是靠引入额外的计算开销(GSA对业务数据的解密/加密)换取来的。为了限制成员关系变动,使之不波及到全组,每个物理子组各自采用本地子组通信密钥,因而当组播数据需要穿越物理子组时,GSA需要承担密文“翻译”和转发工作。数据发送者所在物理子组的GSA用本地子组通信密钥把密文恢复为明文,再用逻辑子组通信密钥把明文加密为密文;数据接收者所在子组的GSA则做相反的工作。子组融合的目的就是为了减免上述密文“翻译”给GSA所带来的计算开销。考虑到子组是按地域划分的,故难以对这套物理结构直接进行大规模的融合,相反,可以采取逻辑上的间接的办法。
子组融合的基本思想是:将动态性低的用户层子组合并到由静态的GSA构成的代理层子组。以图8为例来说明,这是某个覆盖子组subgroupi和subgroupj的业务n:
①起先,GSAi和GSAj都在各自的物理子组内执行常规的批次密钥更新,如图8(1)所示。
②当subgroupi中的成员关系变动频率低于某个门限时,GSAi认为该物理子组的动态性足够低,就将subgroupi并入subgroup0。例如在批次密钥更新中,GSAi在到达密钥更新间隔上限Tmax后收集到的成员关系变动次数小于B的二分之一,这时就判定该物理子组具有低动态性。所谓合并,是指GSA不再按公式(2)向subgroupi发布SEKi(n,t),而是按公式(1)发布SEK0(n,t),也即用代理层的周期密钥更新代替原本的用户层批次密钥更新,如图8(2)所示。注意GSAi仍然要登记成员关系变动,仍然用单播SKDC向组内成员发布SEK0(n,t),并且仍然沿用vi的计划值,以使subgroupi内的SEKi仍然按递增规律变化,尽管SEKi的值现在等于SEK0(n,t)。
③不久,另一个物理子组subgroupj也变得具有低动态性。GSAj按照相同的方法把subgroupj也并入subgroup0,如图8(3)所示。此时subgroupi和subgroupj都已经从原本不相关的、本地化的批次密钥更新切换到了代理层的周期密钥更新,它们都持有和subgroup0一样的SEK0,因而GSAi和GSAj就可以简单地在它们负责的物理子组与subgroup0之间转发密文业务,而不用先解密再加密。两个物理子组内的成员现在能直接用密文进行交流,而无需GSA充当“翻译”。
④假定一段时间之后,GSAi检测到subgroupi出现高动态性(它在Tmax时段内收集到的加入和退出事件个数多于门限值),为了维护全组的完整性(在根本上是维护组通信的机密性),GSAi切换回本地化的批次密钥更新,这样subgroupi就从subgroup0中退出,子组内的成员关系变动又被限定为局部事件,如图8(4)所示。
一次组播业务,例如某次足球比赛的电视直播,通常都会在节目刚开始时经历大量的成员加入请求,并在节目将结束时出现大量的成员退出;在节目进行中间,群组通常会变得趋于稳定,即只出现低限度的成员关系变动。通过自适应地将原本各不相关的物理子组融合为一个大规模的代理层的逻辑子组,MKMPL中的多次数据解密/加密得到了减免,从而有效地降低了GSA的计算负担。当然,为了满足群组机密性要求并提供可扩展性,GSA需要在组成员关系频繁变化时切换回正常的批次密钥更新操作,例如在节目的开始及结束阶段。
具体的通信方法如下:
1、组播发送源的工作过程包括如下步骤:
①组播发送源,当它要发送组播数据时,它首先寻找最近的一个物理子组,假定为subgroupi,将自己的认证信息发送给GSAi;
②等待该物理子组的GSAi的认证,认证成功后获得本地子组通信密钥SEKi;
③使用SEKi进行加密,将加密后的数据组播出去,并监听GSAi的密钥更新;
④需要退出组播组时,发送离开报文,退出组播组。
2、组播接收者的工作过程包括如下步骤:
①组播接收者,当它要接收组播数据时,它首先寻找最近的一个物理子组,假定为subgroupj,将自己的认证信息发送给GSAj;
②等待该物理子组的GSAj的认证,认证成功后获得本地子组通信密钥SEKj;
③接收组播数据,使用SEKj进行解密,并监听GSAj的密钥更新;
④需要退出组播组时,发送离开报文,退出组播组。
3、组安全代理的工作过程包括如下步骤:
①首先计算获得代理层逻辑子组通信密钥SEK0和本地子组通信密钥SEKm(假定本子组为subgroupm),并定期计算更新SEK0;
②启动进程不断的监听组播参与者的加入或退出请求,并对认证后的加入者给出本地子组通信密钥SEKm;
③统计组播参与者的加入或退出请求次数,当达到规定的门限,进行密钥预告操作,更新的SEKm是下一版本的SEKm;
④根据组播参与者变化次数,当少于规定的门限时,进行子组融合,将该物理子组合并到逻辑子组;合并后,当变化次数大于规定的门限时,将该物理子组从逻辑子组中分离出来,成为独立的物理子组;
⑤启动进程监听本物理子组内有无组播源需要发送数据;
⑥当有组播源发送数据时,接收数据,使用SEKm解密,再使用SEK0加密数据,组播给其他的物理子组;
⑦启动进程监听有无从其它物理子组发送的组播数据;
⑧当有本物理子组需要的组播数据时,接收数据,使用SEK0解密,再使用本物理子组的通信密钥SEKm加密,然后组播到本物理子组。
(4)效果
为了检验本发明的效果,在Linux操作系统的平台上模拟了组播参与者接入组播组,经组安全代理判断加入组播组,获得通信密钥,组播源发送数据,经过组安全代理转发,组播接收者接收数据的过程。主要实施过程如下:首先在Linux系统的主机上设置相应的功能模块(代表实际网络环境下的组播源、组播接收者、组播路由器、物理子组。在实际网络环境下,应在组播参与者所在的局域网出口处位置设置组播路由器;在各个地域根据用户情况划分物理子组,决定各个物理子组的组安全代理;并将相应的功能模块装配在其中),各具体模块的实现框图请参见附图9~11。组播路由器上接收组播参与者的接入请求,并发出加入请求给相应物理子组;该物理子组的组安全代理判断组播参与者是否有权限访问组播组,若有,即返回该物理子组的通信密钥,以发送或接收组播数据。结果表明,没有使用本发明方法的时候,没有任何的安全功能,任意组播参与者可以接入组播组,发送或获取未加密的组播信息;使用本发明方法后,增加了加密数据、密钥管理功能,使得合法用户可以有效地发送或接收组播信息,而非法用户被拒绝提供组播服务,并且各个物理子组可以根据本子组的情况更新密钥,降低了密钥更新的规模,减少了密钥更新的开销,可以有效的对密钥进行管理,是一种适用于安全组播领域的有效方法,具有良好的应用前景。
Claims (5)
1、一种基于物理层次的组播密钥管理方法,包括分组、通信及密钥分配方法;其特征在于:其中的分组方法将所述组播组的子组仅仅分为两个层次:
①用户层:包括多个物理子组,它们分别受控于各自的组安全代理,每个组安全代理负责维护一个本地子组通信密钥;
②代理层:包括一个逻辑子组,它由多个组安全代理组成并使用一个逻辑子组通信密钥。
2、如权利要求1所述的方法,其特征在于:
基于上述分组方法,将动态性低的用户层物理子组合并到由静态的组安全代理构成的代理层逻辑子组,使子组融合。
3、如权利要求1或2所述的方法,其特征在于:
其中的密钥分配方法中所采用的密钥更新方法为:
代理层子组的周期密钥更新方法:代理层的逻辑子组通信密钥定期更换,由每个组安全代理采用相同的公式SEK0(n,t)=f0(s,n,v0)计算得出,不须发布密钥更新报文;
用户层子组的批次密钥更新方法:组安全代理统计组播参与者加入或退出的次数达到门限时,更新本物理子组的本地子组通信密钥,采用公式SEKi(n,t)=fi(s,n,vi)计算得出,然后向组内的组播参与者发布密钥更新报文更新本地子组通信密钥。
其中的密钥分配方法中还增加了密钥预告方法:在物理子组内,组安全代理提前向各个组播参与者发布下一版本的本地子组通信密钥。
4、如权利要求1或2所述的方法,其特征在于:
所述组播组中的各个组播参与者的通信过程为:
①组播发送源用本地子组通信密钥对消息进行加密,在本物理子组内组播该加密数据,同一物理子组的用户利用本地子组通信密钥解读该数据;
②本物理子组的组安全代理收到密文后用本地子组通信密钥解密,再将解密的消息用逻辑子组通信密钥加密,然后向本逻辑子组中的其它组安全代理组播加密的数据;
③其它物理子组的组安全代理用逻辑子组通信密钥解密来自上述物理子组的密文消息,获得消息后再各自用它们的本地子组通信密钥加密,并向各自物理子组内组播加密数据;
④其它物理子组的组播接收者接收到密文后,用各自物理子组的本地子组通信密钥解密并获得消息。
5、如权利要求1或2所述的方法,其特征在于:
所述的组播发送源的工作过程包括如下步骤:
①当它要发送组播数据时,它首先寻找最近的一个物理子组,将自己的认证信息发送给该物理子组;
②等待该物理子组的组安全代理的认证,认证成功后获得本地子组通信密钥;
③使用本地子组通信密钥进行加密,将加密后的数据组播出去,并监听组安全代理的密钥更新;
④需要退出组播组时,发送离开报文,退出组播组;
所述的组播接收者的工作过程包括如下步骤:
①当它要接收组播数据时,它首先寻找最近的一个物理子组,将自己的认证信息发送给该物理子组;
②等待该物理子组的组安全代理的认证,认证成功后获得本地子组通信密钥;
③接收组播数据,使用本地子组通信密钥进行解密,并监听组安全代理的密钥更新;
④需要退出组播组时,发送离开报文,退出组播组;
所述的组安全代理的工作过程包括如下步骤:
①首先,计算获得本代理层的逻辑子组通信密钥以及本地子组通信密钥,并定期计算更新逻辑子组通信密钥;
②启动进程,不断地监听组播参与者的加入或退出请求,并对认证后的加入者给出本地子组通信密钥;
③统计组播参与者加入或退出的次数,当达到规定的门限,进行密钥预告操作,更新的本地子组通信密钥是下一版本的本地子组通信密钥;
④根据组播参与者变化次数,当少于规定的门限时,进行子组融合,将该物理子组合并到逻辑子组;合并后,当变化次数大于规定的门限时,将该物理子组从逻辑子组中分离出来,成为独立的物理子组;
⑤启动进程,监听本物理子组内有无组播源需要发送数据;
⑥当有组播源发送数据时,接收数据,使用本地子组通信密钥解密,再使用逻辑子组通信密钥加密数据,组播给其他的物理子组;
⑦启动进程,监听有无从其它物理子组发送的组播数据;
⑧当有本物理子组需要的组播数据时,接收数据,使用逻辑子组通信密钥解密,再使用本物理子组的本地子组通信密钥加密,然后组播到本物理子组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200410041119XA CN100546241C (zh) | 2004-06-30 | 2004-06-30 | 基于物理层次的组播密钥管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200410041119XA CN100546241C (zh) | 2004-06-30 | 2004-06-30 | 基于物理层次的组播密钥管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1716853A true CN1716853A (zh) | 2006-01-04 |
CN100546241C CN100546241C (zh) | 2009-09-30 |
Family
ID=35822319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200410041119XA Expired - Fee Related CN100546241C (zh) | 2004-06-30 | 2004-06-30 | 基于物理层次的组播密钥管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100546241C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008055444A1 (fr) * | 2006-11-08 | 2008-05-15 | Huawei Technologies Co., Ltd. | Procédé et système de gestion de clé entre un agent local et un agent externe |
WO2010074621A1 (en) * | 2008-12-23 | 2010-07-01 | Telefonaktiebolaget Lm Ericsson (Publ) | A key management method |
CN101453409B (zh) * | 2007-12-07 | 2011-01-26 | 中国移动通信集团公司 | 支持终端混合接入的信息广播方法及其装置和系统 |
CN1801696B (zh) * | 2006-01-13 | 2011-02-09 | 南京邮电大学 | 一种网格计算机环境下虚拟组织的密钥管理方法 |
CN104243148A (zh) * | 2013-06-24 | 2014-12-24 | 中科英华湖州工程技术研究中心有限公司 | 加密方法和加密装置 |
CN104486760A (zh) * | 2015-01-19 | 2015-04-01 | 南京大学 | 基于模板的Ad-hoc组密钥设定方法 |
CN108989028A (zh) * | 2018-07-16 | 2018-12-11 | 哈尔滨工业大学(深圳) | 群密钥分发管理方法、装置、电子设备及存储介质 |
-
2004
- 2004-06-30 CN CNB200410041119XA patent/CN100546241C/zh not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801696B (zh) * | 2006-01-13 | 2011-02-09 | 南京邮电大学 | 一种网格计算机环境下虚拟组织的密钥管理方法 |
WO2008055444A1 (fr) * | 2006-11-08 | 2008-05-15 | Huawei Technologies Co., Ltd. | Procédé et système de gestion de clé entre un agent local et un agent externe |
CN101179845B (zh) * | 2006-11-08 | 2011-02-02 | 华为技术有限公司 | 家乡代理与外地代理间的密钥管理方法及系统 |
CN101453409B (zh) * | 2007-12-07 | 2011-01-26 | 中国移动通信集团公司 | 支持终端混合接入的信息广播方法及其装置和系统 |
WO2010074621A1 (en) * | 2008-12-23 | 2010-07-01 | Telefonaktiebolaget Lm Ericsson (Publ) | A key management method |
US8594334B2 (en) | 2008-12-23 | 2013-11-26 | Telefonaktiebolaget L M Ericsson (Publ) | Key management method |
CN104243148A (zh) * | 2013-06-24 | 2014-12-24 | 中科英华湖州工程技术研究中心有限公司 | 加密方法和加密装置 |
CN104486760A (zh) * | 2015-01-19 | 2015-04-01 | 南京大学 | 基于模板的Ad-hoc组密钥设定方法 |
CN104486760B (zh) * | 2015-01-19 | 2018-02-23 | 南京大学 | 基于模板的Ad‑hoc组密钥设定方法 |
CN108989028A (zh) * | 2018-07-16 | 2018-12-11 | 哈尔滨工业大学(深圳) | 群密钥分发管理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100546241C (zh) | 2009-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1160898C (zh) | 安全多对多通信的分布式组密钥管理模式 | |
AU2004308477B2 (en) | Rekeying in secure mobile multicast communications | |
Caronni et al. | Efficient security for large and dynamic multicast groups | |
Rafaeli et al. | A survey of key management for secure group communication | |
Canetti et al. | Multicast security: A taxonomy and some efficient constructions | |
US7434046B1 (en) | Method and apparatus providing secure multicast group communication | |
US6901510B1 (en) | Method and apparatus for distributing and updating group controllers over a wide area network using a tree structure | |
Di Pietro et al. | Efficient and secure keys management for wireless mobile communications | |
US8347376B2 (en) | Techniques for distributing a new communication key within a virtual private network | |
Xu et al. | Multi-authority proxy re-encryption based on CPABE for cloud storage systems | |
Daghighi et al. | Toward secure group communication in wireless mobile environments: Issues, solutions, and challenges | |
Gharout et al. | Key management with host mobility in dynamic groups | |
Pour et al. | A hierarchical group key management scheme for secure multicast increasing efficiency of key distribution in leave operation | |
CN1716853A (zh) | 基于物理层次的组播密钥管理方法 | |
Kandi et al. | An efficient multi-group key management protocol for internet of things | |
Bettahar et al. | AKMP: an adaptive key management protocol for secure multicast | |
KR100509233B1 (ko) | 멀티캐스트 그룹 키 관리 방법 및 장치 | |
CN101286838A (zh) | 一种大规模动态组播安全体系构架设计 | |
Daghighi et al. | Key management paradigm for mobile secure group communications: Issues, solutions, and challenges | |
Li et al. | A survey on key management for multicast | |
Huang et al. | Efficient and secure multicast in wirelessman: A cross-layer design | |
Alyani et al. | The improvement of key management based on logical key hierarchy by implementing Diffie Hellman algorithm | |
Tomar et al. | Secure session key generation technique for group communication | |
Dondeti | Efficient private group communication over public networks | |
Yao et al. | Tree-based Multicast Key Management in ubiquitous computing environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090930 Termination date: 20140630 |
|
EXPY | Termination of patent right or utility model |