中继处理方法、装置、服务器和存储介质与流程

文档序号:21180935发布日期:2020-06-20 17:48阅读:171来源:国知局
中继处理方法、装置、服务器和存储介质与流程
本发明涉及网络安全领域,尤其涉及一种中继处理方法、装置、服务器和存储介质。
背景技术
:安全套接层(securesocketslayer,ssl)及其继任者传输层安全(transportlayersecurity,tls)是为网络通信提供安全及数据完整性的一种安全协议。ssl协议位于tcp/ip(transmissioncontrolprotocol/internetprotocol,传输控制协议/网际协议)协议与各种应用层协议之间,为数据通讯提供安全支持。ssl协议可分为两层:ssl记录协议(sslrecordprotocol):它建立在可靠的传输协议(如tcp)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。ssl握手协议(sslhandshakeprotocol):它建立在ssl记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。ssl中间人代理,主要是为了解决企业单位对https(hypertexttransferprotocoloversecuresocketlayer,超文本传输安全协议)、smtp(simplemailtransferprotocol,简单邮件传输协议)、imap(internetmailaccessprotocol,交互邮件访问协议)等数据的审计和控制,防止内部机密信息泄露,以及后续对泄密人员的追溯。由于ssl中间人代理使用了ssl/tls协议,而这些协议都需要先进行密钥协商,最终使用协商后的对称密钥进行数据加密从而达到保护用户数据安全的目的;在整个ssl协议交互的过程中,密钥协商需要使用非对称密钥来进行签名和校验,例如常用的rsa(ras是1977年由罗纳德·李维斯特(ronrivest)、阿迪·萨莫尔(adishamir)和伦纳德·阿德曼(leonardadleman)一起提出的,rsa是三人的姓氏首字母)、dsa(digitalsignaturealgorithm,数字签名算法)、ecdsa(ellipticcurvedigitalsignaturealgorithm,椭圆曲线数字签名算法)等,而这些算法在运算过程中需要消耗大量的cpu(centralprocessingunit,中央处理器)资源。通过对一个完整的ssl短连接进行性能抽样,90%的cpu资源都消耗在密钥协商过程中非对称密钥的签名、校验中,这也是当前业界所公认的结果;在当前互联网对用户数据安全越来越重视的大前提下,https流量在国外可高达70%以上,在国内也在50%左右并且有快速上涨趋势;因此,ssl中间人代理所面临的性能挑战会越来越严峻,低价高效的优化方法势在必行。而目前的提升ssl中间人代理性能的方法一般为增加硬件解密卡来负责密钥算法的运算,而增加硬件解密卡的成本较高;或者使用独立的ssl解密设备,将所有的ssl流量全部引流到这台ssl解密设备上,解密完成后再把数据传输回需要做审计控制的设备上处理,这样同样会增加成本,且增加了网络部署的复杂度,引入了新的故障点。因此目前的减轻ssl中间人代理性能压力的方法需要增加新的硬件设备,而增加的新的硬件设备带来了成本的提高,以及网络部署的复杂度。上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。技术实现要素:本发明的主要目的在于提供一种中继处理方法、装置、服务器和存储介质,旨在解决目前的减轻ssl中间人代理性能压力的方案中带来了成本的增加的技术问题。为实现上述目的,本发明提供一种中继处理方法,包括:获取客户终端发送的客户端问候消息;其中,所述客户端问候消息为所述客户终端在获得对目的服务器的连接请求后生成,所述连接请求携带有连接数据包;解析所述客户端问候消息的头文件,获得所述目的服务器的服务器域名;判断预存域名列表中是否存在所述服务器域名;若所述预存域名列表中存在所述服务器域名,则向所述客户终端发送消息,以使所述客户终端将所述连接数据包通过传输控制协议代理透传至所述目的服务器。可选地,所述判断预存域名列表中是否存在所述服务器域名的步骤,具体包括:计算所述服务器域名的哈希值;判断所述预存域名列表内是否存在所述哈希值。可选地,所述判断预存域名列表中是否存在所述服务器域名的步骤之后,所述中继处理方法还包括:若所述预存域名列表中不存在所述服务器域名,则判断所述客户端问候消息中是否存在会话标识;若所述客户端问候消息中存在会话标识,则对所述会话标识进行合法性校验,获得校验结果;若所述校验结果表征对所述会话标识的合法性校验通过,则向所述目的服务器发送指令,以使所述目的服务器获取本地存储的与所述会话标识相关联的目标密钥套件并反馈;将所述目标密钥套件发送至所述客户终端,以通知所述客户终端根据所述目标密钥套件与所述目的服务器进行所述连接数据包的通信传输。可选地,所述对所述会话标识进行合法性校验,获得校验结果的步骤,具体包括:获取与所述服务器域名相关联的目标会话标识列表;判断所述目标会话标识列表中是否存在所述会话标识,以及所述会话标识是否超时;若所述目标会话标识列表中存在所述会话标识,且所述会话标识未超时,则生成表征对所述会话标识的合法性校验通过的校验结果。可选地,所述若所述客户端问候消息中存在会话标识,则对所述会话标识进行合法性校验,获得校验结果的步骤之后,所述中继处理方法还包括:若所述校验结果表征对所述会话标识的合法性校验未通过,则从所述客户端问候消息中获取密钥套件列表;其中,所述密钥套件列表包括多组密钥套件;根据预存的密钥套件性能表,从所述密钥套件列表中获取性能最高的密钥套件作为优选密钥套件;将所述优选密钥套件发送至所述客户终端和所述目的服务器,以使所述客户终端和所述目的服务器根据所述优选密钥套件进行所述连接数据包的通信传输。可选地,所述将所述目标密钥套件发送至所述客户终端的步骤之后,所述中继处理方法还包括:接收所述客户终端发送的连接数据包;根据所述目标密钥套件对所述连接数据包进行解密,得到解密数据包;对所述解密数据包进行审计;若对所述解密数据包的审计通过,则根据所述目标密钥套件对所述解密数据包加密后传输至所述目的服务器。可选地,所述根据所述目标密钥套件对所述连接数据包进行解密,得到解密数据包的步骤之后,所述中继处理方法还包括:解析所述解密数据包的头文件,获取所述解密数据包中记录的上层协议;若所述上层协议为超文本传输安全协议,则获取所述解密数据包中请求资源的文件类型信息;查询预存的文件类型过滤列表,判断所述文件类型过滤列表中是否存在所述文件类型信息;若所述文件类型过滤列表中存在所述文件类型信息,则根据所述目标密钥套件对所述解密数据包加密后传输至所述目的服务器;若所述文件类型过滤列表中不存在所述文件类型信息,则执行所述对所述解密数据包进行审计的步骤。此外,为实现上述目的,本发明还提供一种中继处理装置,包括:获取模块,用于获取客户终端发送的客户端问候消息;其中,所述客户端问候消息为所述客户终端在获得对目的服务器的连接请求后生成,所述连接请求携带有连接数据包;解析模块,用于解析所述客户端问候消息的头文件,获得所述目的服务器的服务器域名;判断模块,用于判断预存域名列表中是否存在所述服务器域名;消息发送模块,用于若所述预存域名列表中存在所述服务器域名,则向所述客户终端发送消息,以使所述客户终端将所述连接数据包通过传输控制协议代理透传至所述目的服务器。此外,为实现上述目的,本发明还提供一种服务器,所述服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的中继处理程序,所述中继处理程序被所述处理器执行时实现如上述的中继处理方法的步骤。此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有中继处理程序,所述中继处理程序被处理器执行时实现如上述的中继处理方法的步骤。本发明实施例提出的一种中继处理方法、装置、服务器和存储介质,在获取到客户终端发送的客户端问候消息后,通过解析该客户端问候消息获得目的服务器的服务器域名,并判断预存域名列表内是否存在该服务器域名,预存域名列表可以存放受信任的预存域名,即可以判断该服务器域名为受信任的域名,从而向客户终端发送消息,使得客户终端不再与目的服务器进行ssl握手,而是直接通过传输控制协议代理将连接数据包透传至目的服务器,在保证安全的情况下,减少代理服务器需要处理的数据包,从而减少代理服务器的资源消耗,提升了代理服务器的吞吐量,实现了在软件层面减轻代理服务器的性能压力,无需额外增加硬件设备以分担代理服务器的性能压力,成本较低。附图说明图1为本发明实施例方案涉及的硬件运行环境的结构示意图;图2为本发明实施例方案涉及的硬件运行环境的代理服务器的结构示意图;图3为本发明中继处理方法实施例的流程示意图;图4为本发明中继处理方法实施例的客户终端与目的服务器之间的流量传输状态图;图5为图3中本发明中继处理方法实施例的步骤s306的细化流程示意图;图6为图3中本发明中继处理方法实施例的步骤s306之后的步骤流程示意图;图7为图6中本发明中继处理方法实施例的步骤s604的细化流程示意图;图8为图6中本发明中继处理方法实施例的步骤s604之后的步骤流程示意图;图9为图6中本发明中继处理方法实施例的步骤s608之后的步骤流程示意图;图10为本发明另一中继处理方法实施例的客户终端与目的服务器之间的流量传输状态图;图11为图9中本发明中继处理方法实施例的步骤s904之后的步骤流程示意图;图12为本发明中继处理装置实施例的结构框图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。图1是本发明实施例方案涉及的硬件运行环境示意图。其中,客户终端102和服务器106分别通过网络与代理服务器104进行通信连接。代理服务器104部署在网络出口上,可以代理多个客户终端和多个服务器。本发明实施例的服务器为web服务器。用户可以操作客户终端102向服务器106发出连接请求,而代理服务器104则截取该连接请求,通过ssl代理将连接请求传输给服务器106。其中,客户终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、电子书阅读器、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、mp5(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面5)播放器、便携计算机等具有显示功能的可移动式用户终端设备。代理服务器104和服务器106均可以用独立的服务器或者是多个服务器组成的服务器集群来实现。图2是本发明实施例方案涉及的硬件运行环境的代理服务器的结构示意图。该代理服务器可以包括:处理器2001,例如cpu,网络接口2004,用户接口2003,存储器2005,通信总线2002。其中,通信总线2002用于实现这些组件之间的连接通信。用户接口2003可以包括标准的有线接口、无线接口。网络接口2004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器2005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器2005可选的还可以是独立于前述处理器2001的存储装置。本领域技术人员可以理解,图2中示出的代理服务器结构并不构成对代理服务器的限定,可以包括比图示更多或更少的部件,或者某些部件的组合,或者部件的不同布置。作为一种计算机存储介质的存储器2005中可以包括操作系统、网络通信模块、用户接口模块以及中继处理程序。网络接口2004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口2003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器2001可以用于调用存储器2005中存储的中继处理程序,并执行以下操作:获取客户终端发送的客户端问候消息;其中,所述客户端问候消息为所述客户终端在获得对目的服务器的连接请求后生成,所述连接请求携带有连接数据包;解析所述客户端问候消息的头文件,获得所述目的服务器的服务器域名;判断预存域名列表中是否存在所述服务器域名;若所述预存域名列表中存在所述服务器域名,则向所述客户终端发送消息,以使所述客户终端将所述连接数据包通过传输控制协议代理透传至所述目的服务器。可选地,处理器2001可以调用存储器2005中存储的中继处理程序,还执行以下操作:所述判断预存域名列表中是否存在所述服务器域名的步骤,具体包括:计算所述服务器域名的哈希值;判断所述预存域名列表内是否存在所述哈希值。可选地,处理器2001可以调用存储器2005中存储的中继处理程序,还执行以下操作:所述判断预存域名列表中是否存在所述服务器域名的步骤之后,所述中继处理方法还包括:若所述预存域名列表中不存在所述服务器域名,则判断所述客户端问候消息中是否存在会话标识;若所述客户端问候消息中存在会话标识,则对所述会话标识进行合法性校验,获得校验结果;若所述校验结果表征对所述会话标识的合法性校验通过,则向所述目的服务器发送指令,以使所述目的服务器获取本地存储的与所述会话标识相关联的目标密钥套件并反馈;将所述目标密钥套件发送至所述客户终端,以通知所述客户终端根据所述目标密钥套件与所述目的服务器进行所述连接数据包的通信传输。可选地,处理器2001可以调用存储器2005中存储的中继处理程序,还执行以下操作:所述对所述会话标识进行合法性校验,获得校验结果的步骤,具体包括:获取与所述服务器域名相关联的目标会话标识列表;判断所述目标会话标识列表中是否存在所述会话标识,以及所述会话标识是否超时;若所述目标会话标识列表中存在所述会话标识,且所述会话标识未超时,则生成表征对所述会话标识的合法性校验通过的校验结果。可选地,处理器2001可以调用存储器2005中存储的中继处理程序,还执行以下操作:所述若所述客户端问候消息中存在会话标识,则对所述会话标识进行合法性校验,获得校验结果的步骤之后,所述中继处理方法还包括:若所述校验结果表征对所述会话标识的合法性校验未通过,则从所述客户端问候消息中获取密钥套件列表;其中,所述密钥套件列表包括多组密钥套件;根据预存的密钥套件性能表,从所述密钥套件列表中获取性能最高的密钥套件作为优选密钥套件;将所述优选密钥套件发送至所述客户终端和所述目的服务器,以使所述客户终端和所述目的服务器根据所述优选密钥套件进行所述连接数据包的通信传输。可选地,处理器2001可以调用存储器2005中存储的中继处理程序,还执行以下操作:所述将所述目标密钥套件发送至所述客户终端的步骤之后,所述中继处理方法还包括:接收所述客户终端发送的连接数据包;根据所述目标密钥套件对所述连接数据包进行解密,得到解密数据包;对所述解密数据包进行审计;若对所述解密数据包的审计通过,则根据所述目标密钥套件对所述解密数据包加密后传输至所述目的服务器。可选地,处理器2001可以调用存储器2005中存储的中继处理程序,还执行以下操作:所述根据所述目标密钥套件对所述连接数据包进行解密,得到解密数据包的步骤之后,所述中继处理方法还包括:解析所述解密数据包的头文件,获取所述解密数据包中记录的上层协议;若所述上层协议为超文本传输安全协议,则获取所述解密数据包中请求资源的文件类型信息;查询预存的文件类型过滤列表,判断所述文件类型过滤列表中是否存在所述文件类型信息;若所述文件类型过滤列表中存在所述文件类型信息,则根据所述目标密钥套件对所述解密数据包加密后传输至所述目的服务器;若所述文件类型过滤列表中不存在所述文件类型信息,则执行所述对所述解密数据包进行审计的步骤。参照图3,一种中继处理方法实施例,所述中继处理方法包括:步骤s302,获取客户终端发送的客户端问候消息;其中,所述客户端问候消息为所述客户终端在获得对目的服务器的连接请求后生成,所述连接请求携带有连接数据包;需要说明的是,客户终端在向目的服务器发起连接请求时,首先进行tcp握手,当tcp连接成功后进入ssl握手,若ssl证书检验成功,则与服务器完成会话连接的建立开始数据传输通信。本实施例中,客户终端与目的服务器成功建立tcp连接后,则开始进入ssl握手,代理服务器则开始执行步骤s302。客户终端本次发送的连接请求的请求对象为目的服务器。其中,目的服务器为web(worldwideweb,全球广域网)服务器,web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等web客户端提供文档,也可以放置网站文件,让全世界浏览,还可以放置数据文件,让全世界下载。目前最主流的三个web服务器是apache(apachesoftwarefoundation)、nginx(enginex)和iis(internetinformationserver,互联网信息服务)。web服务器从业务类型上可以包括视频网站服务器、搜索引擎服务器、以及社交网站服务器等等。应当理解的是,用户可以通过操作客户终端发出对目的服务器的连接请求,以请求与目的服务器进行连接,从而进行信息交互。其中,连接请求携带有连接数据包,连接数据包中包含有连接请求的具体请求信息,例如请求的服务器的域名、请求的操作类型、携带的用户输入的用户输入信息等。例如若连接请求为对视频网站服务器发出的视频流上传请求,则连接数据包中包含有视频网站服务器的域名、上传视频的操作类型、以及用户输入的视频流等。客户终端在获取到根据用户操作生成连接请求时,生成客户端问候消息(clienthello)。客户端问候消息根据为客户终端根据该连接请求生成。具体地,客户终端从所述连接请求中获取携带的目的服务器的服务器域名,并根据ssl协议生成clienthello。本实施例的clienthello的报文内容包括但不限于目的服务器的服务器域名。客户终端在生成clienthello时,向代理服务器发送该clienthello。本实施例中,代理服务器接收客户终端发送的clienthello。在其中一个实施例中,客户终端在获取到连接请求时,首先与目的服务器建立tcp握手。然后不直接进行ssl握手,而是将clienthello发送给代理服务器,代理服务器则执行本实施例的步骤。步骤s304,解析所述客户端问候消息的头文件,获得所述目的服务器的服务器域名;需要说明的是,代理服务器对clienthello的头文件进行解析。其中,clienthello的头文件为clienthello的头部信息,即在clienthello中存储在前排的信息。具体地,代理服务器通过解析clienthello的头文件,获取服务器名称(server_name)字段对应的域名,则该域名为目的服务器的服务器域名。步骤s306,判断预存域名列表中是否存在所述服务器域名;需要说明的是,预存域名列表为预先存储于代理人服务器内。预存域名列表内记录有多个受信任的预存域名。本实施例中,预存域名列表内记录有多个视频网站的预存域名。具体地,代理服务器按照一定的查询顺序,查询该预存域名列表,获取查询到的预存域名,将该预存域名与服务器域名进行比较,判断二者是否一致,若不一致则继续查询预存域名列表,直至在预存域名列表中查找到与服务器域名一致的预存域名,或者对预存域名列表的各预测域名查询完成。步骤s308,若所述预存域名列表中存在所述服务器域名,则向所述客户终端发送消息,以使所述客户终端将所述连接数据包通过传输控制协议代理透传至所述目的服务器。应当理解的是,由于本实施例的预存域名列表内记录有多个受信任的预存域名,若代理服务器在预存域名列表中查找到目的服务器的服务器域名,则该服务器域名为受信任的域名。进一步地,代理服务器向客户终端发送消息,使客户终端不再与目的服务器进行ssl握手,而是通过tcp代理将连接数据包透传至所述目的服务器。在其中一个实施例中,所述步骤s306之后,还包括:步骤s310,若所述预存域名列表中不存在所述服务器域名,则执行完整的ssl握手流程。需要说明的是,若预存域名列表中不存在所述服务器域名,代理服务器则向所述客户端发送消息以通知客户端该服务器域名匹配不成功,并与客户终端和目的服务器进行交互以进行完整的ssl握手流程。图4示出了本实施例客户终端与目的服务器之间的流量传输状态图。其中,本实施例传输的流量即为连接数据包,客户终端401在与目的服务器403完成tcp握手以及ssl握手后,即可进行流量的传输。其中,客户终端401在本地对流量进行加密后,得到加密流量,将加密流量通过tcp代理模块404的tcp代理透传至目的服务器4或者通过代理服务器402的ssl代理传输至目的服务器403。可以理解的是,若传输的流量为所对应的服务器的域名为目的服务器403的服务器域名,则客户终端401直接通过tcp代理将流量透传至目的服务器403,否则通过ssl代理传输至目的服务器403。可以理解的是,目的服务器403可以对接收到的加密流量进行解密,获取其中的信息后生成反馈数据包,对反馈数据包进行加密后传输给代理服务器402,该反馈数据包即为目的服务器403发送的加密流量。代理服务器402仍然通过ssl代理将目的服务器403传输的加密流量传输给客户终端401,从而实现客户终端401与目的服务器403之间的保密数据传输。其中,tcp代理模块404可以实施于本实施例的代理服务器402内,还可以实施于独立的tcp代理服务器中。本实施例中,在获取到客户终端发送的客户端问候消息后,通过解析该客户端问候消息获得目的服务器的服务器域名,并判断预存域名列表内是否存在该服务器域名,预存域名列表可以存放受信任的预存域名,即可以判断该服务器域名为受信任的域名,从而向客户终端发送消息,使得客户终端不再与目的服务器进行ssl握手,而是直接通过tcp代理将连接数据包透传至目的服务器,在保证安全的情况下,减少代理服务器需要处理的数据包,从而减少代理服务器的资源消耗,提升了代理服务器的吞吐量,实现了在软件层面减轻代理服务器的性能压力,无需额外增加硬件设备以分担代理服务器的性能压力,成本较低。参照图5,在其中一个实施例中,所述步骤s306,具体包括:步骤s502,计算所述服务器域名的哈希值;需要说明的是,哈希值为md5(message-digestalgorithm5,信息摘要算法5)值。代理服务器根据md5算法对服务器域名进行计算,得到一个固定长度的md5值。步骤s504,判断所述预存域名列表内是否存在所述哈希值。本实施例中,预存域名列表为哈希表,其中的记录项为多个域名对应的预存md5值。代理服务器通过查询预存域名列表,来判断该预存域名列表中是否存在目的服务器的服务器域名对应的md5值,从而判断该服务器域名是否为预存md5值对应的域名。其中,预存域名列表中记录的预存md5值对应的域名为受信任的域名。本实施例中,通过计算服务器域名的哈希值,并判断预存域名列表内是否存在该哈希值来判断服务器域名是否为预存域名列表中各预存哈希值对应的域名,预存域名列表内记录的是域名对应的预存哈希值,能够对域名进行有效加密,保密性更高,并且减小了预存域名列表的文件大小,节省了代理服务器的存储空间,通过计算服务器域名的哈希值,来根据计算得到的哈希值去判断预存域名列表中是否存在该哈希值,保密性高。参照图6,在其中一个实施例中,所述步骤s306之后,所述中继处理方法还包括:步骤s602,若所述预存域名列表中不存在所述服务器域名,则判断所述客户端问候消息中是否存在会话标识;本实施例中,会话标识为会话id(identitydocument,身份标识符)。若代理服务器判断预存域名列表中不存在目的服务器的服务器域名,则继续判断clienthello中是否存在会话id。需要说明的是,客户终端在与目的服务器经过ssl握手建立会话连接后,目的服务器会向客户终端发放一个会话id。若clienthello中存在会话id,则表示客户终端与某一服务器建立过会话连接,该服务器可能是目的服务器,也可能是其它服务器。若clienthello中不存在会话id,则表示客户终端未与服务器建立过过会话连接。如果客户端问候消息中存在会话id且该会话id为与目的服务器的上次会话生成,则目的服务器可以直接根据上次与客户终端的会话中生成的相关信息与客户终端建立会话连接。其中,相关信息包括但不限于密钥套件。步骤s604,若所述客户端问候消息中存在会话标识,则对所述会话标识进行合法性校验,获得校验结果;需要说明的是,若代理服务器判断clienthello中存在会话id,则进一步对该会话id进行合法性校验,获得校验结果,以判断该会话id是否有效。例如该会话id是否为与目的服务器建立会话连接时生成。本实施例中,代理服务器可以查询本地存储的会话id列表,该会话id列表包含有会话id与目的服务器的服务器域名的映射关系。代理服务器通过查询该会话id列表来判断与该会话id相关联的域名是否为目的服务器的服务器域名。若是,则生成校验通过的校验结果,否则生成校验未通过的校验结果。在其中一个实施例中,会话id列表还可以存储于目的服务器中,具体地,代理服务器向目的服务器发送对该会话id的校验指令,以使代理服务器查询本地的会话id列表,判断本地的会话id列表中是否存在该会话id,若存在,则表示该会话id为客户终端与目的服务器上一次会话时生成,则生成校验通过的校验结果并反馈给代理服务器;若不存在,则表示该会话id不是客户终端与目的服务器上一次会话时生成,则生成校验不通过的校验结果并反馈给代理服务器。步骤s606,若所述校验结果表征对所述会话标识的合法性校验通过,则向所述目的服务器发送指令,以使所述目的服务器获取本地存储的与所述会话标识相关联的目标密钥套件并反馈;需要说明的是,若代理服务器生成的校验结果表征对所述会话id的合法性校验通过,则表示该会话id为客户终端与目的服务器上一次会话时生成,而目的服务器中存储有上一次会话时协商的密钥套件,则可以让目的服务器与客户终端根据上一次会话时协商的密钥套件进行通信。具体地,代理服务器向目的服务器发送指令,以使目的服务器获取本地存储的与会话id相关联的目标密钥套件并反馈。具体地,目的服务器以会话id作为索引,查找本地存储的密钥套件,获得目标密钥套件,并将该目标密钥套件反馈给代理服务器。代理服务器接收目的服务器反馈的目标密钥套件。步骤s608,将所述目标密钥套件发送至所述客户终端,以通知所述客户终端根据所述目标密钥套件与所述目的服务器进行所述连接数据包的通信传输。进一步地,代理服务器将目标密钥套件发送给客户终端,以通知客户终端根据目标密钥套件与目的服务器进行连接数据包的通信传输。可以理解的是,若clienthello中不存在会话id,或对clienthello中的会话id合法性校验未通过时,则执行完整的ssl握手流程。本实施例中,若预存域名列表中不存在所述服务器域名,则判断clienthello中是否存在会话id,若clienthello中存在会话id,则对该会话id进行合法性校验,获得校验结果,若校验结果表征对会话id的合法性校验通过,则向目的服务器发送指令,以使目的服务器获取本地存储的与该会话id相关联的目标密钥套件并反馈,然后将目标密钥套件发送至所述客户终端,以通知客户终端根据目标密钥套件与目的服务器进行连接数据包的通信传输,省略了ssl握手的密钥协商过程,从而进一步减少了代理服务器的资源消耗,提升了代理服务器的吞吐量。参照图7,在其中一个实施例中,所述步骤s604,具体包括:步骤s702,获取与所述服务器域名相关联的目标会话标识列表;需要说明的是,代理服务器内预存有多个会话id列表,每一个会话id列表对应有一个域名。即对每一个服务器均配置一个独立的会话id列表,该会话id列表管理着服务器与多个不同的客户终端的会话id。各会话id列表的表名可以用服务器的域名进行命名,或者根据服务器的域名计算得到的哈希值进行命名。还可以根据其它自定义名称对各会话id列表进行命名,并在本地建立一个会话id列表的表名与服务器的域名的映射表。本实施例中,与目的服务器的服务器域名相关联的会话id列表即为目标会话id列表。具体地,代理服务器将目的服务器的服务器域名作为索引,在本地查找与该服务器域名相关联的目标会话id列表。步骤s704,判断所述目标会话标识列表中是否存在所述会话标识,以及所述会话标识是否超时;进一步地,代理服务器判断查找到的目标会话id列表中是否存在该会话id,同时判断该会话id是否超时。需要说明的是,会话id的超时时间为预先设置,可以自定义设置为任意时间,包括设置为永远不超时。步骤s706,若所述目标会话标识列表中存在所述会话标识,且所述会话标识未超时,则生成表征对所述会话标识的合法性校验通过的校验结果。需要说明的是,若目标会话id列表中存在该会话id,则表示该会话id为客户终端与目的服务器上一次会话时生成,若该会话id未超时,则表示该会话id依然有效,能够利用该会话id来获取目的服务器内存储的上一次会话的相关信息,例如密钥套件。本实施例中,若目标会话id列表中存在该会话id,且该会话id未超时,则代理服务器判断对会话id的合法性校验通过,从而生成表征对该会话id的合法性校验通过的校验结果,完成对会话id的合法性校验。可以理解的是,若目标会话id列表中存在该会话id,或该会话id超时,则表示对会话id的合法性校验未通过,则生成表征对该会话id的合法性校验未通过的校验结果。本实施例中,提供了对会话id合法性校验的具体过程,通过获取与目的服务器的服务器域名相关联的目标会话id列表,并判断目标会话id列表中是否存在该会话id以及该会话id是否超时,若目标会话id列表中存在该会话id且该会话id未超时,则生成表征对该会话id的合法性校验通过的校验结果,校验过程不仅简单高效,校验结果还具有很好的可靠性。参照图8,在其中一个实施例中,所述步骤s604之后,所述中继处理方法还包括:步骤s802,若所述校验结果表征对所述会话标识的合法性校验未通过,则从所述客户端问候消息中获取密钥套件列表;其中,所述密钥套件列表包括多组密钥套件;需要说明的是,clienthello还记录有密钥套件列表。该密钥套件列表中包括多组密钥套件。密钥套件列表中记录的各密钥套件均为客户终端支持的密钥套件。若步骤s604的校验结果为表征对该会话id的合法性校验未通过,则需要进行ssl握手的密钥协商过程。具体地,代理服务器从clienthello中获取密钥套件列表。步骤s804,根据预存的密钥套件性能表,从所述密钥套件列表中获取性能最高的密钥套件作为优选密钥套件;需要说明的是,密钥套件包括密钥交换算法、数据加密算法以及消息验证算法等。其中,密钥交换算法包括但不限于有ecdhe算法、ecdsa算法以及rsa算法等。数据加密算法包括但不限于有aes(advancedencryptionstandard,高级加密标准)算法和chacha20算法等。消息验证算法包括但不限于有sha(securehashalgorithm,安全散列算法)算法和poly1305等。本实施例的密钥交互算法采用非对称加密,需要两对密钥,则一组密钥套件例如可以是ecdhe-ecdsa-aes128-sha。还需要说明的是,密钥套件性能表中包含有多组密钥套件。其中,密钥套件性能表中记录的密钥套件包含有多个客户终端所支持的所有密钥套件,即密钥套件性能列表中记录的密钥套件包含本实施例的clienthello内记录的密钥套件。本实施例中,密钥套件性能表中各密钥套件的排序顺序为根据各密钥套件的性能从高到低排序。各密钥套件的性能根据各密钥套件的综合算法性能计算得到。在其中一个实施例中,评价密钥套件性能的指标包括密钥套件的算法速度以及密钥套件的加密强度。在加密强度一定的前提下,算法速度越快则对应的密钥套件的性能越高;在算法速度一定的前提下,加密强度越大则对应的密钥套件的性能越高。本实施例中,密钥套件性能表还包含有序号项,序号以从小到大的顺序排序,越小的序号对应的密钥套件的性能越高。表一为本发明实施例的一个密钥套件性能表示例。表一密钥套件性能表示例序号密钥套件1ecdhe-ecdsa-aes128-gcm-sha2562ecdhe-ecdsa-aes256-gcm-sha3843ecdhe-ecdsa-aes128-sha4ecdhe-ecdsa-aes128-sha2565dhe-ecdsa-chacha20-poly13056cdhe-ecdsa-aes256-sha7ecdhe-rsa-aes128-gcm-sha2568ecdhe-rsa-aes128-sha2569ecdhe-rsa-aes256-sha38410ecdhe-rsa-chacha20-poly1305在其中一个实施例中,本实施例的方法开始之前,即步骤s302之前,还包括前置步骤:接收管理员输入的多组密钥套件,计算各组密钥套件的性能,得到性能参数,根据性能参数对各组密钥套件进行排序,根据各组密钥套件的性能排序,生成密钥套件性能表。其中,性能参数包括密钥套件的算法的运算速度,以及密钥套件的加密强度。性能参数可以根据运算速度和加密强度计算得到。具体地,代理服务器可以按照一定的顺序对各组密钥套件进行性能的计算,例如可以根据各密钥套件的接收顺序。在对其中一个密钥套件计算性能参数时,对密钥套件的性能的计算方法可以是根据预设的测试脚本,对密钥套件进行测试,对密钥套件的算法进行运算,得到测试结果,测试结果包括算法的运算耗时。运算耗时越短则表示密钥套件的算法运算速度越快,而密钥套件的加密强度参数则可以根据本领域已知的各加密算法的加密性获得。加密性越强的算法对应数值越大的加密强度参数。然后进一步利用一定的计算规则将运算速度和加密强度参数作为输入进行计算,得到性能参数。本实施例中,性能参数与运算速度和加密强度参数均为正相关,即运算速度越快则性能参数越大,加密强度参数越大则性能参数越大,可以理解,性能参数越大则表征对应的密钥套件的性能越高。其中,计算规则例如可以是调和平均式。在其中一个实施例中,还可以是管理员利用其他终端进行密钥套件的性能计算,并生成密钥套件性能表,将该密钥套件性能表传输给代理服务器,以使代理服务器直接使用该密钥套件性能表进行密钥套件的性能判断。在其他实施例中,性能参数还可以与运算速度和加密强度参数均为负相关,即运算速度越快则性能参数越小,加密强度参数越大则性能参数越小,可以理解,性能参数越小则表征对应的密钥套件的性能越高。本领域技术人员可以设置合适的负相关的计算规则来根据运算速度和加密强度参数进行性能参数的计算。本实施例中,代理服务器查找密钥套件性能表,获取clienthello内的密钥套件列表中各密钥套件所对应的序号,获取序号最小的密钥套件,则获取得到的序号最小的密钥套件为性能最高的密钥套件,将其作为优选密钥套件。步骤s806,将所述优选密钥套件发送至所述客户终端和所述目的服务器,以使所述客户终端和所述目的服务器根据所述优选密钥套件进行所述连接数据包的通信传输。本实施例中,代理服务器将该优选密钥套件发送至客户终端和目的服务器,以通知客户终端和目的服务器根据该优选密钥套件进行连接数据包的通信传输,完成ssl握手过程的密钥协商。本实施例中,若校验结果表征对会话id的合法性校验未通过,则从客户端问候消息中获取密钥套件列表,并根据预存的密钥套件性能表,从该钥套件列表中获取性能最高的优选密钥套件,然后将该优选密钥套件发送至客户终端和目的服务器,以使客户终端和目的服务器根据该优选密钥套件进行连接数据包的通信传输,通过选择性能最高的优选密钥套件来进行数据通信,使得能够同时保证加密性和密钥套件的算法速度,从而降低了代理服务器的性能压力。参照图9,在其中一个实施例中,所述步骤s608之后,所述中继处理方法还包括:步骤s902,接收所述客户终端发送的连接数据包;需要说明的是,客户终端与目的服务器完成密钥协商并ssl握手成功之后,客户终端与目的服务器开始数据传输通信,开始执行步骤s902。具体地,客户终端利用协商的目标密钥套件将连接数据包加密后发送给代理服务器。代理服务器接收经过加密的连接数据包。其中,连接数据包中包含有连接请求的具体请求信息,例如请求的服务器的域名、请求的操作类型、携带的用户输入的用户输入信息等。例如若连接请求为对视频网站服务器发出的视频流上传请求,则连接数据包中包含有视频网站服务器的域名、上传视频的操作类型、以及用户输入的视频流等。再例如若连接请求为http请求,请求方法为get方法,则连接请求包中包含有请求的服务器的域名、使用的协议、对资源的请求方法、以及资源的标识符等。其中,对资源的请求方法例如可以是get方法,请求的资源的文件类型包括但不限于js、css、png、jpg、xml、html等。步骤s904,根据所述目标密钥套件对所述连接数据包进行解密,得到解密数据包;步骤s906,对所述解密数据包进行审计;本实施例中,代理服务器利用目标密钥套件对连接数据包进行解密,得到解密数据包。进一步地,代理服务器对解密数据包进行审计和控制。在其中一个实施例中,代理服务器将解密数据包发送至审计模块,以使审计模块对解密数据包进行审计。审计模块可以实施于独立的审计服务器,还可以实施于代理服务器中。对解密数据包进行审计,以判断解密数据包内的数据是否安全,若安全则审计通过,若存在威胁信息,则审计不通过,并生成提示信息反馈给代理服务器,代理服务器则将该提示信息发送给客户终端,以提示用户该次连接请求存在风险。步骤s908,若对所述解密数据包的审计通过,则根据所述目标密钥套件对所述解密数据包加密后传输至所述目的服务器。需要说明的是,若对解密数据包的审计通过,则代理服务器再次根据目标密钥套件将解密数据包加密后传输给目的服务器,以完成连接数据包在客户终端和目的服务器之间的传输。目的服务器在接收到经过加密的连接数据包后,则可以利用协商的目标密钥套件对其进行解密,获取其中的信息。图10示出了本实施例客户终端与目的服务器之间的流量传输状态图。客户终端1001在本地对流量进行加密后,得到加密流量,将加密流量通过tcp代理模块1004的tcp代理透传至目的服务器1003或者通过代理服务器1002的ssl代理传输至目的服务器1003。可以理解的是,若传输的流量为所对应的服务器的域名为目的服务器1003的服务器域名,则客户终端1001直接通过tcp代理将流量透传至目的服务器1003,否则通过ssl代理传输至目的服务器1003。其中,加密流量通过ssl代理传输至目的服务器1003的过程中,代理服务器1002对加密流量进行解密,得到解密流量,并将该解密流量送至审计模块1005进行审计,若审计通过后则代理服务器1002继续对解密流量加密后传输至目的服务器1003。可以理解的是,目的服务器1003可以对接收到的加密流量进行解密,获取其中的信息后生成反馈数据包,对反馈数据包进行加密后传输给代理服务器1002,该反馈数据包即为目的服务器1003方发送的加密流量。代理服务器1002仍然对目的服务器1003传输的加密流量进行解密后进行审计,在审计通过后进行加密并传输至客户终端1001,从而实现客户终端1001与目的服务器1003之间的保密数据传输。其中,tcp代理模块1004可以实施于本实施例的代理服务器402内,还可以实施于独立的tcp代理服务器中。审计模块1005可以实施于本实施例的代理服务器402内,还可以实施于独立的审计服务器中。本实施例中,在接收到客户终端发送的连接数据包后,根据目标密钥套件对连接数据包进行解密,得到解密数据包,然后对解密数据包进行审计,若对解密数据包的审计通过,则根据目标密钥套件对解密数据包加密后传输至目的服务器,从而进一步加强了客户终端与目的服务器之间的数据传输的安全性。参照图11,在其中一个实施例中,所述步骤s904之后,所述中继处理方法还包括:步骤s111,解析所述解密数据包的头文件,获取所述解密数据包中记录的上层协议;需要说明的是,本实施例中,代理服务器在对连接数据包进行解密后,并不直接对解密数据包进行审计,而是进一步解析解密数据包的头文件,从中获取解密数据包中记录的上层协议。步骤s112,若所述上层协议为超文本传输安全协议,则获取所述解密数据包中请求资源的文件类型信息;应当说明的是,若代理服务器解析得到的上层协议为http协议,则进一步获取解密数据包中请求资源的文件类型信息。具体地,本实施例中,若代理服务器解析得到的上层协议为http协议,则进一步获取连接请求的请求方法,若请求方法为get方法,则提取get的url(uniformresourcelocator,统一资源定位符)字符串,通过url字符串来寻找请求资源的文件后缀,将该文件后缀作为文件类型信息。应当理解的是,若代理服务器解析得到的上层协议不是http协议,则继续执行步骤s906。步骤s113,查询预存的文件类型过滤列表,判断所述文件类型过滤列表中是否存在所述文件类型信息;需要说明的是,文件类型过滤列表为预先设置并存储于代理服务器中。文件类型过滤列表涵盖了多个常见的页面资源文件类型,该页面资源文件类型为代理服务器的管理员经过人为选择的受信任的资源类型,无需对该类资源进行审计。本实施例的预存的文件类型过滤列表内记录的页面资源文件类型包括但不限于有js、css、png、jpg以及xml等。需要说明的是,html类型的请求资源不存在与本实施例的预存的文件类型过滤列表中,需要对html类型的请求资源进行审计。具体地,代理服务器查询预存的文件类型过滤列表,从而判断文件类型过滤列表中是否存在步骤s114中解析得到的文件类型信息。需要说明的是,客户终端对目的服务器的连接请求为多个并发请求,即对多个资源的请求,代理服务器需要对多个请求资源的文件类型信息进行判断。步骤s114,若所述文件类型过滤列表中存在所述文件类型信息,则根据所述目标密钥套件对所述解密数据包加密后传输至所述目的服务器;步骤s115,若所述文件类型过滤列表中不存在所述文件类型信息,则执行步骤s906。需要说明的是,若代理服务器判断文件类型过滤列表中存在请求资源的文件类型信息,则表示该请求资源为受信任的资源,则无需对其进行审计,代理服务器则对解密数据包加密后传输至目的服务器。若代理服务器判断文件类型过滤列表中存在请求资源的文件类型信息,则表示该请求资源并非受信任的资源,则需要对其进行审计,代理服务器继续执行步骤s906。在其中一个实施例中,代理服务器对多个连接数据包对应的请求资源进行文件类型信息的判断,并得到判定结果,若文件类型信息存在于文件类型过滤列表中,则直接对该连接数据包加密后传输给目的服务器;若文件类型信息存不在于文件类型过滤列表中,则继续执行步骤s906。本实施例中,首先解析解密数据包的头文件,获取解密数据包中记录的上层协议,若上层协议为http协议,则获取解密数据包中请求资源的文件类型信息,然后查询预存的文件类型过滤列表,判断文件类型过滤列表中是否存在该文件类型信息,若文件类型过滤列表中存在该文件类型信息,则根据目标密钥套件对解密数据包加密后传输至目的服务器,以省略审计过程,若文件类型过滤列表中不存在文件类型信息,则执行对解密数据包进行审计的步骤;通过对文件类型过滤列表中的一些特定类型的请求资源进行过滤,不进行审计,进一步减少了代理服务器的数据处理量,减轻了代理服务器的性能压力。参照图12,一种中继处理装置实施例,所述中继处理装置包括:获取模块1201,用于获取客户终端发送的客户端问候消息;其中,所述客户端问候消息为所述客户终端在获得对目的服务器的连接请求后生成,所述连接请求携带有连接数据包;解析模块1202,用于解析所述客户端问候消息的头文件,获得所述目的服务器的服务器域名;判断模块1203,用于判断预存域名列表中是否存在所述服务器域名;消息发送模块1204,用于若所述预存域名列表中存在所述服务器域名,则向所述客户终端发送消息,以使所述客户终端将所述连接数据包通过传输控制协议代理透传至所述目的服务器。本实施例中,在获取到客户终端发送的客户端问候消息后,通过解析该客户端问候消息获得目的服务器的服务器域名,并判断预存域名列表内是否存在该服务器域名,预存域名列表可以存放受信任的预存域名,即可以判断该服务器域名为受信任的域名,从而向客户终端发送消息,使得客户终端不再与目的服务器进行ssl握手,而是直接通过传输控制协议代理将连接数据包透传至目的服务器,在保证安全的情况下,减少代理服务器需要处理的数据包,从而减少代理服务器的资源消耗,提升了代理服务器的吞吐量,实现了在软件层面减轻代理服务器的性能压力,无需额外增加硬件设备以分担代理服务器的性能压力,成本较低。可选地,所述判断模块1203,还用于计算所述服务器域名的哈希值;判断所述预存域名列表内是否存在所述哈希值。可选地,所述中继处理装置还包括:密钥协商模块,用于若所述预存域名列表中不存在所述服务器域名,则判断所述客户端问候消息中是否存在会话标识;若所述客户端问候消息中存在会话标识,则对所述会话标识进行合法性校验,获得校验结果;若所述校验结果表征对所述会话标识的合法性校验通过,则向所述目的服务器发送指令,以使所述目的服务器获取本地存储的与所述会话标识相关联的目标密钥套件并反馈;将所述目标密钥套件发送至所述客户终端,以通知所述客户终端根据所述目标密钥套件与所述目的服务器进行所述连接数据包的通信传输。可选地,所述密钥协商模块,还用于获取与所述服务器域名相关联的目标会话标识列表;判断所述目标会话标识列表中是否存在所述会话标识,以及所述会话标识是否超时;若所述目标会话标识列表中存在所述会话标识,且所述会话标识未超时,则生成表征对所述会话标识的合法性校验通过的校验结果。可选地,所述密钥协商模块,还用于若所述校验结果表征对所述会话标识的合法性校验未通过,则从所述客户端问候消息中获取密钥套件列表;其中,所述密钥套件列表包括多组密钥套件;根据预存的密钥套件性能表,从所述密钥套件列表中获取性能最高的密钥套件作为优选密钥套件;将所述优选密钥套件发送至所述客户终端和所述目的服务器,以使所述客户终端和所述目的服务器根据所述优选密钥套件进行所述连接数据包的通信传输。可选地,所述中继处理装置还包括:审计模块,用于接收所述客户终端发送的连接数据包;根据所述目标密钥套件对所述连接数据包进行解密,得到解密数据包;对所述解密数据包进行审计;若对所述解密数据包的审计通过,则根据所述目标密钥套件对所述解密数据包加密后传输至所述目的服务器。可选地,所述审计模块,还用于解析所述解密数据包的头文件,获取所述解密数据包中记录的上层协议;若所述上层协议为超文本传输安全协议,则获取所述解密数据包中请求资源的文件类型信息;查询预存的文件类型过滤列表,判断所述文件类型过滤列表中是否存在所述文件类型信息;若所述文件类型过滤列表中存在所述文件类型信息,则根据所述目标密钥套件对所述解密数据包加密后传输至所述目的服务器;若所述文件类型过滤列表中不存在所述文件类型信息,则执行所述对所述解密数据包进行审计的步骤。此外,本发明实施例还提出一种服务器,所述服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的中继处理程序,所述中继处理程序被所述处理器执行时实现如上述的中继处理方法实施例的步骤。此外,本发明实施例还提出一种存储介质,所述存储介质上存储有中继处理程序,所述中继处理程序被处理器执行时实现如上述的中继处理方法实施例的步骤。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台服务器设备执行本发明各个实施例所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
,均同理包括在本发明的专利保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1