一种在集群系统中更新组密钥的方法

文档序号:7956621阅读:193来源:国知局
专利名称:一种在集群系统中更新组密钥的方法
技术领域
本发明涉及集群系统安全技术领域,特别是指一种在集群系统中更新组密钥的方法。
背景技术
集群无线通信系统,以下简称集群系统,是一种较经济、较灵活的指挥调度通信系统,广泛应用在政府机关、能源交通、机场码头、工矿企业、消防警察、水利和军事等单位,以满足各单位内部通信联络的需要。
集群系统提供最基本的业务为语音组呼业务(VGCS)。VGCS允许用户建立到属于某一给定服务区和组标识(GID)的一组用户的呼叫,业务的提供采用半双工模式,呼叫期间任何成员都可以成为讲者,但任一时刻只允许一个讲者,其他成员为听者。服务区可由若干属于同一移动交换中心(MSC)或不同MSC的小区组成,呼叫时每个相关小区有一个组呼信道,其中上行链路仅供当前讲话者使用,可称为组发射模式,所有听者守候在下行链路上,可称为组接收模式,组呼信道配置的通知消息在通知信道(NCH)通知信道上广播。由于同一小区用户共享一条下行信道,因而大大节省了无线资源。
公安、军事等高机密性单位对于通信保密性的要求较高,要求对组呼业务进行端到端加密。由于组呼是一种多对多的通信,所以必须要求同一群组的每个成员之间共享组密钥(KG),用于生成每次组呼时使用的端到端加密密钥和完整性保护密钥。并且KG和对应的GID保存在每个用户的用户标识模块(SIM)卡中,网络侧也需要保存GID对应的KG。
当调度中心进行动态建组时,需要为每个组成员分发新组的组密钥;另外基于安全的考虑,每个密钥有一定的使用周期,所以调度中心也可能发起周期性的组密钥更新。此外某些用户退出群组时,如调度中心因某部终端被盗而取消了其组权限,也必须更新其它组成员的组密钥以保证被取消权限的用户不能继续参与群组组呼。
现有集群系统中组密钥的管理方法包括以下几种技术方案。
第一种密钥管理中心为每个群组分配多个固定的组密钥,每个组密钥通过组密钥标识来唯一确定。这些固定的组密钥序列通过专用SIM卡读写设备写入每一组成员的SIM卡中。在进行组呼或者组播业务时,即需要使用加密功能时,可以由业务发起者或者网络选择组密钥系统中的组密钥标识,并将所选择的组密钥作为加、解密密钥,并将该密钥所对应的标识通知群组中每位参与集群业务的用户。
在集群系统中,每个群组成员并不是固定不变的。当群组增加新成员时,如果只是简单的将原来的组密钥写入新成员的SIM卡,则该新增加的成员可以使用组密钥解密出以前的群组通信信息。而且,群组中某成员可能已退出该群组,按照规定该成员不能继续参与该群组业务,但如果组密钥没有及时得到更新,那么已退出的成员仍然可以解密出群组的保密通信。可见,对组密钥进行安全、及时的更新对于保障群组通信安全十分必要。而采用第一种技术方案更新密钥时,需要专用的SIM卡读写设备,所以很难保证组密钥及时得到更新,因此无法保证集群系统安全通信。
第二种,由组成员协商产生组密钥。这种技术方案的出发点是将用于两方密钥协商的Diffie-Hellman密钥交换协议扩展到群组通信。
群组Diffie-Hellman密钥交换协议描述如下群组中有n个成员,分别记为M1、M2...Mn,公开一个大素数q以及其本原元α,协议中的运算都在有限域GF(q)上进行。密钥协商分为上行(n-1)轮和下行(n-1)轮两个阶段,最终每个成员都能计算出组密钥αN1N2...Nn,其中Ni是成员Mi独立产生并保密的随机数。
在上行阶段,成员Mi计算其接收到的集合的最后一个元素的Ni次幂,然后连同接收到的数值一起发给Mi+1,而在下行阶段,用户Mi计算其接收到的集合的最后元素的Ni次幂作为组密钥,然后计算集合中其它元素的Ni次幂,并发送给Mi-1。如表1所示,在上行交互阶段第i轮,i=1,...,n-1,Mi向Mi+1发送{αΠ(Nk|k∈[1,i])|j∈[1,i]};]]>在下行交互阶段,第n-1+i轮,i=1,...,n-1Mn-i向Mn-i+1发送{αΠ(Nk|k∉[i,j])|j∈[1,i]}.]]> 表1以n=5为例,在上行交互阶段,用户M4将接收到集合{αN1,αN1N2,αN1N2N3},他利用αN1N2N3和自己生成的随机数N4计算出αN1N2N3N4,并发送{αN1,αN1N2,αN1N2N3,αN1N2N3N4}给M5。M5利用αN1N2N3N4计算出最终组密钥αN1N2N3N4N5并保存,此后为下行交互阶段,M5计算中间值集合发送给M4,用户M4接收到集合{αN4N5,αN1N4N5,αN1N2N4N5},利用αN1N2N3N5也可以计算出最终密钥,然后计算中间值集合{αN5,αN1N5,αN1N2N5,αN1N2N3N5}发送给M3。
在这种方案中,组密钥由n个组成员协商产生,总共需要经过2(n-1)次组成员之间的交互。对于无线系统而言,每次组成员之间的交互都需要申请信道资源建立连接,这样必然产生庞大的系统资源消耗;而且,在产生组密钥的过程中,每个组成员都要进行多次大数模幂运算,而目前移动终端的计算能力有限,数值太大有时将超出移动终端的计算范围。
第三种,由网络侧产生新的组密钥,利用每个组成员与网络共享的密钥分别加密新的组密钥,然后通过信令发送给每个用户。这种技术方案可以适应于各种情况下的组密钥更新。当组成员数量庞大时,网络侧需要耗费很多资源和时间来使用不同的密码逐一加密组密钥,而逐一通知每个组成员更新密钥也要耗费大量的信道资源。
综上所述,如果在现有技术的集群系统中要增加组成员,或者要进行周期性密钥更新,利用现有逐一更新组密钥的方法实现组密钥更新,速度慢,无法确保系统安全通信。

发明内容
本发明的主要目的是提供一种在集群系统中更新组密钥的方法,在集群系统增加组成员或进行周期性更新组密钥时,能快速更新集群系统中每个组成员的组密钥,确保集群系统安全通信。
本发明提供的一种在集群系统中更新组密钥的方法包括A.网络侧确定新组密钥,并利用原组密钥为密钥,将所述新组密钥加密得到加密后的组密钥(SKG);同时按照一定的算法,根据原组密钥和所述新组密钥计算出第一摘要;然后广播携带有SKG、第一摘要的组密钥更新消息;B.收到组密钥更新消息的终端利用自身保存的原组密钥解密SKG得到新组密钥,并且利用与步骤A中相同的算法,根据自身保存的原组密钥和自身解密得到的新组密钥计算出第二摘要;然后比较第一摘要与第二摘要是否一致,如果一致,则利用自身计算出的新组密钥替换原组密钥,否则,更新失败。
步骤A所述组密钥更新消息还包括组标识,则步骤B进一步包括A1、收到组密钥更新消息的终端根据其中的组标识,判断自身是否需要更新组密钥,如果需要,则执行步骤B,否则,不进行更新,跳出本流程。
在步骤B中终端更新组密钥之后,该方法进一步包括终端将更新组密钥成功的结果通知网络侧。
步骤A中所述新组密钥是网络侧产生的随机序列。
在步骤B中更新失败后,该方法进一步包括所述终端通知网络侧更新失败。
本发明用原组密钥作为密钥加密新组密钥,并通过广播通知群组原有成员更新组密钥,极大的提高了工作效率,减少了对网络资源的消耗。并且该方法使用摘要信息保障了密钥更新信令的完整性,也可以鉴别发起者的真实身份,所以安全性、可靠性高。


图1为实现本发明方法的流程示意图;图2为实现本发明方法的具体实施例流程示意图。
具体实施例方式
由于群组的每个用户和网络侧已经共享原组密钥KG,用于加密群组用户间通信,或者用于产生组呼业务所需密钥。因此,在本发明的方法中,网络侧利用每个组成员和网络共享的原组密钥作为密钥将新组密钥加密,然后将其通知每个组成员,每个组成员利用自身保存的原组密钥进行解密得到要更新的组密钥。
参见图1所示,本实施例更新组密钥的具体过程如下步骤101网络侧将自身产生的一个随机数作为新组密钥,然后利用原组密钥为密钥将该随机数加密得到SKG;同时按照一定的算法,根据原组密钥和该随机数计算出第一摘要。
步骤102网络侧向群组内所有成员广播组密钥更新消息,其中携带有组标识、SKG、第一摘要的组密钥等。
步骤103收到该组密钥更新消息的终端根据其中的组标识,判断自身是否需要更新组密钥,如果需要,则执行步骤104,否则,更新失败。
步骤104该终端利用自身保存的原组密钥解密SKG得到新组密钥,并且该终端按照步骤101中相同的算法,根据自身保存的原组密钥和所述新组密钥计算出第二摘要。
步骤105该终端比较第一摘要与第二摘要是否一致,如果一致,则利用自身解密出的组密钥替换组密钥,否则,更新失败。
下面结合附图和具体实施例详细说明本发明的技术方案。
本实施例描述的组密钥更新方法使用了KG、加密算法fE、解密算法fD和摘要算法H。
参见图2所示,本实施例更新组密钥的具体过程如下步骤201、当网络侧决定发起组密钥更新和组密钥分发流程时,生成一个随机序列作为新组密钥KG`,并以原组密钥KG为密钥,用加密算法fE加密KG`得到加密后的组密钥SKG,即计算SKG=fE(KG,KG`)。
步骤202网络侧使用摘要函数H、KG和KG`计算出第一摘要,DIGT=H(KG`,KG)。
步骤203网络侧向所有组成员广播组密钥更新信令,其中携带参数GID、SKG、DIGT和KGA,这里,KGA表示组密钥更新类型,用以区分不同的组密钥更新方法。
步骤204每个终端用原组密钥KG解密SKG,得到组密钥rec_KG,即rec_KG=fD(KG,SKG)。
步骤205终端利用rec_KG和KG计算出第二摘要rec_DIGT,即rec_DIGT=H(rec_KG,KG),并比较DIGT与rec_DIGT是否相同,如果相同,则继续步骤206,否则,组密钥更新失败,并向网络侧发送组密钥更新失败信令。
步骤206终端利用rec_KG更新自身SIM卡中GID所对应的组密钥。
步骤207终端更新组密钥成功后,向网络侧发送组密钥更新成功信令。
步骤208网络侧接收到终端的组密钥更新成功信令后,标记该终端所对应的组密钥已经更新。
权利要求
1.一种在集群系统中更新组密钥的方法,其特征在于,该方法包括以下步骤A.网络侧确定新组密钥,并利用原组密钥为密钥,将所述新组密钥加密得到SKG;同时按照一定的算法,根据原组密钥和所述新组密钥计算出第一摘要;然后广播携带有SKG、第一摘要的组密钥更新消息;B.收到组密钥更新消息的终端利用自身保存的原组密钥解密SKG得到新组密钥,并且利用与步骤A中相同的算法,根据自身保存的原组密钥和自身解密得到的新组密钥计算出第二摘要;然后比较第一摘要与第二摘要是否一致,如果一致,则利用自身计算出的新组密钥替换原组密钥,否则,更新失败。
2.根据权利要求1所述的方法,其特征在于,步骤A所述组密钥更新消息还包括组标识,则步骤B进一步包括A1、收到组密钥更新消息的终端根据其中的组标识,判断自身是否需要更新组密钥,如果需要,则执行步骤B,否则,不进行更新,跳出本流程。
3.根据权利要求1所述的方法,其特征在于,在步骤B中终端更新组密钥之后,该方法进一步包括终端将更新组密钥成功的结果通知网络侧。
4.根据权利要求1所述的方法,其特征在于,步骤A中所述新组密钥是网络侧产生的随机序列。
5.根据权利要求1所述的方法,其特征在于,在步骤B中更新失败后,该方法进一步包括所述终端通知网络侧更新失败。
全文摘要
本发明公开了一种在集群系统中更新组密钥的方法,该方法包括A.网络侧确定新组密钥,并利用原组密钥为密钥,将所述新组密钥加密得到SKG;同时按照一定的算法,根据原组密钥和所述新组密钥计算出第一摘要;然后广播携带有SKG、第一摘要的组密钥更新消息;B.收到组密钥更新消息的终端利用自身保存的原组密钥解密SKG得到新组密钥,并且利用与步骤A中相同的算法,根据自身保存的原组密钥和自身解密得到的新组密钥计算出第二摘要;然后比较第一摘要与第二摘要是否一致,如果一致,则利用自身计算出的新组密钥替换原组密钥,否则,更新失败。该方法极大的提高工作效率,减少资源消耗。并且能保障密钥更新信令的完整性,也可以鉴别发起者的真实身份,所以安全性高。
文档编号H04Q7/28GK1599485SQ03157439
公开日2005年3月23日 申请日期2003年9月19日 优先权日2003年9月19日
发明者冯凯锋, 杨学志, 陈德, 程金能 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1