一种组安全联盟的生成方法及装置的制作方法

文档序号:7600275阅读:126来源:国知局
专利名称:一种组安全联盟的生成方法及装置的制作方法
技术领域
本发明涉及通信网络路由安全技木,尤其涉及ー种在组密钥管理协议特别是路由协议组密钥管理协议中的组安全联盟的生成方法及装置。
背景技术
组密钥管理协议是在组播应用中实现组安全联盟或组密钥管理的协议,主要包括组安全联盟的生成、分发与更新,该组安全联盟用于保护组播应用消息,为组播通信安全提供了保障。本文中组安全联盟等同于组密钥,两个词组可以互换使用。现有的组密钥管理协议 GDOI (The Group Domain of Interpretation,组解释域,是 RFC3547 的内容,最新的草案是draft-ietf-msec-gdoi-update-07,发布于2010年10月25日),其架构 如图I所示,组播组中包括一个GCKS(Group Controller/Key Server,组控制/密钥服务器)和多个GM(Group Member,组员)。⑶01协议的流程如图2所示,分为阶段I协议和阶段2协议。阶段I协议的目的是GM和GCKS协商初始安全联盟并进行相互认证,阶段I协议可以使用 ISAKMP(InternetSecurity Association and Key Management Protocol,因特网安全联盟和密钥管理协议,是RFC2408的内容)阶段I协议或IKEv2 (Internet KeyExchangeProtocol Version 2,因特网密钥交换协议第二版,是RFC4306的内容)阶段1(在RFC4306中称为Initial Exchange,初始交换)协议来实现。使用ISAKMP阶段I协议的流程如图3所示,有四种交换方式,其流程分别如图3 (a)、图3 (b)、图3 (c)和图3 (d)所示。使用IKEv2阶段I协议的流程如图4所示。在所建立的初始安全联盟的保护下,阶段2协议GR0UPKEY-PULL交换的目的是GM从GCKS下载组密钥材料包括组安全联盟。IETF个人草案“Group Key Management using IKEv2”(draft-yeung-g-ikev2_01,发表于 2010 年 3 月 8日)对IKEv2进行了扩展,使IKEv2可以用于组密钥管理,该方案简称为G-IKEv2,其注册交换(Registration Exchanges)包括 IKE_SA_INIT 交换和 GSA_AUTH 交換,其中 IKE_SA_INIT交換用于初始安全联盟的建立,包括协商密码算法、交换随机数和DifTie-Hellman值,而GSA_AUTH交换用于GM和GCKS之间的相互认证、GCKS授权GM加入某个组、GCKS向GM发送组策略和组密钥。G-IKEv2的注册交换流程如图5所示。上述现有技术的特点是,GM与GCKS协商建立初始安全联盟并进行相互认证,在所建立的初始安全联盟的保护下,GCKS向GM发送组安全联盟。上述现有技术的缺点是,GCKS没有和GM协商建立组安全联盟,组安全联盟是由GCKS单方生成的。该缺点导致的问题是I、GM和GCKS的安全机制的实现和配置繁琐,缺乏灵活性。GM为了可以加入某个组,其密码算法、安全參数等的实现和配置就必须严格属于GCKS的ー个子集,或者与GCKS的实现和配置相同。这导致了 GM和GCKS安全机制的实现和配置工作繁琐,严重缺乏灵活性。2、GM和GCKS的安全机制的更新困难而繁琐。一旦在安全机制中增加新的算法和新的安全參数,则一般情况下所有的GM和GCKS都需要更新,否则GM无法采用GCKS生成的组安全联盟,这导致了更新工作的困难和繁琐。
3、无法满足算法敏捷性(algorithm agility)的安全需求,这对于密钥管理协议或安全联盟管理协议来说,是ー个不足或缺陷。算法敏捷性一方面是指算法可以及时更新,另ー方面是指通信双方可以相互协商达成采用一致的算法及相应的參数,而不会因为不能采用同一的算法及其相应參数而导致无法完成交易或业务(transaction)。上述现有技术的应用场合是应用层的应用程序,但是经过相关的修改或调整后,也可以应用于较底层的路由协议。例如IETF(Internet EngineeringTask Force,互联网エ程任务组)个人草案“ Multicast Router Key ManagementProtocol (多播路由器密钥管理协议,简称 MRKMP) ” (draf t-har tman-karp-mrkmp-00,发表于 2010 年 10 月 18 日)将 GDOI引入基于局域链路(link-local based)的路由协议组密钥管理中,并且提出在⑶01的第ー阶段(Phase I)的初始交换和认证交換中应用简化的IKEv2的初始交换 和认证交換。但是该MRKMP方案和上述现有技术存在同样的问题,即没有实现GM和GCKS协商建立组安全联盟。为了解决上述问题、弥补上述缺陷,先后出现实现了 GM和GCKS协商建立组安全联盟的组安全联盟管理的方案。例如,ー种组安全联盟的协商方法,组安全联盟是直接在GCKS和GM之间ー对ー协商的,并且协商是发生在初始安全联盟建立后、身份认证之前的,这样带来的结果是GCKS需要和GM反复协商组安全联盟,导致效率低下,而其中的身份认证发生在组安全联盟协商之后,这样做存在的安全漏洞是,有可能使不合法的、不能通过身份认证的路由设备也获得组安全联盟。例如,一种实现多方通信安全的系统和方法,该方法主要包括当系统工作在集中式密钥管理方式吋,GCKS创建并保存组安全联盟,所述GCKS与组成员协商创建初始化安全联盟,并在该初始化安全联盟保护下组成员从GCKS获取组安全联盟;当系统工作在分布式密钥管理方式时,在组通信开始时全体组成员共同创建组安全联盟。该方法针对应用层并提供API调用接ロ,在集中式密钥管理方式时不涉及GCKS和GM协商组安全联盟,而在分布式密钥管理方式时只是提到“在组通信开始时全体组成员共同创建组安全联盟”,但是并没有提供协商的具体方法和步骤。例如,针对第三方访问安全通信会话时的一种密钥协商和管理方法与系统,即在原来两个使用第一个密钥建立起初次安全通信会话的设备中,当有新加入的设备发出加入请求时,原来的两个设备使用第二个密钥建立第二次通信会话,并且让处理加入请求的设备充当GCKS的角色,在相互的验证通过后,GCKS负责将第二个密钥(即组密钥)发送给加入申请者。显然,该专利的组密钥协商方法是让充当GCKS的两个设备(即最先建立初次安全通信会话的两个设备)来为后来加入者协商组密钥(即用第二个密钥建立第二次通信会话),后来加入者并没有实质參与组密钥的协商,而只是接收已经协商好的组密钥。

发明内容
本发明要解决的技术问题是提供ー种组安全联盟的生成方法及装置,以使GCKS与GM之间的安全机制的实现和配置更简易,更具灵活性。为了解决上述技术问题,本发明提供了ー种组安全联盟的生成方法,包括组控制器和密钥服务器(GCKS)收集通过身份验证的请求加入预定组的设备支持的、且本GCKS也支持的安全參数;根据所述安全參数生成所述预定组的组安全联盟。
进ー步地,上述方法还具有下面特点所述GCKS是在以下过程中收集所述设备支持的、且本GCKS也支持的安全參数的与所述设备建立初始安全联盟的过程、或与所述设备进行身份验证的过程。进ー步地,上述方法 还具有下面特点所述GCKS收集所述设备支持的、且本GCKS也支持的安全參数的步骤包括所述GCKS接收到承载所述设备支持的所有安全參数的载荷后,从中提取出本GCKS支持的安全參数;或所述GCKS向所述设备发送承载本GCKS支持的所有安全參数的载荷后,接收所述设备反馈的从该载荷中提取的所述设备支持的安全參数。进ー步地,上述方法还具有下面特点所述载荷为以下载荷中的任ー种扩展的通知载荷、扩展的安全联盟载荷、新设计的载荷;所述扩展的通知载荷为扩展的因特网安全联盟和密钥管理协议(ISAKMP)的通知载荷、或扩展的因特网密钥交换协议第二版(IKEv2)的通知载荷;所述扩展的安全联盟载荷为扩展的因特网安全联盟和密钥管理协议的安全联盟载荷、或扩展的因特网密钥交换协议第二版的安全联盟载荷。进ー步地,上述方法还具有下面特点所述GCKS根据所述安全參数生成组安全联盟的步骤包括所述GCKS从所述安全參数中选择当前最多所述设备支持的安全參数,利用所选择的安全參数生成组安全联盟。进ー步地,上述方法还具有下面特点所述根据所述安全參数生成组安全联盟的步骤之后,所述方法还包括在新设备加入所述预定组的过程中,所述GCKS判断该新设备支持的安全參数是否支持所述组安全联盟,若支持,则将所述组安全联盟发送给所述新设备,若不支持,则在判断所述新设备与当前组内所有组员之间有共同支持的安全參数时,根据该共同支持的安全參数生成新的组安全联盟。为了解决上述问题,本发明还提供了ー种生成组安全联盟的装置,应用于组控制器和密钥服务器(GCKS),包括收集模块,用于收集通过身份验证的请求加入预定组的设备支持的、且本GCKS也支持的安全參数;生成模块,用于根据所述收集模块收集的安全參数生成所述预定组的组安全联盟。进ー步地,上述装置还具有下面特点所述收集模块包括接收单元,用于接收承载所述设备支持的所有安全參数的载荷;提取单元,用于从所述接收単元接收到的所述载荷中提取出本GCKS支持的安全參数,其中,所述载荷为以下载荷中的任ー种扩展的通知载荷、扩展的安全联盟载荷、新设计的载荷,所述扩展的通知载荷为扩展的因特网安全联盟和密钥管理协议的通知载荷、或扩展的因特网密钥交换协议第二版的通知载荷,
所述扩展的安全联盟载荷为扩展的因特网安全联盟和密钥管理协议的安全联盟载荷、或扩展的因特网密钥交换协议第二版的安全联盟载荷。进ー步地,上述装置还具有下面特点所述收集模块包括发送单元,用于向所述设备发送承载本GCKS支持的所有安全參数的载荷;接收单元,用于接收所述设备反馈的从该载荷中提取的所述设备支持的安全參数,其中,所述载荷为以下载荷中的任ー种扩展的通知载荷、扩展的安全联盟载荷、新设计的载荷,所述扩展的通知载荷为扩展的因特网安全联盟和密钥管理协议的通知载荷、或扩展的因特网密钥交换协议第二版的通知载荷,所述扩展的安全联盟载荷为扩展的因特网安全联盟和密钥管理协议的安全联盟载荷、或扩展的因特网密钥交换协议第二版的安全联盟载荷。进ー步地,上述装置还具有下面特点所述生成模块包括选择单元,用于从所述收集模块收集的安全參数中选择当前最多所述设备支持的安全參数;生成単元,用于利用所述选择単元选择的安全參数生成组安全联盟。进ー步地,上述装置还具有下面特点还包括第一判断模块,用于在新设备加入所述预定组的过程中,判断该新设备支持的安全參数是否支持所述组安全联盟;发送模块,用于在所述第一判断模块判断该新设备支持的安全參数支持所述组安全联盟的情况下,将所述组安全联盟发送给所述新设备;第二判断模块,用于在所述第一判断模块判断该新设备支持的安全參数不支持所述组安全联盟的情况下,判断所述新设备与当前组内所有组员之间是否有共同支持的安全參数;所述生成模块,还用于在所述判断模块判断所述新设备与当前组内所有组员之间有共同支持的安全參数的情况下,利用该共同支持的安全參数生成新的组安全联盟。综上,本发明提供ー种组安全联盟的生成方法及装置,通过在原有的流程中増加參数和消息来实现GM和GCKS协商组安全联盟的功能;本发明能够满足组密钥管理协议或组安全联盟管理协议的算法敏捷性需求。与现有的组安全联盟协商方案相比,本发明降低了 GM和GCKS安全机制实现、配置和更新的难度与复杂性,增强了 GM和GCKS安全机制实现、配置和更新的灵活性。


图I是现有技术⑶OI的架构示意图;图2是现有技术⑶OI的流程示意图;图3 (a)是现有技术ISAKMP的基本交換的流程图;图3 (b)是现有技术ISAKMP的身份保护交換的流程图; 图3 (C)是现有技术ISAKMP的仅认证交換的流程图;图3(d)是现有技术ISAKMP的进取交换(Aggressive Exchange)的流程图4是现有技术IKEv2初始交换的流程图;图5是现有技术G_IKEv2的注册交换的流程图;图6为本发明实施例的组安全联盟的生成方法的流程图;图7是本发明实施例的当有新GM请求加入组时更新组安全联盟的流程图;图8是本发明实施例的⑶OI的流程示意图;图9 (a)是本发明实施例的在GDOI中的ISAKMP基本交换的流程图;图9 (b)是本发明实施例的在GDOI中的ISAKMP身份保护交換的流程图;图9 (C)是本发明实施例的在⑶OI中的ISAKMP仅认证交换的流程图;图9 (d)是本发明实施例的在GDOI中的ISAKMP进取交换的流程图;图10是本发明实施例的在GDOI中的IKEv2初始交换的流程图;图11是本发明实施例的G_IKEv2的注册交换的流程图;图12是本发明一实施例的生成组安全联盟的装置的示意图;图13是本发明另ー实施例的生成组安全联盟的装置的示意图。
具体实施例方式本发明提供的ー种组安全联盟协商的方法,主要包括GCKS收集通过身份验证的请求加入预定组的设备支持的、且本GCKS也支持的安全參数;根据所述安全參数生成所述预定组的组安全联盟。这样,即可实现GCKS与GM之间通过协商来生成组安全联盟。为了更好地理解本发明,下面结合附图和具体实施例对本发明作进ー步地描述。图6为本发明实施例的组安全联盟协商的方法的流程图,包括下面步骤步骤I :GCKS与请求加入预定组的请求设备建立初始安全联盟、相互进行身份验证,并从所述请求设备收集GCKS和所述请求设备都支持的安全參数。步骤2 =GCKS根据收集的安全參数,生成组安全联盟。步骤3 :在所建立的初始安全联盟的保护下,GCKS向GM发送组安全联盟。其中,所述GCKS是在与所述请求设备建立初始安全联盟的过程中、或在与所述请求设备进行身份验证的过程中,收集所述请求设备支持的、且本GCKS也支持的安全參数的。本发明实施例中GCKS从所述请求设备收集安全參数,可以通过以下方式之ー完成I、在GCKS与所述请求设备建立初始安全联盟的过程中完成收集安全參数,该方式下承载所述请求设备或GCKS的安全參数的载荷未能得到保护;2、在初始安全联盟已经建立、在GCKS和所述请求设备进行相互身份验证的过程中完成收集安全參数,该方式下承载所述请求设备或GCKS的安全參数的载荷能够得到保护。本发明实施例中承载所述请求设备或GCKS的安全參数的载荷可以是以下之一I、经过扩展的通知载荷;2、经过扩展的安全联盟载荷;3、新设计的载荷。其中,经过扩展的通知载荷可以是以下之一
I、当⑶OI的阶段I使用ISAKMP协议阶段I交换时,是扩展的ISAKMP的通知载荷;2、当⑶OI的阶段I使用IKEv2协议阶段I交换(或称为初始交换)时,是扩展的IKEv2的通知载荷;
3、当使用的是G_IKEv2协议吋,是扩展的IKEv2的通知载荷。本发明实施例中GCKS从所述请求设备收集安全參数实现GCKS和GM协商组安全联盟,具体的实现方式可以是以下之一I、所述请求设备向GCKS发送承载所述请求设备支持的所有安全參数的载荷,GCKS从中提取所支持的安全參数,如果GCKS不支持所述请求设备的所有安全參数,则GCKS向所述请求设备发送报错通知,表明GCKS将无法生成所述请求设备支持的组安全联盟;2、GCKS向所述请求设备发送承载GCKS支持的所有安全參数的载荷,所述请求设备从中选择所有支持的安全參数,并用载荷承载,将选择的安全參数反馈给GCKS,如果所述请求设备不支持GCKS的所有安全參数,则所述请求设备向GCKS发送报错通知,表明所述请求设备将无法支持GCKS生成的组安全联盟。本发明实施例中根据收集的通过身份验证的所述请求设备的安全參数,GCKS生成组安全联盟,具体实现为若请求加入组的设备仅有ー个,则GCKS根据该设备与本GCKS都支持的安全參数生成组安全联盟;若请求加入组的设备有两个以上,则GCKS选择当前所有所述请求设备都支持的安全參数,生成组安全联盟;如果不存在当前所有请求设备都支持的安全參数,则GCKS选择当前最多请求设备支持的安全參数生成组安全联盟。当有新设备请求加入组时,如图7所示,本实施例的组安全联盟协商的方法还包括下面步骤步骤10 =GCKS与新请求设备建立初始安全联盟、相互进行身份验证,并从该新设备收集GCKS和该新设备都支持的安全參数;步骤20 =GCKS检查该新设备的安全參数,判断该新设备是否支持当前的组安全联盟,若是,则转向步骤30 ;否则,转向步骤40 ;步骤30,在所建立的初始安全联盟的保护下,GCKS向该新设备发送当前的组安全联盟;步骤40 =GCKS判断该新设备与当前组内GM是否具有共同支持的安全參数,若有,则转向步骤50 ;否则,转向步骤60 ;步骤50 :GCKS更新组安全联盟,即利用该新设备与当前组内GM共同支持的安全參数生成组安全联盟,并将更新后的GCKS发送给新GM和组内所布GM ;步骤60 =GCKS拒绝该新设备的加入,向该新设备发送告警信息。本发明是在组密钥管理协议⑶OI或组安全联盟管理协议中増加GCKS与GM协商组安全联盟的功能,并发送和更新GCKS生成的组安全联盟。本发明是通过增加或修改原有流程中的參数和消息来实现GCKS与GM协商组安全联盟、GCKS更新井向GM发送的所生成的组安全联盟。本发明改进的组密钥管理协议或组安全联盟管理协议除了服务于应用层的协议和程序外,还服务于较底层的协议,特别是组播路由协议。
图8是本发明实施例的⑶OI的流程示意图,详述如下阶段I协议ISAKMP或IKEv2阶段I交換,完成的功能包括GCKS和GM协商初始安全联盟、GCKS和GM相互进行身份认证、GCKS向GM收集GCKS和GM都支持的安全參数。GCKS与ー个到多个GM进行阶段I协议。GCKS根据收集的安全參数生成组安全联盟。阶段2协议GR0UPKEY-PULL (组密钥下载)交換,完成的功能包括GM从GCKS下载密钥材料包括所生成的组安全联盟。
GCKS生成新的组安全联盟,所述发生在两种场景之下,ー是GCKS更新当前密钥材料包括组安全联盟,ニ是当有新的GM加入时需要生成新的组安全联盟。阶段2协议GR0UPKEY-PUSH(组密钥推送)消息,完成的功能包括GCKS向GM发送更新的密钥材料包括新生成的组安全联盟。下面以几个实施例对本发明的组安全联盟协商的方法进行详细的说明。实施例一图9(a)为根据本发明的在⑶OI中的ISAKMP基本交換流程图,通过使用扩展的通知载荷(标记为Ne),或者扩展的安全联盟载荷(标记为SAe),或者新增的载荷(标记为SAI (security association information,安全联盟信息))来承载GM或GCKS支持的安全參数,详述如下步骤101 GM 向 GCKS 发送 HDR、SA、NONCE ;其中,HDR是ISAKMP协议的头部,SA是GM向GCKS提供的、用于建立初始安全联盟的、GM支持的所有安全參数(ー套到多套),NONCE是用于密钥交换的随机数。步骤102 =GCKS 向 GM 发送 HDR、SA、NONCE、Ne 或者 SAe 或者 SAI ;其中,SA承载的是GCKS从接收到的步骤101的SA中选择的用于建立初始安全联盟的安全參数(ー套),Ne或者SAe或者SAI承载的是GCKS向GM提供的、用于生成组安全联盟的、GCKS支持的所有安全參数(ー套到多套),例如,如果GCKS和GM是路由设备,GDOI用于路由协议的组安全联盟管理,则Ne或者SAe或者SAI承载的是路由协议安全联盟的一套到多套參数。载荷HDR和NONCE的意思同步骤101,不再赘述。步骤103 :611向60 发送1101 、1^、10^、4^'11、恥或者546或者5八1 ;其中,KE是承载用于生成会话密钥(session key)的数据的密钥交换载荷,IDii是GM的身份标识载荷,AUTH是认证载荷,Ne或者SAe或者SAI承载的是从步骤102的Ne或者SAe或者SAI提供的安全參数中选取的GM支持的所有安全參数(ー套到多套)。至此,GCKS完成从GM收集安全參数,也即GCKS和该GM同时支持的所有安全參数。步骤104 =GCKS 向 GM 发送 HDR、KE、IDir、AUTH ;其中,IDir是GCKS的身份载荷。至此,GCKS和GM可根据SA、N0NCE和KE建立初始安全联盟,并完成相互身份认证。上述承载GM或GCKS的安全參数的载荷Ne或者SAe或者SAI是在建立初始安全联盟的过程中发送的,该方式下承载GM或GCKS的安全參数的载荷未能得到保护。上述GCKS从GM收集安全參数实现GCKS和GM协商组安全联盟,具体的实现方式是GCKS向GM发送承载GCKS支持的所有安全參数的载荷,GM从中选择所有支持的安全參数,并用载荷承载,将其反馈给GCKS ;如果GM不支持GCKS的所有安全參数,则GM向GCKS发送报错通知,表明GM将无法支持GCKS生成的组安全联盟。实施例ニ图9(b)为根据本发明的在GDOI中的ISAKMP身份保护交換流程图,通过使用扩展的通知载荷(标记为Ne),或者扩展的安全联盟载荷(标记为SAe),或者新增的载荷(标记为SAI (security association information,安全联盟信息))来承载GM或GCKS支持的安全參数,详述如下步骤201 :GM 向 GCKS 发送 HDR 和 SA。步骤202 =GCKS 向 GM 发送 HDR 和 SA ;其中,SA承载的是GCKS从接收到的步骤201的SA中选择的用于 建立初始安全联
盟的ー套安全參数。步骤203 GM 向 GCKS 发送 HDR、KE、NONCE。步骤204 =GCKS 向 GM 发送 HDR、KE、N0NCE。至此,GCKS和GM完成密钥交换载荷和随机载荷的相互交換,并建立初始安全联盟。以下的交换是在初始安全联盟的保护下进行的,HDR*中的号表示HDR随后的所有内容都是经过加密和完整性认证的。步骤205 GM 向 GCKS 发送 HDR*、IDii, AUTH、Ne 或者 SAe 或者 SAI。步骤206 =GCKS 向 GM 发送 HDR*、IDii, AUTH。至此,GCKS和GM完成相互的身份认证,并且GCKS完成从GM收集安全參数。上述承载GM的安全參数的载荷在初始安全联盟已经建立、GCKS和GM进行相互认证的过程中发送的,该方式下承载GM的安全參数的载荷能够得到保护。上述GCKS从GM收集安全參数实现GCKS和GM协商组安全联盟,具体的实现方式是GM向GCKS发送承载GM支持的所有安全參数的载荷,GCKS从中提取本身所支持的安全參数;如果GCKS不支持GM的所有安全參数,则GCKS向GM发送报错通知,表明GCKS将无法生成GM支持的组安全联盟。实施例三图9(c)为根据本发明的在⑶01中的ISAKMP仅认证交換的流程图,通过使用扩展的通知载荷(标记为Ne),或者扩展的安全联盟载荷(标记为SAe),或者新增的载荷(标记为SAI)来承载GM或GCKS支持的安全參数,详述如下步骤301 GM 向 GCKS 发送 HDR、SA、N0NCE、Ne 或者 SAe 或者 SAI。步骤302 =GCKS 向 GM 发送 HDR、SA、NONCE、IDir、AUTH。至此,GCKS完成从GM收集安全參数。步骤303 GM 向 GCKS 发送 HDR、IDii, AUTH。至此,GCKS和GM完成初始安全联盟的建立,并相互的身份认证。上述承载GM的安全參数的载荷Ne或者SAe或者SAI是在建立初始安全联盟的过程中发送的,该方式下承载GM的安全參数的载荷未能得到保护。上述GCKS从GM收集安全參数实现GCKS和GM协商组安全联盟,具体的实现方式是GM向GCKS发送承载GM支持的所有安全參数的载荷,GCKS从中提取本身所支持的安全參数;如果GCKS不支持GM的所有安全參数,则GCKS向GM发送报错通知,表明GCKS将无法生成GM支持的组安全联盟。
实施例四图9(d)为根据本发明的在GDOI中的ISAKMP进行交换的流程图,通过使用扩展的通知载荷(标记为Ne),或者扩展的安全联盟载荷(标记为SAe),或者新增的载荷(标记为SAI)来承载GM或GCKS支持的安全參数,详述如下步骤401 GM 向 GCKS 发送 HDR、SA、KE、NONCE、IDii、Ne 或者 SAe 或者 SAI。步骤402 =GCKS 向 GM 发送 HDR、SA、KE、NONCE、IDir、AUTH。至此,GCKS完成从GM收集安全參数,并双方建立初始安全联盟。步骤 403 GM 向 GCKS 发送 HDR*、AUTH。至此,GCKS和GM完成相互的身份认证。上述承载GM的安全參数的载荷Ne或者SAe或者SAI是在建立初始安全联盟的过程中发送的,该方式下承载GM的安全參数的载荷未能得到保护。上述GCKS从GM收集安全參数实现GCKS和GM协商组安全联盟,具体的实现方式是GM向GCKS发送承载GM支持的所有安全參数的载荷,GCKS从中提取本身所支持的安全參数;如果GCKS不支持GM的所有安全參数,则GCKS向GM发送报错通知,表明GCKS将无法生成GM支持的组安全联盟。实施例五图10为根据本发明的在GDOI中的IKEv2初始交换的流程图,通过使用扩展的通知载荷(标记为Ne),或者扩展的安全联盟载荷(标记为SAe),或者新增的载荷(标记为SAI)来承载GM或GCKS支持的安全參数,详述如下步骤501 GM 向 GCKS 发送 IKE_SA_INIT 请求;具体地,GM向 GCKS 发送 HDR、SAil、KEi、Ni,其中 HDR 是 IKEv2 的头部,SAil 是 GM向GCKS提供的、用于建立初始安全联盟的、GM支持的所有安全參数(ー套到多套),KEi是承载用于生成会话密钥(session key)的数据的密钥交换载荷,Ni是用于密钥交换的随机数载荷。这些载荷标记中的“i”表示发起者(initiator)。步骤502 =GCKS 向 GM 发送 IKE_SA_INIT 响应; 具体地,GCKS向GM发送HDR、SArI、KEr、Nr、[CERTREQ],带方括号的载荷表示可选项,其中CERTREQ是证书请求载荷,其他载荷的含义同步骤501,其中SArl承载的是GCKS从接收到的步骤501的SAil中选择的用于建立初始安全联盟的安全參数(ー套)。这些载荷标记中的“:r ”表示响应者(responder)。至此,GCKS和GM可建立初始安全联盟。以下消息的发送是在上述所建立的初始安全联盟的保护下进行的,用SKH表示对花括号中的载荷进行了加密和完整性保护。步骤503 GM 向 GCKS 发送 IKE_AUTH 请求;具体地,GM向 GCKS 发送 HDR、SK{皿,[CERT, ] [CERTREQ, ] [IDr,]AUTH, Ne/SAe/SAI,TSi,TSr},其中CERT是证书载荷,AUTH是认证载荷,IDi和IDr分别是发起者和响应 者的身份标识载荷,Ne或者SAe或者SAI承载的是GM向GCKS提供的、用于生成组安全联盟的、GM支持的所有安全參数(ー套到多套),TSi和TSr分别是发起者和响应者的流选择子载荷。步骤504 =GCKS 向 GM 发送 IKE_AUTH 响应;GCKS 向 GM 发送 HDR、SK {IDr, [CERT, ]AUTH, TSi,TSr}。
至此,GCKS完成从GM收集安全參数,并GCKS和GM完成相互的身份认证。上述承载GM的安全參数的载荷在初始安全联盟已经建立、GCKS和GM进行相互认证的过程中发送的,该方式下承载GM的安全參数的载荷能够得到保护。上述GCKS从GM收集安全參数实现GCKS和GM协商组安全联盟,具体的实现方式是GM向GCKS发送承载GM支持的所有安全參数的载荷,GCKS从中提取本身所支持的安全參数;如果GCKS不支持GM的所有安全參数,则GCKS向GM发送报错通知,表明GCKS将无法生成GM支持的组安全联盟。
实施例六图11为根据本发明实施例的G-IKEv2的注册交换的流程图,通过使用扩展的通知载荷(标记为Ne),或者扩展的安全联盟载荷(标记为SAe),或者新增的载荷(标记为SAI)来承载GM或GCKS支持的安全參数,详述如下步骤601 GM 向 GCKS 发送 IKE_SA_INIT 请求;具体地,GM向 GCKS 发送 HDR、SAil、KEi、Ni。步骤602 =GCKS 向 GM 发送 IKE_SA_INIT 响应;具体地,GCKS向 GM 发送 HDR、SArU KEr、Nr、[CERTREQ]。至此,GCKS和GM可建立初始安全联盟。以下消息的发送是在上述所建立的初始安全联盟的保护下进行的。步骤603 GM 向 GCKS 发送 GSA_AUTH 请求;具体地,GM向 GCKS 发送 HDR、SK {皿,[CERT, ] [CERTREQ, ] [IDr, ]AUTH, IDg, Ne/SAe/SAI},其中IDg是组标识符载荷,表示GM向GCKS请求加入的组。步骤604 =GCKS 向 GM 发送 GSA_AUTH 响应;具体地,GCKS向 GM 发送 HDR、SK {IDr, [CERT, ]AUTH}。至此,GCKS完成从GM收集安全參数,并GCKS和GM完成相互的身份认证。上述承载GM的安全參数的载荷在初始安全联盟已经建立、GCKS和GM进行相互认证的过程中发送,该方式下承载GM的安全參数的载荷能够得到保护。上述GCKS从GM收集安全參数实现GCKS和GM协商组安全联盟,具体的实现方式是GM向GCKS发送承载GM支持的所有安全參数的载荷,GCKS从中提取所支持的安全參数;如果GCKS不支持GM的所有安全參数,则GCKS向GM发送报错通知,表明GCKS将无法生成GM支持的组安全联盟。本发明还提供ー种生成组安全联盟的装置,应用于GCKS,如图12所示,本实施例的装置包括收集模块和生成模块,其中,收集模块,用于收集通过身份验证的请求加入预定组的设备支持的、且本GCKS也支持的安全參数;生成模块,用于根据所述收集模块收集的安全參数生成所述预定组的组安全联盟。在一优选实施例中,所述收集模块可以包括接收单元和提取单元,接收单元,用于接收承载所述设备支持的所有安全參数的载荷;提取单元,用于从所述接收単元接收到的所述载荷中提取出本GCKS支持的所有安全參数。
在另ー优选实施例中,所述收集模块可以包括所述收集模块可以包括发送单元,用于向所述设备发送承载本GCKS支持的所有安全參数的载荷;接收单元,用于接收所述设备反馈的从该载荷中提取的所述设备支持的安全參数。其中,所述载荷为以下载荷中的任ー种扩展的通知载荷、扩展的安全联盟载荷、新设计的载荷,所述扩展的通知载荷为扩展的因特网安全联盟和密钥管理协议(ISAKMP)的通知载荷、或扩展的因特网密钥交换协议第二版(IKEv2)的通知载荷,所述扩展的安全联盟载荷为扩展的因特网安全联盟和密钥管理协议的安全联盟载荷、或扩展的因特网密钥交换协议第二版的安全联盟载荷。在一优选实施例中,所述生成模块可以包括选择单元,用于从所述收集模块收集的安全參数中选择当前最多所述设备支持的安全參数;生成単元,用于利用所述选择単元选择的安全參数生成组安全联盟。在一优选实施例中,如图13所示,本实施例的装置除了收集模块和生成模块外,还可以包括第一判断模块、发送模块和第二判断模块,其中,第一判断模块,用于在新设备加入所述预定组的过程中,判断该新设备支持的安全參数是否支持所述组安全联盟;发送模块,用于在所述第一判断模块判断该新设备支持的安全參数支持所述组安全联盟的情况下,将所述组安全联盟发送给所述新设备;第二判断模块,用于在所述第一判断模块判断该新设备支持的安全參数不支持所述组安全联盟的情况下,判断所述新设备与当前组内所有组员之间是否有共同支持的安全參数;所述生成模块,还用于在所述第二判断模块判断所述新设备与当前组内所有组员之间有共同支持的安全參数的情况下,利用该共同支持的安全參数生成新的组安全联盟。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用ー个或多个集成电路来实现。相应地,上述实施例中的各模块/単元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。以上仅为本发明的优选实施例,当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。权利要求
1.ー种组安全联盟的生成方法,包括 组控制器和密钥服务器(GCKS)收集通过身份验证的请求加入预定组的设备支持的、且本GCKS也支持的安全參数; 根据所述安全參数生成所述预定组的组安全联盟。
2.如权利要求I所述的方法,其特征在干 所述GCKS是在以下过程中收集所述设备支持的、且本GCKS也支持的安全參数的与所述设备建立初始安全联盟的过程、或与所述设备进行身份验证的过程。
3.如权利要求I或2所述的方法,其特征在于所述GCKS收集所述设备支持的、且本GCKS也支持的安全參数的步骤包括 所述GCKS接收到承载所述设备支持的所有安全參数的载荷后,从中提取出本GCKS支持的安全參数;或 所述GCKS向所述设备发送承载本GCKS支持的所有安全參数的载荷后,接收所述设备反馈的从该载荷中提取的所述设备支持的安全參数。
4.如权利要求3所述的方法,其特征在于所述载荷为以下载荷中的任ー种 扩展的通知载荷、扩展的安全联盟载荷、新设计的载荷; 所述扩展的通知载荷为扩展的因特网安全联盟和密钥管理协议(ISAKMP)的通知载荷、或扩展的因特网密钥交换协议第二版(IKEv2)的通知载荷; 所述扩展的安全联盟载荷为扩展的因特网安全联盟和密钥管理协议的安全联盟载荷、或扩展的因特网密钥交换协议第二版的安全联盟载荷。
5.如权利要求I或2所述的方法,其特征在于所述GCKS根据所述安全參数生成组安全联盟的步骤包括 所述GCKS从所述安全參数中选择当前最多所述设备支持的安全參数,利用所选择的安全參数生成组安全联盟。
6.如权利要求I所述的方法,其特征在于所述根据所述安全參数生成组安全联盟的步骤之后,所述方法还包括 在新设备加入所述预定组的过程中,所述GCKS判断该新设备支持的安全參数是否支持所述组安全联盟,若支持,则将所述组安全联盟发送给所述新设备,若不支持,则在判断所述新设备与当前组内所有组员之间有共同支持的安全參数时,根据该共同支持的安全參数生成新的组安全联盟。
7.—种生成组安全联盟的装置,应用于组控制器和密钥服务器(GCKS),包括 收集模块,用于收集通过身份验证的请求加入预定组的设备支持的、且本GCKS也支持的安全參数; 生成模块,用于根据所述收集模块收集的安全參数生成所述预定组的组安全联盟。
8.如权利要求7所述的装置,其特征在于所述收集模块包括 接收单元,用于接收承载所述设备支持的所有安全參数的载荷; 提取单元,用于从所述接收单元接收到的所述载荷中提取出本GCKS支持的安全參数, 其中,所述载荷为以下载荷中的任ー种 扩展的通知载荷、扩展的安全联盟载荷、新设计的载荷, 所述扩展的通知载荷为扩展的因特网安全联盟和密钥管理协议的通知载荷、或扩展的因特网密钥交换协议第二版的通知载荷, 所述扩展的安全联盟载荷为扩展的因特网安全联盟和密钥管理协议的安全联盟载荷、或扩展的因特网密钥交换协议第二版的安全联盟载荷。
9.如权利要求7所述的装置,其特征在于所述收集模块包括 发送单元,用于向所述设备发送承载本GCKS支持的所有安全參数的载荷; 接收单元,用于接收所述设备反馈的从该载荷中提取的所述设备支持的安全參数, 其中,所述载荷为以下载荷中的任ー种 扩展的通知载荷、扩展的安全联盟载荷、新设计的载荷, 所述扩展的通知载荷为扩展的因特网安全联盟和密钥管理协议的通知载荷、或扩展的因特网密钥交换协议第二版的通知载荷, 所述扩展的安全联盟载荷为扩展的因特网安全联盟和密钥管理协议的安全联盟载荷、或扩展的因特网密钥交换协议第二版的安全联盟载荷。
10.如权利要求7所述的装置,其特征在于所述生成模块包括 选择单元,用于从所述收集模块收集的安全參数中选择当前最多所述设备支持的安全參数; 生成単元,用于利用所述选择単元选择的安全參数生成组安全联盟。
11.如权利要求7-10任一项所述的装置,其特征在于还包括 第一判断模块,用于在新设备加入所述预定组的过程中,判断该新设备支持的安全參数是否支持所述组安全联盟; 发送模块,用于在所述第一判断模块判断该新设备支持的安全參数支持所述组安全联盟的情况下,将所述组安全联盟发送给所述新设备; 第二判断模块,用于在所述第一判断模块判断该新设备支持的安全參数不支持所述组安全联盟的情况下,判断所述新设备与当前组内所有组员之间是否有共同支持的安全參数; 所述生成模块,还用于在所述判断模块判断所述新设备与当前组内所有组员之间有共同支持的安全參数的情况下,利用该共同支持的安全參数生成新的组安全联盟。
全文摘要
本发明提供一种组安全联盟的生成方法及装置,该方法包括组控制器和密钥服务器(GCKS)收集通过身份验证的请求加入预定组的设备支持的、且本GCKS也支持的安全参数;根据所述安全参数生成所述预定组的组安全联盟。通过本发明可以使GCKS与GM之间的安全机制的实现和配置更简易,更具灵活性。
文档编号H04L29/06GK102655452SQ20111005334
公开日2012年9月5日 申请日期2011年3月4日 优先权日2011年3月4日
发明者梁小萍 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1