CN108200104A - 一种进行ssl握手的方法和*** - Google Patents
一种进行ssl握手的方法和*** Download PDFInfo
- Publication number
- CN108200104A CN108200104A CN201810247194.3A CN201810247194A CN108200104A CN 108200104 A CN108200104 A CN 108200104A CN 201810247194 A CN201810247194 A CN 201810247194A CN 108200104 A CN108200104 A CN 108200104A
- Authority
- CN
- China
- Prior art keywords
- target
- private key
- server
- cdn node
- service server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0464—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0478—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3249—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/062—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
-
- 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/01—Protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种进行SSL握手的方法和***,属于无线通信技术领域。所述方法包括:在与目标终端进行SSL握手的过程中,目标CDN节点确定所述目标终端访问的目标业务服务器,并获取需要私钥处理的待处理信息;所述目标CDN节点向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述待处理信息和目标私钥处理类型信息;所述私钥服务器基于所述目标私钥处理类型信息和所述目标业务服务器的私钥处理所述待处理信息,并将处理结果发送给所述目标CDN节点,以使所述目标CDN节点根据所述处理结果与所述目标终端继续进行SSL握手。采用本发明,可以保证私钥的安全性,以及业务服务和CDN服务的服务质量。
Description
技术领域
本发明涉及无线通信技术领域,特别涉及一种进行SSL握手的方法和***。
背景技术
随着互联网的快速发展,人们对于网络传输安全性的要求也越来越高,HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer,基于安全套接层的超文本传输协议)协议因此出现,HTTPS协议可以认为是HTTP(Hyper TextTransfer Protocol,超文本传输协议)协议和SSL/TLS(Secure SocketsLayer/Transport Layer Security,安全套接层/传输层安全)协议的组合。其中,SSL/TLS协议作用在HTTP协议之下,用于对传输的数据进行加密处理,以保证数据在网络上传输的过程中不会被截取或窃听。
每个业务服务器上可以预先配置有SSL证书,SSL证书是由受信任的数字证书颁发机构CA(Certification Authority,电子认证机构),在验证业务服务器的身份后颁发给业务服务器的,具有服务器身份验证和数据加密功能,每个SSL证书都包括一个公钥和一个私钥。当终端通过HTTPS协议访问业务服务器时,需要先与业务服务器进行SSL握手,而在SSL握手过程中,终端和业务服务器需要协商使用的加密算法,如果加密算法是RSA算法,则业务服务器需要使用SSL证书的私钥对加密后的预主密码进行解密,如果加密算法是DH算法,则业务服务器需要使用SSL证书的私钥对DH参数进行签名。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
在CDN(Content Delivery Network,内容分发网络)服务架构下,终端往往从CDN节点获取数据,故而终端需要和CDN节点进行SSL握手。然而,一方面,由于保密需要,一些业务服务器无法将私钥提供给外界,这些业务服务器则无法使用CDN服务,另一方面,SSL握手中的私钥处理需要消耗较大的CPU处理资源,尤其在SSL握手的并发量较大的情况下,CDN节点提供的CDN服务可能会受到较大影响。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种进行SSL握手的方法和***。所述技术方案如下:
第一方面,提供了一种进行SSL握手的方法,所述方法包括:
在与目标终端进行SSL握手的过程中,目标CDN节点确定所述目标终端访问的目标业务服务器,并获取需要私钥处理的待处理信息;
所述目标CDN节点向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述待处理信息和目标私钥处理类型信息;
所述私钥服务器基于所述目标私钥处理类型信息和所述目标业务服务器的私钥处理所述待处理信息,并将处理结果发送给所述目标CDN节点,以使所述目标CDN节点根据所述处理结果与所述目标终端继续进行SSL握手。
可选的,所述在与目标终端进行SSL握手的过程中,目标CDN节点确定所述目标终端访问的目标业务服务器,并获取需要私钥处理的待处理信息,包括:
在与目标终端进行TLS1.2协议下的RSA握手的过程中,目标CDN节点根据所述目标终端发送的Client Hello消息中携带的服务器标识确定所述目标终端访问的目标业务服务器,并获取所述目标终端发送的Client Key Exchange消息中携带的加密后的所述目标终端生成的预主密钥;
所述目标CDN节点向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述待处理信息和目标私钥处理类型,包括:
所述目标CDN节点向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有加密后的预主密钥和与所述目标终端协商的目标解密算法的算法标识;
所述私钥服务器基于所述目标私钥处理类型和所述目标业务服务器的私钥处理所述待处理信息,并将处理结果发送给所述目标CDN节点,以使所述目标CDN节点根据所述处理结果与所述目标终端继续进行SSL握手,包括:
所述私钥服务器按照所述目标解密算法,使用所述目标业务服务器的私钥对所述加密后的预主密钥进行解密,并将解密得到的预主密钥发送给所述目标CDN节点,以使所述目标CDN节点根据所述解密得到的预主密钥与所述目标终端继续进行SSL握手。
可选的,所述在与目标终端进行SSL握手的过程中,目标CDN节点确定所述目标终端访问的目标业务服务器,并获取需要私钥处理的待处理信息,包括:
在与目标终端进行TLS1.2协议下的DH握手的过程中,目标CDN节点根据所述目标终端发送的Client Hello消息中携带的服务器标识确定所述目标终端访问的目标业务服务器,并获取本地生成的DH参数;
所述目标CDN节点向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述待处理信息和目标私钥处理类型信息,包括:
所述目标CDN节点向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述DH参数和与所述目标终端协商的第一签名算法的算法标识;
所述私钥服务器基于所述目标私钥处理类型信息和所述目标业务服务器的私钥处理所述待处理信息,并将处理结果发送给所述目标CDN节点,以使所述目标CDN节点根据所述处理结果与所述目标终端继续进行SSL握手,包括:
所述私钥服务器按照所述第一签名算法,使用所述目标业务服务器的私钥对所述DH参数进行签名,并将签名后的DH参数发送给所述目标CDN节点,以使所述目标CDN节点根据所述签名后的DH参数与所述目标终端继续进行SSL握手。
可选的,所述在与目标终端进行SSL握手的过程中,目标CDN节点确定所述目标终端访问的目标业务服务器,并获取需要私钥处理的待处理信息,包括:
在与目标终端进行TLS1.3协议下的DH握手的过程中,目标CDN节点根据所述目标终端发送的Client Hello消息中携带的服务器标识确定所述目标终端访问的目标业务服务器,并获取本地生成的hash参数,所述hash参数基于和所述目标终端交互的握手数据包和所述目标业务服务器的SSL证书生成;
所述目标CDN节点向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述待处理信息和目标私钥处理类型信息,包括:
所述目标CDN节点向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述hash参数和与所述目标终端协商的第二签名算法的算法标识;
所述私钥服务器基于所述目标私钥处理类型信息和所述目标业务服务器的私钥处理所述待处理信息,并将处理结果发送给所述目标CDN节点,以使所述目标CDN节点根据所述处理结果与所述目标终端继续进行SSL握手,包括:
所述私钥服务器按照所述第二签名算法,使用所述目标业务服务器的私钥对所述hash参数进行签名,并将签名后的hash参数发送给所述目标CDN节点,以使所述目标CDN节点根据所述签名后的hash参数与所述目标终端继续进行SSL握手。
可选的,所述私钥处理请求中还携带有所述目标业务服务器的SSL证书标识;
所述私钥服务器基于所述目标私钥处理类型信息和所述目标业务服务器的私钥处理所述待处理信息之前,还包括:
所述私钥服务器在本地存储的私钥列表中查找所述目标业务服务器的SSL证书标识对应的所述目标业务服务器的私钥。
可选的,所述私钥处理请求为http1.0或http2.0请求。
可选的,所述目标CDN节点向所述目标业务服务器对应的私钥服务器发送私钥处理请求,包括:
所述目标CDN节点确定指向所述目标业务服务器对应私钥服务器的下一跳CDN节点;
所述目标CDN节点与所述下一跳CDN节点建立SSL双向认证通道,通过所述SSL双向认证通道向所述下一跳CDN节点发送私钥处理请求,以使所述下一跳CDN节点向所述私钥服务器发送私钥处理请求。
可选的,所述私钥服务器部署在CDN服务集群中或所述目标业务服务器侧。
第二方面,提供了一种进行SSL握手的***,所述***包括CDN节点和私钥服务器,其中:
目标CDN节点,用于在与目标终端进行SSL握手的过程中,确定所述目标终端访问的目标业务服务器,并获取需要私钥处理的待处理信息,向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述待处理信息和目标私钥处理类型信息;
所述私钥服务器,用于基于所述目标私钥处理类型信息和所述目标业务服务器的私钥处理所述待处理信息,并将处理结果发送给所述目标CDN节点,以使所述目标CDN节点根据所述处理结果与所述目标终端继续进行SSL握手。
可选的,所述目标CDN节点,具体用于:
在与目标终端进行TLS1.2协议下的RSA握手的过程中,根据所述目标终端发送的Client Hello消息中携带的服务器标识确定所述目标终端访问的目标业务服务器,并获取所述目标终端发送的Client Key Exchange消息中携带的加密后的所述目标终端生成的预主密钥,向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有加密后的预主密钥和与所述目标终端协商的目标解密算法的算法标识;
所述私钥服务器,具体用于:
按照所述目标解密算法,使用所述目标业务服务器的私钥对所述加密后的预主密钥进行解密,并将解密得到的预主密钥发送给所述目标CDN节点,以使所述目标CDN节点根据所述解密得到的预主密钥与所述目标终端继续进行SSL握手。
可选的,所述目标CDN节点,具体用于:
在与目标终端进行TLS1.2协议下的DH握手的过程中,根据所述目标终端发送的Client Hello消息中携带的服务器标识确定所述目标终端访问的目标业务服务器,并获取本地生成的DH参数,向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述DH参数和与所述目标终端协商的第一签名算法的算法标识;
所述私钥服务器,具体用于:
按照所述第一签名算法,使用所述目标业务服务器的私钥对所述DH参数进行签名,并将签名后的DH参数发送给所述目标CDN节点,以使所述目标CDN节点根据所述签名后的DH参数与所述目标终端继续进行SSL握手。
可选的,所述目标CDN节点,具体用于:
在与目标终端进行TLS1.3协议下的DH握手的过程中,根据所述目标终端发送的Client Hello消息中携带的服务器标识确定所述目标终端访问的目标业务服务器,并获取本地生成的hash参数,所述hash参数基于和所述目标终端交互的握手数据包和所述目标业务服务器的SSL证书生成;向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述hash参数和与所述目标终端协商的第二签名算法的算法标识;
所述私钥服务器,具体用于:
按照所述第二签名算法,使用所述目标业务服务器的私钥对所述hash参数进行签名,并将签名后的hash参数发送给所述目标CDN节点,以使所述目标CDN节点根据所述签名后的hash参数与所述目标终端继续进行SSL握手。
可选的,所述私钥处理请求中还携带有所述目标业务服务器的SSL证书标识;
所述私钥服务器,还用于:
在本地存储的私钥列表中查找所述目标业务服务器的SSL证书标识对应的所述目标业务服务器的私钥。
可选的,所述私钥处理请求为http1.0或http2.0请求。
可选的,所述目标CDN节点,具体用于:
确定指向所述目标业务服务器对应私钥服务器的下一跳CDN节点,与所述下一跳CDN节点建立SSL双向认证通道,通过所述SSL双向认证通道向所述下一跳CDN节点发送私钥处理请求,以使所述下一跳CDN节点向所述私钥服务器发送私钥处理请求。
可选的,所述私钥服务器部署在CDN服务集群中或所述目标业务服务器侧。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,在与目标终端进行SSL握手的过程中,目标CDN节点确定目标终端访问的目标业务服务器,并获取需要私钥处理的待处理信息;目标CDN节点向目标业务服务器对应的私钥服务器发送私钥处理请求,私钥处理请求携带有待处理信息和目标私钥处理类型信息;私钥服务器基于目标私钥处理类型信息和目标业务服务器的私钥处理待处理信息,并将处理结果发送给目标CDN节点,以使目标CDN节点根据处理结果与目标终端继续进行SSL握手。这样,通过架设私钥服务器,业务服务器无需将私钥提供给将外界,保证了私钥的安全性,同时,将私钥处理交由私钥服务器完成,节省了CDN节点和业务服务器的CPU处理资源,保证了CDN服务和业务服务的服务质量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种进行SSL握手的网络框架示意图;
图2是本发明实施例提供的一种进行SSL握手的方法流程图;
图3是本发明实施例提供的一种TLS1.2协议下的RSA握手的方法流程图;
图4是本发明实施例提供的一种TLS1.2RSA握手信令图;
图5是本发明实施例提供的一种TLS1.2协议下的DH握手的方法流程图;
图6是本发明实施例提供的一种TLS1.2DH握手信令图;
图7是本发明实施例提供的一种TLS1.3协议下的DH握手的方法流程图;
图8是本发明实施例提供的一种TLS1.3DH握手信令图;
图9是本发明实施例提供的一种进行SSL握手的网络框架示意图;
图10是本发明实施例提供的一种进行SSL握手的网络框架示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种进行SSL握手的方法,该方法可以由CDN节点服务器(以下简称为CDN节点)和私钥服务器共同实现,其中,CDN节点可以是CDN服务集群中用于接收用户终端的数据请求的任意节点服务器,CDN节点中可以存储有业务服务器提供的业务数据(如网页数据、资源文件等),同时还可以保存有业务服务器的SSL证书及相应的公钥。私钥服务器可以是部署在业务服务器侧的,用于存储业务服务器的私钥,并提供私钥处理功能的服务器,上述场景的网络框架可以如图1所示。上述CDN节点和私钥服务器中均可以包括处理器、存储器、收发器,处理器可以用于进行下述流程中的进行SSL握手的处理,存储器可以用于存储下述处理过程中需要的数据以及产生的数据,收发器可以用于接收和发送下述处理过程中的相关数据。
下面将结合具体实施方式,对图2所示的处理流程进行详细的说明,内容可以如下:
步骤201,在与目标终端进行SSL握手的过程中,目标CDN节点确定目标终端访问的目标业务服务器,并获取需要私钥处理的待处理信息。
在实施中,当用户想要通过终端访问某个网站或者获取某个数据资源时,用户可以通过终端发送相应的业务服务器(下面以目标业务服务器为例进行说明)的访问请求。CDN服务集群可以接收到该访问请求,然后选择一个CDN节点(如目标CDN节点)为终端提供业务服务,进而,CDN服务集群可以向终端反馈目标CDN节点的IP(Internet Protocol,网络协议)地址。之后,终端可以基于目标CDN节点的IP地址,先与目标CDN节点建立TCP(TransmissionControl Protocol,传输控制协议)连接,再基于TCP连接与目标CDN节点进行SSL握手。
目标CDN节点在与目标终端进行SSL握手的过程中,可以通过目标终端发送的Client Hello消息中携带的服务器标识确定目标终端想要访问的目标业务服务器,该服务器标识可以是服务器的域名信息或者IP地址。同时,目标CDN节点可以获取需要私钥处理的待处理信息。
步骤202,目标CDN节点向目标业务服务器对应的私钥服务器发送私钥处理请求。
其中,私钥处理请求携带有待处理信息和目标私钥处理类型信息。
在实施中,目标CDN节点在获取到需要私钥处理的待处理信息后,可以先确定目标业务服务器对应的私钥服务器的IP地址,然后基于IP地址以私钥处理请求的形式向私钥服务器发送上述待处理信息,并指示相应的私钥处理类型(即同时携带目标私钥处理类型信息)。
可选的,私钥处理请求可以采用http1.0或http2.0请求。
在实施中,目标CDN节点在获取到待处理信息后,可以构造为http1.0或http2.0请求,在该http1.0或http2.0请求中添加待处理信息和目标私钥处理类型信息,之后则可以向私钥服务器发送http1.0或http2.0请求。需要说明的是,如果私钥处理请求采用了http2.0请求,则可以利用http2.0请求的多路复用特性,减少在传输过程中目标CDN节点和其它网络设备间的连接数,同时也可以通过http2.0请求的头部压缩功能来减少数据传输量。
可选的,私钥处理请求可以通过CDN网络来传输,使用CDN节点的智能路由选择功能来加速私钥处理请求的传输,相应的,步骤202的处理可以如下:目标CDN节点确定指向目标业务服务器对应私钥服务器的下一跳CDN节点;目标CDN节点与下一跳CDN节点建立SSL双向认证通道,通过SSL双向认证通道向下一跳CDN节点发送私钥处理请求,以使下一跳CDN节点向私钥服务器发送私钥处理请求。
在实施中,目标CDN节点在向私钥服务器发送私钥处理请求时,可以先根据CDN服务集群中节点间的网络状况,进行智能路由选择,确定出指向私钥服务器的下一跳CDN节点。之后,目标CDN节点可以与选择出的下一跳CDN节点建立SSL双向认证通道,并通过该SSL双向认证通道向下一跳CDN节点发送私钥处理请求。进而,后续CDN节点(包括上述下一跳CDN节点)可以参照上述处理,各自通过智能路由选择出的下一跳CDN节点发送私钥处理请求,直至私钥处理请求到达私钥服务器。这样,一方面,可以通过CDN服务集群加速私钥处理请求的传输,另一方面,通过SSL双向认证通道,可以防止私钥服务器提供的服务被不可信的网络设备调用,或者私钥服务器被不可信的网络设备冒充。
步骤203,私钥服务器基于目标私钥处理类型信息和目标业务服务器的私钥处理待处理信息,并将处理结果发送给目标CDN节点,以使目标CDN节点根据处理结果与目标终端继续进行SSL握手。
在实施中,私钥服务器可以接收到目标CDN节点发送的私钥处理请求,提取其中携带的待处理信息和目标私钥处理类型信息。之后,私钥服务器可以读取本地存储的目标业务服务器的私钥,然后基于目标私钥处理类型信息使用私钥对待处理信息进行处理。进而,私钥服务器可以将处理结果反馈给目标CDN节点。这样,目标CDN节点可以在接收到上述处理结果后,根据该处理结果继续与目标终端进行SSL握手。需要说明的是,基于上述CDN服务集群以及SSL双向认证通道传输私钥处理请求的处理,本步骤中私钥服务器可以通过智能路由选择出的路径,基于已建立好的SSL双向认证通道,将处理结果返回至目标CDN节点。
可选的,私钥服务器中可以存储有多台业务服务器的私钥,故而,私钥处理请求中还可以携带有目标业务服务器的SSL证书标识,相应的,步骤203之前还可以有如下处理:私钥服务器在本地存储的私钥列表中查找目标业务服务器的SSL证书标识对应的目标业务服务器的私钥。
在实施中,私钥服务器可以提供给多台业务服务器进行私钥处理,故而,私钥服务器中可以维护有私钥列表,该私钥列表中记录了多条业务服务器的SSL证书标识和业务服务器的私钥的对应关系。这样,私钥服务器在接收到目标CDN节点发送的私钥处理请求后,可以获取其中携带的目标业务服务器的SSL证书标识。进一步的,私钥服务器可以在本地存储的私钥列表中查找目标业务服务器的SSL证书标识对应的目标业务服务器的私钥。
下面将结合不同版本的握手流程,对上述步骤201至步骤203的处理进行具体说明:
一、TLS1.2协议下的RSA握手,如图3所示:
步骤301,在与目标终端进行TLS1.2协议下的RSA握手的过程中,目标CDN节点根据目标终端发送的Client Hello消息中携带的服务器标识确定目标终端访问的目标业务服务器,并获取目标终端发送的Client Key Exchange消息中携带的加密后的目标终端生成的预主密钥。
步骤302,目标CDN节点向目标业务服务器对应的私钥服务器发送私钥处理请求。
其中,私钥处理请求携带有加密后的预主密钥和与目标终端协商的目标解密算法的算法标识。
步骤303,私钥服务器按照目标解密算法,使用目标业务服务器的私钥对加密后的预主密钥进行解密,并将解密得到的预主密钥发送给目标CDN节点,以使目标CDN节点根据解密得到的预主密钥与目标终端继续进行SSL握手。
在实施中,图4为TLS1.2RSA握手信令图,详细内容可以如下:
1、目标终端发送Client Hello消息给目标CDN节点,Client Hello消息中携带有终端支持的SSL协议版本、算法套件列表、SSL扩展数据(包含有目标业务服务器的服务器标识)以及Client随机数;
2、目标CDN节点收到Client Hello消息后,确定根据Client Hello消息中携带的服务器标识确定目标终端访问的目标业务服务器;
3、目标CDN节点向目标终端返回Server Hello消息,Server Hello消息携带有选择的SSL协议版本(此处为TLS1.2),选择的算法套件(包含目标解密算法和会话密钥的生成算法),Server随机数;
4、目标CDN节点向目标终端发送Certificate消息,Certificate消息携带有目标业务服务器的SSL证书以及相应的证书链(用于验证SSL证书的身份),SSL证书里包含有公钥;
5、目标CDN节点向目标终端发送Server Hello Done消息,指示本端处理结束等待对端响应;
6、目标终端生成预主密钥,使用公钥对预主密钥进行加密;
7、目标终端向目标CDN节点发送Client Key Exchange消息,Client KeyExchange消息携带有加密后的预主密钥;
8、目标终端基于选择的会话密钥的生成算法将预主密钥与server随机数、client随机数共同作用生成会话密钥;
9、目标终端向目标CDN节点发送Change Cipher Spec消息,再发送Finished消息。
10、目标CDN节点收到Client Key Exchange消息后,获取Client KeyExchange消息中携带的加密后的预主密钥;
11、目标CDN节点通过CDN网络向目标业务服务器对应的私钥服务器发送私钥处理请求,私钥处理请求携带有加密后的预主密钥和目标解密算法的算法标识;
12、私钥服务器按照目标解密算法,使用目标业务服务器的私钥对加密后的预主密钥进行解密;
13、私钥服务器将解密得到的预主密钥发送给目标CDN节点;
14、目标CDN节点获取预主密钥,基于选择的会话密钥的生成算法将预主密钥与server随机数、client随机数共同作用生成会话密钥;
15、目标CDN节点向目标终端发送Change Cipher Spec,表明密钥协商完毕,后面的消息将使用会话密钥进行加密;
16、目标CDN节点向目标终端发送Finished消息,完成与目标终端的SSL握手。
需要说明的是,上述处理同样适用于包括SSL3、TLS1.0和TLS1.1协议下的RSA握手流程。
二、TLS1.2协议下的DH握手,如图5所示:
步骤501,在与目标终端进行TLS1.2协议下的DH握手的过程中,目标CDN节点根据目标终端发送的Client Hello消息中携带的服务器标识确定目标终端访问的目标业务服务器,并获取本地生成的DH参数。
步骤502,目标CDN节点向目标业务服务器对应的私钥服务器发送私钥处理请求。
其中,私钥处理请求携带有DH参数和与目标终端协商的第一签名算法的算法标识。
步骤503,私钥服务器按照第一签名算法,使用目标业务服务器的私钥对DH参数进行签名,并将签名后的DH参数发送给目标CDN节点,以使目标CDN节点根据签名后的DH参数与目标终端继续进行SSL握手。
在实施中,图6为TLS1.2DH握手信令图,详细内容可以如下:
1、目标终端发送Client Hello消息给目标CDN节点,Client Hello消息中携带有终端支持的SSL协议版本、算法套件列表、SSL扩展数据(包含有目标业务服务器的服务器标识)以及Client随机数;
2、目标CDN节点收到Client Hello消息后,确定根据Client Hello消息中携带的服务器标识确定目标终端访问的目标业务服务器;
3、目标CDN节点向目标终端返回Server Hello消息,Server Hello消息携带有选择的SSL协议版本(此处为TLS1.2),选择的算法套件(包含第一签名算法和会话密钥的生成算法),Server随机数;
4、目标CDN节点向目标终端发送Certificate消息,Certificate消息携带有目标业务服务器的SSL证书以及相应的证书链(用于验证SSL证书的身份),SSL证书里包含有公钥;
5、目标CDN节点生成DH参数;
6、目标CDN节点通过CDN网络向目标业务服务器对应的私钥服务器发送私钥处理请求,私钥处理请求携带有DH参数和第一签名算法的算法标识;
7、私钥服务器按照第一签名算法,使用目标业务服务器的私钥对DH参数进行签名;
8、私钥服务器将签名后的DH参数发送给目标CDN节点;
9、目标CDN节点获取签名后的DH参数,向目标终端发送Server KeyExchange消息,Server Key Exchange消息携带有签名后的DH参数;
10、目标CDN节点向目标终端发送Server Hello Done消息,指示本端处理结束等待对端响应;
11、目标终端收到Server Key Exchange消息后,获取Server Key Exchange消息携带的签名后的DH参数;
12、目标终端使用公钥对签名后的DH参数进行验签,生成Client DH参数;
13、目标终端向目标CDN节点发送Client Key Exchange消息,ClientKeyExchange消息携带有Client DH参数;
14、目标终端基于选择的会话密钥的生成算法将Client DH参数与server随机数、client随机数共同作用生成会话密钥;
15、目标终端向目标CDN节点发送Change Cipher Spec消息,再发送Finished消息。
16、目标CDN节点收到Client Key Exchange消息后,获取Client KeyExchange消息中携带的Client DH参数;
17、目标CDN节点基于选择的会话密钥的生成算法将Client DH参数与server随机数、client随机数共同作用生成会话密钥;
18、目标CDN节点向目标终端发送Change Cipher Spec,表明密钥协商完毕,后面的消息将使用会话密钥进行加密;
19、目标CDN节点向目标终端发送Finished消息,完成与目标终端的SSL握手。
需要说明的是,上述处理同样适用于包括SSL3、TLS1.0和TLS1.1协议下的DH握手流程。
三、TLS1.3协议下的DH握手,如图7所示:
步骤701,在与目标终端进行TLS1.3协议下的DH握手的过程中,目标CDN节点根据目标终端发送的Client Hello消息中携带的服务器标识确定目标终端访问的目标业务服务器,并获取本地生成的hash参数。
其中,hash参数基于和目标终端交互的握手数据包和目标业务服务器的SSL证书生成。
步骤702,目标CDN节点向目标业务服务器对应的私钥服务器发送私钥处理请求。
其中,私钥处理请求携带有hash参数和与目标终端协商的第二签名算法的算法标识。
步骤703,私钥服务器按照第二签名算法,使用目标业务服务器的私钥对hash参数进行签名,并将签名后的hash参数发送给目标CDN节点,以使目标CDN节点根据签名后的hash参数与目标终端继续进行SSL握手。
在实施中,图8为TLS1.3DH握手信令图,详细内容可以如下:
1、目标终端发送Client Hello消息给目标CDN节点,Client Hello消息中携带有终端支持的SSL协议版本、算法套件列表、SSL扩展数据(包含有目标业务服务器的服务器标识)、key_share扩展数据(包含有终端支持的DH类别和DH参数)以及Client随机数;
2、目标CDN节点收到Client Hello消息后,确定根据Client Hello消息中携带的服务器标识确定目标终端访问的目标业务服务器;
3、目标CDN节点向目标终端返回Server Hello消息,Server Hello消息携带有选择的SSL协议版本(此处为TLS1.3),选择的算法套件(包含第二签名算法和会话密钥的生成算法),key_share扩展数据(包含有选择的DH类别和DH参数)以及Server随机数;
4、目标CDN节点向目标终端发送Certificate消息,Certificate消息携带有目标业务服务器的SSL证书以及相应的证书链(用于验证SSL证书的身份),SSL证书里包含有公钥;
5、目标CDN节点基于和目标终端交互的握手数据包和目标业务服务器的SSL证书生成hash参数;
6、目标CDN节点通过CDN网络向目标业务服务器对应的私钥服务器发送私钥处理请求,私钥处理请求携带有hash参数和第二签名算法的算法标识;
7、私钥服务器按照第二签名算法,使用目标业务服务器的私钥对hash参数进行签名;
8、私钥服务器将签名后的hash参数发送给目标CDN节点;
9、目标CDN节点获取签名后的hash参数,向目标终端发送Certificate Verify消息,Certificate Verify消息携带有签名后的hash参数;
10、目标CDN节点基于选择的会话密钥的生成算法将选择的DH类别和DH参数与server随机数、client随机数共同作用生成会话密钥;
11、目标CDN节点向目标终端发送Finished消息;
12、目标终端收到Certificate Verify消息后,获取Certificate Verify消息携带的签名后的hash参数;
13、目标终端使用公钥对签名后的hash参数进行验签;
14、目标终端基于选择的会话密钥的生成算法将选择的DH类别和DH参数与server随机数、client随机数共同作用生成会话密钥;
15、目标终端向目标CDN节点发送Finished消息,完成与目标终端的SSL握手。
本发明实施例中,在与目标终端进行SSL握手的过程中,目标CDN节点确定目标终端访问的目标业务服务器,并获取需要私钥处理的待处理信息;目标CDN节点向目标业务服务器对应的私钥服务器发送私钥处理请求,私钥处理请求携带有待处理信息和目标私钥处理类型信息;私钥服务器基于目标私钥处理类型信息和目标业务服务器的私钥处理待处理信息,并将处理结果发送给目标CDN节点,以使目标CDN节点根据处理结果与目标终端继续进行SSL握手。这样,通过架设私钥服务器,业务服务器无需将私钥提供给将外界,保证了私钥的安全性,同时,将私钥处理交由私钥服务器完成,节省了CDN节点和业务服务器的CPU处理资源,保证了CDN服务和业务服务的服务质量。
在另一实施例下,私钥服务器可以是部署在CDN服务集群中的,用于存储业务服务器的私钥,并提供私钥处理功能的服务器,具体的网络框架可以如图9所示。由于SSL握手中的私钥处理需要消耗较大的CPU处理资源,尤其在SSL握手的并发量较大的情况下,CDN节点提供的CDN服务可能会受到较大影响,CDN服务集群中可以搭建有私钥处理集群,该私钥处理集群包含有大量私钥服务器,私钥服务器中可以存储有多个业务服务器的私钥。这样,在与目标终端进行SSL握手的过程中,目标CDN节点可以先确定目标终端访问的目标业务服务器,并获取需要私钥处理的待处理信息,然后可以在私钥处理集群中确定存储有目标业务服务器的私钥的目标私钥服务器,再向目标私钥服务器发送私钥处理请求,私钥处理请求可以携带有待处理信息和目标私钥处理类型信息,进而目标私钥服务器可以基于目标私钥处理类型信息和目标业务服务器的私钥处理待处理信息,并将处理结果发送给目标CDN节点,以使目标CDN节点根据处理结果与目标终端继续进行SSL握手。
在又一实施例下,除了设置私钥服务器之外,CDN节点中可以同样存储有业务服务器的私钥,具体的网络框架可以如图10所示。在与终端进行SSL握手的过程中,CDN节点通过CDN网络向私钥服务器发送私钥处理请求后,如果在预设时间内未接收到私钥服务器反馈的处理结果,CDN节点则可以使用本地存储的私钥进行私钥处理。进一步的,如果连续多次向私钥服务器发送私钥处理请求后均未得到回应,CDN节点则可以在后续预设时长内的SSL握手过程中,直接使用本地存储的私钥进行私钥处理。另外,在向私钥服务器发送私钥处理请求之前,CDN节点还可以检测本地的当前负载,如果当前负载大于预设阈值,则向私钥服务器发送私钥处理请求,如果当前负载小于预设阈值,则可以使用本地存储的私钥进行私钥处理。
上述私钥服务器中均可以采用SSL加速卡来执行相关私钥处理,SSL加速卡提供接口,私钥服务器调用该接口时,可以将私钥和待处理信息作为接口参数传递给SSL加速卡。
基于相同的技术构思,本发明实施例还提供了一种进行SSL握手的***,所述***包括CDN节点和私钥服务器,其中:
目标CDN节点,用于在与目标终端进行SSL握手的过程中,确定所述目标终端访问的目标业务服务器,并获取需要私钥处理的待处理信息,向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述待处理信息和目标私钥处理类型信息;
所述私钥服务器,用于基于所述目标私钥处理类型信息和所述目标业务服务器的私钥处理所述待处理信息,并将处理结果发送给所述目标CDN节点,以使所述目标CDN节点根据所述处理结果与所述目标终端继续进行SSL握手。
可选的,所述目标CDN节点,具体用于:
在与目标终端进行TLS1.2协议下的RSA握手的过程中,根据所述目标终端发送的Client Hello消息中携带的服务器标识确定所述目标终端访问的目标业务服务器,并获取所述目标终端发送的Client Key Exchange消息中携带的加密后的所述目标终端生成的预主密钥,向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有加密后的预主密钥和与所述目标终端协商的目标解密算法的算法标识;
所述私钥服务器,具体用于:
按照所述目标解密算法,使用所述目标业务服务器的私钥对所述加密后的预主密钥进行解密,并将解密得到的预主密钥发送给所述目标CDN节点,以使所述目标CDN节点根据所述解密得到的预主密钥与所述目标终端继续进行SSL握手。
可选的,所述目标CDN节点,具体用于:
在与目标终端进行TLS1.2协议下的DH握手的过程中,根据所述目标终端发送的Client Hello消息中携带的服务器标识确定所述目标终端访问的目标业务服务器,并获取本地生成的DH参数,向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述DH参数和与所述目标终端协商的第一签名算法的算法标识;
所述私钥服务器,具体用于:
按照所述第一签名算法,使用所述目标业务服务器的私钥对所述DH参数进行签名,并将签名后的DH参数发送给所述目标CDN节点,以使所述目标CDN节点根据所述签名后的DH参数与所述目标终端继续进行SSL握手。
可选的,所述目标CDN节点,具体用于:
在与目标终端进行TLS1.3协议下的DH握手的过程中,根据所述目标终端发送的Client Hello消息中携带的服务器标识确定所述目标终端访问的目标业务服务器,并获取本地生成的hash参数,所述hash参数基于和所述目标终端交互的握手数据包和所述目标业务服务器的SSL证书生成;向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述hash参数和与所述目标终端协商的第二签名算法的算法标识;
所述私钥服务器,具体用于:
按照所述第二签名算法,使用所述目标业务服务器的私钥对所述hash参数进行签名,并将签名后的hash参数发送给所述目标CDN节点,以使所述目标CDN节点根据所述签名后的hash参数与所述目标终端继续进行SSL握手。
可选的,所述私钥处理请求中还携带有所述目标业务服务器的SSL证书标识;
所述私钥服务器,还用于:
在本地存储的私钥列表中查找所述目标业务服务器的SSL证书标识对应的所述目标业务服务器的私钥。
可选的,所述私钥处理请求为http1.0或http2.0请求。
可选的,所述目标CDN节点,具体用于:
确定指向所述目标业务服务器对应私钥服务器的下一跳CDN节点,与所述下一跳CDN节点建立SSL双向认证通道,通过所述SSL双向认证通道向所述下一跳CDN节点发送私钥处理请求,以使所述下一跳CDN节点向所述私钥服务器发送私钥处理请求。
可选的,所述私钥服务器部署在CDN服务集群中或所述目标业务服务器侧。
本发明实施例中,在与目标终端进行SSL握手的过程中,目标CDN节点确定目标终端访问的目标业务服务器,并获取需要私钥处理的待处理信息;目标CDN节点向目标业务服务器对应的私钥服务器发送私钥处理请求,私钥处理请求携带有待处理信息和目标私钥处理类型信息;私钥服务器基于目标私钥处理类型信息和目标业务服务器的私钥处理待处理信息,并将处理结果发送给目标CDN节点,以使目标CDN节点根据处理结果与目标终端继续进行SSL握手。这样,通过架设私钥服务器,业务服务器无需将私钥提供给将外界,保证了私钥的安全性,同时,将私钥处理交由私钥服务器完成,节省了CDN节点和业务服务器的CPU处理资源,保证了CDN服务和业务服务的服务质量。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种进行SSL握手的方法,其特征在于,所述方法包括:
在与目标终端进行SSL握手的过程中,目标CDN节点确定所述目标终端访问的目标业务服务器,并获取需要私钥处理的待处理信息;
所述目标CDN节点向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述待处理信息和目标私钥处理类型信息;
所述私钥服务器基于所述目标私钥处理类型信息和所述目标业务服务器的私钥处理所述待处理信息,并将处理结果发送给所述目标CDN节点,以使所述目标CDN节点根据所述处理结果与所述目标终端继续进行SSL握手。
2.根据权利要求1所述的方法,其特征在于,所述在与目标终端进行SSL握手的过程中,目标CDN节点确定所述目标终端访问的目标业务服务器,并获取需要私钥处理的待处理信息,包括:
在与目标终端进行TLS1.2协议下的RSA握手的过程中,目标CDN节点根据所述目标终端发送的Client Hello消息中携带的服务器标识确定所述目标终端访问的目标业务服务器,并获取所述目标终端发送的Client Key Exchange消息中携带的加密后的所述目标终端生成的预主密钥;
所述目标CDN节点向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述待处理信息和目标私钥处理类型,包括:
所述目标CDN节点向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有加密后的预主密钥和与所述目标终端协商的目标解密算法的算法标识;
所述私钥服务器基于所述目标私钥处理类型和所述目标业务服务器的私钥处理所述待处理信息,并将处理结果发送给所述目标CDN节点,以使所述目标CDN节点根据所述处理结果与所述目标终端继续进行SSL握手,包括:
所述私钥服务器按照所述目标解密算法,使用所述目标业务服务器的私钥对所述加密后的预主密钥进行解密,并将解密得到的预主密钥发送给所述目标CDN节点,以使所述目标CDN节点根据所述解密得到的预主密钥与所述目标终端继续进行SSL握手。
3.根据权利要求1所述的方法,其特征在于,所述在与目标终端进行SSL握手的过程中,目标CDN节点确定所述目标终端访问的目标业务服务器,并获取需要私钥处理的待处理信息,包括:
在与目标终端进行TLS1.2协议下的DH握手的过程中,目标CDN节点根据所述目标终端发送的Client Hello消息中携带的服务器标识确定所述目标终端访问的目标业务服务器,并获取本地生成的DH参数;
所述目标CDN节点向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述待处理信息和目标私钥处理类型信息,包括:
所述目标CDN节点向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述DH参数和与所述目标终端协商的第一签名算法的算法标识;
所述私钥服务器基于所述目标私钥处理类型信息和所述目标业务服务器的私钥处理所述待处理信息,并将处理结果发送给所述目标CDN节点,以使所述目标CDN节点根据所述处理结果与所述目标终端继续进行SSL握手,包括:
所述私钥服务器按照所述第一签名算法,使用所述目标业务服务器的私钥对所述DH参数进行签名,并将签名后的DH参数发送给所述目标CDN节点,以使所述目标CDN节点根据所述签名后的DH参数与所述目标终端继续进行SSL握手。
4.根据权利要求1所述的方法,其特征在于,所述在与目标终端进行SSL握手的过程中,目标CDN节点确定所述目标终端访问的目标业务服务器,并获取需要私钥处理的待处理信息,包括:
在与目标终端进行TLS1.3协议下的DH握手的过程中,目标CDN节点根据所述目标终端发送的Client Hello消息中携带的服务器标识确定所述目标终端访问的目标业务服务器,并获取本地生成的hash参数,所述hash参数基于和所述目标终端交互的握手数据包和所述目标业务服务器的SSL证书生成;
所述目标CDN节点向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述待处理信息和目标私钥处理类型信息,包括:
所述目标CDN节点向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述hash参数和与所述目标终端协商的第二签名算法的算法标识;
所述私钥服务器基于所述目标私钥处理类型信息和所述目标业务服务器的私钥处理所述待处理信息,并将处理结果发送给所述目标CDN节点,以使所述目标CDN节点根据所述处理结果与所述目标终端继续进行SSL握手,包括:
所述私钥服务器按照所述第二签名算法,使用所述目标业务服务器的私钥对所述hash参数进行签名,并将签名后的hash参数发送给所述目标CDN节点,以使所述目标CDN节点根据所述签名后的hash参数与所述目标终端继续进行SSL握手。
5.根据权利要求1所述的方法,其特征在于,所述私钥处理请求中还携带有所述目标业务服务器的SSL证书标识;
所述私钥服务器基于所述目标私钥处理类型信息和所述目标业务服务器的私钥处理所述待处理信息之前,还包括:
所述私钥服务器在本地存储的私钥列表中查找所述目标业务服务器的SSL证书标识对应的所述目标业务服务器的私钥。
6.根据权利要求1所述的方法,其特征在于,所述私钥处理请求为http1.0或http2.0请求。
7.根据权利要求1所述的方法,其特征在于,所述目标CDN节点向所述目标业务服务器对应的私钥服务器发送私钥处理请求,包括:
所述目标CDN节点确定指向所述目标业务服务器对应私钥服务器的下一跳CDN节点;
所述目标CDN节点与所述下一跳CDN节点建立SSL双向认证通道,通过所述SSL双向认证通道向所述下一跳CDN节点发送私钥处理请求,以使所述下一跳CDN节点向所述私钥服务器发送私钥处理请求。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述私钥服务器部署在CDN服务集群中或所述目标业务服务器侧。
9.一种进行SSL握手的***,其特征在于,所述***包括CDN节点和私钥服务器,其中:
目标CDN节点,用于在与目标终端进行SSL握手的过程中,确定所述目标终端访问的目标业务服务器,并获取需要私钥处理的待处理信息,向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述待处理信息和目标私钥处理类型信息;
所述私钥服务器,用于基于所述目标私钥处理类型信息和所述目标业务服务器的私钥处理所述待处理信息,并将处理结果发送给所述目标CDN节点,以使所述目标CDN节点根据所述处理结果与所述目标终端继续进行SSL握手。
10.根据权利要求9所述的***,其特征在于,所述目标CDN节点,具体用于:
在与目标终端进行TLS1.2协议下的RSA握手的过程中,根据所述目标终端发送的Client Hello消息中携带的服务器标识确定所述目标终端访问的目标业务服务器,并获取所述目标终端发送的Client Key Exchange消息中携带的加密后的所述目标终端生成的预主密钥,向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有加密后的预主密钥和与所述目标终端协商的目标解密算法的算法标识;
所述私钥服务器,具体用于:
按照所述目标解密算法,使用所述目标业务服务器的私钥对所述加密后的预主密钥进行解密,并将解密得到的预主密钥发送给所述目标CDN节点,以使所述目标CDN节点根据所述解密得到的预主密钥与所述目标终端继续进行SSL握手。
11.根据权利要求9所述的***,其特征在于,所述目标CDN节点,具体用于:
在与目标终端进行TLS1.2协议下的DH握手的过程中,根据所述目标终端发送的ClientHello消息中携带的服务器标识确定所述目标终端访问的目标业务服务器,并获取本地生成的DH参数,向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述DH参数和与所述目标终端协商的第一签名算法的算法标识;
所述私钥服务器,具体用于:
按照所述第一签名算法,使用所述目标业务服务器的私钥对所述DH参数进行签名,并将签名后的DH参数发送给所述目标CDN节点,以使所述目标CDN节点根据所述签名后的DH参数与所述目标终端继续进行SSL握手。
12.根据权利要求9所述的***,其特征在于,所述目标CDN节点,具体用于:
在与目标终端进行TLS1.3协议下的DH握手的过程中,根据所述目标终端发送的ClientHello消息中携带的服务器标识确定所述目标终端访问的目标业务服务器,并获取本地生成的hash参数,所述hash参数基于和所述目标终端交互的握手数据包和所述目标业务服务器的SSL证书生成;向所述目标业务服务器对应的私钥服务器发送私钥处理请求,所述私钥处理请求携带有所述hash参数和与所述目标终端协商的第二签名算法的算法标识;
所述私钥服务器,具体用于:
按照所述第二签名算法,使用所述目标业务服务器的私钥对所述hash参数进行签名,并将签名后的hash参数发送给所述目标CDN节点,以使所述目标CDN节点根据所述签名后的hash参数与所述目标终端继续进行SSL握手。
13.根据权利要求9所述的***,其特征在于,所述私钥处理请求中还携带有所述目标业务服务器的SSL证书标识;
所述私钥服务器,还用于:
在本地存储的私钥列表中查找所述目标业务服务器的SSL证书标识对应的所述目标业务服务器的私钥。
14.根据权利要求9所述的***,其特征在于,所述私钥处理请求为http1.0或http2.0请求。
15.根据权利要求9所述的***,其特征在于,所述目标CDN节点,具体用于:
确定指向所述目标业务服务器对应私钥服务器的下一跳CDN节点,与所述下一跳CDN节点建立SSL双向认证通道,通过所述SSL双向认证通道向所述下一跳CDN节点发送私钥处理请求,以使所述下一跳CDN节点向所述私钥服务器发送私钥处理请求。
16.根据权利要求9-15中任一项所述的***,其特征在于,所述私钥服务器部署在CDN服务集群中或所述目标业务服务器侧。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810247194.3A CN108200104A (zh) | 2018-03-23 | 2018-03-23 | 一种进行ssl握手的方法和*** |
PCT/CN2018/088676 WO2019178942A1 (zh) | 2018-03-23 | 2018-05-28 | 一种进行ssl握手的方法和*** |
EP18910272.6A EP3633949B1 (en) | 2018-03-23 | 2018-05-28 | Method and system for performing ssl handshake |
US16/732,143 US11303431B2 (en) | 2018-03-23 | 2019-12-31 | Method and system for performing SSL handshake |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810247194.3A CN108200104A (zh) | 2018-03-23 | 2018-03-23 | 一种进行ssl握手的方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108200104A true CN108200104A (zh) | 2018-06-22 |
Family
ID=62595910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810247194.3A Pending CN108200104A (zh) | 2018-03-23 | 2018-03-23 | 一种进行ssl握手的方法和*** |
Country Status (4)
Country | Link |
---|---|
US (1) | US11303431B2 (zh) |
EP (1) | EP3633949B1 (zh) |
CN (1) | CN108200104A (zh) |
WO (1) | WO2019178942A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020186607A1 (zh) * | 2019-03-21 | 2020-09-24 | 网宿科技股份有限公司 | 访问请求的处理方法及装置、服务器 |
US10826870B2 (en) | 2019-03-21 | 2020-11-03 | Wangsu Science & Technology Co., Ltd. | Method, device and server for processing access request |
CN112564912A (zh) * | 2020-11-24 | 2021-03-26 | 北京金山云网络技术有限公司 | 建立安全连接的方法、***、装置和电子设备 |
CN113364795A (zh) * | 2021-06-18 | 2021-09-07 | 北京天空卫士网络安全技术有限公司 | 一种数据传输方法和代理服务器 |
CN113660328A (zh) * | 2021-08-13 | 2021-11-16 | 京东科技信息技术有限公司 | 通信连接的建立方法及装置、存储介质及电子设备 |
CN114338056A (zh) * | 2020-09-24 | 2022-04-12 | 贵州白山云科技股份有限公司 | 基于云分发的网络访问方法及其***、介质、设备 |
WO2022088621A1 (zh) * | 2020-10-26 | 2022-05-05 | 华为技术有限公司 | 加密报文的检测方法及防护设备 |
CN114553449A (zh) * | 2020-11-24 | 2022-05-27 | 北京金山云网络技术有限公司 | 基于https的加解密方法、装置、***、电子设备和存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115460084B (zh) * | 2021-06-09 | 2024-05-24 | 贵州白山云科技股份有限公司 | 安全加速服务部署方法、装置、介质及设备 |
CN114205484A (zh) * | 2021-12-15 | 2022-03-18 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种图片处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932350A (zh) * | 2012-10-31 | 2013-02-13 | 华为技术有限公司 | 一种tls扫描的方法和装置 |
CN102948131A (zh) * | 2010-04-21 | 2013-02-27 | 思杰***有限公司 | 用于经由wan设备分离代理ssl的***和方法 |
US20150067338A1 (en) * | 2011-12-16 | 2015-03-05 | Akamai Technologies, Inc. | Providing forward secrecy in a terminating SSL/TLS connection proxy using ephemeral Diffie-Hellman key exchange |
CN106161449A (zh) * | 2016-07-19 | 2016-11-23 | 青松智慧(北京)科技有限公司 | 无密钥认证传输方法及*** |
CN107707517A (zh) * | 2017-05-09 | 2018-02-16 | 贵州白山云科技有限公司 | 一种HTTPs握手方法、装置和*** |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8817985B2 (en) * | 2009-06-23 | 2014-08-26 | Panasonic Corporation | Encryption key distribution system |
CN102801616B (zh) * | 2012-08-02 | 2015-04-15 | 华为技术有限公司 | 报文发送和接收的方法、装置和*** |
WO2016073552A1 (en) * | 2014-11-04 | 2016-05-12 | Akamai Technologies, Inc. | Providing forward secrecy in a terminating ssl/tls connection proxy using ephemeral diffie-hellman key exchange |
CN105871797A (zh) * | 2015-11-19 | 2016-08-17 | 乐视云计算有限公司 | 客户端与服务器进行握手的方法、装置及*** |
CN106790090A (zh) * | 2016-12-23 | 2017-05-31 | 北京奇虎科技有限公司 | 基于ssl的通信方法、装置及*** |
-
2018
- 2018-03-23 CN CN201810247194.3A patent/CN108200104A/zh active Pending
- 2018-05-28 EP EP18910272.6A patent/EP3633949B1/en active Active
- 2018-05-28 WO PCT/CN2018/088676 patent/WO2019178942A1/zh unknown
-
2019
- 2019-12-31 US US16/732,143 patent/US11303431B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102948131A (zh) * | 2010-04-21 | 2013-02-27 | 思杰***有限公司 | 用于经由wan设备分离代理ssl的***和方法 |
US20150067338A1 (en) * | 2011-12-16 | 2015-03-05 | Akamai Technologies, Inc. | Providing forward secrecy in a terminating SSL/TLS connection proxy using ephemeral Diffie-Hellman key exchange |
CN102932350A (zh) * | 2012-10-31 | 2013-02-13 | 华为技术有限公司 | 一种tls扫描的方法和装置 |
CN106161449A (zh) * | 2016-07-19 | 2016-11-23 | 青松智慧(北京)科技有限公司 | 无密钥认证传输方法及*** |
CN107707517A (zh) * | 2017-05-09 | 2018-02-16 | 贵州白山云科技有限公司 | 一种HTTPs握手方法、装置和*** |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020186607A1 (zh) * | 2019-03-21 | 2020-09-24 | 网宿科技股份有限公司 | 访问请求的处理方法及装置、服务器 |
US10826870B2 (en) | 2019-03-21 | 2020-11-03 | Wangsu Science & Technology Co., Ltd. | Method, device and server for processing access request |
CN114338056A (zh) * | 2020-09-24 | 2022-04-12 | 贵州白山云科技股份有限公司 | 基于云分发的网络访问方法及其***、介质、设备 |
WO2022088621A1 (zh) * | 2020-10-26 | 2022-05-05 | 华为技术有限公司 | 加密报文的检测方法及防护设备 |
CN112564912A (zh) * | 2020-11-24 | 2021-03-26 | 北京金山云网络技术有限公司 | 建立安全连接的方法、***、装置和电子设备 |
CN114553449A (zh) * | 2020-11-24 | 2022-05-27 | 北京金山云网络技术有限公司 | 基于https的加解密方法、装置、***、电子设备和存储介质 |
WO2022111102A1 (zh) * | 2020-11-24 | 2022-06-02 | 北京金山云网络技术有限公司 | 建立安全连接的方法、***、装置、电子设备和机器可读存储介质 |
CN112564912B (zh) * | 2020-11-24 | 2023-03-24 | 北京金山云网络技术有限公司 | 建立安全连接的方法、***、装置和电子设备 |
CN113364795A (zh) * | 2021-06-18 | 2021-09-07 | 北京天空卫士网络安全技术有限公司 | 一种数据传输方法和代理服务器 |
CN113364795B (zh) * | 2021-06-18 | 2023-03-24 | 北京天空卫士网络安全技术有限公司 | 一种数据传输方法和代理服务器 |
CN113660328A (zh) * | 2021-08-13 | 2021-11-16 | 京东科技信息技术有限公司 | 通信连接的建立方法及装置、存储介质及电子设备 |
CN113660328B (zh) * | 2021-08-13 | 2024-02-06 | 京东科技信息技术有限公司 | 通信连接的建立方法及装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3633949A4 (en) | 2020-07-15 |
WO2019178942A1 (zh) | 2019-09-26 |
EP3633949A1 (en) | 2020-04-08 |
US11303431B2 (en) | 2022-04-12 |
EP3633949B1 (en) | 2021-09-01 |
US20200162245A1 (en) | 2020-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108200104A (zh) | 一种进行ssl握手的方法和*** | |
US10931715B2 (en) | HTTPS request enrichment | |
RU2554532C2 (ru) | Способ и устройство для безопасной передачи данных | |
Dos Santos et al. | A DTLS-based security architecture for the Internet of Things | |
US9350711B2 (en) | Data transmission method, system, and apparatus | |
CN107426339A (zh) | 一种数据连接通道的接入方法、装置及*** | |
CN101436933B (zh) | 一种https加密访问方法、***及装置 | |
US20100031337A1 (en) | Methods and systems for distributed security processing | |
CN110191052B (zh) | 一种跨协议网络传输方法及*** | |
CN105794171A (zh) | 用于握手期间中间节点发现的方法和装置 | |
US8386783B2 (en) | Communication apparatus and communication method | |
US20080267395A1 (en) | Apparatus and method for encrypted communication processing | |
CN103051636B (zh) | 一种数据报文的传输方法和设备 | |
CN103716280B (zh) | 数据传输方法、服务器及*** | |
CN109525514A (zh) | 一种信息传输方法及信息传输装置 | |
Apiecionek et al. | Multi path transmission control protocols as a security solution | |
Touil et al. | Secure and guarantee QoS in a video sequence: a new approach based on TLS protocol to secure data and RTP to ensure real-time exchanges | |
CN102932359A (zh) | 流媒体服务请求方法、装置和*** | |
US20230108261A1 (en) | Management, diagnostics, and security for network communications | |
CN108900584B (zh) | 内容分发网络的数据传输方法和*** | |
CN107135226B (zh) | 基于socks5的传输层代理通信方法 | |
Hohendorf et al. | Secure End-to-End Transport Over SCTP. | |
CN110995730B (zh) | 数据传输方法、装置、代理服务器和代理服务器集群 | |
US11936634B2 (en) | Method for editing messages by a device on a communication path established between two nodes | |
Han et al. | A back-end offload architecture for security of resource-constrained networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180622 |
|
RJ01 | Rejection of invention patent application after publication |