一种因特网密钥交换中IPv6身份载荷交换的方法

文档序号:7667651阅读:242来源:国知局
专利名称:一种因特网密钥交换中IPv6身份载荷交换的方法
技术领域
本发明涉及数据通信领域,尤其涉及一种IKE(因特网密钥交换)交换中 Pv6身份载荷交换的方法。
背景技术
安全已经成为数据通信领域中一项越来越重要的要求。
IPsec给出了应用于IP层上网络数据安全的一整套体系结构,包括网络 认证协议、封装安全载荷协议、密钥管理协议和用于网络认证及加密的一些 算法等;Psec规定了如何在对等层之间选择安全协议、确定安全算法和密 钥交换,向上提供了访问控制、数据源认证、数据加密等网络安全服务。
其中密钥管理协议主要是指因特网密钥交换(IKE),它解决了在不安 全的网络环境(如因特网中)中如何安全地建立或更新共享密钥的问题。IKE 交换中4吏用了 RFC2407 "The Internet IP Security Domain of Interpretation for ISAKMP"中定义的身份载荷(IdentificationPayload),该载荷允许双方交换 身份信息,其中包含的信息用于确认SA协商发起者的身份。响应者用身份 信息来决定应用于安全关联(SA)的安全策略。
当IKE支持IPv6时,会使用到ID—IPV6—ADDR一SUBNET类型来协商 双方的策略,载荷内容为2个16字节的值,第一个16字节表示IPv6地址, 第二个16字节表示IPv6网络掩码。
这种方法有以下不足之处
根据RFC2373 "IP Version 6 Addressing Architecture"描述,采用 ipv6-address/prefix-length格式表示IPv6地址,与RFC2407协议中规定的形 式不一致。
RFC2407协议中发送ID—IPV6一ADDR一SUBNET类型的身份载荷时采
用16字节网络掩码的方式额外占用了载荷长度,并且由于使用32位的掩码 表示方法,解析时需要按位进行与操作,处理困难。

发明内容
本发明要解决的技术问题是提供一种因特网密钥交换中IPv6身份载荷 交换的方法,以解决现有技术中发送ID—IPV6—ADDR—SUBNET类型的身份 载荷时,原有填写载荷内容的方式中网络掩码额外占用载荷长度且处理困难 的缺陷。
为了解决上述问题,本发明提供了一种因特网密钥交换中IPv6身份载 荷交换的方法,包括
发起端协商IPv6策略发送携带ID—IPV6—ADDR—SUBNET类型的身份 载荷的因特网密钥交换报文时,将所述报文中的身份载荷的内容用 ipv6-address/prefix-length格式填写;
响应端收到所述报文后,解析其中的身份载荷,并发送因特网密钥交换 回应才艮文给发送端。
进一步地,所述发起端发送所述因特网密钥交换报文后,若收到所述响 应端发来的错误消息或超时后未收到所述响应端发来的因特网密钥交换回 应报文则重新发送所述因特网密钥交换报文。
进一步地,所述发起端每次发送所述因特网密钥交换报文时,首先读取 计数值,若所述计数值为0则用ipv6-address/prefix-length格式填写其中的身 份载荷,若所述计数值为1则用32个字节的形式填写所述身份载荷,第一 个16字节为IPv6地址,第二个16个字节为IPv6网络掩码,填写所述身份 载荷的内容后更改所述计数值。
进一步地,所述响应端收到所述报文后,首先判断是否能够解析其中的 身份载荷,能则解析所述身份载荷,否则发送错误消息到发起端。
进一步地,所述响应端解析所述身份载荷时,若所述身份载荷的长度为 20个字节则按ipv6-address/prefix-length格式解析所述身份载荷;若所述身 份载荷的长度为32个字节则按第一个16字节为IPv6地址,第二个16个字
节为IPv6网络掩码的形式解析所述身份载荷。
进一步地,在发起端设置一开关标识所述计数值,当开关开启时表示计 数值取值为0,开关关闭时计数值取值为1。
进一步地,填写所述身份载荷的内容后更改所述计数值是指当读取计 数值时开关为开启状态则在填写所述身份载荷的内容后将所述开关置为关 闭状态,当读取计数值时开关为关闭状态则在填写所述身份载荷的内容后将 所述开关置为开启状态。
综上所述,本发明提供一种因特网密钥交换中IPv6身份载荷交换的方 法,当发送ID_IPV6—ADDR一SUBNET类型的身份载荷时,优先采用 ipv6-address/prefix-length的格式填写载荷内容,缩短了身份载荷的长度,简 化了发起端及接收端的处理,且能与原有协议兼容。


图1是本发明的应用场景图2是本发明中在因特网密钥交换中作为发起端时的流程图; 图3是本发明中在因特网密钥交换中作为响应端的流程图。
具体实施例方式
本发明提供一种因特网密钥交换中IPv6身份载荷交换的方法,图l是 本发明的应用场景图,IPsec对等端通过IP网络进行互连,通过IKE协商密 钥;IP网络为IPv6网络。IKE交换的发起端发送ID—IPV6一ADDR—SUBNET 类型的身份载荷时,优先采用ipv6-address/prefix-length的格式填写身份载荷 内容,即使用20个字节长度填写身份载荷,第一个16字节为IPv6地址, 后面4个字节的低8位标识前缀长度,高24位填充为0。
以下将结合附图用实施例的方式详细描述本发明方法
如图2所示为本端作为协商IPv6策略时发起端的操作
步骤201:开始协商策略,准备发送携带ID载荷的IKE报文;步骤202:判断ID栽荷类型是否为ID—IPV6—ADDR—SUBNET,是则执 行步骤203;
步骤203:查看计数值是否为0,是则执行步骤204,否则执行步骤205;
可以但不限于在发起端设置一开关来标识计数值,开关开启时表示计数 值取值为0,开关关闭时计数值取值为1。
步骤204:将ID载荷内容填写为ipv6-address/prefix-length格式,共占 用20个字节长度,第一个16字节为IPv6地址,后面4个字节的低8位标 识前缀长度,高24位填充为0;并改变开关此时的状态,将开关置为关闭 状态,即将计数值设为1。执行步骤206;
步骤205:对发送ID载荷的计数值进行清O,即改变开关此时的状态, 将开关置为开启状态;并按协议原规定的ID—IPV6—ADDR—SUBNET类型的 格式填写id载荷内容,即将id载荷填写为2个16字节的值,第一个16 字节表示IPv6地址,第二个16字节表示IPv6网络掩码;执行步骤206;
步骤206:发送封装好ID载荷的IKE报文到对端,即将封装好的ID载 荷连同IKE报文的其余部分一起发送给响应端,此处IKE报文的其余部分 内容同现有技术;
步骤206之后若收到响应端发来的错误消息或超时后发起端没有收到 响应端发来的IKE回应报文,则重新发送携带ID载荷的IKE报文。重新发 送IKE报文时,若计数值为0则按ipv6-address/prefix-length格式发送,若 计数值为1则按协议原规定的32个字节的形式发送。此处超时的含义同现 有技术。
如图3所示为对端作为响应端接收IKE报文的处理流程 步骤301:接收发起端的IKE报文;
步骤302:判断接收的IKE报文,如果是ID载荷,判断ID载荷类型是 否为IDJPV6—ADDR_SUBNET,是则执行步骤303;
步骤303:判断能否解析收到的IKE报文中的ID载荷,即判断是否支 持ipv6-address/prefix-length格式的ID载荷,能解析则执行步骤304,否则
执行步骤309;
步骤304:判断IKE报文中的ID载荷长度是否为20个字节,是则执行 步骤305,否则执行步骤306;
步骤305:以ipv6-address/prefix-length格式解析ID载荷,共占用20个 字节长度,第一个16字节为IPv6地址,后面4个字节的低8位标识前缀长 度,高24位填充为0;执行步骤308;
步骤306:判断IKE报文中的ID载荷长度是否为32个字节,是则执行 步骤307;
步骤307:按原有协议规定载荷内容的定义解析IKE报文中的ID载荷, 共占用32个字节长度,第一个16字节为IPv6地址,第二个16个字节为IPv6 网络掩码;执行步骤308;
步骤308:向发起端发送对应的IKE回应报文;该步同现有技术。
步骤309:向发起端发送错误消息。
权利要求
1、一种因特网密钥交换中IPv6身份载荷交换的方法,包括发起端协商IPv6策略发送携带ID_IPV6_ADDR_SUBNET类型的身份载荷的因特网密钥交换报文时,将所述报文中的身份载荷的内容用ipv6-address/prefix-length格式填写;响应端收到所述报文后,解析其中的身份载荷,并发送因特网密钥交换回应报文给发送端。
2、 如权利要求1所述的方法,其特征在于所述发起端发送所述因特网密钥交换报文后,若收到所述响应端发来的 错误消息或超时后未收到所述响应端发来的因特网密钥交换回应报文则重 新发送所述因特网密钥交换报文。
3、 如权利要求2所述的方法,其特征在于所述发起端每次发送所述因特网密钥交换报文时,首先读取计数值,若 所述计数值为0则用ipv6-address/prefix-length格式填写其中的身份载荷,若 所述计数值为1则用32个字节的形式填写所述身份载荷,第一个16字节为 IPv6地址,第二个16个字节为IPv6网络掩码,填写所述身份载荷的内容后 更改所述计数值。
4、 如权利要求1所述的方法,其特征在于所述响应端收到所述报文后,首先判断是否能够解析其中的身份载荷, 能则解析所述身份载荷,否则发送错误消息到发起端。
5、 如权利要求3所述的方法,其特征在于所述响应端解析所述身份栽荷时,若所述身份载荷的长度为20个字节 则按ipv6-address/prefix-length格式解析所述身份载荷;若所述身份载荷的长 度为32个字节则按第一个16字节为IPv6地址,第二个16个字节为IPv6 网络掩码的形式解析所述身份载荷。
6、 如权利要求3所述的方法,其特征在于在发起端设置一开关标识所述计数值,当开关开启时表示计数值取值为0,开关关闭时计数值取值为1。
7、如权利要求6所述的方法,其特征在于填写所述身份载荷的内容后更改所述计数值是指当读取计数值时开关 为开启状态则在填写所述身份载荷的内容后将所述开关置为关闭状态,当读 取计数值时开关为关闭状态则在填写所述身份载荷的内容后将所述开关置 为开启状态。
全文摘要
本发明提供了一种因特网密钥交换中IPv6身份载荷交换的方法,包括发起端协商IPv6策略发送携带ID_IPV6_ADDR_SUBNET类型的身份载荷的因特网密钥交换报文时,将所述报文中的身份载荷的内容用ipv6-address/prefix-length格式填写;响应端收到所述报文后,解析其中的身份载荷,并发送因特网密钥交换回应报文给发送端。采用本发明的技术方案,缩短了身份载荷的长度,简化了发起端及接收端的处理,且能与原有协议兼容。
文档编号H04L9/08GK101183936SQ20071019591
公开日2008年5月21日 申请日期2007年12月4日 优先权日2007年12月4日
发明者秦春华 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1