CN109818910B - 一种数据传输方法、装置和介质 - Google Patents

一种数据传输方法、装置和介质 Download PDF

Info

Publication number
CN109818910B
CN109818910B CN201711167940.XA CN201711167940A CN109818910B CN 109818910 B CN109818910 B CN 109818910B CN 201711167940 A CN201711167940 A CN 201711167940A CN 109818910 B CN109818910 B CN 109818910B
Authority
CN
China
Prior art keywords
data packet
data
application server
port
data transmission
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
Application number
CN201711167940.XA
Other languages
English (en)
Other versions
CN109818910A (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.)
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information 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 China Mobile Communications Group Co Ltd, China Mobile Hangzhou Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201711167940.XA priority Critical patent/CN109818910B/zh
Publication of CN109818910A publication Critical patent/CN109818910A/zh
Application granted granted Critical
Publication of CN109818910B publication Critical patent/CN109818910B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种数据传输方法、装置和介质,用以实现客户端应用程序与应用服务器之间进行安全数据传输的同时,简化用户操作,提高用户体验。所述数据传输方法,包括:拦截客户端应用程序向应用服务器发送的数据包;根据所述应用服务器的网络地址和端口对所述数据包进行互联网协议IP数据包封装;将所述IP数据包加密后通过安全传输通道发送给安全服务器,由所述安全服务器对所述SSL数据包进行解密后发送给所述应用服务器。

Description

一种数据传输方法、装置和介质
技术领域
本发明涉及网络通信技术领域,尤其涉及一种数据传输方法、装置和介质。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。 此处的描述不因为包括在本部分中就承认是现有技术。
随着移动通信技术的飞速发展和移动多媒体时代的到来,手机作为人们必 备的移动通信工具,已从简单的通话工具向智能化发展,演变成一个移动的信 息收集和处理平台。在当前移动互联网时代,手机作为一种常见的终端,充当 重要的角色。
传统的基于C/S(Client/Server,客户端/服务器)架构的应用中,一般由 客户端应用程序及服务器端应用程序相互配合为用户提供服务。客户端应用程 序是指安装在终端上,且能够与网络侧的应用服务器进行信息交互,通过与服 务器端应用程序的相互配合运行,为用户提供服务的客户端应用程序。
由于用户可能是通过连接安全性未知的WiFi热点等来接入应用服务器的, 连接通道中可能存在对数据包进行嗅探、修改、重放等恶意攻击,为了保证应 用程序客户端与应用服务器间的数据传输安全,现有技术通常采用以下两种解 决方案:一种是对客户端应用程序和应用服务器进行改造,如将通信方式升级 为TLS(Transport Layer SecurityProtocol,安全传输层协议)和HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer,超文本传输安全协议)等安全 通信方式。相应在客户端应用程序和应用服务器端进行代码和配置的改造升 级。另一种是使用手机VPN(Virtual Private Network,虚拟专用网络)在手机 与应用服务器网络间建立安全通道,这样客户端应用程序和应用服务器均不需 要做改动。
采用第一种即升级应用程序客户端与应用服务器协议为安全协议的方法 需要针对客户端应用程序和应用服务器端做代码、配置等的改动,维护证书等。 对于复杂的应用来说,因为可能涉及到多个服务,有的可能是第三方服务,所 以可能比较繁琐耗时甚至难以推动改造。而对于第二种方式,针对移动操作系 统提出的VPN,在iOS操作系统上,用户需要手动配置或者安装配置文件,或 者安装设备管理的配置文件然后由设备管理服务器推送配置。在Android操作 系统上,除虚拟网卡类型的VPN外,也是和iOS类似地需要额外手动或者推 送配置,但是Android上的虚拟网卡型VPN会弹框警示用户连接VPN会截获 所有数据,需要用户点击同意。两种系统中,连接两种VPN后状态栏都会有 VPN标志显示,而且两种系统中,虚拟网卡型的VPN需要用户额外先安装VPN App如OpenVPN。
由此可见,现有的实现客户端应用程序与应用服务器之间数据传输安全的 方法操作比较繁琐,用户体验不佳。
发明内容
本发明实施例提供一种数据传输方法、装置和介质,用以实现客户端应用 程序与应用服务器之间进行安全数据传输的同时,简化用户操作,提高用户体 验。
第一方面,提供一种数据传输方法,包括:
拦截客户端应用程序向应用服务器发送的数据包;
根据所述应用服务器的网络地址和端口对所述数据包进行互联网协议IP 数据包封装;
将所述IP数据包加密后通过安全传输通道发送给安全服务器,由所述安 全服务器对所述SSL数据包进行解密后发送给所述应用服务器。
可选地,拦截客户端应用程序向应用服务器发送的数据包,具体包括:
监听客户端应用程序发起的数据传输请求;
如果监听到所述数据传输请求为预设的数据传输请求时,则首先记录所述 数据传输请求中的原始目的地址和原始目的端口,然后修改所述数据传输请求 中的目的地址和目的端口为预设的目的地址和目的端口。
可选地,在根据所述应用服务器的网络地址和端口对所述数据包进行互联 网协议IP数据包封装之前,还包括:
检测所述数据包中传输的数据类型;以及
根据所述应用服务器的网络地址和端口对所述数据包进行互联网协议IP 数据包封装,具体包括:
根据检测结果确定所述数据包中传输的数据为预设类型数据时,根据所述 应用服务器的网络地址和端口对所述数据包进行互联网协议IP数据包封装。
可选地,检测所述数据包中传输的数据类型,具体包括:
检测所述数据包采用的传输协议;
根据所述数据包采用的传输协议,确定所述数据包中传输的数据类型。
第二方面,提供一种数据传输装置,包括:
拦截单元,用于拦截客户端应用程序向应用服务器发送的数据包;
封装单元,用于根据所述应用服务器的网络地址和端口对所述数据包进行 互联网协议IP数据包封装;
加密单元,用于对所述IP数据包加密;
发送单元,用于将所述加密单元加密后的数据包通过安全传输通道发送给 安全服务器,由所述安全服务器对所述SSL数据包进行解密后发送给所述应用 服务器。
可选地,所述拦截单元,具体包括:
监听子单元,用于监听客户端应用程序发起的数据传输请求;
修改子单元,用于如果监听到所述数据传输请求为预设的数据传输请求 时,则首先记录所述数据传输请求中的原始目的地址和原始目的端口,然后修 改数据传输请求中的目的地址和目的端口为预设的目的地址和目的端口。
可选地,所述数据传输装置还包括数据包检测单元,其中:
数据包检测单元,用于在所述封装单元根据所述应用服务器的网络地址和 端口对所述数据包进行互联网协议IP数据包封装之前,检测所述数据包中传 输的数据类型;
所述封装单元,用于根据所述数据包检测单元的检测结果确定所述数据包 中传输的数据为预设类型数据时,根据所述应用服务器的网络地址和端口对所 述数据包进行互联网协议IP数据包封装。
可选地,所述数据包检测单元,具体用于检测所述数据包采用的传输协议; 根据所述数据包采用的传输协议,确定所述数据包中传输的数据类型。
第三方面,提供一种计算装置,包括至少一个处理单元、以及至少一个存 储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元 执行时,使得所述处理单元执行上述任一方法所述的步骤。
第四方面,提供一种计算机可读介质,其存储有可由计算装置执行的计算 机程序,当所述程序在计算装置上运行时,使得所述计算装置执行上述任一方 法所述的步骤。
本发明实施例提供的数据传输方法、装置和介质中,通过拦截客户端应用 程序向应用服务器发送的数据包,对拦截到的数据包进行IP数据包封装并加 密后发送给网络侧的安全服务器,由网络侧的安全服务器发送给应用服务器, 上述过程中,对于用户是无感知的,由此,简化了用户操作,提高了用户体验。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明 书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可 通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获 得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部 分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不 当限定。在附图中:
图1为根据本发明实施方式的应用场景示意图;
图2为根据本发明实施方式的数据传输方法的实施流程示意图;
图3为根据本发明实施方式的数据传输装置的结构示意图;
图4为根据本发明实施方式的计算装置的结构示意图。
具体实施方式
为了在实现客户端应用程序与应用服务器之间进行安全数据传输的同时, 简化用户操作,提高用户体验,本发明实施例提供了一种数据传输方法、装置 和介质。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所 描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不 冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
如图1所示,其为本发明实施例的应用场景示意图,终端11中安装有客 户端应用程序(APP),本发明实施例中,在终端本地增加数据包括中转服务, 具体地,在APP内通过hook(钩子)标准socket(连接)几个方法引导APP 将数据包发送到本地开启的中转服务中,再由中转服务将获得的数据包进行IP 数据包封装,之后再对IP数据包加密后通过安全传输通道发送给网络侧的安 全服务器12,由安全服务器12发送给应用服务器13。
下面结合图1的应用场景,参考图2来描述根据本发明示例性实施方 式的数据传输方法。需要注意的是,上述应用场景仅是为了便于理解本发 明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反, 本发明的实施方式可以应用于适用的任何场景。
如图2所示,其为本发明实施例提供的数据传输方法的实施流程示意图, 可以包括以下步骤:
S21、拦截客户端应用程序向应用服务器发送的数据包。
S22、根据所述应用服务器的网络地址和端口对所述数据包进行互联网协 议IP数据包封装。
S23、将所述IP数据包加密后通过安全传输通道发送给安全服务器,由所 述安全服务器对所述SSL数据包进行解密后发送给所述应用服务器。
具体实施时,步骤S21中可以通过监听客户端应用程序发起的数据传输请 求,如果监听到所述数据传输请求为预设的数据传输请求时,则首先记录所述 数据传输请求中的原始目的地址和原始目的端口,然后修改所述数据传输请求 中的目的地址和目的端口为预设的目的地址和目的端口。这样,在步骤S22中 以记录的数据传输请求中的原始目的地址和原始目的端口作为应用服务器的 网络地址和端口对数据包进行IP数据包封装。
具体实施时,本发明实施例中,可以通过hook技术监听APP发出的数据 传输请求,通过改变数据传输请求的目的IP地址和目的端口为预设的本地监 听地址和端口。其中,对于TCP(传输控制协议/互联网协议)协议,可以hook connect请求,对于UDP(用户数据报协议),可以hook sendto请求和recvfrom 请求。
具体地,在hook到预设的数据传输请求(假设为socketA)时,首先记录 hook到的数据传输请求中的原始目的地址和原始目的端口,然后修改hook到 的数据传输请求中的原始目的地址和端口为本地终端服务的监听地址和端口, 再继续调用被hook的原始请求,例如,被hook的原来的connect请求,获得 其源IP地址和端口以及原始目的地址和端口通知中转服务,建立获得的源IP 地址和端口以及原始目的地址和端口之间的对应关系并添加至地址对应关系 表中。
中转服务接收(accept)得到的socket(假设为socketB)后,首先获取socketB 的源IP地址和端口(即hook的connect请求的源IP地址和端口),然后从地 址对应关系表中查找socketB的源IP地址和端口对应的原始目的地址和端口, 根据两者之间的对应关系,后续数据传输过程中可以从socketB收发数据包。 这样,本发明实施例中,无需对APP应用程序代码本身做任何修改,通过本 地中转服务可以获得APP向应用服务器发送的数据包以及APP发起的数据传 输请求的原始发送信息(包括源IP地址和端口以及原始的目的IP地址和端口)。
在获得了APP向应用服务器发送的数据包之后,为了在步骤S23中利用 安全传输通过传输给网络侧的安全服务器,本发明实施例中,还需要将获得的 数据包转换为标准的IP数据包,需要说明的是本发明实施例中,在应用层进 行IP数据包转换,而不是调用操作系统本身的协议栈进行IP数据包的转换。 具体实施时,可以采用TCP/IP协议栈将应用层数据包转换为IP数据包。
最后,将转换得到的IP数据包通过SSL(安全套接层协议)/TLS(安全 传输层协议)的VPN后端通道加密传输到安全服务器,安全服务器在接收到 SSL/TLS数据包之后,将其解密后转发给应用服务器进行处理。
需要说明的是,本发明实施例中,使用了SSL/TLS VPN的后端通道, 而无需使用其全段的用来截获数据包的虚拟网卡部分,因此,根据本发明实施 例提供的数据传输方法不存在针对移动操作系统提出的VPN的用户操作体验 不佳的问题。
较佳地,具体实施时,为了提高数据传输效率,在执行步骤S12之前,还 可以检测所述数据包中传输的数据类型;在步骤S12中,根据检测结果确定所 述数据包中传输的数据为预设类型数据时,根据所述应用服务器的网络地址和 端口对所述数据包进行互联网协议IP数据包封装。具体地,可以检测所述数 据包采用的传输协议;根据所述数据包采用的传输协议,确定所述数据包中传 输的数据类型。例如,对于数据包传输的数据为视频数据时,则无需进行处理, 直接转发给应用服务器即可,如果数据包中传输的数据为其他类型的数据,则 按照本发明实施例提供的方法进行应用层IP数据包封装后通过SSL加密传输给安全服务器,由安全服务器发送给应用服务器进行处理。
为了更好地理解本发明实施例,以下分别以APP进行一次TCP/IP连接请 求和UDP连接请求为例对本发明实施例的具体实施过程进行说明。
一、TCP/IP连接请求。
具体实施时,监听APP发起的TCP数据传输请求,如果确定该TCP请求 为预设的数据传输请求时,例如,为connect请求时,则首先记录该connect 请求的原始目的IP地址和端口,然后修改该请求中的目的IP地址和端口为预 设的本地地址和端口,并继续调用原来的connect请求,以获得该请求的原始 发送信息,包括源IP地址和端口,原来的目的地址和端口等,在获得APP发 送给应用服务器的数据包之后,首先进行数据包检测,以确定待发送数据的数 据类型,如果是预设类型数据,则将从APP接收到的数据包,根据获得的该 请求原来的目的地址和端口通过应用层进行IP数据包封装转换成IP数据包, 再将IP数据包加密后通过安全传输通道传输到安全服务器。需要说明的是, 对于从安全服务器接收到的数据包,则按照逆向流程转换为应用层数据包,在 返回给APP即可,本发明实施例中不再赘述。
二、UDP连接
App如果使用UDP协议发送请求(包括Java层的java.net.DatagramSocket 和JNI层的UDP socket)时,则需要hook sendto和recvfrom请求,确定hook 到sendto和recvfrom请求时,修改这两个请求传入参数中的目的IP地址和端 口,而对于少数用到了sendmsg等高级方法的应用,则可能要增加hook sendmsg,recvmsg,甚至仅在linux有的sendmmsg和recvmmsg方法。而后面 每次App发送/接收一个应用数据包,被hook的sendto/recvfrom等都会被调 用一次,即需要进行一次地址端口修改。其余步骤则与TCP请求是类似的, 这里不再赘述。
具体实施时,对于App和服务器的集成和部署方式可以有以下两种方如 下:
在为应用引入数据传输保护的方式上,一种是加固方式,一种是SDK方 式。加固方式,开发者需要把应用的APK上传到指定的服务器,将本发明实 施例提供的数据传输方法打包进应用后返回新的APK给开发者。SDK方式, 是指可以提供本发明实施例提供的数据传输方法的SDK包给开发者,开发者 在开发时调用提供指定的接口(例如可以为startVPN)即可以开启数据传输保 护。
关于安全服务器的部署方式上,可以提供云部署和入驻式部署两种方式。 云部署为部署到公共机房里,入驻式部署为部署到开发者自己的机房中。
本发明实施例提供的数据传输方法、装置和介质中,通过拦截客户端应用 程序向应用服务器发送的数据包,对拦截到的数据包进行IP数据包封装并加 密后通过安全传输通道发送给网络侧的安全服务器,由网络侧的安全服务器发 送给应用服务器,上述过程中,对于用户是无感知的,由此,简化了用户操作, 提高了用户体验。
基于同一发明构思,本发明实施例中还提供了一种数据传输装置,由于上 述装置解决问题的原理与数据传输方法相似,因此上述装置的实施可以参见方 法的实施,重复之处不再赘述。
如图3所示,其为本发明实施例提供的数据传输装置的结构示意图,包括:
拦截单元31,用于拦截客户端应用程序向应用服务器发送的数据包;
封装单元32,用于根据所述应用服务器的网络地址和端口对所述数据包进 行互联网协议IP数据包封装;
加密单元33,用于对所述IP数据包加密;
发送单元34,用于将所述加密单元加密后的数据包通过安全传输通道发送 给安全服务器,由所述安全服务器对所述SSL数据包进行解密后发送给所述应 用服务器。
可选地,所述拦截单元,具体包括:
监听子单元,用于监听客户端应用程序发起的数据传输请求;
修改子单元,用于如果监听到所述数据传输请求为预设的数据传输请求 时,则首先记录所述数据传输请求中的原始目的地址和原始目的端口,然后修 改所述数据传输请求中的目的地址和目的端口为预设的目的地址和目的端口。
可选地,所述数据传输装置还包括数据包检测单元,其中:
数据包检测单元,用于在所述封装单元根据所述应用服务器的网络地址和 端口对所述数据包进行互联网协议IP数据包封装之前,检测所述数据包中传 输的数据类型;
所述封装单元,用于根据所述数据包检测单元的检测结果确定所述数据包 中传输的数据为预设类型数据时,根据所述应用服务器的网络地址和端口对所 述数据包进行互联网协议IP数据包封装。
可选地,所述数据包检测单元,具体用于检测所述数据包采用的传输协议; 根据所述数据包采用的传输协议,确定所述数据包中传输的数据类型。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。 当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或 硬件中实现。
在介绍了本发明示例性实施方式的数据传输方法和装置之后,接下来,介 绍根据本发明的另一示例性实施方式的计算装置。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、 方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完 全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和 软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的计算装置可以至少包括至少一个 处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当 所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述描 述的根据本发明各种示例性实施方式的数据传输方法中的步骤。例如,所述处 理单元可以执行如图2中所示的步骤S21、拦截客户端应用程序向应用服务器 发送的数据包,和步骤S22、根据所述应用服务器的网络地址和端口对所述数 据包进行互联网协议IP数据包封装,以及步骤S23、将所述IP数据包加密后 通过安全传输通道发送给安全服务器,由所述安全服务器对所述SSL数据包进 行解密后发送给所述应用服务器。
下面参照图4来描述根据本发明的这种实施方式的计算装置40。图4显示 的计算装置40仅仅是一个示例,不应对本发明实施例的功能和使用范围带来 任何限制。
如图4所示,计算装置40以通用计算设备的形式表现。计算装置40的组 件可以包括但不限于:上述至少一个处理单元41、上述至少一个存储单元42、 连接不同系统组件(包括存储单元42和处理单元41)的总线43。
总线43表示几类总线结构中的一种或多种,包括存储器总线或者存储器 控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总 线。
存储单元42可以包括易失性存储器形式的可读介质,例如随机存取存储 器(RAM)421和/或高速缓存存储器422,还可以进一步包括只读存储器(ROM) 423。
存储单元42还可以包括具有一组(至少一个)程序模块424的程序/实用 工具425,这样的程序模块424包括但不限于:操作系统、一个或者多个应用 程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包 括网络环境的实现。
计算装置40也可以与一个或多个外部设备44(例如键盘、指向设备等) 通信,还可与一个或者多个使得用户能与计算装置40交互的设备通信,和/或 与使得该计算装置40能与一个或多个其它计算设备进行通信的任何设备(例 如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口 45进行。并且,计算装置40还可以通过网络适配器46与一个或者多个网络(例 如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图 所示,网络适配器46通过总线43与用于计算装置40的其它模块通信。应当 理解,尽管图中未示出,可以结合计算装置40使用其它硬件和/或软件模块, 包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID 系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本发明提供的数据传输方法的各个方面还可以 实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备 上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据 本发明各种示例性实施方式的数据传输方法中的步骤,例如,所述计算机设备 可以执行如图2中所示的步骤S21、拦截客户端应用程序向应用服务器发送的 数据包,和步骤S22、根据所述应用服务器的网络地址和端口对所述数据包进 行互联网协议IP数据包封装,以及步骤S23、将所述IP数据包加密后通过安 全传输通道发送给安全服务器,由所述安全服务器对所述SSL数据包进行解密 后发送给所述应用服务器。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是 可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于—— 电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的 组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个 导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、 可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器 (CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本发明的实施方式的用于数据传输的程序产品可以采用便携式紧凑盘只 读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本发 明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程 序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合 使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其 中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但 不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以 是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用 于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作 的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++ 等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语 言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、 作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执 行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中, 远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网 (WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用 因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是 这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上 文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文 描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非 要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的 操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤 合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计 算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结 合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包 含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、 CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产 品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和 /或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/ 或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入 式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算 机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一 个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设 备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中 的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个 流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使 得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处 理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个 流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基 本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要 求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发 明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种数据传输方法,其特征在于,包括:
通过hook技术监听客户端应用程序发出的数据传输请求,拦截客户端应用程序向应用服务器发送的数据包;
根据所述应用服务器的网络地址和端口,并由在安装有客户端应用程序的终端上的中转服务,在应用层对所述数据包进行互联网协议IP数据包封装;
将所述IP数据包加密后通过安全传输通道发送给安全服务器,由所述安全服务器对所述SSL数据包进行解密后发送给所述应用服务器,其中,所述IP数据包通过SSL/TLS的VPN后端通道传输到安全服务器。
2.如权利要求1所述的方法,其特征在于,拦截客户端应用程序向应用服务器发送的数据包,具体包括:
监听客户端应用程序发起的数据传输请求;
如果监听到所述数据传输请求为预设的数据传输请求时,则首先记录所述数据传输请求中的原始目的地址和原始目的端口,然后修改所述数据传输请求中的目的地址和目的端口为预设的目的地址和目的端口。
3.如权利要求1或2所述的方法,其特征在于,在根据所述应用服务器的网络地址和端口对所述数据包进行互联网协议IP数据包封装之前,还包括:
检测所述数据包中传输的数据类型;以及
根据所述应用服务器的网络地址和端口对所述数据包进行互联网协议IP数据包封装,具体包括:
根据检测结果确定所述数据包中传输的数据为预设类型数据时,根据所述应用服务器的网络地址和端口对所述数据包进行互联网协议IP数据包封装。
4.如权利要求3所述的方法,其特征在于,检测所述数据包中传输的数据类型,具体包括:
检测所述数据包采用的传输协议;
根据所述数据包采用的传输协议,确定所述数据包中传输的数据类型。
5.一种数据传输装置,其特征在于,包括:
拦截单元,用于通过hook技术监听客户端应用程序发出的数据传输请求,拦截客户端应用程序向应用服务器发送的数据包;
封装单元,用于根据所述应用服务器的网络地址和端口,并由在安装有客户端应用程序的终端上的中转服务,在应用层对所述数据包进行互联网协议IP数据包封装;
加密单元,用于对所述IP数据包加密;
发送单元,用于将所述加密单元加密后的数据包通过安全传输通道发送给安全服务器,由所述安全服务器对所述SSL数据包;
进行解密后发送给所述应用服务器,其中,所述IP数据包通过SSL/TLS的VPN后端通道传输到安全服务器。
6.如权利要求5所述的装置,其特征在于,所述拦截单元,具体包括:
监听子单元,用于监听客户端应用程序发起的数据传输请求;
修改子单元,用于如果监听到所述数据传输请求为预设的数据传输请求时,则首先记录所述数据传输请求中的原始目的地址和原始目的端口,然后修改所述数据传输请求中的目的地址和目的端口为预设的目的地址和目的端口。
7.如权利要求5或6所述的装置,其特征在于,还包括数据包检测单元,其中:
数据包检测单元,用于在所述封装单元根据所述应用服务器的网络地址和端口对所述数据包进行互联网协议IP数据包封装之前,检测所述数据包中传输的数据类型;
所述封装单元,用于根据所述数据包检测单元的检测结果确定所述数据包中传输的数据为预设类型数据时,根据所述应用服务器的网络地址和端口对所述数据包进行互联网协议IP数据包封装。
8.根据权利要求7所述的装置,其特征在于,
所述数据包检测单元,具体用于检测所述数据包采用的传输协议;根据所述数据包采用的传输协议,确定所述数据包中传输的数据类型。
9.一种计算装置,其特征在于,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行权利要求1~4任一权利要求所述方法的步骤。
10.一种计算机可读介质,其特征在于,其存储有可由计算装置执行的计算机程序,当所述程序在计算装置上运行时,使得所述计算装置执行权利要求1~4任一所述方法的步骤。
CN201711167940.XA 2017-11-21 2017-11-21 一种数据传输方法、装置和介质 Active CN109818910B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711167940.XA CN109818910B (zh) 2017-11-21 2017-11-21 一种数据传输方法、装置和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711167940.XA CN109818910B (zh) 2017-11-21 2017-11-21 一种数据传输方法、装置和介质

Publications (2)

Publication Number Publication Date
CN109818910A CN109818910A (zh) 2019-05-28
CN109818910B true CN109818910B (zh) 2022-07-01

Family

ID=66600545

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711167940.XA Active CN109818910B (zh) 2017-11-21 2017-11-21 一种数据传输方法、装置和介质

Country Status (1)

Country Link
CN (1) CN109818910B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112118594A (zh) * 2020-08-07 2020-12-22 深圳市圣麾科技有限公司 数据上传方法、下载方法、电子设备及存储介质
CN111953707A (zh) * 2020-08-24 2020-11-17 成都卫士通信息产业股份有限公司 Ssl vpn系统及数据传输方法、系统和存储介质
CN112118091B (zh) * 2020-09-22 2021-04-23 郑州嘉晨电器有限公司 一种数据加密总线自适应的工业设备远程系统升级方法
CN112511526B (zh) * 2020-11-25 2023-01-24 深圳致星科技有限公司 数据传输方法、设备和可读存储介质
CN112929359B (zh) * 2021-02-01 2023-05-16 深信服科技股份有限公司 一种代理解密的方法及装置、终端、存储介质
CN113765933B (zh) * 2021-09-16 2022-11-25 杭州安恒信息技术股份有限公司 一种流量加解密方法及计算机可读存储介质
CN116668557B (zh) * 2023-08-02 2023-11-14 苏州浪潮智能科技有限公司 一种数据传输方法、系统、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114952A (zh) * 2007-08-28 2008-01-30 飞思达技术(北京)有限公司 基于数据流重定向的voip/ngn监听、监控方法及系统
CN101662357A (zh) * 2008-08-29 2010-03-03 公安部第三研究所 一种安全网关客户端的访问方法
CN103916394A (zh) * 2014-03-31 2014-07-09 魏强 公共wifi环境下的数据传输方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003117B2 (en) * 2003-02-05 2006-02-21 Voltage Security, Inc. Identity-based encryption system for secure data distribution
CN105450556B (zh) * 2014-09-24 2019-08-30 北京佰才邦技术有限公司 信息传输方法和装置
CN106101056B (zh) * 2016-05-12 2018-10-26 山东渔翁信息技术股份有限公司 一种代理软件软件架构中数据处理方法及让ie浏览器基于国密ssl协议通信的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114952A (zh) * 2007-08-28 2008-01-30 飞思达技术(北京)有限公司 基于数据流重定向的voip/ngn监听、监控方法及系统
CN101662357A (zh) * 2008-08-29 2010-03-03 公安部第三研究所 一种安全网关客户端的访问方法
CN103916394A (zh) * 2014-03-31 2014-07-09 魏强 公共wifi环境下的数据传输方法及系统

Also Published As

Publication number Publication date
CN109818910A (zh) 2019-05-28

Similar Documents

Publication Publication Date Title
CN109818910B (zh) 一种数据传输方法、装置和介质
CN106713320B (zh) 终端数据传输的方法和装置
CN111628976B (zh) 一种报文处理方法、装置、设备及介质
US10447658B2 (en) System and method for providing improved optimization for secure session connections
CN109672602B (zh) 一种远程接入vpn的方法和设备
EP3182324B1 (en) System and method for secure communications between a computer test tool and a cloud-based server
CN111614683B (zh) 一种数据处理方法、装置、系统及一种网卡
JP6229800B2 (ja) 解析システム、解析方法、及び、解析プログラム
KR20180079324A (ko) 디바이스들 사이의 보안 연관을 위한 인터넷 키 교환 (ike)
CN111600914B (zh) 一种数据传输方法、服务端和客户端
CN111756751B (zh) 报文传输方法、装置及电子设备
JP6195465B2 (ja) 同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理
CN114301967B (zh) 窄带物联网控制方法、装置及设备
WO2016047111A1 (ja) 解析システム、解析装置、解析方法、及び、解析プログラムが記録された記憶媒体
CN114980100A (zh) 业务数据分流方法、装置、电子设备及存储介质
CN113542431A (zh) 信息处理方法、装置、电子设备及存储介质
CN114697355A (zh) 一种数据处理方法及物联网网关设备
KR102289124B1 (ko) 사물통신의 보안을 위한 가상 사설망 구성방법 및 그를 위한 장치
CN102857507A (zh) 磁盘映射方法及磁盘映射系统
WO2016047110A1 (ja) 解析システム、解析装置、解析方法、及び、解析プログラムが記録された記録媒体
US11824684B2 (en) Systems and methods for control channel tunneling
KR20140124189A (ko) 전자 장치에서 파일 전송 장치 및 방법
US11777997B2 (en) Method, apparatus, device and storage medium of data acquisition
JP2017102559A (ja) マルウェア判定装置、マルウェア判定方法、及び、マルウェア判定プログラム
CN117675354A (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