CN110768940B - 基于https协议密文数据管控方法、系统、代理服务器及存储介质 - Google Patents

基于https协议密文数据管控方法、系统、代理服务器及存储介质 Download PDF

Info

Publication number
CN110768940B
CN110768940B CN201810847554.3A CN201810847554A CN110768940B CN 110768940 B CN110768940 B CN 110768940B CN 201810847554 A CN201810847554 A CN 201810847554A CN 110768940 B CN110768940 B CN 110768940B
Authority
CN
China
Prior art keywords
certificate
intranet client
https
proxy server
server
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
CN201810847554.3A
Other languages
English (en)
Other versions
CN110768940A (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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201810847554.3A priority Critical patent/CN110768940B/zh
Publication of CN110768940A publication Critical patent/CN110768940A/zh
Application granted granted Critical
Publication of CN110768940B publication Critical patent/CN110768940B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • 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/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Abstract

本申请公开了一种基于HTTPS协议密文数据管控方法,应用于架设在内网客户端和目标网站所属真实服务器间的HTTPS代理服务器,将该HTTPS代理服务器与真实服务器建立起正常的SSL连接时得到的第一证书,利用自制根证书对从该第一证书中提取出的证书认证信息进行再封装得到第二证书,且该自制根证书已预先安装在内网客户端中,就可以借由该自制根证书实现对第二证书的认证,并进一步建立起内网客户端与该HTTPS代理服务器间正常的SSL连接,满足了该HTTPS代理服务器对基于HTTPS协议的密文数据进行审计和管控的前提条件。本申请还同时公开了一种基于HTTPS协议密文数据管控系统、HTTPS代理服务器以及计算机可读存储介质,具有上述有益效果。

Description

基于HTTPS协议密文数据管控方法、系统、代理服务器及存储 介质
技术领域
本申请涉及建立安全连接技术领域,特别涉及一种基于HTTPS协议密文数据管控方法、系统、HTTPS代理服务器及计算机可读存储介质。
背景技术
为满足不断提高的网络数据传输安全性要求,在原有HTTP协议(Hyper TextTransfer Protocol,超文本传输协议)基础上增加SSL(Secure Sockets Layer,安全套接层)加密方式得到的HTTPS协议开始被广泛应用。
当某客户端试图访问一个使用了HTTPS协议加密的目标网站时,首先需要与其建立正常的SSL连接,以获取由权威认证机构为目标网站颁发的证书,并利用根证书认证该证书的合法性,认证通过后还需要确定两者采用的加密算法来以密文的形式进行数据传输。若证书错误导致认证失败,用户虽可以手动点击“继续访问”按钮来访问目标网站,但网页内容会因访问限制而出现网页内容显示不全等现象。
为审计和管控基于HTTP协议时传输的明文数据,可通过架设在内网客户端与外网服务器间的HTTP代理实现,但无法简单的通过在相同位置架设 HTTPS代理来实现对基于HTTPS协议时传输的密文进行审计和管控。不同于作为透明中间人的HTTP代理,HTTPS代理会被内网客户端视为真实服务器、被真实服务器视为内网客户端,只有当HTTPS代理分别与内网客户端和真实服务器均建立了正常的SSL连接时,才能对两者传输给自己的密文进行解密,并在审计完后重新加密发送给原定接收对象,以此在内网客户端与真实服务器间数据正常传输的基础上,实现对传输数据的审计和管控。但由于HTTPS 代理并不是真正的真实服务器,也就没有相应的真实证书来与内网客户端建立起正常的SSL连接,因此在上述条件无法满足时,目的无法实现。
因此,如何克服HTTPS代理服务器因没有真实证书导致无法实现对基于 HTTPS协议密文数据进行管控这一缺陷,是本领域技术人员亟待解决的问题。
发明内容
本申请的主要目的是提供一种基于HTTPS协议密文数据管控方法,应用于架设在内网客户端和目标网站所属真实服务器间的HTTPS代理服务器,将该HTTPS代理服务器与真实服务器建立起正常的SSL连接时得到的第一证书,利用自制根证书对从该第一证书中提取出的证书认证信息进行再封装得到第二证书,且该自制根证书已预先安装在内网客户端中,就可以借由该自制根证书实现对第二证书的认证,并进一步建立起内网客户端与该HTTPS代理服务器间正常的SSL连接,满足了该HTTPS代理服务器对基于HTTPS协议的密文数据进行审计和管控的前提条件。
本申请的另一目的在于还提供了一种基于HTTPS协议密文数据管控系统、HTTPS代理服务器以及计算机可读存储介质。
为实现上述目的,本申请提供一种基于HTTPS协议密文数据管控方法,应用于架设在内网客户端和目标网站所属真实服务器间的HTTPS代理服务器,该基于HTTPS协议密文数据管控方法包括:
响应内网客户端发来的目标网站的访问请求,向所述目标网站的真实服务器发送与所述访问请求相同的访问请求,以在与所述真实服务器建立起正常的SSL连接时得到返回的第一证书;
从所述第一证书中提取得到证书认证信息,并利用自制根证书重新封装所述证书认证信息,得到第二证书;其中,所述自制根证书由所述HTTPS代理服务器预先生成并安装在所述内网客户端的受信任根证书列表中;
向所述内网客户端返回所述第二证书,以使所述内网客户端根据所述第二证书与所述HTTPS代理服务器建立起正常的SSL连接;
根据与所述内网客户端和所述真实服务器分别建立起的SSL连接对传输的密文数据进行管控。
可选的,所述自制根证书由所述HTTPS代理服务器预先生成并安装在所述内网客户端的受信任根证书列表中,包括:
所述HTTPS代理服务器生成所述自制根证书;
将所述自制根证书上传至发布下载网页,并利用网页重定向技术在所述内网客户端访问预设网站时跳转至所述发布下载页,以使所述内网客户端下载所述自制根证书并将其安装在自身的受信任根证书列表中。
可选的,根据与所述内网客户端和所述真实服务器分别建立起的SSL连接对传输的密文数据进行管控,包括:
当根据所述第二证书与所述内网客户端建立起正常的SSL连接后,确定与所述内网客户端之间传输的密文数据的加密方式,得到第一加解密算法;
利用所述第一加解密算法解密由所述内网客户端发来的密文数据,得到第一明文数据,并按第一预设数据管控规则对所述第一明文数据进行管控;
当根据所述第一证书与所述真实服务器建立起正常的SSL连接后,确定与所述真实服务器之前传输的密文数据的加密方式,得到第二加解密算法;
利用所述第二加解密算法解密由所述真实服务器发来的密文数据,得到第二明文数据,并按第二预设数据管控规则对所述第二明文数据进行管控。
可选的,该基于HTTPS协议密文数据管控方法还包括:
将不同目标网站的真实服务器发来的第一证书和对应的第二证书利用对应关系表进行存储。
可选的,该基于HTTPS协议密文数据管控方法还包括:
在接收到所述内网客户端发来的目标网站的访问请求之后,判断所述对应关系表中是否包含与所述目标网站对应的第二证书;若是,则直接将对应的第二证书返回至所述内网客户端。
为实现上述目的,本申请还提供了一种基于HTTPS协议密文数据管控系统,应用于架设在内网客户端和目标网站所属真实服务器间的HTTPS代理服务器,该基于HTTPS协议密文数据管控系统包括:
第一证书请求及获得单元,用于响应内网客户端发来的目标网站的访问请求,向所述目标网站的真实服务器发送与所述访问请求相同的访问请求,以在与所述真实服务器建立起正常的SSL连接时得到返回的第一证书;
认证信息提取及第二证书封装单元,用于从所述第一证书中提取得到证书认证信息,并利用自制根证书重新封装所述证书认证信息,得到第二证书;其中,所述自制根证书由所述HTTPS代理服务器预先生成并安装在所述内网客户端的受信任根证书列表中;
第二证书返回单元,用于向所述内网客户端返回所述第二证书,以使所述内网客户端根据所述第二证书与所述HTTPS代理服务器建立起正常的SSL 连接;
密文数据管控单元,用于根据与所述内网客户端和所述真实服务器分别建立起的SSL连接对传输的密文数据进行管控。
可选的,该基于HTTPS协议密文数据管控系统还包括:
根证书自制单元,用于所述HTTPS代理服务器生成所述自制根证书;
重定向技术下载及安装单元,用于将所述自制根证书上传至发布下载网页,并利用网页重定向技术在所述内网客户端访问预设网站时跳转至所述发布下载页,以使所述内网客户端下载所述自制根证书并将其安装在自身的受信任根证书列表中。
可选的,所述密文数据管控单元包括:
第一加解密算法确定子单元,用于当根据所述第二证书与所述内网客户端建立起正常的SSL连接后,确定与所述内网客户端之间传输的密文数据的加密方式,得到第一加解密算法;
内网客户端管控子单元,用于利用所述第一加解密算法解密由所述内网客户端发来的密文数据,得到第一明文数据,并按第一预设数据管控规则对所述第一明文数据进行管控;
第二加解密算法确定子单元,用于当根据所述第一证书与所述真实服务器建立起正常的SSL连接后,确定与所述真实服务器之前传输的密文数据的加密方式,得到第二加解密算法;
真实服务器管控子单元,用于利用所述第二加解密算法解密由所述真实服务器发来的密文数据,得到第二明文数据,并按第二预设数据管控规则对所述第二明文数据进行管控。
可选的,该基于HTTPS协议密文数据管控系统还包括:
存储及对应关系表建立单元,用于将不同目标网站的真实服务器发来的第一证书和对应的第二证书利用对应关系表进行存储。
可选的,该基于HTTPS协议密文数据管控系统还包括:
已有第二证书查询及返回单元,用于在接收到所述内网客户端发来的目标网站的访问请求之后,判断所述对应关系表中是否包含与所述目标网站对应的第二证书;若是,则直接将对应的第二证书返回至所述内网客户端。
为实现上述目的,本申请还提供了一种HTTPS代理服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述内容所描述的基于 HTTPS协议密文数据管控方法的步骤。
为实现上述目的,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内容所描述的基于HTTPS协议密文数据管控方法的步骤。
显然,本申请所提供的基于HTTPS协议密文数据管控方法,应用于架设在内网客户端和目标网站所属真实服务器间的HTTPS代理服务器,将该 HTTPS代理服务器与真实服务器建立起正常的SSL连接时得到的第一证书,利用自制根证书对从该第一证书中提取出的证书认证信息进行再封装得到第二证书,且该自制根证书已预先安装在内网客户端中,就可以借由该自制根证书实现对第二证书的认证,并进一步建立起内网客户端与该HTTPS代理服务器间正常的SSL连接,满足了该HTTPS代理服务器对基于HTTPS协议的密文数据进行审计和管控的前提条件。本申请同时还提供了一种基于HTTPS 协议密文数据管控、HTTPS代理服务器以及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种基于HTTPS协议密文数据管控方法的流程图;
图2为本申请实施例所提供的一种基于HTTPS协议密文数据管控步骤的完整时序图;
图3为本申请实施例所提供的一种基于HTTPS协议密文数据管控系统的结构框图。
具体实施方式
本申请的核心是提供一种基于HTTPS协议密文数据管控方法、系统、 HTTPS代理服务器以及计算机可读存储介质,将该HTTPS代理服务器与真实服务器建立起正常的SSL连接时得到的第一证书,利用自制根证书对从该第一证书中提取出的证书认证信息进行再封装得到第二证书,且该自制根证书已预先安装在内网客户端中,就可以借由该自制根证书实现对第二证书的认证,并进一步建立起内网客户端与该HTTPS代理服务器间正常的SSL连接,满足了该HTTPS代理服务器对基于HTTPS协议的密文数据进行审计和管控的前提条件。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
以下结合图1,图1为本申请实施例所提供的一种基于HTTPS协议密文数据管控方法的流程图,其具体包括以下步骤:
S101:响应内网客户端发来的目标网站的访问请求,向目标网站的真实服务器发送与访问请求相同的访问请求,以在与真实服务器建立起正常的SSL 连接时得到返回的第一证书;
由于HTTPS代理服务器在内网客户端看来,就是目标网站的真实服务器,因为内网客户端将目标网站的访问请求发送给了HTTPS代理服务器,并期待返回的真实服务器的第一证书,以期在完成对第一证书的身份合法性认证后建立与目标网站的正常SSL连接。
HTTPS代理服务器虽然收到了内网客户端发来的目标网站的访问请求,但由于自身并非为目标网站的真实服务器,自然也就没有真实的证书能够返回给内网客户端,而为了成功建立起内网客户端与自身间的SSL连接,以便 HTTPS代理服务器对传输的HTTPS数据进行检测、审计和管控,因此HTTPS 代理服务器需要想办法使得内网客户端能够通过对自身的身份合法性认证。
本步骤中,HTTPS代理服务器为使得内网客户端能够通过对自身的身份合法性认证,首先需要获得目标网站所属真实服务器的真实证书,采用了向目标网站所属真实服务器发送一个与接收到的来自内网客户端的访问请求,即将自己“伪装为”一个内网客户端,以期通过建立自身与真实服务器间的 SSL连接的方式得到真实服务器返回的真实证书。
S102:从第一证书中提取得到证书认证信息,并利用自制根证书重新封装证书认证信息,得到第二证书;其中,自制根证书由HTTPS代理服务器预先生成并安装在内网客户端的受信任根证书列表中;
在S101的基础上,本步骤旨在由HTTPS代理服务器对接收到的第一证书进行一些处理,以提取出核心的证书认证信息,并利用自制的根证书重新封装该证书认证信息得到第二证书。
其中,该自制根证书由HTTPS代理服务器预先生成并安装在内网客户端的受信任根证书列表中。之所以要自制根证书,在背景技术部分说过,根证书能够对来与自己来自同一颁发机构的证书进行身法合法性验证,即能够识别出证书的正确与否,而根证书的颁发机构和证书的颁发机构都是国际性的权威认证机构,正常的内网客户端在系统中就会预置这些根证书,而采用 HTTPS协议加密的网站在通过向该认证机构缴纳认证费和自身身份材料后就可以得到被这些根证书承认身份合法性的证书。
由于HTTPS代理服务器是一个介于内网客户端和真实服务器间的“中间人”,若HTTPS代理服务器也向认证机构缴纳认证费用得到证书,该证书就会被预装与内网客户端中受信任根证书列表中的根证书认定为合法,但随着 HTTPS代理服务器数量的增多和时间的延长,需要付出巨大的经济成本,本申请不考虑此种实现方式,对此不再赘述。
实际存在的问题就是,HTTPS代理服务器自身并不存在可以被内网客户端中的根证书认可的证书,直接返回来自真实代理服务器的证书也是不可以行的(无法实现密文数据的解密,也就无法进行数据管控),因此本申请为解决这一问题,提出了由HTTPS代理服务器自己生成一个自制根证书,并手动将该自制根证书加入内网客户端的受信任根证书列表,同时利用自制根证书对来自真实服务器的第一证书进行关键信息(颁发者、被颁发者、有效期等)提取和再封装,得到第二证书,以使安装有自制根证书的内网客户端可实现对同源的第二证书的身份合法性认证,由于第二证书包含了第一证书的真实关键信息,因此最终也可成功建立起内网客户端与HTTPS代理服务器的正常SSL连接。
由此可见如何将HTTPS代理服务器自己生成的自制根证书加入所有内网客户端的受信任根证书列表是一个比较关键的问题,本申请在此给出多种实现方式,例如,可以由网管统一预先为每台内网客户端安装该自制根证书,但人力成本较高、较为耗费时间,还容易遗漏;还可以将包含该自制根证书的网页采用内网通知的方式发送给所有内网客户端,以使各内网客户端的用户自行从网页中下载并安装;还可以采用网页重定向的方式,当内网用户视图访问一个常见的网址(例如www.baidu.com)时,将网页重定向至包含该自制根证书的网页,以提醒各内网用户安装等方式,可根据实际应用场景选取合适的实现方式,此处并不做具体限定。
此处提供一种基于网页重定向技术实现将自制根证书安装在内网客户端的具体实现方式:将自制根证书上传至发布下载网页,并利用网页重定向技术在内网客户端访问预设网站时跳转至发布下载页,以使内网客户端下载自制根证书并将其安装在自身的受信任根证书列表中。
S103:向内网客户端返回第二证书,以使内网客户端根据第二证书与 HTTPS代理服务器建立起正常的SSL连接;
在S102的基础上,本步骤旨在由HTTPS代理服务器将生成的第二证书返给内网客户端,以使接收到的内客户端利用已经安装的自制根证书完成对第二证书的身份合法性认证,最终成功建立起内网客户端与HTTPS代理服务器的正常SSL连接。
进一步的,在根据各网站所属真实服务器发来的第一证书生成第二证书后,还可以将包含相同证书认证信息的第一证书和第二证书成对保存,以便在下次收到内网客户端发送的某个请求过第一证书的目标网站的访问请求时,无需再向真实服务器去请求,可直接返回保存的对应的第二证书。
一种具体实现方式如下:
将不同目标网站的真实服务器发来的第一证书和对应的第二证书利用对应关系表进行存储;
在接收到内网客户端发来的目标网站的访问请求之后,判断对应关系表中是否包含与目标网站对应的第二证书;若是,则直接将对应的第二证书返回至内网客户端。
S104:根据与内网客户端和真实服务器分别建立起的SSL连接对传输的密文数据进行管控。
在上述步骤的基础上,HTTPS代理服务器可轻易基于返回的第一证书与目标网站真实服务器建立正常的SSL连接,也通过自制根证书和生成第二证书的方式成功与内网客户端建立正常的SSL连接,因此在背景技术中提及的前提条件已经达成,不会再因没有真实证书造成无法建立与发送源头访问数据的内网客户端的正常SSL连接。
下述为一种具体的实现方式:
当根据第二证书与内网客户端建立起正常的SSL连接后,确定在自身 (HTTPS代理服务器)与内网客户端之间传输的密文数据的加密方式,得到第一加解密算法;
利用第一加解密算法解密由内网客户端发来的密文数据,得到第一明文数据,并按第一预设数据管控规则对第一明文数据进行管控
当根据第一证书与真实服务器建立起正常的SSL连接后,确定在自身 (HTTPS代理服务器)与真实服务器之间传输的密文数据的加密方式,得到第二加解密算法;
利用第二加解密算法解密由所述真实服务器发来的密文数据,得到第二明文数据,并按第二预设数据管控规则对第二明文数据进行管控。
简单来说,HTTPS代理服务器是一个介于内网客户端和真实服务器间的中间人,负责对在内网客户端与真实服务器间传输的数据进行管控,由于采用密文传输,因此需要对其解密,根据实际情况的不同,有可能与不同端采用不同的加解密方式,以内网客户端发向HTTPS代理服务器的第一密文数据为出发点,下面将具体对如何实现密文数据的管控的传输进行具体说明:
内网客户端将第一密文数据发送至HTTPS代理服务器,HTTPS代理服务器使用之前与内网客户端建立起正常SSL连接后确定好的第一加解密算法进行解密,得到第一明文数据,并按照预设审计和管控规则对第一明文数据进行审计和管控,得到第一管控后明文数据,之后在利用之前与真实服务器建立起正常SSL连接后确定好的第二加解密算法进行加密,得到第二密文数据,最终将第二密文数据发送给真实服务器,完成了一次将密文数据从内网客户端传输至真实服务器的过程,返回过程与之类似,在此不再赘述。
基于上述技术方案,本申请实施例提供的建立正常SSL连接的方法,应用于架设在内网客户端和目标网站所属真实服务器间的HTTPS代理服务器,将该HTTPS代理服务器与真实服务器建立起正常的SSL连接时得到的第一证书,利用自制根证书对从该第一证书中提取出的证书认证信息进行再封装得到第二证书,且该自制根证书已预先安装在内网客户端中,就可以借由该自制根证书实现对第二证书的认证,并进一步建立起内网客户端与该HTTPS代理服务器间正常的SSL连接,满足了该HTTPS代理服务器对基于HTTPS协议的密文数据进行审计和管控的前提条件。
以下结合图2,图2为本申请实施例所提供的一种基于HTTPS协议密文数据管控步骤的完整时序图,图中包含本申请所涉及的所有执行主体:内网客户端、HTTPS代理服务器以及真实服务器,并采用网页重定向技术将包含自制根证书的发布下载页挂载在某个网站上。
1-生成自制根证书:
HTTPS代理服务器首先自己生成一个自制根证书。
2-网页重定向技术挂载:
HTTPS代理服务器利用网页重定向技术将包含该自制根证书的发布下载页挂载在一个高频但不关键的网站A(例如百度)上。
3-检测到被挂载页面的访问请求时,使跳转至包含自制根证书的发布下载页:
内网客户端向HTTPS代理服务器发送了一个网站A的访问请求;
HTTPS代理服务器发现内网客户端试图访问网站A,利用网页重定向技术使得内网客户端跳转至包含自制根证书的发布下载页。
4-下载并安装:
内网客户端从发布下载页中下载得到该自制根证书,并根据网页内的教程将其安装入受信任根证书列表中。
5-目标网站的访问请求:
内网客户端在已经安装有该自制根证书的情况下,向HTTPS代理服务器发送目标网站的访问请求,意图在获得该目标网站所属真实服务器返回的第一证书后建立正常的SSL连接。
6-建立与目标网站所属真实服务器的SSL连接,并收到返回的第一证书:
HTTPS代理服务器为了与内网客户端建立起正常的SSL连接,需要能够首先从真实服务器那获得关键信息,即采用发送一个与接收到的访问请求一致的访问请求给目标网站所属真实服务器,以期以同样的方式与建立自身与目标网站所属真实服务器的正常SSL连接;目标网站所属真实服务器根据HTTPS 代理服务器发来的访问请求,返回相应的第一证书。
7-提取证书认证信息并利用自制根证书封装得到第二证书:
HTTPS代理服务器从第一证书中提取得到证书认证信息,并利用该自制根证书重新封装该证书认证信息,得到第二证书。
8-第二证书:
HTTPS代理服务器将生成的第二证书返回至内网客户端,其中包含目标网站所属真实服务器发来的第一证书中的关键信息(证书认证信息)。
9-利用自制根证书成功认证第二证书的身份:
内网客户端根据自身安装的自制根证书认证伪装术的身份合法性,由于第二证书就是由自制根证书对真实关键信息封装得到,因此认证一定会通过。
10-成功建立正常的SSL连接,确定加解密方式,并以密文形式传输数据:
在认证通过的基础上,内网客户端即可成功的与HTTPS代理服务器建立正常的SSL连接,之后就如同背景技术中所描述的过程:内网客户端与HTTPS 代理服务器基于建立起的SSL连接确定之后将要使用的加解密方式,并利用确定的加解密方式向对端传输密文数据。
11-加解密及管控:
HTTPS代理服务器对接收到的密文数据进行解密,以便于对解密后的明文数据进行审计和管控后,再加密得到管控后密文。
12-确定加解密方式,并以密文形式传输数据:
与步骤10类似,只不过本步骤旨在确定与真实服务器间的之后传输的密文的加解密方式,以便对管控后的明文采用能够被真实服务器解密的方式进行加密,实现整个流程的贯通。
基于上述技术方案,本申请实施例提供的建立正常SSL连接的方法,应用于架设在内网客户端和目标网站所属真实服务器间的HTTPS代理服务器,将该HTTPS代理服务器与真实服务器建立起正常的SSL连接时得到的第一证书,利用自制根证书对从该第一证书中提取出的证书认证信息进行再封装得到第二证书,且该自制根证书已预先安装在内网客户端中,就可以借由该自制根证书实现对第二证书的认证,并进一步建立起内网客户端与该HTTPS代理服务器间正常的SSL连接,满足了该HTTPS代理服务器对基于HTTPS协议的密文数据进行审计和管控的前提条件。
因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。
下面请参见图3,图3为本申请实施例所提供的一种基于HTTPS协议密文数据管控系统的结构框图,该系统可以包括:
第一证书请求及获得单元100,用于响应内网客户端发来的目标网站的访问请求,向目标网站的真实服务器发送与访问请求相同的访问请求,以在与真实服务器建立起正常的SSL连接时得到返回的第一证书;
认证信息提取及第二证书封装单元200,用于从第一证书中提取得到证书认证信息,并利用自制根证书重新封装证书认证信息,得到第二证书;其中,自制根证书由HTTPS代理服务器预先生成并安装在内网客户端的受信任根证书列表中;
第二证书返回单元300,用于向内网客户端返回第二证书,以使内网客户端根据第二证书与HTTPS代理服务器建立起正常的SSL连接;
密文数据管控单元400,用于根据与内网客户端和真实服务器分别建立起的SSL连接对传输的密文数据进行管控。
进一步的,该基于HTTPS协议密文数据管控系统还可以包括:
根证书自制单元,用于HTTPS代理服务器生成自制根证书;
重定向技术下载及安装单元,用于将自制根证书上传至发布下载网页,并利用网页重定向技术在内网客户端访问预设网站时跳转至发布下载页,以使内网客户端下载自制根证书并将其安装在自身的受信任根证书列表中。
其中,密文数据管控单元400包括:
第一加解密算法确定子单元,用于当根据所述第二证书与所述内网客户端建立起正常的SSL连接后,确定与所述内网客户端之间传输的密文数据的加密方式,得到第一加解密算法;
内网客户端管控子单元,用于利用所述第一加解密算法解密由所述内网客户端发来的密文数据,得到第一明文数据,并按第一预设数据管控规则对所述第一明文数据进行管控;
第二加解密算法确定子单元,用于当根据所述第一证书与所述真实服务器建立起正常的SSL连接后,确定与所述真实服务器之前传输的密文数据的加密方式,得到第二加解密算法;
真实服务器管控子单元,用于利用所述第二加解密算法解密由所述真实服务器发来的密文数据,得到第二明文数据,并按第二预设数据管控规则对所述第二明文数据进行管控。
进一步的,该基于HTTPS协议密文数据管控系统还可以包括:
存储及对应关系表建立单元,用于将不同目标网站的真实服务器发来的第一证书和对应的第二证书利用对应关系表进行存储;
已有第二证书查询及返回单元,用于在接收到内网客户端发来的目标网站的访问请求之后,判断对应关系表中是否包含与目标网站对应的第二证书;若是,则直接将对应的第二证书返回至内网客户端。
下面提供一种结合实际场景的具体实现步骤:
1、管理员配置自制根证书的安装策略的将包含该自制根证书的下载页面挂载在内网客户端常访问的网站(以百度为例),当内网客户端访问百度时候会弹出该下载页面,内网客户端只需要点击下载安装就可以将该自制根证书安装至受信任根证书列表中;
2.当安装了该自制根证书的内网客户端需要访问外网比如搜狐时,会跟 HTTPS代理服务器先建立TCP连接(该HTTPS代理服务器在内网客户端看来是真实服务器);
3.当HTTPS代理服务器和内网客户端成功建立起TCP连接后,内网客户端紧接着会进行SSL握手,即首先会发送SSL client hello的数据包给HTTPS 代理服务器。正常被视为真实服务器的HTTPS代理服务器应该回复包含真实的搜狐服务器证书的server hello数据包,但HTTPS代理服务器其实并没有搜狐服务器证书,若随便发送一个错误的证书给内网客户端,必然会造成内网客户端不信任该错误证书而产生告警,造成无法正常建立SSL连接,因此 HTTPS代理服务器先不回复server hello给内网客户端,转而执行步骤4;
4.HTTPS代理服务器利用相同的方式与搜狐的真实服务器建立TCP连接,成功后转去执行步骤5;
5.HTTPS代理服务器成功与搜狐的真实服务器建立SSL连接,并索要到真实的搜狐真实服务器证书;
6.HTTPS代理服务器从索要到的真实搜狐服务器证书中提取出关键信息,并使用自制根证书基于该关键信息伪造一份证书,得到第二证书,该第二证书的颁发者是该自制根证书,且是颁发给搜狐;
7.HTTPS代理服务器包含第二证书的server hello数据包返回内网给客户端,以继续之前与内网客户端建立正常的SSL连接;
8.内网客户端收到第二证书后,发现该第二证书的颁发者是自制根证书,且由于该自制根证书处于自身的其受信任根证书列表中,同时该第二证书的颁发给字段正是它要访问的搜狐,则会认为该第二证书通过合法性认证,也就不会因证书错误而产生告警,会成功与HTTPS代理服务器建立起正常的 SSL连接。
基于上述实施例,本申请还提供了一种HTTPS代理服务器,该HTTPS 代理服务器可以包括存储器和处理器,其中,该存储器中存有计算机程序,该处理器调用该存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然,该HTTPS代理服务器还可以包括各种必要的网络接口、电源以及其它零部件等。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行终端或处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种基于HTTPS协议密文数据管控方法,其特征在于,应用于架设在内网客户端和目标网站所属真实服务器间的HTTPS代理服务器,包括:
响应内网客户端发来的目标网站的访问请求,向所述目标网站的真实服务器发送与所述访问请求相同的访问请求,以在与所述真实服务器建立起正常的SSL连接时得到返回的第一证书;
从所述第一证书中提取得到证书认证信息,并利用自制根证书重新封装所述证书认证信息,得到第二证书;其中,所述自制根证书由所述HTTPS代理服务器预先生成并安装在所述内网客户端的受信任根证书列表中;
向所述内网客户端返回所述第二证书,以使所述内网客户端根据所述第二证书与所述HTTPS代理服务器建立起正常的SSL连接;
根据与所述内网客户端和所述真实服务器分别建立起的SSL连接对传输的密文数据进行管控;
其中,所述自制根证书由所述HTTPS代理服务器预先生成并安装在所述内网客户端的受信任根证书列表中,包括:
所述HTTPS代理服务器生成所述自制根证书;
将所述自制根证书上传至发布下载网页,并利用网页重定向技术在所述内网客户端访问预设网站时跳转至所述发布下载页,以使所述内网客户端下载所述自制根证书并将其安装在自身的受信任根证书列表中。
2.根据权利要求1所述方法,其特征在于,根据与所述内网客户端和所述真实服务器分别建立起的SSL连接对传输的密文数据进行管控,包括:
当根据所述第二证书与所述内网客户端建立起正常的SSL连接后,确定与所述内网客户端之间传输的密文数据的加密方式,得到第一加解密算法;
利用所述第一加解密算法解密由所述内网客户端发来的密文数据,得到第一明文数据,并按第一预设数据管控规则对所述第一明文数据进行管控;
当根据所述第一证书与所述真实服务器建立起正常的SSL连接后,确定与所述真实服务器之前传输的密文数据的加密方式,得到第二加解密算法;
利用所述第二加解密算法解密由所述真实服务器发来的密文数据,得到第二明文数据,并按第二预设数据管控规则对所述第二明文数据进行管控。
3.根据权利要求1至2任一项所述方法,其特征在于,还包括:
将不同目标网站的真实服务器发来的第一证书和对应的第二证书利用对应关系表进行存储。
4.根据权利要求3所述方法,其特征在于,还包括:
在接收到所述内网客户端发来的目标网站的访问请求之后,判断所述对应关系表中是否包含与所述目标网站对应的第二证书;若是,则直接将对应的第二证书返回至所述内网客户端。
5.一种基于HTTPS协议密文数据管控系统,其特征在于,应用于架设在内网客户端和目标网站所属真实服务器间的HTTPS代理服务器,包括:
第一证书请求及获得单元,用于响应内网客户端发来的目标网站的访问请求,向所述目标网站的真实服务器发送与所述访问请求相同的访问请求,以在与所述真实服务器建立起正常的SSL连接时得到返回的第一证书;
认证信息提取及第二证书封装单元,用于从所述第一证书中提取得到证书认证信息,并利用自制根证书重新封装所述证书认证信息,得到第二证书;其中,所述自制根证书由所述HTTPS代理服务器预先生成并安装在所述内网客户端的受信任根证书列表中;
第二证书返回单元,用于向所述内网客户端返回所述第二证书,以使所述内网客户端根据所述第二证书与所述HTTPS代理服务器建立起正常的SSL连接;
密文数据管控单元,用于根据与所述内网客户端和所述真实服务器分别建立起的SSL连接对传输的密文数据进行管控;
其中,还包括:
根证书自制单元,用于所述HTTPS代理服务器生成所述自制根证书;
重定向技术下载及安装单元,用于将所述自制根证书上传至发布下载网页,并利用网页重定向技术在所述内网客户端访问预设网站时跳转至所述发布下载页,以使所述内网客户端下载所述自制根证书并将其安装在自身的受信任根证书列表中。
6.根据权利要求5所述系统,其特征在于,所述密文数据管控单元包括:
第一加解密算法确定子单元,用于当根据所述第二证书与所述内网客户端建立起正常的SSL连接后,确定与所述内网客户端之间传输的密文数据的加密方式,得到第一加解密算法;
内网客户端管控子单元,用于利用所述第一加解密算法解密由所述内网客户端发来的密文数据,得到第一明文数据,并按第一预设数据管控规则对所述第一明文数据进行管控;
第二加解密算法确定子单元,用于当根据所述第一证书与所述真实服务器建立起正常的SSL连接后,确定与所述真实服务器之前传输的密文数据的加密方式,得到第二加解密算法;
真实服务器管控子单元,用于利用所述第二加解密算法解密由所述真实服务器发来的密文数据,得到第二明文数据,并按第二预设数据管控规则对所述第二明文数据进行管控。
7.根据权利要求5至6任一项所述系统,其特征在于,还包括:
存储及对应关系表建立单元,用于将不同目标网站的真实服务器发来的第一证书和对应的第二证书利用对应关系表进行存储。
8.根据权利要求7所述系统,其特征在于,还包括:
已有第二证书查询及返回单元,用于在接收到所述内网客户端发来的目标网站的访问请求之后,判断所述对应关系表中是否包含与所述目标网站对应的第二证书;若是,则直接将对应的第二证书返回至所述内网客户端。
9.一种HTTPS代理服务器,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述的基于HTTPS协议密文数据管控方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的基于HTTPS协议密文数据管控方法的步骤。
CN201810847554.3A 2018-07-27 2018-07-27 基于https协议密文数据管控方法、系统、代理服务器及存储介质 Active CN110768940B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810847554.3A CN110768940B (zh) 2018-07-27 2018-07-27 基于https协议密文数据管控方法、系统、代理服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810847554.3A CN110768940B (zh) 2018-07-27 2018-07-27 基于https协议密文数据管控方法、系统、代理服务器及存储介质

Publications (2)

Publication Number Publication Date
CN110768940A CN110768940A (zh) 2020-02-07
CN110768940B true CN110768940B (zh) 2022-03-22

Family

ID=69327843

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810847554.3A Active CN110768940B (zh) 2018-07-27 2018-07-27 基于https协议密文数据管控方法、系统、代理服务器及存储介质

Country Status (1)

Country Link
CN (1) CN110768940B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111429288A (zh) * 2020-03-04 2020-07-17 平安医疗健康管理股份有限公司 用户画像的构建方法及装置、计算机设备、存储介质
CN111541682B (zh) * 2020-04-17 2022-08-12 北京天融信网络安全技术有限公司 一种数据安全检测方法、装置、存储介质和电子设备
CN111526161A (zh) * 2020-05-27 2020-08-11 联想(北京)有限公司 一种通信方法、通信设备及代理系统
CN112487435B (zh) * 2020-11-06 2022-09-06 麒麟软件有限公司 基于x86架构的安全启动方法
CN113343155A (zh) * 2021-06-29 2021-09-03 北京天空卫士网络安全技术有限公司 一种请求处理方法及装置
CN113810396A (zh) * 2021-09-07 2021-12-17 北京明朝万达科技股份有限公司 一种数据管控方法、装置、电子设备及存储介质
CN114553594A (zh) * 2022-03-24 2022-05-27 浙江网商银行股份有限公司 保护数据安全的方法以及装置
CN116846682B (zh) * 2023-08-29 2024-01-23 山东海量信息技术研究院 通信信道建立方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1521426B1 (en) * 2003-09-30 2008-03-19 Ricoh Company, Ltd. Communication apparatus, communication system, certificate transmission method and program
CN105516066A (zh) * 2014-09-26 2016-04-20 阿里巴巴集团控股有限公司 一种对中间人的存在进行辨识的方法及装置
CN106685983A (zh) * 2017-01-13 2017-05-17 华北计算技术研究所(中国电子科技集团公司第十五研究所) 一种基于ssl协议的数据还原方法与装置
CN107239475A (zh) * 2016-03-29 2017-10-10 阿里巴巴集团控股有限公司 一种调用文件方法及装置
CN108234526A (zh) * 2018-04-12 2018-06-29 厦门安胜网络科技有限公司 一种在沙箱中获取https数据的方法、装置、设备及可读介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1521426B1 (en) * 2003-09-30 2008-03-19 Ricoh Company, Ltd. Communication apparatus, communication system, certificate transmission method and program
CN105516066A (zh) * 2014-09-26 2016-04-20 阿里巴巴集团控股有限公司 一种对中间人的存在进行辨识的方法及装置
CN107239475A (zh) * 2016-03-29 2017-10-10 阿里巴巴集团控股有限公司 一种调用文件方法及装置
CN106685983A (zh) * 2017-01-13 2017-05-17 华北计算技术研究所(中国电子科技集团公司第十五研究所) 一种基于ssl协议的数据还原方法与装置
CN108234526A (zh) * 2018-04-12 2018-06-29 厦门安胜网络科技有限公司 一种在沙箱中获取https数据的方法、装置、设备及可读介质

Also Published As

Publication number Publication date
CN110768940A (zh) 2020-02-07

Similar Documents

Publication Publication Date Title
CN110768940B (zh) 基于https协议密文数据管控方法、系统、代理服务器及存储介质
EP2696557B1 (en) System and method for accessing third-party applications based on cloud platform
CN100581103C (zh) 安全地处理被用于基于web的资源访问的客户证书
US8200834B2 (en) Method and system for secure server-based session management using single-use HTTP cookies
US9674175B2 (en) Proxy server-based network site account management
US7287271B1 (en) System and method for enabling secure access to services in a computer network
US20150188779A1 (en) Split-application infrastructure
JP5925335B2 (ja) ネットワーク安全保護方法、装置及びシステム
Stark et al. The Case for Prefetching and Prevalidating TLS Server Certificates.
US10581806B2 (en) Service providing method, service requesting method, information processing device, and client device
CN103634307A (zh) 一种对网页内容进行认证的方法和浏览器
EP1388060A1 (en) Method and apparatus for serving content from a semi-trusted server
CN109792433B (zh) 用于将设备应用绑定到网络服务的方法和装置
WO2010039487A2 (en) Password management systems and methods
CN112532599B (zh) 一种动态鉴权方法、装置、电子设备和存储介质
CN107948235B (zh) 基于jar的云数据安全管理与审计装置
CN105340213A (zh) 用于安全数据传输的方法和设备
CN113190828A (zh) 一种请求代理方法、客户端设备及代理服务设备
US20180288117A1 (en) Secure media casting bypassing mobile devices
JP4608929B2 (ja) 認証システム、サーバ用認証プログラム、およびクライアント用認証プログラム
Abdelrazig Abubakar et al. Blockchain-based identity and authentication scheme for MQTT protocol
US20150271170A1 (en) Information processing apparatus, information processing system, information processing method, and recording medium
CN109729045B (zh) 单点登录方法、系统、服务器以及存储介质
CN112953720A (zh) 一种网络请求处理方法、装置、设备及存储介质
CN110445744B (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