[发明专利]一种Windows平台IPSec处理方法有效
申请号: | 201410080454.4 | 申请日: | 2014-03-06 |
公开(公告)号: | CN103888450B | 公开(公告)日: | 2017-04-26 |
发明(设计)人: | 刘建港;谈静国;邵伟俊;宋建锋;苗启广;蒋嘉琦;张天久;郑艺斌 | 申请(专利权)人: | 江苏金陵科技集团有限公司;西安电子科技大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/951 |
代理公司: | 西安恒泰知识产权代理事务所61216 | 代理人: | 史玫 |
地址: | 210008 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 windows 平台 ipsec 处理 方法 | ||
技术领域
本发明属于网络安全技术领域,更进一步涉及Windows平台IPSec(IPSecurity Virtual Private Network)高速处理的方法。
背景技术
李芝棠等人在文献“李芝棠,孙诚,‘多卡并行加密VPN的性能分析’[J],华中科技大学学报,33(5),1671-4512(2005)”提出了基于多卡并行加密的VPN性能提升方法。该方法主要是将VPN处理的流程分为两部分,一部分为IP数据包封装预处理;另一部分为数据包加解密。
由于目前VPN性能的瓶颈依然由加解密的耗时因素而引起,因此上述文献提出的方法是将IP数据包预处理部分交由CPU进行,而将加解密操作交由多个硬件加密卡进行。CPU在数据包预处理完成之后将预处理后的数据包交由缓存队列,其自身直接进行对下一个数据包的操作而不等待加解密操作的完成,多个加密卡依次从缓存队列中取出待加解密的数据包进行单纯加解密操作。
上述方案确实能够对VPN通道的性能进行相应提升,并且同时降低了CPU的利用率,但该方案的实施需要多个硬件加密卡,且需要对Linux源码进行相应修改,因此适合在VPN网关上进行方案的实施,不适合移植到安装Windows操作系统的普通PC机使用。
现有Windows平台IPSec处理方法大部分基于NDIS IM(Network Driver Interface Specification Intermediate,网络驱动接口规范中间层)框架实现,通过注册一个NDIS IM网络过滤驱动获取操作系统发送与接收的所有IP数据包,对每一个IP数据包提取其头部相应信息查询SPDB(Security Policy Database,安全策略数据库)判断其是否需要进行IPSec处理,对于需要进行IPSec处理的数据包,将其按照IPSec SA(Security Association,安全关联)中指定的加密算法及密钥、数据完整性验证算法及密钥等信息对IP数据包进行相应的IPSec处理。
虽然基于NDIS IM框架的IPSec处理方案能够运行于NT6.x版本的Windows操作系统当中,其可能会导致相应的兼容性与稳定性问题,且在NDISIM框架中实现IPSec不可避免的会遇见MTU(Maximum Transmission Unit,最大传输单元)与大数据包分片问题。
发明内容
针对现有技术的缺陷或不足,本发明的目的在于提供一种Windows平台IPSec处理方法。
为此,本发明提供的Windows平台IPSec处理方法包括:
(1)IP数据包的获取,包括获取发送IP数据包和接收IP数据包;
(2)判断所获取的IP数据包是否需要进行IPSec处理;
(3)对需要进行IPSec处理的IP数据包进行ESP隧道模式处理,对于发送的数据包,ESP隧道模式处理包括加密,消息验证码计算和数据包封装;对于接收的数据包,ESP隧道模式处理包括消息验证码校验、数据包解封装与解密。所述加密处理和解密处理均使用AES-NI(AES New Instruction,AES新指令集)实现的AES算法对IP数据包进行处理。
优选的,所述IP数据包的获取是采用基于NDIS IM框架的方法获取发送IP数据包和接收IP数据包。
优选的,在对需要进行IPSec处理的IP数据包进行ESP隧道模式处理之前,对需要进行IPSec处理的IP数据包进行预处理,预处理包括IP头部校验和计算、对于TCP数据包进行MSS值的修改以及TCP头部校验和计算,将TCP数据包头部中的MSS值修改为:[原MSS值-76];对于非分片的UDP数据包进行UDP头部校验和计算。
优选的,判断所获取的IP数据包是否需要进行IPSec处理时,对于发送的数据包,提取其IP数据包头部特征信息、查询安全策略数据库(SPDB),如果查询结果不为空,则该IP数据包需进行IPSec处理;
对于接收的IP数据包:
①首先判断其是否是ESP类型的数据包,若为ESP类型数据包,转②,否则不对该IP数据包进行处理;
②对于ESP类型数据包,根据其IP头部判断该数据包是否是由已经建立的VPN通道的对端发来的IP数据包,若满足条件则转③,否则不对该IP数据包进行处理;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏金陵科技集团有限公司;西安电子科技大学,未经江苏金陵科技集团有限公司;西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410080454.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于工件密封性检测的封堵装置
- 下一篇:密封构造