CN102257760B - 安全远程接入公共通信环境 - Google Patents

安全远程接入公共通信环境 Download PDF

Info

Publication number
CN102257760B
CN102257760B CN200980151045.6A CN200980151045A CN102257760B CN 102257760 B CN102257760 B CN 102257760B CN 200980151045 A CN200980151045 A CN 200980151045A CN 102257760 B CN102257760 B CN 102257760B
Authority
CN
China
Prior art keywords
vpn
user
subscriber equipment
client
request
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
CN200980151045.6A
Other languages
English (en)
Other versions
CN102257760A (zh
Inventor
B.萨达西文
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.)
Yanxing Bideke Co., Ltd.
Original Assignee
Yanxing Bideke 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 Yanxing Bideke Co Ltd filed Critical Yanxing Bideke Co Ltd
Publication of CN102257760A publication Critical patent/CN102257760A/zh
Application granted granted Critical
Publication of CN102257760B publication Critical patent/CN102257760B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

一种方法和系统为用户设备提供通过VPN对企业网络中的企业应用的安全接入。从用户设备接入企业应用,使得其通过VPN客户端来发送和接收数据分组。为此,源自于用户应用的发送分组的请求被与用户应用相关联的VPN代理拦截。VPN代理又将环回接口的地址与用户应用相关联。然后,通过环回接口将由用户应用发送的分组改向至VPN客户端。同样地,通过环回接口将由VPN客户端从企业网络接收到的分组路由到用户应用。

Description

安全远程接入公共通信环境
技术领域
本发明一般地涉及通过虚拟专用网络(VPN)接入安全网络中的远程应用,并且特别地涉及由该远程应用进行的数据传送。
背景技术
网络是出于通信和资源共享的目的被放在一起的硬件和软件的系统。网络包括诸如互连传输介质并控制传输的传输硬件和设备和将数据解码并格式化以及检测并修正传输中的问题的软件之类的资源。目前有多种类型的网络正在使用中。在诸如局域网(LAN)和广域网(WAN)的某些网络中,资源被在物理上相互连接。在诸如虚拟专用网络(VPN)的其它网络中,由通过较大网络路由的虚拟连接来载送资源之间的某些链接。
VPN通常使用公共通信基础设施(诸如因特网)来为远程办公室或单独用户提供对企业网络的安全接入。VPN在通过安全程序和隧道化协议,诸如第二层隧道化协议(L2TP)、安全套接层(SSL)协议和网际协议安全(IPSec)协议来保持私密性的同时通过使用共享公共基础设施来工作。
传统VPN系统要求在用户计算设备上安装并管理称为客户端软件的专用软件以在计算设备中建立使得能够连接到VPN并使用远程应用的模块。由于在用户计算设备上维护软件变得相对昂贵且费时,所以开发了无客户端VPN系统。这些无客户端VPN系统不要求用客户端软件对设备进行预配置。然而,此类无客户端VPN系统单独地受到其对静态端口远程应用的适用性的限制。随着对动态端口应用(诸如网际协议语音(VoIP)和视频会议)的增长需要,实现也能够支持动态端口应用的无客户端VPN接入的方式将是有利的。
发明内容
描述了为用户设备提供通过VPN对企业网络的安全接入的方法和系统。用户设备可以包括VPN客户端和用户应用。用户设备中的代理能够拦截到操作系统服务的对建立源于用户应用的连接的请求,并且能够基于被拦截的请求在代理与VPN客户端应用之间建立通信信道。然后,可以通过环回接口(loop-back interface)使由用户应用发送的分组改向至VPN客户端。VPN客户端能够建立与企业网络的VPN隧道并将数据分组转送到企业网络。同样地,通过环回接口将由VPN客户端从企业网络接收到的分组路由到远程应用。在本发明的一个实施例中,可以将用户应用和VPN客户端动态地下载到用户设备上。VPN客户端能够执行用户设备上的用户应用并将代理与之相关联。
本领域的技术人员在阅读与附图相关联的优选实施例的以下详细说明之后将认识到本发明的范围并实现其附加方面。
附图说明
被结合到本说明书中并构成其一部分的附图举例说明本发明的多个方面并连同说明用于解释本发明的原理。
图1是根据本发明的一个实施例的其中远程用户能够通过VPN来获得远程接入的网络的示例的功能块表示。
图2表示根据本发明的一个实施例的用户计算设备的示例。
图3举例说明示例性VPN客户端应用的工作。
图4举例说明图3的VPN客户端应用的模块。
图5举例说明用于实现VPN客户端应用的示例性方法。
图6表示用于从用户应用向VPN客户端应用传送分组的方法。
图7表示用于从VPN客户端向用户应用传送分组的方法。
具体实施方式
下面阐述的实施例表示将使得本领域的技术人员能够实施本发明并举例说明实施本发明的最佳模式的必要信息。在根据附图来阅读以下说明时,本领域的技术人员将理解本发明的概念并将认识到在本文中未特别提出的这些概念的应用。应理解的是这些概念和应用落在本公开和所附权利要求的范围内。
本发明提供了用于通过虚拟专用网络(VPN)来提供远程接入的方法和设备。所述方法和设备使得用户即使在没有用于用户计算设备的管理特权的情况下也能够使用通过诸如因特网的公共网络连接的用户计算设备来接入企业网络内的资源。
图1示出经由公共网络106与企业网络104通信的示例性用户设备102。用户设备102可以包括各种类型的计算设备,诸如膝上型计算机、个人数字助理(PDA)和个人计算机。用户设备102可以包括可公共接入设备,诸如因特网室、亭等中的设备。
企业网络104和公共网络106可以是无线或有线网络或两者的组合。企业网络104包括被连接在一起以使得能够在企业网络104内传送数据的诸如路由器或交换机的网络元件。企业网络104可以具有许多元件,诸如电子邮件服务器、主机、资源及在本示例中未示出的其它公用网络元件。本发明不限于与以任何特定方式配置的企业网络一起使用,并且因此已经省略了企业网络104的内部结构的细节以避免本发明的混淆。
在优选实施例中,企业网络104包括企业应用108和VPN网关110。VPN网关是众所周知的,并且本发明不限于其中使用特定类型的外部资源的特定实施例。VPN网关110使得用户能够使用用户设备102以安全的方式跨越公共网络106获得对企业网络104的远程接入,诸如通过在用户设备102与企业网络104之间创建VPN隧道。可以在单个服务器或多种服务器中包括企业应用108,所述服务器可以是服务器场或服务器场的一部分。各种类型的服务器是众所周知的,并且本发明不限于其中使用特定类型的服务器的特定实施例。
传统上,当用户想要获得对企业网络的远程接入时,远程用户将需要在将用来接入企业网络的用户计算机上安装VPN客户端。安装的VPN客户端将使得远程计算机能够通过VPN隧道连接到企业网络。现在可用的VPN客户端需要在设备中安装核心水平组件,其要求较高水平的用户特权(例如,管理用户特权)。由于VPN客户端具体地被安装在特定计算机上,所以如果用户想要从不同的计算机获得接入,则用户将需要在该计算机上安装VPN客户端。例如,如果用户希望从家中登录到企业网络104中,则用户将需要在其家庭计算机上安装VPN客户端,并且然后使用VPN客户端来接入企业网络104。如果用户正在在没有其中已经安装了VPN客户端的计算机的情况下旅行,则VPN接入常常是不可行的,因为公共可用设备的管理用户特权通常将不被许可。
为了克服这些限制,根据本发明的实施例,可以使用可动态下载VPN客户端(诸如图1所示的VPN客户端112)来建立VPN隧道。可以从例如网络门户(web portal)或诸如USB驱动器的外部存储设备下载VPN客户端112。在优选实施例中,在VPN客户端112被下载到用户设备102上之前由网络门户或存储设备来对用户进行认证。
通过促使VPN客户端在会话期间被动态地下载,不需要为用户设备102预加载VPN客户端。因此,可以使用具有因特网浏览器的任何计算机来登录到企业网络104中。可以在会话终止时删除动态地下载的组件,使得一旦会话已结束,则可以终止VPN客户端112的组件的可用性。因此,用户将能够甚至从公共可用计算机接入企业网络。
在一个实施例中,可以连同将通过网络接口(web interface)被远程地执行的用户应用114一起下载VPN客户端112。在操作中,可以在认证时为用户提供能够被使得可用于用户的应用的列表。在选择用户应用时,可以将用户应用114和VPN客户端112两者动态地下载到用户设备102。VPN客户端112可以执行用户应用114并将VPN代理116与用户应用114相关联,以便拦截用于建立源自于用户应用114的连接(诸如套接字调用)的请求。
此外,VPN代理116可以建立与VPN客户端112的通信信道以使源自于远程应用114的分组(诸如数据分组)改向。VPN客户端112还建立与VPN网关110的逻辑隧道或VPN隧道以将分组加密并转送。将参考图2~4来详细地解释用户设备102的实施例的各种方面。
图2表示用户设备102的示例。为了便于解释,在其中VPN客户端112已被动态地下载使得用户设备102准备好在公共网络106上使用隧道进行通信的状态下示出图2所示的实施例。如上文所讨论的,一旦会话完成,则可以从计算机去除某些或全部VPN组件以使用户设备102返回正常配置。
在优选实施例中,用户设备102包括中央处理单元(CPU)202、存储器204和网络接口206。CPU 202实现用于存储在存储器204中的处理模块的控制逻辑。存储器204可以包括易失性和非易失性存储器。用户设备102经由网络接口206与公共网络106和企业网络104相交互。网络接口206包括例如物理适配器,其包含被配置为连接到公共网络106上的物理链路和通过VPN客户端112建立的VPN网络的端口。
在操作中,如所讨论的,可以将VPN客户端112和用户应用114动态地下载到用户设备102上。VPN客户端112然后可以将VPN代理116与用户应用114相关联。为此,VPN客户端112执行用户应用114并将VPN代理116与用户应用114相关联,使得VPN代理116拦截由用户应用114生成的到操作系统服务的用于建立连接的请求,诸如套接字调用。套接字调用可以包括关于套接字创建、获得目的地套接字地址等的调用。在一个实施方式中,套接字调用可以是与应用程序接口(API)相交互的调用,诸如由微软公司提供的可在Windows操作系统中使用的WinSock API。
此外,VPN代理116可以建立与VPN客户端112的通信信道。这可以通过将被VPN代理拦截的请求中的目的地地址变成环回接口地址来实现。环回接口是虚拟网络接口,其可以与操作系统集成并用来在没有故意处理或修改的情况下将数据路由回到源实体。用于环回的最常使用的IP地址是用于IPv4的127.0.0.1,但是范围127.0.0.0至127.255.255.255内的任何地址被映射到该地址。环回接口可以被计算机上的网络客户端用来与同一计算机上的应用通信。可以将环回接口208配置为将分组转送到VPN客户端112或用户应用114。
另外,VPN客户端112建立与VPN网关110的逻辑隧道或VPN隧道并接收隧道IP地址。在一个实施例中,隧道IP地址对应于VPN网关110处的代理的和企业应用108的IP地址。
在操作中,当用户应用114将向企业应用108发送分组时,该分组经由环回接口208被改向至VPN客户端 112。VPN客户端然后适当地将分组加密并经由VPN隧道发送分组到VPN网关110。同样地,由VPN客户端112从VPN网关110接收到的分组被经由环回接口208发送到用户应用114。
图3举例说明依照本发明的一个实施例的用户设备102中的示例性VPN客户端112。用户设备102被分配IP地址,其为网络接口206中的物理接口302的IP地址。物理接口302可以是使用户设备102与任何网络对接的网络适配器,诸如网卡。物理接口302可以是由用户设备102的操作系统通过诸如设备驱动器的多种模块支持的有线或无线网络适配器。
如所讨论的,在成功认证时,为用户提供对许多预配置用户应用(其可以位于各种位置处)的接入。在一个实施例中,预配置远程应用可以位于USB设备上。用户可以从预配置用户应用的列表中选择期望的应用,诸如用户应用114。
所选择的用户应用114然后被连同VPN客户端112一起下载到用户设备102上并由VPN客户端112来执行。在VPN客户端112已经在用户设备102上执行的情况下(例如,由于早先已经选择了不同的用户应用),可以不重新下载VPN客户端112。VPN客户端112还发起与用户应用114相关联的VPN代理116。VPN代理的发起可以包括钩子动态链接库(hook DLL)文件到用户应用114的关联。
在执行时,用户应用114可以调动(invoke)系统调用以通过物理接口302来建立通信路径。在一个实施方式中,在Windows操作系统的情况下,执行用户应用114调动WinSock API调用。这些系统或API调用是由用户应用114为了在物理接口302处创建套接字和为了获取目的地网际协议(IP)地址以建立通信路径而生成的。VPN客户端112钩住由用户应用114生成的API调用以使VPN代理116与远程应用114相关联。
钩子(hooking)是通过拦截由应用进行的库函数调用或API调用来充当事件处理程序的编程技术。通常,钩子系统包括两个部分:钩子服务器和诸如Winsock.dll的钩子驱动器。钩子服务器向应用的地址空间中注入钩子驱动器用于拦截API调用。并且,钩子服务器控制钩子驱动器并与之通信。钩子驱动器执行由应用调动的API调用的实际拦截。
表现为钩子服务器的VPN客户端112通过创建VPN代理116并将VPN代理116与远程应用114相关联来执行钩子操作。VPN代理116包括API拦截逻辑,或者换言之用于拦截由远程应用114生成的API调用的一组指令。VPN代理116能够监视由远程应用114发出的套接字API调用并能够将套接字事件传送到VPN客户端112。因此,每当在用户设备102上执行新的用户应用114时,VPN客户端112创建新的VPN代理116并将新的VPN代理116与新的远程应用114相关联。因此,由新的远程应用114生成的WinSock API调用被新的VPN代理116拦截并传送到VPN客户端112。
另外,如所讨论的,VPN代理116经由环回接口208来建立与VPN客户端112的通信信道,并且VPN客户端112建立与VPN网关110的VPN网络连接,诸如SSL隧道。环回接口是使得用户应用114能够通过虚拟接口的IP地址而不是通过物理接口302的IP地址从VPN客户端112发送或接收数据分组的虚拟接口。通过从VPN网关接收隧道的IP地址来建立SSL隧道。当执行第一用户应用114时,可以由VPN客户端112来仅建立SSL隧道一次。随后,每当执行新的用户应用114时,可以在先前创建的SSL隧道中为新的用户应用114建立附加SSL会话。
可以将环回接口208配置为在外出流动(egress flow)期间将分组转送到VPN客户端112,用于将分组从用户应用114发送到企业应用108。参考图3,由1E、2E和3E来描绘外出流动期间的分组所遵循的路径。
在一个实施方式中,VPN代理116将由用户应用114生成的分组的目的地地址变成环回接口208的IP地址,同时分组的源地址仍然是物理接口302的地址。结果,分组被从物理接口302路由到环回接口208。可以将环回接口208配置为将从物理接口302接收到的分组发送到VPN客户端112。VPN客户端112在对应于环回接口208的套接字处侦听以接收分组。 
在VPN客户端112处,将分组的源IP地址修改为由VPN网关110提供的代理源IP地址。经修改的分组的源IP地址表现为SSL隧道的一个末端的IP地址。并且,分组的目的地IP地址被修改为由VPN网关110提供的虚拟目的地IP地址。经修改的分组的目的地IP地址对应于企业网络104中的企业应用108的IP地址并表现为SSL隧道的另一端的IP地址。
然后由VPN客户端12使用SSL协议将具有已修改源和目的地IP地址的分组(在下文中称为已修改分组)封装并加密以便通过SSL隧道传输到企业应用108。为封装的SSL分组提供了作为源IP地址的物理接口302的IP地址和作为目的地IP地址的VPN网关110的物理IP地址以便传输。因此,分组被从物理接口302传送到VPN网关110。在从用户设备102接收到分组之后,VPN网关100可以打开分组并将分组转送到企业应用108。
同样地,在进入流动期间,可以由用户应用114通过VPN客户端112和环回接口208从企业应用108接收分组。参考图3,由1I,2I和3I来描绘进入流动期间的分组所遵循的路径。
在实施方式中,在进入流动期间,环回接口208从VPN客户端112接收分组并将分组路由到用户应用114。用户应用114在等待来自企业应用108的连接请求的同时调动侦听事件,对于该侦听事件而言,用户应用114调动诸如WinSock API调用的API调用以将用户应用114的状态传送到企业应用108。API调用被VPN代理116拦截,其将套接字侦听信息传送到VPN客户端112。VPN客户端112在其通过隧道从企业应用108接收到连接请求时通过环回接口208向用户应用发起连接请求。
作为回报,企业应用108向VPN网关110发送响应分组。VPN网关110将响应分组加密并向响应分组添加报头以便通过SSL隧道来发送响应分组。由VPN网关110添加的报头包含作为目的地地址的用户设备102的隧道IP地址。VPN客户端112接收这些响应分组。
在接收到响应分组时,VPN客户端112打开响应分组并通过环回接口208将打开的响应分组(URP)转送到用户应用114。为此,可以将环回接口208配置在对应于用户应用114的物理接口302上将从VPN客户端112接收到的分组转送到套接字地址。物理接口302如进入流动3I所描绘的那样将分组发送到用户应用114。
如所讨论的,在数据分组的外出流动和进入流动两者期间,VPN代理116动态地将关于环回接口208和物理接口302的套接字侦听信息传送到VPN客户端112。因此,VPN客户端112不必被预先配置为在几个静态端口处进行侦听。结果,系统能够支持使用动态端口的应用,诸如VoIP、视频会议等。
图4举例说明示例性VPN客户端112中的模块。在一个实施例中,VPN客户端112包括控制模块402、数据处理模块404、套接字条目映射模块406、传输控制协议/网际协议栈(TCP/IP)408和隧道处理模块410。
在用户的成功认证时,向用户显示到预配置用户应用的链接。用户可以从在用户设备102上显示的链接中选择多个用户应用。对于由用户选择的诸如用户应用114的第一用户应用而言,将用户应用连同VPN客户端112一起下载到用户设备102。然后,响应于用户的选择单独地下载仅仅用户应用。
VPN客户端112使用控制模块402来执行下载的用户应用。控制模块402可以使分离的VPN代理116与由用户选择的每个远程应用114相关联。如所讨论的,VPN代理116在执行时拦截由关联远程应用114调动的WinSock API调用。控制模块402还可以建立每个VPN代理116与VPN客户端112之间的通信信道。可以建立通信信道以便传送诸如套接字创建、删除和修改的套接字事件。每个VPN代理116又创建用于将分组从关联的用户应用114改向到VPN客户端112的环回接口208。此外,控制模块402可以在用户设备102与VPN网关110之间建立用于数据的安全传输的隧道。通过环回接口208和VPN客户端112在用户设备102中的用户应用114与VPN网关110之间传输数据分组形式的数据。
VPN客户端112使用数据处理模块404来从或向环回接口208接收和/或发送数据分组。数据处理模块404可以使用在诸如用操作系统创建的套接字的真实套接字与诸如在VPN隧道中创建的套接字的隧道套接字之间的映射以用于数据分组的传输。
套接字条目映射模块406可以包含具有关于真实套接字和隧道套接字的信息(诸如套接字的IP地址)的条目。这些条目允许数据处理模块404识别适当环回接口,必须通过该适当环回接口路由数据分组。
TCP/IP栈408处理关于诸如报头准备和修改的各种功能的协议和用于发送和/或接收数据分组的定时。此外,TCP/IP栈408提供用于数据处理模块404的接口。
通过隧道处理模块410来处理封装数据分组的封装、打开以及传输和接收。例如,隧道处理模块410可以用其SSL报头将数据分组加密和封装,使得它们可以被转送到VPN网关110。隧道处理模块410还可以打开数据分组并将其转送到数据处理模块404以便传输到用户应用114。
因此,控制模块402、数据处理模块404、套接字映射条目406、TCP/IP栈408和隧道处理模块410一起工作以通过隧道使得数据分组改向。
图5是举例说明用于实现VPN客户端112的示例性方法500的流程图,而图6是描绘用于将分组从用户应用114传送到VPN客户端112的方法600的流程图。可以在计算机可执行指令的一般背景下描述这些示例性方法。通常,计算机可执行指令可以包括例行程序、程序、对象、组件、数据结构、程序、模块、函数等,其执行特定功能或实现特定的抽象数据类型。可以将计算机可执行指令存储在计算机可读介质上,并且可以加载或嵌入适当的设备中以便执行。
在方框502处开始方法500,其中,由用户接入VPN门户链接,诸如能够通过网页浏览器来接入的企业网络的网络门户。在另一示例中,可以通过网页浏览器从企业网络104的网络门户接入VPN客户端112。
在方框504处,在VPN网关110上对用户进行认证。为了向企业应用108提供安全且受限的接入,可以通过使用多种技术在VPN网关110上对用户进行认证。例如,可以借助于专用用户名和口令在VPN网关110上对用户进行认证。用户的认证还促进VPN网关110识别用户被授权接入的企业应用。
在方框506处,用户选择用于被期望执行的用户应用114的用户应用链接。当在VPN网关110上成功认证用户时,可以从用户已被授权接入的多个用户应用中选择期望的用户应用114。
在方框508处,下载并执行经由链接选择的VPN客户端112和用户应用。由VPN客户端112来执行所选择的用户应用114以便执行必需的功能。在步骤504至508的替换实施方式中,VPN客户端112以及用户应用114可以位于中间设备中。例如,其可以位于通用串行总线(USB)设备中。另外,此类设备可以包括用于在步骤504中认证用户的附加标记。
在方框510处,可以将VPN代理116与用户应用114附着。例如,VPN客户端112可以发起由用户应用114生成的套接字API调用的钩子操作以将VPN代理116与之相关联。VPN代理116是包括API拦截逻辑的模块。换言之,VPN代理116适合于拦截API调用,诸如Windows平台中的WinSock API调用。
在方框512处,在用户应用114与VPN客户端112之间建立通信信道。在实施方式中,与用户应用114附着的VPN代理116促进通过使用多种技术通过环回接口208在用户应用114与VPN客户端112之间建立通信信道。例如,VPN代理116可以采用通过Winsock API调用来创建套接字的功能,提供有用于建立通信信道的Windows操作系统。
在方框514处,在VPN客户端112与VPN网关110之间建立逻辑隧道。VPN客户端112建立到VPN网关110的逻辑隧道以通过使用多种已知技术在VPN客户端112与企业网络104中的企业应用108之间提供通信信道。
在方框516处,接收隧道的IP地址以便与企业应用108通信。为了促进用户设备102与企业网络104之间的通信,由VPN客户端112从VPN网关110接收隧道的IP地址。
描述方法500的顺序并不意图被理解为限制,并且可以按照任何顺序将任何数目的所述方法方框组合以实现该方法或替换方法。另外,在不脱离在此所描述的主题的精神和范围的情况下,可以从所述方法删除单独的方框。此外,可以在任何适当的硬件、软件、固件或其组合中实现所述方法。
图6举例说明从用户应用114向VPN客户端112传送分组的方法600,其中,用户应用114请求建立与企业应用108的连接。
在方框602处,与用户应用114相关联的VPN代理116拦截来自用户应用114的请求以建立与企业应用108的连接。通常,为了发送或接收分组,用户应用114需要与物理适配器或接口302相连。用户应用114需要在发送分组之前在物理接口302中创建套接字。用户应用114通常通过发起套接字调用来与物理接口302相交互。例如,在Windows平台环境中,用户应用114生成Winsock API调用以请求物理接口302创建用于传送数据业务的套接字。此外,调用包括向物理接口302以确定分组将被发送到的目的地的IP地址的请求。源自于用户应用114的获得目的地地址的此请求在方法600的方框602处被VPN代理116拦截。
在方框604处,响应于对目的地地址的请求,VPN代理116创建环回接口208。这可以通过将建立连接的请求中的目的地IP地址变成环回接口地址来实现。然后,环回接口208能够充当中间模块,该中间模块可以暂时保持分组并使其改向至用户设备102内的预定位置或应用。在方框606中,VPN代理向VPN客户端发送侦听被寻址至环回接口208的分组的请求。
在方框608中,源自于用户应用114的分组被分配环回接口208的地址作为目的地地址。因此,分组现在被改向至环回接口208。
在方框610中,VPN客户端接收最初目的地是企业应用108的分组,并且在分组到达环回接口208处时,分组被转送到VPN客户端112。
图7举例说明从VPN客户端112向用户应用114传送分组的方法700,其中,企业应用118请求建立与用户应用114的连接。
在方框702处,与用户应用114相关联的VPN代理116拦截来自用户应用114的使得能够侦听要连接的其它应用的请求。此请求可以包括到物理接口302的Winsock API调用。
在方框704处,VPN代理请求VPN客户端经由环回接口208将其从企业应用108接收到的请求转送到用户应用114。
在方框706处,企业应用108通过在VPN客户端112与VPN网关110之间建立的隧道来发送连接请求。
在方框708处,VPN客户端112通过环回接口208发起与用户应用114的连接。
描述方法600和700的顺序并不意图被理解为限制,并且可以按照任何顺序将任何数目的所述方法方框组合以实现该方法或替换方法。另外,在不脱离在此所描述的主题的精神和范围的情况下,可以从所述方法删除单独的方框。此外,可以在任何适当的硬件、软件、固件或其组合中实现所述方法。

Claims (21)

1.一种用于在用户设备上的用户应用与企业网络上的企业应用之间建立连接的用户设备中的方法,该方法包括步骤:
由在用户设备上实例化并且单独地与用户设备上的用户应用关联的VPN代理来拦截到用户设备的操作系统服务的用于建立连接的请求,所述请求源自于用户设备上的用户应用;以及
基于被拦截的请求在用户设备内建立通信信道,该通信信道被配置仅仅处理与用户应用关联的业务并且在与用户应用关联的VPN代理和被配置实现VPN隧道以安全地从用户设备到企业网络传送业务的VPN客户端之间延伸,VPN代理和VPN客户端位于用户设备上。
2.权利要求1的方法,其中,所述请求包括套接字应用程序接口(API)调用。
3.权利要求1的方法,其中,在VPN客户端与VPN代理之间建立通信信道的步骤包括在VPN客户端与VPN代理之间创建环回接口。
4.权利要求3的方法,其中,所述环回接口的创建包括将请求中的目的地地址变成环回接口地址。
5.权利要求4的方法,还包括由VPN代理向VPN客户端请求在环回接口中进行侦听的步骤。
6.权利要求1的方法,其中,所述VPN代理通过VPN客户端与用户应用相关联。
7.权利要求1的方法,其中,VPN代理的拦截步骤包括对用于创建套接字的应用程序接口(API)调用进行钩子操作。
8.权利要求1的方法,其中,所述请求包括套接字应用程序接口(API)调用;以及
其中,在VPN客户端与VPN代理之间建立通信信道的步骤包括在VPN客户端与VPN代理之间创建环回接口,该环回接口被实现为虚拟接口,其使得用户应用能够通过该虚拟接口的IP地址而不是通过物理接口的IP地址来从VPN客户端发送或接收数据分组。
9.一种用于通过VPN客户端从用户应用向企业应用传送数据分组的用户设备中的方法,所述方法包括步骤: 
将数据分组的目的地地址变成环回接口地址以使得在被配置成仅仅处理与用户应用关联的业务的通信信道上传送所述数据分组,该通信信道在在用户设备上实例化并且单独地与用户应用关联的VPN代理和VPN客户端之间延伸,所述环回接口地址已经响应于所述VPN代理拦截到操作系统服务的用于建立与企业应用的连接的请求而与用户应用相关联,所述请求源自于用户应用;以及 
将数据分组经由通信信道转送到VPN客户端。
10.权利要求9的方法,还包括将环回接口地址映射到与VPN隧道相关联的地址的步骤。
11.权利要求10的方法,还包括依照所述映射使用传送控制协议/网际协议(TCP/IP)栈来准备数据分组以便由隧道进行传输的步骤。
12.一种用于通过用户设备上的虚拟专用网络(VPN)客户端在企业网络上的企业应用与用户设备上的用户应用之间建立连接的用户设备中的方法,所述方法包括步骤: 
由在用户设备上实例化并且单独地与用户设备上的用户应用关联的VPN代理来拦截到用户设备的操作系统服务的使得能够侦听其它应用的与用户设备上的用户应用相连接的请求的请求,所述请求源自于用户应用; 
由VPN代理向VPN客户端请求转送来自企业应用的连接请求; 
由VPN客户端通过VPN隧道接收来自企业应用的连接请求;以及 
基于接收到的连接请求在VPN客户端与VPN代理之间的用户设备内建立通信信道,该通信信道被配置仅仅处理与用户应用关联的业务并且在与用户应用关联的VPN代理和与VPN隧道关联的VPN客户端之间延伸,VPN代理和VPN客户端位于用户设备上。
13.权利要求12的方法,其中,到操作系统服务的请求包括套接字应用程序接口(API)调用。
14.权利要求12的方法,其中,在VPN客户端与VPN代理之间建立通信信道的步骤包括在VPN客户端应用与VPN代理之间创建环回接口。
15.权利要求12的方法,其中,所述VPN代理通过VPN客户端与用户应用相关联。
16.权利要求12的方法,其中,VPN代理的拦截步骤包括对用于创建套接字的应用程序接口(API)调用进行钩子操作。
17.一种用于远程虚拟专用网络(VPN)接入企业应用的系统,包括: 
企业网络,其包括企业应用;以及 
用户设备,其中,所述用户设备包括VPN代理,其在用户设备上实例化并且单独地与用户设备上的用户应用关联并且适合于拦截到用户设备的操作系统服务的用于建立从在用户设备上执行的用户应用到企业应用的连接的请求并基于被拦截的请求在用户设备内建立通信信道,该通信信道被配置仅仅处理与用户应用关联的业务并且在与用户应用关联的VPN代理和被配置实现VPN隧道以安全地从用户设备到企业网络传送业务的VPN客户端之间延伸,VPN代理和VPN客户端位于用户设备上。
18.权利要求17的系统,其中,所述请求包括套接字应用程序接口(API)调用。
19.权利要求17的系统,其中,所述VPN代理还适合于在VPN客户端应用与VPN代理之间创建环回接口。
20.权利要求19的系统,其中,所述VPN代理还适合于请求VPN客户端在环回接口中进行侦听。
21.权利要求17的系统,其中,所述VPN代理通过VPN客户端与用户应用相关联。
CN200980151045.6A 2008-12-17 2009-12-16 安全远程接入公共通信环境 Expired - Fee Related CN102257760B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN3174CH2008 2008-12-17
IN3174/CHE/2008 2008-12-17
PCT/CA2009/001834 WO2010069058A1 (en) 2008-12-17 2009-12-16 Secure remote access public communication environment

Publications (2)

Publication Number Publication Date
CN102257760A CN102257760A (zh) 2011-11-23
CN102257760B true CN102257760B (zh) 2015-01-21

Family

ID=42267812

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980151045.6A Expired - Fee Related CN102257760B (zh) 2008-12-17 2009-12-16 安全远程接入公共通信环境

Country Status (9)

Country Link
US (2) US8893260B2 (zh)
EP (1) EP2359529A4 (zh)
JP (1) JP5620400B2 (zh)
KR (1) KR20110098824A (zh)
CN (1) CN102257760B (zh)
BR (1) BRPI0922997A8 (zh)
CA (1) CA2746341A1 (zh)
RU (1) RU2533063C2 (zh)
WO (1) WO2010069058A1 (zh)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9680660B2 (en) * 2007-12-20 2017-06-13 Ncr Corporation Self-service terminal
US8897134B2 (en) * 2010-06-25 2014-11-25 Telefonaktiebolaget L M Ericsson (Publ) Notifying a controller of a change to a packet forwarding configuration of a network element over a communication channel
CN102377629B (zh) 2010-08-20 2014-08-20 华为技术有限公司 终端穿越私网与ims核心网中服务器通信的方法、装置及网络系统
CN104168173B (zh) * 2010-08-20 2018-01-16 华为技术有限公司 终端穿越私网与ims核心网中服务器通信的方法、装置及网络系统
US20120079122A1 (en) * 2010-09-24 2012-03-29 Research In Motion Limited Dynamic switching of a network connection based on security restrictions
US9160693B2 (en) 2010-09-27 2015-10-13 Blackberry Limited Method, apparatus and system for accessing applications and content across a plurality of computers
US8806569B2 (en) * 2011-02-07 2014-08-12 Tufin Software Technologies Ltd. Method and system for analyzing security ruleset by generating a logically equivalent security rule-set
US9578030B2 (en) 2011-02-07 2017-02-21 Tufin Software Technologies Ltd. Method and system for analyzing security ruleset by generating a logically equivalent security rule-set
CN102281161B (zh) * 2011-09-15 2014-04-16 浙江大学 多代理vpn隧道并发测试系统及多代理负载均衡方法
KR20140123473A (ko) * 2011-10-03 2014-10-22 단테크 시스템즈 엘엘씨 네트워크 어플리케이션에 기반한 인트라넷
US8930492B2 (en) 2011-10-17 2015-01-06 Blackberry Limited Method and electronic device for content sharing
US9015809B2 (en) 2012-02-20 2015-04-21 Blackberry Limited Establishing connectivity between an enterprise security perimeter of a device and an enterprise
CN103631643B (zh) * 2012-08-24 2017-11-10 腾讯科技(深圳)有限公司 一种应用程序联网控制方法及系统
US20140096230A1 (en) * 2012-09-25 2014-04-03 Openpeak Inc. Method and system for sharing vpn connections between applications
US9432336B2 (en) * 2013-02-13 2016-08-30 Blackberry Limited Secure electronic device application connection to an application server
US9246820B1 (en) 2013-07-01 2016-01-26 Juniper Networks, Inc. Methods and apparatus for implementing multiple loopback links
EP2846586B1 (en) * 2013-09-06 2018-11-28 Fujitsu Limited A method of accessing a network securely from a personal device, a corporate server and an access point
CN105337831B (zh) * 2014-08-08 2018-10-09 华为技术有限公司 虚拟专用网络的实现方法及客户端设备
CN104159231A (zh) * 2014-08-19 2014-11-19 北京奇虎科技有限公司 客户端后台流量的优化方法及客户端
US8938547B1 (en) * 2014-09-05 2015-01-20 Openpeak Inc. Method and system for data usage accounting in a computing device
US9148408B1 (en) 2014-10-06 2015-09-29 Cryptzone North America, Inc. Systems and methods for protecting network devices
US9906497B2 (en) 2014-10-06 2018-02-27 Cryptzone North America, Inc. Multi-tunneling virtual network adapter
KR102289124B1 (ko) * 2015-01-07 2021-08-11 에스케이 텔레콤주식회사 사물통신의 보안을 위한 가상 사설망 구성방법 및 그를 위한 장치
KR101966574B1 (ko) * 2015-02-05 2019-04-05 크리프트존 노스 아메리카, 아이엔씨. 멀티-터널링 가상 네트워크 어댑터
WO2016153935A1 (en) * 2015-03-20 2016-09-29 Mobile Iron, Inc. Converting mobile traffic between ip vpn and transport level vpn
CN104717119B (zh) * 2015-04-09 2018-02-13 烽火通信科技股份有限公司 实现l2 vpn与l3 vpn桥接的方法及系统
US9866519B2 (en) 2015-10-16 2018-01-09 Cryptzone North America, Inc. Name resolving in segmented networks
CN105516641A (zh) * 2015-12-08 2016-04-20 四川信息职业技术学院 基于云技术和移动互联技术的移动式会议系统
US9628444B1 (en) 2016-02-08 2017-04-18 Cryptzone North America, Inc. Protecting network devices by a firewall
US10412048B2 (en) 2016-02-08 2019-09-10 Cryptzone North America, Inc. Protecting network devices by a firewall
US10333962B1 (en) 2016-03-30 2019-06-25 Amazon Technologies, Inc. Correlating threat information across sources of distributed computing systems
US10178119B1 (en) 2016-03-30 2019-01-08 Amazon Technologies, Inc. Correlating threat information across multiple levels of distributed computing systems
US10079842B1 (en) 2016-03-30 2018-09-18 Amazon Technologies, Inc. Transparent volume based intrusion detection
US10142290B1 (en) 2016-03-30 2018-11-27 Amazon Technologies, Inc. Host-based firewall for distributed computer systems
US10148675B1 (en) 2016-03-30 2018-12-04 Amazon Technologies, Inc. Block-level forensics for distributed computing systems
US10320750B1 (en) * 2016-03-30 2019-06-11 Amazon Technologies, Inc. Source specific network scanning in a distributed environment
US10412070B2 (en) * 2016-06-21 2019-09-10 Noa, Inc. Method and apparatus of implementing a VPN tunnel
RU2642365C1 (ru) * 2016-07-21 2018-01-24 Олег Александрович Кузнецов Способ телемеханического контроля и управления удаленными объектами
CN107770776A (zh) * 2016-08-18 2018-03-06 阿里巴巴集团控股有限公司 Wifi安全防护系统、无线网络防护方法、装置及电子设备
WO2018133931A1 (en) * 2017-01-18 2018-07-26 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for service provision in a communication network
US10511599B2 (en) * 2017-03-13 2019-12-17 Microsoft Technology Licensing, Llc System to filter impossible user travel indicators
US10794093B2 (en) 2017-05-19 2020-10-06 Microsoft Technology Licensing, Llc Method of optimizing memory wire actuator energy output
CN109561010B (zh) 2017-09-26 2020-11-20 北京金山安全软件有限公司 一种报文处理方法、电子设备及可读存储介质
CN109889468B (zh) * 2017-12-06 2022-06-14 腾讯科技(武汉)有限公司 网络数据的传输方法、系统、装置、设备及存储介质
US10805113B2 (en) 2018-08-07 2020-10-13 Dh2I Company Application transmission control protocol tunneling over the public internet
US11165891B2 (en) 2018-08-27 2021-11-02 Dh2I Company Highly available transmission control protocol tunnels
US11677584B2 (en) 2019-06-17 2023-06-13 Dh2I Company Application TCP tunneling over the public internet
US11575757B2 (en) 2019-06-17 2023-02-07 Dh2I Company Cloaked remote client access
US11283782B2 (en) * 2019-11-26 2022-03-22 Hewlett Packard Enterprise Development Lp ISO layer-two connectivity using ISO layer-three tunneling
US11765146B2 (en) * 2020-08-25 2023-09-19 Cisco Technology, Inc. Partial packet encryption for encrypted tunnels
US11563802B2 (en) 2020-11-06 2023-01-24 Dh2I Company Systems and methods for hierarchical failover groups
CN112637034A (zh) * 2020-12-18 2021-04-09 中国农业银行股份有限公司 一种访问应用程序的方法及装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6381631B1 (en) * 1999-06-03 2002-04-30 Marimba, Inc. Method and apparatus for controlling client computer systems
US6678734B1 (en) * 1999-11-13 2004-01-13 Ssh Communications Security Ltd. Method for intercepting network packets in a computing device
US7216173B2 (en) * 2001-06-12 2007-05-08 Varian Medical Systems Technologies, Inc. Virtual private network software system
US20030131245A1 (en) * 2002-01-04 2003-07-10 Michael Linderman Communication security system
US20030172264A1 (en) * 2002-01-28 2003-09-11 Hughes Electronics Method and system for providing security in performance enhanced network
US6826627B2 (en) * 2002-09-03 2004-11-30 Burnbag, Ltd. Data transformation architecture
US8244875B2 (en) * 2002-12-13 2012-08-14 ANXeBusiness Corporation Secure network computing
US7448080B2 (en) * 2003-06-30 2008-11-04 Nokia, Inc. Method for implementing secure corporate communication
US7624438B2 (en) * 2003-08-20 2009-11-24 Eric White System and method for providing a secure connection between networked computers
RU2316126C2 (ru) * 2003-08-29 2008-01-27 Нокиа Корпорейшн Персональный удаленный межсетевой экран
US6926199B2 (en) * 2003-11-25 2005-08-09 Segwave, Inc. Method and apparatus for storing personalized computing device setting information and user session information to enable a user to transport such settings between computing devices
EP1575238A1 (en) * 2004-03-08 2005-09-14 Nokia Corporation IP mobility in mobile telecommunications system
US7568047B1 (en) * 2004-04-30 2009-07-28 Nortel Networks Limited Method and apparatus for adaptive service label management
US7757074B2 (en) * 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
EP1771998B1 (en) * 2004-07-23 2015-04-15 Citrix Systems, Inc. Systems and methods for optimizing communications between network nodes
US7574510B2 (en) * 2004-07-30 2009-08-11 Nokia Corporation Systems, nodes, and methods for dynamic end-to-end session-enhancing services for transport-level-based connections
US7581005B2 (en) * 2005-01-20 2009-08-25 Citrix Systems, Inc. Systems and methods for preserving transport layer protocol options
US8397287B2 (en) * 2006-08-21 2013-03-12 Citrix Systems, Inc. Method and system for authorizing a level of access of a client to a virtual private network connection, based on a client-side attribute
JP4628938B2 (ja) * 2005-12-02 2011-02-09 三菱電機株式会社 データ通信システム、端末装置およびvpn設定更新方法
US20070150946A1 (en) * 2005-12-23 2007-06-28 Nortel Networks Limited Method and apparatus for providing remote access to an enterprise network
US8561155B2 (en) * 2006-08-03 2013-10-15 Citrix Systems, Inc. Systems and methods for using a client agent to manage HTTP authentication cookies
US7734792B2 (en) * 2007-07-25 2010-06-08 Novell, Inc. Secure tunnel domain name management
CN101981887B (zh) * 2008-01-26 2016-02-10 思杰系统有限公司 用于配置和细粒度策略驱动web内容检测和重写的系统和方法

Also Published As

Publication number Publication date
BRPI0922997A8 (pt) 2016-09-27
EP2359529A4 (en) 2013-01-09
CN102257760A (zh) 2011-11-23
KR20110098824A (ko) 2011-09-01
RU2011124586A (ru) 2013-01-27
RU2533063C2 (ru) 2014-11-20
JP5620400B2 (ja) 2014-11-05
US20140366122A1 (en) 2014-12-11
JP2012512573A (ja) 2012-05-31
US20100161960A1 (en) 2010-06-24
CA2746341A1 (en) 2010-06-24
BRPI0922997A2 (pt) 2016-01-26
WO2010069058A1 (en) 2010-06-24
EP2359529A1 (en) 2011-08-24
US8893260B2 (en) 2014-11-18

Similar Documents

Publication Publication Date Title
CN102257760B (zh) 安全远程接入公共通信环境
CN103023898B (zh) 一种访问vpn服务端内网资源的方法及装置
EP1413094B1 (en) Distributed server functionality for emulated lan
JP3819295B2 (ja) ユーザによって構成可能なファイアウォールを有する公衆網アクセス・サーバ
EP1774438B1 (en) System and method for establishing a virtual private network
CN104506670B (zh) 建立网游连接的方法、设备及系统
US8340103B2 (en) System and method for creating a secure tunnel for communications over a network
US7711830B2 (en) Sharing a shared resource across logical partitions or systems
JP4146886B2 (ja) 通信モジュール及びこの通信モジュールを備えたアプリケーションプログラム
CN106209838B (zh) Ssl vpn的ip接入方法及装置
US20090222906A1 (en) Computer communication system for communication via public networks
US10516652B1 (en) Security association management
CN111245699B (zh) 远程通信服务控制方法、服务器及客户端
JP2003531539A (ja) 移動体データ通信用の安全な動的リンク割り当てシステム
JP2003023420A (ja) 信頼されないアクセス局を介した通信方法
JP2008507929A (ja) プライベートネットワークへの遠隔アクセスを安全にする方法およびシステム
CN105100095A (zh) 移动终端应用程序安全交互方法及装置
JP2009100064A (ja) 無線lanの通信方法及び通信システム
US20080270795A1 (en) Method to create an osi network layer 3 virtual private network (vpn) using an http/s tunnel
US7616625B1 (en) System and method for selective enhanced data connections in an asymmetrically routed network
KR102386386B1 (ko) 단말기의 선택적 vpn 연결 기능을 갖는 공유기 및 이를 이용한 단말기의 vpn 연결 방법
EP1413095B1 (en) System and method for providing services in virtual private networks
Odagiri et al. Functional Extension for Solving the Loophole Problem of DACS Scheme
WO2003003660A1 (en) System and method for establishment of virtual private networks using transparent emulation clients

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NORTEL NETWORKS CO., LTD.

Free format text: FORMER OWNER: NORTEL NETWORKS LTD.

Effective date: 20121102

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20121102

Address after: American New York

Applicant after: Yanxing Bideke Co., Ltd.

Address before: Quebec

Applicant before: NORTEL NETWORKS LTD [CA]

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150121

Termination date: 20151216

EXPY Termination of patent right or utility model