CN112600667B - 一种密钥协商方法、装置、设备及存储介质 - Google Patents
一种密钥协商方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112600667B CN112600667B CN202011342766.XA CN202011342766A CN112600667B CN 112600667 B CN112600667 B CN 112600667B CN 202011342766 A CN202011342766 A CN 202011342766A CN 112600667 B CN112600667 B CN 112600667B
- Authority
- CN
- China
- Prior art keywords
- cloud platform
- client
- random number
- key
- secure channel
- 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.)
- Active
Links
Images
Classifications
-
- 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/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种密钥协商方法、装置、设备及存储介质,方法包括:S1:判断客户端与云平台之间是否创建有第一安全通道,若否,则执行步骤S2,若是,则执行步骤S3,第一安全通道为客户端与云平台之间首次创建安全通道时得到的安全通道;S2:根据云平台加密公钥、当前时间戳和第一客户端随机数创建第一安全通道,并在创建第一安全通道的同时进行身份认证和第一密钥协商;S3:基于预置会话密钥,在第二安全通道上进行第二密钥协商,其中,预置会话密钥为第一安全通道对应的会话密钥,第二安全通道为客户端与云平台之间除第一安全通道以外的安全通道。本申请能够解决现有客户端与云平台的多次交互协商导致交互效率低且较为耗时的技术问题。
Description
技术领域
本申请涉及密钥协商技术领域,尤其涉及一种密钥协商方法、装置、设备及存储介质。
背景技术
云计算是由分布式计算、并行处理、网格计算发展来的,是一种新兴的商业计算模型。云计算平台厂商通过建立网络服务器集群,向客户提供在线软件服务、硬件租借、数据存储、计算分析等不同类型的服务。近几年,随着虚拟化、边缘计算、人工智能、容器和区块链技术的高速发展,云计算平台凭借响应快速、部署方便灵活、高可用性、高性价比等自身优势,在网络服务中得以广泛应用。云计算的应用规模大、牵涉范围广,若发生安全事件,较传统计算模式会造成更严重的后果和更广泛的影响。在云平台面临的诸多安全威胁中,数据泄露已成为主要的威胁。数据传输过程中发生数据泄露是该威胁的典型场景。
当前主要的防护手段是通过传输层安全协议(SSL/TLS)加密数据,然而SSL/TLS协议却不断爆出安全漏洞,比如老版本的SSL协议被公认在完整性校验、密钥协商过程中有重大缺陷;比如针对其压缩机制的CRIME漏洞,针对CBC块加密模式的BEAST漏洞等等。其次,使用现有传输层安全协议密钥协商时,客户端与服务器之间需经过多次交互协商,最终生成传输保护用的共享密钥,这个过程非常耗时和低效。最后,SSL/TLS协议的密钥协商往往采用的是单向鉴权,即协商时只需要客户端认证服务器,而服务器对接入的客户端缺乏强制性的身份认证手段。
发明内容
本申请提供了一种密钥协商方法、装置、设备及存储介质,用于解决现有客户端与云平台的多次交互协商导致交互效率低且较为耗时的技术问题。
有鉴于此,本申请第一方面提供了一种密钥协商方法,包括:
S1:判断客户端与云平台之间是否创建有第一安全通道,若否,则执行步骤S2,若是,则执行步骤S3,所述第一安全通道为客户端与云平台之间首次创建安全通道时得到的安全通道;
S2:根据云平台加密公钥、当前时间戳和第一客户端随机数创建所述第一安全通道,并在创建所述第一安全通道的同时进行身份认证和第一密钥协商;
S3:基于预置会话密钥,在第二安全通道上进行第二密钥协商,其中,所述预置会话密钥为所述第一安全通道对应的会话密钥,所述第二安全通道为客户端与云平台之间除所述第一安全通道以外的安全通道。
优选地,所述步骤S2,包括:
通过客户端将第一客户端随机数通过云平台加密公钥加密成第一客户端随机数密文,对当前时间戳进行签名,得到时间签名,并将所述第一客户端随机数密文、所述当前时间戳、所述时间签名和客户端证书发送至云平台认证,所述客户端证书包括客户端签名证书和加密证书;
在云平台接收到客户端的认证请求报文后,根据所述所述当前时间戳、所述时间签名和客户端证书进行客户端身份验证;
通过云平台采用加密私钥将所述第一客户端随机数密文解密为第一解密随机数,并采用所述第一解密随机数将第一云平台随机数加密为第一云平台随机数密文;
通过云平台对第一云平台会话唯一标识、所述第一解密随机数和所述第一云平台随机数进行签名,得到第一云平台签名值,并将所述第一云平台会话唯一标识、所述第一云平台随机数密文和所述第一云平台签名值发送至客户端;
通过客户端采用所述第一客户端随机数对所述第一云平台随机数密文进行解密,得到第二解密随机数,并采用预置云平台签名证书验证所述第一云平台签名值,完成云平台认证协商。
优选地,所述步骤S3,包括:
通过客户端根据预置会话密钥将第二客户端随机数加密成第二客户端随机数密文,将第一云平台会话唯一标识和所述第二客户端随机数进行签名,得到客户端签名值,并将所述第一云平台会话唯一标识、所述第二客户端随机数密文、所述客户端签名值和客户端签名证书通过第二安全通道发送至云平台进行协商请求;
通过云平台根据所述第一云平台会话唯一标识得到的所述预置会话密钥将所述第二客户端随机数密文解密为第三解密随机数,并采用所述第三解密随机数将第二云平台随机数加密为第二云平台随机数密文;
在所述客户端签名值验证通过后,通过云平台对第二云平台会话唯一标识、所述第三解密随机数和所述第二云平台随机数进行签名,得到第二云平台签名值,并将所述第二云平台会话唯一标识、所述第二云平台随机数密文和所述第二云平台签名值通过所述第二安全通道发送至客户端;
通过客户端采用所述第二客户端随机数对所述第二云平台随机数密文进行解密,得到第四解密随机数,并采用预置云平台签名证书验证所述第二云平台签名值,完成云平台的第二密钥协商。
优选地,所述第一密钥协商与所述第二密钥协商均采用对称加密算法进行加密处理。
本申请第二方面提供了一种密钥协商装置,包括:
判断模块,用于判断客户端与云平台之间是否创建有第一安全通道,若否,则触发认证协商模块,若是,则触发密钥协商模块,所述第一安全通道为客户端与云平台之间首次创建安全通道时得到的安全通道;
认证协商模块,用于根据云平台加密公钥、当前时间戳和第一客户端随机数创建所述第一安全通道,并在创建所述第一安全通道的同时进行身份认证和第一密钥协商;
密钥协商模块,用于基于预置会话密钥,在第二安全通道上进行第二密钥协商,其中,所述预置会话密钥为所述第一安全通道对应的会话密钥,所述第二安全通道为客户端与云平台之间除所述第一安全通道以外的安全通道。
优选地,所述认证协商模块,包括:
认证请求子模块,用于通过客户端将第一客户端随机数通过云平台加密公钥加密成第一客户端随机数密文,对当前时间戳进行签名,得到时间签名,并将所述第一客户端随机数密文、所述当前时间戳、所述时间签名和客户端证书发送至云平台认证,所述客户端证书包括客户端签名证书和加密证书;
身份认证子模块,用于在云平台接收到客户端的认证请求报文后,根据所述所述当前时间戳、所述时间签名和客户端证书进行客户端身份验证;
第一密钥加密子模块,用于通过云平台采用加密私钥将所述第一客户端随机数密文解密为第一解密随机数,并采用所述第一解密随机数将第一云平台随机数加密为第一云平台随机数密文;
第一签名验证子模块,用于通过云平台对第一云平台会话唯一标识、所述第一解密随机数和所述第一云平台随机数进行签名,得到第一云平台签名值,并将所述第一云平台会话唯一标识、所述第一云平台随机数密文和所述第一云平台签名值发送至客户端;
认证协商子模块,用于通过客户端采用所述第一客户端随机数对所述第一云平台随机数密文进行解密,得到第二解密随机数,并采用预置云平台签名证书验证所述第一云平台签名值,完成云平台认证协商。
优选地,所述密钥协商模块,包括:
协商请求子模块,用于通过客户端根据预置会话密钥将第二客户端随机数加密成第二客户端随机数密文,将第一云平台会话唯一标识和所述第二客户端随机数进行签名,得到客户端签名值,并将所述第一云平台会话唯一标识、所述第二客户端随机数密文、所述客户端签名值和客户端签名证书通过第二安全通道发送至云平台进行协商请求;
第二密钥加密子模块,用于通过云平台根据所述第一云平台会话唯一标识得到的所述预置会话密钥将所述第二客户端随机数密文解密为第三解密随机数,并采用所述第三解密随机数将第二云平台随机数加密为第二云平台随机数密文;
第二签名验证子模块,用于在所述客户端签名值验证通过后,通过云平台对第二云平台会话唯一标识、所述第三解密随机数和所述第二云平台随机数进行签名,得到第二云平台签名值,并将所述第二云平台会话唯一标识、所述第二云平台随机数密文和所述第二云平台签名值通过所述第二安全通道发送至客户端;
密钥协商子模块,用于通过客户端采用所述第二客户端随机数对所述第二云平台随机数密文进行解密,得到第四解密随机数,并采用预置云平台签名证书验证所述第二云平台签名值,完成云平台的第二密钥协商。
优选地,所述第一密钥协商与所述第二密钥协商均采用对称加密算法进行加密处理。
本申请第三方面提供了一种密钥协商设备,所述设备包括处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面所述的密钥协商方法。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面所述的密钥协商方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请中,提供了一种密钥协商方法,包括:S1:判断客户端与云平台之间是否创建有第一安全通道,若否,则执行步骤S2,若是,则执行步骤S3,第一安全通道为客户端与云平台之间首次创建安全通道时得到的安全通道;S2:根据云平台加密公钥、当前时间戳和第一客户端随机数创建第一安全通道,并在创建第一安全通道的同时进行身份认证和第一密钥协商;S3:基于预置会话密钥,在第二安全通道上进行第二密钥协商,其中,预置会话密钥为第一安全通道对应的会话密钥,第二安全通道为客户端与云平台之间除第一安全通道以外的安全通道。
本申请提供的密钥协商方法,从两个方面提高了客户端与云平台服务器之间的交互效率,一方面在首次进行安全通道创建时,同时完成了创建安全通道时的身份认证和第一密钥协商,节省了通信次数,减少了协商耗时;另一方面,一旦客户端与云平台之间已经创建了第一安全通道,那么客户端与云平台之间不再需要进行身份认证,直接基于第一安全通道对应的会话密钥进行第二密钥协商即可,省去重复的认证时间,提高了通信效率。因此,本申请能够解决现有客户端与云平台的多次交互协商导致交互效率低且较为耗时的技术问题。
附图说明
图1为本申请实施例提供的一种密钥协商方法的一个流程示意图;
图2为本申请实施例提供的一种密钥协商方法的另一个流程示意图;
图3为本申请实施例提供的一种密钥协商装置的结构示意图;
图4为本申请实施例提供的第一安全通道中的身份认证和密钥协商流程示意图;
图5为本申请实施例提供的第二安全通道中的密钥协商流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,请参阅图1,本申请提供的一种密钥协商方法的实施例,包括:
步骤101、判断客户端与云平台之间是否创建有第一安全通道,若否,则执行步骤102,若是,则执行步骤103,第一安全通道为客户端与云平台之间首次创建安全通道时得到的安全通道。
步骤102、根据云平台加密公钥、当前时间戳和第一客户端随机数创建第一安全通道,并在创建第一安全通道的同时进行身份认证和第一密钥协商。
步骤103、基于预置会话密钥,在第二安全通道上进行第二密钥协商,其中,预置会话密钥为第一安全通道对应的会话密钥,第二安全通道为客户端与云平台之间除第一安全通道以外的安全通道。
需要说明的是,客户端与云平台之间可以存在多个安全通道,首次创建安全通道之前,客户端与云平台之间还不存在任何会话通道。如果客户端与云平台之间没有创建第一安全通道,则需要重建一个安全通道,创建过程中不仅仅需要进行身份认证,同时也将密钥协商完成,这样一次交互通信就可以实现客户端与云平台之间的认证和协商过程,从而提升了通信效率。若是已经存在第一安全通道,则在第一安全通道的会话密钥的基础上进行密钥协商即可,不涉及身份认证过程。第二安全通道可以看作是在第一安全通道创建后新增的安全通道。
本申请实施例提供的密钥协商方法,从两个方面提高了客户端与云平台服务器之间的交互效率,一方面在首次进行安全通道创建时,同时完成了创建安全通道时的身份认证和第一密钥协商,节省了通信次数,减少了协商耗时;另一方面,一旦客户端与云平台之间已经创建了第一安全通道,那么客户端与云平台之间不再需要进行身份认证,直接基于第一安全通道对应的会话密钥进行第二密钥协商即可,省去重复的认证时间,提高了通信效率。因此,本申请实施例能够解决现有客户端与云平台的多次交互协商导致交互效率低且较为耗时的技术问题。
为了便于理解,请参阅图2,本申请提供了一种密钥协商方法的另一个实施例,包括:
步骤201、判断客户端与云平台之间是否创建有第一安全通道,若否,则执行步骤2021-2025,若是,则执行步骤2031-2034,第一安全通道为客户端与云平台之间首次创建安全通道时得到的安全通道。
步骤2021、通过客户端将第一客户端随机数通过云平台加密公钥加密成第一客户端随机数密文,对当前时间戳进行签名,得到时间签名,并将第一客户端随机数密文、当前时间戳、时间签名和客户端证书发送至云平台认证,客户端证书包括客户端签名证书和加密证书。
需要说明的是,此部分在客户端与云平台之间还未创建任何安全通道的情况执行的操作,需要完成的任务是身份认证、安全通道创建以及密钥协商。客户端与云平台首次创建安全通道时,首先需要进行身份认证,另外,本实施例为了节省客户端与云平台交互的次数,将密钥协商与身份认证结合在一次交互通信中,加密能够确保信息的准确性,签名可以确保信息的完整性,因此,对随机数进行加密的同时;需要对当前时间戳进行签名。加密证书和客户端签名证书发送至云平台是为了便于云平台完成对客户端的身份认证和密钥协商。
步骤2022、在云平台接收到客户端的认证请求报文后,根据当前时间戳、时间签名和客户端证书进行客户端身份验证。
需要说明的是,云平台接收到客户端的认证请求报文后,首先是进行客户端签名证书和加密证书的验证,其次是时间签名的验证,验证均通过后即完成了对客户端身份的认证过程,即先进行身份认证,再进行密钥协商,但是认证和协商所需参数是一次发送至云平台。
步骤2023、通过云平台采用加密私钥将第一客户端随机数密文解密为第一解密随机数,并采用第一解密随机数将第一云平台随机数加密为第一云平台随机数密文。
需要说明的是,云平台的加密私钥是与云平台加密公钥对应的,因此,在客户端采用云平台加密公钥对其随机数进行加密的情况下,云平台可以采用其对应的加密私钥进行解密。第一解密随机数在解密成功的情况下一般就是第一客户端随机数,采用解密得到的第一客户端随机数加密云平台的第一云平台随机数就可以得到反馈给客户端的密钥协商参数,即第一云平台随机数密文。
步骤2024、通过云平台对第一云平台会话唯一标识、第一解密随机数和第一云平台随机数进行签名,得到第一云平台签名值,并将第一云平台会话唯一标识、第一云平台随机数密文和第一云平台签名值发送至客户端。
需要说明的是,第一云平台会话唯一标识是云平台根据本次建立的会话生成的参数。云平台的签名涉及了多个不同的参数,主要是两个随机数,便于客户端验证后得到协商后的密钥。
步骤2025、通过客户端采用第一客户端随机数对第一云平台随机数密文进行解密,得到第二解密随机数,并采用预置云平台签名证书验证第一云平台签名值,完成云平台认证协商。
需要说明的是,云平台是采用第一解密随机数对自身的随机数进行加密的,而第一解密随机数即为第一客户端随机数,因此,客户端可以直接采用第一客户端随机数对第一云平台随机数密文进行解密,得到第二解密随机数,同理可以理解的是,第二解密随机数同样即为第一云平台随机数。预置云平台签名证书是交互之前客户端预置得到的,通过预置云平台签名证书可以验证第一云平台签名值是否正确,从而明确接收到的信息是否存在丢失或者缺损的情况。客户端通过第一安全通道完成密钥协商后,可以根据第一云平台随机数和第一客户端随机数获取协商密钥。
步骤2031、通过客户端根据预置会话密钥将第二客户端随机数加密成第二客户端随机数密文,将第一云平台会话唯一标识和第二客户端随机数进行签名,得到客户端签名值,并将第一云平台会话唯一标识、第二客户端随机数密文、客户端签名值和客户端签名证书通过第二安全通道发送至云平台进行协商请求。
需要说明的是,预置会话密钥为第一安全通道对应的会话密钥,第二安全通道为客户端与云平台之间除第一安全通道以外的安全通道。此部分是在客户端与云平台之间已经存在第一安全通道的情况下的操作,不需要再次进行身份认证,需要完成的任务是第二安全通道中的密钥协商。随机数都是随机生成的参数,因此,第二客户端随机数与第一客户端随机数虽然都是客户端处的随机数,但是数值并不一样。此处加密第二客户端随机数没有采用加密公钥,而是采用预置会话密钥,也就是已经创建的第一安全通道的会话密钥。除了发送签名值和随机数密文之外,还需要将第一云平台会话唯一标识发送至云平台,这样云平台才能根据第一安全通道的位移标识查找到预置会话密钥,即第一安全通道对应的会话密钥,可以理解,第一云平台会话唯一标识与第一安全通道对应的会话密钥是一一对应的。
步骤2032、通过云平台根据第一云平台会话唯一标识得到的预置会话密钥将第二客户端随机数密文解密为第三解密随机数,并采用第三解密随机数将第二云平台随机数加密为第二云平台随机数密文。
需要说明的是,解密后得到的第三解密随机数即为第二客户端随机数,所以是采用解密得到的第二客户端随机数加密第二云平台随机数,得到第二云平台随机数密文。
步骤2033、在客户端签名值验证通过后,通过云平台对第二云平台会话唯一标识、第三解密随机数和第二云平台随机数进行签名,得到第二云平台签名值,并将第二云平台会话唯一标识、第二云平台随机数密文和第二云平台签名值通过第二安全通道发送至客户端。
需要说明的是,此处签名的重要参数是第三解密随机数与第二云平台随机数,两个随机数签名后发送至客户端能够确定密钥协商得到的密钥。第二云平台会话唯一标识是根据本次会话生成的唯一标识。
步骤2034、通过客户端采用第二客户端随机数对第二云平台随机数密文进行解密,得到第四解密随机数,并采用预置云平台签名证书验证第二云平台签名值,完成云平台的第二密钥协商。
可以理解的是,第一密钥协商与第二密钥协商均采用对称加密算法进行加密处理。
需要说明的是,这次只需要进行密钥协商,不再进行身份认证。加密保证信息的准确性,而签名则保证了信息的完整性。采用对称加密算法相较于采用非对称加密算法的优势在于,可以极大程度提高密钥协商的效率。最后得到第四解密随机数即为第二云平台随机数,以及自身的第二客户端随机数,将两个随机数作异或操作就可以得到当前安全通道的协商密钥,也就是会话密钥,此处的当前安全通道是指第二安全通道。
为了便于理解,本申请还提供密钥协商方法的两个应用例,在客户端与云平台之间还未创建第一安全通道的情况下,请参阅图4,客户端首先需要预置云平台的签名证书SCertB和加密证书ECertB,客户端与云平台之间保持时间同步;在客户端生成随机数并使用云平台加密公钥PKB加密得到获取当前时间戳TA,并对其进行签名,得到SPK-A(TA),客户端将自身的客户端签名证书SCertA、加密证书ECertA、时间戳和时间签名SPK-A(TA)、第一客户端随机数密文发送至云平台,即进行认证请求;云平台接收到客户端的请求报文后,首先验证客户端的客户端签名证书SCertA和加密证书ECertB的有效性,验证失败则立即结束流程,证书验证通过,则继续验证时间戳TA以及时间签名SPK-A(TA),验证通过则完成了对客户端的身份认证。云平台为本次创建会话生成唯一标识SID;使用自身的加密私钥解密出客户端发送过来的第一客户端随机数密文进行解密,得到第一解密随机数,即上述第一客户端随机数采用第一客户端随机数加密第一云平台随机数得到第一云平台随机数密文对唯一标识SID、进行签名得到SPK-B(SID||RA||RB),将SID、SPK-B(SID||RA||RB)发送至客户端。客户端采用第一客户端随机数解密得到第二解密随机数,即第一云平台随机数采用云平台签名证书SCertB验证签名SPK-B(SID||RA||RB);至此完成客户端对云平台的身份认证以及二者之间的密钥协商。
在客户端与云平台之间已经存在第一安全通道的情况下,请参阅图5,客户端采用第一安全通道对应的会话密钥对第二客户端随机数进行加密,得到对第一云平台会话唯一标识SID和进行签名,得到将SCertA、SID、和发送至云平台,发起密钥协商请求;云平台首先验证SCertA的有效性,然后根据第一云平台会话唯一标识SID找到会话密钥,并解密出第二客户端随机数同时对进行验证,验证失败则立即结束通信流程;此处云平台同样会根据本次会话生成第二云平台会话唯一标识SID2,采用第二客户端随机数加密云平台的第二云平台随机数可以得到对第二云平台会话唯一标识SID2、进行签名得到然后将SID2、和发送至客户端。客户端使用第二客户端随机数对进行解密,得到第二云平台随机数使用预置得到的云平台签名证书可以验证签名值从而实现客户端与云平台之间的密钥协商。
为了便于理解,请参阅图3,本申请还提供了一种密钥协商装置的实施例,包括:
判断模块301,用于判断客户端与云平台之间是否创建有第一安全通道,若否,则触发认证协商模块,若是,则触发密钥协商模块,第一安全通道为客户端与云平台之间首次创建安全通道时得到的安全通道;
认证协商模块302,用于根据云平台加密公钥、当前时间戳和第一客户端随机数创建第一安全通道,并在创建第一安全通道的同时进行身份认证和第一密钥协商;
密钥协商模块303,用于基于预置会话密钥,在第二安全通道上进行第二密钥协商,其中,预置会话密钥为第一安全通道对应的会话密钥,第二安全通道为客户端与云平台之间除第一安全通道以外的安全通道。
进一步地,认证协商模块302,包括:
认证请求子模块3021,用于通过客户端将第一客户端随机数通过云平台加密公钥加密成第一客户端随机数密文,对当前时间戳进行签名,得到时间签名,并将第一客户端随机数密文、当前时间戳、时间签名和客户端证书发送至云平台认证,客户端证书包括客户端签名证书和加密证书;
身份认证子模块3022,用于在云平台接收到客户端的认证请求报文后,根据当前时间戳、时间签名和客户端证书进行客户端身份验证;
第一密钥加密子模块3023,用于通过云平台采用加密私钥将第一客户端随机数密文解密为第一解密随机数,并采用第一解密随机数将第一云平台随机数加密为第一云平台随机数密文;
第一签名验证子模块3024,用于通过云平台对第一云平台会话唯一标识、第一解密随机数和第一云平台随机数进行签名,得到第一云平台签名值,并将第一云平台会话唯一标识、第一云平台随机数密文和第一云平台签名值发送至客户端;
认证协商子模块3025,用于通过客户端采用第一客户端随机数对第一云平台随机数密文进行解密,得到第二解密随机数,并采用客户端签名证书验证第一云平台签名值,完成云平台认证协商。
进一步地,密钥协商模块303,包括:
协商请求子模块3031,用于通过客户端根据预置会话密钥将第二客户端随机数加密成第二客户端随机数密文,将第一云平台会话唯一标识和第二客户端随机数进行签名,得到客户端签名值,并将第一云平台会话唯一标识、第二客户端随机数密文、客户端签名值和客户端签名证书通过第二安全通道发送至云平台进行协商请求;
第二密钥加密子模块3032,用于通过云平台根据第一云平台会话唯一标识得到的预置会话密钥将第二客户端随机数密文解密为第三解密随机数,并采用第三解密随机数将第二云平台随机数加密为第二云平台随机数密文;
第二签名验证子模块3033,用于在客户端签名值验证通过后,通过云平台对第二云平台会话唯一标识、第三解密随机数和第二云平台随机数进行签名,得到第二云平台签名值,并将第二云平台会话唯一标识、第二云平台随机数密文和第二云平台签名值通过第二安全通道发送至客户端;
密钥协商子模块3034,用于通过客户端采用第二客户端随机数对第二云平台随机数密文进行解密,得到第四解密随机数,并采用客户端签名证书验证第二云平台签名值,完成云平台的第二密钥协商。
进一步地,第一密钥协商与第二密钥协商均采用对称加密算法进行加密处理。
本申请还提供了一种密钥协商设备,设备包括处理器以及存储器;
存储器用于存储程序代码,并将程序代码传输给处理器;
处理器用于根据程序代码中的指令执行上述方法实施例中的密钥协商方法。
本申请还提供了一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行上述方法实施例中的密钥协商方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以通过一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (6)
1.一种密钥协商方法,其特征在于,包括:
S1:判断客户端与云平台之间是否创建有第一安全通道,若否,则执行步骤S2,若是,则执行步骤S3,所述第一安全通道为客户端与云平台之间首次创建安全通道时得到的安全通道;
S2:根据云平台加密公钥、当前时间戳和第一客户端随机数创建所述第一安全通道,并在创建所述第一安全通道的同时进行身份认证和第一密钥协商;
S3:基于预置会话密钥,在第二安全通道上进行第二密钥协商,其中,所述预置会话密钥为所述第一安全通道对应的会话密钥,所述预置会话密钥为在所述第一安全通道创建时通过第一密钥协商得到,所述第二安全通道为客户端与云平台之间除所述第一安全通道以外的安全通道;
所述步骤S2,包括:
通过客户端将第一客户端随机数通过云平台加密公钥加密成第一客户端随机数密文,对当前时间戳进行签名,得到时间签名,并将所述第一客户端随机数密文、所述当前时间戳、所述时间签名和客户端证书发送至云平台认证,所述客户端证书包括客户端签名证书和加密证书;
在云平台接收到客户端的认证请求报文后,根据所述所述当前时间戳、所述时间签名和客户端证书进行客户端身份验证;
通过云平台采用加密私钥将所述第一客户端随机数密文解密为第一解密随机数,并采用所述第一解密随机数将第一云平台随机数加密为第一云平台随机数密文;
通过云平台对第一云平台会话唯一标识、所述第一解密随机数和所述第一云平台随机数进行签名,得到第一云平台签名值,并将所述第一云平台会话唯一标识、所述第一云平台随机数密文和所述第一云平台签名值发送至客户端;
通过客户端采用所述第一客户端随机数对所述第一云平台随机数密文进行解密,得到第二解密随机数,并采用预置云平台签名证书验证所述第一云平台签名值,完成云平台认证协商;
所述步骤S3,包括:
通过客户端根据预置会话密钥将第二客户端随机数加密成第二客户端随机数密文,将第一云平台会话唯一标识和所述第二客户端随机数进行签名,得到客户端签名值,并将所述第一云平台会话唯一标识、所述第二客户端随机数密文、所述客户端签名值和客户端签名证书通过第二安全通道发送至云平台进行协商请求;
通过云平台根据所述第一云平台会话唯一标识得到的所述预置会话密钥将所述第二客户端随机数密文解密为第三解密随机数,并采用所述第三解密随机数将第二云平台随机数加密为第二云平台随机数密文;
在所述客户端签名值验证通过后,通过云平台对第二云平台会话唯一标识、所述第三解密随机数和所述第二云平台随机数进行签名,得到第二云平台签名值,并将所述第二云平台会话唯一标识、所述第二云平台随机数密文和所述第二云平台签名值通过所述第二安全通道发送至客户端;
通过客户端采用所述第二客户端随机数对所述第二云平台随机数密文进行解密,得到第四解密随机数,并采用预置云平台签名证书验证所述第二云平台签名值,完成云平台的第二密钥协商。
2.根据权利要求1所述的密钥协商方法,其特征在于,所述第一密钥协商与所述第二密钥协商均采用对称加密算法进行加密处理。
3.一种密钥协商装置,其特征在于,包括:
判断模块,用于判断客户端与云平台之间是否创建有第一安全通道,若否,则触发认证协商模块,若是,则触发密钥协商模块,所述第一安全通道为客户端与云平台之间首次创建安全通道时得到的安全通道;
认证协商模块,用于根据云平台加密公钥、当前时间戳和第一客户端随机数创建所述第一安全通道,并在创建所述第一安全通道的同时进行身份认证和第一密钥协商;
密钥协商模块,用于基于预置会话密钥,在第二安全通道上进行第二密钥协商,其中,所述预置会话密钥为所述第一安全通道对应的会话密钥,所述预置会话密钥为在所述第一安全通道创建时通过第一密钥协商得到,所述第二安全通道为客户端与云平台之间除所述第一安全通道以外的安全通道;
其中,所述认证协商模块,包括:
认证请求子模块,用于通过客户端将第一客户端随机数通过云平台加密公钥加密成第一客户端随机数密文,对当前时间戳进行签名,得到时间签名,并将所述第一客户端随机数密文、所述当前时间戳、所述时间签名和客户端证书发送至云平台认证,所述客户端证书包括客户端签名证书和加密证书;
身份认证子模块,用于在云平台接收到客户端的认证请求报文后,根据所述当前时间戳、所述时间签名和客户端证书进行客户端身份验证;
第一密钥加密子模块,用于通过云平台采用加密私钥将所述第一客户端随机数密文解密为第一解密随机数,并采用所述第一解密随机数将第一云平台随机数加密为第一云平台随机数密文;
第一签名验证子模块,用于通过云平台对第一云平台会话唯一标识、所述第一解密随机数和所述第一云平台随机数进行签名,得到第一云平台签名值,并将所述第一云平台会话唯一标识、所述第一云平台随机数密文和所述第一云平台签名值发送至客户端;
认证协商子模块,用于通过客户端采用所述第一客户端随机数对所述第一云平台随机数密文进行解密,得到第二解密随机数,并采用预置云平台签名证书验证所述第一云平台签名值,完成云平台认证协商;
所述密钥协商模块,包括:
协商请求子模块,用于通过客户端根据预置会话密钥将第二客户端随机数加密成第二客户端随机数密文,将第一云平台会话唯一标识和所述第二客户端随机数进行签名,得到客户端签名值,并将所述第一云平台会话唯一标识、所述第二客户端随机数密文、所述客户端签名值和客户端签名证书通过第二安全通道发送至云平台进行协商请求;
第二密钥加密子模块,用于通过云平台根据所述第一云平台会话唯一标识得到的所述预置会话密钥将所述第二客户端随机数密文解密为第三解密随机数,并采用所述第三解密随机数将第二云平台随机数加密为第二云平台随机数密文;
第二签名验证子模块,用于在所述客户端签名值验证通过后,通过云平台对第二云平台会话唯一标识、所述第三解密随机数和所述第二云平台随机数进行签名,得到第二云平台签名值,并将所述第二云平台会话唯一标识、所述第二云平台随机数密文和所述第二云平台签名值通过所述第二安全通道发送至客户端;
密钥协商子模块,用于通过客户端采用所述第二客户端随机数对所述第二云平台随机数密文进行解密,得到第四解密随机数,并采用预置云平台签名证书验证所述第二云平台签名值,完成云平台的第二密钥协商。
4.根据权利要求3所述的密钥协商装置,其特征在于,所述第一密钥协商与所述第二密钥协商均采用对称加密算法进行加密处理。
5.一种密钥协商设备,其特征在于,所述设备包括处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-2任一项所述的密钥协商方法。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码被处理器执行时用于执行权利要求1-2任一项所述的密钥协商方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011342766.XA CN112600667B (zh) | 2020-11-25 | 2020-11-25 | 一种密钥协商方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011342766.XA CN112600667B (zh) | 2020-11-25 | 2020-11-25 | 一种密钥协商方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112600667A CN112600667A (zh) | 2021-04-02 |
CN112600667B true CN112600667B (zh) | 2023-04-07 |
Family
ID=75184645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011342766.XA Active CN112600667B (zh) | 2020-11-25 | 2020-11-25 | 一种密钥协商方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112600667B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114154988B (zh) * | 2021-12-03 | 2024-09-24 | 福建师范大学 | 基于国产区块链的匿名密钥协商方法 |
CN114500040B (zh) * | 2022-01-24 | 2023-09-19 | 北京金数信安科技有限公司 | 一种基于国密算法的安全高效通信方法及其实现 |
CN114422256B (zh) * | 2022-01-24 | 2023-11-17 | 南京南瑞信息通信科技有限公司 | 一种基于ssal/ssl协议的高性能安全接入方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468126A (zh) * | 2014-12-26 | 2015-03-25 | 北京深思数盾科技有限公司 | 一种安全通信系统及方法 |
CN108476210A (zh) * | 2015-12-31 | 2018-08-31 | 皇家飞利浦有限公司 | 具有多重安全级别的无线通信系统 |
CN108777678A (zh) * | 2018-05-18 | 2018-11-09 | 北京邮电大学 | 一种网络密钥交互系统、装置及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102399665B1 (ko) * | 2015-09-11 | 2022-05-19 | 삼성전자주식회사 | 전자 장치의 근접 인증 방법 및 그 장치 |
-
2020
- 2020-11-25 CN CN202011342766.XA patent/CN112600667B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468126A (zh) * | 2014-12-26 | 2015-03-25 | 北京深思数盾科技有限公司 | 一种安全通信系统及方法 |
CN108476210A (zh) * | 2015-12-31 | 2018-08-31 | 皇家飞利浦有限公司 | 具有多重安全级别的无线通信系统 |
CN108777678A (zh) * | 2018-05-18 | 2018-11-09 | 北京邮电大学 | 一种网络密钥交互系统、装置及方法 |
Non-Patent Citations (3)
Title |
---|
TLS1.3初探;陈健;《绿盟科技技术博客》;20181017;全文 * |
基于PKI体系的跨域密钥协商协议;魏振宇等;《计算机科学》;20170115(第01期);全文 * |
面向TWDM-PON的安全通信协议研究;曾学茹;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20200228(第2期);第三章 * |
Also Published As
Publication number | Publication date |
---|---|
CN112600667A (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110380852B (zh) | 双向认证方法及通信系统 | |
CN103067401B (zh) | 密钥保护方法和系统 | |
CN112600667B (zh) | 一种密钥协商方法、装置、设备及存储介质 | |
CN103118027B (zh) | 基于国密算法建立tls通道的方法 | |
WO2017097041A1 (zh) | 数据传输方法和装置 | |
CA3164765A1 (en) | Secure communication method and device based on identity authentication | |
CN104836784B (zh) | 一种信息处理方法、客户端和服务器 | |
CN111435913A (zh) | 一种物联网终端的身份认证方法、装置和存储介质 | |
CN112351037B (zh) | 用于安全通信的信息处理方法及装置 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN111130798B (zh) | 一种请求鉴权方法及相关设备 | |
CN113497778A (zh) | 一种数据的传输方法和装置 | |
CN111131416A (zh) | 业务服务的提供方法和装置、存储介质、电子装置 | |
CN110839240B (zh) | 一种建立连接的方法及装置 | |
CN108809936B (zh) | 一种基于混合加密算法的智能移动终端身份验证方法及其实现系统 | |
CN114697040B (zh) | 一种基于对称密钥的电子签章方法和系统 | |
CN110380859B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和系统 | |
US20210328799A1 (en) | Automated authentication of a new network element | |
WO2018120938A1 (zh) | 密钥离线传输方法、终端和存储介质 | |
CN115225672B (zh) | 端到端的数据传输方法、设备和介质 | |
CN113204760B (zh) | 用于软件密码模块的安全通道建立方法及系统 | |
CN109005184A (zh) | 文件加密方法及装置、存储介质、终端 | |
CN117240625B (zh) | 一种涉及防篡改的数据处理方法、装置及电子设备 | |
CN111010399A (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
CN111585995A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |