一种路由协议组密钥管理方法、系统及设备的制作方法

文档序号:7762542阅读:283来源:国知局
专利名称:一种路由协议组密钥管理方法、系统及设备的制作方法
技术领域
本发 明涉及通信网络中的路由安全技术,更具体的说,是一种路由协议组密钥管理方法、系统及设备。
背景技术
通信设备(本发明所说的通信设备均具有路由功能)是现代IP网路最重要和核心的组成设备,为数据包的传输提供路由信息。通信设备依靠在其上运行的路由协议进行路由信息的收集并计算和管理最佳路由。由于路由信息在网络中是明文传播的,伪造和篡改路由消息包非常容易。如果通信设备接受这种路由消息包,将产生错误的路由,导致部分或全部网络数据包无法到达指定目的地或接收者,数据业务无法正常进行。因此,需要对路由消息进行完整性保护。目前绝大部分的路由协议都提供完整性保护机制,而实施该机制需要一套密钥材料,被称之为安全联盟(SA),对于路由协议而言,主要包括完整性算法和密钥。当前主要使用的路由协议都没有提供SA的协商机制,而是靠被称之为管理员 (administrator)的人进行手动配置和更新。人手配置和更新存在的问题是,一方面不可靠、容易出错,另一方面速度慢,不适用于现代大规模网络。随着攻击者计算能力的提高和攻击技术的层出不穷,网络遭受攻击和破坏的概率和频率也越来越高,而业务价值快速增长的现代网络为此付出的代价也越来越大,因此,网络运营者一方面要预防网络攻击和破坏,另一方面在网络遭受攻击和破坏的情况下要快速恢复和修复,这就需要为通信设备及路由协议提供自动密钥管理的功能,实现密钥材料的自动配置、更新和协商,也即针对路由安全的密钥管理协议(KMP)。按照设计的方式,针对路由安全的KMP分为带内(in-band)和带外(out-band)两种。In-band KMP通过路由协议本身的消息包来管理和分发密钥材料,通过修改路由消息包的某些字段,或者扩展保留字段等手段来装载密钥材料。In-band KMP的优点是实现起来比较容易和灵活,不需要改变因特网基础设施;缺点是需要对路由协议作修改或扩展,并且要针对每种路由协议作出不同的修改或扩展,因为每种路由协议是不同的。另外,In-band KMP难以提供密钥协商功能,也难以保护所传输的密钥材料。显然,In-band KMP不利于网络的互联互通,可扩展性差,具有较难的操作性。这也是In-band KMP几年前虽然已经出现,但是一直没有获得应用的原因。Out-band KMP是以独立于路由协议之外的一个功能模块或一套软件或一个实体的方式为路由协议提供密钥管理,其优点是其规模与功能的可扩展性好,可操作性强,无需改动现有的路由协议,是被业界认可的技术发展方向和趋势。目前存在针对IP层或以上的传输层和应用层的数据安全通信的KMP方法,比如下面将要描述的互联网密钥交换第二版(IKEv2),但是针对路由安全,甚至在网络拓扑结构不清楚、路由表还没有构造起来的情况下,为路由协议提供密钥协商和管理以保护路由消息的Out-band KMP,目前还没有出现。IKEv2是为互联网协议第六版(IPv6) IP层的数据安全传输机制(IPsec)提供SA 协商的协议。该协议也支持互联网协议第四版(IPv4)。IKEv2的SA协商过程前后总共可涉及四类交换,即 IKE_SA_INIT 交换、IKE_AUTH交换、CREATE_CHILD_SA交换和 INFORMATIONAL 交换,其中前两类交换合称为初始交换(InitialExchange),是必需的,而且先后次序固定, 后两类交换是可选的,视具体需要而定。IKEv2中的交换(Exchange)由一个请求(request) 和一个响应(response)组成,发生在两个网络对等体(peer)之间,其中发起请求的peer 称为发起者(Initiator,通常用i表示),回应的peer称为回应者(Responder,通常用r表示)°IKEv2在IP层为IP安全即IPsec的封装安全协议ESP和认证头部协议即AH协议提供了很好的SA协商机制,但是并没有针对路由协议提供SA的协商和生成。路由协议 的SA 与ESP和AH的SA内容不同,前者主要包括keylD、认证算法(AuthenticationAlgorithm)、 认证密钥(Authentication Key)、生存时间(Life Time)和起始序列号(Sequence Number) 等。另外,IKEv2只提供端到端(或称为点到点)的SA协商机制,而路由协议中常常用到组播机制(在以太网Ethernet、令牌环网Token Ring、光纤分布式接口网络等广播网路中), 该组播机制需要组安全联盟(Group Security Association, GSA)来对路由信息作完整性保护。IKEv2无法满足组密钥材料的安全需求,包括GSA的协商(部分协商)、发送和更新。典型的路由协议组播例子包括RIPv2 (路由信息消息协议第二版),0SPFv2 (开放式最短路径优先第二版)和ISIS(中间系统到中间系统协议)的广播(broadcast)和非点到点 (non-point-to-point)模式。

发明内容
本发明要解决的技术问题是提供一种路由协议组密钥管理方法、系统及设备,以实现路由协议的带外组密钥管理。为解决以上技术问题,本发明提供了一种路由协议组密钥管理方法,所述方法包括第一通信设备与第二通信设备在建立安全联盟并获知所述第二通信设备的路由协议的安全参数;所述第一通信设备根据所述第二通信设备的路由协议的安全参数生成路由协议组安全联盟(GSA);所述第一通信设备根据所述安全联盟,向所述第二通信设备发送所述GSA。进一步地,所述第一通信设备获知所述第二通信设备的路由协议的安全参数包括所述第一通信设备向所述第二通信设备发送请求消息;所述第二通信设备向所述第一通信设备发送响应消息,其中携带所述第二通信设备的路由协议支持的认证算法列表参数。进一步地,所述请求消息中携带所述第一通信设备的路由协议支持的认证算法列表参数;所述第二通信设备接收所请求消息后,从所述第一通信设备的路由协议支持的认证算法列表参数中选择其支持的认证算法参数,再发送所述响应消息;进一步地,第一通信设备获知所述第二通信设备的路由协议的安全参数的同时,利用IKE_SA_INIT交换过程与所述第二通信设备建立安全联盟,或,所述请求消息和响应消息为IKE_SA_INIT交换的消息,且其中携带建立安全联盟的载荷。进一步地,所述路由协议的安全参数利用扩展的通知载荷承载。进一步地,扩展的通知载荷的Protocol ID字段用于承载路由协议类型,通知消息类型(Notify Message Type)字段用于承载路由协议的安全参数类型,通知数据 (Notif ication Data)字段用于承载具体路由协议支持的认证算法列表参数。进一步地,所述第一通信设备生成路由协议GSA包括选择所述第一通信设备和第二通信设备路由协议共同支持的认证算法,计算认证密码,确定KeylD、生存期和起始序列号,所述路由协议GSA利用扩展的SA载荷或新增载荷承载。进一步地,扩展的SA载荷的协议标识符(Protocol ID)字段及变换类型 (Transform Type)字段用于承载路由协议类型;安全参数索引长度(SPI size)字段用于承载密钥标识符(Key ID)的长度,安全参数索引(SPI)字段用于承载密钥标识符值 (Key ID),变换标识符(Transform ID)字段用于承载路由协议的认证算法类型;属性类型 (Attribute Type)字段用于承载路由协议GSA的密钥长度、密钥值、起始序列号、生存时间。进一步地,第一通信设备根据所述安全联盟,向所述第二通信设备发送所述路由协议GSA后,该方法还包括新加入通信设备与邻居通信设备建立安全联盟,所述邻居通信设备是所述第一通信设备或第二通信设备;所述邻居通信设备对所述新加入通信设备进行身份验证;验证通过后,所述邻居通信设备向所述新加入通信设备发送路由协议GSA。进一步地,所述路由协议GSA通过IKE_AUTH交换或新增的路由协议组安全联盟交换发送。进一步地,所述第一通信设备根据路由协议GSA的使用策略周期性或基于事件触发式与所述第二通信设备建立安全联盟并获知其路由协议的安全参数。为解决以上技术问题,本发明还提供了一种设备,所述设备包括安全联盟建立模块、路由协议组安全联盟(GSA)生成模块及路由协议GSA交换模块,其中,所述安全联盟建立模块,用于与其他设备建立安全联盟;所述设备为组密钥发送方时,还用于获知组内组密钥接收方路由协议的安全参数;所述路由协议GSA生成模块,用于根据组内组密钥接收方路由协议的安全参数生成路由协议GSA ;所述路由协议GSA交换模块,用于在所述建立的安全联盟的保护下向所述组密钥接收方发送所述路由协议GSA。进一步地,所述安全联盟建立模块获知组内组密钥接收方路由协议的安全参数包括向所述组密钥接收方发送请求消息,以及接收所述组密钥接收方发送的响应消息,其中携带所述组密钥接收方路由协议支持的认证算法列表参数。进一步地,所述请求消息中携带所述组密钥发送方路由协议支持的认证算法列表参数;所述响应消息中携带的认证算法列表参数是所述组密钥接收方从所述组密钥发送方路由协议支持的认证算法列表参数中选择的。进一步地,所述路由协议的安全参数利用扩展的通知载荷承载。进一步地,扩展的通知载荷的Protocol ID字段用于承载路由协议类型,通知消息类型(Notify Message Type)字段用于承载路由协议的安全参数类型,通知数据 (Notification Data)字段用于承载具体路由协议支持的认证算法列表参数。进一步地,所述组密钥发送方的路由协议GSA生成模块生成所述路由协议GSA,包括选择所述组密钥发送方和组密钥接收方路由协议共同支持的认证算法,计算认证密码, 确定Key ID、生存期和起始序列号;所述路由协议GSA交换模块利用扩展的SA载荷或新增载荷承载。进一步地,扩展的SA载荷的协议标识符(Protocol ID)字段及变换类型 (Transform Type)字段用于承载路由协议类型;安全参数索引长度(SPI size)字段用 于承载密钥标识符(Key ID)的长度,安全参数索引(SPI)字段用于承载密钥标识符值 (Key ID),变换标识符(Transform ID)字段用于承载路由协议的认证算法类型;属性类型 (Attribute Type)字段用于承载GSARP的密钥长度、密钥值、起始序列号、生存时间。进一步地,所述设备还包括身份认证模块,所述通信设备作为所述组内的新加入通信设备时,所述身份认证模块,用于向邻居通信设备发送身份认证请求消息,以及接收身份认证响应消息;所述通信设备作为新加入通信设备的邻居通信设备时,所述身份认证模块用于接收所述身份认证请求消息,进行身份认证以及返回身份认证响应消息;所述路由协议GSA交换模块,还用于在身份认证通过后向新加入通信设备发送所述路由协议GSA。进一步地,所述路由协议GSA交换模块通过IKE_AUTH交换或新增的路由协议组播安全联盟交换发送所述路由协议GSA。为解决以上技术问题,本发明还提供了一种路由协议组密钥管理系统,所述系统包括第一通信设备和第二通信设备,其中所述第一通信设备包括安全联盟建立模块、路由协议组安全联盟(GSA)生成模块以及路由协议GSA交换模块,其中,所述安全联盟建立模块,用于建立安全联盟,并获知组内第二通信设备的路由协议的安全参数;所述路由协议GSA生成模块,用于根据所获知的第二通信设备的路由协议的安全参数生成路由协议GSA;所述路由协议GSA交换模块,用于在所述建立的安全联盟的保护下向第二通信设备发送请求消息,其中携带所述路由协议GSA,以及接收所述第二通信设备的响应消息;所述第二通信设备包括安全联盟建立模块以及路由协议GSA交换模块,其中,所述安全联盟建立模块,用于建立安全联盟,并向所述第一通信设备提供其路由协议的安全参数;所述路由协议GSA交换模块,用于在所述建立的安全联盟的保护下接收第二通信设备发送的请求消息,以及向所述第一通信设备发送所述响应消息,接受所述路由协议GSA 时,发送确认响应,否则发送拒绝响应。进一步地,所述第一通信设备的安全联盟建立模块获知组内第二通信设备的路由协议的安全参数包括向所述第二通信设备发送请求消息,以及接收所述第二通信设备发送的响应消息,其中携带所述第二通信设备支持的认证算法列表参数;所述第二通信设备的安全联盟建立模块向所述第一通信设备提供其路由协议的安全参数包括接收所述请求消息及发送所述响应消息。
进一步地,所述 请求消息中携带所述第一通信设备支持的认证算法列表参数;所述响应消息中携带的认证算法列表参数是所述第二通信设备从所述第一通信设备支持的认证算法列表参数中选择的。进一步地,所述路由协议的安全参数利用扩展的通知载荷承载。进一步地,扩展的通知载荷的Protocol ID字段用于承载路由协议类型,通知消息类型(Notify Message Type)字段用于承载路由协议的安全参数类型,通知数据 (Notification Data)字段用于承载具体路由协议支持的认证算法列表参数。进一步地,所述第一通信设备的路由协议GSA生成模块生成所述路由协议GSA,包括选择所述第一通信设备和组内第二通信设备路由协议共同支持的认证算法,计算认证密码,确定Key ID、生存期和起始序列号;所述路由协议GSA交换模块利用扩展的SA载荷或新增载荷承载。进一步地,扩展的SA载荷的协议标识符(Protocol ID)字段及变换类型 (TransformType)字段用于承载路由协议类型;安全参数索引长度(SPI size)字段用于承载密钥标识符(Key ID)的长度,安全参数索引(SPI)字段用于承载密钥标识符值 (Key ID),变换标识符(TransformID)字段用于承载路由协议的认证算法类型;属性类型 (Attribute Type)字段用于承载GSARP的密钥长度、密钥值、起始序列号、生存时间。进一步地,所述系统还包括新加入通信设备,所述新加入通信设备包括安全联盟建立模块、 身份认证模块和路由协议GSA交换模块,所述新加入通信设备的安全联盟建立模块,用于与所述第一或第二通信设备建立安全联盟,其身份认证模块用于向所述第一或第二通信设备发送身份认证请求消息,以及接收身份认证响应消息;其路由协议GSA交换模块,用于从邻居通信设备获取所加入组的路由协议GSA ;所述第一、第二通信设备还包括身份认证模块,所述第一或第二通信设备作为新加入通信设备的邻居通信设备时,其身份认证模块用于接收所述身份认证请求消息,进行身份认证以及返回身份认证响应消息;其路由协议GSA交换模块,还用于在身份认证通过后在所述建立的安全联盟的保护下向新加入通信设备发送所述路由协议GSA。本发明路由协议组密钥管理方法、通信设备及系统中组密钥发送方与组密钥接收方一一建立SA,并同时获知组密钥接收方路由协议的安全参数,组密钥发送方根据收集的路由协议安全参数生成所有组密钥接收方都支持的路由协议GSA,在所建立的安全联盟的保护下,组密钥发送方向组密钥接收方发送路由协议组安全联盟,从而实现带外组密钥管理,满足路由协议自动管理组密钥材料和路由消息传输的安全需求。


图1是本发明路由协议组密钥管理方法示意图;图2时本发明新加入通信设备获取路由协议组安全联盟的方法示意图;图3是本发明对IKEv2中的通知载荷的扩展示意图;图4是本发明对IKEv2的SA载荷的扩展示意图;图5是本发明新增的GSARP载荷示意图;图6是本发明实施例1的流程示意图7是本发明实施例2的数据交换流程示意图;图8是本发明实施例3的数据交换流程示意
图9是本发明实施例4的数据交换流程示意图;图10是本发明实施例5的数据交换流程示意图;图11是本发明通信设备的模块结构示意图;图12是本发明通信设备的另一模块结构示意图;图13是本发明路由协议组密钥管理系统的模块结构示意图;图14是本发明路由协议组密钥管理系统的另一模块结构示意图。
具体实施例方式本发明路由协议组密钥管理方法、通信设备及系统的主要思想在于组密钥发送方(本文中也称为第一通信设备)与组密钥接收方(本文中也称为第二通信设备)一一建立安全联盟(Security Association,缩写为SA),并同时获知组密钥接收方路由协议的安全参数,组密钥发送方根据收集的路由协议安全参数生成所有组密钥接收方都支持的路由协议组安全联盟(Group Security Association,缩写为GSA),在所建立的安全联盟的保护下,组密钥发送方向组密钥接收方发送路由协议组安全联盟,该路由协议组安全联盟被用于组播路由消息的保护,从而实现带外组密钥管理,满足路由协议自动管理组密钥材料和路由消息传输的安全需求,其中安全联盟的建立、路由协议安全参数的获知和路由协议组安全联盟的分发是使用扩展的因特网密钥交换协议第二版(IKEv2)来实现的。所述安全联盟包括用于安全发送组密钥材料的密钥材料信息。所述路由协议安全参数主要包括路由协议使用的认证算法,还包括生存时间、起始序列号等。所述路由协议组安全联盟包括用于保护组播路由消息的组密钥材料信息。所述组密钥发送方获知组密钥接收方的安全参数具体是通过扩展IKEv2中的通知载荷以承载路由协议安全参数来实现的。所述IKEv2扩展是通过对原载荷进行扩展,或增加新的载荷,或增加新的交换类型的方式以承载和\或分发组安全联盟来实现的。如图1所示,本发明路由协议组密钥管理的方法包括步骤101 组密钥发送方与组密钥接收方一一建立安全联盟,并获知所述组密钥接收方路由协议的安全参数;为了在交互的消息中携带路由协议的安全参数,需要增加新的载荷,或对现有载荷进行扩展,如扩展现有通知载荷扩展通知载荷(Notification Payload)的Protocol ID字段以承载路由协议类型,扩展Notify Message Type (通知消息类型)字段以承载路由协议的安全参数类型,扩展Notification Data(通知数据)字段以装载具体路由协议支持的认证算法列表等,所述扩展的通知载荷是被组密钥发送方用来获知组密钥接收方路由协议的安全参数的。具体扩展方式见下文。在建立安全联盟的交互过程中,所述组密钥发送方将其路由协议支持的认证算法列表等安全参数发送给组密钥接收方,由组密钥接收方从中选择其路由协议支持的认证算法列表等安全参数;或由组密钥发送方直接根据请求将其路由协议支持的认证算法列表等安全参数发送给所述组密钥接收方。所述组密钥发送方与所述组密钥接收方一次交换或先后两次交换完成建立安全联盟及获取所述组密钥接收方路由协议的安全参数,优选地,采用一次交换完成以减少交互次数。 步骤102 所述组密钥发送方根据所述组密钥接收方路由协议的安全参数生成路由协议组安全联盟(GSA);基于所有组密钥接收方路由协议的安全参数,组密钥发送方生成路由协议GSA。生成路由协议GSA包括选择共同支持的认证算法,计算认证密码,确定Key ID、生存期和序列5寸。步骤103 所述组密钥发送方在所述建立的安全联盟的保护下向所述组密钥接收方发送所述路由协议GSA。为了在交互消息中携带路由协议GSA的传输,可以通过以下三种方式方式一扩展SA载荷对 IKEv2 的 SA 载荷的提议子结构(Proposal Substructure)的 Protocol ID(提议标识符)字段和SPI Size (安全参数索引长度)字段、变换子结构 (TransformSubstructure)白勺 Transform Type (变换类型)字段白勺 3 型禾口 Transform Attributes (变换属性)的Attribute Type (属性类型)字段,进行了扩展,以提供GSARP所需的key ID、AuthenticationAlgorithm、Authentication Key禾口Life Time等内容,所述的 Protocol ID字段扩展包含路由协议,所述的SPI Size字段扩展包含Key ID的长度,所述 SPI字段装载Key ID值,所述的Transform Type字段扩展包含使用于路由协议中,所述的 TransformID (变换标识符)字段的扩展包含路由协议使用的Authentication Algorithm, 所述的Attribute Type字段扩展包含GSARP所需的密钥长度(如果是可变长的话)、密钥值、序列号和具体路由协议的生存时间,所述每个扩展字段的定义所对应的ID值的分配可以是一种或多种的组合。方式二 增加新的载荷(payload)用来承载路由协议GSA,标记为GSARP(Group Security Association for Routing Protocol),所述 GSARP 载荷的结构与 IKEv2 的 SA 载荷相似,不同的是,在提议子结构中增加Length of Life Time字段及其装载具体参数的 Life Time字段,增加Length of Sequence Number (序列号长度)字段及其装载具体参数的Sequence Number字段,用Length of KeyID字段取代SPI Size字段,相应的Key ID字段取代SPI (variable)字段,在变换子结构中扩展属性类型,增加密钥值(Key Value)类型。方式三增加新的交换类型(Exchange Type)来分发路由协议GSA,可以标记为 IKE_GSARP_AUTH,在该交换中,可以使用上述方式一得扩展SA载荷,也可以使用上述方式二新增的GSARP载荷,或使用全新设计的装载GSA的载荷,以完成GSARP的协商、分发和更新。 以上三种方式可以各自独立使用,也可以两两或三个混合使用。 当组内的通信设备得到路由协议GSA后,如果有通信设备新加入该组,如图2所
示,新加入的通信设备(简称新加入通信设备)通过以下流程获得该组的路由协议GSA:
步骤201新加入通信设备与邻居通信设备建立安全联盟,所述邻居通信设备可以是所述第一通信设备(图1中称为组密钥发送方)或第二通信设备(图1中称为组密钥接收方)步骤202 所述邻居通信设备对所述新加入通信设备进行身份验证;步骤203 验证通过后,所述邻居通信设备向所述新加入通信设备发送路由协议 GSA。以下给出几种载荷扩展、新增载荷及交换类型的示例通知载荷扩展示例如图3所示,对IKEv2中的通知载荷(其Next Payload Type值为41)进行扩展, 为了与原通知载荷区别,用Ne表示(参见实施例2、3、4),包括但不限于以下内容图3(a)是通知载荷的结构。图3(b)是对通知载荷的Protocol ID字段进行扩展,增加路由协议定义,每种路由协议对应于一个IANA保留值(取值范围是4到200)如RIPv2 (Routing Information Protocol version 2,路由信息消息协议第二版) 对应于IANA值4 ;0SPFv2 (Open Shortest Path First version 2,开放式最短路径优先第二版)对应于IANA值5 ;IS-IS(Intermediate System-to-intermediate System,中间系统到中间系统协议)对应于IANA值6,等。图3 (c)是对通知载荷的Notify Message Type字段进行类型扩展,增加表示路由协议的安全参数(下文中用SECCAP表示)的类型,包括路由协议的完整性/认证算法类型SECCAP_GSA_INTEG (对应于IANA值16396);路由协议的伪随机数函数类型SECCAP_GSA_PRF (对应于IANA值16397);路由协议的加密算法类型SECCAP_GSA_ENCR(对应于IANA值16398);路由协议的D-H交换算法类型SECCAP_GSA_D-H (对应于IANA值16399)。SA载荷扩展示例如图4所示,对IKEv2的SA载荷进行扩展(为了和原SA载荷区别,用SAge表示 (参见实施例2、4),其中“g”表示组group,“e”表示扩展extension,但是并不是新增的载荷类型),包括但不限于以下内容见图 4(a),扩展 SA载荷中的 Proposal 子结构(Substructure)中的 ProtocolID 字段和SPI Size字段,其中Protocol ID字段增加路由协议,每种路由协议对应于一个IANA 保留值(取值范围是4到200),比如RIPv2对应于IANA值4 ;0SPFv2对应于IANA值5 ; IS-IS对应于IANA值6,等。SPI映射为路由协议的路由协议GSA的Key ID (密钥标识符)字段,由于路由协议的Key ID长度不同,因此对SPI Size字段进行扩展,将RIPv2,0SPFv2,ISIS等路由协议包含进去;见图4(b),扩展Proposal子结构中的Transform子结构中的TransformType字段的 3 型 Integrity Algorithm(INEG)的 Transform ID 字段,其中扩展 Transform Type 字段的3型IntegrityAlgorithm(INEG),使之不但用于IKE、AH和ESP,还用于路由协议(Routing Protocols),比如RIPv2和0SPFv2,其中Transform ID字段增加了用于路由协议的认证算法的定义,比如AUTH_HMAC_SHA_224 (对应于IANA值7)、AUTH_HMAC_SHA_256 (对应于 IANA 值 8)、AUTH_HMAC_SHA_384 (对应于 IANA 值 9)、AUTH_HMAC_SHA_512 (对应于 IANA 值10)等,每个定义对应于一个IANA保留值(取值范围是 6到1023);见图 4 (c),扩展 Transform 子结构中的 Transform Attributes 的 AttributeType 字段,使之可以装载路由协议GSA的密钥长度(如果是可变长的话)、密钥值、序列号和具体路由协议的生存时间,以三元组TLV的Type/Length/Value格式或二元组TV的Type/Value 格式表示,其中扩展Attribute Type字段的14型Key Length (in bits),将其应用范围从加密算法(EncryptionAlgorithm)扩大至包含认证算法,如果认证算法的密钥长度是固定的(也即是,认证算法的密钥长度是和算法捆绑的,存在一一对应关系),那么Transform Attributes可省略,如果认证算法的密钥长度需要协商,则使用经过扩展的14型Key Length (in bits),采用二元组TV格式,其中Attribute Type字段增加Key Value (密钥值,对应于 IANA 值 18)、Sequence Number (对应于 IANA 值 19)、Life Time of RIPv2 (对应于 IANA 值 20)、Life Timeof 0SPFv2 (对应于 IANA 值 21)等,Life Time of RIPv2 包含 Start Time 和 Stop Time 两个参数,Life Time of 0SPFv2 包含 Key Start Accept, Key Start Generate,Key Stop Generate和Key Stop Acc印t四个参数,所述新增的每个定义对应于一个IANA保留值(取值范围是18到16383),而每个定义及其参数的长度和取值分别由 Attribute Length 禾口 Attribute Value 字段表示。新增载荷示例如图5所示,增加新的载荷用来承载路由协议GSA(参见实施例3、4、5),标记为 GSARP (路由协议组播安全联盟),在Next Payload Type的IANA保留值(49-127)中取其 Next Payload Type值为50,所述GSARP载荷的结构与IKEv2的SA载荷相似,见图5 (a),不同的是包含但不限于以下内容(1)见图5(b),在提议子结构中增加Length of Life Time字段及其装载具体参数的Life Time字段,以提供路由协议GSA所需的生存期,不同的路由协议GSA的生存期包含的参数个数及内容有所不同,增加Length of Sequence Number字段及其装载具体参数的Sequence Number字段,以提供路由协议GSA所需的序列号,一般来说路由协议GSA的序列号是32位长的无符号整数,用Length of Key ID字段取代SPI Size字段,相应的Key ID字段取代SPI (variable)字段,以提供路由协议GSA所需的Key ID ;(2)见图5(c)、(d),在变换子结构中扩展属性类型,增加密钥值(KeyValue)类型, 其属性类型值为18 (在原来保留给IANA的18-16383中取值),新增的密钥值类型为路由协议GSA提供所需的密钥值(Authentication Key)。新增交换类型示例增加新的交换类型(Exchange Type),可以标记为IKE_GSARP_AUTH(参见实施例 3),对应 Exchange Type 的值为 39 (IANA 的保留值为 38-239),与 IKE_AUTH(其 Exchange Type的值为35)区别开来。在该交换中,可以使用经过扩展的SA载荷(记为SAge),也可以使用新增加的GSARP载荷,当然也可以重新设计的新的承载路由协议GSA的载荷,以完成路由协议GSA的协商、分发和更新。新增加的交换类型可标记为IKE_GSARP,其Exchange Type值可设为40,该交换类型可以在新加入通信设备获得路由协议GSA的过程中使用,参见实施例5。为便于对本发明实施例的理解,下面将结合附图对本发明实施进行说明。实施例1如图6所示,实施例1从组密钥发送方(也称为第一通信设备)的角度对本发明方法进行了描述,包括但不限于以下步骤步骤601 组密钥发送方调用相应的检测程序,确定相邻的接口数N,M记录IKE_SA 成功协商的接口数;步骤602:组密钥发送方与接口对端的组密钥接收方协商该接口的IKE_SA,同时通过扩展的通知载荷或新增载荷获知并收集组密钥接收方路由协议的安全参数,安全联盟协商成功M值加一,无论协商成功与否,当处理完一个接口时,N值减一;所述组密钥发送方依次与每个接口对端的组密钥接收方进行IKE_SA_INIT交换从而与每个组密钥接收方建立安全联盟IKE_SA,后续的消息交换是在IKE_SA的保护下进行的。步骤603 如果接口还没有穷尽(N Φ 0),则返回步骤602进行下一个接口 IKE_SA 的协商;如果接口已经穷尽(N = 0),则进行下一个步骤604 ;步骤604:组密钥发送方根据收集到的组密钥接收方路由协议的安全参数,选择共同支持的认证算法等参数,计算认证密码,并确定路由协议GSA的其他参数,包括Key ID、生存期(Life Time)和起始序列号(Sequence Number)等;步骤605 在所建立的安全联盟IKE_SA的保护下,组密钥发送方向组密钥接收方发送路由协议GSA,当组密钥发送方收到组密钥接收方的确认响应后,M值减一;在所建立的安全联盟IKE_SA的保护下,所述组密钥发送方向组密钥接收方发送路由协议GSA,所述组密钥接收方收到路由协议GSA后作出确认响应。步骤606 如果成功协商的接口数还没有穷尽(M兴0),则返回步骤605,否则结束 (M = 0)。可选地,所述组密钥发送方可根据路由协议GSA的使用策略周期性地或基于事件触发式地进行上述流程处理。实施例2本发明实施例2的路由协议组密钥管理方法利用扩展后的通知载荷承载路由协议的安全参数,利用扩展后的SA载荷(即SAge载荷)承载路由协议GSA,流程中的步骤、消息类型、消息载荷和结果的具体内容如下表所示
权利要求
1.一种路由协议组密钥管理方法,其特征在于,所述方法包括第一通信设备与第二通信设备在建立安全联盟并获知所述第二通信设备的路由协议的安全参数;所述第一通信设备根据所述第二通信设备的路由协议的安全参数生成路由协议组安全联盟(GSA);所述第一通信设备根据所述安全联盟,向所述第二通信设备发送所述GSA。
2.如权利要求1所述的方法,其特征在于所述第一通信设备获知所述第二通信设备的路由协议的安全参数包括所述第一通信设备向所述第二通信设备发送请求消息;所述第二通信设备向所述第一通信设备发送响应消息,其中携带所述第二通信设备的路由协议支持的认证算法列表参数。
3.如权利要求2所述的方法,其特征在于所述请求消息中携带所述第一通信设备的路由协议支持的认证算法列表参数;所述第二通信设备接收所请求消息后,从所述第一通信设备的路由协议支持的认证算法列表参数中选择其支持的认证算法参数,再发送所述响应消息。
4.如权利要求1所述的方法,其特征在于第一通信设备获知所述第二通信设备的路由协议的安全参数的同时,利用IKE_SA_INIT交换过程与所述第二通信设备建立安全联盟,或,所述请求消息和响应消息为IKE_SA_INIT交换的消息,且其中携带建立安全联盟的载荷。
5.如权利要求1所述的方法,其特征在于所述路由协议的安全参数利用扩展的通知载荷承载。
6.如权利要求5所述的方法,其特征在于扩展的通知载荷的ProtocolID字段用于承载路由协议类型,通知消息类型(Notify Message Type)字段用于承载路由协议的安全参数类型,通知数据(Notification Data)字段用于承载具体路由协议支持的认证算法列表参数。
7.如权利要求1所述的方法,其特征在于所述第一通信设备生成路由协议GSA包括选择所述第一通信设备和第二通信设备路由协议共同支持的认证算法,计算认证密码,确定Key ID、生存期和起始序列号,所述路由协议GSA利用扩展的SA载荷或新增载荷承载。
8.如权利要求7所述的方法,其特征在于扩展的SA载荷的协议标识符(Protocol ID)字段及变换类型(Transform Type)字段用于承载路由协议类型;安全参数索引长度 (SPI size)字段用于承载密钥标识符(Key ID)的长度,安全参数索引(SPI)字段用于承载密钥标识符值(Key ID),变换标识符(Transform ID)字段用于承载路由协议的认证算法类型;属性类型(Attribute Type)字段用于承载路由协议GSA的密钥长度、密钥值、起始序列号、生存时间。
9.如权利要求1所述的方法,其特征在于第一通信设备根据所述安全联盟,向所述第二通信设备发送所述路由协议GSA后,该方法还包括新加入通信设备与邻居通信设备建立安全联盟,所述邻居通信设备是所述第一通信设备或第二通信设备;所述邻居通信设备对所述新加入通信设备进行身份验证;验证通过后,所述邻居通信设备向所述新加入通信设备发送路由协议GSA。
10.如权利要求1或9所述的方法,其特征在于所述路由协议GSA通过IKE_AUTH交换或新增的路由协议组安全联盟交换发送。
11.如权利要求1所述的方法,其特征在于所述第一通信设备根据路由协议GSA的使用策略周期性或基于事件触发式与所述第二通信设备建立安全联盟并获知其路由协议的安全参数。
12.—种设备,其特征在于所述设备包括安全联盟建立模块、路由协议组安全联盟 (GSA)生成模块及路由协议GSA交换模块,其中,所述安全联盟建立模块,用于与其他设备建立安全联盟;所述设备为组密钥发送方时, 还用于获知组内组密钥接收方路由协议的安全参数;所述路由协议GSA生成模块,用于根据组内组密钥接收方路由协议的安全参数生成路由协议GSA;所述路由协议GSA交换模块, 用于在所述建立的安全联盟的保护下向所述组密钥接收方发送所述路由协议GSA。
13.如权利要求12所述的设备,其特征在于所述安全联盟建立模块获知组内组密钥接收方路由协议的安全参数包括向所述组密钥接收方发送请求消息,以及接收所述组密钥接收方发送的响应消息,其中携带所述组密钥接收方路由协议支持的认证算法列表参数。
14.如权利要求13所述的设备,其特征在于所述请求消息中携带所述组密钥发送方路由协议支持的认证算法列表参数;所述响应消息中携带的认证算法列表参数是所述组密钥接收方从所述组密钥发送方路由协议支持的认证算法列表参数中选择的。
15.如权利要求12所述的设备,其特征在于所述路由协议的安全参数利用扩展的通知载荷承载。
16.如权利要求15所述的设备,其特征在于扩展的通知载荷的ProtocolID字段用于承载路由协议类型,通知消息类型(Notify Message Type)字段用于承载路由协议的安全参数类型,通知数据(Notification Data)字段用于承载具体路由协议支持的认证算法列表参数。
17.如权利要求12所述的设备,其特征在于所述组密钥发送方的路由协议GSA生成模块生成所述路由协议GSA,包括选择所述组密钥发送方和组密钥接收方路由协议共同支持的认证算法,计算认证密码,确定Key ID、生存期和起始序列号;所述路由协议GSA交换模块利用扩展的SA载荷或新增载荷承载。
18.如权利要求17所述的设备,其特征在于扩展的SA载荷的协议标识符(Protocol ID)字段及变换类型(Transform Type)字段用于承载路由协议类型;安全参数索引长度 (SPI size)字段用于承载密钥标识符(Key ID)的长度,安全参数索引(SPI)字段用于承载密钥标识符值(Key ID),变换标识符(Transform ID)字段用于承载路由协议的认证算法类型;属性类型(Attribute Type)字段用于承载GSARP的密钥长度、密钥值、起始序列号、生存时间。
19.如权利要求12所述的设备,其特征在于所述设备还包括身份认证模块,所述通信设备作为所述组内的新加入通信设备时,所述身份认证模块,用于向邻居通信设备发送身份认证请求消息,以及接收身份认证响应消息;所述通信设备作为新加入通信设备的邻居通信设备时,所述身份认证模块用于接收所述身份认证请求消息,进行身份认证以及返回身份认证响应消息;所述路由协议GSA交换模块,还用于在身份认证通过后向新加入通信设备发送所述路由协议GSA。
20.如权利要求12或19所述的设备,其特征在于所述路由协议GSA交换模块通过 IKE_AUTH交换或新增的路由协议组播安全联盟交换发送所述路由协议GSA。
21.—种路由协议组密钥管理系统,其特征在于,所述系统包括第一通信设备和第二通信设备,其中所述第一通信设备包括安全联盟建立模块、路由协议组安全联盟(GSA)生成模块以及路由协议GSA交换模块,其中,所述安全联盟建立模块,用于建立安全联盟,并获知组内第二通信设备的路由协议的安全参数;所述路由协议GSA生成模块,用于根据所获知的第二通信设备的路由协议的安全参数生成路由协议GSA;所述路由协议GSA交换模块,用于在所述建立的安全联盟的保护下向第二通信设备发送请求消息,其中携带所述路由协议GSA,以及接收所述第二通信设备的响应消息;所述第二通信设备包括安全联盟建立模块以及路由协议GSA交换模块,其中,所述安全联盟建立模块,用于建立安全联盟,并向所述第一通信设备提供其路由协议的安全参数;所述路由协议GSA交换模块,用于在所述建立的安全联盟的保护下接收第二通信设备发送的请求消息,以及向所述第一通信设备发送所述响应消息,接受所述路由协议GSA时, 发送确认响应,否则发送拒绝响应。
22.如权利要求21所述的系统,其特征在于所述第一通信设备的安全联盟建立模块获知组内第二通信设备的路由协议的安全参数包括向所述第二通信设备发送请求消息,以及接收所述第二通信设备发送的响应消息,其中携带所述第二通信设备支持的认证算法列表参数;所述第二通信设备的安全联盟建立模块向所述第一通信设备提供其路由协议的安全参数包括接收所述请求消息及发送所述响应消息。
23.如权利要求22所述的系统,其特征在于所述请求消息中携带所述第一通信设备支持的认证算法列表参数;所述响应消息中携带的认证算法列表参数是所述第二通信设备从所述第一通信设备支持的认证算法列表参数中选择的。
24.如权利要求22所述的系统,其特征在于所述路由协议的安全参数利用扩展的通知载荷承载。
25.如权利要求24所述的系统,其特征在于扩展的通知载荷的ProtocolID字段用于承载路由协议类型,通知消息类型(Notify Message Type)字段用于承载路由协议的安全参数类型,通知数据(Notification Data)字段用于承载具体路由协议支持的认证算法列表参数。
26.如权利要求21所述的系统,其特征在于所述第一通信设备的路由协议GSA生成模块生成所述路由协议GSA,包括选择所述第一通信设备和组内第二通信设备路由协议共同支持的认证算法,计算认证密码,确定Key ID、生存期和起始序列号;所述路由协议GSA 交换模块利用扩展的SA载荷或新增载荷承载。
27.如权利要求26所述的系统,其特征在于扩展的SA载荷的协议标识符(Protocol ID)字段及变换类型(Transform Type)字段用于承载路由协议类型;安全参数索引长度(SPI size)字段用于承载密钥标识符(Key ID)的长度,安全参数索引(SPI)字段用于承载密钥标识符值(Key ID),变换标识符(Transform ID)字段用于承载路由协议的认证算法类型;属性类型(Attribute Type)字段用于承载GSARP的密钥长度、密钥值、起始序列号、生存时间。
28.如权利要求21所述的系统,其特征在于所述系统还包括新加入通信设备,所述新加入通信设备包括安全联盟建立模块、身份认证模块和路由协议GSA交换模块,所述新加入通信设备的安全联盟建立模块,用于与所述第一或第二通信设备建立安全联盟,其身份认证模块用于向所述第一或第二通信设备发送身份认证请求消息,以及接收身份认证响应消息;其路由协议GSA交换模块,用于从邻居通信设备获取所加入组的路由协议GSA ;所述第一、第二通信设备还包括身份认证模块,所述第一或第二通信设备作为新加入通信设备的邻居通信设备时,其身份认证模块用于接收所述身份认证请求消息,进行身份认证以及返回身份认证响应消息;其路由协议GSA交换模块,还用于在身份认证通过后在所述建立的安全联盟的保护下向新加入通信设备发送所述路由协议GSA。
全文摘要
本发明涉及一种路由协议组密钥管理方法、系统及通信设备,所述方法包括第一通信设备与第二通信设备在建立安全联盟并获知所述第二通信设备的路由协议的安全参数;所述第一通信设备根据所述第二通信设备的路由协议的安全参数生成路由协议组安全联盟(GSA);所述第一通信设备根据所述安全联盟,向所述第二通信设备发送所述GSA。本发明方法、系统及设备可以实现路由协议的带外组密钥管理。
文档编号H04L29/06GK102447616SQ20101051196
公开日2012年5月9日 申请日期2010年10月11日 优先权日2010年10月11日
发明者梁小萍, 王鸿彦, 韦银星 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1