CN113810396A - 一种数据管控方法、装置、电子设备及存储介质 - Google Patents
一种数据管控方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113810396A CN113810396A CN202111043482.5A CN202111043482A CN113810396A CN 113810396 A CN113810396 A CN 113810396A CN 202111043482 A CN202111043482 A CN 202111043482A CN 113810396 A CN113810396 A CN 113810396A
- Authority
- CN
- China
- Prior art keywords
- target
- client
- server
- data packet
- certificate
- 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.)
- Pending
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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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
本发明实施例提供一种数据管控方法、装置、电子设备及存储介质,该方法应用于代理服务器,包括:建立与目标客户端和目标服务器的SSL连接,并获取所述目标客户端与所述目标服务器进行数据传输时用于对传输数据进行加密的秘钥;拦截所述目标客户端向所述目标服务器发送的处于加密状态的第一数据包,并通过所述秘钥对所述第一数据包进行解密得到第一解密数据包;在确定所述第一解密数据包满足所述目标客户端对应的外发管控条件的情况下,将拦截的处于加密状态的所述第一数据包发送至所述目标服务器。本发明通过代理服务器实现了对目标客户端与目标服务器之间传输的加密的数据包进行管控的目的。
Description
技术领域
本发明涉及信息安全技术领域,特别涉及一种数据管控方法、装置、电子设备及存储介质。
背景技术
随着信息科学与互联网技术的飞跃发展,安全问题愈演愈烈,网络与信息安全已获得到前所未有的关注。其中,数据防泄漏系统作为数据安全的终端防护手段,需要对数据进行安全管控。
传统网络拦截通过SPI(Service Provider Interface,服务提供接口)截包技术或者hook网络通信函数来实现,内部实现是通过加载WS2_32.DLL调用winsock网络接口。该方式拦截不够严密,有数据泄露的风险。首先,在特定应用情况下,如在新版的IE11(Internet Explorer 11,第11代网页浏览器)增加了增强型保护模式,IE11不再使用WS2_32.DLL调用winsock网络接口。在这种应用程序中传统网络拦截方式不能够拦截到网络数据。其次,在同一台计算机安装带有传统网络拦截技术的不同软件,可能会引起不同程度的访问冲突,造成软件之间互相干扰。因此,需要一种新的网络拦截方式,不再局限于应用程序的网络传输方式和网络拦截应用的安装环境,能够更全面,更安全的拦截到网络数据。
目前市场上针对HTTP(Hypertext Transfer Protocol,超文本传输协议)的管控方法,主要是通过TDI(Transport Driver Interface,传输层驱动接口)实现。但是TDI无法针对HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer,超文本传输安全协议)数据包即加密数据包进行外发接收数据进行管控,因此,需要一种网络拦截方式,能够对加密数据包的外发和接收进行管控。
发明内容
本发明实施例提供了一种数据管控方法、装置、电子设备及存储介质,以解决如何对加密数据包进行管控的问题。
第一方面,本发明实施例提供了一种数据管控方法,应用于代理服务器,所述方法包括:
建立与目标客户端和目标服务器的安全套接字协议SSL连接,并获取所述目标客户端与所述目标服务器进行数据传输时用于对传输数据进行加密的秘钥;
拦截所述目标客户端向所述目标服务器发送的处于加密状态的第一数据包,并通过所述秘钥对所述第一数据包进行解密得到第一解密数据包;
在确定所述第一解密数据包满足所述目标客户端对应的外发管控条件的情况下,将拦截的处于加密状态的所述第一数据包发送至所述目标服务器。
可选地,所述建立与目标客户端和目标服务器的安全套接字协议SSL连接,包括:
接收所述目标客户端发送、经Windows过滤平台WFP驱动模块重定向的传输控制协议TCP连接请求,所述TCP连接请求由所述目标客户端在访问所述目标服务器时发送,所述目标客户端与所述WFP驱动模块部署于第一终端;
根据所述TCP连接请求,建立与所述目标客户端的TCP连接;
接收所述目标客户端发送的SSL连接请求,并根据所述SSL连接请求分别与所述目标客户端和所述目标服务器建立SSL连接。
可选地,所述WFP驱动模块中配置有所述代理服务器的代理网际协议IP地址和代理端口号,所述接收所述目标客户端发送、经Windows过滤平台WFP驱动模块重定向的传输控制协议TCP连接请求,包括:
接收所述WFP驱动模块通过所述代理IP地址和所述代理端口号重定向的所述TCP连接请求。
可选地,所述方法还包括:
拦截所述目标服务器向所述目标客户端发送的处于加密状态的第二数据包,并通过所述秘钥对所述第二数据包进行解密得到第二解密数据包;
在所述第二解密数据包满足所述目标客户端对应的接收管控条件的情况下,将拦截的处于加密状态的所述第二数据包发送至所述目标客户端。
可选地,所述根据所述SSL连接请求分别与所述目标客户端和所述目标服务器建立SSL连接之前,所述方法还包括:
获取所述WFP驱动模块中存储的所述目标服务器的目标IP地址和目标端口号;
根据所述目标服务器的目标IP地址和目标端口号,建立与所述目标服务器的TCP连接;
其中,所述目标客户端向所述目标服务器发送的所述TCP连接请求中携带有所述目标服务器的目标IP地址和目标端口号,所述目标服务器的目标IP地址和目标端口号由所述WFP驱动模块在监测到所述目标客户端向所述目标服务器发送所述TCP连接请求时保存。
可选地,所述根据所述SSL连接请求分别与所述目标客户端和所述目标服务器建立SSL连接,包括:
根据所述目标客户端发送的所述SSL连接请求,获取所述SSL连接请求中携带的所述目标服务器的目标域名;
根据所述目标域名,建立与所述目标服务器的SSL连接;
在建立与所述目标服务器的SSL连接后,获取所述目标服务器的目标证书;
根据所述目标证书,确定代理证书;
发送所述代理证书至所述目标客户端,在所述目标客户端对所述代理证书验证通过后,建立与所述目标客户端的SSL连接。
可选地,所述根据所述目标证书,确定代理证书,包括:
对所述目标证书中的证书信息进行复制生成初始证书,其中,所述证书信息包括:使用者名称、证书扩展项和证书版本号中的至少一项;
通过代理根证书对生成的所述初始证书进行签名,得到所述代理证书,其中,所述代理根证书为所述代理服务器安装至所述第一终端的受信任根证书目录中的根证书。
可选地,所述WFP驱动模块中配置有客户端管控列表,所述目标客户端为所述客户端管控列表中的任一客户端,所述方法还包括:
获取所述WFP驱动模块的客户端管控列表中每一客户端的客户端端口号;
建立所述客户端端口号与接收管控条件和/或外发管控条件之间的对应关系。
第二方面,本发明实施例还提供了一种数据管控装置,所述装置包括:
第一连接建立模块,用于建立与目标客户端和目标服务器的安全套接字协议SSL连接,并获取所述目标客户端与所述目标服务器进行数据传输时用于对传输数据进行加密的秘钥;
第一解密模块,用于拦截所述目标客户端向所述目标服务器发送的处于加密状态的第一数据包,并通过所述秘钥对所述第一数据包进行解密得到第一解密数据包;
第一发送模块,用于在确定所述第一解密数据包满足所述目标客户端对应的外发管控条件的情况下,将拦截的处于加密状态的所述第一数据包发送至所述目标服务器。
可选地,所述第一连接建立模块,包括:
接收子模块,用于接收所述目标客户端发送、经Windows过滤平台WFP驱动模块重定向的传输控制协议TCP连接请求,所述TCP连接请求由所述目标客户端在访问所述目标服务器时发送,所述目标客户端与所述WFP驱动模块部署于第一终端;
第一连接建立子模块,用于根据所述TCP连接请求,建立与所述目标客户端的TCP连接;
第二连接建立子模块,用于接收所述目标客户端发送的SSL连接请求,并根据所述SSL连接请求分别与所述目标客户端和所述目标服务器建立SSL连接。
可选地,所述WFP驱动模块中配置有所述代理服务器的代理网际协议IP地址和代理端口号,所述接收子模块进一步用于:
接收所述WFP驱动模块通过所述代理IP地址和所述代理端口号重定向的所述TCP连接请求。
可选地,所述装置还包括:
第二解密模块,用于拦截所述目标服务器向所述目标客户端发送的处于加密状态的第二数据包,并通过所述秘钥对所述第二数据包进行解密得到第二解密数据包;
第二发送模块,用于在所述第二解密数据包满足所述目标客户端对应的接收管控条件的情况下,将拦截的处于加密状态的所述第二数据包发送至所述目标客户端。
可选地,所述根据所述SSL连接请求分别与所述目标客户端和所述目标服务器建立SSL连接之前,所述装置还包括:
第一获取模块,用于获取所述WFP驱动模块中存储的所述目标服务器的目标IP地址和目标端口号;
第二连接建立模块,用于根据所述目标服务器的目标IP地址和目标端口号,建立与所述目标服务器的TCP连接;
其中,所述目标客户端向所述目标服务器发送的所述TCP连接请求中携带有所述目标服务器的目标IP地址和目标端口号,所述目标服务器的目标IP地址和目标端口号由所述WFP驱动模块在监测到所述目标客户端向所述目标服务器发送所述TCP连接请求时保存。
可选地,所述第二连接建立子模块,包括:
第一获取单元,用于根据所述目标客户端发送的所述SSL连接请求,获取所述SSL连接请求中携带的所述目标服务器的目标域名;
第一连接建立单元,用于根据所述目标域名,建立与所述目标服务器的SSL连接;
第二获取单元,用于在建立与所述目标服务器的SSL连接后,获取所述目标服务器的目标证书;
确定单元,用于根据所述目标证书,确定代理证书;
第二连接建立单元,用于发送所述代理证书至所述目标客户端,在所述目标客户端对所述代理证书验证通过后,建立与所述目标客户端的SSL连接。
可选地,所述确定单元,包括:
生成子单元,用于对所述目标证书中的证书信息进行复制生成初始证书,其中,所述证书信息包括:使用者名称、证书扩展项和证书版本号中的至少一项;
签名子单元,用于通过代理根证书对生成的所述初始证书进行签名,得到所述代理证书,其中,所述代理根证书为所述代理服务器安装至第一终端的受信任根证书目录中的根证书,所述目标客户端安装在所述第一终端上。
可选地,所述WFP驱动模块中配置有客户端管控列表,所述目标客户端为所述客户端管控列表中的任一客户端,所述装置还包括:
第二获取模块,用于获取所述WFP驱动模块的客户端管控列表中每一客户端的客户端端口号;
关联模块,用于建立所述客户端端口号与接收管控条件和/或外发管控条件之间的对应关系。
第三方面,本申请实施例还提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的数据管控方法的步骤。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述的数据管控方法的步骤。
本发明实施例的技术方案,通过代理服务器分别与目标客户端和目标服务器建立SSL连接,获取目标客户端与目标服务器进行数据传输的秘钥,拦截目标客户端向目标服务器发送的第一数据包,通过所述秘钥对所述第一数据包进行解密得到第一解密数据包,并在确定所述第一解密数据包满足外发管控条件时,将拦截的所述第一数据包发送至所述目标服务器,从而实现了对目标客户端向目标服务器发送的加密的数据包进行管控的目的。
附图说明
图1为本发明实施例提供的数据管控方法的流程示意图之一;
图2为第一终端未安装WFP驱动模块时客户端与服务器之间进行数据传输的流程示意图;
图3为第一终端安装WFP驱动模块但代理服务器未启动数据管控操作时客户端与服务器之间进行数据传输的流程示意图;
图4为本发明实施例提供的数据管控方法的流程示意图之二;
图5为本发明实施例提供的数据管控装置的结构示意图;
图6为本发明实施例电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在对本发明实施例提供的数据管控方法进行介绍之前,首先对本发明涉及到的名词以及相关技术进行介绍。
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议;HTTP是一种用于分布式、协作式和超媒体信息系统的应用层协议,运行在TCP之上,通过请求和响应的交换满足客户端和服务端之间的通信;SSL(Secure Sockets Layer,安全套接字协议)是为网络通信提供安全及数据完整性的一种安全协议,运行在TCP与HTTP之间;HTTPS通常运行在TCP之上,是以安全为目标的HTTP通道,HTTPS在HTTP的基础上加入SSL,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性;CA(CertificateAuthority)是数字证书的签发机构,负责签发证书、认证证书以及管理已颁发证书;根证书是CA认证中心给自己颁发的证书,是信任链的起始点,安装根证书意味着对这个CA认证中心的信任;WFP(Windows Filtering Platform,Windows过滤平台)是Windows推出的用于TCP/IP协议栈五层各层里面对数据包进行交互操作的基础框架,该框架提供了一系列的API用于实现交互目的;Socket(套接字)是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口,一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口。
本发明实施例提供一种数据管控方法,应用于代理服务器,参见图1所示,该方法可以包括:
步骤101,建立与目标客户端和目标服务器的安全套接字协议SSL连接,并获取所述目标客户端与所述目标服务器进行数据传输时用于对传输数据进行加密的秘钥。
需要说明的是,所述目标客户端为需要进行数据管控的客户端,所述目标服务器为所述目标客户端访问并进行数据传输的服务器。所述目标客户端与所述目标服务器进行数据传输前需要建立SSL连接,以基于SSL连接实现目标客户端与目标服务器之间的数据传输,在建立SSL连接的过程中,可以确定一个用于对传输数据进行加密的秘钥。本发明实施例为了实现对传输数据的管控,所述代理服务器分别与所述目标客户端和所述目标服务器建立SSL连接,从而获取所述目标客户端与所述目标服务器进行数据传输时用于对传输数据进行加密的秘钥。
步骤102,拦截所述目标客户端向所述目标服务器发送的处于加密状态的第一数据包,并通过所述秘钥对所述第一数据包进行解密得到第一解密数据包。
需要说明的是,所述目标客户端向所述目标服务器发送的第一数据包为处于加密状态的数据包,优选地,该处于加密状态的第一数据包可以是HTTPS数据包,通过步骤101中获取的所述秘钥对上述所述第一数据包进行解密,即可得到所述第一解密数据包。
步骤103,在确定所述第一解密数据包满足所述目标客户端对应的外发管控条件的情况下,将拦截的处于加密状态的所述第一数据包发送至所述目标服务器。
需要说明的是,代理服务器在得到所述第一解密数据包后,所述方法还包括:代理服务器检测所述第一解密数据包是否满足所述目标客户端对应的外发管控条件。其中,目标客户端对应的外发管控条件为针对所述目标客户端的外发管控条件。具体地,所述外发管控条件为所述目标客户端的外发允许条件。在代理服务器确定所述第一解密数据包满足所述外发管控条件的情况下,即第一解密数据包允许外发的情况下,由代理服务器发送所述第一数据包至所述目标服务器。
可选地,所述外发管控条件还可以是外发限制条件,此时,若所述第一解密数据包不满足所述外发管控条件,则发送所述第一数据包至所述目标服务器。需要说明的是,本发明实施例中所述外发管控条件是指外发允许条件。
进一步需要说明的是,在所述代理服务器拦截所述第一数据包时,只有所述代理服务器获取到所述第一数据包,所述目标服务器未接收到所述第一数据包。在所述代理服务器确定第一解密数据包满足外发管控条件,并将第一数据包发送至目标服务器时,目标服务器才接收到所述第一数据包。也就是说,所述第一数据包在从目标客户端到目标服务器的过程中,需要经过代理服务器的解密和检测,只有在确定解密的第一数据包即第一解密数据包满足外发管控条件时,才由代理服务器将加密的所述第一数据包发送至目标服务器。
本发明实施例通过所述代理服务器分别与所述目标客户端和所述目标服务器建立SSL连接,获取所述目标客户端与所述目标服务器进行数据传输的秘钥,拦截所述目标客户端向所述目标服务器发送的第一数据包,通过所述秘钥对所述第一数据包进行解密得到第一解密数据包,并在确定所述第一解密数据包满足外发管控条件时,将拦截的所述第一数据包发送至所述目标服务器,从而实现了对目标客户端向目标服务器发送的加密的数据包进行管控的目的。
本发明一可选实施例中,所述建立与目标客户端和目标服务器的安全套接字协议SSL连接,包括:
接收所述目标客户端发送、经Windows过滤平台WFP驱动模块重定向的传输控制协议TCP连接请求,所述TCP连接请求由所述目标客户端在访问所述目标服务器时发送,所述目标客户端与所述WFP驱动模块部署于第一终端;
根据所述TCP连接请求,建立与所述目标客户端的TCP连接;
接收所述目标客户端发送的SSL连接请求,并根据所述SSL连接请求分别与所述目标客户端和所述目标服务器建立SSL连接。
需要说明的是,在所述WFP驱动模块中配置有客户端管控列表,客户端管控列表中包括多个客户端,所述客户端管控列表中的任一客户端均为目标客户端。其中,在客户端访问服务器时,客户端向服务器发送TCP连接请求,在客户端为客户端管控列表中的客户端时,该客户端为目标客户端,该服务器为目标服务器,此时目标客户端向目标服务器发送的TCP连接请求被WFP驱动模块重定向至代理服务器,此时,TCP连接请求的接收对象由目标服务器转换为代理服务器。所述代理服务器在接收到所述TCP连接请求后,与目标客户端建立TCP连接,之后,目标客户端在确定TCP连接建立成功后向代理服务器发送SSL连接请求,代理服务器根据该SSL连接请求分别与目标客户端和目标服务器建立SSL连接。而在目标客户端侧,则认为是与目标服务器建立了TCP连接和SSL连接,同样的,在目标服务器侧,则认为是与目标客户端建立了TCP连接和SSL连接。
进一步需要说明的是,所述目标客户端与所述WFP驱动模块部署于同一终端,即上述的第一终端,实现了WFP驱动模块对目标客户端发送TCP连接请求的监测以及对TCP连接请求的重定向。
通过在终端上部署WFP驱动模块,可以实现对客户端向服务器发送的TCP连接请求的重定向,在通过WFP驱动模块重定向后,接收所述TCP连接请求的对象由服务器转换为代理服务器。
下面分别对终端未部署WFP驱动模块的情况下客户端与服务器之间的数据传输过程,以及终端安装WFP驱动模块但代理服务器未启动数据管控的情况下客户端与服务器之间的数据传输过程进行介绍。
如图2所示,在终端未安装WFP驱动模块的情况下客户端与服务器(客户端访问的服务器)之间进行数据传输的过程,包括:
步骤S201,创建并发送TCPSocket套接字。客户端创建TCPSocket套接字,并发送至Socket抽象层。
步骤S202,返回TCPSocket套接字句柄。Socket抽象层返回TCPSocket套接字句柄至客户端。
步骤S203,开始TCP握手。客户端通过Socket抽象层与服务器开始TCP握手。
步骤S204,三次握手。Socket抽象层与服务器进行三次握手。
步骤S205,建立TCP连接。服务器与Socket抽象层建立TCP连接。
步骤S206,建立TCP连接。Socket抽象层握手完成,与客户端建立TCP连接。
步骤S207,发送第一数据。客户端向Socket抽象层发送第一数据,其中第一数据是不加密的数据。
步骤S208,发送第一数据。Socket抽象层向服务器发送第一数据。
步骤S209,返回第二数据。服务器返回第二数据至Socket抽象层,其中第二数据是不加密的数据。
步骤S210,返回第二数据。服务器返回第二数据至客户端。
通过上述流程,客户端与服务器之间通过Socket抽象层建立TCP连接,之后通过Socket抽象层进行数据传输。客户端发起的TCP通讯经由Socket抽象层封装传输层协议后直接送至网络层,并与服务器建立TCP连接。
如图3所示,在终端安装WFP驱动模块的情况下,代理服务器未启动数据管控时客户端与服务器之间进行数据传输的过程,包括:
步骤S301,创建并发送TCPSocket套接字。客户端创建TCPSocket套接字,并发送至Socket抽象层。
步骤S302,返回TCPSocket套接字句柄。Socket抽象层返回TCPSocket套接字句柄至客户端。
步骤S303,开始TCP握手。客户端通过Socket抽象层与服务器开始TCP握手。
步骤S304,三次握手。Socket抽象层与WFP驱动模块进行三次握手。
步骤S305,重定向TCP握手。WFP驱动模块将TCP握手重定向至代理服务器。
步骤S306,建立TCP连接。代理服务器与Socket抽象层建立TCP连接。
步骤S307,建立TCP连接。Socket抽象层握手完成,与客户端建立TCP连接。
步骤S308,查询服务器端口和IP地址。代理服务器向WFP驱动模块查询服务器端口和IP地址。
步骤S309,返回服务器端口和IP地址。WFP驱动模块返回服务器端口和IP地址。
步骤S310,开始TCP握手。代理服务器通过Socket抽象层与目标服务器开始TCP握手。
步骤S311,三次握手。Socket抽象层与服务器进行三次握手。
步骤S312,建立TCP连接。服务器与Socket抽象层建立TCP连接。
步骤S313,建立TCP连接。Socket抽象层握手完成,代理服务器与目标服务器建立TCP连接。
步骤S314,发送第一数据。客户端向Socket抽象层发送第一数据,其中第一数据是不加密的数据。
步骤S315,发送第一数据。Socket抽象层向代理服务器发送第一数据。
步骤S316,发送第一数据。代理服务器将接收到的第一数据发送据至Socket抽象层。
步骤S317,发送第一数据。Socket抽象层向服务器发送第一数据。
步骤S318,返回第二数据。服务器返回第二数据至Socket抽象层,其中第二数据是不加密的数据。
步骤S319,返回第二数据。Socket抽象层返回第二数据至代理服务器。
步骤S320,返回第二数据。代理服务器将收到的第二数据返回Socket抽象层。
步骤S321,返回第二数据。Socket抽象层将第二数据返回至客户端。
通过上述流程,在安装了WFP驱动模块的情况下,WFP驱动模块在客户端向服务器发起TCP连接时,将客户端发送的TCP连接请求重定向至代理服务器,由代理服务器与客户端建立TCP连接,之后再由代理服务器与服务器建立TCP连接,从而实现了代理服务器对客户端与服务器之间传输的数据进行转发的目的。
本发明一可选实施例中,所述WFP驱动模块中配置有所述代理服务器的代理网际协议IP地址和代理端口号,所述接收所述目标客户端发送、经Windows过滤平台WFP驱动模块重定向的传输控制协议TCP连接请求,包括:
接收所述WFP驱动模块通过所述代理IP地址和所述代理端口号重定向的所述TCP连接请求。
需要说明的是,通过在WFP驱动模块中配置代理服务器的代理IP地址和代理端口号,在WFP驱动模块监测到目标客户端向目标服务器发送TCP连接请求时,则将所述TCP连接请求通过代理IP地址和代理端口号重定向至代理服务器,该TCP连接请求被重定向后,接收该TCP连接请求的对象由目标服务器转换为代理服务器。
本发明一可选实施例中,所述WFP驱动模块中配置有客户端管控列表,所述目标客户端为所述客户端管控列表中的任一客户端,所述方法还包括:
获取所述WFP驱动模块的客户端管控列表中每一客户端的客户端端口号;
建立所述客户端端口号与接收管控条件和/或外发管控条件之间的对应关系。
需要说明的是,在所述WFP驱动模块中配置有客户端管控列表,所述客户端管控列表中的任一客户端均为所述目标客户端,本发明实施例针对每一目标客户端设置有与之对应的接收管控条件和外发管控条件,代理服务器通过获取客户端管控列表中的每一客户端的客户端端口号作为标识,建立所述客户端端口号与接收管控条件和/或外发管控条件之间的对应关系。在代理服务器接收到WFP驱动模块重定向的目标客户端发送的TCP连接请求后,即可根据所述目标客户端对应的客户端端口号从客户端端口号与接收管控条件和/或外发管控条件之间的对应关系中确定所述目标客户端对应的接收管控条件和/或外发管控条件。
进一步需要说明的是,本发明实施例的代理服务器对建立的所述客户端端口号与接收管控条件和/或外发管控条件之间的对应关系进行存储,从而存储有多组接收管控条件和外发管控条件,每一组对应一个客户端端口号,也就是说,针对每一个客户端,代理服务器中存储有该客户端进行数据传输的接收管控条件和外发管控条件,所述接收管控条件用于限制所述客户端接收到的数据包,所述外发管控条件用于限制所述客户端发送的数据包,只有客户端向服务器发送的数据包满足外发管控条件时,该数据包才能发送至服务器;只有服务器向客户端发送的数据包满足接收管控条件时,该数据包才能发送至客户端,这里的外发管控条件为允许外发的条件,接收管控条件为允许接收的条件。
本发明一可选实施例中,所述方法还包括:
拦截所述目标服务器向所述目标客户端发送的处于加密状态的第二数据包,并通过所述秘钥对所述第二数据包进行解密得到第二解密数据包;
在所述第二解密数据包满足所述目标客户端对应的接收管控条件的情况下,将拦截的处于加密状态的所述第二数据包发送至所述目标客户端。
需要说明的是,在得到目标服务器发送的所述第二解密数据包后,所述方法还包括:检测所述第二解密数据包是否满足所述目标客户端对应的接收管控条件。其中,目标客户端对应的接收管控条件为针对所述目标客户端的接收管控条件。具体地,所述接收管控条件为所述目标客户端的接收允许条件。在代理服务器确定所述第二解密数据包满足所述接收管控条件的情况下,,即第二解密数据包允许接收的情况下,由所述代理服务器发送所述第二数据包至所述目标客户端。
可选地,所述接收管控条件还可以是接收限制条件,此时,若所述第二解密数据包不满足所述接收管控条件,则发送所述第二数据包至所述目标客户端。需要说明的是,本发明实施例中所述接收管控条件是指接收允许条件。
进一步需要说明的是,在所述代理服务器拦截所述第二数据包时,只有所述代理服务器获取到所述第二数据包,所述目标客户端未接收到所述第二数据包。在所述代理服务器确定第二解密数据包满足接收管控条件,并将第二数据包发送至目标客户端时,目标客户端才接收到所述第二数据包。也就是说,所述第二数据包在从目标服务器到目标客户端的过程中,需要经过代理服务器的解密和检测,只有在确定解密的第二数据包即第二解密数据包满足接收管控条件时,才由代理服务器将所述第二数据包发送至目标客户端。
本发明一可选实施例中,所述根据所述SSL连接请求分别与所述目标客户端和所述目标服务器建立SSL连接之前,所述方法还包括:
获取所述WFP驱动模块中存储的所述目标服务器的目标IP地址和目标端口号;
根据所述目标服务器的目标IP地址和目标端口号,建立与所述目标服务器的TCP连接;
其中,所述目标客户端向所述目标服务器发送的所述TCP连接请求中携带有所述目标服务器的目标IP地址和目标端口号,所述目标服务器的目标IP地址和目标端口号由所述WFP驱动模块在监测到所述目标客户端向所述目标服务器发送所述TCP连接请求时保存。所述代理服务器通过所述目标服务器的目标IP地址和目标端口号,建立与所述目标服务器之间的TCP连接。
上述实施方案,代理服务器为了建立与所述目标服务器的TCP连接,需要获取所述目标服务器的目标IP地址和目标端口号,所述目标客户端向所述目标服务器发送的所述TCP连接请求中携带有所述目标服务器的目标IP地址和目标端口号,所述目标服务器的目标IP地址和目标端口号由所述WFP驱动模块在监测到所述目标客户端向所述目标服务器发送所述TCP连接请求时保存。因此,所述代理服务器可以从WFP驱动模块中获取到目标服务器的目标IP地址和目标端口号。
本发明一可选实施例中,所述根据所述SSL连接请求分别与所述目标客户端和所述目标服务器建立SSL连接,包括:
根据所述目标客户端发送的所述SSL连接请求,获取所述SSL连接请求中携带的所述目标服务器的目标域名;
根据所述目标域名,建立与所述目标服务器的SSL连接;
在建立与所述目标服务器的SSL连接后,获取所述目标服务器的目标证书;
根据所述目标证书,确定代理证书;
发送所述代理证书至所述目标客户端,在所述目标客户端对所述代理证书验证通过后,建立与所述目标客户端的SSL连接。
上述实施方案,所述代理服务器根据接收到的所述目标客户端发送的SSL连接请求获取SSL连接请求中携带的所述目标服务器的目标域名,通过所述目标域名建立与所述目标服务器的SSL连接,所述代理服务器在与所述目标服务器建立SSL连接后,即可获取到所述目标服务器的目标证书,并根据所述目标证书确定所述代理服务器的代理证书,进而通过所述代理证书与所述目标客户端建立SSL连接。通过以上流程,实现了所述代理服务器与所述目标客户端和所述目标服务器之间的SSL连接。
需要说明的是,本发明实施例中代理服务器接收目标客户端发送的、经WFP驱动模块重定向的TCP连接请求,并从WFP驱动模块获取到目标服务器的IP地址和端口,然后根据所述TCP连接请求,建立与目标客户端的TCP连接。至此,代理服务器建立了与目标客户端的TCP连接,以及,获取了目标服务器的IP地址和端口。此时,代理服务器器可以进行以下步骤:1、与目标服务器建立TCP连接,2、接收目标客户端发送SSL连接请求,3、根据所述SSL连接请求分别与目标服务器和目标客户端建立SSL连接。代理服务器器还可以进行以下步骤:1、接收目标客户端发送SSL连接请求,2、与目标服务器建立TCP连接,3、根据所述SSL连接请求分别与目标服务器和目标客户端建立SSL连接。针对代理服务器执行“与目标服务器建立TCP连接”和“接收目标客户端发送SSL连接请求”这两个步骤的先后顺序,本发明不作具体限定。
本发明一可选实施例中,所述根据所述目标证书,确定代理证书,包括:
对所述目标证书中的证书信息进行复制生成初始证书,其中,所述证书信息包括:使用者名称、证书扩展项和证书版本号中的至少一项;
通过代理根证书对生成的所述初始证书进行签名,得到所述代理证书,其中,所述代理根证书为所述代理服务器安装至所述第一终端的受信任根证书目录中的根证书。
上述实施方案,所述代理服务器通过将所述目标证书中的证书信息进行复制生成初始证书,之后通过代理根证书对所述初始证书进行签名得到代理证书。从而使得所述代理证书中包括了所述目标服务器的目标证书的证书信息,同时由于所述代理根证书已经由所述代理服务器安装在所述第一终端的受信任根证书目录中,因此通过所述代理根证书签名的初始证书可以得到第一终端的信任,而所述目标客户端是安装在第一终端上的,进而可以使得所述代理证书通过所述目标客户端的验证。
下面对本发明实施例的整体实施流程进行介绍,如图4所示,包括:
步骤S401,发起TCP连接。目标客户端向目标服务器发起TCP连接,由WFP驱动模块转发至代理服务器。
步骤S402,建立TCP连接。代理服务器与目标客户端建立TCP连接。
步骤S403,发起SSL握手。目标客户端向代理服务器发起SSL握手。
步骤S404,获取目标服务器的目标IP地址、端和域名。代理服务器通过与WFP驱动模块交互获取目标服务器的目标IP地址和端口号,并通过读取目标客户端发送的SSL握手包中的ClientHello获取到与目标IP地址对应的域名,即所述目标服务器的域名。
步骤S405,发起TCP连接。代理服务器通过目标服务器的目标IP地址向目标服务器发起TCP连接。
步骤S406,建立TCP连接。目标服务器确认与代理服务器建立TCP连接。
步骤S407,发起SSL握手。代理服务器向目标服务器发起SSL握手。
步骤S408,建立SSL连接。目标服务器确认与代理服务器建立SSL连接。
步骤S409,根据目标服务器的证书,确定代理证书。代理服务器获取目标服务器的证书后,复制其中的使用者名称、证书扩展项以及证书版本,并使用代理的根证书进行签名,得到代理证书。
步骤S410,发送代理证书。代理服务器发送代理证书至目标客户端。
步骤S411,验证代理证书。目标客户端对代理证书进行验证,并在验证通过后,执行步骤S412。
步骤S412,发送加密数据。目标客户端向目标服务器发送加密数据。
步骤S413,对加密数据进行解密,判断是否外发。代理服务器对目标客户端发送的加密数据即HTTPS数据进行解密,获取到明文的HTTP数据后,根据管控条件决定是否外发。
步骤S414,发送加密数据。在确定加密数据满足外发管控条件时,代理服务器向目标服务器发送加密数据。
步骤S415,发送加密数据。目标服务器向目标客户端发送加密数据。
步骤S416,对加密数据进行解密,判断是否接收。代理服务器对目标服务器发送的加密数据即HTTPS数据进行解密,获取到明文的HTTP数据后,根据管控条件决定是否接收。
步骤S417,发送加密数据。在确定加密数据满足接收管控条件时,代理服务器向目标客户端发送加密数据。
上述实施方案中,所述代理服务器内存储有数据外发管控条件和数据接收管控条件,所述代理服务器在启动时将代理根证书安装到第一终端受信任根证书目录中,其中,所述目标客户端安装在所述第一终端上,所述代理根证书可以是自签证书。所述WFP驱动模块中配置有重定向端口和重定向IP地址,以及需要进行数据管控的客户端,所述WFP驱动模块对需要进行数据管控的客户端进行监测,在监测到需要进行数据管控的客户端即所述目标客户端发起TCP连接时,则通过所述重定向端口和重定向IP地址将所述TCP连接重定向至所述代理服务器,并保存实际访问的服务器即所述目标服务器的IP地址和端口,同时将重定向的本地端口即所述目标客户端的端口作为标识,具体地该标识用于确定外发管控条件或接收管控条件。所述代理服务器接收所述WFP驱动模块重定向的TCP连接后,首先与所述目标客户端建立TCP连接,然后通过终端上的交互接口,从所述WFP驱动模块获取实际访问的目标服务器的IP地址和端口。同时,接收所述目标客户端发起的SSL连接,读取所述目标客户端发起的SSL握手的第一个ClientHello握手包,从中获取所述目标服务器的域名。所述代理服务器作为目标客户端通过所述目标服务器的域名与所述目标服务器建立SSL连接,获取所述目标服务器返回的证书,复制其中的使用者姓名、证书扩展项、证书版本到初始证书,并使用代理服务器的根证书对初始证书进行签名得到代理证书,所述代理服务器使用所述代理证书与所述目标客户端开始SSL握手,并协商秘钥,建立SSL连接。所述目标客户端发送的HTTPS数据包至所述代理服务器,由于所述代理服务器已经与所述目标客户端建立了SSL连接,故所述代理服务器可以对这个HTTPS数据包进行解密,得到其中的HTTP数据包,其中,HTTPS数据包为加密数据包,HTTP数据包为明文数据包。同样,所述目标服务器发送的HTTPS数据包至所述代理服务器,由于所述代理服务器已经与所述目标服务器建立了SSL连接,故所述代理服务器可以对这个HTTPS数据包进行解密,得到其中的HTTP数据包。所述代理服务器通过数据外发管控条件判断所述目标客户端发送的HTTP数据包是否为敏感数据,确定能否外发,以及确定是否发送至所述目标服务器,同样的,所述代理服务器通过数据接收管控条件判断所述目标服务器发送的HTTP数据包是否为敏感数据,确定能否接收,以及确定是否发送至所述目标客户端。通过以上方法,实现了通过所述代理服务器对HTTPS数据包即加密数据包的解密,进一步实现了所述代理服务器对所述目标客户端与所述目标服务器之间进行传输的数据的管控。
以上是本发明实施例的数据管控方法的整体实施过程,通过代理服务器分别与目标客户端和目标服务器建立SSL连接,获取目标客户端与目标服务器进行数据传输的秘钥,拦截目标客户端向目标服务器发送的第一数据包,通过所述秘钥对所述第一数据包进行解密得到第一解密数据包,并在确定所述第一解密数据包满足外发管控条件时,将拦截的所述第一数据包发送至所述目标服务器,从而实现了对目标客户端向目标服务器发送的加密的数据包进行管控的目的。
为了进一步说明本发明的技术方案,将上述技术方案应用到具体场景说明,例如在需要对网页邮箱进行管控时,首先需要将发送邮件的浏览器添加到WFP驱动模块的客户端管控列表中,同时将针对该浏览器进行邮件发送的外发管控条件和接收管控条件与浏览器的端口建立对应关系并保存到代理服务器中。在浏览器向邮箱服务器发起TCP连接时,该TCP连接会被WFP驱动模块重定向至代理服务器,代理服务器作为邮箱服务器首先与浏览器建立TCP连接,当TCP连接建立完成后,浏览器发起SSL握手,代理服务器通过读取浏览器发来的第一个SSL握手包,获取浏览器要访问的邮箱服务器的域名,同时代理服务器与WFP驱动模块进行交互,获取重定向前的服务器IP地址和端口也就是邮箱服务器的IP地址和端口,代理服务器作为浏览器与邮箱服务器建立TCP连接,并完成SSL握手,从邮箱服务器获取邮箱服务器的证书,复制其中的使用者名称、证书扩展项和证书版本生成初始证书,并使用代理服务器的根证书进行签名得到代理证书。代理服务器使用该代理证书作为邮箱服务器与浏览器进行SSL握手,并建立SSL连接。至此,代理服务器分别建立了与浏览器和邮箱服务器的SSL连接,此时,浏览器发送的HTTPS邮件数据由代理服务器接收并进行解密,获取其中的发件人、收件人、邮件标题、邮件正文等信息,并匹配对应的外发管控条件,确定是否由代理服务器发送至邮箱服务器。同样的,邮箱服务器发送的HTTPS邮件数据由代理服务器接收并解密,获取其中的发件人、收件人、邮件标题、邮件正文等信息,并匹配对应的接收管控条件,确定是否由代理服务器发送至浏览器。综上可知,通过代理服务器可以获取浏览器或邮箱服务器发送的明文的邮件数据,并根据外发管控条件或接收管控条件,判断邮件数据是否包括敏感数据,进一步确定是否将该邮件发送至邮箱服务器或浏览器。
本发明实施例还提供一种数据管控装置,如图5所示,所述装置包括:
第一连接建立模块51,用于建立与目标客户端和目标服务器的安全套接字协议SSL连接,并获取所述目标客户端与所述目标服务器进行数据传输时用于对传输数据进行加密的秘钥;
第一解密模块52,用于拦截所述目标客户端向所述目标服务器发送的处于加密状态的第一数据包,并通过所述秘钥对所述第一数据包进行解密得到第一解密数据包;
第一发送模块53,用于在确定所述第一解密数据包满足所述目标客户端对应的外发管控条件的情况下,将拦截的处于加密状态的所述第一数据包发送至所述目标服务器。
可选地,所述第一连接建立模块51,包括:
接收子模块,用于接收所述目标客户端发送、经Windows过滤平台WFP驱动模块重定向的传输控制协议TCP连接请求,所述TCP连接请求由所述目标客户端在访问所述目标服务器时发送,所述目标客户端与所述WFP驱动模块部署于第一终端;
第一连接建立子模块,用于根据所述TCP连接请求,建立与所述目标客户端的TCP连接;
第二连接建立子模块,用于接收所述目标客户端发送的SSL连接请求,并根据所述SSL连接请求分别与所述目标客户端和所述目标服务器建立SSL连接。
可选地,所述WFP驱动模块中配置有所述代理服务器的代理网际协议IP地址和代理端口号,所述接收子模块进一步用于:
接收所述WFP驱动模块通过所述代理IP地址和所述代理端口号重定向的所述TCP连接请求。
可选地,所述装置还包括:
第二解密模块,用于拦截所述目标服务器向所述目标客户端发送的处于加密状态的第二数据包,并通过所述秘钥对所述第二数据包进行解密得到第二解密数据包;
第二发送模块,用于在所述第二解密数据包满足所述目标客户端对应的接收管控条件的情况下,将拦截的处于加密状态的所述第二数据包发送至所述目标客户端。
可选地,所述根据所述SSL连接请求分别与所述目标客户端和所述目标服务器建立SSL连接之前,所述装置还包括:
第一获取模块,用于获取所述WFP驱动模块中存储的所述目标服务器的目标IP地址和目标端口号;
第二连接建立模块,用于根据所述目标服务器的目标IP地址和目标端口号,建立与所述目标服务器的TCP连接;
其中,所述目标客户端向所述目标服务器发送的所述TCP连接请求中携带有所述目标服务器的目标IP地址和目标端口号,所述目标服务器的目标IP地址和目标端口号由所述WFP驱动模块在监测到所述目标客户端向所述目标服务器发送所述TCP连接请求时保存。
可选地,所述第二连接建立子模块,包括:
第一获取单元,用于根据所述目标客户端发送的所述SSL连接请求,获取所述SSL连接请求中携带的所述目标服务器的目标域名;
第一连接建立单元,用于根据所述目标域名,建立与所述目标服务器的SSL连接;
第二获取单元,用于在建立与所述目标服务器的SSL连接后,获取所述目标服务器的目标证书;
确定单元,用于根据所述目标证书,确定代理证书;
第二连接建立单元,用于发送所述代理证书至所述目标客户端,在所述目标客户端对所述代理证书验证通过后,建立与所述目标客户端的SSL连接。
可选地,所述确定单元,包括:
生成子单元,用于对所述目标证书中的证书信息进行复制生成初始证书,其中,所述证书信息包括:使用者名称、证书扩展项和证书版本号中的至少一项;
签名子单元,用于通过代理根证书对生成的所述初始证书进行签名,得到所述代理证书,其中,所述代理根证书为所述代理服务器安装至第一终端的受信任根证书目录中的根证书,所述目标客户端安装在所述第一终端上。
可选地,所述WFP驱动模块中配置有客户端管控列表,所述目标客户端为所述客户端管控列表中的任一客户端,所述装置还包括:
第二获取模块,用于获取所述WFP驱动模块的客户端管控列表中每一客户端的客户端端口号;
关联模块,用于建立所述客户端端口号与接收管控条件和/或外发管控条件之间的对应关系。
本发明提供的数据管控装置,通过所述代理服务器分别与所述目标客户端和所述目标服务器建立SSL连接,获取所述目标客户端与所述目标服务器进行数据传输的秘钥,拦截所述目标客户端向所述目标服务器发送的第一数据包,通过所述秘钥对所述第一数据包进行解密得到第一解密数据包,并在确定所述第一解密数据包满足外发管控条件时,将拦截的所述第一数据包发送至所述目标服务器,从而实现了对目标客户端向目标服务器发送的加密的数据包进行管控的目的。
本发明实施例还提供一种电子设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述数据管控方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
举例如下,图6示出了一种电子设备的实体结构示意图。
如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610、通信接口620以及存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行如下方法:建立与目标客户端和目标服务器的安全套接字协议SSL连接,并获取所述目标客户端与所述目标服务器进行数据传输时用于对传输数据进行加密的秘钥;拦截所述目标客户端向所述目标服务器发送的处于加密状态的第一数据包,并通过所述秘钥对所述第一数据包进行解密得到第一解密数据包;在确定所述第一解密数据包满足所述目标客户端对应的外发管控条件的情况下,将拦截的处于加密状态的所述第一数据包发送至所述目标服务器。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述数据管控方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (11)
1.一种数据管控方法,应用于代理服务器,其特征在于,所述方法包括:
建立与目标客户端和目标服务器的安全套接字协议SSL连接,并获取所述目标客户端与所述目标服务器进行数据传输时用于对传输数据进行加密的秘钥;
拦截所述目标客户端向所述目标服务器发送的处于加密状态的第一数据包,并通过所述秘钥对所述第一数据包进行解密得到第一解密数据包;
在确定所述第一解密数据包满足所述目标客户端对应的外发管控条件的情况下,将拦截的处于加密状态的所述第一数据包发送至所述目标服务器。
2.根据权利要求1所述的数据管控方法,其特征在于,所述建立与目标客户端和目标服务器的安全套接字协议SSL连接,包括:
接收所述目标客户端发送、经Windows过滤平台WFP驱动模块重定向的传输控制协议TCP连接请求,所述TCP连接请求由所述目标客户端在访问所述目标服务器时发送,所述目标客户端与所述WFP驱动模块部署于第一终端;
根据所述TCP连接请求,建立与所述目标客户端的TCP连接;
接收所述目标客户端发送的SSL连接请求,并根据所述SSL连接请求分别与所述目标客户端和所述目标服务器建立SSL连接。
3.根据权利要求2所述的数据管控方法,其特征在于,所述WFP驱动模块中配置有所述代理服务器的代理网际协议IP地址和代理端口号,所述接收所述目标客户端发送、经Windows过滤平台WFP驱动模块重定向的传输控制协议TCP连接请求,包括:
接收所述WFP驱动模块通过所述代理IP地址和所述代理端口号重定向的所述TCP连接请求。
4.根据权利要求1所述的数据管控方法,其特征在于,所述方法还包括:
拦截所述目标服务器向所述目标客户端发送的处于加密状态的第二数据包,并通过所述秘钥对所述第二数据包进行解密得到第二解密数据包;
在所述第二解密数据包满足所述目标客户端对应的接收管控条件的情况下,将拦截的处于加密状态的所述第二数据包发送至所述目标客户端。
5.根据权利要求2所述的数据管控方法,其特征在于,所述根据所述SSL连接请求分别与所述目标客户端和所述目标服务器建立SSL连接之前,所述方法还包括:
获取所述WFP驱动模块中存储的所述目标服务器的目标IP地址和目标端口号;
根据所述目标服务器的目标IP地址和目标端口号,建立与所述目标服务器的TCP连接;
其中,所述目标客户端向所述目标服务器发送的所述TCP连接请求中携带有所述目标服务器的目标IP地址和目标端口号,所述目标服务器的目标IP地址和目标端口号由所述WFP驱动模块在监测到所述目标客户端向所述目标服务器发送所述TCP连接请求时保存。
6.根据权利要求2所述的数据管控方法,其特征在于,所述根据所述SSL连接请求分别与所述目标客户端和所述目标服务器建立SSL连接,包括:
根据所述目标客户端发送的所述SSL连接请求,获取所述SSL连接请求中携带的所述目标服务器的目标域名;
根据所述目标域名,建立与所述目标服务器的SSL连接;
在建立与所述目标服务器的SSL连接后,获取所述目标服务器的目标证书;
根据所述目标证书,确定代理证书;
发送所述代理证书至所述目标客户端,在所述目标客户端对所述代理证书验证通过后,建立与所述目标客户端的SSL连接。
7.根据权利要求6所述的数据管控方法,其特征在于,所述根据所述目标证书,确定代理证书,包括:
对所述目标证书中的证书信息进行复制生成初始证书,其中,所述证书信息包括:使用者名称、证书扩展项和证书版本号中的至少一项;
通过代理根证书对生成的所述初始证书进行签名,得到所述代理证书,其中,所述代理根证书为所述代理服务器安装至所述第一终端的受信任根证书目录中的根证书。
8.根据权利要求1或4所述的数据管控方法,其特征在于,WFP驱动模块中配置有客户端管控列表,所述目标客户端为所述客户端管控列表中的任一客户端,所述方法还包括:
获取所述WFP驱动模块的客户端管控列表中每一客户端的客户端端口号;
建立所述客户端端口号与接收管控条件和/或外发管控条件之间的对应关系。
9.一种数据管控装置,其特征在于,所述装置包括:
第一连接建立模块,用于建立与目标客户端和目标服务器的安全套接字协议SSL连接,并获取所述目标客户端与所述目标服务器进行数据传输时用于对传输数据进行加密的秘钥;
第一解密模块,用于拦截所述目标客户端向所述目标服务器发送的处于加密状态的第一数据包,并通过所述秘钥对所述第一数据包进行解密得到第一解密数据包;
第一发送模块,用于在确定所述第一解密数据包满足所述目标客户端对应的外发管控条件的情况下,将拦截的处于加密状态的所述第一数据包发送至所述目标服务器。
10.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至8任一项所述的数据管控方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的数据管控方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111043482.5A CN113810396A (zh) | 2021-09-07 | 2021-09-07 | 一种数据管控方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111043482.5A CN113810396A (zh) | 2021-09-07 | 2021-09-07 | 一种数据管控方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113810396A true CN113810396A (zh) | 2021-12-17 |
Family
ID=78940685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111043482.5A Pending CN113810396A (zh) | 2021-09-07 | 2021-09-07 | 一种数据管控方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113810396A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114513326A (zh) * | 2021-12-28 | 2022-05-17 | 奇安信科技集团股份有限公司 | 基于动态代理实现通信审计的方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110231652A1 (en) * | 2010-03-19 | 2011-09-22 | F5 Networks, Inc. | Proxy ssl authentication in split ssl for client-side proxy agent resources with content insertion |
CN106685983A (zh) * | 2017-01-13 | 2017-05-17 | 华北计算技术研究所(中国电子科技集团公司第十五研究所) | 一种基于ssl协议的数据还原方法与装置 |
CN109218364A (zh) * | 2017-07-04 | 2019-01-15 | 武汉安天信息技术有限责任公司 | 加密流量数据的监控方法、代理服务器端、待监控客户端和监控系统 |
CN109413060A (zh) * | 2018-10-19 | 2019-03-01 | 深信服科技股份有限公司 | 报文处理方法、装置、设备及存储介质 |
CN109413201A (zh) * | 2018-11-27 | 2019-03-01 | 东软集团股份有限公司 | Ssl通信方法、装置及存储介质 |
CN110768940A (zh) * | 2018-07-27 | 2020-02-07 | 深信服科技股份有限公司 | 基于https协议密文数据管控方法、系统及相关装置 |
-
2021
- 2021-09-07 CN CN202111043482.5A patent/CN113810396A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110231652A1 (en) * | 2010-03-19 | 2011-09-22 | F5 Networks, Inc. | Proxy ssl authentication in split ssl for client-side proxy agent resources with content insertion |
CN106685983A (zh) * | 2017-01-13 | 2017-05-17 | 华北计算技术研究所(中国电子科技集团公司第十五研究所) | 一种基于ssl协议的数据还原方法与装置 |
CN109218364A (zh) * | 2017-07-04 | 2019-01-15 | 武汉安天信息技术有限责任公司 | 加密流量数据的监控方法、代理服务器端、待监控客户端和监控系统 |
CN110768940A (zh) * | 2018-07-27 | 2020-02-07 | 深信服科技股份有限公司 | 基于https协议密文数据管控方法、系统及相关装置 |
CN109413060A (zh) * | 2018-10-19 | 2019-03-01 | 深信服科技股份有限公司 | 报文处理方法、装置、设备及存储介质 |
CN109413201A (zh) * | 2018-11-27 | 2019-03-01 | 东软集团股份有限公司 | Ssl通信方法、装置及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114513326A (zh) * | 2021-12-28 | 2022-05-17 | 奇安信科技集团股份有限公司 | 基于动态代理实现通信审计的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1834465B1 (en) | Remote access system and method for enabling a user to remotely access a terminal equipment from a subscriber terminal | |
CN112422532B (zh) | 业务通信方法、系统、装置及电子设备 | |
KR101313480B1 (ko) | 인가된 디바이스 액세스를 제공하기 위한 장치 및 방법 | |
US6986047B2 (en) | Method and apparatus for serving content from a semi-trusted server | |
EP1357458B1 (en) | Ad hoc secure access to documents and services | |
US20060143442A1 (en) | Automated issuance of SSL certificates | |
EP3283964B1 (en) | Method of operating a computing device, computing device and computer program | |
US20220006656A1 (en) | Achieving certificate pinning security in reduced trust networks | |
US20090199009A1 (en) | Systems, methods and computer program products for authorising ad-hoc access | |
WO2014044170A1 (zh) | 本地服务单元认证安卓客户端应用程序的方法 | |
KR20010108150A (ko) | 보안 마이크로프로세서에서 복호화를 사용하는 인증 및단일 트랜젝션의 인증을 시행하는 방법 | |
EP2710781A1 (en) | Trusted mobile device based security | |
WO2003088571A1 (en) | System and method for secure wireless communications using pki | |
KR20100106471A (ko) | 이동 컴퓨팅 장치 상의 소프트웨어 애플리케이션을 관리하는 방법 및 시스템 | |
WO2013086968A1 (zh) | 一种网络安全防护方法、设备和系统 | |
US20160261576A1 (en) | Method, an apparatus, a computer program product and a server for secure access to an information management system | |
JP2020509718A (ja) | ネットワーク接続のためのクレデンシャル情報の処理方法、装置、及びアプリケーションapp | |
US20160315915A1 (en) | Method for accessing a data memory of a cloud computer system using a modified domain name system (dns) | |
CN109525565B (zh) | 一种针对短信拦截攻击的防御方法及系统 | |
CN113992346A (zh) | 一种基于国密加固的安全云桌面的实现方法 | |
US20060122936A1 (en) | System and method for secure publication of online content | |
CN113810396A (zh) | 一种数据管控方法、装置、电子设备及存储介质 | |
JP6045018B2 (ja) | 電子署名代行サーバ、電子署名代行システム及び電子署名代行方法 | |
CN112131597A (zh) | 一种生成加密信息的方法、装置和智能设备 | |
WO2017024588A1 (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 |