发明名称 一种Windows平台IPSec处理方法
摘要 本发明涉及一种Windows平台IPSec处理方法。方法包括:IP数据包的获取;判断所获取的IP数据包是否需要进行IPSec处理;对需要进行IPSec处理的IP数据包进行ESP隧道模式处理,其中的加解密处理使用AES‑NI技术对IP数据包进行加解密处理。本发明主要在Windows平台基于AES‑NI技术实现高速IPSec处理方法,满足千兆网络环境主机‑网关模式下的IPSec VPN需求。本发明使用大数据包拆分、ESP分片数据包重组与修改TCP协议MSS的方式解决了基于NDIS IM框架实现的IPSec处理方法中常见的MTU与大数据包分片问题,并且本发明针对NT6.x版本操作系统实现的IPSec处理方法解决了现有方案在新版本操作系统上不兼容的问题。
申请公布号 CN103888450B 申请公布日期 2017.04.26
申请号 CN201410080454.4 申请日期 2014.03.06
申请人 江苏金陵科技集团有限公司;西安电子科技大学 发明人 刘建港;谈静国;邵伟俊;宋建锋;苗启广;蒋嘉琦;张天久;郑艺斌
分类号 H04L29/06(2006.01)I;H04L12/951(2013.01)I 主分类号 H04L29/06(2006.01)I
代理机构 西安恒泰知识产权代理事务所 61216 代理人 史玫
主权项 一种Windows平台IPSec处理方法,其特征在于,该方法包括:(1)IP数据包的获取,包括获取发送IP数据包和接收IP数据包,所述IP数据包的获取是采用基于NDIS IM框架的方法获取发送IP数据包和接收IP数据包;(2)判断所获取的IP数据包是否需要进行IPSec处理,判断所获取的IP数据包是否需要进行IPSec处理时,对于发送的数据包,提取其IP数据包头部特征信息查询安全策略数据库,如果查询结果不为空,则该IP数据包需进行IPSec处理;对于接收的IP数据包:①首先判断其是否是ESP类型的数据包,若为ESP类型数据包,转②,否则不对该IP数据包进行处理;②对于ESP类型数据包,根据其IP头部判断该数据包是否是由已经建立的VPN通道的对端发来的IP数据包,若满足条件则转③,否则不对该IP数据包进行处理;③对于从已建立VPN通道对端发来的IP数据包,根据其IP头部分片信息判断其是否为一个ESP分片数据包,若为ESP分片数据包则转④,否则直接提取该IP数据包的IP头部与ESP头部信息查询安全策略数据库,若查询结果不为空,则该IP数据包需要进行IPSec处理;④对于ESP分片数据包,将ESP分片数据包放入IP数据包重组模块,待所有ESP分片数据包放入IP数据包重组模块中后,将IP数据包重组模块中所有的ESP分片数据包恢复为一个完整的大数据包,再提取恢复后大数据包的IP头部与ESP头部相关信息查询安全策略数据库,判断其是否需要进行IPSec处理,若查询结果不为空,则该IP数据包需要进行IPSec处理;对于发送的非TCP协议IP数据包,若经过ESP隧道模式处理后生成的ESP数据包长度超过(MTU<sub>以太网</sub>–18字节),则对生成的ESP数据包进行拆分操作,其中MTU<sub>以太网</sub>为以太网的MTU值;(3)对需要进行IPSec处理的IP数据包进行ESP隧道模式处理,对于发送IP数据包,ESP隧道模式处理包括加密处理,消息验证码计算和数据包封装;对于接收IP数据包,ESP隧道模式处理包括消息验证码校验、数据包解封装与解密处理;所述加密处理和解密处理均使用AES‑NI实现的AES算法对IP数据包进行处理。
地址 210008 江苏省南京市鼓楼区云南路12号