CN111385289A - 客户端与服务端安全握手的方法、装置及存储介质 - Google Patents

客户端与服务端安全握手的方法、装置及存储介质 Download PDF

Info

Publication number
CN111385289A
CN111385289A CN202010119427.9A CN202010119427A CN111385289A CN 111385289 A CN111385289 A CN 111385289A CN 202010119427 A CN202010119427 A CN 202010119427A CN 111385289 A CN111385289 A CN 111385289A
Authority
CN
China
Prior art keywords
server
client
key
session record
handshake
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
Application number
CN202010119427.9A
Other languages
English (en)
Inventor
魏海通
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202010119427.9A priority Critical patent/CN111385289A/zh
Publication of CN111385289A publication Critical patent/CN111385289A/zh
Priority to PCT/CN2020/117430 priority patent/WO2021169266A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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)
    • H04L9/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

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)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种客户端与服务端安全握手的方法,通过在客户端与服务端握手阶段采用会话记录重用来实现安全握手,包括:S110:服务端每隔第一设定周期时间生成会话记录密钥,保存到其内存中;S120:服务端采用最新生成的会话记录密钥加密客户端和服务端初次握手生成的会话记录,并将加密后的会话记录发送给客户端;S130:客户端携带加密后的会话记录与服务端进行后续握手时,服务端依次调用其内存中的会话记录密钥对加密后的会话记录进行解密,若解密成功,则客户端与服务端重用会话记录中的协商密钥,握手完成;若解密不成功,则进行S120。本方法改变了会话记录密钥始终不变的情况,增加了会话记录密钥破译难度,增强了数据传输安全性。

Description

客户端与服务端安全握手的方法、装置及存储介质
技术领域
本发明涉及通信技术领域,更为具体地,涉及一种客户端与服务端安全握手的方法、装置及存储介质。
背景技术
随着大家对网络安全的重视,越来越多的网站全站整改成HTTPS(SecureHypertext Transfer Protocol,安全超文本传输协议)。它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,是使用TLS/SSL(Transport Layer Security,全称安全传输层协议)加密的HTTP协议。HTTP协议采用明文传输信息,存在信息窃听、信息篡改和信息劫持的风险,而协议TLS/SSL具有身份验证、信息加密和完整性校验的功能,对传送的数据进行加密,确保数据在传送中不被改变,是介于TCP和HTTP之间的一层安全协议。
HTTPS大致分为两个阶段,即握手阶段和数据传输阶段。握手阶段:TLS/SSL协议的客户端与服务端在握手阶段协商出一组用于保护数据传输的加密算法和完整性验证算法、以及每个算法所使用的密钥。数据传输阶段:一旦TLS/SSL握手完成,数据就被分成一系列经过握手阶段协商的密钥加密保护的记录进行传输。
然而,客户端和服务端在握手阶段需要多次的往返协商交互,及大量的计算才能获得密钥等安全通信相关的信息,往返时延(Round-Trip Time,RTT)较大;且客户端和服务端内部要进行复杂和繁琐的密钥计算,客户端设备和服务端设备的性能(如电量、存储和计算资源等)消耗严重,这就是造成HTTPS链接慢的主要原因。
现有技术中为避免在后续的握手流程中,再次进行多次交互和大量计算,一般采用Session Resumption(会话重用),Session Resumption包括Session Ticket(会话记录)重用和Session ID(会话标识)重用。其中,Session Ticket重用,是服务端生成会话记录以记录在握手流程中与客户端协商成功的密钥等安全通信相关的信息,并将加密后的会话记录发送给客户端,以备在后续的握手请求中客户端携带该加密后的会话记录,服务端采用密钥将会话记录解密,重用之前握手流程中已经协商成功的密钥等与安全通信相关的信息,RTT减少到一个,快速完成握手流程。
这样虽然为握手节省了时间,为客户端和服务端减小了消耗,但是,会话记录的加密密钥只有服务端保存且永不改变,也为数据传输的安全性带来隐患。特别是CDN边缘服务器都用同一个密钥加密会话记录,一旦被破解所有的HTTPS都失效。
发明内容
鉴于上述问题,本发明的目的是提供一种客户端与服务端安全握手的方法、装置及存储介质。本方法改变了会话记录密钥始终不变的情况,增加了会话记录密钥的破译难度,增强了数据传输的安全性。
根据本发明的一个方面,提供了一种客户端与服务端安全握手的方法,通过在客户端与服务端握手阶段采用会话记录重用来实现客户端与服务端的安全握手,包括以下步骤:
S110:服务端每隔第一设定周期时间生成会话记录密钥,保存到其内存中,并且所述会话记录密钥在所述内存的保存时间超过预设有效期时即被删除;
S120:所述服务端采用最新生成的所述会话记录密钥加密所述客户端和所述服务端初次握手生成的会话记录,并将加密后的所述会话记录发送给所述客户端;其中,在所述会话记录中包含用于加密所述客户端与服务端交互内容的协商密钥;
S130:所述客户端携带加密后的所述会话记录与所述服务端进行后续握手时,所述服务端依次调用其内存中的会话记录密钥对加密后的所述会话记录进行解密,若解密成功,则所述客户端与所述服务端重用所述会话记录中的协商密钥,握手完成;若解密不成功,则进行S120。
优选的,所述预设有效期不小于三倍的所述第一设定周期时间。
优选的,在S110中,所述服务端将所述预设有效期内生成的所述会话记录密钥,按生成的时间顺序保存在其内存中;
优选的,在S130中,所述服务端按照所述会话记录密钥生成时间由近到远的顺序,依次调用其内存中的会话记录密钥对加密后的所述会话记录进行解密。
根据本发明的另一方面,提供了一种客户端与服务端安全握手的方法,通过在客户端与服务端握手阶段采用会话记录重用来实现客户端与服务端的安全握手,并且所述服务端为CDN中的CDN边缘服务器,包括以下步骤:
S210:设定一台服务器为中心服务器,所述中心服务器每隔第一设定周期时间生成会话记录密钥,保存到其内存中,并将所述会话记录密钥同步保存到每一个CDN节点的所述CDN边缘服务器的内存中,所述会话记录密钥在所述中心服务器和所述CDN边缘服务器的内存中保存时间超过预设有效期时即被删除;
S220:所述CDN边缘服务器调用其内存中最新保存的所述会话记录密钥加密所述客户端和所述CDN边缘服务器初次握手生成的会话记录,并将加密后的所述会话记录发送给所述客户端;其中,在所述会话记录中包含用于加密所述客户端与服务端交互内容的协商密钥;
S230:所述客户端携带加密后的所述会话记录与所述CDN边缘服务器进行后续握手时,所述CDN边缘服务器按照所述会话记录密钥保存时间由近到远的顺序,依次调用其内存中的会话记录密钥对加密后的所述会话记录进行解密,若解密成功,则所述客户端与所述CDN边缘服务器重用所述会话记录中的协商密钥,握手完成;若解密不成功,则进行S220。
优选的,所述预设有效期不小于三倍的所述第一设定周期时间。
优选的,在S210中,所述会话记录密钥为非对称密钥,生成所述非对称密钥的方式为:所述中心服务器每隔所述第一设定周期时间,根据每个所述CDN边缘服务器的IP,为每个CDN边缘服务器生成私钥及所述私钥对应的公钥,并将所述私钥和其对应的公钥同步保存到相应的CDN边缘服务器的内存中。
S220还包括,所述CDN边缘服务器调用其内存中最新保存的所述公钥加密所述客户端和所述CDN边缘服务器初次握手生成的会话记录,并将加密后的所述会话记录发送给所述客户端。
S230还包括,所述客户端携带所述公钥加密后的所述会话记录与所述CDN边缘服务器进行后续握手时,所述CDN边缘服务器按照所述私钥保存时间由近到远的顺序,依次调用其内存中的私钥对所述会话记录进行解密,若解密成功,则所述客户端与所述CDN边缘服务端重用所述会话记录中的协商密钥,握手完成;若解密不成功,则进行S220。
根据本发明的另一方面,提供了一种电子装置,包括:存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时实现上述的客户端与服务端安全握手的方法的步骤。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有客户端与服务端安全握手程序,所述客户端与服务端安全握手程序被处理器执行时,实现上述的客户端与服务端安全握手的方法的步骤。
利用上述根据本发明的客户端与服务端安全握手的方法,将会话记录密钥进行定期的重设,重设后的密钥可同步到所有CDN节点。保证每个周期生成的会话记录密钥是不同的。最新的周期内HTTPS连接握手阶段的会话记录用最新的密钥加密和解密,以前周期HTTPS连接生成的会话记录用以前周期生成的解密密钥逐个尝试去解密。只保存有效期内的会话记录密钥,客户端有效期之后携带加密会话记录再次向服务端发送请求,将无法解密此会话记录,客户端要与服务端重新协商密钥生成会话记录使用最新的会话记录密钥加密。改变了会话记录密钥始终不变的情况,增加了会话记录密钥的破译难度,增强了数据传输的安全性。
为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
附图说明
通过参考以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:
图1为根据本发明实施例1的客户端与服务端安全握手的方法的流程图;
图2为根据本发明实施例2的客户端与服务端安全握手的方法的流程图;
图3为根据本发明实施例4的客户端与服务端安全握手的系统的逻辑结构示意图;
在所有附图中相同的标号指示相似或相应的特征或功能。
具体实施方式
在下面的描述中,出于说明的目的,为了提供对一个或多个实施例的全面理解,阐述了许多具体细节。然而,很明显,也可以在没有这些具体细节的情况下实现这些实施例。在其它例子中,为了便于描述一个或多个实施例,公知的结构和设备以方框图的形式示出
名词解释
CDN:内容分发网络,简单说就是通过在不同地点缓存内容,通过负载平衡等技术将用户请求定向到最近的缓存服务器上获取内容,提高用户访问网站的相应速度。
CDN边缘服务器:即上述最近的缓存服务器,主要目的是将内容尽可能地存储到距离用户比较近的节点,从而减少延迟并改善页面加载时间。
非对称密钥:与对称加密算法不同,非对称加密算法需要两个密钥,公开密钥和私有密钥。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密。
以下将结合附图对本发明的具体实施例进行详细描述。
实施例1
图1为根据本发明实施例1的客户端与服务端安全握手的方法的流程图。
如图1所示,在本实施例中客户端与服务端安全握手的方法,应用场景为客户端与单个服务端连接时,握手阶段采用会话记录重用的情况。为了客户端与服务端之间数据的安全传输,建立连接时采用HTTPS协议,HTTPS协议中的TLS/SSL协议在握手阶段采用会话记录重用会话缓存机制。客户端向服务端发起第一次请求,服务端与客户端开始第一次握手流程,进行密钥的协商,协商成功后,生成会话记录,服务端加密会话记录后向客户端发送会话记录。客户端再次向服务端发起请求时,不用再次进行密钥协商,只需携带加密后的会话记录,服务端只要能将会话记录解密,握手流程完成。客户端与服务端开始数据传输,所传输的数据采用会话记录中的协商密钥进行加密传输。
本实施例中客户端与服务端安全握手的方法,包括以下步骤:
S110:服务端每隔第一设定周期时间生成会话记录密钥,保存到其内存中,并且会话记录密钥在内存的保存时间超过预设有效期时即被删除。
会话记录密钥可为对称密钥或非对称密钥。预设有效期应大于第一设定周期时间,预设有效期最好设置为大于或等于三倍的第一设定周期时间。
本实施例中第一设定周期时间可为1小时,预设有效期可为24小时。服务端将24小时内生成的会话记录密钥,按生成的时间顺序保存在其内存中,将24小时之前生成的会话记录密钥从内存中清除。
S120:服务端采用最新生成的会话记录密钥加密客户端和服务端初次握手生成的会话记录,并将加密后的会话记录发送给客户端;其中,在会话记录中包含用于加密客户端与服务端交互内容的协商密钥。
客户端和服务端初次握手生成会话记录,服务端采用最新生成的会话记录密钥加密会话记录,并将加密后的所述会话记录发送给所述客户端。
客户端每次和服务器建立HTTPS连接时,在握手阶段生成的会话记录的加密密钥是不完全相同的,只有同一第一设定周期时间(1小时)内客户端和服务器建立HTTPS连接时,在握手阶段生成的会话记录的加密密钥是相同的,相比现有技术中无论何时生成的会话记录使用统一的密钥加密,增加了安全性。
当客户端首次和服务端建立HTTPS连接时,若服务端为初始化状态,客户端和初始化状态的服务端初次握手生成会话记录时使用随机生成的密钥加密。若服务端不是初始化状态,客户端和服务端初次握手生成会话记录时使用最新生成的的加密密钥加密。
S130:客户端携带加密后的会话记录与服务端进行后续握手时,服务端依次调用其内存中的会话记录密钥对加密后的会话记录进行解密,若解密成功,则客户端与服务端重用会话记录中的协商密钥,握手完成;若解密不成功,则进行S120。
客户端与服务端后续握手时,携带加密后的会话记录,服务端依次调用其内存中的会话记录密钥对加密后的会话记录进行解密;
解密会话记录时,服务端按照会话记录密钥生成时间由近到远的顺序,依次调用其内存中的会话记录解密密钥对加密后的会话记录进行解密。
如客户端在同一个第一设定周期时间(1小时)内再次向服务端发起请求时,在握手过程中携带加密后的会话记录,服务端使用最新生成的会话记录解密密钥给会话记录解密,解密成功握手完成;如客户端在同一个第一设定周期时间(1小时)之后又向服务端发起请求时,在握手过程中携带加密后的会话记录,服务端使用最新生成的会话记录解密密钥给会话记录解密,解密失败,服务端再按照会话记录密钥生成时间由近到远的顺序,依次调用内存中存储的会话记录解密密钥,对会话记录进行解密,直到解密成功,握手完成;如服务端解密不成功则说明会话记录已经失效,或者此会话记录的密钥已经在内存中被清除(超过24小时),则重新进行S120,当作客户端和服务端首次建立HTTPS连接,客户端和服务端初次握手,重新协商密钥生成会话记录,并采用内存中存储的最新会话记录密钥进行加密,发送客户端保存,完成握手。
实施例2
图2为根据本发明实施例2的客户端与服务端安全握手的方法的流程图。
如图2所示,在本实施例中客户端与服务端安全握手的方法,应用场景为客户端与多个服务器连接,握手阶段采用会话记录重用,并且服务端可为CDN中的每个CDN节点的CDN边缘服务器。包括以下步骤:
S210:设定一台服务器为中心服务器,中心服务器每隔第一设定周期时间生成会话记录密钥,保存到其内存中,并将会话记录密钥同步保存到每一个CDN节点的CDN边缘服务器的内存中,会话记录密钥在中心服务器和CDN边缘服务器的内存中保存时间超过预设有效期时即被删除;
会话记录密钥可为对称密钥或非对称密钥。预设有效期应大于第一设定周期时间,预设有效期最好设置为大于或等于三倍的第一设定周期时间。
本实施例中第一设定周期时间可为1小时,预设有效期可为24小时。中心服务器将24小时内生成的会话记录密钥,按照生成的时间顺序保存在其内存中,中心服务器将24小时之前生成的会话记录密钥从其内存中清除。每一个CND节点的CDN边缘服务器将中心服务器24小时内生成的会话记录密钥,按照生成的时间顺序同步保存在其内存中,每一个CND节点的CDN边缘服务器将24小时之前保存的会话记录密钥从其内存中清除。
S220:CDN边缘服务器调用其内存中最新保存的会话记录密钥加密客户端和CDN边缘服务器初次握手生成的会话记录,并将加密后的会话记录发送给客户端;其中,在会话记录中包含用于加密客户端与服务端交互内容的协商密钥。
客户端与CDN边缘服务器初次握手生成会话记录,CDN边缘服务器调用其内存中最新保存的会话记录密钥加密会话记录,并将加密后的会话记录发送给客户端。
客户端每次和CDN边缘服务器建立HTTPS连接时,在握手阶段生成的会话记录的加密密钥是不完全相同的,只有同一第一设定周期时间(1小时)内客户端和CDN边缘服务器建立HTTPS连接时,在握手阶段生成的会话记录加密密钥是相同的,相比现有技术中无论何时所有CDN边缘服务器都使用同一的密钥加密会话记录,增加了安全性。
进一步,客户端首次和CDN边缘服务器建立HTTPS连接时,若CDN边缘服务器为初始化状态,客户端和初始化状态的CDN边缘服务器初次握手生成会话记录就调用中心服务器内存中最新生成的会话记录加密密钥加密会话记录。此后,CDN边缘服务器就开始同步保存中心服务器内存中的会话记录密钥。
S230:客户端携带加密后的会话记录与CDN边缘服务器进行后续握手时,CDN边缘服务器按照会话记录密钥保存时间由近到远的顺序,依次调用其内存中的会话记录密钥对加密后的会话记录进行解密,若解密成功,则客户端与CDN边缘服务器重用会话记录中的协商密钥,握手完成;若解密不成功,则进行S220。
客户端与CDN边缘服务器后续的握手中,携带加密后的会话记录,CDN边缘服务器按照会话记录密钥保存时间由近到远的顺序,依次调用其内存中的会话记录密钥对加密后的会话记录进行解密。
如客户端在同一个第一设定周期时间(1小时)内再次向CDN边缘服务器发起请求时,在握手过程中携带加密后的会话记录,CDN边缘服务器使用最新同步保存的会话记录解密密钥给会话记录解密,解密成功握手完成;如客户端在同一个第一设定周期时间(1小时)之后又向该CDN边缘服务器发起请求时,在握手过程中携带加密后的会话记录,CDN边缘服务器使用最新同步保存的会话记录解密密钥给会话记录解密,解密失败,CDN边缘服务器再按照会话记录密钥保存时间由近到远的顺序,依次调用其内存中存储的会话记录解密密钥,对会话记录进行解密,直到解密成功,握手完成。若解密不成功,说明会话记录已经失效,或者此会话记录的密钥已经在CDN边缘服务器内存中被清除(超过24小时),则重新进行S220,客户端与CDN边缘服务器重新建立HTTPS连接,当作客户端与CDN边缘服务器初次握手,重新协商密钥生成会话记录,采用CDN边缘服务器内存中最新保存的会话记录加密密钥加密会话记录。
本实施例中,客户端再次和CDN边缘服务器建立HTTPS连接时,在握手阶段解密会话记录的密钥是不完全相同的,只有同一第一设定周期时间(1小时)内客户端和CDN边缘服务器初次建立HTTPS连接的生成的会话记录,解密密钥是相同的,相比现有技术中无论何时所有CDN边缘服务器都使用统一的密钥解密会话记录,增加了安全性。
会话记录密钥可为对称密钥。本申请中的对称密钥生成方式为:每隔1小时定时生成一个48位随机数。
实施例3
在实施例2的基础上,会话记录密钥也可为非对称密钥,当会话记录密钥为非对称密钥时,S210进一步包括,生成非对称密钥的方式为:中心服务器每隔第一设定周期时间,根据每个CDN边缘服务器的IP,为每个CDN边缘服务器生成私钥,及私钥对应的公钥。将私钥和其对应的公钥同步保存到相应的CDN边缘服务器的内存中,中心服务器的内存和每一个CDN边缘服务器的内存中只保存预设有效期内生成的私钥和对应的公钥,即非对称会话记录密钥在中心服务器和CDN边缘服务器的内存中保存时间超过预设有效期时即被删除。
公钥用于加密会话记录,每一个CDN边缘服务器使用其保存的根据其IP随机生成的私钥解密公钥加密后的会话记录。
中心服务器将预设有效期内生成的所有私钥和对应的公钥按照生成的时间顺序保存在内存中,中心服务器将预设有效期之前生成的所有私钥和其对应的公钥从内存中清除。
CDN边缘服务器将预设有效期内同步保存的根据其IP生成各私钥和私钥对应的公钥,按照生成的时间顺序保存在内存中,CDN边缘服务器将预设有效期之前同步保存的私钥和公钥从内存中清除。
S220进一步包括,CDN边缘服务器调用其内存中最新保存的公钥加密客户端和CDN边缘服务器初次握手生成的会话记录,并将加密后的会话记录发送给客户端。
客户端与CDN边缘服务器初次握手时,CDN边缘服务器调用其内存中最新保存的公钥加密会话记录,并将加密后的会话记录发送给客户端。
S230进一步包括,客户端携带公钥加密后的会话记录与CDN边缘服务器进行后续握手时,CDN边缘服务器按照私钥保存时间由近到远的顺序,依次调用其内存中的私钥对会话记录进行解密,若解密成功,则客户端与CDN边缘服务端重用会话记录中的协商密钥,握手完成;若解密不成功,则进行S220。
客户端与CDN边缘服务器后续的握手中,携带公钥加密后的会话记录,CDN边缘服务器按照私钥保存时间由近到远的顺序,依次调用其内存中的私钥对会话记录进行解密。
使用不对称密钥时,每个CDN边缘服务器与客户端再次建立HTTPS连接时,在握手阶段解密会话记录的私钥不相同。每一个CDN边缘服务器拥有自己的私钥解密会话记录,不同的第一设定周期时间内的同一CDN边缘服务器的私钥也不同。相比现有技术,更具有安全性。
实施例4
图3为根据本发明实施例4的客户端与服务端安全握手的系统的逻辑结构示意图。
如图3所示,与实施例1中方法相应的一种客户端与服务端安全握手的系统,包括:握手阶段设置单元、会话记录密钥生成单元、会话记录加密单元、会话记录解密单元。
握手阶段设置单元,用于设置客户端与服务端的握手阶段,采用会话记录重用来实现客户端与服务端的安全握手;
会话记录密钥生成单元,用于服务端每隔第一设定周期时间生成会话记录密钥,保存到其内存中,并且会话记录密钥在内存的保存时间超过预设有效期时即被删除;
会话记录加密单元,用于服务端采用最新生成的会话记录密钥加密客户端和服务端初次握手生成的会话记录,并将加密后的会话记录发送给客户端;其中,在会话记录中包含用于加密客户端与服务端交互内容的协商密钥;
会话记录解密单元,用于客户端携带加密后的会话记录与服务端进行后续握手时,服务端依次调用其内存中的会话记录密钥对加密后的会话记录进行解密,若解密成功,则客户端与服务端重用会话记录中的协商密钥,握手完成;若解密不成功,则客户端与服务端重新握手生成会话记录,服务端采用最新生成的会话记录密钥加密会话记录,并将加密后的会话记录发送给客户端。
实施例5
与实施例2中方法相应的一种客户端与服务端安全握手的系统,包括:握手阶段设置单元、会话记录密钥生成单元、会话记录加密单元、会话记录解密单元。
握手阶段设置单元,用于设置客户端与CDN中的每个CDN边缘服务器的握手阶段,均采用会话记录重用来实现客户端与服务端的安全握手;
会话记录密钥生成单元,用于设定一台服务器为中心服务器,中心服务器每隔第一设定周期时间生成会话记录密钥,保存到其内存中,并将会话记录密钥同步保存到每一个CDN节点的CDN边缘服务器的内存中,会话记录密钥在中心服务器和CDN边缘服务器的内存中保存时间超过预设有效期时即被删除;
会话记录加密单元,用于CDN边缘服务器调用其内存中最新保存的会话记录密钥加密客户端和CDN边缘服务器初次握手生成的会话记录,并将加密后的会话记录发送给客户端;其中,在会话记录中包含用于加密客户端与服务端交互内容的协商密钥;
会话记录解密单元,用于客户端携带加密后的会话记录与CDN边缘服务器进行后续握手时,CDN边缘服务器按照会话记录密钥保存时间由近到远的顺序,依次调用其内存中的会话记录密钥对加密后的会话记录进行解密,若解密成功,则客户端与CDN边缘服务器重用会话记录中的协商密钥,握手完成;若解密不成功,则进行客户端与CDN边缘服务器重新握手生成会话记录,CDN边缘服务器调用其内存中最新保存的会话记录密钥加密会话记录,并将加密后的会话记录发送给客户端。
实施例6
一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,计算机程序被处理器执行时实现实施例1或实施例2或实施例3的客户端与服务端安全握手的方法的步骤。
实施例7
一种计算机可读存储介质,计算机可读存储介质中存储有客户端与服务端安全握手程序,客户端与服务端安全握手程序被处理器执行时,实现实施例1或实施例2或实施例3的客户端与服务端安全握手的方法的步骤。
如上参照图1和图2以示例的方式描述根据本发明的客户端与服务端安全握手的方法。但是,本领域技术人员应当理解,对于上述本发明所提出的客户端与服务端安全握手的方法,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。

Claims (10)

1.一种客户端与服务端安全握手的方法,通过在客户端与服务端握手阶段采用会话记录重用来实现客户端与服务端的安全握手,其特征在于,包括以下步骤:
S110:服务端每隔第一设定周期时间生成会话记录密钥,保存到其内存中,并且所述会话记录密钥在所述内存的保存时间超过预设有效期时即被删除;
S120:所述服务端采用最新生成的所述会话记录密钥加密客户端和所述服务端初次握手生成的会话记录,并将加密后的所述会话记录发送给所述客户端;其中,在所述会话记录中包含用于加密所述客户端与所述服务端交互内容的协商密钥;
S130:所述客户端携带加密后的所述会话记录与所述服务端进行后续握手时,所述服务端依次调用其内存中的会话记录密钥对加密后的所述会话记录进行解密,若解密成功,则所述客户端与所述服务端重用所述会话记录中的协商密钥,握手完成;若解密不成功,则进行S120。
2.如权利要求1所述的客户端与服务端安全握手的方法,其特征在于,所述预设有效期不小于三倍的所述第一设定周期时间。
3.如权利要求1所述的客户端与服务端安全握手的方法,其特征在于,
在S110中,所述服务端将所述预设有效期内生成的所述会话记录密钥,按生成的时间顺序保存在其内存中;
在S130中,所述服务端按照所述会话记录密钥生成时间由近到远的顺序,依次调用其内存中的会话记录密钥对加密后的所述会话记录进行解密。
4.一种客户端与服务端安全握手的方法,通过在客户端与服务端握手阶段采用会话记录重用来实现客户端与服务端的安全握手,并且所述服务端为CDN中的CDN边缘服务器,其特征在于,包括以下步骤:
S210:设定一台服务器为中心服务器,所述中心服务器每隔第一设定周期时间生成会话记录密钥,保存到其内存中,并将所述会话记录密钥同步保存到每一个CDN节点的所述CDN边缘服务器的内存中,所述会话记录密钥在所述中心服务器和所述CDN边缘服务器的内存中保存时间超过预设有效期时即被删除;
S220:所述CDN边缘服务器调用其内存中最新保存的所述会话记录密钥加密所述客户端和所述CDN边缘服务器初次握手生成的会话记录,并将加密后的所述会话记录发送给所述客户端;其中,在所述会话记录中包含用于加密所述客户端与服务端交互内容的协商密钥;
S230:所述客户端携带加密后的所述会话记录与所述CDN边缘服务器进行后续握手时,所述CDN边缘服务器按照所述会话记录密钥保存时间由近到远的顺序,依次调用其内存中的会话记录密钥对加密后的所述会话记录进行解密,若解密成功,则所述客户端与所述CDN边缘服务器重用所述会话记录中的协商密钥,握手完成;若解密不成功,则进行S220。
5.如权利要求4所述的客户端与服务端安全握手的方法,其特征在于,所述预设有效期不小于三倍的所述第一设定周期时间。
6.如权利要求4所述的客户端与服务端安全握手的方法,其特征在于,在S210中,所述会话记录密钥为非对称密钥,生成所述非对称密钥的方式为:所述中心服务器每隔所述第一设定周期时间,根据每个所述CDN边缘服务器的IP,为每个CDN边缘服务器生成私钥,及所述私钥对应的公钥,并将所述私钥和其对应的公钥同步保存到相应的CDN边缘服务器的内存中。
7.如权利要求6所述的客户端与服务端安全握手的方法,其特征在于,S220还包括,所述CDN边缘服务器调用其内存中最新保存的所述公钥加密所述客户端和所述CDN边缘服务器初次握手生成的会话记录,并将加密后的所述会话记录发送给所述客户端。
8.如权利要求6所述的客户端与服务端安全握手的方法,其特征在于,S230还包括,所述客户端携带所述公钥加密后的所述会话记录与所述CDN边缘服务器进行后续握手时,所述CDN边缘服务器按照所述私钥保存时间由近到远的顺序,依次调用其内存中的私钥对所述会话记录进行解密,若解密成功,则所述客户端与所述CDN边缘服务端重用所述会话记录中的协商密钥,握手完成;若解密不成功,则进行S220。
9.一种电子装置,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任意一项所述的客户端与服务端安全握手的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有客户端与服务端安全握手程序,所述客户端与服务端安全握手程序被处理器执行时,实现如权利要求1至8中任一项所述的客户端与服务端安全握手的方法的步骤。
CN202010119427.9A 2020-02-26 2020-02-26 客户端与服务端安全握手的方法、装置及存储介质 Pending CN111385289A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010119427.9A CN111385289A (zh) 2020-02-26 2020-02-26 客户端与服务端安全握手的方法、装置及存储介质
PCT/CN2020/117430 WO2021169266A1 (zh) 2020-02-26 2020-09-24 客户端与服务端安全握手的方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010119427.9A CN111385289A (zh) 2020-02-26 2020-02-26 客户端与服务端安全握手的方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN111385289A true CN111385289A (zh) 2020-07-07

Family

ID=71217016

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010119427.9A Pending CN111385289A (zh) 2020-02-26 2020-02-26 客户端与服务端安全握手的方法、装置及存储介质

Country Status (2)

Country Link
CN (1) CN111385289A (zh)
WO (1) WO2021169266A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021169266A1 (zh) * 2020-02-26 2021-09-02 平安科技(深圳)有限公司 客户端与服务端安全握手的方法、装置及存储介质
CN114500040A (zh) * 2022-01-24 2022-05-13 北京金数信安科技有限公司 一种基于国密算法的安全高效通信方法及其实现
CN116055215A (zh) * 2023-03-02 2023-05-02 上海弘积信息科技有限公司 一种基于网络安全传输协议的通信方法、系统及设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114095254B (zh) * 2021-11-22 2024-04-12 中国建设银行股份有限公司 报文加密方法、服务端设备、客户端设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060005026A1 (en) * 2004-06-09 2006-01-05 Samsung Electronics Co., Ltd. Method and apparatus for secure communication reusing session key between client and server
CN106161404A (zh) * 2015-04-22 2016-11-23 阿里巴巴集团控股有限公司 Ssl会话重用的方法、服务器和系统
CN106790285A (zh) * 2017-02-27 2017-05-31 杭州迪普科技股份有限公司 一种会话重用方法及装置
CN108512849A (zh) * 2018-04-02 2018-09-07 北京奇艺世纪科技有限公司 一种访问服务器的握手方法及系统
CN110830239A (zh) * 2018-08-07 2020-02-21 阿里巴巴集团控股有限公司 一种密钥更新方法、装置及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102368765A (zh) * 2011-10-08 2012-03-07 大连高成网络科技有限公司 一种网站登录认证方法
CN106059986A (zh) * 2015-04-22 2016-10-26 阿里巴巴集团控股有限公司 Ssl会话重用的方法和服务器
US10721061B2 (en) * 2018-06-28 2020-07-21 Nxp B.V. Method for establishing a secure communication session in a communications system
CN111385289A (zh) * 2020-02-26 2020-07-07 平安科技(深圳)有限公司 客户端与服务端安全握手的方法、装置及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060005026A1 (en) * 2004-06-09 2006-01-05 Samsung Electronics Co., Ltd. Method and apparatus for secure communication reusing session key between client and server
CN106161404A (zh) * 2015-04-22 2016-11-23 阿里巴巴集团控股有限公司 Ssl会话重用的方法、服务器和系统
CN106790285A (zh) * 2017-02-27 2017-05-31 杭州迪普科技股份有限公司 一种会话重用方法及装置
CN108512849A (zh) * 2018-04-02 2018-09-07 北京奇艺世纪科技有限公司 一种访问服务器的握手方法及系统
CN110830239A (zh) * 2018-08-07 2020-02-21 阿里巴巴集团控股有限公司 一种密钥更新方法、装置及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021169266A1 (zh) * 2020-02-26 2021-09-02 平安科技(深圳)有限公司 客户端与服务端安全握手的方法、装置及存储介质
CN114500040A (zh) * 2022-01-24 2022-05-13 北京金数信安科技有限公司 一种基于国密算法的安全高效通信方法及其实现
CN114500040B (zh) * 2022-01-24 2023-09-19 北京金数信安科技有限公司 一种基于国密算法的安全高效通信方法及其实现
CN116055215A (zh) * 2023-03-02 2023-05-02 上海弘积信息科技有限公司 一种基于网络安全传输协议的通信方法、系统及设备
CN116055215B (zh) * 2023-03-02 2024-03-15 上海弘积信息科技有限公司 一种基于网络安全传输协议的通信方法、系统及设备

Also Published As

Publication number Publication date
WO2021169266A1 (zh) 2021-09-02

Similar Documents

Publication Publication Date Title
CN109347835B (zh) 信息传输方法、客户端、服务器以及计算机可读存储介质
US20220321543A1 (en) Systems and methods for secure communication over a network using a linking address
CN111385289A (zh) 客户端与服务端安全握手的方法、装置及存储介质
WO2022021992A1 (zh) 一种基于NB-IoT通信的数据传输方法、系统及介质
US8418242B2 (en) Method, system, and device for negotiating SA on IPv6 network
CN111030814B (zh) 秘钥协商方法及装置
CN109413201B (zh) Ssl通信方法、装置及存储介质
EP0938209A2 (en) Method and apparatus for conducting crypto-ignition processes between thin client devices and server devices over data networks
CN102833253A (zh) 建立客户端与服务器安全连接的方法及服务器
KR20040017230A (ko) 통신 세션을 통한 사용자의 인증
CN113612605A (zh) 使用对称密码技术增强mqtt协议身份认证方法、系统和设备
CN112637136A (zh) 加密通信方法及系统
CN106790285B (zh) 一种会话重用方法及装置
CN110839240B (zh) 一种建立连接的方法及装置
CN109525565B (zh) 一种针对短信拦截攻击的防御方法及系统
WO2018231519A1 (en) Cloud storage using encryption gateway with certificate authority identification
CN106972919B (zh) 一种密钥协商方法和装置
CN110035035B (zh) 一种单点登录的二次认证方法及系统
CN112187832A (zh) 数据传输方法和电子设备
CN110581829A (zh) 通信方法及装置
CN109067774B (zh) 一种基于信任令牌的安全接入系统及其安全接入方法
CN112769835B (zh) 一种访问请求的发起方法及终端设备
WO2024139347A1 (zh) 敏感信息安全获取方法、系统、装置及电子设备
WO2023116266A1 (zh) 通信加密方法、系统和装置
CN112822015B (zh) 信息传输方法及相关装置

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: 20200707

RJ01 Rejection of invention patent application after publication