网络保密数据明文的采集方法及系统的制作方法

文档序号:7821722阅读:365来源:国知局
网络保密数据明文的采集方法及系统的制作方法
【专利摘要】本发明涉及一种网络保密数据明文的采集方法及系统,所述方法包括:在客户端和服务器端之间已存在TCP连接的基础上,引入数据采集系统,数据采集系统通过修改SSL/TLS握手消息分别与客户端和服务器端建立两条相互关联的SSL/TLS连接,这两条连接共享会话密钥。掌握这些密钥的数据采集系统可以恢复出保密数据的明文。本发明中的数据采集系统与客户端及服务器端建立的两条SSL/TLS连接是共享会话密钥的,因此缩短了响应时间,SSL吞吐率有较大的提升,节约内存资源,继而增加最大用户连接数。
【专利说明】网络保密数据明文的采集方法及系统

【技术领域】
[0001]本申请涉及网络信息安全【技术领域】,尤其涉及一种安全套接层/传输层安全(Secure Socket Layer/Transport Layer Security, SSL/TLS)协议网络保密数据明文的米集方法及系统。

【背景技术】
[0002]SSL/TLS 协议运行在传输控制协议(Transmiss1n Control Protocol,TCP)协议之上、各种应用层协议之下,能够防止客户端与服务端应用程序通信中的消息窃听、篡改及伪造,从而为互联网上的数据通信提供安全服务。SSL/TLS是分层协议,包括底层的记录层协议及上层的改变加密说明协议、告警协议和握手协议。在记录层上,高层数据被封装成一条条记录,经过压缩、计算消息认证码(Message Authenticat1n Codes,MAC)、加密,最后通过TCP发送;通过TCP接收来的数据经过解密、验证MAC和解压缩,提供给高层。记录是SSL/TLS协议数据发送和接收的基本单位。在上层的三个协议中,握手协议的作用是在客户端与服务端间协商保密参数,从而建立安全连接;改变加密说明协议用于通知对方后续发送的消息采用新协商的保密参数进行保护;告警协议则负责将错误的发生及其严重程度通知对方。
[0003]在网络信息传输过程中,客户端和服务器端之间采用SSL/TLS协议传输的应用层数据都是加密的,没有明文出现。这种加密数据为数据审计带来了困难。例如,在企业业务系统中,需要审查客户资料信息、账务信息、计费信息及企业内部重要资料等敏感信息是否被泄漏出去,而这些信息有可能是以密文的形式传输的。现有技术中,在服务器端和客户端之间引入SSL/TLS代理服务器,SSL/TLS代理服务器分别与服务器端和客户端之间建立两条相互独立的SSL/TLS连接,SSL/TLS代理服务器获取加密数据后,将加密数据解密,提取明文后,再将数据加密,发送到对端。由于两条连接是独立的,因此存在以下问题:SSL/TLS代理服务器获取到数据后,需要修改数据包载荷,导致响应时间长;由于SSL/TLS代理服务器需要将数据解密成明文后,再加密成密文发送到对端,会明显降低SSL吞吐率;SSL/TLS代理服务器需要为每个用户请求维护两份密钥信息,占用内存资源较多。


【发明内容】

[0004]本申请的目的是提供一种网络保密数据明文的采集方法及系统,在客户端和服务器端之间,引入数据采集系统,数据采集系统可以恢复出保密数据的明文。由于数据采集系统与客户端和服务器端建立了两条相互关联的SSL/TLS连接,这两条连接共享会话密钥,所以,数据采集系统可以将密文复制一份即转发,不需对密文解密再加密,且只需为每个用户请求维护一份密钥信息,因此,响应时间短,SSL吞吐率大,占用内存资源少。
[0005]为实现上述目的,第一方面,本申请提供了一种网络保密数据明文的采集方法,该方法包括:
[0006]服务器端向数据采集系统发送第一服务器端证书消息;所述第一服务器端证书消息携带服务器端证书;所述服务器端证书包括服务器端的公钥;
[0007]所述数据采集系统对所述服务器端证书进行验证;
[0008]当验证通过时,所述数据采集系统根据所述服务器端证书提取所述服务器端的公钥,并保存所述服务器端的公钥;
[0009]所述数据采集系统将所述服务器端证书替换为所述数据采集系统证书;所述数据采集系统证书包括所述数据采集系统的公钥;
[0010]所述数据采集系统将第二服务器端证书消息发送给所述客户端;所述第二服务器端证书消息携带所述数据采集系统证书;
[0011]所述客户端对所述数据采集系统证书进行验证;
[0012]当验证通过时,所述客户端利用所述数据采集系统公钥加密预主秘密,得到第一加密预主秘密;
[0013]所述客户端向所述数据采集系统发送第一客户端密钥交换消息;所述第一客户端密钥交换消息携带所述第一加密预主秘密;
[0014]所述数据采集系统利用所述数据采集系统的私钥对所述第一加密预主秘密进行解密,得到所述预主秘密;
[0015]所述数据采集系统根据所述预主秘密生成密钥,用以所述数据采集系统根据所述密钥对网络中传输的保密数据进行解密。
[0016]第二方面,本申请提供了一种网络保密数据明文的采集系统,该系统包括:
[0017]本申请实施例提供的服务器端、数据采集系统和客户端。
[0018]本申请提供的网络保密数据明文的采集方法及系统,在客户端和服务器端之间已存在TCP连接的基础上,引入数据采集系统,数据采集系统通过修改SSL/TLS握手消息分别与客户端和服务器端建立两条相互关联的SSL/TLS连接,这两条连接共享会话密钥。掌握这些密钥的数据采集系统可以恢复出保密数据的明文,而且对于密文复制一份即可转发,缩短响应时间,提升了 SSL吞吐率;只需为每个用户请求维护一份密钥信息,带来内存资源的节约和用户最大连接数的增加。

【专利附图】

【附图说明】
[0019]图1为本申请实施例一提供的网络保密数据明文的采集方法流程图;
[0020]图2为本申请实施例一提供的SSL/TLS数据传输处理示意图;
[0021]图3为本申请实施例二提供的网络保密数据明文的采集系统示意图。

【具体实施方式】
[0022]下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
[0023]图1为本申请实施例一提供的网络保密数据明文的采集方法流程图。如图1所示,所述方法具体包括:
[0024]步骤S101,客户端向数据采集系统发送客户端问候消息,数据采集系统记录客户端随机数后,将所述客户端问候消息转发给服务器端。
[0025]具体地,客户端向数据采集系统发送的客户端问候消息(ClientHell0)中包含计算密钥所需的客户端随机数。数据采集系统接收客户端问候消息之后,需要记录所述随机数,无需对其内容进行任何修改,直接转发给服务器端。数据采集系统需要保存整条消息,用于握手结束阶段校验来自客户端和服务器端的握手结束消息,以及重新构造发送给客户端和服务器端的握手结束消息。
[0026]需要说明的是,在步骤SlOl之前,客户端与服务器端之间已建立TCP连接。
[0027]步骤S102,服务器端向数据采集系统发送服务器端问候消息,所述数据采集系统记录协议版本信息、服务器端随机数和加密套件信息后,将所述服务器端问候消息发送给客户端。
[0028]具体地,服务器端向数据采集系统发送的服务器端问候消息(ServerHello)中携带协议版本信息、服务器端随机数和加密套件信息,所述协议版本信息可以为服务器端和客户端进行安全通信使用的SSL或TLS协议版本;所述加密套件信息可以为一套加密算法;所述服务器端随机数用以计算密钥。数据采集系统需要记录这些信息。数据采集系统无需对服务器端问候消息内容进行任何修改,直接转发给客户端。数据采集系统需要保存整条消息,用于握手结束阶段校验来自客户端和服务器端的握手结束消息,以及重新构造发送给客户端和服务器端的握手结束消息。
[0029]步骤S103,服务器端向数据采集系统发送第一服务器端证书消息,所述数据采集系统对第一服务器端证书验证通过后,提取服务器端公钥并将服务器端证书替换为数据采集系统证书,将第二服务器端证书消息发送给客户端。
[0030]具体地,服务器端向数据采集系统发送第一服务器端证书消息(Certificate),第一服务器端证书消息携带服务器端证书,所述服务器端证书含有服务器端公钥,数据采集系统接收第一服务器端证书消息之后,首先需要对服务器端的证书进行验证。验证通过后,为了继续与服务器端进行后续的握手过程,数据采集系统需要从服务器端证书中提取出服务器端公钥并保存。此时数据采集系统保存整条消息,用于握手结束阶段校验来自服务器端的握手结束消息,以及重新构造发送给服务器端的握手结束消息。为了与客户端之间建立SSL/TLS连接,数据采集系统需要将服务器端证书消息中的服务器端证书替换为数据采集系统证书,得到第二服务器端证书消息,此时数据采集系统保存整条消息,用于握手结束阶段校验来自客户端的握手结束消息,以及重新构造发送给客户端的握手结束消息。之后,数据采集系统将第二服务器端证书消息发送给客户端,所述客户端接收第二服务器端证书消息后,需要对数据采集系统证书进行验证,验证通过后再进行后续消息传输。
[0031]步骤S104,服务器端向数据采集系统发送服务器端问候结束消息,数据采集系统将所述服务器端问候结束消息发送给客户端。
[0032]具体地,服务器端向数据采集系统发送的服务器端问候结束消息(ServerHelloDone)中不含SSL/TLS协议保密数据明文采集所需的任何信息,因此,数据采集系统无需对其进行修改,可以直接转发给客户端。数据采集系统需要保存整条消息,用于握手结束阶段校验来自客户端和服务器端的握手结束消息,以及重新构造发送给客户端和服务器端的握手结束消息”。
[0033]步骤S105,客户端向数据采集系统发送第一客户端密钥交换消息,所述数据采集系统获取第一加密预主秘密后,用数据采集系统的私钥解密,得到预主秘密,用服务器端公钥加密所述预主秘密后,将第二客户端密钥交换消息发送给服务器端。
[0034]具体地,客户端生成预主秘密,利用密钥交换算法和数据采集系统的公钥对所述预主秘密进行加密,得到第一加密预主秘密。密钥交换算法可以为RSA公钥加密算法(由罗纳德.李维斯特、阿迪.萨莫尔和伦纳德.阿德曼三人提出,RSA为三人姓氏首字母组合)。客户端向数据采集系统发送的第一客户端密钥交换消息(ClientKeyExchange)中携带所述第一加密预主秘密。数据采集系统收到第一客户端密钥交换消息之后,需要用数据采集系统的私钥对所述第一加密预主秘密进行解密,从而获取预主秘密。此时数据采集系统保存整条消息,用于握手结束阶段校验来自客户端的握手结束消息,以及重新构造发送给客户端的握手结束消息。之后,为了继续与服务器端进行后续的握手过程,数据采集系统需要用服务器端公钥重新加密预主秘密,得到第二加密预主秘密,并重新封装成第二客户端密钥交换消息发送给服务器端。此时数据采集系统保存整条消息,用于握手结束阶段校验来自服务器端的握手结束消息,以及重新构造发送给服务器端的握手结束消息。数据采集系统获取预主秘密后,先后计算出主秘密和密钥,供后续的握手结束消息的加、解密以及SSL/TLS协议保密数据的解密使用。
[0035]步骤S106,客户端向数据采集系统发送改变加密说明消息,所述数据采集系统将所述改变加密说明消息发送给所述服务器端。
[0036]具体地,客户端向数据采集系统发送的改变加密说明消息(ChangeCipherSpec)中不含SSL/TLS明文采集需要的任何信息,因此,数据采集系统不需对其进行修改,可以直接转发给服务器端。
[0037]步骤S107,客户端向数据采集系统发送客户端握手结束消息,所述数据采集系统验证所述客户端握手结束消息,之后根据与服务器端交互的握手消息重新构建客户端握手结束消息发送给服务器端。
[0038]具体地,数据采集系统需要对客户端发来的客户端握手结束消息(ClientFinished)解密并进行验证。验证通过后,保存整条消息,用于握手结束阶段校验来自客户端的握手结束消息,以及重新构造发送给客户端的握手结束消息。客户端发来的握手结束消息被丢弃,数据采集系统根据之前保存的与服务器端交互的全部SSL/TLS握手消息重新构造握手结束消息,发送给服务器端。保存这条重新构造的消息,用于校验来自服务器端的握手结束消息。
[0039]步骤S108,服务器端向数据采集系统发送改变加密说明消息,所述数据采集系统将所述改变加密说明消息发送给所述客户端。
[0040]具体地,服务器端向数据采集系统发送的改变加密说明消息(ChangeCipherSpec)中不含SSL/TLS明文采集需要的任何信息,因此,数据采集系统不需对其进行修改,可以直接转发给客户端。
[0041]步骤S109,服务器端向数据采集系统发送服务器端握手结束消息,数据采集系统验证所述服务器端握手结束消息,之后根据与客户端交互的握手消息重新构建服务器端握手结束消息发送给客户端。
[0042]具体地,数据采集系统需要对服务器端发来的握手结束消息(Server Finished)解密并进行验证。验证通过后,丢弃所述服务器端握手结束消息,根据之前保存的与客户端交互的全部SSL/TLS握手消息重新构造握手结束消息,发送给客户端。
[0043]经过以上步骤,数据采集系统与客户端及服务器端分别建立一条SSL/TLS连接SSL和SSL’,两条连接具有相同的会话密钥。在SSL/TLS应用数据传输过程中,数据采集系统由于已经掌握了双方SSL/TLS连接的所有秘密信息,因而可以解密通过SSL/TLS协议保护的数据。
[0044]图2为本申请实施例一提供的SSL/TLS数据传输处理示意图。为了保证数据的快速处理,数据采集系统接收数据后拷贝一份即转发,不需对数据包载荷进行任何修改。之后数据采集系统在负载允许的情况下解密SSL/TLS密文数据,得到保密数据明文。
[0045]本申请提供的网络保密数据明文的采集方法,在客户端和服务器端之间已存在TCP连接的基础上,引入数据采集系统,数据采集系统通过修改SSL/TLS握手消息分别与客户端和服务器端建立两条相互关联的SSL/TLS连接,这两条连接共享会话密钥。掌握这些密钥的数据采集系统可以恢复出保密数据的明文,而且对于密文复制一份即可转发,缩短响应时间,提升了 SSL吞吐率;只需为每个用户请求维护一份密钥信息,带来内存资源的节约和用户最大连接数的增加。
[0046]与上述网络保密数据明文的采集方法对应地,本申请实施例二还提供了一种保密数据明文的采集系统,图3为本申请实施例二提供的系统示意图,所述系统包括:客户端21、数据采集系统22和服务器端23.客户端21和服务器端23建立TCP连接,数据采集系统22与客户端21及服务器端23分别建立一条SSL/TLS连接,两条连接具有相同的会话密钥。
[0047]本申请实施例二提供的系统植入了本申请实施例一提供的方法,因此,本申请提供的系统的具体工作过程,在此不复赘述。
[0048]本申请提供的网络保密数据明文的采集系统,在客户端和服务器端之间已存在TCP连接的基础上,引入数据采集系统,数据采集系统通过修改SSL/TLS握手消息分别与客户端和服务器端建立两条相互关联的SSL/TLS连接,这两条连接共享会话密钥。掌握这些密钥的数据采集系统可以恢复出保密数据的明文,而且对于密文复制一份即可转发,缩短响应时间,提升了 SSL吞吐率;只需为每个用户请求维护一份密钥信息,带来内存资源的节约和用户最大连接数的增加。
[0049]专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的对象及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能宄竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0050]结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或【技术领域】内所公知的任意其它形式的存储介质中。
[0051]以上所述的【具体实施方式】,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的【具体实施方式】而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
【权利要求】
1.一种网络保密数据明文的采集方法,其特征在于,所述方法包括: 服务器端向数据采集系统发送第一服务器端证书消息;所述第一服务器端证书消息携带服务器端证书;所述服务器端证书包括服务器端的公钥; 所述数据采集系统对所述服务器端证书进行验证; 当验证通过时,所述数据采集系统根据所述服务器端证书提取所述服务器端的公钥,并保存所述服务器端的公钥; 所述数据采集系统将所述服务器端证书替换为所述数据采集系统证书;所述数据采集系统证书包括所述数据采集系统的公钥; 所述数据采集系统将第二服务器端证书消息发送给所述客户端;所述第二服务器端证书消息携带所述数据采集系统证书; 所述客户端对所述数据采集系统证书进行验证; 当验证通过时,所述客户端利用所述数据采集系统公钥加密预主秘密,得到第一加密预主秘密; 所述客户端向所述数据采集系统发送第一客户端密钥交换消息;所述第一客户端密钥交换消息携带所述第一加密预主秘密; 所述数据采集系统利用所述数据采集系统的私钥对所述第一加密预主秘密进行解密,得到所述预主秘密; 所述数据采集系统根据所述预主秘密生成密钥,用以所述数据采集系统根据所述密钥对网络中传输的保密数据进行解密。
2.根据权利要求1所述的方法,其特征在于,在服务器端向数据采集系统发送第一服务器端证书消息之前,所述方法还包括: 所述服务器端和所述客户端建立传输控制协议连接; 所述客户端向所述数据采集系统发送客户端问候消息;所述客户端问候消息携带客户端随机数; 所述数据采集系统记录所述客户端随机数,并向所述服务器端发送所述客户端问候消息; 所述服务器端向所述数据采集系统发送服务器端问候消息;所述服务器端问候消息携带协议版本信息、服务器端随机数和加密套件信息; 所述数据采集系统记录所述协议版本信息、服务器端随机数和加密套件信息,并向所述客户端发送所述服务器端问候消息。
3.根据权利要求2所述的方法,其特征在于,在所述数据采集系统利用所述数据采集系统的私钥对所述第一加密预主秘密进行解密,得到所述预主秘密之后,所述方法还包括: 所述数据采集系统利用所述服务器端公钥加密所述预主秘密,得到第二加密预主秘密; 所述数据采集系统向所述服务器端发送第二客户端密钥交换消息; 所述第二客户端密钥交换消息携带所述第二加密预主秘密。
4.根据权利要求3所述的方法,其特征在于,在所述客户端利用所述采集系统公钥加密预主秘密,得到第一加密预主秘密之前,所述方法还包括: 所述客户端生成预主秘密。
5.一种网络保密数据明文的采集系统,所述系统包括上述权利要求1所述的服务器端、数据采集系统和客户端。
【文档编号】H04L29/06GK104468560SQ201410721300
【公开日】2015年3月25日 申请日期:2014年12月2日 优先权日:2014年12月2日
【发明者】宋磊, 董海韬, 叶晓舟, 田静, 郑艳伟, 樊皓 申请人:中国科学院声学研究所, 北京中科智网科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1