CN108306872B - 网络请求处理方法、装置、计算机设备和存储介质 - Google Patents
网络请求处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN108306872B CN108306872B CN201810070396.5A CN201810070396A CN108306872B CN 108306872 B CN108306872 B CN 108306872B CN 201810070396 A CN201810070396 A CN 201810070396A CN 108306872 B CN108306872 B CN 108306872B
- Authority
- CN
- China
- Prior art keywords
- key
- network
- virtual
- server
- network 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
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)
Abstract
本申请涉及一种网络请求处理方法、装置、计算机设备和存储介质,该方法包括:拦截目标应用发起的网络请求;建立所述目标应用与虚拟连接对象之间的长连接;所述虚拟连接对象是在本地生成;通过所述长连接,将拦截的所述网络请求传递至所述虚拟连接对象;对所述网络请求进行数据加密,得到加密数据;通过所述虚拟连接对象将所述加密数据转发。本申请的方案提高了网络请求处理的效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种网络请求处理方法、装置、计算机设备和存储介质。
背景技术
随着互联网技术的飞速发展,网络在人们的生活、学习和工作等方面起着越来越重要的地位,越来越多的事情需要通过网络进行处理。这样一来,网络安全就显得非常的重要。
传统方法是通过建立本地代理服务实现安全上网的。传统方法中对每个网络请求都进行拦截,并且每次都需要将拦截的数据包的目的地址修改为本地代理服务,在修改目标地址后对数据包重新进行路由,以将数据包路由到本地代理服务上,再由本地代理服务进行相应的数据处理后进行转发。因此,传统方法的这种每次都需要修改目标地址、重新路由数据包、再由路由至的本地代理服务处理后转发数据的步骤比较繁琐,效率比较低。
发明内容
基于此,有必要针对传统方法效率比较低的问题,提供一种网络请求处理方法、装置、计算机设备和存储介质。
一种网络请求处理方法,所述方法包括:
拦截目标应用发起的网络请求;
建立所述目标应用与虚拟连接对象之间的长连接;所述虚拟连接对象是在本地生成;
通过所述长连接,将拦截的所述网络请求传递至所述虚拟连接对象;
对所述网络请求进行数据加密,得到加密数据;
通过所述虚拟连接对象将所述加密数据转发。
一种网络请求处理装置,所述装置包括:
拦截模块,用于拦截目标应用发起的网络请求;
连接处理模块,用于建立所述目标应用与虚拟连接对象之间的长连接;所述虚拟连接对象是在本地生成;
数据传递模块,用于通过所述长连接,将拦截的所述网络请求传递至所述虚拟连接对象;
加解密模块,用于对所述网络请求进行数据加密,得到加密数据;
转发模块,用于通过所述虚拟连接对象将所述加密数据转发。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
拦截目标应用发起的网络请求;
建立所述目标应用与虚拟连接对象之间的长连接;所述虚拟连接对象是在本地生成;
通过所述长连接,将拦截的所述网络请求传递至所述虚拟连接对象;
对所述网络请求进行数据加密,得到加密数据;
通过所述虚拟连接对象将所述加密数据转发。
一种存储有计算机程序的存储介质,所述计算机程序被处理器执行时,使得处理器执行如下步骤:
拦截目标应用发起的网络请求;
建立所述目标应用与虚拟连接对象之间的长连接;所述虚拟连接对象是在本地生成;
通过所述长连接,将拦截的所述网络请求传递至所述虚拟连接对象;
对所述网络请求进行数据加密,得到加密数据;
通过所述虚拟连接对象将所述加密数据转发。
上述网络请求处理方法、装置、计算机设备和存储介质,拦截目标应用发起的网络请求后,建立目标应用与虚拟连接对象之间的长连接;虚拟连接对象是在本地生成的,通过该长连接,直接将拦截的网络请求向虚拟连接对象进行传递,对网络请求进行数据加密得到加密数据后,通过虚拟连接对象将加密数据进行转发。不需要对网络请求中的目的地址进行更改、更不需进行将更改目的地址后的数据包重新进行路由等繁琐的处理,就能够实现对网络请求的安全加密发送,提高了效率。
附图说明
图1为一个实施例中网络请求处理方法的应用场景图;
图2为一个实施例中网络请求处理方法的流程示意图;
图3为一个实施例中网络请求处理方法的数据流向示意图;
图4为一个实施例中网络请求处理方法的交互框架示意图;
图5为一个实施例中获取虚拟专用网络启用指令的界面示意图;
图6为另一个实施例中获取虚拟专用网络启用指令的界面示意图;
图7为一个实施例中网络请求处理的原理示意图;
图8为一个实施例中维护协议栈的原理示意图;
图9为一个实施例中密钥交换及基于交换的密钥进行数据加解密的原理示意图;
图10为另一个实施例中网络请求处理方法的流程示意图;
图11为一个实施例中网络请求处理装置的框图;
图12为另一个实施例中网络请求处理装置的框图;
图13为一个实施例中计算机设备的内部结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中网络请求处理方法的应用场景图。参照图1,该应用场景中包括通过网络连接的终端110和后台服务器120。终端110中可运行至少一个的目标应用。终端110可以是智能电视机、台式计算机或移动终端,移动终端可以包括手机、平板电脑、笔记本电脑、个人数字助理和穿戴式设备等中的至少一种。后台服务器120可以用独立的服务器或者是多个物理服务器组成的服务器集群来实现。
终端110可以拦截目标应用发起的网络请求,建立目标应用与虚拟连接对象之间的长连接,其中,虚拟连接对象是在终端110的本地生成。终端110可以通过该长连接,将拦截的网络请求传递至虚拟连接对象。终端110可以对网络请求进行数据加密,得到加密数据,通过虚拟连接对象将加密数据转发至后台服务器120。可以理解,这里并不限定终端110将加密数据转发至后台服务器120。在其他实施例中,比如当终端110与其他电子设备进行网络通信时,终端110也可以将加密数据转发至其他电子设备。后台服务器120也可以对加密数据进行解密处理并进行转发。
图2为一个实施例中网络请求处理方法的流程示意图。本实施例主要以该网络请求处理方法应用于计算机设备为例来举例说明,该计算机设备可以是图1中的终端110。参照图2,该方法具体包括如下步骤:
S202,拦截目标应用发起的网络请求。
其中,网络请求,是需要通过网络进行通信的请求。目标应用,是所发起的网络请求需要被进行网络安全管理的应用程序。即计算机设备需对目标应用发送的网络请求进行网络安全管理。
在一个实施例中,目标应用可以包括社交平台应用程序、多媒体发布平台应用程序、游戏平台应用程序和物品交易应用程序等中的至少一种。这里对目标应用的类型不作穷举。
在一个实施例中,计算机设备可以通过网络管理应用,拦截目标应用发起的网络请求。其中,网络管理应用是用于进行网络安全管理的应用程序。
在一个实施例中,网络管理应用可以是无线网络管理应用程序。在一个实施例中,无线网络管理应用程序可以是WiFi管理应用程序。WiFi管理应用程序是用于进行WiFi网络安全管理的应用程序。WiFi(Wireless-Fidelity),是一种允许电子设备连接到一个无线局域网(WLAN)的技术。
在一个实施例中,计算机设备可以通过网络管理应用,调用操作系统提供的、且具备网络请求拦截功能的服务组件,来拦截目标应用发起的网络请求。在另一个实施例中,计算机设备也可以通过网络管理应用本身具备的拦截组件拦截目标应用发起的网络请求。
可以理解,网络管理应用和目标应用都运行于计算机设备的本地。
可以理解,计算机设备可以通过网络管理应用拦截目标应用发送的全部或网络请求。在一个实施例中,计算机设备中可以在检测到目标应用发起网络请求时,可以检测该网络请求是否为需拦截的网络请求,当该网络请求为需拦截的网络请求时,则执行步骤S202,当该网络请求为不需拦截的网络请求时,则直接发送该网络请求。
在一个实施例中,该方法还包括:检测网络请求;当检测到由执行本申请实施例中的网络请求处理方法的应用发起的网络请求时,将网络请求直接发送;当检测到由目标应用发起的网络请求时,执行步骤S202。
可以理解,执行本申请实施例中的网络请求处理方法的应用可以为上述提及的网络管理应用。
在一个实施例中,计算机设备在检测到由应用程序发起的网络请求后,可以对网络请求的发起对象进行检测。当检测到由目标应用发起的网络请求时,计算机设备可以通过网络管理应用拦截目标应用发起的该网络请求。当检测到由网络管理应用发起的网络请求时,计算机设备可以将网络请求直接发送。即计算机设备不拦截网络管理应用发起的网络请求,而是将该网络请求直接发送,即正常上网。
可以理解,由于网络管理应用为进行网络安全管理的应用程序,所以网络管理应用自身发起的网络请求本身就会进行加密,所以网络管理应用自身发起的网络请求就是具有较高安全性的,而传统方法中是对任意应用程序发起的网络请求都拦截,就会需要对网络管理应用发起的已经进行安全加密的网络请求进行解密及再加密的处理,显然,这些对已安全加密的网络请求进行解密及再加密的处理是不必要的。因此,本申请实施例中,将网络管理应用发起的网络请求直接发送,而不进行拦截,实现了与其他非网络安全管理的应用程序的解耦,节省了不必要的资源浪费。
在一个实施例中,当检测到由网络管理应用发起的网络请求时,计算机设备可以将网络请求直接发送至目标服务器。其中,目标服务器是真正意图要进行通信的服务器。
S204,建立目标应用与虚拟连接对象之间的长连接。
其中,长连接,是指能够连续发送多个数据包的保持不断开的连接。虚拟连接对象是在本地生成。可以理解,虚拟连接对象是由计算机设备在本地虚拟出,用于与目标应用建立长连接。可以理解,虚拟连接对象的作用并不限定于与目标应用之间建立并维持长连接,还可以具备数据转发、数据收发管理等功能。
在一个实施例中,虚拟连接对象由第一应用在本地(即计算机设备本地)生成。可以理解,虚拟连接对象是由第一应用中的代码在计算机设备的本地虚拟出,用于与目标应用建立长连接。
在一个实施例中,长连接可以是TCP(Transmission Control Protocol传输控制协议)连接。TCP连接,是基于TCP协议进行通信时,在通信双方之间建立的通信连接。TCP协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。
可以理解,在发起的网络请求不被拦截的情况下,目标应用是需要发出握手数据,与目标服务器之间进行握手,建立连接,以将网络请求发送至目标服务器,实现与目标服务器之间的网络通信。然而,本实施例的步骤S202中将目标应用发起的网络请求拦截了,目标应用发出的握手数据就无法到达目标服务器了,计算机设备通过网络管理应用在本地虚拟出了虚拟连接对象,充当目标服务器的角色,接收并响应目标应用发出的握手数据,与目标应用之间建立长连接。
S206,通过长连接,将拦截的网络请求传递至虚拟连接对象。
可以理解,目标应用和虚拟连接对象都运行于计算机设备的本地。
具体地,计算机设备可以通过目标应用与虚拟连接对象之间的长连接,将拦截的网络请求传递至虚拟连接对象。
可以理解,当计算机设备通过第一应用拦截目标应用发起的网络请求、且虚拟连接对象是通过网络管理应用在计算机设备的本地生成时,由于虚拟连接对象是由网络管理应用的代码虚拟出来的,那么虚拟连接对象就包含于网络管理应用,属于网络管理应用的组成部分,所以网络管理应用可以在将拦截的目标应用发起的网络请求,基于目标应用与虚拟连接对象之间建立的长连接,传递至虚拟连接对象。
S208,对网络请求进行数据加密,得到加密数据。
可以理解,计算机设备之所以对目标应用发起的网络请求进行拦截,就是为了提高网络通信的安全性,如果不拦截,则目标应用会将网络请求不加密直接发送,则容易在发送过程中被破解,安全性比较低。因此,本申请实施例中,在虚拟连接对象将网络请求转发之前,计算机设备会对网络请求进行数据加密处理,以提高网络请求的安全性。
具体地,计算机设备可以通过对称加密或非对称加密等方式,对网络请求进行数据加密,得到加密数据。
在一个实施例中,计算机设备可以对网络请求中的数据内容进行加密,得到加密数据。可以理解,网络请求通常为IP(Internet Protocol,网络之间互连的协议)数据包,计算机设备可以对IP数据包中的数据部分进行加密。
S210,通过虚拟连接对象将加密数据转发。
可以理解,将拦截的网络请求进行数据加密,以加密数据的形式从计算机设备中发送出去,相当于将目标应用发起的网络请求拦截后,通过走加密安全通道的方式进行传输发送,提高了网络通信的安全性。
在一个实施例中,计算机设备可以通过虚拟连接对象将加密数据转发至与目标应用对应的后台服务器,由该与目标应用对应的后台服务器,将加密数据进行解密后,发送给目标服务器。与目标应用对应的后台服务器,是用于对目标应用的数据进行后台处理的服务器。比如,微信应用对应的后台服务器,则可以为微信后台服务器。可以理解,由与目标应用对应的后台服务器将加密数据进行解密后,在后台向目标服务器发送,比由计算机设备这一终端侧的明文传送网络请求至目标服务器更加的安全。
上述网络请求处理方法,拦截目标应用发起的网络请求后,建立目标应用与虚拟连接对象之间的长连接;虚拟连接对象是在本地生成,通过该长连接,直接将拦截的网络请求向虚拟连接对象进行传递,对网络请求进行数据加密得到加密数据后,通过虚拟连接对象将加密数据进行转发。不需要对网络请求中的目的地址进行更改、更不需进行将更改目的地址后的数据包重新进行路由等繁琐的处理,就能够实现对网络请求的安全加密发送,在保证安全性的同时,提高了效率。
在一个实施例中,步骤S202包括:通过虚拟网卡拦截目标应用发起的网络请求;该虚拟网卡是通过调用虚拟专用网络服务组件建立。步骤S210包括:通过虚拟连接对象,将加密数据转发至虚拟专用网络服务器;加密数据用于通过虚拟专用网络服务器解密后发送至目标服务器。
其中,虚拟专用网络服务组件(VpnService,Virtual Private NetworkService),是系统提供的一个用于建立虚拟专用网络连接的服务组件,能够拦截网络层的IP(Internet Protocol,网络之间互连的协议)数据。虚拟网卡,是通过模拟网络环境虚拟出的网络适配器,用于拦截目标应用的网络请求。可以理解,本实施例中,计算机设备是通过调用虚拟专用网络服务组件,建立目标应用与虚拟连接对象之间的长连接。目标应用与虚拟连接对象之间建立的长连接,即为虚拟专用网络连接。虚拟专用网络连接,是在公网上建立的用于实现加密通信的专用网络连接。
可以理解,虚拟专用网络服务器,是与虚拟专用网络服务组件相应的后台服务器。调用虚拟专用网络组件进行网络请求的拦截、加密等处理后的加密数据,皆被发送至虚拟专用网络服务器,由虚拟专业网络服务器将该加密数据解密后,转发至目标服务器。
在一个实施例中,虚拟网卡是通过第一应用调用虚拟专用网络服务组件建立。
具体地,计算机设备通过虚拟连接对象,将加密数据转发至虚拟专用网络服务器后,虚拟专用网络服务器可以对加密数据进行解密,并将解密后的数据发送至目标服务器。
在一个实施例中,计算机设备可以通过网络管理应用调用虚拟专用网络服务组件,建立虚拟网卡,并生成将目标应用的网络请求传递至虚拟网卡的路由。当目标应用发送网络请求后,就可以在该网络请求被路由到虚拟网卡时,被虚拟网卡拦截。路由(routing)用于将信息从一端传递到另一端。可以理解,计算机设备在建立虚拟网卡后,如果不中断虚拟网卡的相应进程,目标应用发起的网络请求都会被虚拟网卡拦截。
图3为一个实施例中网络请求处理方法的数据流向示意图。参照图3,目标应用发送的数据被虚拟网卡拦截,通过调用虚拟专用网络服务组件建立虚拟专用网络连接以将数据传递至虚拟连接对象,通过虚拟连接对象进行数据加密,将得到的加密数据转发至虚拟专用网络服务器。
图4为一个实施例中网络请求处理方法的交互框架示意图。参照图4,包括目标应用、网络管理应用、后台服务器和目标服务器。其中,网络管理应用中包括协议处理模块、密钥管理模块和加解密模块。协议处理模块,用于通过代码维护协议栈。密钥管理模块,用于动态生成密钥。加解密模块,用于对数据进行加密和解密。后台服务器和目标服务器中包括数据处理模块。
需要说明的是,网络管理应用中包括的模块并不限定于上述所列举出的模块,还可以包括IP列表管理模块、数据异常监控上报模块、云控管理模块、读写以及传收模块等等,这里则不进行一一列举。其中,IP列表管理模块用于控制管理后台服务器的IP列表名单。数据异常监控上报用于监控上网异常情况。云控管理模块,用于对目标应用发送的数据在云端进行管理。读写以及传收模块,即用于对数据的读写和传收处理。
可以理解,计算机设备可以在操作系统启动后,就可以调用虚拟专用网络服务组件,建立虚拟网卡。计算机设备也可以在获取虚拟专用网络启用指令后,由该虚拟专用网络启用指令触发调用虚拟专用网络服务组件,建立虚拟网卡。其中,虚拟专用网络启用指令,用于指示启动调用虚拟专用网络服务组件的处理。
在一个实施例中,计算机设备获取输入的虚拟专用网络启用操作,根据获取的虚拟专用网络启用操作,生成相应的虚拟专用网络启用指令。在另一个实施例中,计算机设备也可以自身进行网络检测,根据网络检测结果生成虚拟专用网络启用指令。
可以理解,虚拟专用网络启用操作可以是由用户主动选择输入的。图5为一个实施例中获取虚拟专用网络启用指令的界面示意图。参照图5,用户可以自主触发“开启安全通道”按钮,即输入虚拟专用网络启用操作。计算机设备可以根据该虚拟专用网络启用操作,生成相应的虚拟专用网络启用指令。虚拟专用网络启用操作可以是用户在计算机设备呈现的启用虚拟专用网络的推荐信息的引导下输入的。图6为另一个实施例中获取虚拟专用网络启用指令的界面示意图。参照图6,计算机设备可以呈现启用虚拟专用网络的推荐信息,用户可以点击“确定”按钮,即输入虚拟专用网络启用操作。
上述实施例中,通过调用虚拟专用网络服务组件建立的虚拟网卡拦截目标应用发起的网络请求,通过目标应用与虚拟连接对象之间的长连接直接将拦截的网络请求传递至虚拟连接对象并进行数据加密,通过虚拟连接对象,将加密数据转发至虚拟专用网络服务器;加密数据用于通过虚拟专用网络服务器解密后发送至目标服务器。不需要对网络请求中的目的地址进行更改、更不需进行将更改目的地址后的数据包重新进行路由等繁琐的处理,就能够实现将网络请求进行安全加密发送目标服务器,在保证安全性的同时,提高了效率。
在一个实施例中,该方法还包括:对当前连接的无线网络进行风险检测;当检测到存在风险时,获取虚拟专用网络启用指令;响应于虚拟专用网络启用指令,调用虚拟专用网络服务组件以建立虚拟网卡。
其中,风险检测,是检测无线网络是否存在风险性的处理。
在一个实施例中,计算机设备在检测到当前连接的无线网络存在风险时,可以自身直接生成虚拟专用网络启用指令。
在一个实施例中,当检测到存在风险时,获取虚拟专用网络启用指令包括:当检测到存在风险时,生成启用虚拟专用网络的推荐信息并显示;获取针对该虚拟专用网络的推荐信息输入的虚拟专用网络启用指令。
可以理解,计算机设备在检测到当前连接的无线网络存在风险时,也可以生成启用虚拟专用网络的推荐信息,将该推荐信息在计算机设备界面进行显示,以引导用户基于该虚拟专用网络的推荐信息的引导,输入虚拟专用网络启用操作。计算机设备可以根据该虚拟专用网络启用操作,生成相应的虚拟专用网络启用指令。图6即为一个通过虚拟专用网络的推荐信息的引导,生成相应的虚拟专用网络启用指令的实施例界面示意图。
上述实施例中,当检测到当前连接的无线网络存在风险时,获取虚拟专用网络启用指令;响应于虚拟专用网络启用指令,调用虚拟专用网络服务组件以建立虚拟网卡。通过自动检测风险的方式,启用虚拟专用网络连接处理,提高了安全性。
在一个实施例中,步骤S204包括:获取协议栈维护代码;通过协议栈维护代码维护协议栈,以模拟服务器与目标应用间用于建立长连接的握手过程,建立虚拟连接对象与目标应用的长连接。
其中,协议栈,是网络中各层协议的总和,反映了一个网络中数据传输的过程:由上层协议到底层协议,再由底层协议到上层协议。协议栈维护代码,是用于维护协议栈的代码。协议栈维护代码维护协议栈,是指通过协议栈维护代码,在计算机设备的本地实现协议栈中的多层协议之间的数据传输。握手过程,是双方为了建立通信连接所做出的交互确认过程。
具体地,计算机设备可以获取协议栈维护代码,通过协议栈维护代码维护协议栈。计算机设备可以通过协议栈维护代码维护协议栈,来模拟服务器与目标应用间用于建立长连接的握手过程,从而建立虚拟连接对象与目标应用的长连接。
在一个实施例中,协议栈维护代码可以设置于网络管理应用中。计算机设备可以从网络管理应用中获取协议栈维护代码。
在一个实施例中,所模拟的服务器与目标应用间用于建立长连接的握手过程为三次握手(three times handshake;three-way handshake)过程。三次握手过程是基于TCP/IP协议,建立TCP连接的过程。
图7为一个实施例中网络请求处理的原理示意图。参照图7,对于网络管理应用发起的网络请求,直接发送至目标服务器,即正常上网。对于各目标应用发起的网络请求,则通过调用虚拟专用网络服务组件拦截,然后通过维护协议栈建立长连接,以获取拦截的网络请求,并拦截的网络请求进行数据加密后,将加密数据发送至虚拟专用网络服务器,由虚拟专用网络服务器将加密数据解密后发送至目标服务器。
在一个实施例中,模拟服务器与目标应用间用于建立长连接的握手过程的步骤包括:通过协议栈维护代码维护协议栈,以将目标应用发出的第一次握手的握手信号包,通过虚拟网卡拦截并传递至虚拟连接对象(即为模拟服务器和目标应用间建立长连接的第一次握手过程);通过虚拟连接对象由虚拟网卡向目标应用返回握手信号应答包(即为模拟服务器和目标应用间建立长连接的第二次握手过程);通过虚拟网卡拦截目标应用在接收到握手信号应答包后发出的确认包,并由虚拟网卡将拦截的确认包传递至虚拟连接对象(即为模拟服务器和目标应用间建立长连接的第三次握手过程)。
可以理解,三次握手过程模拟完毕后,即可建立虚拟连接对象与目标应用的长连接。
可以理解,握手信号包可以是SYN包,SYN(synchronous,建立联机)包,是基于TCP/IP协议建立连接时使用的握手信号包。确认包,可以是ACK(Acknowledgement)包,用于表示发来的数据已确认接收无误。握手信号应答用于表示确认收到握手信号。握手信号应答包可以是SYN+ACK包。
可以理解,上述实施例中,由于目标应用和虚拟连接对象之间的长连接,是通过维护协议栈,并基于虚拟网卡传递握手信号包和确认包等来完成的,所以,通过目标应用和虚拟连接对象之间建立的长连接,可以将虚拟网卡拦截的目标应用发起的网络请求传递至虚拟连接对象。
在一个实施例中,计算机设备可以通过虚拟网卡向虚拟连接对象发送数据传送确认包(PUSH+ACK包),以将虚拟网卡拦截的网络请求传递至虚拟连接对象,通过虚拟连接对象返回确认包(ACK包),通过虚拟连接对象对网络请求进行数据加密后,由虚拟连接对象将得到的加密数据直接转发至后台服务器。后台服务器在获取到针对网络请求的数据处理结果后,将数据处理结果传递至虚拟连接对象,由虚拟连接对象通过与目标应用建立的长连接,并经由虚拟网卡,将数据处理结果反馈至目标应用,目标应用会发出一个确认包(ACK包),该确认包经虚拟网卡拦截后传递至虚拟连接对象,以实现经过建立于的目标应用于虚拟连接对象之间的长连接实现数据的收发。
在一个实施例中,该方法还包括:当满足长连接终止条件时,通过协议栈维护代码维护协议栈,以模拟服务器与目标应用间用于终止长连接的挥手过程,终止虚拟连接对象与目标应用的长连接。
其中,长连接终止条件,是终止目标应用与虚拟连接对象之间建立的长连接的条件。挥手过程,是双方为了终止通信连接所做出的交互确认过程。在一个实施例中,
在一个实施例中,长连接终止条件包括:该网络请求所对应的相应处理已执行完毕或建立的长连接进程被主动关闭等。比如,网络请求为视频下载请求,则该视频的下载处理完毕则为满足了长连接终止条件,或者,在下载视频过程中,用户主动结束下载处理,则建立的长连接会被主动关闭,也为满足了长连接终止条件。
具体地,当满足长连接终止条件时,计算机设备可以通过协议栈维护代码维护协议栈,在本地模拟服务器与目标应用间用于终止长连接的挥手过程,终止虚拟连接对象与目标应用的长连接。
在一个实施例中,所模拟的服务器与目标应用间用于终止长连接的挥手过程为四次挥手过程。四次握手过程是基于TCP/IP协议,终止TCP连接的过程。
在一个实施例中,模拟服务器与目标应用间用于终止长连接的挥手过程的步骤包括:通过协议栈维护代码维护协议栈,将目标应用为断开长连接发出的终止信号确认包,通过虚拟网卡拦截并传递至虚拟连接对象(即为模拟服务器和目标应用间终止长连接的第一次挥手过程);通过虚拟连接对象由虚拟网卡向目标应用返回挥手信号应答包(即为模拟服务器和目标应用间终止长连接的第二次挥手过程);通过虚拟连接对象由虚拟网卡向目标应用发出终止信号确认包(即为模拟服务器和目标应用间终止长连接的第三次挥手过程;通过虚拟网卡拦截目标应用在接收到终止信号确认包后发出的确认包,并由虚拟网卡将拦截的确认包传递至虚拟连接对象(即为模拟服务器和目标应用间终止长连接的第四次挥手过程)。
可以理解,四次挥手过程模拟完毕后,即可终止虚拟连接对象与目标应用的长连接。
其中,挥手信号确认包,用于表示确认要终止连接。挥手信号确认包可以是FIN+ACK包,FIN(finish,结束)包,是终止基于TCP/IP协议建立的连接时使用的信号包。确认包,可以是ACK(Acknowledgement)包,用于表示发来的数据已确认接收无误。
图8为一个实施例中维护协议栈的原理示意图。参照图8,计算机设备可以通过维护协议栈,经过虚拟网卡的拦截和传递,在本地模拟服务器和目标应用间建立长连接的三次握手过程,以建立虚拟连接对象和目标应用之间的长连接。计算机设备可以基于建立的长连接,实现将目标应用被虚拟网卡拦截的数据传递给虚拟连接对象,并由虚拟连接对象进行相应的响应和转发(即实现收发数据)。计算机设备还可以经过虚拟网卡的拦截和传递,在本地模拟服务器和目标应用间终止长连接的四次挥手过程,终止虚拟连接对象和目标应用之间的长连接。
上述实施例中,通过协议栈维护代码维护协议栈,以模拟服务器与目标应用间用于建立长连接的握手过程,建立虚拟连接对象与目标应用的长连接。基于该长连接,直接将拦截的网络请求传递至虚拟连接对象并进行数据加密,通过虚拟连接对象,将加密数据转发。不需要对网络请求中的目的地址进行更改、更不需进行将更改目的地址后的数据包重新进行路由等繁琐的处理,就能够实现网络请求的安全加密发送,在保证安全性的同时,提高了效率。
在一个实施例中,步骤S208包括:根据本地的密钥,采用对称加密方式对网络请求进行数据加密,得到加密数据。步骤S210包括:通过虚拟连接对象,将加密数据和密钥的密钥标识转发至虚拟专用网络服务器;密钥标识用于指示虚拟专用网络服务器通过与密钥标识唯一对应的密钥对加密数据进行解密。
密钥,是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥标识用于唯一标识密钥。
可以理解,计算机设备的本地中已存储了密钥和相应的密钥标识。计算机设备中存储的密钥是已交换的密钥。已交换的密钥,是进行加密通信的双方已经相互交换、确认出的用于进行数据加解密的密钥。可以理解,本实施例中,是计算机设备和虚拟专用网络服务器之间预先交换了密钥。
可以理解,进行加密通信的双方在发送要通信的数据前,相互之间交换用于加解密的密钥,以便于实现加密通信。对称加密,是指加密和解密使用相同密钥的加密算法。
具体地,计算机设备在通过虚拟连接对象发送加密数据时,会将密钥的密钥标识一并转发至虚拟专用网络服务器。虚拟专用网络服务器中存储了密钥标识和密钥之间的对应关系,根据该对应关系,虚拟专用网络服务器可以查找与该密钥标识唯一对应的密钥,并根据查找到的密钥对加密数据进行解密。
在一个实施例中,密钥标识用于指示虚拟专用网络服务器通过与密钥标识唯一对应的密钥对加密数据进行解密,并将解密后的数据发送至目标服务器。即虚拟专用网络服务器可以将解密后的数据转发至目标服务器。
在一个实施例中,该方法还包括:接收虚拟专用网络服务器反馈的数据处理结果和密钥标识;数据处理结果,是虚拟专用网络服务器将对加密数据进行解密后的数据发送至目标服务器后,由目标服务器处理解密后的数据得到;在本地查询与接收到的密钥标识唯一对应的密钥;根据查询到的密钥对数据处理结果进行解密;将解密后得到的数据处理结果明文传递至目标应用。
具体地,虚拟专用网络服务器将对加密数据进行解密后的数据发送至目标服务器后,目标服务器可以对解密后的数据进行处理,得到数据处理结果。目标服务器可以将数据处理结果反馈至虚拟专用网络服务器。虚拟专用网络服务器可以确定对该数据处理结果所对应的解密后的数据进行解密的密钥,根据该密钥对数据处理结果进行加密,并将加密后的数据处理结果和密钥标识反馈至计算机设备。计算机设备在接收虚拟专用网络服务器反馈的加密后的数据处理结果和密钥标识后,可以在本地查询与接收到的密钥标识唯一对应的密钥;根据查询到的密钥对数据处理结果进行解密。计算机设备可以将解密后得到的数据处理结果明文传递至目标应用。
可以理解,计算机设备可以将解密后得到的数据处理结果,基于目标应用与虚拟连接对象之间建立的长连接,将明文传递至目标应用。
上述实施例中,在发送加密数据的同时,携带密钥的密钥标识,该密钥标识用于指示通过与密钥标识唯一对应的密钥对加密数据进行解密。即在实际通信过程中,不需要将密钥本身进行传输,避免了密钥在传输过程中被破解所带来的风险,提高了安全性。
在一个实施例中,该方法还包括密钥交换步骤,具体包括以下步骤:随机生成本地的密钥;根据预设的公钥对密钥进行非对称加密,得到密钥密文;将密钥密文发送至虚拟专用网络服务器;密钥密文用于指示虚拟专用网络服务器根据预设的私钥解密密钥密文得到密钥,并为密钥分配唯一的密钥标识;接收虚拟专用网络服务器反馈的密钥标识并存储于本地。
其中,本地的密钥,是本地随机生成的、且与计算机设备对应的密钥。密钥密文,是对密钥进行加密得到的密文。可以理解,计算机设备的本地存储有本地的密钥。
具体地,计算机设备中预先设置了公钥,虚拟专用网络服务器中预先设置了私钥。计算机设备可以根据预设的公钥对随机生成的本地的密钥进行非对称加密,得到密钥密文;将密钥密文发送至虚拟专用网络服务器。虚拟专用网络服务器根据预设的私钥解密密钥密文得到密钥,并为密钥分配唯一的密钥标识。虚拟专用网络服务器将为密钥分配唯一的密钥标识反馈至计算机设备。计算机设备可以将虚拟专用网络服务器反馈的密钥标识并存储于该计算机设备的本地,以实现计算机设备和虚拟专用网络服务器之间的密钥交换。
在一个实施例中,计算机设备可以通过网络管理应用随机生成本地的密钥;根据预设的公钥对密钥进行非对称加密,得到密钥密文;通过网络管理应用将密钥密文发送至虚拟专用网络服务器;密钥密文用于指示虚拟专用网络服务器根据预设的私钥解密密钥密文得到密钥,并为密钥分配唯一的密钥标识;通过网络管理应用接收虚拟专用网络服务器反馈的密钥标识并存储于本地。
可以理解,计算机设备和虚拟专用网络服务器之间通过非对称加密方式交换密钥和密钥标识后,计算机设备在向虚拟专用网络服务器发送数据时,可以采用对称加密方式,通过交换的密钥进行数据加密,然后将加密数据和该密钥标识发送至虚拟专用网络服务器,虚拟专用网络服务器根据该密钥标识查找密钥,结合对称算法对加密数据进行解密处理即可。即在通信过程中,仅需要传递密钥标识即可,提高了安全性。
在一个实施例中,计算机设备可以在每次接收到虚拟专用网络启用指令时,重新动态随机生成密钥。可以理解,基于动态随机生成密钥,可以实现每个计算机设备所使用的密钥都不同,就算破解了一个计算机设备的密钥,也不会对其他用户造成影响,进一步提高了安全性。
图9为一个实施例中密钥交换及基于交换的密钥进行数据加解密的原理示意图。参照图9,计算机设备可以用公钥publicKey和非对称加密算法-RSA加密算法,对随机生成的密钥randomKey进行加密,得到加密数据A发送至虚拟专用网络服务器。虚拟专用网络服务器在利用私钥对加密数据A解密后,得到密钥randomKey。虚拟专用网络服务器为该密钥randomKey分配一个唯一密钥标识SA并反馈给计算机设备。计算机设备在向计算机设备发送数据时,可以使用密钥randomKey和对称算法XXTea(Corrected Block TEA)进行数据加密,并将得到的加密数据和密钥标识SA发送至虚拟专用网络服务器。虚拟专用网络服务器根据密钥标识SA查找密钥randomKey进行解密,然后对解密数据进行相应处理得到数据处理结果,虚拟专用网络服务器可以使用密钥randomKey和对称算法XXTea对数据处理结果进行加密,将加密后的数据处理结果和密钥标识SA返回至计算机设备。
上述实施例中,通过随机生成本地的密钥;通过非对称加密的方式将密钥发送至虚拟专用网络服务器;密钥密文用于指示虚拟专用网络服务器根据预设的私钥解密密钥密文得到密钥,并为密钥分配唯一的密钥标识;接收虚拟专用网络服务器反馈的密钥标识并存储于本地。在后续数据传输过程中,仅需要传递密钥标识即可,提高了安全性。
如图10所示,在一个实施例中,提供了另一种网络请求处理方法,该方法具体包括以下步骤:
S1002,对当前连接的无线网络进行风险检测;当检测到存在风险时,获取虚拟专用网络启用指令。
S1004,响应于虚拟专用网络启用指令,随机生成本地的密钥;根据预设的公钥对密钥进行非对称加密,得到密钥密文;将密钥密文发送至虚拟专用网络服务器;接收虚拟专用网络服务器反馈的密钥标识并存储于本地。
其中,密钥密文用于指示虚拟专用网络服务器根据预设的私钥解密密钥密文得到密钥,并为密钥分配唯一的密钥标识。
S1006,响应于虚拟专用网络启用指令,通过网络管理应用调用虚拟专用网络服务组件以建立虚拟网卡。
S1008,检测网络请求。当检测到由目标应用发起的网络请求时,执行步骤S1010。当检测到由网络管理应用发起的网络请求时,执行步骤S1022。
S1010,通过虚拟网卡拦截目标应用发起的网络请求;获取网络管理应用的协议栈维护代码;通过协议栈维护代码维护协议栈,以模拟服务器与目标应用间用于建立长连接的握手过程,建立虚拟连接对象与目标应用的长连接。
其中,虚拟连接对象由网络管理应用在本地生成。
S1012,通过长连接,将拦截的网络请求传递至虚拟连接对象;根据本地的密钥,采用对称加密方式对网络请求进行数据加密,得到加密数据。
S1014,通过虚拟连接对象,将加密数据和密钥的密钥标识转发至虚拟专用网络服务器;密钥标识用于指示虚拟专用网络服务器通过与密钥标识唯一对应的密钥对加密数据进行解密,并将解密后的数据发送至目标服务器。
S1016,接收虚拟专用网络服务器反馈的数据处理结果和密钥标识;数据处理结果,是虚拟专用网络服务器将对加密数据进行解密后的数据发送至目标服务器后,由目标服务器处理解密后的数据得到。
S1018,在本地查询与接收到的密钥标识唯一对应的密钥;根据查询到的密钥对数据处理结果进行解密;将解密后得到的数据处理结果明文传递至目标应用。
S1020,当满足长连接终止条件时,通过协议栈维护代码维护协议栈,以模拟服务器与目标应用间用于终止长连接的挥手过程,终止虚拟连接对象与目标应用的长连接。
S1022,将网络请求直接发送。
上述网络请求处理方法,通过拦截目标应用发起的网络请求后,建立目标应用与虚拟连接对象之间的长连接;虚拟连接对象由所述网络管理应用在本地生成,通过该长连接,直接将拦截的网络请求向虚拟连接对象进行传递,对网络请求进行数据加密得到加密数据后,通过虚拟连接对象将加密数据进行转发。不需要对网络请求中的目的地址进行更改、更不需进行将更改目的地址后的数据包重新进行路由等繁琐的处理,就能够实现对网络请求的安全加密发送,提高了效率。
如图11所示,在一个实施例中,提供了一种网络请求处理装置1100,该装置1100包括:拦截模块1104、连接处理模块1106、数据传递模块1108、加解密模块1110以及转发模块1112,其中:
拦截模块1104,用于拦截目标应用发起的网络请求。
连接处理模块1106,用于建立目标应用与虚拟连接对象之间的长连接;虚拟连接对象是在本地生成。
数据传递模块1108,用于通过长连接,将拦截的网络请求传递至虚拟连接对象。
加解密模块1110,用于对网络请求进行数据加密,得到加密数据。
转发模块1112,用于通过虚拟连接对象将加密数据转发。
在一个实施例中,该装置1100还包括:检测模块1102,用于检测网络请求;当检测到由执行所述网络请求处理方法的应用发起的网络请求时,将网络请求直接发送;当检测到由目标应用发起的网络请求时,通知拦截模块1104执行拦截目标应用发起的网络请求的步骤。
在一个实施例中,拦截模块1104还用于通过虚拟网卡拦截目标应用发起的网络请求;虚拟网卡是通过调用虚拟专用网络服务组件建立;转发模块1112还用于通过虚拟连接对象,将加密数据转发至虚拟专用网络服务器;加密数据用于通过虚拟专用网络服务器解密后发送至目标服务器。
在一个实施例中,检测模块1102还用于对当前连接的无线网络进行风险检测;当检测到存在风险时,获取虚拟专用网络启用指令;响应于虚拟专用网络启用指令,调用虚拟专用网络服务组件以建立虚拟网卡。
在一个实施例中,连接处理模块1106还用于获取协议栈维护代码;通过协议栈维护代码维护协议栈,以模拟服务器与目标应用间用于建立长连接的握手过程,建立虚拟连接对象与目标应用的长连接。
在一个实施例中,连接处理模块1106还用于当满足长连接终止条件时,通过协议栈维护代码维护协议栈,以模拟服务器与目标应用间用于终止长连接的挥手过程,终止虚拟连接对象与目标应用的长连接。
在一个实施例中,加解密模块1110还用于根据本地的密钥,采用对称加密方式对网络请求进行数据加密,得到加密数据;转发模块1112还用于通过虚拟连接对象,将加密数据和密钥的密钥标识转发至虚拟专用网络服务器;密钥标识用于指示虚拟专用网络服务器通过与密钥标识唯一对应的密钥对加密数据进行解密。
在一个实施例中,加解密模块1110还用于接收虚拟专用网络服务器反馈的数据处理结果和密钥标识;数据处理结果,是虚拟专用网络服务器将对加密数据进行解密后的数据发送至目标服务器后,由目标服务器处理解密后的数据得到;在本地查询与接收到的密钥标识唯一对应的密钥;根据查询到的密钥对数据处理结果进行解密;数据传递模块1108还用于将解密后得到的数据处理结果明文传递至目标应用。
如图12所示,在一个实施例中,该装置还包括检测模块1102和密钥交换模块1103,其中:
密钥交换模块1103,用于随机生成本地的密钥;根据预设的公钥对密钥进行非对称加密,得到密钥密文;将密钥密文发送至虚拟专用网络服务器;密钥密文用于指示虚拟专用网络服务器根据预设的私钥解密密钥密文得到密钥,并为密钥分配唯一的密钥标识;接收虚拟专用网络服务器反馈的密钥标识并存储于本地。
图13为一个实施例中计算机设备的内部结构示意图。参照图13,该计算机设备可以是图1中所示的终端110,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质可存储操作系统和计算机程序。该计算机程序被执行时,可使得处理器执行一种网络请求处理方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种网络请求处理方法。计算机设备的网络接口用于进行网络通信。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏等。计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该计算机设备可以是个人计算机、移动终端或车载设备,移动终端包括手机、平板电脑、个人数字助理或可穿戴设备等中的至少一种。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的网络请求处理装置可以实现为一种计算机程序的形式,计算机程序可在如图13所示的计算机设备上运行,计算机设备的非易失性存储介质可存储组成该网络请求处理装置的各个程序模块,比如,图12所示的拦截模块1104、连接处理模块1106、数据传递模块1108、加解密模块1110以及转发模块1112。各个程序模块所组成的计算机程序用于使该计算机设备执行本说明书中描述的本申请各个实施例的网络请求处理方法中的步骤,例如,计算机设备可以通过如图11所示的网络请求处理装置1100中的拦截模块1104拦截目标应用发起的网络请求,并通过连接处理模块1106建立目标应用与虚拟连接对象之间的长连接;虚拟连接对象是在本地生成。计算机设备可以通过数据传递模块1108通过长连接,将拦截的网络请求传递至虚拟连接对象。计算机设备可以通过加解密模块1110对网络请求进行数据加密,得到加密数据。计算机设备可以通过转发模块1112通过虚拟连接对象将加密数据转发。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如下步骤:拦截目标应用发起的网络请求;建立目标应用与虚拟连接对象之间的长连接;虚拟连接对象是在本地生成;通过长连接,将拦截的网络请求传递至虚拟连接对象;对网络请求进行数据加密,得到加密数据;通过虚拟连接对象将加密数据转发。
在一个实施例中,计算机程序还使得处理器执行如下步骤:检测网络请求;当检测到由执行所述网络请求处理方法的应用发起的网络请求时,将网络请求直接发送;当检测到由目标应用发起的网络请求时,执行拦截目标应用发起的网络请求的步骤。
在一个实施例中,拦截目标应用发起的网络请求,包括:通过虚拟网卡拦截目标应用发起的网络请求;虚拟网卡是通过调用虚拟专用网络服务组件建立;通过虚拟连接对象将加密数据转发,包括:通过虚拟连接对象,将加密数据转发至虚拟专用网络服务器;加密数据用于通过虚拟专用网络服务器解密后发送至目标服务器。
在一个实施例中,计算机程序还使得处理器执行如下步骤:对当前连接的无线网络进行风险检测;当检测到存在风险时,获取虚拟专用网络启用指令;响应于虚拟专用网络启用指令,调用虚拟专用网络服务组件以建立虚拟网卡。
在一个实施例中,建立目标应用与虚拟连接对象之间的长连接包括:获取协议栈维护代码;通过协议栈维护代码维护协议栈,以模拟服务器与目标应用间用于建立长连接的握手过程,建立虚拟连接对象与目标应用的长连接。
在一个实施例中,计算机程序还使得处理器执行如下步骤:当满足长连接终止条件时,通过协议栈维护代码维护协议栈,以模拟服务器与目标应用间用于终止长连接的挥手过程,终止虚拟连接对象与目标应用的长连接。
在一个实施例中,对网络请求进行数据加密,得到加密数据,包括:根据本地的密钥,采用对称加密方式对网络请求进行数据加密,得到加密数据;通过虚拟连接对象将加密数据转发,包括:通过虚拟连接对象,将加密数据和密钥的密钥标识转发至虚拟专用网络服务器;密钥标识用于指示虚拟专用网络服务器通过与密钥标识唯一对应的密钥对加密数据进行解密。
在一个实施例中,计算机程序还使得处理器执行如下步骤:接收虚拟专用网络服务器反馈的数据处理结果和密钥标识;数据处理结果,是虚拟专用网络服务器将对加密数据进行解密后的数据发送至目标服务器后,由目标服务器处理解密后的数据得到;在本地查询与接收到的密钥标识唯一对应的密钥;根据查询到的密钥对数据处理结果进行解密;将解密后得到的数据处理结果明文传递至目标应用。
在一个实施例中,计算机程序还使得处理器执行如下步骤:随机生成本地的密钥;根据预设的公钥对密钥进行非对称加密,得到密钥密文;将密钥密文发送至虚拟专用网络服务器;密钥密文用于指示虚拟专用网络服务器根据预设的私钥解密密钥密文得到密钥,并为密钥分配唯一的密钥标识;接收虚拟专用网络服务器反馈的密钥标识并存储于本地。
在一个实施例中,提供了一种存储有计算机程序的存储介质,计算机程序被处理器执行时,使得处理器执行如下步骤:拦截目标应用发起的网络请求;建立目标应用与虚拟连接对象之间的长连接;虚拟连接对象是在本地生成;通过长连接,将拦截的网络请求传递至虚拟连接对象;对网络请求进行数据加密,得到加密数据;通过虚拟连接对象将加密数据转发。
在一个实施例中,计算机程序还使得处理器执行如下步骤:检测网络请求;当检测到由执行所述网络请求处理方法的应用发起的网络请求时,将网络请求直接发送;当检测到由目标应用发起的网络请求时,执行拦截目标应用发起的网络请求的步骤。
在一个实施例中,拦截目标应用发起的网络请求,包括:通过虚拟网卡拦截目标应用发起的网络请求;虚拟网卡是通过调用虚拟专用网络服务组件建立;通过虚拟连接对象将加密数据转发,包括:通过虚拟连接对象,将加密数据转发至虚拟专用网络服务器;加密数据用于通过虚拟专用网络服务器解密后发送至目标服务器。
在一个实施例中,计算机程序还使得处理器执行如下步骤:对当前连接的无线网络进行风险检测;当检测到存在风险时,获取虚拟专用网络启用指令;响应于虚拟专用网络启用指令,调用虚拟专用网络服务组件以建立虚拟网卡。
在一个实施例中,建立目标应用与虚拟连接对象之间的长连接包括:获取协议栈维护代码;通过协议栈维护代码维护协议栈,以模拟服务器与目标应用间用于建立长连接的握手过程,建立虚拟连接对象与目标应用的长连接。
在一个实施例中,计算机程序还使得处理器执行如下步骤:当满足长连接终止条件时,通过协议栈维护代码维护协议栈,以模拟服务器与目标应用间用于终止长连接的挥手过程,终止虚拟连接对象与目标应用的长连接。
在一个实施例中,对网络请求进行数据加密,得到加密数据,包括:根据本地的密钥,采用对称加密方式对网络请求进行数据加密,得到加密数据;通过虚拟连接对象将加密数据转发,包括:通过虚拟连接对象,将加密数据和密钥的密钥标识转发至虚拟专用网络服务器;密钥标识用于指示虚拟专用网络服务器通过与密钥标识唯一对应的密钥对加密数据进行解密。
在一个实施例中,计算机程序还使得处理器执行如下步骤:接收虚拟专用网络服务器反馈的数据处理结果和密钥标识;数据处理结果,是虚拟专用网络服务器将对加密数据进行解密后的数据发送至目标服务器后,由目标服务器处理解密后的数据得到;在本地查询与接收到的密钥标识唯一对应的密钥;根据查询到的密钥对数据处理结果进行解密;将解密后得到的数据处理结果明文传递至目标应用。
在一个实施例中,计算机程序还使得处理器执行如下步骤:随机生成本地的密钥;根据预设的公钥对密钥进行非对称加密,得到密钥密文;将密钥密文发送至虚拟专用网络服务器;密钥密文用于指示虚拟专用网络服务器根据预设的私钥解密密钥密文得到密钥,并为密钥分配唯一的密钥标识;接收虚拟专用网络服务器反馈的密钥标识并存储于本地。
应该理解的是,虽然本申请各实施例中的各个步骤并不是必然按照步骤标号指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种网络请求处理方法,所述方法包括:
对网络请求的发起对象进行检测;
当检测到由网络管理应用发起的网络请求时,则不拦截网络管理应用发起的网络请求;网络管理应用是用于进行网络安全管理的应用程序;
当检测到由目标应用发起的网络请求时,则通过所述网络管理应用调用操作系统提供的、且具备网络请求拦截功能的服务组件,以拦截目标应用发起的网络请求;
通过虚拟连接对象接收并响应目标应用发出的、且用于与目标服务器之间进行握手的握手数据,以获取协议栈维护代码,并通过所述协议栈维护代码维护协议栈,以模拟服务器与目标应用间用于建立长连接的握手过程,建立所述虚拟连接对象与所述目标应用的长连接;所述虚拟连接对象是通过所述网络管理应用在本地虚拟生成的、且用于与所述目标应用建立长连接的虚拟对象;所述虚拟连接对象包含于所述网络管理应用中;
通过所述长连接,将拦截的所述网络请求传递至所述虚拟连接对象;
根据本地的密钥,采用对称加密方式对所述网络请求进行数据加密,得到加密数据;
通过所述虚拟连接对象,将所述加密数据和所述密钥的密钥标识转发至虚拟专用网络服务器;所述密钥标识用于指示所述虚拟专用网络服务器通过与所述密钥标识唯一对应的密钥对所述加密数据进行解密。
2.根据权利要求1所述的方法,其特征在于,所述通过所述网络管理应用调用操作系统提供的、且具备网络请求拦截功能的服务组件,以拦截目标应用发起的网络请求,包括:
通过虚拟网卡拦截目标应用发起的网络请求;所述虚拟网卡是通过所述网络管理应用调用虚拟专用网络服务组件建立;
所述通过所述虚拟连接对象将所述加密数据转发,包括:
通过所述虚拟连接对象,将所述加密数据转发至虚拟专用网络服务器;所述加密数据用于通过所述虚拟专用网络服务器解密后发送至目标服务器。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
对当前连接的无线网络进行风险检测;
当检测到存在风险时,获取虚拟专用网络启用指令;
响应于所述虚拟专用网络启用指令,调用虚拟专用网络服务组件以建立虚拟网卡。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当满足长连接终止条件时,通过所述协议栈维护代码维护协议栈,以模拟服务器与目标应用间用于终止长连接的挥手过程,终止所述虚拟连接对象与所述目标应用的长连接。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述虚拟专用网络服务器反馈的数据处理结果和密钥标识;所述数据处理结果,是所述虚拟专用网络服务器将对所述加密数据进行解密后的数据发送至目标服务器后,由所述目标服务器处理解密后的数据得到;
在本地查询与接收到的密钥标识唯一对应的密钥;
根据查询到的密钥对所述数据处理结果进行解密;
将解密后得到的数据处理结果明文传递至所述目标应用。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
随机生成本地的密钥;
根据预设的公钥对所述密钥进行非对称加密,得到密钥密文;
将所述密钥密文发送至虚拟专用网络服务器;所述密钥密文用于指示所述虚拟专用网络服务器根据预设的私钥解密所述密钥密文得到所述密钥,并为所述密钥分配唯一的密钥标识;
接收所述虚拟专用网络服务器反馈的所述密钥标识并存储于本地。
7.一种网络请求处理装置,其特征在于,所述装置包括:
检测模块,用于检测网络请求;当检测到由网络管理应用发起的网络请求时,则不拦截网络管理应用发起的网络请求;网络管理应用是用于进行网络安全管理的应用程序;
拦截模块,用于当检测到由目标应用发起的网络请求时,通过所述网络管理应用调用操作系统提供的、且具备网络请求拦截功能的服务组件,以拦截目标应用发起的网络请求;
连接处理模块,用于通过虚拟连接对象接收并响应目标应用发出的、且用于与目标服务器之间进行握手的握手数据,以获取协议栈维护代码,并通过所述协议栈维护代码维护协议栈,以模拟服务器与目标应用间用于建立长连接的握手过程,建立所述虚拟连接对象与所述目标应用的长连接;所述虚拟连接对象是通过所述网络管理应用在本地虚拟生成的、且用于与所述目标应用建立长连接的虚拟对象;所述虚拟连接对象包含于所述网络管理应用中;
数据传递模块,用于通过所述长连接,将拦截的所述网络请求传递至所述虚拟连接对象;
加解密模块,用于根据本地的密钥,采用对称加密方式对所述网络请求进行数据加密,得到加密数据;
转发模块,用于通过所述虚拟连接对象,将所述加密数据和所述密钥的密钥标识转发至虚拟专用网络服务器;所述密钥标识用于指示所述虚拟专用网络服务器通过与所述密钥标识唯一对应的密钥对所述加密数据进行解密。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
密钥交换模块,用于随机生成本地的密钥;根据预设的公钥对所述密钥进行非对称加密,得到密钥密文;将所述密钥密文发送至虚拟专用网络服务器;所述密钥密文用于指示所述虚拟专用网络服务器根据预设的私钥解密所述密钥密文得到所述密钥,并为所述密钥分配唯一的密钥标识;接收所述虚拟专用网络服务器反馈的所述密钥标识并存储于本地。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述方法的步骤。
10.一种存储有计算机程序的存储介质,所述计算机程序被处理器执行时,使得处理器执行如权利要求1至6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810070396.5A CN108306872B (zh) | 2018-01-24 | 2018-01-24 | 网络请求处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810070396.5A CN108306872B (zh) | 2018-01-24 | 2018-01-24 | 网络请求处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108306872A CN108306872A (zh) | 2018-07-20 |
CN108306872B true CN108306872B (zh) | 2022-03-18 |
Family
ID=62866461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810070396.5A Active CN108306872B (zh) | 2018-01-24 | 2018-01-24 | 网络请求处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108306872B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547490B (zh) * | 2019-01-03 | 2023-04-07 | 深圳壹账通智能科技有限公司 | 监护方法、装置和存储介质 |
CN110808975B (zh) * | 2019-10-31 | 2021-11-19 | 广州润铂晟信息技术有限公司 | 敏感数据传输方法、装置、计算机设备和存储介质 |
CN111490988B (zh) * | 2020-04-10 | 2022-07-15 | 海南简族信息技术有限公司 | 一种数据传输方法、装置、设备及计算机可读存储介质 |
CN114650243B (zh) * | 2020-12-18 | 2024-02-06 | 北京小米移动软件有限公司 | 网络延时检测方法及装置、移动终端及存储介质 |
CN117793705A (zh) * | 2024-02-26 | 2024-03-29 | 中电科网络安全科技股份有限公司 | 一种高精度地图数据传输方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604534A (zh) * | 2003-09-29 | 2005-04-06 | 华为技术有限公司 | 用户通过业务数据携带密钥信息的方式获取密钥的方法 |
CN101167332A (zh) * | 2005-04-25 | 2008-04-23 | 艾利森电话股份有限公司 | Vpn代理管理对象 |
CN101815091A (zh) * | 2010-03-12 | 2010-08-25 | 薛明 | 密码提供设备、密码认证系统和密码认证方法 |
EP2232810A1 (en) * | 2008-01-08 | 2010-09-29 | Scansafe Limited | Automatic proxy detection and traversal |
CN103840994A (zh) * | 2012-11-23 | 2014-06-04 | 华耀(中国)科技有限公司 | 一种用户端通过 vpn 访问内网的系统及方法 |
CN105100095A (zh) * | 2015-07-17 | 2015-11-25 | 北京奇虎科技有限公司 | 移动终端应用程序安全交互方法及装置 |
CN106686091A (zh) * | 2016-12-30 | 2017-05-17 | 广州尚融网络科技有限公司 | 一种虚拟通道控制方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10511573B2 (en) * | 1998-10-30 | 2019-12-17 | Virnetx, Inc. | Agile network protocol for secure communications using secure domain names |
CN113343210A (zh) * | 2015-01-26 | 2021-09-03 | 移动熨斗公司 | 提供访问控制和单点登录的身份代理 |
-
2018
- 2018-01-24 CN CN201810070396.5A patent/CN108306872B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604534A (zh) * | 2003-09-29 | 2005-04-06 | 华为技术有限公司 | 用户通过业务数据携带密钥信息的方式获取密钥的方法 |
CN101167332A (zh) * | 2005-04-25 | 2008-04-23 | 艾利森电话股份有限公司 | Vpn代理管理对象 |
EP2232810A1 (en) * | 2008-01-08 | 2010-09-29 | Scansafe Limited | Automatic proxy detection and traversal |
CN101815091A (zh) * | 2010-03-12 | 2010-08-25 | 薛明 | 密码提供设备、密码认证系统和密码认证方法 |
CN103840994A (zh) * | 2012-11-23 | 2014-06-04 | 华耀(中国)科技有限公司 | 一种用户端通过 vpn 访问内网的系统及方法 |
CN105100095A (zh) * | 2015-07-17 | 2015-11-25 | 北京奇虎科技有限公司 | 移动终端应用程序安全交互方法及装置 |
CN106686091A (zh) * | 2016-12-30 | 2017-05-17 | 广州尚融网络科技有限公司 | 一种虚拟通道控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108306872A (zh) | 2018-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108306872B (zh) | 网络请求处理方法、装置、计算机设备和存储介质 | |
US11303431B2 (en) | Method and system for performing SSL handshake | |
CN109413201B (zh) | Ssl通信方法、装置及存储介质 | |
CN109347835A (zh) | 信息传输方法、客户端、服务器以及计算机可读存储介质 | |
AU2016369606A1 (en) | Systems and methods for secure multi-party communications using a proxy | |
US9674157B2 (en) | Secure network communication | |
CN105634737B (zh) | 一种数据传输方法、终端及其系统 | |
US20200351107A1 (en) | Secure authentication of remote equipment | |
CN102833253A (zh) | 建立客户端与服务器安全连接的方法及服务器 | |
US10601590B1 (en) | Secure secrets in hardware security module for use by protected function in trusted execution environment | |
CN104967590B (zh) | 一种传输通信消息的方法、装置和系统 | |
CN110191052B (zh) | 一种跨协议网络传输方法及系统 | |
US10084763B2 (en) | Methods and systems for establishing secure communication between devices via at least one intermediate device | |
US20160315915A1 (en) | Method for accessing a data memory of a cloud computer system using a modified domain name system (dns) | |
KR20180038496A (ko) | 서비스 처리 방법 및 장치 | |
WO2015027931A1 (en) | Method and system for realizing cross-domain remote command | |
US8504832B2 (en) | Mobile terminal for sharing resources, method of sharing resources within mobile terminal and method of sharing resources between web server and terminal | |
US9219712B2 (en) | WAN optimization without required user configuration for WAN secured VDI traffic | |
EP3522443B1 (en) | Communication apparatus, communication method, and program | |
US20160036792A1 (en) | Systems, apparatus, and methods for private communication | |
Burgstaller et al. | Anonymous communication in the browser via onion-routing | |
CN110995730B (zh) | 数据传输方法、装置、代理服务器和代理服务器集群 | |
CN114244569B (zh) | Ssl vpn远程访问方法、系统和计算机设备 | |
CN114268499B (zh) | 数据传输方法、装置、系统、设备和存储介质 | |
CN107209751A (zh) | 业务处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |