一种IPSec防重放的方法和装置制造方法及图纸

技术编号:10422893 阅读:259 留言:0更新日期:2014-09-12 13:45
本发明专利技术提供一种IPSec防重放的方法和装置,用于解决多核并发转发报文时,要求防重放窗口过大,导致的计算资源消耗过大的技术问题。本发明专利技术针对多核设备,将使用同一隧道的报文分为不同的组,各组维护各自独立的序列号,每个核或转发线程对应一个组,对每个组内的报文进行串行处理,顺序发送,从而避免多核多线程并行发送报文时,设置过大的IPSec防重放窗口,造成设备性能下降的问题,减小了多核系统下的防重放窗口的大小,提高了IPSec处理效率。

【技术实现步骤摘要】
—种IPSec防重放的方法和装置
本专利技术涉及通信
,尤其涉及一种IPSec防重放的方法和装置。
技术介绍
因特网协议安全(InternetProtocol Security, IPSec)协议给出了应用于IP层上网络数据安全的一整套体系结构,包括认证头(Authenticat1n Header, AH)协议、封装安全载荷(Encapsulating Security Payload, ESP)协议、密钥管理协议(Internet KeyExchange, IKE)和用于网络认证及加密的一些算法等。IPSec规定了如何在对等层之间选择安全协议、确定安全算法和密钥交换,向上提供了访问控制、数据源认证、数据加密等网络安全服务。Authenticat1n Header协议为IP通信提供数据源认证、数据完整性和反重播保证,它能保护通信免受篡改,但不能防止窃听,适合用于传输非机密数据。EncapsulatingSecurity Payload为IP数据包提供完整性检查、认证和加密。在经过AH或者ESP封装的报文(以下简称IPSec报文)结构中,SequenceNumber (序列号)为从I开始的32位单增序列号,不允许重复,唯一地标识了每一个发送数据包,为安全关联提供反重播保护。序列号结合防重放窗口和报文验证来防御重放攻击。当收到了一个经过认证的数据以后,防重放窗口会滑动一次,如果该数据报文被重放,由于其顺序号码和原来的相同,因此这个数据会落到窗口之外,数据就会被丢弃。举例说明序列号和防重放窗口的工作机制,假如防重放窗口的大小为5,序列号从I开始递增。刚开始时,防重放窗口左右边界对应序列号I和5,首先收到一个序列号为I的报文,落在防重放窗口内,且第一次出现,则判定此报文为正常报文。收到第二个报文时,若序列号为仍为1,落在防重放窗口内,但由于已经收到过此序列号的报文,因此判定此报文为重放报文,丢弃。收到第三个报文时,若序列号为3,落在防重放窗口内,且第一次出现,则判定此报文为正常报文。收到第四个报文时,若序列号为6,落在防重放窗口右侧,则窗口的右边缘滑动到此处,此时防重放窗口的左右边界对应序列号2和6,同时判定此报文为正常报文。收到第五个报文时,若序列号为1,落在防重放窗口左侧,因此判定此报文为重放报文,丢弃。总结以上示例,防重放机制的窗口滑动规则及对重放报文的判定规则如下:规则1、若报文的序列号落在防重放窗口内,即满足:防重放窗口左边界<接收到的报文序列号 < 防重放窗口右边界,则判断是否以前接收过,如果没有则认为是正常报文,窗口不做滑动,如果收到过,则认为是重放报文,丢弃之。规则2、若报文的序列号落在防重放窗口右侧,且验证为合法报文,则将重放窗口右边界滑动到此报文的序列号处。规则3、若报文的序列号落在防重放窗口左侧,则认为是重放报文,丢弃之。单核设备,单个转发线程时,报文按照序列串行依次封装、发出,对端收到的序列号基本不会出现乱序情况,但是多核设备时,多个线程并行处理报文,导致对端收到的IPSec封装报文的序列号容易出现乱序。假设一个多核设备包含4个核,4个核分别通过自己的线程并行封装、发送在同一序列号空间编号的报文,核I封装、发送序列号为I?100的报文,核2封装、发送序列号为101?200的报文,核3封装、发送序列号为201?300的报文,核4封装、发送序列号为301?400的报文,假如防重放窗口宽度为100,核3首先被调度运行起来,201?300序列的IPSec报文被先发送出去,对端收到报文后,根据防重放机制的窗口滑动规则,将防重放窗口向右滑动到201?300,则序列号为101?200的报文收到后,会被认定为重放报文,被错误的丢弃。虽然可通过增大防重放窗口在一定程度上避免报文被误丢弃,但增大的防重放窗口尺寸需要与多核设备的核数量成倍数关系,才会取得原有单核相似的效果,当核的数量较多时,防重放窗口将会变的很大,导致每次查找序列号都会消耗大量的计算资源,而且每次查找时都是串行查找,体现不出多核设备并行处理的优势。
技术实现思路
本专利技术提供一种IPSec防重放的方法和装置,能够解决多核并发转发报文时,要求防重放窗口过大,导致的计算资源消耗过大的技术问题。为实现本专利技术目的,本专利技术提供一种因特网协议安全IPSec防重放的方法,该方法应用于多核网络设备,包括:建立与对端网络设备之间的IPSec隧道;任意一核在使用IPSec封装及转发报文时,独立地为经该核处理的报文分配认证头AH和/或封装安全载荷ESP头中的序列号,且在AH和/或ESP头中携带与该核对应的组号;其中,所述组号与核一一对应,用于对报文进行分组。进一步地,所述独立地为经该核处理的报文分配认证头AH和/或ESP头中的序列号具体为:在AH和/或ESP头中的原序列号Sequence Number字段中连续的部分比特位构成的组内序列号字段中,为经该核处理的报文分配序列号;所述在AH和/或ESP头中携带与该核对应的组号具体为:在AH和/或ESP头中的原序列号Sequence Number字段中连续的部分比特位构成的组号字段中,携带该核对应的组号。进一步地,所述在AH和/或ESP头中携带与该核对应的组号具体为:在AH中的保留位携带与该核对应的组号。进一步地,所述方法还包括:当任一核在接收到经IPSec封装的报文后,从报文的AH和/或ESP头中获取组号及序列号,针对不同的组号的IPSec报文,使用独立的防重放窗口进行防重放处理。进一步地,所述方法还包括:在AH和/或ESP头中携带与该核对应的组标记,所述组标记用于指示是否支持对报文按核分组;当任一核在接收到首个经IPSec封装的报文时,从报文的AH和/或ESP头中获取所述组标记,当所述组标记指示支持对报文按核分组时,标记该报文AH和/或ESP头中安全参数索引SPI字段所指示的IPSec隧道支持按核分组,并对从该IPSec隧道接收的后续报文直接获取组号及序列号。本专利技术还提供一种报文防重放的装置,该装置应用于多核网络设备中,该装置包括:隧道建立模块,用于建立与对端网络设备之间的IPSec隧道;报文发送模块,用于任意一核在使用IPSec封装及转发报文时,独立地为经该核处理的报文分配认证头AH和/或封装安全载荷ESP头中的序列号,且在AH和/或ESP头中携带与该核对应的组号;其中,所述组号与核一一对应,用于对报文进行分组。进一步地,所述报文发送模块在AH和/或ESP头中的原序列号Sequence Number字段中连续的部分比特位构成的组内序列号字段中,为经该核处理的报文分配序列号;所述报文发送模块在AH和/或ESP头中的原序列号Sequence Number字段中连续的部分比特位构成的组号字段中,携带该核对应的组号。进一步地,所述报文发送模块在AH中的保留位携带与该核对应的组号。进一步地,所述装置还包括:报文接收模块,该模块用于当任一核在接收到经IPSec封装的报文后,从报文的AH和/或ESP头中获取组号及序列号,针对不同的组号的IPSec报文,使用独立的防重放窗口进行防重放处理。进一步地,所述报文发送模块还用于在AH和/或ESP头中携带与该核对应的组标记,所述组标记用于指示是否支持本文档来自技高网
...
一种IPSec防重放的方法和装置

【技术保护点】
一种因特网协议安全IPSec防重放的方法,其特征在于,该方法应用于多核网络设备,包括:建立与对端网络设备之间的IPSec隧道;任意一核在使用IPSec封装及转发报文时,独立地为经该核处理的报文分配认证头AH和/或封装安全载荷ESP头中的序列号,且在AH和/或ESP头中携带与该核对应的组号;其中,所述组号与核一一对应,用于对报文进行分组。

【技术特征摘要】
1.一种因特网协议安全IPSec防重放的方法,其特征在于,该方法应用于多核网络设备,包括: 建立与对端网络设备之间的IPSec隧道; 任意一核在使用IPSec封装及转发报文时,独立地为经该核处理的报文分配认证头AH和/或封装安全载荷ESP头中的序列号,且在AH和/或ESP头中携带与该核对应的组号;其中,所述组号与核一一对应,用于对报文进行分组。2.根据权利要求1所述的方法,其特征在于,所述独立地为经该核处理的报文分配认证头AH和/或ESP头中的序列号具体为:在AH和/或ESP头中的原序列号Sequence Number字段中连续的部分比特位构成的组内序列号字段中,为经该核处理的报文分配序列号; 所述在AH和/或ESP头中携带与该核对应的组号具体为:在AH和/或ESP头中的原序列号Sequence Number字段中连续的部分比特位构成的组号字段中,携带该核对应的组号。3.根据权利要求1所述的方法,其特征在于,所述在AH和/或ESP头中携带与该核对应的组号具体为:在AH中的保留位携带与该核对应的组号。4.根据权利要求1所述的方法,其特征在于,所述方法还包括: 当任一核在接收到经IPSec封装的报文后,从报文的AH和/或ESP头中获取组号及序列号,针对不同的组号的IPSec报文,使用独立的防重放窗口进行防重放处理。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在AH和/或ESP头中携带与该核对应的组标记,所述组标记用于指示是否支持对报文按核分组; 当任一核在接收到首个经IPSec封装的报文时,从报文的AH和/或ESP头中获取所述组标记,当所述组标记指示支持对报文按核分组时,标记该报文AH和/或ESP头中安全参数索引SPI字段所指示的IPSec隧道支持按核分组,并对从该IPSec隧道接收的后续报...

【专利技术属性】
技术研发人员:韩东亮
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1