利用异地Socks5技术改善移动SSLVPN性能的方法

文档序号:7716202阅读:422来源:国知局
专利名称:利用异地Socks5技术改善移动SSL VPN性能的方法
技术领域
本发明涉及一种基于SSL的无线接入系统,主要应用于GPRS/CDMA等公共移动网络环境,特别是一种利用异地Socks5代理技术实现的改善移动SSLVPN性能的方法及其实现系统。
背景技术
目前,无线移动的安全接入一般借用IPSEC VPN或者SSL VPN技术,然而IPSECVPN和SSLVPN技术最早都是针对固定网络的安全问题而提出的。因此,相对于固定网络,移动网络还有更多的问题需要解决。 由于信号的不稳定,移动网络的传输能力很不稳定,有时甚至会掉线,而且,移动终端在不同移动网路之间切换时,终端与局端之间的连接也会中断,从而影响传输性能和用户体验。同时,移动VPN还需要考虑移动IP的问题。 另外,移动终端设备本身CPU处理能力较弱,体积小易丢失,各个移动操作系统差别较大,有些移动操作系统如symbain甚至没有开放网络底层接口 。 针对移动网络的这些问题,目前比较流行是采用IPSec与Mobile-IP相结合的方法,Mobile-IP隐藏了 IP地址变化对IPSec的影响,然而这种方法要求传输层来实现数据流控制和会话恢复功能,增加了系统的复杂性,而且无法在不开放网络底层接口的移动终端系统上实现。

发明内容
为了克服现有的移动VPN系统无法容易实现移动网络中不间断的安全传输的不足,本发明提供一种新的移动VPN解决方案,使用高效简便的方法保证应用程序与应用服务器之间的不间断安全传输,而且能够方便的实现在不同的移动终端平台上。
本发明为解决其技术问题采用以下技术方案 —种利用异地Socks5代理技术实现的改善移动SSLVPN性能的方法,该方法包括 在移动客户端安装Socks5数据转发以及SSL VPN终端单元;在服务器端安装Socks5代理逻辑处理单元以及SSL VPN局端单元;终端单元和局端单元建立SSL (SecureSocketLayer)连接;配置移动终端代理设置,使其代理数据重定向到本地Socks5数据转发单元,数据由VPN通道传输;服务器端解析代理逻辑与后台应用挂接。 上述方案中,所述终端单元与局端单元建立SSL连接时,SSL VPN通道建立在无线环境中,连接建立后还需通过身份鉴权以获得可访问应用服务列表。 上述方案中,所述移动客户端安装Socks5数据转发单元以及SSL VPN终端单元时,转发单元对于客户端发起的包括Socks5代理请求、Socks5鉴权流程信息以及所需转发的应用数据在内的所有数据包全部通过SSL VPN通道进行转发。 上述方案中,所述服务器端安装Socks5代理逻辑处理单元以及SSLVPN局端单元时,代理逻辑处理单元对从SSL VPN通道接收到的Socks5代理请求进行解析以确定代理属性从而与对应后台应用服务通信。 上述方案中,所述VPN终端利用时间片轮询方式实现会话复用。 上述方案中,所述VPN局端利用多线程和匿名管道实现会话复用。 作为实现本发明方案的应用环境,上述方法的实现系统是一种异构式的基于
Socks5代理技术的SSLVPN系统,该系统总体由服务器端和客户端终端转发平台组成 服务器端,包含Socks5代理与应用挂接单元、服务器端应用服务(后台应用服务)
与VPN局端平台。其中,作为数据传输平台的VPN局端包含局端VPN单元和Socks5代理转
发单元。 客户端终端,包含移动SSL VPN终端设备、客户端应用、Socks5数据转发单元。其中,移动SSL VPN终端设备包含终端VPN单元和Socks5代理单元,它是移动终端,采用在应用层级别上利用Socks5协议进行数据转发搭建安全接入VPN的方式。
服务器端与客户端终端建立SSL连接;通过建立SSL VPN通道实现连接通信。
另外,从客户端终端应用到服务器端应用被异地的Socks5代理中继分为三段TCP连接;Socks代理的逻辑和访问控制由局端来完成,终端代理只负责数据转发。这三段TCP连接分别为 (1)终端应用程序到VPN终端;
(2) VPN终端到VPN局端;
(3)VPN局端到内网服务器。 其中,上述连接(1)和连接(3)均为固网连接,连接(2)包含移动网络连接。对连接(2)进行优化以适应无线网络环境的不稳定性。 针对上述连接(2) ,VPN终端到VPN局端的连接,利用队列缓存机制,在无线连接中断期间自动按顺序缓存用户数据,连接重新恢复后继续传输。 本发明的有益效果是,可以在不同类型的移动终端上,通过不同类型的公共移动网络,实现安全接入和不间断数据安全传输;工作在应用层,系统容易实现。


图1为本发明方法中局端与终端交互流程图。
图2为本发明方法中终端工作流程图。 图3为本发明方法中局端工作流程图。 图4为本发明方法应用时的系统总体框架示意图。
具体实施例方式
以下结合附图和具体实施例以进一步说明本发明,但不用来限制本发明的范围。
本发明方法在具体应用时包括以下步骤在终端安装终端代理程序以及VPN模块;局端安装局端代理以及VPN模块;启动局端程序;启动终端程序;局端和终端建立SSLVPN通道;移动终端启用客户应用;客户应用与终端建立连接并通过SSLVPN与局端协商;客户端与局端协商完成后局端与后台对应应用服务交互;最终移动客户端应用程序与局端后台应用服务建立通信。
4
如图1所示,本发明的具体过程是通过将SSL技术与socks代理技术相结合,将应用程序的数据流转发给布置在同一移动终端的移动VPN终端,然后通过移动VPN终端与局端之间的安全隧道安全地传输数据给内网的应用服务器。代理中继的使用将网络连接分成三部分应用程序到移动VPN终端,移动VPN终端到移动VPN局端,移动VPN局端到内网应用服务器。三个部分的连接相互独立,同时只有移动VPN终端到移动VPN局端之间的连接涉及无线环境,所以只要在移动VPN终端与局端之间实现会话快速恢复和数据流控制功能,就可以实现应用程序与内网服务器之间的不间断传输。本方案所涉及的技术都工作在应用层,不需要操作系统提供底层的网络接口,所以可以方便的实现在不同的移动操作系统上。 根据上述流程,进一步说明以下两功能步骤的实现原理和过程
( — )安全传输 VPN终端与VPN局端之间使用SSL协议进行安全传输,给代理请求数据和应用数据提供一个安全的传输通道。VPN局端在特定端口上监听SSL连接请求。VPN终端首先与局端进行SSL握手,使用X509证书实现终端与局端的相互认证。建立好SSL通道后,终端与局端进行用户名/密码认证,从而实现多因子认证,提高安全性。然后终端与局端进行进一步协商,VPN终端提供本身相关信息如设备标识、操作系统、安全状态等给VPN局端,VPN局端根据这些信息实现访问控制,提供可访问的资源列表给终端。安全通道建立完之后,VPN终端与VPN局端就可以为移动应用程序提供安全传输功能。
(二)后台挂接 VPN终端与局端共同实现socks5代理服务器的功能VPN终端实现代理请求转发和传输数据的转发,VPN局端实现Socks5代理逻辑。VPN终端程序在移动设备上开启socks5监听端口 ,处于同一设备上的应用程序向该端口发起代理请求,VPN终端程序转发代理请求给VPN局端,VPN局端程序处理代理请求,与服务器建立连接。代理连接建立好之后,应用程序与服务器之间通过由VPN终端和VPN局端组成的代理服务器转发数据,实现数据的交互。Socks5代理支持TCP协议和UDP协议。 请参阅图2所示的终端具体工作流程,首先终端从用户界面读取的参数与VPN服务器协商建立SSL通道,此步骤完成后,用户将自身用户名和密码经过自定义的数据结构封装成数据包通过SSL通道传输给VPN服务器。自定义的数据结构除了用于在转发中指明数据包的性质(TCP、UDP还是控制信息)也以端口号来保持连接来回的一致性。这样传输的数据包除了本身需要传输的数据(该数据可以是socks代理请求及相关消息,也可以是用户应用数据),还主要包括了连接的端口号、IP地址以及数据包类型。通过认证之后,VPN服务器返回给客户端一个可访问的资源列表。此时的数据均是经过加密通过SSL Tu皿el传输的。 客户端拿到资源列表之后,就在本机地址上监听Socks代理端口 ,每当有应用发起Socks连接请求,这个socket将被记录下来,以便接收将来从VPN服务器传送过来的发给该应用程序的数据包。此时,被监听的端口包括Socks代理bind端口 , SSL连接端口 ,数个sockssocket连接端口 。如果SSL连接端口收到数据,则将数据解密后,读取数据包头中端口号,从而传给相应的应用;如果socks连接收到数据,则将数据做好新的自定义封装,然后转交给SSL通道加密后传输;如果是socks代理bind监听端口收到连接请求,则建立新的socket连接并保存这个连接。 请参阅图3所示的局端具体工作流程,局端首先启动程序读取配置参数然后监听SSL端口,从客户端发来SSL请求后与之建立连接并进行用户名身份鉴权以发给相信的可访问后台资源列表。SSL VPN通道建立好之后,之后的数据传输通信均使用该通道进行安全传输。局端等待终端数据包。如果该数据包所使用端口号并未被记录则判定为新包,局端为此次客户端请求建立新的Socks5连接处理线程,此时的数据也可以为后台应用服务传送的数据包,连接处理线程解析数据格式进行对应代理转发。如果数据包头所含端口号已有记录则查找之前与之对应的Socks5处理线程,并将数据转发给该线程,该线程进行相应的代理转发处理,然后再次等待终端数据。 本发明系统实施例的总体框架如图4所示,该系统总体由服务器端和客户端终端转发平台组成 服务器端,包含Socks5代理与应用挂接单元、服务器端应用服务(后台应用服务)与VPN局端平台。其中,作为数据传输平台的VPN局端包含局端VPN单元和Socks5代理转发单元。 客户端终端,包含移动SSL VPN终端设备、客户端应用、Socks5数据转发单元。其中,移动SSL VPN终端设备包含终端VPN单元和Socks5代理单元,它是移动终端,采用在应用层级别上利用Socks5协议进行数据转发搭建安全接入VPN的方式。
服务器端与客户端终端建立SSL连接;通过建立SSL VPN通道实现连接通信。
另外,从客户端终端应用到服务器端应用被异地的Socks5代理中继分为三段TCP连接;Socks代理的逻辑和访问控制由局端来完成,终端代理只负责数据转发。这三段TCP连接分别为 (1)终端应用程序到VPN终端;
(2) VPN终端到VPN局端;[OO48] (3)VPN局端到内网服务器。 其中,上述连接(1)和连接(3)均为固网连接,连接(2)包含移动网络连接。对连接(2)进行优化以适应无线网络环境的不稳定性。 针对上述连接(2) ,VPN终端到VPN局端的连接,利用队列缓存机制,在无线连接中断期间自动按顺序缓存用户数据,连接重新恢复后继续传输。 上述的对实施例的描述是为便于该技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对这些实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于这里的实施例,在不脱离本发明的范畴的情况下所做出的修改都在本发明的保护范围之内。
权利要求
一种改善移动SSL VPN性能的方法,其特征在于利用异地Socks5代理技术来加以实现,包括在移动客户端安装Socks5数据转发以及SSLVPN终端单元;在服务器端安装Socks5代理逻辑处理单元以及SSL VPN局端单元;终端单元和局端单元建立SSL连接;配置移动终端代理设置,使其代理数据重定向到本地Socks5数据转发单元,数据由VPN通道传输;服务器端解析代理逻辑与后台应用挂接。
2. 根据权利要求1所述的改善移动SSL VPN性能的方法,其特征在于所述终端单元 与局端单元建立SSL连接时,SSL VPN通道建立在无线环境中,连接建立后还需通过身份鉴 权以获得可访问应用服务列表。
3. 根据权利要求1所述的改善移动SSL VPN性能的方法,其特征在于所述移动客户 端安装Socks5数据转发单元以及SSL VPN终端单元时,转发单元对于客户端发起的包括 Socks5代理请求、Socks5鉴权流程信息以及所需转发的应用数据在内的所有数据包全部 通过SSLVPN通道进行转发。
4. 根据权利要求1所述的改善移动SSL VPN性能的方法,其特征在于所述服务器端 安装Socks5代理逻辑处理单元以及SSL VPN局端单元时,代理逻辑处理单元对从SSL VPN 通道接收到的Socks5代理请求进行解析以确定代理属性从而与对应后台应用服务通信。
5. 根据权利要求1所述的改善移动SSL VPN性能的方法,其特征在于所述VPN终端 利用时间片轮询方式实现会话复用。
6. 根据权利要求1所述的改善移动SSL VPN性能的方法,其特征在于所述VPN局端 利用多线程和匿名管道实现会话复用。
全文摘要
本发明公开了一种利用异地Socks5代理技术实现的改善移动SSL VPN性能的方法。所述方法包括采用在应用层级别上利用Socks5协议进行数据转发搭建安全接入VPN的方式;将客户端应用程序到局端应用的TCP连接利用Socks代理中继分为三段;Socks代理功能由异地的终端和局端共同实现。系统为移动VPN系统,包括移动SSL VPN局端系统和移动SSLVPN终端系统,局端系统位于处在企业内网DMZ的VPN服务器上,终端系统位于移动设备。本发明改善了SSLVPN在无线网络中的连接性能,减小了无线网络速率极不稳定、易断线的缺点带来的连接性能影响。
文档编号H04L29/06GK101729543SQ200910199909
公开日2010年6月9日 申请日期2009年12月4日 优先权日2009年12月4日
发明者汪海航, 舒明磊, 谭博, 谭成翔 申请人:同济大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1