WO2020220833A1 - 安全套接层加速方法、装置、设备及可读存储介质 - Google Patents
安全套接层加速方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- WO2020220833A1 WO2020220833A1 PCT/CN2020/078395 CN2020078395W WO2020220833A1 WO 2020220833 A1 WO2020220833 A1 WO 2020220833A1 CN 2020078395 W CN2020078395 W CN 2020078395W WO 2020220833 A1 WO2020220833 A1 WO 2020220833A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- encryption
- server
- decryption information
- acceleration
- ssl
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Definitions
- This application relates to the field of financial technology (Finteh) technology, in particular to a secure socket layer acceleration method, device, device and readable storage medium in the financial industry.
- Financial technology Feh
- the Intel QAT accelerator card and its Nginx adaptation solution are commonly used in the industry.
- the solution uses OpenSSL’s TSL asynchronous mode and adapts the Nginx HTTPS module to the asynchronous mode, finally realizing the asynchronous processing of the entire HTTPS request. ⁇ .
- Nginx, OpenSSL, and the acceleration service QAT are highly coupled, the respective version update and upgrade costs are relatively high, and the request status and troubleshooting are difficult.
- the main purpose of this application is to propose a secure socket layer acceleration method, device, device, and readable storage medium, which are designed to solve the problem of using Intel QAT accelerator card and the Nginx adaptation solution provided by it in the prior art.
- the coupling between OpenSSL and accelerator card is too high, causing the problem of high cost of updating and upgrading the respective versions.
- the secure socket layer acceleration method includes the following steps:
- the access layer After detecting a successful handshake between the client and the access layer, perform a secure socket layer SSL protocol handshake and separation of encryption and decryption information through the access layer, wherein the access layer is provided with a software library package OpenSSL and a proxy server;
- An accelerator card cluster wherein the accelerator card cluster includes a keyless proxy node and an acceleration server;
- the keyless proxy node After the keyless proxy node obtains the private key information corresponding to the encryption and decryption information, control the keyless proxy node to send the private key information and the encryption and decryption information to the acceleration server;
- Control the acceleration server to perform an encryption and decryption operation on the encryption and decryption information based on the private key information.
- the present application also provides a secure socket layer acceleration device, the secure socket layer acceleration device comprising:
- the separation module is used to perform the secure socket layer SSL protocol handshake and encryption and decryption information separation through the access layer after the successful handshake between the client and the access layer is detected, wherein the access layer is provided with a software library package OpenSSL And proxy server;
- a forwarding module configured to control the OpenSSL to forward the encryption and decryption information to the proxy server through the access layer
- the calling module is used to control the proxy server to asynchronously call the accelerator card cluster based on the encryption and decryption information after the proxy server receives the encryption and decryption information, wherein the accelerator card cluster includes keyless proxy nodes and Accelerated server
- the sending module is configured to control the keyless proxy node to send the private key information and the encryption and decryption information to the private key information after the keyless proxy node obtains the private key information corresponding to the encryption and decryption information.
- the acceleration server ;
- the execution module is configured to control the acceleration server to perform encryption and decryption operations on the encryption and decryption information based on the private key information.
- the present application also provides a secure socket layer acceleration device.
- the secure socket layer acceleration device includes: a memory, a processor, and a condom stored in the memory and capable of running on the processor.
- An interface acceleration program which implements the steps of the secure socket layer acceleration method as described above when the secure socket layer acceleration program is executed by the processor.
- the present application also provides a readable storage medium with a secure socket layer acceleration program stored on the readable storage medium, and when the secure socket layer acceleration program is executed by a processor, the aforementioned Steps of the secure socket layer acceleration method.
- the secure socket layer SSL protocol handshake and encryption and decryption information decomposition are performed through the access layer, thereby generating asynchronous tasks;
- the software library package OpenSSL only forwards the encryption and decryption information to the proxy server, calls the keyless proxy node through the proxy server, and uses the keyless proxy node to cooperate with the acceleration server to realize the encryption and decryption operation of the acceleration server.
- the protocol handshake and The encryption and decryption information is decomposed, and a proxy server is added, so that the entire request processing process is asynchronous; and the acceleration server is set in the acceleration card cluster outside the access layer, so that the software library package OpenSSL and the acceleration server They are completely decoupled, do not affect each other, and ensure high concurrency, which facilitates service management and version upgrades.
- FIG. 1 is a schematic diagram of a device structure of a hardware operating environment involved in a solution of an embodiment of the present application
- FIG. 2 is a schematic flowchart of a first embodiment of a secure socket layer acceleration method according to this application;
- FIG. 3 is a schematic structural diagram of the first embodiment of the secure socket layer acceleration method of this application.
- FIG. 1 is a schematic diagram of the device structure of the hardware operating environment involved in the solution of the embodiment of the present application.
- the secure socket layer acceleration device in the embodiment of the present application may be a PC or a server device.
- the secure socket layer acceleration device may include: a processor 1001, such as a CPU, a network interface 1004, a user interface 1003, a memory 1005, and a communication bus 1002.
- the communication bus 1002 is used to implement connection and communication between these components.
- the user interface 1003 may include a display screen (Display) and an input unit such as a keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface and a wireless interface.
- the network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface).
- the memory 1005 may be a high-speed RAM memory, or a non-volatile memory (non-volatile memory), such as a magnetic disk memory.
- the memory 1005 may also be a storage device independent of the foregoing processor 1001.
- FIG. 1 does not constitute a limitation on the device, and may include more or fewer components than those shown in the figure, or a combination of certain components, or different component arrangements.
- the memory 1005 as a computer storage medium may include an operating system, a network communication module, a user interface module, and a secure socket layer acceleration program.
- the network interface 1004 is mainly used to connect to a back-end server and communicate with the back-end server;
- the user interface 1003 is mainly used to connect to a client (user side) and communicate with the client;
- the processor 1001 can be used to call a secure socket layer acceleration program stored in the memory 1005, and perform operations in each embodiment of the following secure socket layer acceleration method.
- FIG. 2 is a schematic flowchart of a first embodiment of a secure socket layer acceleration method according to this application. The method includes:
- Step S10 after detecting the successful handshake between the user end and the access layer, the secure socket layer SSL protocol handshake and the encryption and decryption information separation are performed through the access layer, wherein the access layer is provided with a software library package OpenSSL and a proxy server;
- the Secure Sockets Layer is a security protocol that provides security and data integrity for network communication.
- the SSL protocol is a protocol for securely exchanging information between a Web browser and a Web server, and it provides two basic security services: authentication and confidentiality.
- the secure socket layer acceleration method of this embodiment detects that the user end and the access layer have succeeded in the handshake, the secure socket layer SSL protocol handshake is separated from the encryption and decryption information through the access layer.
- the Access layer is equipped with Nginx server, software library package OpenSSL and proxy server Keyless-Agent.
- NginxNginx is the second most visited Rambler.ru in Russia by Igor Sesoyev.
- OpenSSL is an open source software library package, applications can use this package for secure communication
- the proxy server Keyless-Agent adds a proxy server
- OpenSSL separates the SSL protocol handshake and encryption and decryption information, the encryption and decryption information is forwarded.
- the handshake process between the client and the access layer is as follows: First, when an HTTPS request initiated by the client is detected, the Nginx server establishes a TCP connection with the client based on the HTTPS request and generates a secure socket layer SSL; secondly, the Nginx server is based on secure sockets Layer SSL sends the SSL handshake request to the OpenSSL processing to obtain the processing result, where the SSL handshake request includes SSL protocol handshake and encryption and decryption information; furthermore, the software library package OpenSSL determines whether the handshake with the client is successful based on the processing result, if so, Then the software library package OpenSSL performs SSL protocol handshake and separation of encryption and decryption information.
- the encryption and decryption information is forwarded to the accelerator card cluster separately, and because OpenSSL and the accelerator card cluster are separate services, the coupling between the two is low.
- Step S20 controlling the OpenSSL to forward the encryption and decryption information to the proxy server through the access layer
- the software library package OpenSSL in the access layer forwards the encryption and decryption information to the proxy server Keyless-Agent separately to facilitate the proxy server Keyless-Agent can call an accelerator card cluster in another service based on the encryption and decryption information.
- the content of the user side and the Nginx server interaction usually includes encryption and decryption information, SSL protocol handshake, version and certificate information, if all interactive content is forwarded to the proxy server, it will be occupied A large amount of CPU resources, therefore, only forward the encryption and decryption information, effectively saving resources.
- Step S30 after the proxy server receives the encryption and decryption information, control the proxy server to asynchronously call the accelerator card cluster based on the encryption and decryption information, wherein the accelerator card cluster includes a keyless proxy node and an acceleration server ;
- the proxy server Keyless-Agent After the proxy server Keyless-Agent receives the encryption and decryption information generated by the interaction between the client and the Nginx server, the proxy server Keyless-Agent asynchronously calls the accelerator card cluster based on the encryption and decryption information.
- the method of asynchronous call can be remote procedure call RPC, which is a protocol that requests services from a remote computer program through the network without understanding the underlying network technology.
- the RPC protocol assumes the existence of certain transmission protocols, such as TCP or UDP, to carry information and data between communication programs.
- TCP Transmission Control Protocol
- UDP User Datagram Protocol
- RPC spans the transport layer and the application layer. RPC makes it easier to develop applications including network distributed multiple programs.
- the proxy server Keyless-Agent and the accelerator card cluster adopt an asynchronous call method, it can effectively release the occupied threads and other resources, avoid blocking, and wait until the result is generated before re-acquiring thread processing, thereby effectively improving efficiency; and, Since the called accelerator card cluster is set in another service, the coupling between the accelerator card cluster and the access layer is effectively reduced.
- Step S40 after the keyless proxy node obtains the private key information corresponding to the encryption and decryption information, control the keyless proxy node to send the private key information and the encryption and decryption information to the acceleration server.
- the proxy server Keyless-Agent asynchronously calls the keyless proxy node Keyless-Proxy in the accelerator card cluster, and the keyless proxy node Keyless-Proxy obtains the requested domain name from the second database DB in the accelerator card cluster.
- the private key information where the private key information corresponds to the encryption and decryption information, is a real password, used for encryption and decryption, and then both the private key information and the encryption and decryption information are delivered to the acceleration server Keyless-Accelerate for asynchronous processing.
- the access layer Since the private key information only exists in the accelerator card cluster, the access layer only has encryption and decryption information, and there is only a virtual password, thus ensuring the security of the access layer.
- Step S50 controlling the acceleration server to perform an encryption and decryption operation on the encryption and decryption information based on the private key information.
- the acceleration server Keyless-Accelerate After the acceleration server Keyless-Accelerate receives the private key information and the encryption and decryption information, it uses its high-performance hardware acceleration card to perform encryption and decryption operations, thereby realizing accelerated processing of encryption and decryption.
- the client in this case successfully handshake with the access layer, it normally interacts with the service RS cluster.
- the secure socket layer SSL protocol handshake and encryption and decryption information decomposition are performed through the access layer, thereby generating asynchronous tasks;
- the software library package OpenSSL only forwards the encryption and decryption information to the proxy server, calls the keyless proxy node through the proxy server, and uses the keyless proxy node to cooperate with the acceleration server to realize the encryption and decryption operation of the acceleration server.
- the protocol handshake and The encryption and decryption information is decomposed, and a proxy server is added, so that the entire request processing process is asynchronous; and the acceleration server is set in the acceleration card cluster outside the access layer, so that the software library package OpenSSL and the acceleration server They are completely decoupled, do not affect each other, and ensure high concurrency, which facilitates service management and version upgrades.
- the access layer is also provided with an Nginx server; the second embodiment of the secure socket layer acceleration method of this application is proposed.
- step S10 may include:
- the Nginx server Controlling the Nginx server to send an SSL handshake request to the OpenSSL based on the SSL, where the SSL handshake request includes the SSL protocol handshake and the encryption and decryption information;
- the handshake is separated from the encryption and decryption information.
- the client initiates an HTTPS request
- the Nginx server receives the request and establishes a TCP connection with the client
- the Nginx server sends the secure socket layer SSL handshake request to the software library package OpenSSL for processing
- the software library package OpenSSL interacts with the client for the SSL protocol handshake, Encryption algorithm, version, certificate and other information, after the software library package OpenSSL determines that the handshake with the client is successful according to the processing result, it separates the SSL protocol handshake from the encryption and decryption information.
- the access layer further includes a first database
- the above step S10 may further include: controlling the Nginx server to obtain a virtual password from the first database based on the SSL;
- the first database DB of the access layer is used to provide configuration information, virtual passwords, etc.
- the secure socket layer SSL is a security protocol that provides security and data integrity for network communication.
- the Nginx server obtains a virtual password from the first database based on the SSL; the Nginx server sends the SSL handshake request to the OpenSSL processing based on the virtual password.
- the access layer only has encryption and decryption information, and there are only virtual passwords, the security of the access layer is guaranteed.
- step S30 may include: after the proxy server receives the encryption and decryption information, controlling the proxy server to asynchronously call the keyless proxy node through remote procedure call RPC based on the encryption and decryption information.
- the asynchronous calling method may be remote procedure call RPC, which is a protocol that requests services from a remote computer program through a network without understanding the underlying network technology.
- the RPC protocol assumes the existence of certain transmission protocols, such as TCP or UDP, to carry information and data between communication programs.
- TCP Transmission Control Protocol
- UDP User Datagram Protocol
- RPC spans the transport layer and the application layer. RPC makes it easier to develop applications including network distributed multiple programs.
- the proxy server Keyless-Agent and the accelerator card cluster adopt an asynchronous call method, it can effectively release the occupied threads and other resources, avoid blocking, and wait until the result is generated before re-acquiring thread processing, thereby effectively improving efficiency; and, Since the called accelerator card cluster is set in another service, the coupling between the accelerator card cluster and the access layer is effectively reduced.
- step S30 may also include:
- the keyless proxy node while the proxy server asynchronously calls the accelerator card cluster based on the encryption and decryption information, the keyless proxy node generates a call request based on the proxy server calling the call information corresponding to the keyless proxy node Information; and, the keyless proxy node uploads the call request information to the OpenSSL in real time.
- the access layer can monitor and count the asynchronous call between the proxy server and the accelerator card cluster.
- step 40 may include:
- Control the keyless proxy node to send the private key information and the encryption and decryption information to the acceleration server.
- the second database DB is used to provide the client to request the private key information corresponding to the domain name
- the proxy server Keyless-Agent asynchronously invokes the keyless proxy node Keyless-Proxy in the accelerator card cluster
- the keyless proxy node Keyless-Proxy obtains the private key information corresponding to the requested domain name from the second database DB in the accelerator card cluster, where the private key information corresponds to the encryption and decryption information, which is a real password, used for encryption and decryption, and then the private key information
- the encryption and decryption information are all delivered to the acceleration server Keyless-Accelerate for asynchronous processing.
- the access layer Since the private key information only exists in the accelerator card cluster, the access layer only has encryption and decryption information, and there is only a virtual password, thus ensuring the security of the access layer.
- the secure socket layer acceleration method of the present application may further include:
- the acceleration server Keyless-Accelerate uses its high-performance hardware acceleration card to perform encryption and decryption operations
- the operation result is obtained, and the acceleration server Keyless-Accelerate returns the operation result to the keyless proxy node Keyless-Proxy , So that the keyless proxy node Keyless-Proxy can upload the operation result to the access layer.
- the operation result is returned to the keyless proxy node Keyless-Proxy, so that the keyless proxy node Keyless-Proxy can upload the operation result to the access layer, so that the access layer software library package OpenSSL can Obtain the operation result and realize the return of the operation result.
- the application also provides a secure socket layer acceleration device.
- the secure socket layer acceleration device described in this application includes:
- the separation module is used to perform the secure socket layer SSL protocol handshake and encryption and decryption information separation through the access layer after the successful handshake between the client and the access layer is detected, wherein the access layer is provided with a software library package OpenSSL And proxy server;
- a forwarding module configured to control the OpenSSL to forward the encryption and decryption information to the proxy server through the access layer
- the calling module is used to control the proxy server to asynchronously call the accelerator card cluster based on the encryption and decryption information after the proxy server receives the encryption and decryption information, wherein the accelerator card cluster includes keyless proxy nodes and Accelerated server
- the sending module is configured to control the keyless proxy node to send the private key information and the encryption and decryption information to the private key information after the keyless proxy node obtains the private key information corresponding to the encryption and decryption information.
- the acceleration server ;
- the execution module is configured to control the acceleration server to perform encryption and decryption operations on the encryption and decryption information based on the private key information.
- the access layer is also provided with an Nginx server;
- the separation module includes:
- the request unit is used to control the Nginx server to establish a TCP connection with the client based on the HTTPS request and generate a secure socket layer SSL when an HTTPS request initiated by the client is detected;
- a processing unit configured to control the Nginx server to send an SSL handshake request to the OpenSSL based on the SSL, where the SSL handshake request includes the SSL protocol handshake and the encryption and decryption information;
- a judging unit configured to control the OpenSSL to process the SSL handshake request to obtain a processing result, and control the OpenSSL to determine whether the handshake with the client is successful based on the processing result, wherein, if so, control the OpenSSL
- the SSL protocol handshake is separated from the encryption and decryption information.
- the access layer further includes a first database
- the processing unit is further configured to:
- calling module is also used for:
- the proxy server After the proxy server receives the encryption and decryption information, it controls the proxy server to asynchronously call the keyless proxy node through remote procedure call RPC based on the encryption and decryption information.
- calling module is also used for:
- the accelerator card cluster further includes a second database; the sending module is further used for:
- Control the keyless proxy node to send the private key information and the encryption and decryption information to the acceleration server.
- the application also provides a computer-readable storage medium.
- a secure socket layer acceleration program is stored on the computer-readable storage medium of the present application, and when the secure socket layer acceleration program is executed by a processor, the steps of the secure socket layer acceleration method described above are realized.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种安全套接层加速方法,包括:在检测到用户端与接入层握手成功后,通过接入层进行SSL协议握手与加解密信息分离;通过接入层控制OpenSSL将加解密信息转发到代理服务器;在代理服务器接收到加解密信息后,控制代理服务器基于加解密信息异步调用加速卡集群;在无密钥代理节点基于加解密信息获取对应的私钥信息后,控制无密钥代理节点将私钥信息及加解密信息发送至加速服务器;控制加速服务器基于私钥信息对加解密信息执行加解密操作。本申请还公开了一种安全套接层加速装置、设备和存储介质。本申请通过将加速服务器设置在区块链或其他服务的接入层之外的加速卡集群中,使得OpenSSL与加速服务器之间完全解耦,互不影响,便于服务管理以版本升级。
Description
本申请要求于2019年4月28日提交中国专利局、申请号为201910359100.6、发明名称为“安全套接层加速方法、装置、设备及可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在申请中。
本申请涉及金融科技(Finteh)技术领域,尤其涉及金融行业的安全套接层加速方法、装置、设备及可读存储介质。
随着计算机技术的发展,越来越多的技术(如分布式、区块链Blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Finteh)转变,越来越多的技术应用于金融行业。现在网站为了安全起见,大部分都使用HTTPS。HTTPS协议相比HTTP协议增加了安全套接层SSL,所有的HTTP请求和响应数据在发送到网络之前,都要进行加密。安全和性能不可兼得,增加的加解密计算消耗转发服务器的大量CPU资源,导致转发性能下降。通用解决方案是使用专用的硬件卸载CPU密集型运算。
目前业界较为普遍使用的是Intel QAT加速卡以及其提供的Nginx的适配方案,该方案利用OpenSSL的TSL异步模式,并对Nginx HTTPS模块进行异步模式适配,最终实现了整个HTTPS请求处理的异步化。
然而,现有技术中,Nginx、OpenSSL和加速服务QAT耦合度高,各自版本更新升级成本较大,请求状态和问题排查难度大。
发明概述
问题的解决方案
本申请的主要目的在于提出一种安全套接层加速方法、装置、设备及可读存储介质,旨在解决现有技术中使用Intel QAT加速卡及其提供的Nginx的适配方案时 ,由于Nginx、OpenSSL和加速卡之间耦合度过高而引起各自版本更新升级成本大的问题。
为实现上述目的,本申请提供一种安全套接层加速方法,所述安全套接层加速方法包括如下步骤:
在检测到用户端与接入层握手成功后,通过所述接入层进行安全套接层SSL协议握手与加解密信息分离,其中,所述接入层设有软件库包OpenSSL及代理服务器;
通过所述接入层控制所述OpenSSL将所述加解密信息转发到所述代理服务器;在所述代理服务器接收到所述加解密信息后,控制所述代理服务器基于所述加解密信息异步调用加速卡集群,其中,所述加速卡集群包括无密钥代理节点及加速服务器;
在所述无密钥代理节点获取到所述加解密信息对应的私钥信息后,控制所述无密钥代理节点将所述私钥信息及所述加解密信息发送至所述加速服务器;
控制所述加速服务器基于所述私钥信息对所述加解密信息执行加解密操作。
此外,为实现上述目的,本申请还提供一种安全套接层加速装置,所述安全套接层加速装置包括:
分离模块,用于在检测到用户端与接入层握手成功后,通过所述接入层进行安全套接层SSL协议握手与加解密信息分离,其中,所述接入层设有软件库包OpenSSL及代理服务器;
转发模块,用于通过所述接入层控制所述OpenSSL将所述加解密信息转发到所述代理服务器;
调用模块,用于在所述代理服务器接收到所述加解密信息后,控制所述代理服务器基于所述加解密信息异步调用加速卡集群,其中,所述加速卡集群包括无密钥代理节点及加速服务器;
发送模块,用于在所述无密钥代理节点获取到所述加解密信息对应的私钥信息后,控制所述无密钥代理节点将所述私钥信息及所述加解密信息发送至所述加速服务器;
执行模块,用于控制所述加速服务器基于所述私钥信息对所述加解密信息执行 加解密操作。
此外,为实现上述目的,本申请还提供一种安全套接层加速设备,所述安全套接层加速设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的安全套接层加速程序,所述安全套接层加速程序被所述处理器执行时实现如上所述的安全套接层加速方法的步骤。
此外,为实现上述目的,本申请还提供一种可读存储介质,所述可读存储介质上存储有安全套接层加速程序,所述安全套接层加速程序被处理器执行时实现如上所述的安全套接层加速方法的步骤。
本申请提出的安全套接层加速方法,首先,在检测到用户端与接入层握手成功后,通过接入层进行安全套接层SSL协议握手与加解密信息分解,从而产生异步任务;再者,软件库包OpenSSL仅仅将加解密信息转发到代理服务器,通过代理服务器进行调用无密钥代理节点,并且,通过无密钥代理节点配合加速服务器,实现加速服务器的加解密操作,由于将协议握手和加解密信息分解开,且增加了代理服务器,使得整个请求处理过程都是异步进行的;并且,将加速服务器设置在接入层之外的加速卡集群中,使得软件库包OpenSSL以及加速服务器之间完全解耦,互不影响,且保证高并发,方便服务的管理以及版本的升级。
发明的有益效果
对附图的简要说明
图1是本申请实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本申请安全套接层加速方法第一实施例的流程示意图;
图3为本申请安全套接层加速方法第一实施例的的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
发明实施例
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图1所示,图1是本申请实施例方案涉及的硬件运行环境的设备结构示意图。
本申请实施例安全套接层加速设备可以是PC机或服务器设备。
如图1所示,该安全套接层加速设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及安全套接层加速程序。
在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的安全套接层加速程序,并执行下述安全套接层加速方法各个实施例中的操作。
基于上述硬件结构,提出本申请安全套接层加速方法实施例。
参照图2,图2为本申请安全套接层加速方法第一实施例的流程示意图,所述方法包括:
步骤S10,在检测到用户端与接入层握手成功后,通过所述接入层进行安全套接层SSL协议握手与加解密信息分离,其中,所述接入层设有软件库包OpenSSL及代理服务器;
本实施例中,安全套接层(Secure Sockets Layer,SSL),是为网络通信提供安全及数据完整性的一种安全协议。SSL协议是Web浏览器与Web服务器之间安全交换信息的协议,提供两个基本的安全服务:鉴别与保密。
本实施例的安全套接层加速方法在检测到用户端与接入层握手成功后,通过接 入层进行安全套接层SSL协议握手与加解密信息分离。如图3所示,接入层Access layer设置有Nginx服务器、软件库包OpenSSL和代理服务器Keyless-Agent,其中,NginxNginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发的,是一个高性能的HTTP和反向代理web服务器;OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信;代理服务器Keyless-Agent是增加了一个代理服务器,在软件库包OpenSSL将SSL协议握手和加解密信息分离后,将加解密信息转发出去。
用户端与接入层的握手过程为:首先,在检测到用户端发起的HTTPS请求时,Nginx服务器基于HTTPS请求与用户端建立TCP连接,并生成安全套接层SSL;其次,Nginx服务器基于安全套接层SSL将SSL握手请求发送至所述OpenSSL处理得到处理结果,其中,SSL握手请求包括SSL协议握手及加解密信息;再者,软件库包OpenSSL基于处理结果判断与用户端是否握手成功,若是,则软件库包OpenSSL进行SSL协议握手与加解密信息分离。
通过将SSL协议握手与加解密信息分离开,以便于加解密信息单独转发至加速卡集群,并且,由于OpenSSL和加速卡集群分属不同服务,因此,二者之间的耦合度较低。
步骤S20,通过所述接入层控制所述OpenSSL将所述加解密信息转发到所述代理服务器;
该步骤中,在软件库包OpenSSL内部,将SSL协议握手与加解密信息分离开后,接入层中的软件库包OpenSSL将加解密信息单独转发到代理服务器Keyless-Agent中,以便于代理服务器Keyless-Agent能够基于该加解密信息调用处于另一个服务的加速卡集群。
由于用户端与接入层握手时,用户端与Nginx服务器交互的内容通常包括加解密信息、SSL协议握手、版本以及证书等信息,如果将所有的交互内容都转发到代理服务器,那么将会占用大量的CPU资源,因此,仅仅将加解密信息转发出去,有效节约资源。
步骤S30,在所述代理服务器接收到所述加解密信息后,控制所述代理服务器基于所述加解密信息异步调用加速卡集群,其中,所述加速卡集群包括无密钥 代理节点及加速服务器;
该步骤中,在代理服务器Keyless-Agent接收到用户端与Nginx服务器交互产生的加解密信息后,代理服务器Keyless-Agent基于加解密信息进行异步调用加速卡集群。
异步调用的方式可以是远程过程调用RPC,RPC是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。
由于代理服务器Keyless-Agent与加速卡集群之间采用的是异步调用的方式,因此,能够有效释放占用的线程等资源,避免阻塞,等到结果产生再重新获取线程处理,从而有效提高效率;并且,由于调用的加速卡集群设置于另一个服务中,有效降低加速卡集群与接入层之间的耦合度。
步骤S40,在所述无密钥代理节点获取到所述加解密信息对应的私钥信息后,控制所述无密钥代理节点将所述私钥信息及所述加解密信息发送至所述加速服务器。
该步骤中,代理服务器Keyless-Agent通过异步调用加速卡集群中的无密钥代理节点Keyless-Proxy,无密钥代理节点Keyless-Proxy从加速卡集群中的第二数据库DB中获取该请求域名对应的私钥信息,其中,私钥信息与加解密信息对应,为真实的密码,用于加解密,再将私钥信息和加解密信息都交给加速服务器Keyless-Accelerate进行异步处理。
由于私钥信息只存在于加速卡集群中,接入层只有加解密信息,并且,只有虚拟的密码,因此,保证了接入层的安全。
步骤S50,控制所述加速服务器基于所述私钥信息对所述加解密信息执行加解密操作。
该步骤中,在加速服务器Keyless-Accelerate接收到私钥信息及所述加解密信息后,利用其高性能的硬件加速卡执行加解密操作,从而实现对加解密的加速处理。
当然,本案的用户端在与接入层握手成功后,与业务RS集群进行正常交互。
本申请提出的安全套接层加速方法,首先,在检测到用户端与接入层握手成功后,通过接入层进行安全套接层SSL协议握手与加解密信息分解,从而产生异步任务;再者,软件库包OpenSSL仅仅将加解密信息转发到代理服务器,通过代理服务器进行调用无密钥代理节点,并且,通过无密钥代理节点配合加速服务器,实现加速服务器的加解密操作,由于将协议握手和加解密信息分解开,且增加了代理服务器,使得整个请求处理过程都是异步进行的;并且,将加速服务器设置在接入层之外的加速卡集群中,使得软件库包OpenSSL以及加速服务器之间完全解耦,互不影响,且保证高并发,方便服务的管理以及版本的升级。
进一步地,基于本申请安全套接层加速方法第一实施例,所述接入层还设有Nginx服务器;提出本申请安全套接层加速方法第二实施例。
在本实施例中,上述步骤S10可以包括:
在检测到用户端发起的HTTPS请求时,控制所述Nginx服务器基于所述HTTPS请求与所述用户端建立TCP连接,并生成安全套接层SSL;
控制所述Nginx服务器基于所述SSL将SSL握手请求发送至所述OpenSSL,其中,所述SSL握手请求包括所述SSL协议握手及所述加解密信息;
控制所述OpenSSL对所述SSL握手请求进行处理得到处理结果,并控制所述OpenSSL基于所述处理结果判断与所述用户端是否握手成功,其中,若是,则控制所述OpenSSL进行所述SSL协议握手与所述加解密信息分离。
具体地,用户端发起HTTPS请求,Nginx服务器接收请求并与用户端建立TCP连接;Nginx服务器将安全套接层SSL握手请求发给软件库包OpenSSL处理,软件库包OpenSSL与用户端交互SSL协议握手、加密算法、版本以及证书等信息,软件库包OpenSSL根据处理结果判定与用户端之间握手成功后,将SSL协议握手与所述加解密信息分离。
通过将SSL协议握手与加解密信息分离开,以便于加解密信息单独转发至加速卡集群,并且,由于Nginx服务器、OpenSSL和加速卡集群分属不同服务,因此,二者之间的耦合度较低。
进一步地,所述接入层还包括第一数据库,上述步骤S10还可以包括:控制所 述Nginx服务器基于所述SSL,从所述第一数据库获取虚拟密码;
控制所述Nginx服务器基于所述虚拟密码将所述SSL握手请求发送至所述OpenSSL处理。
在本实施例中,接入层的第一数据库DB用于提供配置信息、虚拟密码等;安全套接层SSL,是为网络通信提供安全及数据完整性的一种安全协议。在所述Nginx服务器基于所述SSL,从所述第一数据库获取虚拟密码;所述Nginx服务器基于所述虚拟密码将所述SSL握手请求发送至所述OpenSSL处理。
由于接入层只有加解密信息,并且,只有虚拟的密码,因此,保证了接入层的安全。
进一步地,步骤S30可以包括:在所述代理服务器接收到所述加解密信息后,控制所述代理服务器基于所述加解密信息,通过远程过程调用RPC进行异步调用所述无密钥代理节点。
在本实施例中,异步调用的方式可以是远程过程调用RPC,RPC是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。
由于代理服务器Keyless-Agent与加速卡集群之间采用的是异步调用的方式,因此,能够有效释放占用的线程等资源,避免阻塞,等到结果产生再重新获取线程处理,从而有效提高效率;并且,由于调用的加速卡集群设置于另一个服务中,有效降低加速卡集群与接入层之间的耦合度。
进一步地,步骤S30还可以包括:
控制所述无密钥代理节点基于所述代理服务器调用所述无密钥代理节点对应的调用信息,生成调用请求信息;
控制所述无密钥代理节点将所述调用请求信息实时上传至所述OpenSSL。
在本实施例中,在所述代理服务器基于所述加解密信息异步调用加速卡集群的同时,无密钥代理节点基于所述代理服务器调用所述无密钥代理节点对应的调用信息生成调用请求信息;并且,无密钥代理节点将所述调用请求信息实时上 传至所述OpenSSL。
通过调用请求信息上传至软件库包OpenSSL,使得接入层能够监控和统计代理服务器与加速卡集群之间的异步调用情况。
进一步地,所述加速卡集群还包括第二数据库;步骤40可以包括:
控制所述无密钥代理节点基于所述加解密信息,从所述第二数据库获取所述私钥信息;
控制所述无密钥代理节点将所述私钥信息及所述加解密信息发送至所述加速服务器。
本实施例中,第二数据库DB用于提供用户端去请求域名对应的私钥信息,代理服务器Keyless-Agent通过异步调用加速卡集群中的无密钥代理节点Keyless-Proxy,无密钥代理节点Keyless-Proxy从加速卡集群中的第二数据库DB中获取该请求域名对应的私钥信息,其中,私钥信息与加解密信息对应,为真实的密码,用于加解密,再将私钥信息和加解密信息都交给加速服务器Keyless-Accelerate进行异步处理。
由于私钥信息只存在于加速卡集群中,接入层只有加解密信息,并且,只有虚拟的密码,因此,保证了接入层的安全。
进一步地,步骤S50之后,本申请的安全套接层加速方法还可以包括:
通过所述加速服务器基于所述加解密操作得到操作结果;
控制所述加速服务器将所述操作结果返回至所述无密钥代理节点。
在本实施例中,在加速服务器Keyless-Accelerate利用其高性能的硬件加速卡进行加解密操作后,得到操作结果,并且,加速服务器Keyless-Accelerate将操作结果返回至无密钥代理节点Keyless-Proxy,使得无密钥代理节点Keyless-Proxy能够将操作结果上传至接入层。
通过加速服务器Keyless-Accelerate将操作结果返回至无密钥代理节点Keyless-Proxy,进而使得无密钥代理节点Keyless-Proxy能够将操作结果上传至接入层,使得接入层的软件库包OpenSSL能够得到操作结果,实现操作结果回传。
本申请还提供一种安全套接层加速装置。本申请所述安全套接层加速装置包括:
分离模块,用于在检测到用户端与接入层握手成功后,通过所述接入层进行安全套接层SSL协议握手与加解密信息分离,其中,所述接入层设有软件库包OpenSSL及代理服务器;
转发模块,用于通过所述接入层控制所述OpenSSL将所述加解密信息转发到所述代理服务器;
调用模块,用于在所述代理服务器接收到所述加解密信息后,控制所述代理服务器基于所述加解密信息异步调用加速卡集群,其中,所述加速卡集群包括无密钥代理节点及加速服务器;
发送模块,用于在所述无密钥代理节点获取到所述加解密信息对应的私钥信息后,控制所述无密钥代理节点将所述私钥信息及所述加解密信息发送至所述加速服务器;
执行模块,用于控制所述加速服务器基于所述私钥信息对所述加解密信息执行加解密操作。
进一步地,所述接入层还设有Nginx服务器;所述分离模块包括:
请求单元,用于在检测到用户端发起的HTTPS请求时,控制所述Nginx服务器基于所述HTTPS请求与所述用户端建立TCP连接,并生成安全套接层SSL;
处理单元,用于控制所述Nginx服务器基于所述SSL将SSL握手请求发送至所述OpenSSL,其中,所述SSL握手请求包括所述SSL协议握手及所述加解密信息;
判断单元,用于控制所述OpenSSL对所述SSL握手请求进行处理得到处理结果,并控制所述OpenSSL基于所述处理结果判断与所述用户端是否握手成功,其中,若是,则控制所述OpenSSL进行所述SSL协议握手与所述加解密信息分离。
进一步地,所述接入层还包括第一数据库,所述处理单元还用于:
控制所述Nginx服务器基于所述SSL,从所述第一数据库获取虚拟密码;
控制所述Nginx服务器基于所述虚拟密码将所述SSL握手请求发送至所述OpenSSL处理。
进一步地,所述调用模块还用于:
在所述代理服务器接收到所述加解密信息后,控制所述代理服务器基于所述加解密信息,通过远程过程调用RPC进行异步调用所述无密钥代理节点。
进一步地,所述调用模块还用于:
控制所述无密钥代理节点基于所述代理服务器调用所述无密钥代理节点对应的调用信息,生成调用请求信息;
控制所述无密钥代理节点将所述调用请求信息实时上传至所述OpenSSL。
进一步地,所述加速卡集群还包括第二数据库;所述发送模块还用于:
控制所述无密钥代理节点基于所述加解密信息,从所述第二数据库获取所述私钥信息;
控制所述无密钥代理节点将所述私钥信息及所述加解密信息发送至所述加速服务器。
本申请还提供一种计算机可读存储介质。
本申请计算机可读存储介质上存储有安全套接层加速程序,所述安全套接层加速程序被处理器执行时实现如上所述的安全套接层加速方法的步骤。
其中,在所述处理器上运行的安全套接层加速程序被执行时所实现的方法可参照本申请安全套接层加速方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台安全套接层加速设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (20)
- 一种安全套接层加速方法,其中,所述安全套接层加速方法包括如下步骤:在检测到用户端与接入层握手成功后,通过所述接入层进行安全套接层SSL协议握手与加解密信息分离,其中,所述接入层设有软件库包OpenSSL及代理服务器;通过所述接入层控制所述OpenSSL将所述加解密信息转发到所述代理服务器;在所述代理服务器接收到所述加解密信息后,控制所述代理服务器基于所述加解密信息异步调用加速卡集群,其中,所述加速卡集群包括无密钥代理节点及加速服务器;在所述无密钥代理节点获取到所述加解密信息对应的私钥信息后,控制所述无密钥代理节点将所述私钥信息及所述加解密信息发送至所述加速服务器;控制所述加速服务器基于所述私钥信息对所述加解密信息执行加解密操作。
- 如权利要求1所述的安全套接层加速方法,其中,所述接入层还设有Nginx服务器;所述在检测到用户端与接入层握手成功后,通过所述接入层进行安全套接层SSL协议握手与加解密信息分离的步骤包括:在检测到用户端发起的HTTPS请求时,控制所述Nginx服务器基于所述HTTPS请求与所述用户端建立TCP连接,并生成安全套接层SSL;控制所述Nginx服务器基于所述SSL将SSL握手请求发送至所述OpenSSL,其中,所述SSL握手请求包括所述SSL协议握手及所述加解密信息;控制所述OpenSSL对所述SSL握手请求进行处理得到处理结果,并控制所述OpenSSL基于所述处理结果判断与所述用户端是否握手 成功,其中,若是,则控制所述OpenSSL进行所述SSL协议握手与所述加解密信息分离。
- 如权利要求2所述的安全套接层加速方法,其中,所述接入层还包括第一数据库,所述控制所述Nginx服务器基于所述SSL将SSL握手请求发送至所述OpenSSL的步骤包括:控制所述Nginx服务器基于所述SSL,从所述第一数据库获取虚拟密码;控制所述Nginx服务器基于所述虚拟密码将所述SSL握手请求发送至所述OpenSSL处理。
- 如权利要求1所述的安全套接层加速方法,其中,所述在所述代理服务器接收到所述加解密信息后,控制所述代理服务器基于所述加解密信息异步调用加速卡集群的步骤包括:在所述代理服务器接收到所述加解密信息后,控制所述代理服务器基于所述加解密信息,通过远程过程调用RPC进行异步调用所述无密钥代理节点。
- 如权利要求1所述的安全套接层加速方法,其中,所述在所述代理服务器接收到所述加解密信息后,控制所述代理服务器基于所述加解密信息异步调用加速卡集群的步骤还包括:控制所述无密钥代理节点基于所述代理服务器调用所述无密钥代理节点对应的调用信息,生成调用请求信息;控制所述无密钥代理节点将所述调用请求信息实时上传至所述OpenSSL。
- 如权利要求1所述的安全套接层加速方法,其中,所述加速卡集群还包括第二数据库;所述在所述无密钥代理节点获取到所述加解密信息对应的私钥信息后,控制所述无密钥代理节点将所述私钥信息及所述加解密信息发送至所述加速服务器的步骤包括:控制所述无密钥代理节点基于所述加解密信息,从所述第二数据库获取所述私钥信息;控制所述无密钥代理节点将所述私钥信息及所述加解密信息发送至所述加速服务器。
- 如权利要求1所述的安全套接层加速方法,其中,所述控制所述加速服务器基于所述私钥信息对所述加解密信息执行加解密操作的步骤之后,所述安全套接层加速方法还包括:通过所述加速服务器基于所述加解密操作得到操作结果;控制所述加速服务器将所述操作结果返回至所述无密钥代理节点。
- 一种安全套接层加速装置,其中,所述安全套接层加速装置包括:分离模块,用于在检测到用户端与接入层握手成功后,通过所述接入层进行安全套接层SSL协议握手与加解密信息分离,其中,所述接入层设有软件库包OpenSSL及代理服务器;转发模块,用于通过所述接入层控制所述OpenSSL将所述加解密信息转发到所述代理服务器;调用模块,用于在所述代理服务器接收到所述加解密信息后,控制所述代理服务器基于所述加解密信息异步调用加速卡集群,其中,所述加速卡集群包括无密钥代理节点及加速服务器;发送模块,用于在所述无密钥代理节点获取到所述加解密信息对应的私钥信息后,控制所述无密钥代理节点将所述私钥信息及所述加解密信息发送至所述加速服务器;执行模块,用于控制所述加速服务器基于所述私钥信息对所述加解密信息执行加解密操作。
- 如权利要求8所述的安全套接层加速装置,其中,所述接入层还设有Nginx服务器;所述分离模块包括:请求单元,用于在检测到用户端发起的HTTPS请求时,控制所述Nginx服务器基于所述HTTPS请求与所述用户端建立TCP连接,并生成安全套接层SSL;处理单元,用于控制所述Nginx服务器基于所述SSL将SSL握手请求发送至所述OpenSSL,其中,所述SSL握手请求包括所述SSL协议握手及所述加解密信息;判断单元,用于控制所述OpenSSL对所述SSL握手请求进行处理得到处理结果,并控制所述OpenSSL基于所述处理结果判断与所述用户端是否握手成功,其中,若是,则控制所述OpenSSL进行所述SSL协议握手与所述加解密信息分离。
- 如权利要求9所述的安全套接层加速装置,其中,所述接入层还包括第一数据库,所述处理单元还用于:控制所述Nginx服务器基于所述SSL,从所述第一数据库获取虚拟密码;控制所述Nginx服务器基于所述虚拟密码将所述SSL握手请求发送至所述OpenSSL处理。
- 如权利要求8所述的安全套接层加速装置,其中,所述调用模块还用于:在所述代理服务器接收到所述加解密信息后,控制所述代理服务器基于所述加解密信息,通过远程过程调用RPC进行异步调用所述无密钥代理节点。
- 如权利要求8所述的安全套接层加速装置,其中,所述调用模块还用于:控制所述无密钥代理节点基于所述代理服务器调用所述无密钥代理节点对应的调用信息,生成调用请求信息;控制所述无密钥代理节点将所述调用请求信息实时上传至所述OpenSSL。
- 如权利要求8所述的安全套接层加速装置,其中,所述加速卡集群还包括第二数据库;所述发送模块还用于:控制所述无密钥代理节点基于所述加解密信息,从所述第二数据库获取所述私钥信息;控制所述无密钥代理节点将所述私钥信息及所述加解密信息发送至所述加速服务器。
- 如权利要求8所述的安全套接层加速装置,其中,所述安全套接层加速装置还包括返回模块,所述返回模块用于:通过所述加速服务器基于所述加解密操作得到操作结果;控制所述加速服务器将所述操作结果返回至所述无密钥代理节点。
- 一种安全套接层加速设备,其中,所述安全套接层加速设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的安全套接层加速程序,所述安全套接层加速程序被所述处理器执行时实现如下步骤:在检测到用户端与接入层握手成功后,通过所述接入层进行安全套接层SSL协议握手与加解密信息分离,其中,所述接入层设有软件库包OpenSSL及代理服务器;通过所述接入层控制所述OpenSSL将所述加解密信息转发到所述代理服务器;在所述代理服务器接收到所述加解密信息后,控制所述代理服务器基于所述加解密信息异步调用加速卡集群,其中,所述加速卡集群包括无密钥代理节点及加速服务器;在所述无密钥代理节点获取到所述加解密信息对应的私钥信息后,控制所述无密钥代理节点将所述私钥信息及所述加解密信息发送至所述加速服务器;控制所述加速服务器基于所述私钥信息对所述加解密信息执行加解密操作。
- 如权利15所述的安全套接层加速设备,其中,所述安全套接层加速程序被所述处理器执行时还实现如下步骤:在检测到用户端发起的HTTPS请求时,控制所述Nginx服务器基于所述HTTPS请求与所述用户端建立TCP连接,并生成安全套接层S SL;控制所述Nginx服务器基于所述SSL将SSL握手请求发送至所述OpenSSL,其中,所述SSL握手请求包括所述SSL协议握手及所述加解密信息;控制所述OpenSSL对所述SSL握手请求进行处理得到处理结果,并控制所述OpenSSL基于所述处理结果判断与所述用户端是否握手成功,其中,若是,则控制所述OpenSSL进行所述SSL协议握手与所述加解密信息分离。
- 如权利要求16所述的安全套接层加速设备,其中,所述安全套接层加速程序被所述处理器执行时还实现如下步骤:控制所述Nginx服务器基于所述SSL,从所述第一数据库获取虚拟密码;控制所述Nginx服务器基于所述虚拟密码将所述SSL握手请求发送至所述OpenSSL处理。
- 一种可读存储介质,其中,所述可读存储介质上存储有安全套接层加速程序,所述安全套接层加速程序被处理器执行时实现如下步骤:在检测到用户端与接入层握手成功后,通过所述接入层进行安全套接层SSL协议握手与加解密信息分离,其中,所述接入层设有软件库包OpenSSL及代理服务器;通过所述接入层控制所述OpenSSL将所述加解密信息转发到所述代理服务器;在所述代理服务器接收到所述加解密信息后,控制所述代理服务器基于所述加解密信息异步调用加速卡集群,其中,所述加速卡集群包括无密钥代理节点及加速服务器;在所述无密钥代理节点获取到所述加解密信息对应的私钥信息后,控制所述无密钥代理节点将所述私钥信息及所述加解密信息发送至所述加速服务器;控制所述加速服务器基于所述私钥信息对所述加解密信息执行加解密操作。
- 如权利要求18所述的可读存储介质,其中,所述安全套接层加速程序被处理器执行时还实现如下步骤:在检测到用户端发起的HTTPS请求时,控制所述Nginx服务器基于所述HTTPS请求与所述用户端建立TCP连接,并生成安全套接层SSL;控制所述Nginx服务器基于所述SSL将SSL握手请求发送至所述OpenSSL,其中,所述SSL握手请求包括所述SSL协议握手及所述加解密信息;控制所述OpenSSL对所述SSL握手请求进行处理得到处理结果,并控制所述OpenSSL基于所述处理结果判断与所述用户端是否握手成功,其中,若是,则控制所述OpenSSL进行所述SSL协议握手与所述加解密信息分离。
- 如权利要求19所述的可读存储介质,其中,所述安全套接层加速程序被处理器执行时还实现如下步骤:控制所述Nginx服务器基于所述SSL,从所述第一数据库获取虚拟密码;控制所述Nginx服务器基于所述虚拟密码将所述SSL握手请求发送至所述OpenSSL处理。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910359100.6 | 2019-04-28 | ||
| CN201910359100.6A CN110071933B (zh) | 2019-04-28 | 2019-04-28 | 安全套接层加速方法、装置、设备及可读存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020220833A1 true WO2020220833A1 (zh) | 2020-11-05 |
Family
ID=67369743
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2020/078395 Ceased WO2020220833A1 (zh) | 2019-04-28 | 2020-03-09 | 安全套接层加速方法、装置、设备及可读存储介质 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN110071933B (zh) |
| WO (1) | WO2020220833A1 (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115426403A (zh) * | 2022-08-23 | 2022-12-02 | 奇安信网神信息技术(北京)股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
| CN116132420A (zh) * | 2022-12-28 | 2023-05-16 | 中国互联网络信息中心 | 一种面向通用互联网平台的集群密码加速方法及装置 |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110071933B (zh) * | 2019-04-28 | 2021-11-12 | 深圳前海微众银行股份有限公司 | 安全套接层加速方法、装置、设备及可读存储介质 |
| CN111131455B (zh) * | 2019-12-24 | 2021-06-04 | 深信服科技股份有限公司 | 数据代理方法、装置、设备及存储介质 |
| CN111538996B (zh) * | 2020-07-08 | 2021-06-29 | 支付宝(杭州)信息技术有限公司 | 区块链一体机的可信启动方法及装置 |
| CN114553449A (zh) * | 2020-11-24 | 2022-05-27 | 北京金山云网络技术有限公司 | 基于https的加解密方法、装置、系统、电子设备和存储介质 |
| CN113535745B (zh) | 2021-08-09 | 2022-01-18 | 威讯柏睿数据科技(北京)有限公司 | 一种层次化数据库操作加速系统和方法 |
| CN116567108A (zh) * | 2023-05-29 | 2023-08-08 | 中国银行股份有限公司 | 一种跨网域数据传输的方法、设备集群及数据传输系统 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070074282A1 (en) * | 2005-08-19 | 2007-03-29 | Black Jeffrey T | Distributed SSL processing |
| CN106027646A (zh) * | 2016-05-19 | 2016-10-12 | 杜在东 | 一种加速https的方法及装置 |
| CN109428876A (zh) * | 2017-09-01 | 2019-03-05 | 腾讯科技(深圳)有限公司 | 一种握手连接方法及装置 |
| CN110071933A (zh) * | 2019-04-28 | 2019-07-30 | 深圳前海微众银行股份有限公司 | 安全套接层加速方法、装置、设备及可读存储介质 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8543805B2 (en) * | 2010-04-21 | 2013-09-24 | Citrix Systems, Inc. | Systems and methods for split proxying of SSL via WAN appliances |
| CN104580129B (zh) * | 2013-10-29 | 2018-01-09 | 杭州迪普科技股份有限公司 | 一种基于流处理的ssl异步代理方法 |
| CN104732164A (zh) * | 2013-12-18 | 2015-06-24 | 国家计算机网络与信息安全管理中心 | 一种提高ssl数据处理速度的装置及其方法 |
| CN105871858A (zh) * | 2016-04-15 | 2016-08-17 | 浪潮集团有限公司 | 一种保证数据安全的方法及系统 |
| CN105978789B (zh) * | 2016-04-28 | 2020-07-10 | 安徽波士信息科技有限公司 | 一种消息推送系统及方法 |
| US10079810B1 (en) * | 2016-09-30 | 2018-09-18 | EMC IP Holding Company LLC | Decryption and analysis of network traffic using key material collected from endpoint devices of a computer network |
| CN109088889B (zh) * | 2018-10-16 | 2021-07-06 | 深信服科技股份有限公司 | 一种ssl加解密方法、系统及计算机可读存储介质 |
| CN109327470A (zh) * | 2018-11-28 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种用于实现ssl加密传输的方法和装置 |
-
2019
- 2019-04-28 CN CN201910359100.6A patent/CN110071933B/zh active Active
-
2020
- 2020-03-09 WO PCT/CN2020/078395 patent/WO2020220833A1/zh not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070074282A1 (en) * | 2005-08-19 | 2007-03-29 | Black Jeffrey T | Distributed SSL processing |
| CN106027646A (zh) * | 2016-05-19 | 2016-10-12 | 杜在东 | 一种加速https的方法及装置 |
| CN109428876A (zh) * | 2017-09-01 | 2019-03-05 | 腾讯科技(深圳)有限公司 | 一种握手连接方法及装置 |
| CN110071933A (zh) * | 2019-04-28 | 2019-07-30 | 深圳前海微众银行股份有限公司 | 安全套接层加速方法、装置、设备及可读存储介质 |
Non-Patent Citations (2)
| Title |
|---|
| LI AI-LING: "Safe Mechanism of Electronic Commerce Based on SSL Acceleration", JOURNAL OF ANYANG UNIVERSITY, no. 3, 30 September 2003 (2003-09-30), pages 44 - 45, XP055750150, DOI: 10.19329/j.cnki.1673-2928.2003.03.014 * |
| XIAOKANG HU , CHANGZHENG WEI , JIAN LI , BRIAN WILL , PING YU , HAIBANG GUAN: "QTLS: High-Performance TLS Asynchronous Offload Framework with Intel® QuickAssist Technology", PPOPP '19: PROCEEDINGS OF THE 24TH SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING, 28 February 2019 (2019-02-28), pages 158 - 172, XP058450534, DOI: 10.1145/3293883.3295705 * |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115426403A (zh) * | 2022-08-23 | 2022-12-02 | 奇安信网神信息技术(北京)股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
| CN116132420A (zh) * | 2022-12-28 | 2023-05-16 | 中国互联网络信息中心 | 一种面向通用互联网平台的集群密码加速方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN110071933A (zh) | 2019-07-30 |
| CN110071933B (zh) | 2021-11-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2020220833A1 (zh) | 安全套接层加速方法、装置、设备及可读存储介质 | |
| CN112035215B (zh) | 节点集群的节点自治方法、系统、装置及电子设备 | |
| US10623272B2 (en) | Authenticating connections and program identity in a messaging system | |
| US9183031B2 (en) | Provisioning of a virtual machine by using a secured zone of a cloud environment | |
| US8316139B2 (en) | Systems and methods for integrating local systems with cloud computing resources | |
| JP5372083B2 (ja) | クライアント側の加速技術を提供するシステムおよび方法 | |
| JP5714690B2 (ja) | 複数のウェブサービスにわたって認証を実施するプラグ可能なトークンプロバイダモデル | |
| CN104767834B (zh) | 用于加速计算环境到远程用户的传送的系统和方法 | |
| US10425465B1 (en) | Hybrid cloud API management | |
| US12537854B2 (en) | Token-based session establishment for client computing devices | |
| US11968238B2 (en) | Policy management system to provide authorization information via distributed data store | |
| US9118621B2 (en) | Network controller, method, and medium | |
| US10298620B1 (en) | System and method for on-line and off-line streaming application isolation | |
| CN111212117A (zh) | 一种远程交互的方法和装置 | |
| WO2025213813A1 (zh) | 基于开放式安全套接层协议建立通信连接的方法、装置 | |
| CN114189358B (zh) | 一种基于私有云的服务安全策略管理方法 | |
| CN115037588A (zh) | 网络管理方法、装置、电子设备及存储介质 | |
| CN114979237B (zh) | 一种长连接验证方法、装置、设备及可读存储介质 | |
| US20210234838A1 (en) | Server for detecting a proxy device in a communications path and related methods | |
| US12418519B2 (en) | Method and system for exchanging web authentication protocols for public cloud migrations | |
| CN114444117B (zh) | 一种云端数据取证方法及系统 | |
| JP4972646B2 (ja) | 一貫したアプリケーション対応ファイヤウォールトラバーサルの提供 | |
| CN121151458A (zh) | 基于linux系统的分布式应用协同方法、装置及电子设备 | |
| CN119652951A (zh) | 一种建立ssl连接的控制方法、装置、设备及介质 | |
| CN115348310A (zh) | 反向代理方法、装置、系统、电子设备及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20798533 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 20798533 Country of ref document: EP Kind code of ref document: A1 |