[发明专利]一种IPSec防重放的方法和装置有效
申请号: | 201410288733.X | 申请日: | 2014-06-24 |
公开(公告)号: | CN104038505B | 公开(公告)日: | 2017-09-15 |
发明(设计)人: | 韩东亮 | 申请(专利权)人: | 新华三技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京博思佳知识产权代理有限公司11415 | 代理人: | 林祥 |
地址: | 310052 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 ipsec 重放 方法 装置 | ||
技术领域
本发明涉及通信技术领域,尤其涉及一种IPSec防重放的方法和装置。
背景技术
因特网协议安全(Internet Protocol Security,IPSec)协议给出了应用于IP层上网络数据安全的一整套体系结构,包括认证头(Authentication Header,AH)协议、封装安全载荷(Encapsulating Security Payload,ESP)协议、密钥管理协议(Internet Key Exchange,IKE)和用于网络认证及加密的一些算法等。IPSec规定了如何在对等层之间选择安全协议、确定安全算法和密钥交换,向上提供了访问控制、数据源认证、数据加密等网络安全服务。
Authentication Header协议为IP通信提供数据源认证、数据完整性和反重播保证,它能保护通信免受篡改,但不能防止窃听,适合用于传输非机密数据。Encapsulating Security Payload为IP数据包提供完整性检查、认证和加密。
在经过AH或者ESP封装的报文(以下简称IPSec报文)结构中,Sequence Number(序列号)为从1开始的32位单增序列号,不允许重复,唯一地标识了每一个发送数据包,为安全关联提供反重播保护。序列号结合防重放窗口和报文验证来防御重放攻击。当收到了一个经过认证的数据以后,防重放窗口会滑动一次,如果该数据报文被重放,由于其顺序号码和原来的相同,因此这个数据会落到窗口之外,数据就会被丢弃。
举例说明序列号和防重放窗口的工作机制,假如防重放窗口的大小为5,序列号从1开始递增。
刚开始时,防重放窗口左右边界对应序列号1和5,首先收到一个序列号为1的报文,落在防重放窗口内,且第一次出现,则判定此报文为正常报文。
收到第二个报文时,若序列号为仍为1,落在防重放窗口内,但由于已经收到过此序列号的报文,因此判定此报文为重放报文,丢弃。
收到第三个报文时,若序列号为3,落在防重放窗口内,且第一次出现,则判定此报文为正常报文。
收到第四个报文时,若序列号为6,落在防重放窗口右侧,则窗口的右边缘滑动到此处,此时防重放窗口的左右边界对应序列号2和6,同时判定此报文为正常报文。
收到第五个报文时,若序列号为1,落在防重放窗口左侧,因此判定此报文为重放报文,丢弃。
总结以上示例,防重放机制的窗口滑动规则及对重放报文的判定规则如下:
规则1、若报文的序列号落在防重放窗口内,即满足:防重放窗口左边界≤接收到的报文序列号≤防重放窗口右边界,则判断是否以前接收过,如果没有则认为是正常报文,窗口不做滑动,如果收到过,则认为是重放报文,丢弃之。
规则2、若报文的序列号落在防重放窗口右侧,且验证为合法报文,则将重放窗口右边界滑动到此报文的序列号处。
规则3、若报文的序列号落在防重放窗口左侧,则认为是重放报文,丢弃之。
单核设备,单个转发线程时,报文按照序列串行依次封装、发出,对端收到的序列号基本不会出现乱序情况,但是多核设备时,多个线程并行处理报文,导致对端收到的IPSec封装报文的序列号容易出现乱序。
假设一个多核设备包含4个核,4个核分别通过自己的线程并行封装、发送在同一序列号空间编号的报文,核1封装、发送序列号为1~100的报文,核2封装、发送序列号为101~200的报文,核3封装、发送序列号为201~300的报文,核4封装、发送序列号为301~400的报文,假如防重放窗口宽度为100,核3首先被调度运行起来,201~300序列的IPSec报文被先发送出去,对端收到报文后,根据防重放机制的窗口滑动规则,将防重放窗口向右滑动到201~300,则序列号为101~200的报文收到后,会被认定为重放报文,被错误的丢弃。
虽然可通过增大防重放窗口在一定程度上避免报文被误丢弃,但增大的防重放窗口尺寸需要与多核设备的核数量成倍数关系,才会取得原有单核相似的效果,当核的数量较多时,防重放窗口将会变的很大,导致每次查找序列号都会消耗大量的计算资源,而且每次查找时都是串行查找,体现不出多核设备并行处理的优势。
发明内容
本发明提供一种IPSec防重放的方法和装置,能够解决多核并发转发报文时,要求防重放窗口过大,导致的计算资源消耗过大的技术问题。
为实现本发明目的,本发明提供一种因特网协议安全IPSec防重放的方法,该方法应用于多核网络设备,包括:
建立与对端网络设备之间的IPSec隧道;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新华三技术有限公司,未经新华三技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410288733.X/2.html,转载请声明来源钻瓜专利网。