CN100459568C - 在应用层实现vpn协议的系统及其方法 - Google Patents

在应用层实现vpn协议的系统及其方法 Download PDF

Info

Publication number
CN100459568C
CN100459568C CNB2005100194703A CN200510019470A CN100459568C CN 100459568 C CN100459568 C CN 100459568C CN B2005100194703 A CNB2005100194703 A CN B2005100194703A CN 200510019470 A CN200510019470 A CN 200510019470A CN 100459568 C CN100459568 C CN 100459568C
Authority
CN
China
Prior art keywords
module
message
vpn
ipsec
application layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2005100194703A
Other languages
English (en)
Other versions
CN1937571A (zh
Inventor
肖凌
高翠霞
梅松
张云鹤
王景素
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WUHAN SIWEI TONGFEI NETWORK TECHNOLOGY Co Ltd
Original Assignee
WUHAN SIWEI TONGFEI NETWORK TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WUHAN SIWEI TONGFEI NETWORK TECHNOLOGY Co Ltd filed Critical WUHAN SIWEI TONGFEI NETWORK TECHNOLOGY Co Ltd
Priority to CNB2005100194703A priority Critical patent/CN100459568C/zh
Publication of CN1937571A publication Critical patent/CN1937571A/zh
Application granted granted Critical
Publication of CN100459568C publication Critical patent/CN100459568C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种在应用层实现VPN协议的系统及其方法,涉及一种网络通信封装的方法,尤其涉及一种在系统应用层实现IPSec协议封装的方法;该方法可以防止IPSec报文在系统核心层被其它程序阻止,从而确保IPSec报文顺利通过系统,实现安全通信。本系统由依次串联的虚拟网卡模块4、网络协议栈模块3、IKE模块1以及IPSec模块2组成;IKE模块1分别和IPSec模块2、网络协议栈模块3互相调用,网络协议栈模块3和虚拟网卡模块4互相调用。本方法在系统应用层对VPN报文进行加密和解密,从而增加了VPN客户端系统对网络环境的适应能力,适用于在Windows操作系统、Unix操作系统上进行VPN系统开发,而又面临软件兼容性问题等情况。

Description

在应用层实现VPN协议的系统及其方法
技术领域
本发明涉及一种网络通信封装的方法,尤其涉及一种在系统应用层实现IPSec协议封装的方法;该方法可以防止IPSec报文在系统核心层被其它程序阻止,从而确保IPSec报文顺利通过系统,实现安全通信。
背景技术
随着Internet的发展,网络安全问题也越发突出,尤其是如何利用因特网进行私有通信目前已经成为一个热点问题。目前主要通过VPN技术来解决这一问题。当前主流的VPN产品都会遵循标准IPSec来实现,因为IPSec是一个全球性的安全标准,只有IPSec严格遵循了各种协议规范,才可以实现不同厂家VPN产品之间的互通。IPSec协议给出了应用于IP层上网络数据安全的一整套体系结构。
目前,有很多VPN厂商都提供了VPN客户端软件,来方便移动用户的远程接入访问。这些VPN客户端软件通常是在操作系统核心层安装一个数据截获的模块,从而对外出通信报文进行加密和封装。由于用户的操作系统有很多种,因此这些客户端软件需要支持大量的不同的操作系统,例如Windows98、Windows2000、WindowsXP、Windows2003、Linux等。这些不同的操作系统就会带来不同的编程语言、不同的实现方式、不同的应用环境,从而给开发人员带来很多程序设计的复杂性。由于Winodws操作系统是开放的,用户机器上已经安装了大量的应用软件。这些应用软件有些采用和VPN客户端同样的实现方式,例如杀毒软件和个人防火墙软件等。在这种情况下,如果用户主机已经安装了这些冲突软件,再安装VPN客户端软件,这样很容易造成多个程序之间互相争夺内核空间,互相修改网络协议栈,结果导致冲突,而核心层发生冲突往往会引起系统的死机甚至崩溃。
VPN客户端会安装在一台什么样的终端设备上常常是预先无法知道的,而且具体使用VPN客户端的用户,根据其实际的工作需要以及个人喜好,安装了哪些其它安全工具都不得而知,所以如果按照常规的思路,在系统核心层实现IPSec协议,不可避免地会和其它程序产生冲突,从而对VPN客户端的应用环境适应性产生极为不利的影响。
发明内容
本发明正是基于上述问题而提出了在系统应用层实现IPSec VPN的方法,通过把原来需要在操作系统核心层对报文进行处理的模块移到应用层进行实现,不仅避免了和其它类似软件的冲突,而且可以方便地在不同的操作系统之间进行移植,具有非常明显的技术优势,从而大大提高VPN客户端的应用环境适应性。因此,本发明的目的就是克服现有技术的缺点与不足,提供一种在应用层实现VPN的系统及其方法。
1、在应用层实现VPN协议的系统
如图1,本系统由依次串联的虚拟网卡模块4、网络协议栈模块3、IKE模块1以及IPSec模块2组成;IKE模块1分别和IPSec模块2、网络协议栈模块3互相调用,网络协议栈模块3和虚拟网卡模块4互相调用。
所述的IKE模块1,是一种用来进行因特网密钥协商的模块,典型实现是Internet开源软件FreeSWAN;FreeSWAN是一种在Linux操作系统上实现的IPSec和因特网密钥交换协议的软件。
所述的IPSec模块2,是用来对VPN报文进行加密和解密的模块。
所述的网络协议栈模块3,是Internet网络通信协议栈。
所述的虚拟网卡模块4,是一种用来对报文进行截获的模块,其工作在系统核心层,作为一个虚拟的网络接口存在。
2、在应用层对VPN报文进行IPSec协议封装的方法
如果网络系统中存在一个本地VPN系统,需要和另一个远端VPN系统进行VPN通信,那么本方法中,本地VPN系统发送报文以及接收报文处理流程包括如下步骤:
第一步:应用层IKE模块1收到外出的原始IP报文,即外出的原始IP报文经过虚拟网卡模块4发送的时候,虚拟网卡模块4把外出的原始IP报文交给IKE模块1;
第二步:经过IPSec模块2对外出的原始IP报文进行封装,即对外出的原始IP报文进行隧道策略的查找,如果匹配就进行对应的安全加密和封装;
第三步:经过IPSec模块2封装后的报文通过网络协议栈模块3发送出去,即IPSec模块2将经过IPSec封装的报文提交网络协议栈模块3,从实际物理网卡发送出去;
第四步:本地应用层IKE模块1收到对方发来的进入的VPN报文,即网卡接收到对方发来的进入的VPN报文,经过网络协议栈模块3处理后被应用层IKE模块1收到;
第五步:IPSec模块2对进入的VPN报文进行解封装,即IPSec模块2对进入的VPN报文进行解密处理得到还原后的IP报文,还原后的IP报文最后达到相应的应用程序。
本发明与传统方式相比具有以下优点:
1、采用在应用层实现IPSec的方法,可以避免VPN系统和其它应用程序尤其是网络安全方面的程序的冲突,这极大地提高了VPN系统的网络环境适应性。
2、本发明中由于IPSec工作在应用层,与操作系统的核心没有直接的联系,所以对于VPN系统移植到不同的操作系统具有极其重要的意义。
3、本发明可以兼容NAT协议,能够穿越任何一种常见的NAT设备,而不会引发数据传输问题。
本发明适用于在Windows操作系统、Unix操作系统上进行VPN系统开发,而又面临软件兼容性问题等情况。
附图说明
图1-在应用层对VPN处理的系统框图;
图2-在应用层进行VPN处理实施示意图;
图3-发送报文的详细处理过程流程图;
图4-接收报文的详细处理过程流程图。
其中:
1-IKE模块;
2-IPSec模块;
3-网络协议栈模块;
4-虚拟网卡模块;
5-本地VPN系统;
6-远端VPN系统。
主要缩略语:
Internet-因特网;
VPN(Virtual Private Network)-虚拟专用网;
IPSec(IP Security)-IP层安全协议;
IKE-因特网密钥交换协议;
NAT-网络地址转换;
ESP-安全负载封装。
具体实施方式
下面结合附图进一步说明:
1、在应用层实现VPN协议的系统
(1)IKE模块1
IKE模块1的典型实现是Internet开源软件FreeSWAN;FreeSWAN是一种在Linux操作系统上实现的IPSec和因特网密钥交换协议的软件。
(2)IPSec模块2
IPSec模块2的典型实现是Internet开源软件FreeSWAN;FreeSWAN是一种在Linux操作系统上实现的IPSec和因特网密钥交换协议的软件。
(3)网络协议栈模块3
网络协议栈模块3的典型代表是Windows、UNIX、Linux等网络操作系统。
(4)虚拟网卡模块4
虚拟网卡模块4可以通过查看系统接口和路由来获得虚拟网络接口的信息;如果外出报文经过路由转发交给该虚拟网卡模块4,该虚拟网卡模块4并不实际进行报文的链路发送,而是会把报文提交给应用层,由应用层进行处理。
2、在应用层对VPN报文进行IPSec协议封装的方法
(1)以在应用层实现IPSec协议应用为例,图2体现了VPN通信的全过程。
图2中,第一VPN设备5为一个VPN客户端,第二VPN设备6为一个VPN网关,VPN网关有保护的子网,VPN客户端设备和VPN网关设备建立隧道后要访问VPN网关保护的子网内的资源。按照传统方式实现的IPSec,就有可能和安装了VPN客户端的机器上其它软件产品冲突,从而导致IPSec报文无法顺利通过系统协议栈,在这种情况下,在系统应用层实现的IPSec协议的优势就体现出来了。
(2)如图3,第一VPN设备5对外出VPN报文处理的流程是:
报文发送到虚拟网卡a→IKE调用IPSec对报文处理b→IPSec对报文进行封装c→发送报文d。
所述的报文发送到虚拟网卡a,是第一设备5开始访问第二VPN设备6保护的内部网络资源,外出的原始IP报文被虚拟网卡模块4截获,同时通知应用层IKE模块1;
所述的IKE调用IPSec对报文处理b,是IKE模块1调用IPSec模块2对该外出报文进行处理;
所述的IPSec对报文进行封装c,是IPSec模块2根据相应的安全策略对外出报文进行加密封装;
所述的发送报文d,是将上述处理后的报文转发给网络协议栈模块3,从实际网卡发送出去。
3、如图4,第一VPN设备5对进入的VPN报文处理的流程是:
应用层接收IPSec报文e→调用IPSec模块解封装f→解封装后的报文发送到应用程序g。
所述的应用层接收IPSec报文e,是第一设备5收到的第二VPN设备6回应的VPN报文;
所述的调用IPSec模块解封装f,是应用层调用IPSec模块2对VPN报文做解封装处理;
所述的解封装后的报文发送到应用程序g,是IPSec模块2根据对报文进行解密,并把解密后的报文交给网络协议栈模块3,最后数据到达相应的应用程序。

Claims (4)

1、一种在应用层实现VPN协议的系统,其特征在于:
由依次串联的虚拟网卡模块(4)、网络协议栈模块(3)、IKE模块(1)以及IPSec模块(2)组成;IKE模块(1)分别和IPSec模块(2)、网络协议栈模块(3)互相调用,网络协议栈模块(3)和虚拟网卡模块(4)互相调用;
所述的IKE模块(1),是一种用来进行因特网密钥协商的模块;
所述的IPSec模块(2),是用来对VPN报文进行加密和解密的模块;
所述的网络协议栈模块(3),是Internet网络通信协议栈;
所述的虚拟网卡模块(4),是一种用来对路由转发的报文进行截获并提交到应用层去处理的底层模块;
系统中各个模块的工作关系是:密钥的协商由IKE模块(1)负责处理;外出和进入的VPN报文均由IPSec模块(2)进行相应的加密和解密处理;而网络协议栈(3)负责操作系统接收和发送网络通信报文;虚拟网卡模块(4)在操作系统底层把外出待加密的报文截获并交给应用层进行加密封装和发送处理;外出的报文最终通过网络协议栈模块(3)发送到链路上。
2、一种在应用层对VPN报文进行IPSec协议封装的方法,其特征在于:
如果网络系统中存在一个本地VPN系统,需要和另一个远端VPN系统进行VPN通信,则本地VPN系统发送报文以及接收报文处理流程包括如下步骤:
第一步,本地VPN系统内的计算机开始访问另外一个远端VPN系统保护的内部网络资源,外出的原始IP报文被本地VPN系统的虚拟网卡模块(4)截获,同时通知应用层IKE模块(1),应用层IKE模块(1)收到外出的原始IP报文;
第二步,经过IPSec模块(2)对外出的原始IP报文进行封装;
第三步,经过IPSec模块(2)封装后的报文通过网络协议栈模块(3)发送出去;
第四步,本地应用层IKE模块(1)收到对方发来的进入的VPN报文;
第五步,IPSec模块(2)对进入的VPN报文进行解封装。
3、按权利要求2所述的一种在应用层对VPN报文进行IPSec协议封装的方法,其特征在于:
本地VPN系统对外出的原始IP报文加密处理的流程依次是报文通过路由发送到虚拟网卡模块(4)并提交到应用层,然后在应用层调用IPSec模块(2)对报文加密封装处理,最后交给网络协议栈模块(3)发送IPSec报文。
4、按权利要求2所述的一种在应用层对VPN报文进行IPSec协议封装的方法,其特征在于:
本地VPN系统对进入的IPSec报文解密处理的流程依次是应用层接收IPSec报文,调用IPSec模块(2)解封装,解封装后的报文再通过操作系统网络协议栈模块(3)发送到最终接收应用程序。
CNB2005100194703A 2005-09-22 2005-09-22 在应用层实现vpn协议的系统及其方法 Expired - Fee Related CN100459568C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100194703A CN100459568C (zh) 2005-09-22 2005-09-22 在应用层实现vpn协议的系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100194703A CN100459568C (zh) 2005-09-22 2005-09-22 在应用层实现vpn协议的系统及其方法

Publications (2)

Publication Number Publication Date
CN1937571A CN1937571A (zh) 2007-03-28
CN100459568C true CN100459568C (zh) 2009-02-04

Family

ID=37954845

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100194703A Expired - Fee Related CN100459568C (zh) 2005-09-22 2005-09-22 在应用层实现vpn协议的系统及其方法

Country Status (1)

Country Link
CN (1) CN100459568C (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101197664B (zh) 2008-01-03 2010-12-08 杭州华三通信技术有限公司 一种密钥管理协议协商的方法、系统和装置
CN103840994B (zh) * 2012-11-23 2017-06-06 华耀(中国)科技有限公司 一种用户端通过vpn访问内网的系统及方法
CN103067290B (zh) * 2012-11-30 2016-06-01 成都卫士通信息产业股份有限公司 基于虚拟网卡适应负载均衡网络的vpn隧道实现方法
CN104283977B (zh) * 2013-07-08 2017-12-19 北京思普崚技术有限公司 一种vpn网络中的vpn自动穿越方法
CN105045614A (zh) * 2015-06-29 2015-11-11 浪潮(北京)电子信息产业有限公司 一种实现操作系统安装的方法及系统
CN111200793A (zh) * 2019-12-16 2020-05-26 武汉思为同飞网络技术股份有限公司 一种通用短信平台对接方法、装置、设备及介质
CN111147344B (zh) * 2019-12-16 2021-12-24 武汉思为同飞网络技术股份有限公司 一种虚拟专用网络实现方法、装置、设备及介质
CN114640627B (zh) * 2022-03-10 2024-02-20 网宿科技股份有限公司 报文转发方法及装置、非易失性存储介质、处理器
CN115543661B (zh) * 2022-10-26 2023-08-11 科东(广州)软件科技有限公司 数据分发装置及分发方法、车辆电子操作系统的架构

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1178644A2 (en) * 2000-02-11 2002-02-06 Nokia Inc. Key management methods for wireless lans
CN1399441A (zh) * 2002-06-28 2003-02-26 成都卫士通信息产业股份有限公司 采用基于ip层虚拟专用网建立安全组播隧道的技术
US20050131997A1 (en) * 2003-12-16 2005-06-16 Microsoft Corporation System and methods for providing network quarantine
CN1642109A (zh) * 2004-09-30 2005-07-20 迈普(四川)通信技术有限公司 一种实现通信负载均衡的方法及网关、中心网关

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1178644A2 (en) * 2000-02-11 2002-02-06 Nokia Inc. Key management methods for wireless lans
CN1399441A (zh) * 2002-06-28 2003-02-26 成都卫士通信息产业股份有限公司 采用基于ip层虚拟专用网建立安全组播隧道的技术
US20050131997A1 (en) * 2003-12-16 2005-06-16 Microsoft Corporation System and methods for providing network quarantine
CN1642109A (zh) * 2004-09-30 2005-07-20 迈普(四川)通信技术有限公司 一种实现通信负载均衡的方法及网关、中心网关

Also Published As

Publication number Publication date
CN1937571A (zh) 2007-03-28

Similar Documents

Publication Publication Date Title
CN100459568C (zh) 在应用层实现vpn协议的系统及其方法
CN107018134B (zh) 一种配电终端安全接入平台及其实现方法
JP3641112B2 (ja) パケット中継装置、移動計算機装置、移動計算機管理装置、パケット中継方法、パケット送信方法及び移動計算機位置登録方法
CN103023898B (zh) 一种访问vpn服务端内网资源的方法及装置
CN100576849C (zh) 为安全连接而管理地址翻译的方法和装置
US10021072B2 (en) Security system and communication control method
US7028337B2 (en) Method of virtual private network communication in security gateway apparatus and security gateway apparatus using the same
US7395354B2 (en) Methods and systems for resolving addressing conflicts based on tunnel information
US10454880B2 (en) IP packet processing method and apparatus, and network system
CN117254976B (zh) 基于VPP的国标IPsec VPN实现方法、装置、系统及电子设备
CN112887187B (zh) 一种设备间通信建立方法、系统、装置、设备及介质
JP3491828B2 (ja) 閉域網間接続システムと閉域網間接続方法およびその処理プログラムを記録した記録媒体ならびにホスティングサービスシステム
Chen et al. FogROS2-SGC: A ROS2 Cloud Robotics Platform for Secure Global Connectivity
WO2020228130A1 (zh) 通信设备的网管服务器与网元的通信方法及系统
CN103139189B (zh) 一种IPSec隧道共用方法、系统及设备
US20080181404A1 (en) Encrypted packet communication system
CN113037706A (zh) 摄像头和服务器的数据加解密传送方法及数据传输系统
JP4356262B2 (ja) パケット通信システム
CN115277190B (zh) 一种链路层透明加密系统在网络上实现邻居发现的方法
CN115134806B (zh) IPSec安全加固传输方法、CPE和网络传输系统
CN115277164B (zh) 基于二层组网环境的报文处理方法及装置
JP2008227715A (ja) ネットワークシステム及び通信方法
CN115361181A (zh) 一种使用dpdk和密码卡实现高性能链路加密的方法
CN114338116A (zh) 加密传输方法、装置及sd-wan网络系统
CN114143076A (zh) 一种电力物联网安全防护系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090204

Termination date: 20180922