本申请公开了一种基于时间的防重放方法及装置,本发明专利技术基于IPSec协议,发送端在IPSec封装时,在原序列号字段中携带时间戳,接收端基于报文中的时间戳,结合本地时间及防重放时间窗口确定报文是否为重放报文,不需要发送端和接收端通过时间同步协议保持时间同步。本发明专利技术在发送端发包速率较高和多核并发发送报文的情况下,能够有效避免误丢包。
【技术实现步骤摘要】
-种基于时间的防重放方法及装置
[0001 ] 本专利技术涉及英特网协议报文的防重放技术,尤其涉及一种基于时间的防重放方法 及装置。
技术介绍
英特网协议安全(Internet Protocol Security,IPSec)协议是 IETF 制定的 三层隧道加密协议,该协议给出了应用于IP层上网络数据安全的一整套体系结构。它 为internet上传播的数据提供安全服务数据机密性、数据完整性、数据源认证、防重放 (Anti-Replay)等功能特性。 传统的IPsec VPN采用端到端的技术,当数据报文被第三方截获,攻击者可以对截 取的报文进行破译后,再用重放相同的报文的方式以仿冒身份获取非法访问权。 IPSec协议通过网络认证头(Authentication Header, AH)、封装安全载荷 (Encapsulating Security Payload,ESP)中的序列号(Sequence Number)字段来实现防 重放检测。 经过AH或者ESP封装的报文结构中,序列号为从1开始的32位单增序列号,不允 许重复,唯一地标识了每一个发送数据包,为安全关联提供反重播保护。接收端根据序列号 结合防重放窗口和报文验证来防御重放攻击。防重放机制的窗口滑动规则及对重放报文的 判定规则如下: 规则1、若报文的序列号落在防重放窗口内,即满足:防重放窗口左边界<接收到 的报文序列号 < 防重放窗口右边界,则判断是否以前接收过,如果没有则认为是正常报文, 窗口不做滑动,如果收到过,则认为是重放报文,丢弃之。 规则2、若报文的序列号落在防重放窗口右侧,且验证为合法报文,则将重放窗口 右边界滑动到此报文的序列号处。 规则3、若报文的序列号落在防重放窗口左侧,则认为是重放报文,丢弃之。 随着现有硬件技术的发展,多核设备(即指拥有多个核心处理芯片的网络设备) 已经很常见,多核并行处理数据报文使设备的吞吐量大大提高,但同时也带来IPsec防重 放序号乱序的问题,例如,设备A和设备B为两个协商IPsec隧道的对端,其中A是多核设 备,每个CPU核心会同时发送报文,以达到并发的效果,由于每个CPU核心处于的工作状态 不同,或受外部事件影响,不同CPU核心在同一时刻处理速度不同,导致本应后发出的报文 (防重放序号大的报文)比本应先发出的报文(防重放序号小的报文)先发出,B端先收到 防重放序号大的报文,会移动防重放窗口,如果流量很快,窗口会被移动很远,防重放序号 小的报文到达时,已经处于防重放窗口左侧,就会被误丢弃。
技术实现思路
有鉴于此,本申请提供一种基于时间的防重放方法及装置,用于解决高速流量和 多核并发情况下报文乱序导致误丢包的技术问题。 toon] 为实现本专利技术的专利技术目的,本专利技术是这样实现的: -种基于时间的防重放方法,该方法包括: 接收发送端发送的基于IPSec封装的数据报文,记录接收到所述数据报文时刻的 接收端本地绝对时间戳T2,所述数据报文中携带发送端发送该数据报文时刻的发送端本地 绝对时间戳T1 ; 根据所述接收端本地绝对时间戳T2和所述发送端本地绝对时间戳T1计算两端的 时间差值D,并根据所述时间差值D及本地绝对时间T3计算相对调整时间FT ; 以所述相对调整时间FT为基准,根据预设的时间窗参数W确定防重放时间窗口左 右边缘FT-W和FT+W ; 当数据报文中携带时间戳落在所确定的防重放时间窗口之内时放行所述数据报 文,否则丢弃所述数据报文。 进一步地,在所述IPSec封装的数据报文的AH和/或ESP的序列号字段携带所述 发送端本地绝对时间戳T1。 进一步地,根据预设的相对调整时间更新周期,周期性地在每个相对调整时间更 新周期内至多执行一次所述的计算时间差值D、计算相对调整时间FT及确定防重放时间窗 口左右边缘FT-W和FT+W的步骤。 基于与上述方法相同的专利技术构思,本专利技术实施例还提供一种基于时间的防重放装 置,该装置包括: 接收单元,用于接收发送端发送的基于IPSec封装的数据报文,记录接收到所述 数据报文时刻的接收端本地绝对时间戳T2,所述数据报文中携带发送端发送该数据报文时 刻的发送端本地绝对时间戳T1 ; 时间窗确定单元,用于根据所述接收端本地绝对时间戳T2和所述数据报文中携 带的发送端本地绝对时间戳T1计算两端的时间差值D,并根据所述时间差值D及本地绝对 时间T3计算相对调整时间FT ;以所述相对调整时间FT为基准,根据预设的时间窗参数W确 定防重放时间窗口左右边缘FT-W和FT+W ; 防重放单元,用于执行防重放处理,当数据报文中携带的时间戳落在所确定的防 重放时间窗口之内时放行所述数据报文,否则丢弃所述数据报文。 进一步地,所述时间窗确定单元,根据预设的相对调整时间更新周期,周期性地在 每个相对调整时间更新周期内至多执行一次所述的计算时间差值D、计算相对调整时间FT 及确定防重放时间窗口左右边缘FT-W和FT+W的步骤。 基于本专利技术实施例的另一方面,本专利技术还提供一种基于时间的防重放方法,该方 法包括: 接收发送端发送的基于IPSec封装的数据报文,所述数据报文中携带发送端发送 该数据报文时刻的发送端本地绝对时间戳T1 ; 判断所述发送端本地绝对时间戳T1是否大于本地维护的对端时间PT ; 若T1大于PT,则放行该数据报文,并将所述本地维护的对端时间PT更新为该数据 报文携带的发送端本地绝对时间戳T1 ; 若T1不大于PT,则判断所述发送端本地绝对时间戳T1是否小于所述本地维护的 对端时间PT与预设的时间窗口参数W的差值,若小于则丢弃该数据报文,否则放行该数据 报文。 进一步地,在所述IPSec封装的数据报文的AH和/或ESP的序列号字段携带所述 发送端本地绝对时间戳T1。 基于与上述方法相同的专利技术构思,本专利技术实施例还提供一种基于时间的防重放装 置,该装置包括: 接收单元,用于接收发送端发送的基于IPSec封装的数据报文,所述数据报文中 携带发送端发送该数据报文时刻的发送端本地绝对时间戳T1 ; 判断单元,用于判断所述发送端本地绝对时间戳T1是否大于本地维护的对端时 间PT ; 维护单元,用于在所述T1大于PT时,将所述本地维护的对端时间PT更新为该数 据报文携带的发送端本地绝对时间戳T1 ; 防重放单元,用于在所述发送端本地绝对时间戳T1小于所述本地维护的对端时 间PT与预设的时间窗口参数W的差值时,丢弃该数据报文,否则放行该数据报文。 本专利技术基于IPSec协议,发送端在IPSec封装时,在原序列号字段中携带时间戳, 接收端基于报文中的时间戳,结合本地时间及防重放时间窗口确定报文是否为重放报文, 不需要发送端和接收端通过时间同步协议保持时间同步。本专利技术在发送端发包速率较高和 多核并发发送报文的情况下,能够有效避免报文乱序导致误丢包的技术问题。 【附图说明】 图1为本专利技术一实施例提供的一种基于时间的防重放方法的步骤流程图; 图2为本专利技术一实施例提供的基于时间的防重放方法中防重放时间窗口示意图; 图3为本发本文档来自技高网...
【技术保护点】
一种基于时间的防重放方法,其特征在于,该方法包括:接收发送端发送的基于IPSec封装的数据报文,记录接收到所述数据报文时刻的接收端本地绝对时间戳T2,所述数据报文中携带发送端发送该数据报文时刻的发送端本地绝对时间戳T1;根据所述接收端本地绝对时间戳T2和所述发送端本地绝对时间戳T1计算两端的时间差值D,并根据所述时间差值D及本地绝对时间T3计算相对调整时间FT;以所述相对调整时间FT为基准,根据预设的时间窗参数W确定防重放时间窗口左右边缘FT‑W和FT+W;当数据报文中携带时间戳落在所确定的防重放时间窗口之内时放行所述数据报文,否则丢弃所述数据报文。
【技术特征摘要】
1. 一种基于时间的防重放方法,其特征在于,该方法包括: 接收发送端发送的基于IPSec封装的数据报文,记录接收到所述数据报文时刻的接收 端本地绝对时间戳T2,所述数据报文中携带发送端发送该数据报文时刻的发送端本地绝对 时间戳T1 ; 根据所述接收端本地绝对时间戳T2和所述发送端本地绝对时间戳T1计算两端的时间 差值D,并根据所述时间差值D及本地绝对时间T3计算相对调整时间FT ; 以所述相对调整时间FT为基准,根据预设的时间窗参数W确定防重放时间窗口左右边 缘 FT-W 和 FT+W ; 当数据报文中携带时间戳落在所确定的防重放时间窗口之内时放行所述数据报文,否 则丢弃所述数据报文。2. 根据权利要求1所述的方法,其特征在于,在所述IPSec封装的数据报文的AH和/ 或ESP的序列号字段携带所述发送端本地绝对时间戳T1。3. 根据权利要求1所述的方法,其特征在于, 根据预设的相对调整时间更新周期,周期性地在每个相对调整时间更新周期内至多执 行一次所述的计算时间差值D、计算相对调整时间FT及确定防重放时间窗口左右边缘FT-W 和FT+W的步骤。4. 一种基于时间的防重放方法,其特征在于,该方法包括: 接收发送端发送的基于IPSec封装的数据报文,所述数据报文中携带发送端发送该数 据报文时刻的发送端本地绝对时间戳T1 ; 判断所述发送端本地绝对时间戳T1是否大于本地维护的对端时间PT ; 若T1大于PT,则放行该数据报文,并将所述本地维护的对端时间PT更新为该数据报文 携带的发送端本地绝对时间戳T1 ; 若T1不大于PT,则判断所述发送端本地绝对时间戳T1是否小于所述本地维护的对端 时间PT与预设的时间窗口参数W的差值,若小于则丢弃该数据报文,否则放行该数据报文。5. 根据权利要求4所述的方法,其特征在于,在所述IPSec封装的数据报文的AH和/ 或ESP的序列号字段携带所述发送端本地绝对时间戳T1。6. -种基于时间的防重放装置,其特征在于,该装置包括...
【专利技术属性】
技术研发人员:宋晓欢,
申请(专利权)人:杭州华三通信技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。