Get vpn中gm向ks注册的方法及gm和ks的制作方法
【专利摘要】本发明提供了一种GET?VPN中GM向KS注册的方法,其中,KS管理多个组,属于同一组的多个GM具有相同的组ID,该方法包括:GM与KS进行一阶段IKE协商和二阶段GDOI协商,所述二阶段GDOI协商的方法包括:KS接收GM向其发送的组ID,以及携带GM本端所支持的安全关联SA策略列表;KS根据组ID查找到该组对应的KS安全关联策略列表,将所述GM的列表与KS安全关联策略列表根据优先级进行匹配,得到最高优先级的组安全关联策略,保存该组安全关联策略后下发给GM;KS得到GM的确认后,向GM发送密钥信息。本发明还提供了一种GM和KS。采用本发明能够提高KS的兼容性和扩展性。
【专利说明】GET VPN中GM向KS注册的方法及GM和KS
【技术领域】
[0001]本发明涉及通信【技术领域】,特别涉及一种组加密传输虚拟私有网络(GET VPN)中组成员(GM)向密钥服务器(KS)注册的方法及GM和KS。
【背景技术】
[0002]GET VPN(Group Encrypted Transport Virtual Private Network,组加密传输虚拟私有网络)是一种实现密钥和安全策略集中管理的解决方案。GET VPN的典型应用体现为对组播流量的保护,例如音频、视频广播和组播文件的安全传输。GET VPN提供了一种新的基于组的IP安全(IPsec)模型。组是一个安全策略的集合,属于同一个组的所有成员共享相同的安全策略及密钥。GET VPN由KS (Key Server,密钥服务器)和GM (Group Member,组成员)组成,其中,KS通过划分不同的组来管理不同的安全策略和密钥,GM通过加入相应的组,从KS获取安全策略及密钥,并负责对数据流量加密和解密。
[0003]图1为GET VPN组网结构示意图。在GET VPN组网中,GM需要向KS注册,这个注册过程依次包括两个阶段的协商:
[0004]一阶段Internet密钥交换协议(IKE)协商:GM与KS进行协商,进行双方的身份认证,身份认证通过后,生成用于保护二阶段⑶OI协商的IKE SA。
[0005]二阶段⑶OI协商:由⑶OI协议定义其协商过程,这是一个GM从KS上“拉”策略的过程。
[0006]具体地,注册过程包含如下几个步骤,其流程示意图如图2所示:
[0007]步骤11、GM与KS进行一阶段IKE协商;
[0008]步骤12、GM向KS发送所在组的标识(ID);
[0009]步骤13、KS根据GM提供的组ID向GM发送相应组的安全关联(SA)策略,其中安全关联策略包括保护的数据流信息、加密算法、认证算法、封装模式等;
[0010]步骤14、GM对收到的安全关联策略进行验证,如果这些策略是可接受的例如安全协议和加密算法是可支持的,则向KS发送确认消息;
[0011]步骤15、KS收到GM的确认消息后,向GM发送密钥信息,包括加密密钥的密钥(KEK)和加密流量的密钥(TEK)。
[0012]通过上述这个过程,GM把KS上的SA策略和密钥〃拉〃到了本地。当GM获取了安全关联策略和密钥之后,就可以在GM之间加、解密数据了。
[0013]在GET VPN中,GM向KS获取安全策略和密钥时只提供了组ID,KS根据GM要加入的组ID来决定下发对应的安全策略和密钥信息。在最新的⑶OI协议(RFC6407)中规定,如果GM不接受KS下发的策略,则通知KS删除阶段一的IKE SA,并终止协商。
[0014]现有方案中,如果KS支持了新的加密或者验证算法,必须强制组内的所有GM都升级版本支持新的算法,否则GM将无法再加入到该组。或者,如果一个组内的GM分布在不同的地区,而部分地区对某些算法有限制,如不支持AES256算法,这样当KS配置的加密算法为AES256时,将会导致该部分地区的GM无法注册成功。[0015]因此,当前方案中KS无法兼容不同能力的GM,扩展性较差。
【发明内容】
[0016]本发明实施例提供了一种GET VPN中GM向KS注册的方法,提高了 KS的兼容性和扩展性。
[0017]一种GET VPN中GM向KS注册的方法,其中,KS管理多个组,属于同一组的多个GM具有相同的组ID,该方法包括:GM与KS进行一阶段IKE协商和二阶段⑶OI协商,所述二阶段⑶OI协商的方法包括:
[0018]KS接收GM向其发送的组ID,以及携带GM本端所支持的安全关联策略列表;
[0019]KS根据组ID查找到该组对应的KS安全关联策略列表,将所述GM的列表与KS安全关联策略列表根据优先级进行匹配,得到最高优先级的组安全关联策略,保存该组安全关联策略后下发给GM;
[0020]KS得到GM的确认后,向GM发送密钥信息。
[0021]本发明实施例还提供了一种GM,提高了 KS的兼容性和扩展性。
[0022]一种GM,用于在GET VPN中向KS注册,其中,KS管理多个组,属于同一组的多个GM具有相同的组ID,该GM包括:
[0023]保存单元,用于保存该GM本端所支持的安全关联策略列表;还用于保存从KS得到的组安全关联策略和密钥信息。
[0024]发送单元,用于将该GM所在的组ID,以及保存单元中的该GM本端所支持的安全关联策略列表发送给KS ;
[0025]确认单元,用于根据KS向其下发的组安全关联策略进行确认,并发送确认消息给
KSo
[0026]本发明实施例还提供了一种KS,提高了 KS的兼容性和扩展性。
[0027]一种KS,用于在GET VPN中GM向其注册,其中,KS管理多个组,属于同一组的多个GM具有相同的组ID,该KS包括:
[0028]接收单元,用于接收GM向其发送的该GM所在的组ID,以及该GM本端所支持的安全关联策略列表;还用于接收GM向其发送的确认消息;
[0029]保存单元,用于保存每个组对应的KS安全关联策略列表;还用于保存接收单元接收的GM本端所支持的安全关联策略列表;还用于保存从处理单元得到的组安全关联策略;
[0030]处理单元,用于根据该GM对应的组ID,查找到该组对应的KS安全关联策略列表,将所述GM的列表与该组对应的KS安全关联策略列表根据优先级进行匹配,得到最高优先级的组安全关联策略,并将该组安全关联策略发送给保存单元和发送单元;
[0031]发送单元,用于将得到的组安全关联策略发送给GM ;还用于在接收到GM向其发送的确认消息后,向GM发送密钥信息。
[0032]本发明实施例KS根据GM的能力下发安全关联策略,GM将本端所支持的安全关联策略列表提供给KS,KS可以根据自身列表和GM将本端所支持的安全关联策略列表进行匹配,有效利用GM所支持的算法,提高了 KS的兼容性和扩展性;如果KS支持了新的加密或者验证算法,只要GM所支持的算法在KS安全关联策略列表中存在,不用强制组内的所有GM都升级版本支持新的算法,GM就可以向KS注册成功,从而降低了版本升级的开销。【专利附图】
【附图说明】
[0033]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0034]图1为GET VPN组网结构示意图。
[0035]图2为现有技术GET VPN中GM向KS注册的方法流程示意图。
[0036]图3为本发明提供的GET VPN中GM向KS注册的方法流程示意图。
[0037]图4为本发明实施例GM的具体结构示意图。
[0038]图5为本发明实施例KS的具体结构示意图。
[0039]图6是本发明一实施例的KS的另一结构示意图。
【具体实施方式】
[0040]为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
[0041]本发明的核心思想为:当前注册上线的GM将本端所支持的安全关联策略列表提供给KS,由KS进行匹配得到一个组安全关联策略。这样,即使GM的能力比较差,只支持一部分算法,但只要该算法在KS安全关联策略列表中存在,GM就可以向KS注册成功。
[0042]图3为本发明提供的GET VPN中GM向KS注册的方法流程示意图。其中主要介绍GM与KS进行二阶段⑶OI协商的内容,GM与KS进行一阶段IKE协商的步骤在二阶段⑶OI协商之前,属于现有技术,在此不再赘述。如图3所示,该方法包括:
[0043]步骤31、KS接收GM向其发送的组ID,以及携带GM本端所支持的安全关联(SA)策略列表;
[0044]步骤32、KS根据组ID查找到该组对应的KS安全关联策略列表,将所述GM的列表与KS安全关联策略列表根据优先级进行匹配,得到最高优先级的组安全关联策略,保存该组安全关联策略后下发给GM ;
[0045]步骤33、KS得到GM的确认后,向GM发送密钥信息。其中,密钥信息包括KEK和TEK。
[0046]图4为本发明实施例GM的具体结构示意图。该GM包括:
[0047]保存单元41,用于保存该GM本端所支持的安全关联策略列表;还用于保存从KS得到的组安全关联策略和密钥信息。
[0048]发送单元42,用于将该GM所在的组ID,以及保存单元41中的该GM本端所支持的安全关联策略列表发送给KS ;
[0049]确认单元43,用于根据KS向其下发的组安全关联策略进行确认,并发送确认消息给KS ;
[0050]接收处理单元44,用于接收KS下发的没有得到组安全关联策略的通知消息,并删除在一阶段IKE协商过程中生成的用于保护二阶段⑶OI协商的IKE SA,终止二阶段⑶OI协商;还用于接收KS下发的更新组安全关联策略的通知消息,并更新自身保存的组安全关联策略。
[0051]图5为本发明实施例KS的具体结构示意图。
[0052]接收单元51,用于接收GM向其发送的该GM所在的组ID,以及该GM本端所支持的安全关联策略列表;还用于接收GM向其发送的确认消息;
[0053]保存单元52,用于保存每个组对应的KS安全关联策略列表;还用于保存接收单元接收的GM本端所支持的安全关联策略列表;还用于保存从处理单元得到的组安全关联策略;
[0054]处理单元53,用于根据该GM对应的组ID,查找到该组对应的KS安全关联策略列表,将所述GM的列表与该组对应的KS安全关联策略列表根据优先级进行匹配,得到最高优先级的组安全关联策略,并将该组安全关联策略发送给保存单元和发送单元;
[0055]发送单元54,用于将得到的组安全关联策略发送给GM;还用于在接收到GM向其发送的确认消息后,向GM发送密钥信息。
[0056]如果组内已经有其他的GM注册上线,则保存单元保存有一个组安全关联策略;对于当前上线的GM,
[0057]所述处理单元53,还用于根据该GM本端所支持的安全关联策略列表确定该GM是否支持组安全关联策略,如果是,则直接将该组安全关联策略通过发送单元下发给当前上线的GM ;如果否,则将所述GM的列表与该组对应的KS安全关联策略列表,以及组内其他已经注册上线的GM本端所支持的安全关联策略列表,根据优先级进行匹配,得到组内所有GM都支持的组安全关联策略通过发送单元下发给当前上线的GM ;
[0058]所述保存单元52,还用于在处理单元得到组内所有GM都支持的组安全关联策略时,更新当前保存的组安全关联策略。
[0059]所述KS还包括:通知单元55,用于在处理单元53没有得到组安全关联策略时,通知GM ;还用于在处理单元53得到组内所有GM都支持的组安全关联策略时,通知组内其他已经注册上线的GM更新组安全关联策略。
[0060]上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由多个模块来实现,或者多个模块的功能由一个模块实现。在本发明的其它实施例中,KS也可以包括其它模块。图6是本发明一实施例的KS的另一结构示意图。如图6所示,KS包括接收单元61、保存单元62、处理单元63、发送单元64、通知单元65以及CPU、存储器,这些模块通过内部总线相互连接。接收单元61、保存单元62、处理单元63、发送单元64、通知单元65的功能与接收单元51、保存单元52、处理单元53、发送单元54、通知单元55的功能类似。接收单元61、保存单元62、处理单元63、发送单元64和通知单元65的功能主要由接收单元61、保存单元62、处理单元63、发送单元64和通知单元65发起和控制,但在实际应用中,这些功能也可以由其它模块协助实现,并且可以由多个模块协作实现,例如,可以利用CPU的处理功能,可以从存储器中读取信息,可以通过内部总线进行数据传输等等。同理,本发明的GM也可以与KS类似,包括其他模块,在此不再赘述。
[0061]下面结合图3对GM和KS各个单元的工作过程进一步进行详细说明。
[0062]在步骤31中,首先,GM的发送单元42将GM所在的组ID,以及保存单元41中的该GM本端所支持的安全关联策略列表发送给KS ;
[0063]然后,KS的接收单元51接收GM向其发送的该GM所在的组ID,以及该GM本端所支持的安全关联策略列表,并将该GM本端所支持的安全关联策略列表保存至保存单元52中;
[0064]其中,GM本端所支持的安全关联策略列表,包括多个安全关联策略。该列表可以有优先级,即列表中的每个SA策略按照优先级由高到低依次排列。
[0065]在步骤32中,KS的处理单元53根据该GM对应的组ID,查找到该组对应的保存在保存单元52中的KS安全关联策略列表,将所述GM的列表与该组对应的KS安全关联策略列表根据优先级进行匹配,得到最高优先级的组安全关联策略,并将该组安全关联策略发送给保存单元52和发送单元54 ;发送单元54将得到的组安全关联策略发送给GM的保存单元41保存;
[0066]一个KS安全关联策略列表中包括多个安全关联策略,该列表可以有优先级,即列表中的每个SA策略按照优先级由高到低依次排列。那么,将两个列表进行匹配时,就根据优先级由高到低依次进行匹配,找到具有最高优先级的两个列表中都支持的SA策略,称作组安全关联策略。
[0067]如果KS没有得到组安全关联策略,即将两个列表进行匹配时,没有两个列表共同支持的SA策略,则将该消息通过通知单元55通知GM,接收到通知的接收处理单元44会删除在一阶段IKE协商过程中生成的用于保护二阶段⑶OI协商的IKE SA,终止二阶段⑶OI协商。具体地,KS向GM发送一个通知消息(Notify Message,消息类型为NO-PROPOSAL-CHOSEN (RFC2408)),告知 GM 没有匹配的 SA 策略。
[0068]在步骤33中,GM的确认单元43根据KS向其下发的组安全关联策略进行确认,并发送确认消息给KS ;KS的接收单元51接收GM向其发送的确认消息后,在发送单元54向GM发送密钥信息。
[0069]由于组内第一个GM向KS注册上线,所以会匹配得到一个组安全关联策略,具体过程如图3所示。如果组内已经有其他的GM注册上线,则KS已经保存有一个组安全关联策略,那么,当前如果又有一个GM要注册上线,KS的接收单元51接收到该GM本端所支持的安全关联策略列表保存到保存单元52后,由处理单元53确定该GM是否支持组安全关联策略,如果该GM本端所支持的安全关联策略列表中包含所述组安全关联策略,则KS直接将该组安全关联策略通过发送单元54下发给当前上线的GM,接下来重复执行步骤33即可;如果否,则将所述GM的列表与该组对应的KS安全关联策略列表,以及组内其他已经注册上线的GM本端所支持的安全关联策略列表,根据优先级进行匹配,得到组内所有GM都支持的组安全关联策略通过发送单元54下发给当前上线的GM。其中,由于已经注册上线的GM和当前注册上线的GM各自所支持的安全关联策略列表都可以有优先级,该组对应的KS安全关联策略列表也可以有优先级,所以将多个列表进行匹配时,就根据优先级由高到低依次进行匹配,找到具有最高优先级的所有列表中都支持的SA策略,作为更新后的组安全关联策略,保存在保存单元52后通过发送单元54下发给当前上线的GM,并通过通知单元55通知组内其他已经注册上线的GM更新组安全关联策略。其他已经注册上线的GM的接收处理单元44接收KS下发的更新组安全关联策略的通知消息,并更新自身保存的组安全关联策略。这样,就可以保证所有注册上线的GM都使用同一个组安全关联策略。
[0070]如果KS没有得到组内所有GM都支持的组安全关联策略,即所有列表中都没有共同支持的SA策略,则通过通知单元55将该消息通知当前上线的GM,终止协商流程。[0071]综上,根据本发明的方法,当前注册上线的GM将本端所支持的安全关联策略列表提供给KS,由KS进行匹配得到一个组安全关联策略。这样,即使GM的能力比较差,只支持一部分算法,但只要该算法在KS安全关联策略列表中存在,GM就可以向KS注册成功。进一步地,如果组内已经有其他的GM注册上线,当前注册上线的GM将本端所支持的安全关联策略列表提供给KS,由KS确定是否沿用原来的组安全关联策略,或者进行匹配得到一个新的组安全关联策略。这样,可以更大程度地使GM注册成功。
[0072]本发明实施例提供的方法和设备可以由硬件、或计算机可读指令、或者硬件和计算机可读指令的结合来实现。本实施例中使用的计算机可读指令由多个处理器存储在可读存储介质中,例如硬盘、CD-ROM、DVD、光盘、软盘、磁带、RAM、ROM或其它合适的存储设备。或者,至少部分计算机可读指令可以由具体硬件替换,例如,定制集成线路、门阵列、FPGA、PLD和具体功能的计算机等等。
[0073]本发明实施例提供了计算机可读存储介质,用于存储指令使得计算机执行本文所述的方法。具体地,本实施例提供的系统或设备都具有存储介质,其中存储了计算机可读程序代码,用于实现上述任意实施例的功能,并且这些系统或设备(或CPU或MPU)能够读取并且执行存储在存储介质中的程序代码。
[0074]在这种情况下,从存储介质中读取的程序代码可以实现上述任一实施例,因此该程序代码和存储该程序代码的存储介质是技术方案的一部分。
[0075]用于提供程序代码的存储介质包括软盘、硬盘、磁光盘、光盘(例如⑶-ROM、⑶-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁盘、闪存卡、ROM等等。可选地,程序代码也可以通过通信网络从服务器电脑上下载。
[0076]应该注意的是,对于由计算机执行的程序代码,至少部分由程序代码实现的操作可以由运行在计算机上的操作系统实现,从而实现上述任一实施例的技术方案,其中该计算机基于程序代码执行指令。
[0077]另外,存储介质中的程序代码被被写入存储器,其中,该存储器位于插入在计算机中的扩展板中,或者位于连接到计算机的扩展单元中。在本实施例中,扩展板或扩展单元中的CPU根据指令,基于程序代码执行至少部分操作,从而实现上述任一实施例的技术方案。
[0078]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种组加密传输虚拟私有网络GET VPN中组成员GM向密钥服务器KS注册的方法,其中,KS管理多个组,属于同一组的多个GM具有相同的组标识ID,该方法包括:GM与KS进行一阶段Internet密钥交换协议IKE协商和二阶段GDOI协商,其特征在于,所述二阶段⑶OI协商的方法包括: KS接收GM向其发送的组ID,以及携带GM本端所支持的安全关联SA策略列表; KS根据组ID查找到该组对应的KS安全关联策略列表,将所述GM的列表与KS安全关联策略列表根据优先级进行匹配,得到最高优先级的组安全关联策略,保存该组安全关联策略后下发给GM ; KS得到GM的确认后,向GM发送密钥信息。
2.如权利要求1所述的方法,其特征在于,如果KS没有得到组安全关联策略,则将所述KS没有得到组安全关联策略的消息通知GM,接收到通知的GM删除在一阶段IKE协商过程中生成的用于保护二阶段⑶OI协商的IKE SA,并终止二阶段⑶OI协商。
3.如权利要求1所述的方法,其特征在于,该方法进一步包括:KS保存每个GM向其发送的GM本端所支持的安全关联策略列表。
4.如权利要求3所述的方法,其特征在于,如果组内已经有其他的GM注册上线,则KS保存有一个组安全关联策略; 对于当前上线的GM,该方法进一步包括:KS根据所保存的该GM本端所支持的安全关联策略列表确定该GM是否支持组安全关联策略,如果是,则KS直接将该组安全关联策略下发给当前上线的GM ;如果否, 则将所述GM的列表与该组对应的KS安全关联策略列表,以及组内其他已经注册上线的GM本端所支持的安全关联策略列表,根据优先级进行匹配,得到组内所有GM都支持的组安全关联策略下发给当前上线的GM。
5.如权利要求4所述的方法,其特征在于,如果KS没有得到组内所有GM都支持的组安全关联策略,则将所述KS没有得到组内所有GM都支持的组安全关联策略的消息通知当前上线的GM。
6.如权利要求4所述的方法,其特征在于,KS得到组内所有GM都支持的组安全关联策略时,更新当前组安全关联策略,并通知组内其他已经注册上线的GM更新组安全关联策略。
7.一种组成员GM,用于在组加密传输虚拟私有网络GET VPN中向密钥服务器KS注册,其中,KS管理多个组,属于同一组的多个GM具有相同的组标识ID,该GM包括: 保存单元,用于保存该GM本端所支持的安全关联SA策略列表;还用于保存从KS得到的组安全关联策略和密钥信息。 发送单元,用于将该GM所在的组ID,以及保存单元中的该GM本端所支持的安全关联策略列表发送给KS ; 确认单元,用于根据KS向其下发的组安全关联策略进行确认,并发送确认消息给KS。
8.如权利要求7所述的GM,其特征在于,所述GM进一步包括: 接收处理单元,用于接收KS下发的没有得到组安全关联策略的通知消息,并删除在一阶段Internet密钥交换协议IKE协商过程中生成的用于保护二阶段⑶OI协商的IKE SA,终止二阶段GDOI协商;还用于接收KS下发的更新组安全关联策略的通知消息,并更新自身保存的组安全关联策略。
9.一种密钥服务器KS,用于在组加密传输虚拟私有网络GET VPN中组成员GM向其注册,其中,KS管理多个组,属于同一组的多个GM具有相同的组标识ID,该KS包括: 接收单元,用于接收GM向其发送的该GM所在的组ID,以及该GM本端所支持的安全关联SA策略列表;还用于接收GM向其发送的确认消息; 保存单元,用于保存每个组对应的KS安全关联策略列表;还用于保存接收单元接收的GM本端所支持的安全关联策略列表;还用于保存从处理单元得到的组安全关联策略; 处理单元,用于根据该GM对应的组ID,查找到该组对应的KS安全关联策略列表,将所述GM的列表与该组对应的KS安全关联策略列表根据优先级进行匹配,得到最高优先级的组安全关联策略,并将该组安全关联策略发送给保存单元和发送单元; 发送单元,用于将得到的组安全关联策略发送给GM;还用于在接收到GM向其发送的确认消息后,向GM发送密钥信息。
10.如权利要求9所述的KS,其特征在于,如果组内已经有其他的GM注册上线,则保存单元保存有一个组安全关联策略;对于当前上线的GM, 所述处理单元,还用于根据该GM本端所支持的安全关联策略列表确定该GM是否支持组安全关联策略,如果是,则直接将该组安全关联策略通过发送单元下发给当前上线的GM ;如果否,则将所述GM的列表与该组对应的KS安全关联策略列表,以及组内其他已经注册上线的GM本端所支持的安全关联策略列表,根据优先级进行匹配,得到组内所有GM都支持的组安全关联策略通过发送单元下发给当前上线的GM ; 所述保存单元,还用于在处理单元得到组内所有GM都支持的组安全关联策略时,更新当前保存的组安全关联策略。
11.如权利要求10所述的KS,其特征在于,所述KS进一步包括: 通知单元,用于在处理单元没有得到组安全关联策略时,通知GM;还用于在处理单元得到组内所有GM都支持的组安全关联策略时,通知组内其他已经注册上线的GM更新组安全关联策略。
【文档编号】H04L12/46GK103546420SQ201210234859
【公开日】2014年1月29日 申请日期:2012年7月9日 优先权日:2012年7月9日
【发明者】王占群 申请人:杭州华三通信技术有限公司