加密信息的传输方法及装置
技术领域
本发明涉及通信领域,具体而言,涉及一种加密信息的传输方法及装置。
背景技术
目前采用的keyless ssl/tls标准方案是cloudflare公司提出的,在会话管理服务器后方,通过在原有业务服务器基础上,增加一个key server服务器管理密钥来达到业务服务器不用把真实的key传递给会话管理服务器实现对key的保护。对上述标准方案的改进方案,基本都是在客户侧或服务侧部署一台或多台的keyless服务器进行密钥管理和负载。
但不管怎么改进,目前方案都存在如下问题:将用户的私钥安全的存储在keyserver或keyless是个难题;改造部署keyless服务器成本和复杂性高的问题;keyless服务器的负载和快速扩展难题;keyless服务器之间密钥同步问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种加密信息的传输方法及装置,以至少解决相关技术中加密信息进行传输时安全性较低的技术问题。
根据本发明实施例的一个方面,提供了一种加密信息的传输方法,包括:
第一可信安全组件接收客户端通过第一加密访问连接发送的请求信息,其中,所述请求信息用于向目标业务服务器中的目标业务进行服务请求,所述第一可信安全组件被部署在网关服务器上,所述第一可信安全组件被设置为分别与包括所述目标业务服务器的多个业务服务器中部署的可信安全组件进行通信,所述第一加密访问连接用于所述第一可信安全组件与所述客户端之间以加密数据的形式传输数据;
所述第一可信安全组件使用所述第一可信安全组件的第一私钥和所述目标业务的第二公钥对所述请求信息进行加密处理,得到第一加密数据;
所述第一可信安全组件将所述第一加密数据发送至所述第二可信安全组件;
所述第一可信安全组件接收所述第二可信安全组件发送的第一处理信息;
所述第一可信安全组件根据所述第一处理信息作出响应。
可选地,所述第一可信安全组件使用所述第一可信安全组件的第一私钥和所述目标业务的第二公钥对所述请求信息进行加密处理,得到所述第一加密数据包括:
所述第一可信安全组件使用所述第一私钥对所述请求信息进行签名,得到第一签名数据;所述第一可信安全组件使用所述第二公钥对所述第一签名数据和所述请求信息进行加密,得到所述第一加密数据;或者,
所述第一可信安全组件使用所述第一私钥对所述请求信息进行签名,得到第一签名数据;所述第一可信安全组件使用所述第二公钥对所述请求信息进行加密,得到第二加密数据,其中,所述第一加密数据包括所述第一签名数据和所述第二加密数据。
可选地,所述第一可信安全组件根据所述第一处理信息作出响应包括以下至少之一:
在根据预设规则需要所述网关服务器进行处理操作的情况下,所述第一可信安全组件获取所述网关服务器对所述第一处理信息进行预设处理操作的操作结果,并根据所述处理操作的操作结果反馈所述客户端或所述第二可信安全组件;
在根据预设规则不需要所述网关服务器进行处理操作的情况下,所述第一可信安全组件将所述第一处理信息通过所述第一加密访问连接发送至所述客户端。
可选地,所述第一可信安全组件接收所述第二可信安全组件发送的所述第一处理信息包括:
所述第一可信安全组件接收所述第二可信安全组件发送的第三加密数据,其中,所述第三加密数据是所述第二可信安全组件使用所述第一可信安全组件的第一公钥对所述第一处理信息进行加密得到的;
所述第一可信安全组件使用所述第一私钥对所述第三加密数据进行解密处理,得到所述第一处理信息。
可选地,所述第一可信安全组件接收所述第二可信安全组件发送的第一处理信息包括以下之一:
所述第一可信安全组件接收所述第二可信安全组件通过第二加密访问连接发送的所述第一处理信息,其中,所述第二加密访问连接用于所述第二可信安全组件与所述第一可信安全组件之间以加密数据的形式传输数据;
所述第一可信安全组件接收所述第二可信安全组件通过明文访问连接发送的所述第一处理信息,其中,所述明文访问连接用于所述第二可信安全组件与所述第一可信安全组件之间以明文数据的形式传输数据。
根据本发明实施例的另一方面,还提供了一种加密信息的传输方法,包括:
第二可信安全组件接收第一可信安全组件发送的第一加密数据,其中,所述第一可信安全组件被部署在网关服务器上,所述第一可信安全组件被设置为分别与包括目标业务服务器的多个业务服务器中部署的可信安全组件进行通信,所述第二可信安全组件被部署在所述目标业务服务器上,第一加密数据为所述第一可信安全组件使用所述第一可信安全组件的第一私钥和所述目标业务的第二公钥对接收到的客户端通过第一加密访问连接发送的请求信息进行加密处理得到的数据,所述第一加密访问连接用于所述第一可信安全组件与所述客户端之间以加密数据的形式传输数据;
所述第二可信安全组件使用所述目标业务的第二私钥对所述第一加密数据进行解密处理,得到所述请求信息;
所述第二可信安全组件获取所述请求信息所对应的第一处理信息;
所述第二可信安全组件将所述第一处理信息发送至所述第一可信安全组件。
可选地,所述第二可信安全组件获取所述请求信息所对应的第一处理信息包括:
在根据预设规则需要所述网关服务器进行处理操作的情况下,所述第二可信安全组件对所述请求信息进行解密及签名处理,得到所述第一处理信息;
在根据预设规则不需要所述网关服务器进行处理操作的情况下,所述第二可信安全组件获取所述目标业务服务器对所述请求信息的响应信息,作为第一处理信息。
可选地,所述第二可信安全组件将所述第一处理信息发送至所述第一可信安全组件包括:
所述第二可信安全组件使用所述第一可信安全组件的第一公钥对所述第一处理信息进行加密,得到第三加密数据;
所述第二可信安全组件将所述第三加密数据发送至所述第一可信安全组件。
可选地,所述第二可信安全组件将所述第一处理信息发送至所述第一可信安全组件包括以下之一:
所述第二可信安全组件通过第二加密访问连接将所述第一处理信息发送至所述第一可信安全组件,其中,所述第二加密访问连接用于所述第二可信安全组件与所述第一可信安全组件之间以加密数据的形式传输数据;
所述第二可信安全组件通过明文访问连接将所述第一处理信息发送至所述第一可信安全组件,其中,所述明文访问连接用于所述第二可信安全组件与所述第一可信安全组件之间以明文数据的形式传输数据。
根据本发明实施例的另一方面,还提供了一种加密信息的传输装置,应用于第一可信安全组件,包括:
第一接收模块,用于接收客户端通过第一加密访问连接发送的请求信息,其中,所述请求信息用于向目标业务服务器中的目标业务进行服务请求,所述第一可信安全组件被部署在网关服务器上,所述第一可信安全组件被设置为分别与包括所述目标业务服务器的多个业务服务器中部署的可信安全组件进行通信,所述第一加密访问连接用于所述第一可信安全组件与所述客户端之间以加密数据的形式传输数据;
加密模块,用于使用所述第一可信安全组件的第一私钥和所述目标业务的第二公钥对所述请求信息进行加密处理,得到第一加密数据;
第一发送模块,用于将所述第一加密数据发送至所述第二可信安全组件;
第二接收模块,用于接收所述第二可信安全组件发送的第一处理信息;
响应模块,用于根据所述第一处理信息作出响应。
根据本发明实施例的另一方面,还提供了一种加密信息的传输装置,应用于第二可信安全组件,包括:
第三接收模块,用于接收第一可信安全组件发送的第一加密数据,其中,所述第一可信安全组件被部署在网关服务器上,所述第一可信安全组件被设置为分别与包括目标业务服务器的多个业务服务器中部署的可信安全组件进行通信,所述第二可信安全组件被部署在所述目标业务服务器上,第一加密数据为所述第一可信安全组件使用所述第一可信安全组件的第一私钥和所述目标业务的第二公钥对接收到的客户端通过第一加密访问连接发送的请求信息进行加密处理得到的数据,所述第一加密访问连接用于所述第一可信安全组件与所述客户端之间以加密数据的形式传输数据;
解密模块,用于使用所述目标业务的第二私钥对所述第一加密数据进行解密处理,得到所述请求信息;
获取模块,用于获取所述请求信息所对应的第一处理信息;
第二发送模块,用于将所述第一处理信息发送至所述第一可信安全组件。
根据本发明实施例的另一方面,还提供了一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中所述的方法。
根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行上述任一项中所述的方法。
在本发明实施例中,采用第一可信安全组件接收客户端通过第一加密访问连接发送的请求信息,其中,请求信息用于向目标业务服务器中的目标业务进行服务请求,第一可信安全组件被部署在网关服务器上,第一可信安全组件被设置为分别与包括目标业务服务器的多个业务服务器中部署的可信安全组件进行通信,第一加密访问连接用于第一可信安全组件与客户端之间以加密数据的形式传输数据;第一可信安全组件使用第一可信安全组件的第一私钥和目标业务的第二公钥对请求信息进行加密处理,得到第一加密数据;第一可信安全组件将第一加密数据发送至第二可信安全组件;第一可信安全组件接收第二可信安全组件发送的第一处理信息;第一可信安全组件根据第一处理信息进行响应。网关服务器与目标业务服务器之间通过第一可信安全组件和第二可信安全组件进行信息传输,客户端服务请求的响应均由目标业务来执行,每个业务负责处理其自身对应的请求,无需进行目标业务密钥的传输和同步,无需部署key server或keyless server,从而在提高加密信息的传输安全性的同时,能够减少资源的浪费,进而解决了相关技术中加密信息进行传输时安全性较低的技术问题。
此外,本发明实施例中,无论是网关服务器还是业务服务器,均可以自由地进行负载均衡和快速扩容;各业务服务器通过其可信安全组件存储其公私钥对,相同业务的业务服务器具有相同的公私钥对,作为该业务的公私钥对,从而可以快速进行负载均衡,解决高并发/大流量的压力问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的加密信息的传输方法的示意图;
图2是根据本发明可选的实施方式的一种可选的加密信息的传输方法的示意图一;
图3是根据本发明可选的实施方式的另一种可选的加密信息的传输方法的示意图二;
图4是根据本发明可选的实施方式的另一种可选的加密信息的传输方法的示意图三;
图5是根据本发明实施例的另一种可选的加密信息的传输方法的示意图;
图6是根据本发明实施例的一种可选的加密信息的传输装置的示意图;
图7是根据本发明实施例的另一种可选的加密信息的传输装置的示意图;
图8是根据本发明实施例的一种可选的加密信息的传输方法的应用场景示意图;以及
图9是根据本发明实施例的一种可选的电子装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种加密信息的传输方法,如图1所示,该方法包括:
S102,第一可信安全组件接收客户端通过第一加密访问连接发送的请求信息,其中,请求信息用于向目标业务服务器中的目标业务进行服务请求,第一可信安全组件被部署在网关服务器上,第一可信安全组件被设置为分别与包括目标业务服务器的多个业务服务器中部署的可信安全组件进行通信,第一加密访问连接用于第一可信安全组件与客户端之间以加密数据的形式传输数据;
S104,第一可信安全组件使用第一可信安全组件的第一私钥和目标业务的第二公钥对请求信息进行加密处理,得到第一加密数据;
S106,第一可信安全组件将第一加密数据发送至第二可信安全组件;
S108,第一可信安全组件接收第二可信安全组件发送的第一处理信息;
S110,第一可信安全组件根据第一处理信息进行响应。
可选地,在本实施例中,上述加密信息的传输方法可以但不限于应用于cdn的https加速与云环境中的第三方ddos防护服务场景中,特别是在享用ddos防护时,能非常好的在享用服务的同时,保持自身私钥的安全性。其中,上述客户端可以但不限于为各种类型的应用,例如,在线教育应用、即时通讯应用、社区空间应用、游戏应用、购物应用、浏览器应用、金融应用、多媒体应用、直播应用等。
可选地,在本实施例中,第一可信安全组件被部署在网关服务器上,第一可信安全组件被设置为分别与包括目标业务服务器的多个业务服务器中部署的可信安全组件进行通信。网关服务器可以但不限于包括中间商或者网关提供的入口服务器或者入口服务器群。
可选地,在本实施例中,加密访问连接可以但不限于包括使用ssl/tls协议传输的连接。
可选地,在本实施例中,多个业务服务器为提供业务服务的具体服务器,比如:网站服务器、APP服务器等等。多个业务服务器所对应的业务将资源存储在云服务器或者内容分发网络上。云服务器或者内容分发网络提供网关服务器与客户端和业务服务器连接,为客户端提供访问业务服务器资源的接口。
可选地,在本实施例中,上述请求信息可以但不限于包括客户端与业务服务器进行交互过程中传输的全部信息。
在一个可选的实施方式中,如图2所示,第一可信安全组件被部署在网关服务器上,第一可信安全组件被设置为分别与包括目标业务服务器(服务器2)的多个业务服务器(服务器1、服务器2……服务器n)中部署的可信安全组件进行通信。第一可信安全组件接收客户端发送的请求信息,该请求信息用于向目标业务服务器中的目标业务进行服务请求,第一可信安全组件使用第一可信安全组件的第一私钥和目标业务的第二公钥对请求信息进行加密处理,得到第一加密数据,第一可信安全组件将第一加密数据发送至第二可信安全组件。第二可信安全组件使用目标业务的第二私钥对第一加密数据进行解密处理,得到请求信息,第二可信安全组件获取请求信息对应的第一处理信息,第二可信安全组件使用第一可信安全组件的第一公钥对第一处理信息进行加密处理,得到第三加密数据。第二可信安全组件将第三加密数据发送至第一可信安全组件。第一可信安全组件接收第二可信安全组件发送的第三加密数据,使用第一私钥对第三加密数据进行解密处理,得到第一处理信息。第一可信安全组件根据第一处理信息进行响应。
可见,通过上述步骤,网关服务器与目标业务服务器之间通过第一可信安全组件和第二可信安全组件进行请求信息的传输,请求信息的最终响应由目标业务来执行,每个业务负责处理其自身对应的请求,无需进行目标业务密钥的传输和同步,无需部署keyserver或keyless server,从而在提高加密信息的传输安全性的同时,能够减少资源的浪费,进而解决了相关技术中加密信息进行传输时安全性较低的技术问题。
此外,本发明实施例中,无论是网关服务器还是业务服务器,均可以自由地进行负载均衡和快速扩容;各业务服务器通过其可信安全组件存储其公私钥对,相同业务的业务服务器具有相同的公私钥对,作为该业务的公私钥对,从而可以快速进行负载均衡,解决高并发/大流量的压力问题。
可选地,为了使得客户端与业务服务器之间信息交互过程更加安全,第一可信安全组件可以但不限于使用第一可信安全组件的第一私钥和目标业务的第二公钥对请求信息进行加密处理。在上述步骤S104中,加密处理可以但不限于使用以下两种方式:
方式一,所述第一可信安全组件使用所述第一私钥对所述请求信息进行签名,得到第一签名数据;第一可信安全组件使用第二公钥对第一签名数据和请求信息进行加密,得到第一加密数据。
方式二,第一可信安全组件使用第一私钥对请求信息进行签名,得到第一签名数据;第一可信安全组件使用第二公钥对请求信息进行加密,得到第二加密数据,其中,第一加密数据包括第一签名数据和第二加密数据。
可选地,如果根据预设规则需要网关服务器进行处理操作,那么第一可信安全组件获取网关服务器对第一处理信息进行预设处理操作的操作结果,并根据操作结果反馈客户端或第二可信安全组件。如果根据预设规则不需要网关服务器进行处理操作,那么第一可信安全组件直接将第一处理信息返回给客户端,起到转发的作用。例如:在上述步骤S110中,第一可信安全组件可以但不限于与客户端进行以下至少之一的信息交互过程:
在根据预设规则需要网关服务器进行处理操作的情况下,第一可信安全组件获取网关服务器对第一处理信息进行预设处理操作(包括但不限于安全防护、过滤等)的操作结果(包括未发现异常或异常),并根据处理操作的操作结果反馈客户端或第二可信安全组件;具体的,网关服务器与业务服务器根据业务类型/性质及网关服务器功能预设相关处理规则,包括但不限于:仅对某些业务类型的服务请求进行防病毒处理、对所有业务类型的服务请求均进行安全防护等;在根据预设规则需要网关服务器进行处理操作的情况下,第一可信安全组件获取网关服务器对第一处理信息进行预设处理操作的操作结果,若操作结果为未发现异常,则将操作结果反馈第二可信安全组件,进而目标业务服务器对请求信息进行响应,由第二可信安全组件将目标业务服务器对请求信息的响应信息(第二处理信息)发送第一可信安全组件;若处理操作的操作结果为异常,则反馈客户端请求失败;
在根据预设规则不需要网关服务器进行处理操作的情况下,第一可信安全组件将第一处理信息通过第一加密访问连接发送至客户端。
可选地,为了保证目标报文的安全性,第二可信安全组件向第一可信安全组件发送的是对第一处理信息进行加密处理后的第三加密数据,第一可信安全组件使用其第一私钥对第三加密数据进行解密处理,从而得到第一处理信息。再根据第一处理信息进行响应。例如:在上述步骤S108中,第一可信安全组件接收第二可信安全组件发送的第三加密数据,其中,第三加密数据是第二可信安全组件使用第一可信安全组件的第一公钥对第一处理信息进行加密得到的;第一可信安全组件使用第一私钥对第三加密数据进行解密处理,得到第一处理信息。
可选地,第一可信安全组件与所述第二可信安全组件之间可以使用加密连接进行通信,也可以在建立了信任关系后采用明文进行连接。
例如:在上述步骤S108中,第一可信安全组件接收第二可信安全组件通过第二加密访问连接发送的第一处理信息,其中,第二加密访问连接用于第二可信安全组件与第一可信安全组件之间以加密数据的形式传输数据;或者,第一可信安全组件接收第二可信安全组件通过明文访问连接发送的第一处理信息,其中,明文访问连接用于第二可信安全组件与第一可信安全组件之间以明文数据的形式传输数据。
可选地,在加密访问连接为使用ssl/tls协议传输的连接时,各可信安全组件之间可实现ssl/tls的中继能力,使得网关服务器能代表真实的业务与客户端建立https连接通道,进行正常的业务访问。而网关服务器上不需要拥有业务的密钥。
在一个可选的实施方式中,如图3所示,第一可信安全组件被部署在网关服务器上,第一可信安全组件被设置为分别与包括目标业务服务器(服务器2)的多个业务服务器(服务器1、服务器2……服务器n)中部署的可信安全组件进行通信。第一可信安全组件接收客户端发送的请求信息,第一可信安全组件使用第一可信安全组件的第一私钥和目标业务的第二公钥对请求信息进行加密处理,得到第一加密数据,第一可信安全组件将第一加密数据发送至第二可信安全组件。第二可信安全组件使用目标业务的第二私钥对第一加密数据进行解密处理,得到请求信息。请求信息用于向目标业务服务器中的目标业务进行服务请求,第二可信安全组件对请求信息进行解密及签名处理,得到第一处理信息,第二可信安全组件使用第一可信安全组件的第一公钥对第一处理信息进行加密处理,得到第三加密数据。第二可信安全组件将第三加密数据发送至第一可信安全组件。第一可信安全组件接收第二可信安全组件发送的第三加密数据,使用第一私钥对第三加密数据进行解密处理,得到第一处理信息。网关服务器根据预设规则进行处理操作,得到处理操作结果。第一可信安全组件获取处理操作结果并反馈客户端或第二可信安全组件。
可选地,网关服务器与业务服务器建立访问通道后,客户端访问业务服务器,通过网关服务器做统一转发和处理。网关服务器可以使用ssl/tls的中继能力将ssl/tls进行卸载,从而使用明文的方式快速交互资源,进行流量的安全处理或静态资源的快速缓存响应。
在一个可选的实施方式中,如图4所示,第一可信安全组件被部署在网关服务器上,第一可信安全组件被设置为分别与包括目标业务服务器(服务器2)的多个业务服务器(服务器1、服务器2……服务器n)中部署的可信安全组件进行通信。第一可信安全组件接收客户端发送的请求信息,第一可信安全组件使用第一可信安全组件的第一私钥和目标业务的第二公钥对请求信息进行加密处理,得到第一加密数据,第一可信安全组件将第一加密数据发送至第二可信安全组件。第二可信安全组件使用目标业务的第二私钥对第一加密数据进行解密处理,得到请求信息。根据预设规则不需要网关服务器进行处理操作,第二可信安全组件获取目标业务服务器对请求信息的第一处理信息(即响应信息),第二可信安全组件通过明文访问连接将所述第一处理信息发送至第一可信安全组件。第一可信安全组件将第一处理信息通过第一加密访问连接发送至客户端。
根据本发明实施例的另一个方面,提供了另一种加密信息的传输方法,如图5所示,该方法包括:
S502,第二可信安全组件接收第一可信安全组件发送的第一加密数据,其中,第一可信安全组件被部署在网关服务器上,第一可信安全组件被设置为分别与包括目标业务服务器的多个业务服务器中部署的可信安全组件进行通信,第二可信安全组件被部署在目标业务服务器上,第一加密数据为第一可信安全组件使用第一可信安全组件的第一私钥和目标业务的第二公钥对接收到的客户端通过第一加密访问连接发送的请求信息进行加密处理得到的数据,第一加密访问连接用于第一可信安全组件与客户端之间以加密数据的形式传输数据;
S504,第二可信安全组件使用目标业务的第二私钥对第一加密数据进行解密处理,得到请求信息;
S506,第二可信安全组件获取请求信息所对应的第一处理信息;
S508,第二可信安全组件将第一处理信息发送至第一可信安全组件。
可选地,如果根据预设规则需要网关服务器进行处理操作,那么第二可信安全组件对请求信息进行解密,并签名,得到第一处理信息,网关服务器根据预设规则对第一处理信息进行处理操作。如果根据预设规则不需要网关服务器进行处理操作,那么第二可信安全组件直接获取请求信息对应的第一处理信息提供给第一可信安全组件,由第一可信安全组件进行第一处理信息的转发。例如:在上述步骤S506中,在根据预设规则需要网关服务器进行处理操作的情况下,第二可信安全组件对请求信息进行解密及签名处理,得到第一处理信息;在根据预设规则不需要网关服务器进行处理操作的情况下,第二可信安全组件获取目标业务服务器对请求信息所请求的响应信息,作为第一处理信息。
可选地,第二可信安全组件可以使用第一可信安全组件的第一公钥对第一处理信息进行加密,从而提高数据传输的安全性。例如:在上述步骤S508中,第二可信安全组件使用第一可信安全组件的第一公钥对第一处理信息进行加密,得到第三加密数据;第二可信安全组件将第三加密数据发送至第一可信安全组件。
可选地,第一可信安全组件和第二可信安全组件之间通信连接可以是加密连接,也可以是明文连接。例如:在上述步骤S508中,第二可信安全组件通过第二加密访问连接将第一处理信息发送至第一可信安全组件,其中,第二加密访问连接用于第二可信安全组件与第一可信安全组件之间以加密数据的形式传输数据;或者,第二可信安全组件通过明文访问连接将第一处理信息发送至第一可信安全组件,其中,明文访问连接用于第二可信安全组件与第一可信安全组件之间以明文数据的形式传输数据。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例的另一个方面,还提供了一种用于实施上述加密信息的传输方法的加密信息的传输装置,应用于第一可信安全组件,如图6所示,该装置包括:
第一接收模块602,用于接收客户端通过第一加密访问连接发送的请求信息,其中,请求信息用于向目标业务服务器中的目标业务进行服务请求,第一可信安全组件被部署在网关服务器上,第一可信安全组件被设置为分别与包括目标业务服务器的多个业务服务器中部署的可信安全组件进行通信,第一加密访问连接用于第一可信安全组件与客户端之间以加密数据的形式传输数据;
加密模块604,用于使用第一可信安全组件的第一私钥和目标业务的第二公钥对请求信息进行加密处理,得到第一加密数据;
第一发送模块606,用于将第一加密数据发送至第二可信安全组件;
第二接收模块608,用于接收第二可信安全组件发送的第一处理信息;
响应模块610,用于根据第一处理信息作出响应。
可选地,加密模块604包括:
第一处理单元,用于使用第一私钥对请求信息进行签名,得到第一签名数据;第一可信安全组件使用第二公钥对第一签名数据和请求信息进行加密,得到第一加密数据;或者,
第二处理单元,用于使用第一私钥对请求信息进行签名,得到第一签名数据;第一可信安全组件使用第二公钥对请求信息进行加密,得到第二加密数据,其中,第一加密数据包括第一签名数据和第二加密数据。
可选地,响应模块610包括以下至少之一:
第三处理单元,用于在根据预设规则需要网关服务器进行处理操作的情况下,获取网关服务器对第一处理信息进行处理操作的操作结果,并将处理操作的操作结果发送至客户端或第二可信安全组件;
第四处理单元,用于在根据预设规则不需要网关服务器进行处理操作的情况下,将第一处理信息通过第一加密访问连接发送至客户端。
可选地,第二接收模块608包括:
第一接收单元,用于接收第二可信安全组件发送的第三加密数据,其中,第三加密数据是第二可信安全组件使用第一可信安全组件的第一公钥对第一处理信息进行加密得到的;
解密单元,用于使用第一私钥对第三加密数据进行解密处理,得到第一处理信息。
可选地,第二接收模块608包括以下之一:
第二接收单元,用于接收第二可信安全组件通过第二加密访问连接发送的第一处理信息,其中,第二加密访问连接用于第二可信安全组件与第一可信安全组件之间以加密数据的形式传输数据;
第三接收单元,用于接收第二可信安全组件通过明文访问连接发送的第一处理信息,其中,明文访问连接用于第二可信安全组件与第一可信安全组件之间以明文数据的形式传输数据。
可选地,在本实施例中,上述模块或单元中实现的所有接收信息的功能可以但不限于集成于部署在第一可信安全组件上的一个用于接收信息的模块中。例如:上述第一接收模块和第二接收模块可以是同一个模块。
可选地,在本实施例中,上述模块或单元中实现的所有发送信息的功能可以但不限于集成于部署在第一可信安全组件上的一个用于发送信息的模块中。
可选地,在本实施例中,上述模块或单元中实现的所有加密和解密功能可以但不限于集成于部署在第一可信安全组件上的一个用于加解密处理的模块中。
根据本发明实施例的另一个方面,还提供了一种用于实施上述加密信息的传输方法的加密信息的传输装置,应用于第二可信安全组件,如图7所示,该装置包括:
第三接收模块702,用于接收第一可信安全组件发送的第一加密数据,其中,第一可信安全组件被部署在网关服务器上,第一可信安全组件被设置为分别与包括目标业务服务器的多个业务服务器中部署的可信安全组件进行通信,第二可信安全组件被部署在目标业务服务器上,第一加密数据为第一可信安全组件使用第一可信安全组件的第一私钥和目标业务的第二公钥对接收到的客户端通过第一加密访问连接发送的请求信息进行加密处理得到的数据,第一加密访问连接用于第一可信安全组件与客户端之间以加密数据的形式传输数据;
解密模块704,用于使用目标业务的第二私钥对第一加密数据进行解密处理,得到请求信息;
获取模块706,用于获取请求信息所对应的第一处理信息;
第二发送模块708,用于将第一处理信息发送至第一可信安全组件。
可选地,获取模块706包括:
解密及签名处理单元,用于在根据预设规则需要网关服务器进行处理操作的情况下,对请求信息进行解密及签名处理,得到第一处理信息;
获取单元,用于在根据预设规则不需要网关服务器进行处理操作的情况下,获取目标业务服务器对请求信息的响应信息,作为第一处理信息。
可选地,第二发送模块708包括:
加密单元,用于使用第一可信安全组件的第一公钥对第一处理信息进行加密,得到第三加密数据;
第一发送单元,用于将第三加密数据发送至第一可信安全组件。
可选地,第二发送模块708包括:
第二发送单元,用于通过第二加密访问连接将第一处理信息发送至第一可信安全组件,其中,第二加密访问连接用于第二可信安全组件与第一可信安全组件之间以加密数据的形式传输数据;
第三发送单元,用于通过明文访问连接将第一处理信息发送至第一可信安全组件,其中,明文访问连接用于第二可信安全组件与第一可信安全组件之间以明文数据的形式传输数据。
可选地,在本实施例中,上述模块或单元中实现的所有接收信息的功能可以但不限于集成于部署在第二可信安全组件上的一个用于接收信息的模块中。
可选地,在本实施例中,上述模块或单元中实现的所有发送信息的功能可以但不限于集成于部署在第二可信安全组件上的一个用于发送信息的模块中。
可选地,在本实施例中,上述模块或单元中实现的所有加密和解密功能可以但不限于集成于部署在第二可信安全组件上的一个用于加解密处理的模块中。
本发明实施例的应用环境可以但不限于参照上述实施例中的应用环境,本实施例中对此不再赘述。本发明实施例提供了用于实施上述实时通信的连接方法的一种可选的具体应用示例。
作为一种可选的实施例,上述加密信息的传输方法可以但不限于应用于如图8所示的访问端与业务厂商服务群建立加密连接的场景中。在本场景中,加密信息的传输过程包括如下流程:
用户通过浏览器或者应用客户端等访问端,使用https访问业务厂商的服务。访问端发起https访问时,所有业务厂商的服务统一放置在入口服务群(相当于上述网关服务器)后。入口服务群是由提供cdn加速或云ddos防护的中间商提供的统一入口服务器集群,或由自身业务系统服务内提供的网关服务器集群。入口服务群作为访问端访问真正业务的统一入口,其上安装第一可信安全组件(TSB-g),在整个入口服务群上统一安装,且生成统一的公私钥对(即第一公钥和第一私钥),代表一个统一的身份。浏览器使用ssl/tls协议进行握手,协商会话密钥。浏览器访问的是入口服务群后的真实业务,如业务厂商1服务群提供的业务1,或业务厂商2服务群提供的业务2。提供业务的厂商,其不用安装额外的keyless服务器,在其本身的业务服务器集群上统一安装可信安全组件(即TSB-s1、TSB-s2等)。每个业务集群上安装统一的可信安全组件,使用统一的公私钥对来标记业务身份。
入口服务群的任意一台服务器接收到请求信息时,将直接向后续的真实业务转发请求信息,如访问端访问业务1,则入口服务群通过入口服务群的第一可信安全组件向业务1的第二可信安全组件转发请求信息,此请求信息使用第一可信安全组件的第一私钥签名,并使用接受方业务1的第二可信安全组件的第二公钥加密,业务1的第二可信安全组件采用本地私钥(第二私钥)解密获得请求信息,并采用入口服务群的第一可信安全组件的第一公钥验签。若根据预设规则需要入口服务群进行处理操作,则业务1的第二可信安全组件使用业务1的第二私钥对得到的请求信息进行解密并签名,得到第一处理信息,同时使用入口服务群第一可信安全组件的第一公钥加密第一处理信息发送给入口服务群第一可信安全组件。入口服务群根据预设规则对第一处理信息进行处理操作;第一可信安全组件获取处理操作的操作结果,并根据操作结果反馈客户端或第二可信安全组件。若根据预设规则不需要入口服务群进行处理操作,则业务1的第二可信安全组件获取业务1对请求信息的响应结果,并发送第一可信安全组件。
可选地,在本实施例中,可信安全组件之间,只有入口服务群的第一可信安全组件会请求各业务的可信安全组件,各业务厂商之间的可信安全组件无需交互,且其可分布在不同的机房或环境中,达到完全隔离。
可选地,在本实施例中,各可信安全组件之间实现了ssl/tls的中继能力,使得入口服务群能代表真实的业务与访问端建立https连接通道,进行正常的业务访问。而入口服务群上不需要拥有业务的密钥。
可选地,在本实施例中,入口服务群与业务建立访问通道后,访问端访问真实业务,通过入口服务群做统一转发和处理。入口服务群可以使用ssl/tls的中继能力将ssl/tls进行卸载,从而使用明文的方式快速交互资源,进行流量的安全处理或静态资源的快速缓存响应。
可选地,在本实施例中,入口服务群还可以不改变之前加密通道,与业务服务器集群之间仍使用正常的ssl/tls加密访问,再响应给访问端,从而保证全业务全流程实现ssl/tls加密访问,而不用在自身服务器上保留业务的密钥,做到keyless tls。
可选地,在本实施例中,所有的ssl作为可选项,可信安全组件之间一旦判定访问端浏览器支持tls协议,则全程改用tls协议。
通过上述过程,可以支持同一厂商内部实现各业务的https的证书卸载以进行服务加速,而不必把私钥证书统一放在入口服务群上,从而避免私钥集中泄露并杜绝入口服务群为第三方设备时的不可信问题。不需要增加额外的服务器成本,也不需要pki相关的基础设施支持,不需要证书,只需在原有服务器上安装可信安全组件即可。能实现将https的业务服务进行第三方服务托管以进行业务加速和安全检测时,不必提交私钥证书。并且支持去中心的分布式结构,无论是中间的网关服务器(入口服务群)还是各业务服务器,都可以自由地进行负载和快速扩容,而不必担心私钥的问题,每台服务器通过其上的可信安全组件单独控制私钥,同样的业务使用可信安全组件中存储的私钥相同,很好的解决了高并发/大流量的压力问题。
根据本发明实施例的又一个方面,还提供了一种用于实施上述加密信息的传输的电子装置,如图9所示,该电子装置包括:一个或多个(图中仅示出一个)处理器902、存储器904、传感器906、编码器908以及传输装置910,该存储器中存储有计算机程序,该处理器被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,第一可信安全组件接收客户端通过第一加密访问连接发送的请求信息,其中,所述请求信息用于向目标业务服务器中的目标业务进行服务请求,所述第一可信安全组件被部署在网关服务器上,所述第一可信安全组件被设置为分别与包括所述目标业务服务器的多个业务服务器中部署的可信安全组件进行通信,所述第一加密访问连接用于所述第一可信安全组件与所述客户端之间以加密数据的形式传输数据;
S2,所述第一可信安全组件使用所述第一可信安全组件的第一私钥和所述目标业务的第二公钥对所述请求信息进行加密处理,得到第一加密数据;
S3,所述第一可信安全组件将所述第一加密数据发送至所述第二可信安全组件;
S4,所述第一可信安全组件接收所述第二可信安全组件发送的第一处理信息;
S5,所述第一可信安全组件根据所述第一处理信息作出响应。
可选地,本领域普通技术人员可以理解,图9所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图9中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图9所示不同的配置。
其中,存储器904可用于存储软件程序以及模块,如本发明实施例中的加密信息的传输方法和装置对应的程序指令/模块,处理器902通过运行存储在存储器904内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的目标组件的控制方法。存储器904可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器904可进一步包括相对于处理器902远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置910用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置910包括一个网络适配器(NetworkInterface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置910为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器904用于存储应用程序。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,第一可信安全组件接收客户端通过第一加密访问连接发送的请求信息,其中,所述请求信息用于向目标业务服务器中的目标业务进行服务请求,所述第一可信安全组件被部署在网关服务器上,所述第一可信安全组件被设置为分别与包括所述目标业务服务器的多个业务服务器中部署的可信安全组件进行通信,所述第一加密访问连接用于所述第一可信安全组件与所述客户端之间以加密数据的形式传输数据;
S2,所述第一可信安全组件使用所述第一可信安全组件的第一私钥和所述目标业务的第二公钥对所述请求信息进行加密处理,得到第一加密数据;
S3,所述第一可信安全组件将所述第一加密数据发送至所述第二可信安全组件;
S4,所述第一可信安全组件接收所述第二可信安全组件发送的第一处理信息;
S5,所述第一可信安全组件根据所述第一处理信息作出响应。
可选地,存储介质还被设置为存储用于执行上述实施例中的方法中所包括的步骤的计算机程序,本实施例中对此不再赘述。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。