公开/公告号CN102904901A
专利类型发明专利
公开/公告日2013-01-30
原文格式PDF
申请/专利权人 杭州华三通信技术有限公司;
申请/专利号CN201210423078.5
发明设计人 王占群;
申请日2012-10-29
分类号H04L29/06(20060101);
代理机构11018 北京德琦知识产权代理有限公司;
代理人谢安昆;宋志强
地址 310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地
入库时间 2024-02-19 17:33:05
法律状态公告日
法律状态信息
法律状态
2017-05-10
专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L29/06 变更前: 变更后: 申请日:20121029
专利权人的姓名或者名称、地址的变更
2015-07-29
授权
授权
2013-04-03
实质审查的生效 IPC(主分类):H04L29/06 申请日:20121029
实质审查的生效
2013-01-30
公开
公开
技术领域
本申请涉及通信技术领域,特别涉及一种同步因特网协议安全安全联盟(IPsec SA)的方法、组成员及组密钥服务器。
背景技术
组加密传输虚拟私有网络(Group Encrypted Transport Virtual Private Network,GET VPN)是一种实现密钥和安全策略集中管理的解决方案。传统的IPsec VPN是一种点 到点的隧道连接,而GET VPN是一种点到多点的无隧道连接。GET VPN的典型应用 体现为对组播流量的保护,例如音频、视频广播和组播文件的安全传输。
GET VPN提供了一种新的基于组的IPsec安全模型。组是一个安全策略的集合, 属于同一个组的所有成员共享相同的安全策略及密钥。GET VPN由密钥服务器(Key Server,KS)和组成员(Group Member,GM)组成,其中,KS通过划分不同的组来 管理不同的安全策略和密钥,GM通过加入相应的组,从KS获取安全策略及密钥, 并负责对数据流量加密和解密。
在GETVPN组网中,GM需要向KS注册,这个注册过程依次包括两个阶段的协 商:第一阶段的IKE协商:GM与KS进行协商,进行双方的身份认证,身份认证通 过后,生成用于保护二阶段GDOI协商的IKE SA;第二阶段的GDOI协商:由GDOI 协议定义其协商过程,这是一个GM从KS上“拉”策略的过程。
在第二协商阶段的第二条报中将SA策略下发给GM,在第四条报文中再把SA策 略使用的密钥通过KD载荷下发给GM,这样某些情况下GM收到的KD载荷中的安 全参数索引(SPI)可能和SA载荷中的SPI不一致,如交互过程中生成了新的SA策 略,或交互过程中老的SA策略删除了,此时GM无法正常的创建IPsec SA,GM和 KS的IPsec SA就不同步了,只能等待KS在Rekey时更新IPsec SA;GM在创建IPsec SA时,由于本地资源不足或其他原因创建失败;由于网络问题,GM无法正常接收 KS发送的Rekey消息;GM手工或非正常删除KS下发的IPsec SA后,无法正常接收 其他GM发送的报文等,都可能造成GM和KS的IPsec SA不同步,在KS在Rekey 更新IPsec SA之前,业务不能正常使用。
发明内容
有鉴于此,本申请提供一种同步IPsec SA的方法、组成员及组密钥服务器,能 够使GM同KS上的IPsec SA保持同步,保证业务的正常使用。
为解决上述技术问题,本发明的技术方案是这样实现的:
一种同步因特网协议安全安全联盟IPsec SA的方法,应用于组加密传输虚拟私有 网络GET VPN组网中,所述组网中包括多个组成员GM和一个组密钥服务器KS,任 一所述GM接收到所述KS发送的携带安全联盟SA载荷的消息,并验证所述SA载荷 中的SA策略成功时,在本地临时记录所述SA载荷中的安全参数索引SPI和SA策略, 包括:
该GM接收到KS发送的携带密钥下发KD载荷的消息时,确定所述KD载荷中 的SPI与本地临时记录的SPI是否一致,如果是,生成IPsec SA,并存储到安全联盟 数据库中,其中,所述IPsec SA包含所述KD载荷中的密钥信息,以及记录的SPI和 SA策略;否则,向所述KS发送所述KD载荷中的SPI无效的消息,使所述KS根据 所述无效的SPI获取对应的IPsec SA,并通过rekey消息下发;接收到所述KS发送的 rekey消息时,获得所述rekey消息中携带的IPsec SA,并存储到所述安全联盟数据库 中。
一种组成员GM,可应用于组加密传输虚拟私有网络GET VPN组网中,所述组网 中还包括其他GM和一个组密钥服务器KS,所述GM包括:接收单元、记录单元、 确定单元、存储单元和发送单元;
所述接收单元,用于接收所述KS发送的携带SA载荷的消息;接收所述KS发送 的携带密钥下发KD载荷的消息;接收所述KS发送的rekey消息;
所述记录单元,用于当所述接收单元接收到所述KS发送的携带SA载荷的消息, 且验证所述SA载荷中的SA策略成功时,在本地临时记录所述SA载荷中的安全参数 索引SPI和SA策略;
所述确定单元,用于当所述接收单元接收到所述KS发送的携带KD载荷的消息 时,确定所述KD载荷中的SPI与所述记录单元临时记录的SPI是否一致;
所述存储单元,用于当所述确定单元确定所述KD载荷中的SPI与所述记录单元 临时记录的SPI一致时,生成IPsec SA,并存储到安全联盟数据库中,其中,所述IPsec SA包含所述KD载荷中的密钥信息,以及记录的SPI和SA策略;当所述接收单元接 收到所述KS发送的rekey消息时,获得所述rekey消息中携带的IPsec SA,并存储到 所述安全联盟数据库中;
所述发送单元,用于当所述确定单元确定所述KD载荷中的SPI与所述记录单元 临时记录的SPI不一致时,向所述KS发送所述KD载荷中的SPI无效的消息,使所 述KS根据所述无效的SPI获取对应的IPsec SA,并通过rekey消息下发。
一种组密钥服务器KS,可应用于组加密传输虚拟私有网络GET VPN组网中,所 述组网中还包括多个组成员GM,所述KS包括:接收单元、查找单元和发送单元;
所述接收单元,用于接收所述任一所述GM发送的携带安全参数索引SPI无效的 消息;
所述查找单元,用于当所述接收单元接收到所述GM发送的携带SPI无效的消息 时,根据所述消息中的SPI查找对应的IPsec SA;
所述发送单元,用于将所述查找单元查找到的对应IPsec SA通过rekey消息发送 给所述GM。
综上所述,本申请通过在接收到的携带KD载荷的消息时,若KD载荷中的 SPI与本地临时记录的SPI不一致时,向所述KS发送该KD载荷中的SPI无效的 消息,获得IPsec SA,使GM同KS上的IPsec SA保持同步,保证业务的正常使 用。
附图说明
图1为本发明实施例中同步IPsec SA的方法的流程示意图;
图2为本发明具体实施例中应用于同步IPsec SA的GM的结构示意图;
图3为本发明具体实施例中可应用于同步IPsec SA的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例, 对本发明所述方案作进一步地详细说明。
本发明实施例中提出一种同步IPsec SA的方法,该方法应用于GET VPN组网中, 该组网中包括多个GM和一个KS,任一所述GM向KS注册时,第一阶段IKE协商, 生成IKE SA,用于进行身份验证,为第二阶段的交换提供保护的过程同现有实现,在 第二阶段协商过程中,接收到KS发送的携带KD载荷的消息,确定所述KD载荷中 的SPI与接收到的SA载荷中的SPI是否一致,一致时,生成IPsec SA并存储到安全 联盟数据库中;不一致时,向KS发送KD载荷中的SPI无效的消息,重新获取IPsec SA,达到该GM同KS的IPsec SA一致,能够保证业务的正常使用。
参见图1,图1为本发明实施例中同步IPsec SA的方法的流程示意图。具体步骤 为:
步骤101,任一所述GM接收到所述KS发送的携带SA载荷的消息,并验证所述 SA载荷中的SA策略成功时,在本地临时记录所述SA载荷中的SPI和SA策略。
在具体实现时,接收到KS发送的携带SA载荷的消息时,获得SA载荷中的SA 策略,并在本地进行验证,如果该SA策略可接受,即安全协议和加密算法等该GM 支持,则验证成功,其中SA安全策略包括:保护的数据流信息、加密算法、认证算 法、封装模式等。此时,只是将SA载荷中的SPI和SA策略临时记录,并不直接存储 到安全联盟数据库中。
步骤102,该GM接收到KS发送的携带KD载荷的消息时,确定所述KD载荷中 的SPI与本地临时记录的SPI是否一致,如果是,执行步骤103;否则,执行步骤104。
步骤103,该GM生成IPsec SA,并存储到安全联盟数据库中,其中,所述IPsec SA包含所述KD载荷中的密钥信息,以及记录的SPI和SA策略。
当KD载荷中的SPI同本地临时记录的SPI一致时,才能成功地生成IPsec SA, 该IPsec SA包含SPI、SA策略和密钥信息,并将成功生成的IPsec SA存储到安全联 盟数据库中。其中,密钥信息包含KEK和TEK。
步骤101中在本地临时记录所述SA载荷中的SPI和SA策略时,进一步记录SA 载荷中的老化时间。
本步骤中在该GM生成IPsec SA,并存储到安全联盟数据库中时,该方法进一步 包括:同时存储本地临时记录的老化时间,当所述老化时间到时,删除所述存储的IPsec SA。
步骤101中临时记录的老化时间并不生效,只有存储到安全联盟数据库中时该老 化时间才生效。
步骤104,该GM向所述KS发送所述KD载荷中的SPI无效的消息,使所述KS 根据所述无效的SPI获取对应的IPsec SA,并通过rekey消息下发。
当KD载荷中的SPI同本地临时记录的SPI不一致时,此时生成IPsec SA失败, 但是本发明实施例中并不就此结束该流程,等待KS发送rekey消息来获得IPsec SA, 而是获得该KD载荷中的SPI,并向KS发送该获得的SPI无效的消息重新获得IPsec SA。
KS接收到GM发送的SPI无效的消息时,根据该无效的SPI在本地获取对应的 IPsec SA,并通过rekey消息下发;如果根据无效SPI未获得对应的IPsec SA,则不处 理该SPI无效的消息。KS维护IPsec SA的生命周期,GM请求无效SPI对应的IPsec SA 时,在KS上可能已经老化,因此会有找不到对应的IPsec SA的情况发生。
GM在向KS发送的SPI无效的消息时,其中,无效的SPI通过INVALID-SPI的 消息类型实现,该INVALID-SPI的消息类型为在RFC2408中定义,这里不再详细赘 述。
步骤105,该GM接收到所述KS发送的rekey消息时,获得所述rekey消息中携 带的IPsec SA,并存储到所述安全联盟数据库中。
该GM接收到携带IPsec SA的rekey消息时,将其中的IPsec SA存储到安全联盟 数据库中,同接收到更新IPsec SA的rekey消息处理方式一致,并将临时记录的SPI 和SA策略删除。在存储到安全联盟数据库中时,先确定IPsec SA包含的SPI在所述 安全联盟数据库中是否已存在,如果存在,则根据该rekey消息中携带的老化时间刷 新对应的IPsec SA,否则,进行存储。
在GET VPN组网中,KS维护IPsec SA的生命周期,在GM注册时创建IPsec SA 并下发给GM,在IPsec SA老化前通过rekey消息通知GM更新IPsec SA,以保持IPsec SA的新鲜性。因此,KS发送rekey消息以及GM处理该消息无本质区别,只是触发 该消息的发送不一样,一种是KS主动发送保鲜并同步IPsec SA,该种情况同现有实 现处理过程一致;另一种情况就是通过GM发送SPI无效的消息,触发KS发送rekey 消息。
该GM向所述KS发送所述KD载荷中的SPI无效的消息后,该方法进一步包括: 在预设时间内,如果该GM未接收到所述KS发送的rekey消息,再次向所述KS发送 所述KD载荷中的SPI无效的消息,直到接收到所述KS发送的rekey消息或达到预设 次数,结束向所述KS发送KD载荷中的SPI无效的消息。默认发送KD载荷中的SPI 无效的消息的次数为3次,在具体应用中可以根据实际需要设置次数。
步骤105中在该GM获得所述rekey消息中携带的IPsec SA,并存储到所述安全 联盟数据库中时,该方法进一步包括:同时存储所述rekey消息中携带的所述IPsec SA 的老化时间,当所述老化时间到时,删除所述存储的IPsec SA。
该方法进一步包括:
该GM接收到其他GM发送的报文时,在所述安全联盟数据库中查找所述报文中 携带的SPI,如果查找到,根据所述安全联盟数据库中所述SPI对应的IPsec SA处理 所述报文;如果未查找到,向所述KS发送所述报文中携带的SPI无效的消息,重新 获取IPsec SA。
其中,向所述KS发送所述报文中携带的SPI无效的消息,重新获取IPsec SA的 过程为:该GM向所述KS发送所述KD载荷中的SPI无效的消息,使所述KS根据所 述无效的SPI获取对应的IPsec SA,并通过rekey消息下发;接收到所述KS发送的rekey 消息时,获得所述rekey消息中携带的IPsec SA,并存储到所述安全联盟数据库中。
本发明具体实施例中基于同样的发明构思,还提出一种GM,可应用于GET VPN组网中,所述组网中还包括其他GM和一个KS。参见图2,图2为本发明具体 实施例中应用于同步IPsec SA的GM的结构示意图。该GM包括:接收单元201、记 录单元202、确定单元203、存储单元204和发送单元205。
接收单元201,用于接收所述KS发送的携带SA载荷的消息;接收所述KS发送 的携带KD载荷的消息;接收所述KS发送的rekey消息。
记录单元202,用于当接收单元201接收到所述KS发送的携带SA载荷的消息, 且验证所述SA载荷中的SA策略成功时,在本地临时记录所述SA载荷中的SPI和 SA策略。
确定单元203,用于当接收单元201接收到所述KS发送的携带KD载荷的消息时, 确定所述KD载荷中的SPI与记录单元202临时记录的SPI是否一致。
存储单元204,用于当确定单元203确定所述KD载荷中的SPI与所述记录单元临 时记录的SPI一致时,生成IPsec SA,并存储到安全联盟数据库中,其中,所述IPsec SA包含所述KD载荷中的密钥信息,以及记录的SPI和SA策略;当接收单元201接 收到所述KS发送的rekey消息时,获得所述rekey消息中携带的IPsec SA,并存储到 所述安全联盟数据库中。
发送单元205,用于当确定单元203确定所述KD载荷中的SPI与所述记录单元临 时记录的SPI不一致时,向所述KS发送所述KD载荷中的SPI无效的消息,使所述 KS根据所述无效的SPI获取对应的IPsec SA,并通过rekey消息下发。
较佳地,该GM进一步包括:设置单元206。
设置单元206,用于设置预设时间。
发送单元205,用于向所述KS发送所述KD载荷中的SPI无效的消息后,在设置 单元206设置的预设时间内,接收单元201未接收到所述KS发送的rekey消息时,再 次向所述KS发送所述KD载荷中的SPI无效的消息,直到所述接收单元接收到所述 KS发送的rekey消息或达到预设次数,结束向所述KS发送KD载荷中的SPI无效的 消息。
较佳地,
记录单元202,进一步用于在本地临时记录所述SA载荷中的老化时间。
所述存储单元,进一步用于在生成IPsec SA,并存储到安全联盟数据库中时,,存 储单元204,进一步用于在生成IPsec SA,并存储到安全联盟数据库中时,同时存储 所述记录单元中临时记录的老化时间,当所述老化时间到时,删除所述存储的IPsec SA;在获得所述rekey消息中携带的IPsec SA,并存储到所述安全联盟数据库中时, 同时存储所述rekey消息中携带的所述IPsec SA的老化时间,当所述老化时间到时, 删除所述存储的IPsec SA。
较佳地,该GM进一步包括:查找单元207和处理单元208。
接收单元201,进一步用于接收其他GM发送的报文。
查找单元207,用于当接收单元201接收到其他GM发送的报文时,在所述安全 联盟数据库中查找所述报文中携带的SPI。
处理单元208,用于当查找单元207在所述安全联盟数据库中查找到所述报文中 的SPI时,根据所述安全联盟数据库中所述SPI对应的IPsec SA处理所述报文。
发送单元205,进一步用于当查找单元207在所述安全联盟数据库中未查找到所 述报文中的SPI时,向所述KS发送所述报文中携带的SPI无效的消息,重新获取IPsec SA。
本发明具体实施例中基于同样的发明构思,还提出一种KS,可应用于GET VPN 组网中,所述组网中还包括多个GM,参见图3,图3为本发明具体实施例中可应用 于同步IPsec SA的结构示意图。该KS包括:接收单元301、查找单元302和发送单 元303。
接收单元301,用于接收所述任一所述GM发送的携带SPI无效的消息。
查找单元302,用于当接收单元301接收到所述GM发送的携带SPI无效的消息 时,根据所述消息中的SPI查找对应的IPsec SA。
发送单元303,用于将查找单元301查找到的对应IPsec SA通过rekey消息发送 给所述GM。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元, 也可以进一步拆分成多个子单元。
综上所述,在第二协商阶段的第二条报中将SA策略下发给GM,在第四条报文 中再把SA策略使用的密钥通过KD载荷下发给GM,这样某些情况下GM收到的KD 载荷中的安全参数索引(SPI)可能和SA载荷中的SPI不一致,如交互过程中生成了 新的SA策略,或交互过程中老的SA策略删除了,此时GM无法正常的创建IPsec SA, GM和KS的IPsec SA就不同步了,只能等待KS在Rekey时更新IPsec SA;GM在创 建IPsec SA时,由于本地资源不足或其他原因创建失败;由于网络问题,GM无法正 常接收KS发送的Rekey消息;GM手工或非正常删除KS下发的IPsec SA后,无法 正常接收其他GM发送的报文等,都可能造成GM和KS的IPsec SA不同步。本发明 具体实施例中通过在接收到的携带KD载荷的消息时,若KD载荷中的SPI与本地 临时记录的SPI不一致时,向所述KS发送该KD载荷中的SPI无效的消息,获得 IPsec SA,使GM同KS上的IPsec SA保持同步,保证业务的正常使用。
在本发明的具体实施例中还公开了在一个GM接收到其他GM发送的报文时, 如果在本地的安全联盟数据库中查找该报文中携带的SPI,未查找到时,向所述 KS发送该报文中的SPI无效的消息,获得IPsec SA,使GM同KS上的IPsec SA 保持同步,保证业务的正常使用。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。 凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含 在本发明的保护范围之内。
机译: 图像处理设备,方法和程序,用于使用组列表,所选组成员的列表以及除所选组成员之外的组的成员列表来促进单个组的检索
机译: 通过沿另一轨迹往复运动移动第二组成员沿着一条轨迹移动一组成员的方法
机译: 提供一种服务的方法,该服务将组代表信用卡划分为组成员,以促进组活动费用的透明结算