CN109039657A - 密钥协商方法、设备、终端、存储介质以及系统 - Google Patents
密钥协商方法、设备、终端、存储介质以及系统 Download PDFInfo
- Publication number
- CN109039657A CN109039657A CN201811302230.8A CN201811302230A CN109039657A CN 109039657 A CN109039657 A CN 109039657A CN 201811302230 A CN201811302230 A CN 201811302230A CN 109039657 A CN109039657 A CN 109039657A
- Authority
- CN
- China
- Prior art keywords
- key
- terminal
- equipment
- session
- public key
- 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.)
- Granted
Links
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
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种密钥协商方法,包括以下步骤:设备在接收到终端发送的密钥协商请求报文后,根据所述密钥协商请求报文获取终端公钥;根据所述终端公钥以及设备私钥生成并保存第一会话密钥;将设备公钥返回至所述终端,以供所述终端在接收到所述设备公钥时,根据所述设备公钥以及终端私钥生成并保存第二会话密钥。本发明还公开了一种设备、终端、计算机可读存储介质以及密钥协商系统。本发明提高了设备与终端之间会话密钥的安全性,进而增强了设备与终端之间通信的安全性。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种密钥协商方法、设备、终端、计算机可读存储介质以及密钥协商系统。
背景技术
随着信息技术的不断发展,智能设备广泛应用于生活中,比如用户通过终端向智能设备发送指令,以实现对智能设备的控制。现有的设备与终端一般通过固定的密钥进行通信,但是这种方式安全性较低,比如密钥一旦泄露,整个安全体系崩溃。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种密钥协商方法、设备、终端、计算机可读存储介质以及密钥协商系统,旨在提高设备与终端之间会话密钥的安全性,进而增强设备与终端之间通信的安全性。
为实现上述目的,本发明提供一种密钥协商方法,所述密钥协商方法包括以下步骤:
设备在接收到终端发送的密钥协商请求报文后,根据所述密钥协商请求报文获取终端公钥,其中,所述终端根据所述终端公钥生成所述密钥协商请求报文发送至所述设备;
根据所述终端公钥以及设备私钥生成并保存第一会话密钥;
将设备公钥返回至所述终端,以供所述终端在接收到所述设备公钥时,根据所述设备公钥以及终端私钥生成并保存第二会话密钥,其中,所述第二会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥。
优选地,所述根据所述终端公钥以及设备私钥生成并保存第一会话密钥的步骤之后,还包括:
根据预设算法对所述第一会话密钥加密生成第一密钥校验值;
将所述设备公钥以及所述第一密钥校验值返回至所述终端,其中,所述终端在接收到所述设备公钥以及所述第一密钥校验值时,根据所述设备公钥以及所述终端私钥生成第三会话密钥,并根据所述预设算法对所述第三会话密钥加密生成第二密钥校验值,在所述第二密钥校验值与所述第一密钥校验值一致时,保存所述第三会话密钥,所述第三会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥。
优选地,所述根据预设算法对所述第一会话密钥加密生成第一密钥校验值的步骤之后,还包括:
将设备公钥证书以及所述第一密钥校验值返回至所述终端,其中,所述终端在接收到所述设备公钥证书以及所述第一密钥校验值时,从所述设备公钥证书中提取所述设备公钥,根据所述设备公钥以及所述终端私钥生成第四会话密钥,并根据所述预设算法对所述第四会话密钥加密生成第三密钥校验值,在所述第三密钥校验值与所述第一密钥校验值一致时,保存所述第四会话密钥,所述第四会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥。
优选地,所述根据预设算法对所述第一会话密钥加密生成第一密钥校验值的步骤包括:
根据所述第一会话密钥对预定字节进行加密,得到加密结果;
将所述加密结果的预设字节作为所述第一密钥校验值。
优选地,所述将所述设备公钥以及所述第一密钥校验值返回至所述终端的步骤之后,还包括:
所述设备在接收到所述终端返回的密钥协商确认信息时,利用所述会话密钥解密所述密钥协商确认信息得到解密结果;
在所述解密结果中包含预设字段时,则发送密钥协商确认报文至所述终端。
优选地,所述根据所述终端公钥以及设备私钥生成并保存第一会话密钥的步骤包括:
将所述终端公钥与所述设备私钥进行拼接,得到拼接结果;
将所述拼接结果作为所述第一会话密钥。
为实现上述目的,本发明还提供一种密钥协商方法,所述密钥协商方法包括以下步骤:
终端根据终端公钥生成密钥协商请求报文发送至设备,以供所述设备根据所述密钥协商请求报文获取所述终端公钥,根据所述终端公钥以及设备私钥生成并保存第一会话密钥,并将所述设备公钥返回至所述终端;
所述终端在接收到所述设备公钥时,根据所述设备公钥以及终端私钥生成并保存第二会话密钥,其中,所述第二会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥。
优选地,所述终端根据终端公钥生成密钥协商请求报文发送至设备的步骤之后,还包括:
所述终端在接收到所述设备公钥以及第一密钥校验值时,根据所述设备公钥以及所述终端私钥生成第三会话密钥,并根据预设算法对所述第三会话密钥加密生成第二密钥校验值,在所述第二密钥校验值与所述第一密钥校验值一致时,保存所述第三会话密钥,所述第三会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥,其中,所述设备根据所述预设算法对所述第一会话密钥加密生成第一密钥校验值,并将所述设备公钥以及所述第一密钥校验值返回至所述终端。
优选地,所述终端根据终端公钥生成密钥协商请求报文发送至设备的步骤之后,还包括:
所述终端在接收到设备公钥证书以及所述第一密钥校验值时,从所述设备公钥证书中提取所述设备公钥,根据所述设备公钥以及所述终端私钥生成第四会话密钥,并根据所述预设算法对所述第四会话密钥加密生成第三密钥校验值,在所述第三密钥校验值与所述第一密钥校验值一致时,保存所述第四会话密钥,所述第四会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥,其中,所述设备根据所述预设算法对所述第一会话密钥加密生成第一密钥校验值,并将所述设备公钥证书以及所述第一密钥校验值返回至所述终端。
优选地,所述根据预设算法对所述第三会话密钥加密生成第二密钥校验值的步骤包括:
根据所述第三会话密钥对预定字节进行加密,得到加密结果;
将所述加密结果的预设字节作为所述第二密钥校验值。
优选地,所述第二会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥的步骤之后,还包括:
所述终端利用所述会话密钥对预设字段进行加密,得到密钥协商确认信息;
将所述密钥协商确认信息发送至所述设备,以供所述设备在接收到所述密钥协商确认信息时,利用所述会话密钥解密所述密钥协商确认信息得到解密结果,在所述解密结果中包含所述预设字段时,则发送密钥协商确认报文至所述终端。
优选地,所述根据所述设备公钥以及终端私钥生成并保存第二会话密钥的步骤包括:
将所述设备公钥与所述终端私钥进行拼接,得到拼接结果;
将所述拼接结果作为所述第二会话密钥。
优选地,所述从所述设备公钥证书中提取所述设备公钥的步骤之前,还包括:
对所述设备公钥证书中的预设信息进行哈希运算,得到第二哈希值,所述预设信息包括证书格式、证书序列号、哈希算法标识、设备公钥算法标识以及所述设备公钥中的至少一个;
在所述第二哈希值与所述设备公钥证书中的第一哈希值一致时,则执行所述从所述设备公钥证书中提取所述设备公钥的步骤。
优选地,所述对所述设备公钥证书中的预设信息进行哈希运算的步骤之前,还包括:
利用预设服务器公钥解密所述设备公钥证书中的签名结果,得到第三哈希值,其中,所述签名结果为所述云服务器利用预设服务器私钥对所述第一哈希值进行加密得到;
在所述第三哈希值与所述第一哈希值一致时,执行所述对所述设备公钥证书中的预设信息进行哈希运算的步骤。
为实现上述目的,本发明还提供一种设备,所述设备包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的密钥协商程序,所述密钥协商程序被所述处理器执行时实现上述密钥协商方法的步骤。
为实现上述目的,本发明还提供一种终端,所述终端包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的密钥协商程序,所述密钥协商程序被所述处理器执行时实现上述密钥协商方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有密钥协商程序,所述密钥协商程序被处理器执行时实现上述密钥协商方法的步骤。
为实现上述目的,本发明还提供一种密钥协商系统,所述密钥协商系统包括上述设备,以及上述终端。
本发明提供的密钥协商方法、设备、终端、计算机可读存储介质以及密钥协商系统,设备根据终端发送的密钥协商请求报文获取终端公钥,根据终端公钥以及设备私钥生成并保存第一会话密钥,并将设备公钥返回至终端,以供终端根据设备公钥以及终端私钥生成并保存第二会话密钥。本发明提高了设备与终端之间会话密钥的安全性,进而增强了设备与终端之间通信的安全性。
附图说明
图1为本发明实施例方案涉及的终端的硬件运行环境示意图;
图2为本发明密钥协商方法第一实施例的流程示意图;
图3为本发明密钥协商方法第二实施例的流程示意图;
图4为本发明密钥协商方法第三实施例的流程示意图;
图5为本发明密钥协商方法第四实施例的流程示意图;
图6为本发明密钥协商方法第五实施例的流程示意图;
图7为本发明密钥协商方法第六实施例的流程示意图;
图8为本发明密钥协商方法第七实施例的流程示意图;
图9为本发明密钥协商方法第八实施例的流程示意图;
图10为本发明密钥协商方法第九实施例的流程示意图;
图11为本发明密钥协商方法第十实施例的流程示意图;
图12为本发明密钥协商方法第十一实施例的流程示意图;
图13为本发明密钥协商方法第十二实施例的流程示意图;
图14为本发明密钥协商方法第十三实施例的流程示意图;
图15为本发明密钥协商方法第十四实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种密钥协商方法,提高了设备与终端之间会话密钥的安全性,进而增强了设备与终端之间通信的安全性。
如图1所示,图1是本发明实施例方案涉及的终端的硬件运行环境示意图。
本发明实施例终端可以是设备,比如空调器、空气调节器、电饭煲、智能门锁等,也可以是终端,比如手机、平板电脑、PC等。
如图1所示,该实施例终端可以包括:处理器1001,例如CPU,存储器1002,通信总线1003。其中,通信总线1003用于实现该服务器中各组成部件之间的连接通信。存储器1002可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1002可选的还可以是独立于前述处理器1001的存储装置。
如图1所示,作为一种计算机存储介质的存储器1002中可以包括密钥协商程序。
在图1所示的实施例终端中,处理器1001可以用于调用存储器1002中存储的密钥协商程序,并执行以下操作:
设备在接收到终端发送的密钥协商请求报文后,根据所述密钥协商请求报文获取终端公钥,其中,所述终端根据所述终端公钥生成所述密钥协商请求报文发送至所述设备;
根据所述终端公钥以及设备私钥生成并保存第一会话密钥;
将设备公钥返回至所述终端,以供所述终端在接收到所述设备公钥时,根据所述设备公钥以及终端私钥生成并保存第二会话密钥,其中,所述第二会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥。
进一步地,处理器1001可以调用存储器1002中存储的密钥协商程序,还执行以下操作:
根据预设算法对所述第一会话密钥加密生成第一密钥校验值;
将所述设备公钥以及所述第一密钥校验值返回至所述终端,其中,所述终端在接收到所述设备公钥以及所述第一密钥校验值时,根据所述设备公钥以及所述终端私钥生成第三会话密钥,并根据所述预设算法对所述第三会话密钥加密生成第二密钥校验值,在所述第二密钥校验值与所述第一密钥校验值一致时,保存所述第三会话密钥,所述第三会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥。
进一步地,处理器1001可以调用存储器1002中存储的密钥协商程序,还执行以下操作:
将设备公钥证书以及所述第一密钥校验值返回至所述终端,其中,所述终端在接收到所述设备公钥证书以及所述第一密钥校验值时,从所述设备公钥证书中提取所述设备公钥,根据所述设备公钥以及所述终端私钥生成第四会话密钥,并根据所述预设算法对所述第四会话密钥加密生成第三密钥校验值,在所述第三密钥校验值与所述第一密钥校验值一致时,保存所述第四会话密钥,所述第四会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥。
进一步地,处理器1001可以调用存储器1002中存储的密钥协商程序,还执行以下操作:
根据所述第一会话密钥对预定字节进行加密,得到加密结果;
将所述加密结果的预设字节作为所述第一密钥校验值。
进一步地,处理器1001可以调用存储器1002中存储的密钥协商程序,还执行以下操作:
所述设备在接收到所述终端返回的密钥协商确认信息时,利用所述会话密钥解密所述密钥协商确认信息得到解密结果;
在所述解密结果中包含预设字段时,则发送密钥协商确认报文至所述终端。
进一步地,处理器1001可以调用存储器1002中存储的密钥协商程序,还执行以下操作:
将所述终端公钥与所述设备私钥进行拼接,得到拼接结果;
将所述拼接结果作为所述第一会话密钥。
进一步地,处理器1001可以调用存储器1002中存储的密钥协商程序,还执行以下操作:
终端根据终端公钥生成密钥协商请求报文发送至设备,以供所述设备根据所述密钥协商请求报文获取所述终端公钥,根据所述终端公钥以及设备私钥生成并保存第一会话密钥,并将所述设备公钥返回至所述终端;
所述终端在接收到所述设备公钥时,根据所述设备公钥以及终端私钥生成并保存第二会话密钥,其中,所述第二会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥。
进一步地,处理器1001可以调用存储器1002中存储的密钥协商程序,还执行以下操作:
所述终端在接收到所述设备公钥以及第一密钥校验值时,根据所述设备公钥以及所述终端私钥生成第三会话密钥,并根据预设算法对所述第三会话密钥加密生成第二密钥校验值,在所述第二密钥校验值与所述第一密钥校验值一致时,保存所述第三会话密钥,所述第三会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥,其中,所述设备根据所述预设算法对所述第一会话密钥加密生成第一密钥校验值,并将所述设备公钥以及所述第一密钥校验值返回至所述终端。
进一步地,处理器1001可以调用存储器1002中存储的密钥协商程序,还执行以下操作:
所述终端在接收到设备公钥证书以及所述第一密钥校验值时,从所述设备公钥证书中提取所述设备公钥,根据所述设备公钥以及所述终端私钥生成第四会话密钥,并根据所述预设算法对所述第四会话密钥加密生成第三密钥校验值,在所述第三密钥校验值与所述第一密钥校验值一致时,保存所述第四会话密钥,所述第四会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥,其中,所述设备根据所述预设算法对所述第一会话密钥加密生成第一密钥校验值,并将所述设备公钥证书以及所述第一密钥校验值返回至所述终端。
进一步地,处理器1001可以调用存储器1002中存储的密钥协商程序,还执行以下操作:
根据所述第三会话密钥对预定字节进行加密,得到加密结果;
将所述加密结果的预设字节作为所述第二密钥校验值。
进一步地,处理器1001可以调用存储器1002中存储的密钥协商程序,还执行以下操作:
所述终端利用所述会话密钥对预设字段进行加密,得到密钥协商确认信息;
将所述密钥协商确认信息发送至所述设备,以供所述设备在接收到所述密钥协商确认信息时,利用所述会话密钥解密所述密钥协商确认信息得到解密结果,在所述解密结果中包含所述预设字段时,则发送密钥协商确认报文至所述终端。
进一步地,处理器1001可以调用存储器1002中存储的密钥协商程序,还执行以下操作:
将所述设备公钥与所述终端私钥进行拼接,得到拼接结果;
将所述拼接结果作为所述第二会话密钥。
进一步地,处理器1001可以调用存储器1002中存储的密钥协商程序,还执行以下操作:
对所述设备公钥证书中的预设信息进行哈希运算,得到第二哈希值,所述预设信息包括证书格式、证书序列号、哈希算法标识、设备公钥算法标识以及所述设备公钥中的至少一个;
在所述第二哈希值与所述设备公钥证书中的第一哈希值一致时,则执行所述从所述设备公钥证书中提取所述设备公钥的步骤。
进一步地,处理器1001可以调用存储器1002中存储的密钥协商程序,还执行以下操作:
利用预设服务器公钥解密所述设备公钥证书中的签名结果,得到第三哈希值,其中,所述签名结果为所述云服务器利用预设服务器私钥对所述第一哈希值进行加密得到;
在所述第三哈希值与所述第一哈希值一致时,执行所述对所述设备公钥证书中的预设信息进行哈希运算的步骤。
参照图2,在第一实施例中,所述密钥协商方法包括:
步骤S10、设备在接收到终端发送的密钥协商请求报文后,根据所述密钥协商请求报文获取终端公钥,其中,所述终端根据所述终端公钥生成所述密钥协商请求报文发送至所述设备;
本实施例中,执行主体为设备。设备可以是空调器、洗衣机、智能门锁等多种智能设备,终端中的APP可以通过云服务器与设备进行通信,即用户可以通过APP发送指令,以控制智能设备。在设备与终端进行安全传输之前,需要进行密钥协商。
终端生成终端公钥以及终端私钥,其中,终端公钥以及终端私钥可以是临时密钥对。终端根据终端公钥以及终端公钥有效期标识生成密钥协商请求报文发送至设备。
步骤S11、根据所述终端公钥以及设备私钥生成并保存第一会话密钥;
步骤S12、将设备公钥返回至所述终端,以供所述终端在接收到所述设备公钥时,根据所述设备公钥以及终端私钥生成并保存第二会话密钥,其中,所述第二会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥。
本实施例中,设备利用设备私钥对终端公钥进行计算得到第一会话密钥,优选地,根据ECDH算法计算得到第一会话密钥。设备将设备公钥返回至终端,以供终端利用终端私钥对设备公钥进行计算得到第二会话密钥,优选地,根据ECDH算法计算得到第二会话密钥。由于ECDH算法的特性,第一会话密钥与第二会话密钥是一致的,因此第一会话密钥与第二会话密钥为设备与终端之间的会话密钥。
需要说明的是,第一会话密钥以及第二会话密钥的生成方式不限于ECDH算法,也可以是其它算法,比如ECC算法、RSA算法、ECDSA算法等,本发明不做具体限定。
在第一实施例中,设备根据密钥协商请求报文获取终端公钥,根据终端公钥以及设备私钥生成并保存第一会话密钥,并将设备公钥返回至终端,以供终端根据设备公钥以及终端私钥生成并保存第二会话密钥。这样,提高了设备与终端之间会话密钥的安全性,进而增强了设备与终端之间通信的安全性。
在第二实施例中,如图3所示,在上述图2所示的实施例基础上,所述根据所述终端公钥以及设备私钥生成并保存第一会话密钥的步骤之后,还包括:
步骤S13、根据预设算法对所述第一会话密钥加密生成第一密钥校验值;
步骤S14、将所述设备公钥以及所述第一密钥校验值返回至所述终端,其中,所述终端在接收到所述设备公钥以及所述第一密钥校验值时,根据所述设备公钥以及所述终端私钥生成第三会话密钥,并根据所述预设算法对所述第三会话密钥加密生成第二密钥校验值,在所述第二密钥校验值与所述第一密钥校验值一致时,保存所述第三会话密钥,所述第三会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥。
本实施例中,终端生成终端公钥以及终端私钥,其中,终端公钥以及终端私钥可以是临时密钥对。根据终端公钥以及终端公钥有效期标识生成密钥协商请求报文发送至设备。
设备在接收到密钥协商请求报文时,获取终端公钥,并利用设备私钥对终端公钥进行计算得到第一会话密钥,优选地,使用设备私钥通过ECDH算法对终端公钥计算得到第一会话密钥。并且,设备根据预设算法对第一会话密钥加密生成第一密钥校验值,其中,第一密钥校验值用于校验会话密钥。优选地,根据预设算法对第一会话密钥加密生成第一密钥校验值的步骤可以是:根据第一会话密钥对预定字节进行加密,得到加密结果,并将加密结果的预设字节作为第一密钥校验值。
设备将设备公钥以及第一密钥校验值返回至终端,以供终端利用终端私钥对设备公钥进行计算得到第三会话密钥,并根据预设算法对第三会话密钥加密生成第二密钥校验值,在第二密钥校验值与第一密钥校验值一致时,保存第三会话密钥。优选地,使用终端私钥通过ECDH算法对设备公钥计算得到第三会话密钥。并且,终端根据预设算法对第三会话密钥加密生成第二密钥校验值,其中,第二密钥校验值用于校验会话密钥。优选地,根据预设算法对第三会话密钥加密生成第二密钥校验值的步骤可以是:根据第三会话密钥对预定字节进行加密,得到加密结果,并将加密结果的预设字节作为第二密钥校验值。
需要说明的是,由于ECDH算法的特性,第一会话密钥与第三会话密钥是一致的,因此第一会话密钥与第三会话密钥为设备与终端之间的会话密钥。第一会话密钥以及第二会话密钥的生成方式不限于ECDH算法,也可以是其它算法,比如ECC算法、RSA算法、ECDSA算法等,本发明不做具体限定。
需要说明的是,第一密钥校验值以及第三密钥校验值也可以利用其它方式生成,本发明不做具体限定。比如,根据SHA256算法对第一会话密钥进行运算得到第一密钥校验值,终端根据SHA256算法对第三会话密钥进行运算得到第二密钥校验值,在第二密钥校验值与第一密钥校验值一致时,则第一会话密钥与第三会话密钥为设备与终端之间的会话密钥。
在第二实施例中,利用第一密钥校验值以及第二密钥校验值校验会话密钥,这样,提高了设备与终端之间会话密钥的安全性。
在第三实施例中,如图4所示,在上述图2至图3任一项所示的实施例基础上,所述根据预设算法对所述第一会话密钥加密生成第一密钥校验值的步骤之后,还包括:
步骤S15、将设备公钥证书以及所述第一密钥校验值返回至所述终端,其中,所述终端在接收到所述设备公钥证书以及所述第一密钥校验值时,从所述设备公钥证书中提取所述设备公钥,根据所述设备公钥以及所述终端私钥生成第四会话密钥,并根据所述预设算法对所述第四会话密钥加密生成第三密钥校验值,在所述第三密钥校验值与所述第一密钥校验值一致时,保存所述第四会话密钥,所述第四会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥。
本实施例中,设备公钥可以是设备生成,也可以从设备公钥证书中提取,其中,设备公钥证书在预设服务器生成,设备可通过解密预设服务器得到,需要说明的是,预设服务器可以是License服务器。终端对设备公钥证书中的签名结果进行验签,在验签通过时,通过根公钥索引来提取设备公钥证书中的公钥。该种方式增加了证书的随机性。
在从设备公钥证书中提取设备公钥之前,终端对设备公钥证书进行验证。具体地,设备公钥证书中包括证书格式、证书序列号、哈希算法标识、设备公钥算法标识、设备公钥、签名结果以及第一哈希值,其中,签名结果为预设服务器利用预设服务器私钥对第一哈希值进行签名得到的,第一哈希值是预设服务器对预设信息进行哈希运算得到的,预设信息包括证书格式、证书序列号、哈希算法标识、设备公钥算法标识以及设备公钥。
终端利用预设服务器公钥解密设备公钥证书中的签名结果,得到第三哈希值,在第三哈希值与第一哈希值一致时,终端对设备证书中的预设信息进行哈希运算得到第二哈希值,在第二哈希值与第一哈希值一致时,则判定证书合法,则从设备证书中提取设备公钥。
在第三实施例中,终端在对设备公钥证书验签通过后,从设备公钥证书中提取设备公钥,这样,提高了设备与终端之间会话密钥的安全性。
在第四实施例中,如图5所示,在上述图2至图4任一项所示的实施例基础上,所述根据预设算法对所述第一会话密钥加密生成第一密钥校验值的步骤包括:
步骤S131、根据所述第一会话密钥对预定字节进行加密,得到加密结果;
步骤S132、将所述加密结果的预设字节作为所述第一密钥校验值。
本实施例中,设备根据预设算法对第一会话密钥加密生成第一密钥校验值,其中,第一密钥校验值用于校验会话密钥。优选地,根据预设算法对第一会话密钥加密生成第一密钥校验值的步骤可以是:根据第一会话密钥对预定字节进行加密,得到加密结果,并将加密结果的预设字节作为第一密钥校验值。需要说明的是,预定字节可以是16字节,预设字节可以是前三字节。
需要说明的是,第一密钥校验值也可以利用其它方式生成,本发明不做具体限定。比如,根据SHA256算法对第一会话密钥进行运算得到第一密钥校验值,终端根据SHA256算法对第三会话密钥进行运算得到第二密钥校验值,在第二密钥校验值与第一密钥校验值一致时,则第一会话密钥与第三会话密钥为设备与终端之间的会话密钥。
在第四实施例中,根据第一会话密钥对预定字节进行加密得到加密结果,并将加密结果的预设字节作为第一密钥校验值。这样,保证了终端与设备之间密钥协商的安全性。
在第五实施例中,如图6所示,在上述图2至图5任一项所示的实施例基础上,所述将所述设备公钥以及所述第一密钥校验值返回至所述终端的步骤之后,还包括:
步骤S16、所述设备在接收到所述终端返回的密钥协商确认信息时,利用所述会话密钥解密所述密钥协商确认信息得到解密结果;
步骤S17、在所述解密结果中包含预设字段时,则发送密钥协商确认报文至所述终端。
本实施例中,终端利用会话密钥对预设字段进行加密得到密钥协商确认信息,优选地,设备利用会话密钥对预设字段与随机数的拼接结果进行加密。终端将密钥协商确认信息发送至设备,以供设备利用会话密钥解密密钥协商确认信息得到解密结果,在解密结果中包含预设字段时,则发送密钥协商确认报文至设备。其中,预设字段可以是“OK”等字符。在解密结果中未包含预设字段时,则返回错误码至设备。
在第五实施例中,设备在接收到终端返回的密钥协商确认信息时,利用会话密钥解密密钥协商确认信息得到解密结果,在解密结果中包含预设字段时,则发送密钥协商确认报文至终端。这样,实现终端与设备之间的密钥协商。
在第六实施例中,如图7所示,在上述图2至图6任一项所示的实施例基础上,所述根据所述终端公钥以及设备私钥生成并保存第一会话密钥的步骤包括:
步骤S111、将所述终端公钥与所述设备私钥进行拼接,得到拼接结果;
步骤S112、将所述拼接结果作为所述第一会话密钥。
本实施例中,设备利用设备私钥对终端公钥进行计算得到第一会话密钥,优选地,使用设备私钥通过ECDH算法对终端公钥计算得到第一会话密钥。需要说明的是,第一会话密钥的生成方式不限于ECDH算法,也可以是其它算法,比如ECC算法、RSA算法、ECDSA算法等,本发明不做具体限定。
在第六实施例中,将终端公钥与设备私钥的拼接结果作为第一会话密钥,这样,保证了终端与设备之间通信的安全性。
本发明还提供一种密钥协商方法,参照图8,在第七实施例中,所述密钥协商方法包括以下步骤:
步骤S20、终端根据终端公钥生成密钥协商请求报文发送至设备,以供所述设备根据所述密钥协商请求报文获取所述终端公钥,根据所述终端公钥以及设备私钥生成并保存第一会话密钥,并将所述设备公钥返回至所述终端;
步骤S21、所述终端在接收到所述设备公钥时,根据所述设备公钥以及终端私钥生成并保存第二会话密钥,其中,所述第二会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥。
本实施例中,执行主体为设备。设备可以是空调器、洗衣机、智能门锁等多种智能设备,终端中的APP可以通过云服务器与设备进行通信,即用户可以通过APP发送指令,以控制智能设备。在设备与终端进行安全传输之前,需要进行密钥协商。
终端生成终端公钥以及终端私钥,其中,终端公钥以及终端私钥可以是临时密钥对。终端根据终端公钥以及终端公钥有效期标识生成密钥协商请求报文发送至设备。
本实施例中,设备利用设备私钥对终端公钥进行计算得到第一会话密钥,优选地,根据ECDH算法计算得到第一会话密钥。设备将设备公钥返回至终端,以供终端利用终端私钥对设备公钥进行计算得到第二会话密钥,优选地,根据ECDH算法计算得到第二会话密钥。由于ECDH算法的特性,第一会话密钥与第二会话密钥是一致的,因此第一会话密钥与第二会话密钥为设备与终端之间的会话密钥。
需要说明的是,第一会话密钥以及第二会话密钥的生成方式不限于ECDH算法,也可以是其它算法,比如ECC算法、RSA算法、ECDSA算法等,本发明不做具体限定。
在第七实施例中,设备根据密钥协商请求报文获取终端公钥,根据终端公钥以及设备私钥生成并保存第一会话密钥,并将设备公钥返回至终端,以供终端根据设备公钥以及终端私钥生成并保存第二会话密钥。这样,提高了设备与终端之间会话密钥的安全性,进而增强了设备与终端之间通信的安全性。
参照图9,在第八实施例中,在上述图8所示的实施例基础上,所述终端根据终端公钥生成密钥协商请求报文发送至设备的步骤之后,还包括:
步骤S22、所述终端在接收到所述设备公钥以及第一密钥校验值时,根据所述设备公钥以及所述终端私钥生成第三会话密钥,并根据预设算法对所述第三会话密钥加密生成第二密钥校验值,在所述第二密钥校验值与所述第一密钥校验值一致时,保存所述第三会话密钥,所述第三会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥,其中,所述设备根据所述预设算法对所述第一会话密钥加密生成第一密钥校验值,并将所述设备公钥以及所述第一密钥校验值返回至所述终端。
本实施例中,终端生成终端公钥以及终端私钥,其中,终端公钥以及终端私钥可以是临时密钥对。根据终端公钥以及终端公钥有效期标识生成密钥协商请求报文发送至设备。
设备在接收到密钥协商请求报文时,获取终端公钥,并利用设备私钥对终端公钥进行计算得到第一会话密钥,优选地,使用设备私钥通过ECDH算法对终端公钥计算得到第一会话密钥。并且,设备根据预设算法对第一会话密钥加密生成第一密钥校验值,其中,第一密钥校验值用于校验会话密钥。优选地,根据预设算法对第一会话密钥加密生成第一密钥校验值的步骤可以是:根据第一会话密钥对预定字节进行加密,得到加密结果,并将加密结果的预设字节作为第一密钥校验值。
设备将设备公钥以及第一密钥校验值返回至终端,以供终端利用终端私钥对设备公钥进行计算得到第三会话密钥,并根据预设算法对第三会话密钥加密生成第二密钥校验值,在第二密钥校验值与第一密钥校验值一致时,保存第三会话密钥。优选地,使用终端私钥通过ECDH算法对设备公钥计算得到第三会话密钥。并且,终端根据预设算法对第三会话密钥加密生成第二密钥校验值,其中,第二密钥校验值用于校验会话密钥。优选地,根据预设算法对第三会话密钥加密生成第二密钥校验值的步骤可以是:根据第三会话密钥对预定字节进行加密,得到加密结果,并将加密结果的预设字节作为第二密钥校验值。
需要说明的是,由于ECDH算法的特性,第一会话密钥与第三会话密钥是一致的,因此第一会话密钥与第三会话密钥为设备与终端之间的会话密钥。第一会话密钥以及第二会话密钥的生成方式不限于ECDH算法,也可以是其它算法,比如ECC算法、RSA算法、ECDSA算法等,本发明不做具体限定。
需要说明的是,第一密钥校验值以及第二密钥校验值也可以利用其它方式生成,本发明不做具体限定。比如,根据SHA256算法对第一会话密钥进行运算得到第一密钥校验值,终端根据SHA256算法对第三会话密钥进行运算得到第二密钥校验值,在第二密钥校验值与第一密钥校验值一致时,则第一会话密钥与第三会话密钥为设备与终端之间的会话密钥。
在第八实施例中,利用第一密钥校验值以及第二密钥校验值校验会话密钥,这样,提高了设备与终端之间会话密钥的安全性。
在第九实施例中,如图10所示,在上述图8至图9任一项所示的实施例基础上,所述终端根据终端公钥生成密钥协商请求报文发送至设备的步骤之后,还包括:
步骤S23、所述终端在接收到设备公钥证书以及所述第一密钥校验值时,从所述设备公钥证书中提取所述设备公钥,根据所述设备公钥以及所述终端私钥生成第四会话密钥,并根据所述预设算法对所述第四会话密钥加密生成第三密钥校验值,在所述第三密钥校验值与所述第一密钥校验值一致时,保存所述第四会话密钥,所述第四会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥,其中,所述设备根据所述预设算法对所述第一会话密钥加密生成第一密钥校验值,并将所述设备公钥证书以及所述第一密钥校验值返回至所述终端。
本实施例中,设备公钥可以是设备生成,也可以从设备公钥证书中提取,其中,设备公钥证书在预设服务器生成,设备可通过解密预设服务器得到,需要说明的是,预设服务器可以是License服务器。终端对设备公钥证书中的签名结果进行验签,在验签通过时,通过根公钥索引来提取设备公钥证书中的公钥。该种方式增加了证书的随机性。
在从设备公钥证书中提取设备公钥之前,终端对设备公钥证书进行验证。具体地,设备公钥证书中包括证书格式、证书序列号、哈希算法标识、设备公钥算法标识、设备公钥、签名结果以及第一哈希值,其中,签名结果为预设服务器利用预设服务器私钥对第一哈希值进行签名得到的,第一哈希值是预设服务器对预设信息进行哈希运算得到的,预设信息包括证书格式、证书序列号、哈希算法标识、设备公钥算法标识以及设备公钥。
终端利用预设服务器公钥解密设备公钥证书中的签名结果,得到第三哈希值,在第三哈希值与第一哈希值一致时,终端对设备证书中的预设信息进行哈希运算得到第二哈希值,在第二哈希值与第一哈希值一致时,则判定证书合法,则从设备证书中提取设备公钥。
在第九实施例中,终端在对设备公钥证书验签通过后,从设备公钥证书中提取设备公钥,这样,提高了设备与终端之间会话密钥的安全性。
在第十实施例中,如图11所示,在上述图8至图10任一项所示的实施例基础上,所述根据预设算法对所述第三会话密钥加密生成第二密钥校验值的步骤包括:
步骤S221、根据所述第三会话密钥对预定字节进行加密,得到加密结果;
步骤S222、将所述加密结果的预设字节作为所述第二密钥校验值。
本实施例中,设备根据预设算法对第三会话密钥加密生成第二密钥校验值,其中,第二密钥校验值用于校验会话密钥。优选地,根据预设算法对第三会话密钥加密生成第二密钥校验值的步骤可以是:根据第三会话密钥对预定字节进行加密,得到加密结果,并将加密结果的预设字节作为第二密钥校验值。需要说明的是,预定字节可以是16字节,预设字节可以是前三字节。
需要说明的是,也可用其它方式校验会话密钥,本发明不做具体限定。比如,根据SHA256算法对第三会话密钥进行运算得到第一摘要信息,终端根据SHA256算法对第三会话密钥进行运算得到第二摘要信息,在第二摘要信息与第一摘要信息一致时,则第一会话密钥与第三会话密钥为设备与终端之间的会话密钥。
在第十实施例中,根据第三会话密钥对预定字节进行加密得到加密结果,并将加密结果的预设字节作为第二密钥校验值。这样,保证了终端与设备之间密钥协商的安全性。
在第十一实施例中,如图12所示,在上述图8至图11任一项所示的实施例基础上,所述第二会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥的步骤之后,还包括:
步骤S24、所述终端利用所述会话密钥对预设字段进行加密,得到密钥协商确认信息;
步骤S25、将所述密钥协商确认信息发送至所述设备,以供所述设备在接收到所述密钥协商确认信息时,利用所述会话密钥解密所述密钥协商确认信息得到解密结果,在所述解密结果中包含所述预设字段时,则发送密钥协商确认报文至所述终端。
本实施例中,终端利用会话密钥对预设字段进行加密得到密钥协商确认信息,优选地,设备利用会话密钥对预设字段与随机数的拼接结果进行加密。终端将密钥协商确认信息发送至设备,以供设备利用会话密钥解密密钥协商确认信息得到解密结果,在解密结果中包含预设字段时,则发送密钥协商确认报文至设备。其中,预设字段可以是“OK”等字符。在解密结果中未包含预设字段时,则返回错误码至设备。
在第十一实施例中,设备在接收到终端返回的密钥协商确认信息时,利用会话密钥解密密钥协商确认信息得到解密结果,在解密结果中包含预设字段时,则发送密钥协商确认报文至终端。这样,实现终端与设备之间的密钥协商。
在第十二实施例中,如图13所示,在上述图8至图12任一项所示的实施例基础上,所述根据所述设备公钥以及终端私钥生成并保存第二会话密钥的步骤包括:
步骤S211、将所述设备公钥与所述终端私钥进行拼接,得到拼接结果;
步骤S212、将所述拼接结果作为所述第二会话密钥。
本实施例中,终端利用终端私钥对设备公钥进行计算得到第二会话密钥,优选地,使用终端私钥通过ECDH算法对设备公钥计算得到第二会话密钥。需要说明的是,第二会话密钥的生成方式不限于ECDH算法,也可以是其它算法,比如ECC算法、RSA算法、ECDSA算法等,本发明不做具体限定。
在第十二实施例中,将设备公钥与终端私钥的拼接结果作为第二会话密钥,这样,保证了终端与设备之间通信的安全性。
在第十三实施例中,如图14所示,在上述图8至图13任一项所示的实施例基础上,所述从所述设备公钥证书中提取所述设备公钥的步骤之前,还包括:
步骤S26、对所述设备公钥证书中的预设信息进行哈希运算,得到第二哈希值,所述预设信息包括证书格式、证书序列号、哈希算法标识、设备公钥算法标识以及所述设备公钥中的至少一个;
步骤S27、判断所述第二哈希值与所述设备公钥证书中的第一哈希值是否一致;
步骤S28、在所述第二哈希值与所述设备公钥证书中的第一哈希值一致时,则执行所述从所述设备公钥证书中提取所述设备公钥的步骤。
本实施例中,在从设备公钥证书中提取设备公钥之前,终端对设备公钥证书进行验证。具体地,设备公钥证书中包括证书格式、证书序列号、哈希算法标识、设备公钥算法标识、设备公钥、签名结果以及第一哈希值,其中,签名结果为预设服务器利用预设服务器私钥对第一哈希值进行签名得到的,第一哈希值是预设服务器对预设信息进行哈希运算得到的,预设信息包括证书格式、证书序列号、哈希算法标识、设备公钥算法标识以及设备公钥。其中,预设服务器可以是License服务器。
终端对设备证书中的预设信息进行哈希运算得到第二哈希值,在第二哈希值与第一哈希值一致时,则判定证书合法,则从设备证书中提取设备公钥。
在第十三实施例中,终端对设备公钥证书中的预设信息进行哈希计算,得到第二哈希值,并在第二哈希值与设备公钥证书中的第一哈希值一致时,则从设备公钥证书中提取设备公钥。这样,保证了证书的合法性。
在第十四实施例中,如图15所示,在上述图8至图14任一项所示的实施例基础上,所述对所述设备公钥证书中的预设信息进行哈希运算的步骤之前,还包括:
步骤S29、利用预设服务器公钥解密所述设备公钥证书中的签名结果,得到第三哈希值,其中,所述签名结果为所述云服务器利用预设服务器私钥对所述第一哈希值进行加密得到;
步骤S30、判断所述第三哈希值与所述第一哈希值是否一致;
步骤S31、在所述第三哈希值与所述第一哈希值一致时,执行所述对所述设备公钥证书中的预设信息进行哈希运算的步骤。
本实施例中,在从设备公钥证书中提取设备公钥之前,终端对设备公钥证书进行验证。具体地,设备公钥证书中包括证书格式、证书序列号、哈希算法标识、设备公钥算法标识、设备公钥、签名结果以及第一哈希值,其中,签名结果为预设服务器利用预设服务器私钥对第一哈希值进行签名得到的,第一哈希值是预设服务器对预设信息进行哈希运算得到的,预设信息包括证书格式、证书序列号、哈希算法标识、设备公钥算法标识以及设备公钥。预设服务器可以是License服务器。
终端利用预设服务器公钥解密设备公钥证书中的签名结果,得到第三哈希值,在第三哈希值与第一哈希值一致时,终端对设备证书中的预设信息进行哈希运算得到第二哈希值,在第二哈希值与第一哈希值一致时,则判定证书合法,则从设备证书中提取设备公钥。
在第十四实施例中,终端解密设备公钥证书中的签名结果,得到第三哈希值,在第三哈希值与设备公钥证书中的第一哈希值一致时,则对设备公钥证书中的预设信息进行哈希运算。这样,进一步保证了证书的合法性。
此外,本发明还提出一种设备,所述设备包括存储器、处理器及存储在存储器上并可在处理器上运行的密钥协商程序,所述处理器执行如上述设备为执行主体下的所述密钥协商方法的步骤。
此外,本发明还提出一种终端,所述终端包括存储器、处理器及存储在存储器上并可在处理器上运行的密钥协商程序,所述处理器执行如上述终端为执行主体下的所述密钥协商方法的步骤。
此外,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质包括密钥协商程序,所述密钥协商程序被处理器执行时实现如以上实施例所述的密钥协商方法的步骤。
此外,本发明还提出一种密钥协商系统,本发明还提出一种密钥协商系统,所述密钥协商系统包括上述设备,以及上述终端。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是电视机,手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (18)
1.一种密钥协商方法,其特征在于,所述密钥协商方法包括以下步骤:
设备在接收到终端发送的密钥协商请求报文后,根据所述密钥协商请求报文获取终端公钥,其中,所述终端根据所述终端公钥生成所述密钥协商请求报文发送至所述设备;
根据所述终端公钥以及设备私钥生成并保存第一会话密钥;
将设备公钥返回至所述终端,以供所述终端在接收到所述设备公钥时,根据所述设备公钥以及终端私钥生成并保存第二会话密钥,其中,所述第二会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥。
2.如权利要求1所述的密钥协商方法,其特征在于,所述根据所述终端公钥以及设备私钥生成并保存第一会话密钥的步骤之后,还包括:
根据预设算法对所述第一会话密钥加密生成第一密钥校验值;
将所述设备公钥以及所述第一密钥校验值返回至所述终端,其中,所述终端在接收到所述设备公钥以及所述第一密钥校验值时,根据所述设备公钥以及所述终端私钥生成第三会话密钥,并根据所述预设算法对所述第三会话密钥加密生成第二密钥校验值,在所述第二密钥校验值与所述第一密钥校验值一致时,保存所述第三会话密钥,所述第三会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥。
3.如权利要求2所述的密钥协商方法,其特征在于,所述根据预设算法对所述第一会话密钥加密生成第一密钥校验值的步骤之后,还包括:
将设备公钥证书以及所述第一密钥校验值返回至所述终端,其中,所述终端在接收到所述设备公钥证书以及所述第一密钥校验值时,从所述设备公钥证书中提取所述设备公钥,根据所述设备公钥以及所述终端私钥生成第四会话密钥,并根据所述预设算法对所述第四会话密钥加密生成第三密钥校验值,在所述第三密钥校验值与所述第一密钥校验值一致时,保存所述第四会话密钥,所述第四会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥。
4.如权利要求3所述的密钥协商方法,其特征在于,所述根据预设算法对所述第一会话密钥加密生成第一密钥校验值的步骤包括:
根据所述第一会话密钥对预定字节进行加密,得到加密结果;
将所述加密结果的预设字节作为所述第一密钥校验值。
5.如权利要求3所述的密钥协商方法,其特征在于,所述将所述设备公钥以及所述第一密钥校验值返回至所述终端的步骤之后,还包括:
所述设备在接收到所述终端返回的密钥协商确认信息时,利用所述会话密钥解密所述密钥协商确认信息得到解密结果;
在所述解密结果中包含预设字段时,则发送密钥协商确认报文至所述终端。
6.如权利要求1所述的密钥协商方法,其特征在于,所述根据所述终端公钥以及设备私钥生成并保存第一会话密钥的步骤包括:
将所述终端公钥与所述设备私钥进行拼接,得到拼接结果;
将所述拼接结果作为所述第一会话密钥。
7.一种密钥协商方法,其特征在于,所述密钥协商方法包括以下步骤:
终端根据终端公钥生成密钥协商请求报文发送至设备,以供所述设备根据所述密钥协商请求报文获取所述终端公钥,根据所述终端公钥以及设备私钥生成并保存第一会话密钥,并将所述设备公钥返回至所述终端;
所述终端在接收到所述设备公钥时,根据所述设备公钥以及终端私钥生成并保存第二会话密钥,其中,所述第二会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥。
8.如权利要求7所述的密钥协商方法,其特征在于,所述终端根据终端公钥生成密钥协商请求报文发送至设备的步骤之后,还包括:
所述终端在接收到所述设备公钥以及第一密钥校验值时,根据所述设备公钥以及所述终端私钥生成第三会话密钥,并根据预设算法对所述第三会话密钥加密生成第二密钥校验值,在所述第二密钥校验值与所述第一密钥校验值一致时,保存所述第三会话密钥,所述第三会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥,其中,所述设备根据所述预设算法对所述第一会话密钥加密生成第一密钥校验值,并将所述设备公钥以及所述第一密钥校验值返回至所述终端。
9.如权利要求8所述的密钥协商方法,其特征在于,所述终端根据终端公钥生成密钥协商请求报文发送至设备的步骤之后,还包括:
所述终端在接收到设备公钥证书以及所述第一密钥校验值时,从所述设备公钥证书中提取所述设备公钥,根据所述设备公钥以及所述终端私钥生成第四会话密钥,并根据所述预设算法对所述第四会话密钥加密生成第三密钥校验值,在所述第三密钥校验值与所述第一密钥校验值一致时,保存所述第四会话密钥,所述第四会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥,其中,所述设备根据所述预设算法对所述第一会话密钥加密生成第一密钥校验值,并将所述设备公钥证书以及所述第一密钥校验值返回至所述终端。
10.如权利要求9所述的密钥协商方法,其特征在于,所述根据预设算法对所述第三会话密钥加密生成第二密钥校验值的步骤包括:
根据所述第三会话密钥对预定字节进行加密,得到加密结果;
将所述加密结果的预设字节作为所述第二密钥校验值。
11.如权利要求9所述的密钥协商方法,其特征在于,所述第二会话密钥与所述第一会话密钥为所述设备与所述终端之间的会话密钥的步骤之后,还包括:
所述终端利用所述会话密钥对预设字段进行加密,得到密钥协商确认信息;
将所述密钥协商确认信息发送至所述设备,以供所述设备在接收到所述密钥协商确认信息时,利用所述会话密钥解密所述密钥协商确认信息得到解密结果,在所述解密结果中包含所述预设字段时,则发送密钥协商确认报文至所述终端。
12.如权利要求7所述的密钥协商方法,其特征在于,所述根据所述设备公钥以及终端私钥生成并保存第二会话密钥的步骤包括:
将所述设备公钥与所述终端私钥进行拼接,得到拼接结果;
将所述拼接结果作为所述第二会话密钥。
13.如权利要求9所述的密钥协商方法,其特征在于,所述从所述设备公钥证书中提取所述设备公钥的步骤之前,还包括:
对所述设备公钥证书中的预设信息进行哈希运算,得到第二哈希值,所述预设信息包括证书格式、证书序列号、哈希算法标识、设备公钥算法标识以及所述设备公钥中的至少一个;
在所述第二哈希值与所述设备公钥证书中的第一哈希值一致时,则执行所述从所述设备公钥证书中提取所述设备公钥的步骤。
14.如权利要求13所述的密钥协商方法,其特征在于,所述对所述设备公钥证书中的预设信息进行哈希运算的步骤之前,还包括:
利用预设服务器公钥解密所述设备公钥证书中的签名结果,得到第三哈希值,其中,所述签名结果为所述云服务器利用预设服务器私钥对所述第一哈希值进行加密得到;
在所述第三哈希值与所述第一哈希值一致时,执行所述对所述设备公钥证书中的预设信息进行哈希运算的步骤。
15.一种设备,其特征在于,所述设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的密钥协商程序,所述密钥协商程序被所述处理器执行时实现如权利要求1至6中任一项所述的密钥协商方法的步骤。
16.一种终端,其特征在于,所述终端包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的密钥协商程序,所述密钥协商程序被所述处理器执行时实现如权利要求7至14中任一项所述的密钥协商方法的步骤。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有密钥协商程序,所述密钥协商程序被处理器执行时实现如权利要求1至14中任一项所述的密钥协商方法的步骤。
18.一种密钥协商系统,其特征在于,所述密钥协商系统包括如权利要求15中所述的设备,以及如权利要求16中所述的终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811302230.8A CN109039657B (zh) | 2018-11-02 | 2018-11-02 | 密钥协商方法、设备、终端、存储介质以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811302230.8A CN109039657B (zh) | 2018-11-02 | 2018-11-02 | 密钥协商方法、设备、终端、存储介质以及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109039657A true CN109039657A (zh) | 2018-12-18 |
CN109039657B CN109039657B (zh) | 2021-01-08 |
Family
ID=64614334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811302230.8A Active CN109039657B (zh) | 2018-11-02 | 2018-11-02 | 密钥协商方法、设备、终端、存储介质以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109039657B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110149206A (zh) * | 2019-05-30 | 2019-08-20 | 全链通有限公司 | 会话密钥的传输方法、设备及计算机可读存储介质 |
CN110475034A (zh) * | 2019-07-23 | 2019-11-19 | 深圳市六度人和科技有限公司 | 提高话机安全性的方法、用户端装置、服务器装置及系统 |
CN111294203A (zh) * | 2020-01-22 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 信息传输方法 |
CN111865956A (zh) * | 2020-07-13 | 2020-10-30 | 杭州萤石软件有限公司 | 一种防服务劫持系统、方法、装置及存储介质 |
CN112165386A (zh) * | 2020-09-22 | 2021-01-01 | 深圳市明华澳汉智能卡有限公司 | 一种基于ecdsa的数据加密方法及系统 |
CN114079560A (zh) * | 2020-07-31 | 2022-02-22 | 中移(苏州)软件技术有限公司 | 一种通信加密方法及飞行器、计算机可读存储介质 |
CN114531225A (zh) * | 2020-11-02 | 2022-05-24 | 深圳Tcl新技术有限公司 | 端到端通信加密方法、装置、存储介质及终端设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005359A (zh) * | 2006-01-18 | 2007-07-25 | 华为技术有限公司 | 一种实现终端设备间安全通信的方法及装置 |
WO2012148096A2 (ko) * | 2011-04-26 | 2012-11-01 | 숭실대학교산학협력단 | 가변길이 인증코드를 사용하는 무선 통신 단말간 세션키 공유 방법 |
CN104704769A (zh) * | 2012-10-15 | 2015-06-10 | 皇家飞利浦有限公司 | 无线通信系统 |
CN105634742A (zh) * | 2015-12-28 | 2016-06-01 | 飞天诚信科技股份有限公司 | 一种协商会话密钥的方法及智能密钥设备 |
CN106603485A (zh) * | 2016-10-31 | 2017-04-26 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
-
2018
- 2018-11-02 CN CN201811302230.8A patent/CN109039657B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005359A (zh) * | 2006-01-18 | 2007-07-25 | 华为技术有限公司 | 一种实现终端设备间安全通信的方法及装置 |
WO2012148096A2 (ko) * | 2011-04-26 | 2012-11-01 | 숭실대학교산학협력단 | 가변길이 인증코드를 사용하는 무선 통신 단말간 세션키 공유 방법 |
CN104704769A (zh) * | 2012-10-15 | 2015-06-10 | 皇家飞利浦有限公司 | 无线通信系统 |
CN105634742A (zh) * | 2015-12-28 | 2016-06-01 | 飞天诚信科技股份有限公司 | 一种协商会话密钥的方法及智能密钥设备 |
CN106603485A (zh) * | 2016-10-31 | 2017-04-26 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110149206A (zh) * | 2019-05-30 | 2019-08-20 | 全链通有限公司 | 会话密钥的传输方法、设备及计算机可读存储介质 |
CN110475034A (zh) * | 2019-07-23 | 2019-11-19 | 深圳市六度人和科技有限公司 | 提高话机安全性的方法、用户端装置、服务器装置及系统 |
CN111294203A (zh) * | 2020-01-22 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 信息传输方法 |
CN111865956A (zh) * | 2020-07-13 | 2020-10-30 | 杭州萤石软件有限公司 | 一种防服务劫持系统、方法、装置及存储介质 |
CN114079560A (zh) * | 2020-07-31 | 2022-02-22 | 中移(苏州)软件技术有限公司 | 一种通信加密方法及飞行器、计算机可读存储介质 |
CN114079560B (zh) * | 2020-07-31 | 2024-05-07 | 中移(苏州)软件技术有限公司 | 一种通信加密方法及飞行器、计算机可读存储介质 |
CN112165386A (zh) * | 2020-09-22 | 2021-01-01 | 深圳市明华澳汉智能卡有限公司 | 一种基于ecdsa的数据加密方法及系统 |
CN114531225A (zh) * | 2020-11-02 | 2022-05-24 | 深圳Tcl新技术有限公司 | 端到端通信加密方法、装置、存储介质及终端设备 |
CN114531225B (zh) * | 2020-11-02 | 2024-09-17 | 深圳Tcl新技术有限公司 | 端到端通信加密方法、装置、存储介质及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109039657B (zh) | 2021-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109005028A (zh) | 密钥协商方法、云服务器、设备、存储介质以及系统 | |
CN109039628A (zh) | 密钥协商方法、云服务器、设备、存储介质以及系统 | |
CN109040149A (zh) | 密钥协商方法、云服务器、设备、存储介质以及系统 | |
CN109039657A (zh) | 密钥协商方法、设备、终端、存储介质以及系统 | |
CN109120649A (zh) | 密钥协商方法、云服务器、设备、存储介质以及系统 | |
CN109150526A (zh) | 密钥协商方法、设备、终端、存储介质以及系统 | |
CN103118027B (zh) | 基于国密算法建立tls通道的方法 | |
CN103338215B (zh) | 基于国密算法建立tls通道的方法 | |
CN109257170A (zh) | 密钥协商方法、设备、终端、存储介质以及系统 | |
CN108566381A (zh) | 一种安全升级方法、装置、服务器、设备和介质 | |
CN110198295A (zh) | 安全认证方法和装置及存储介质 | |
CN109274503A (zh) | 分布式协同签名方法及分布式协同签名装置、软盾系统 | |
EP3001598B1 (en) | Method and system for backing up private key in electronic signature token | |
CN109064324A (zh) | 基于联盟链的交易方法、电子装置及可读存储介质 | |
CN109818741B (zh) | 一种基于椭圆曲线的解密计算方法及装置 | |
CN103795534A (zh) | 基于口令的认证方法及用于执行该方法的装置 | |
CN102394749B (zh) | 数据传输的线路保护方法、系统、信息安全设备及应用设备 | |
CN106357690B (zh) | 一种数据传输方法、数据发送装置及数据接收装置 | |
CN109245885A (zh) | 密钥协商方法、设备、存储介质以及系统 | |
CN101631305B (zh) | 一种加密方法及系统 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN110149209A (zh) | 物联网设备及其提高数据传输安全性的方法和装置 | |
CN102811224A (zh) | 一种ssl/tls连接的实现方法、装置及系统 | |
CN101286849A (zh) | 基于约定算法的第三方认证系统和方法 | |
CN107809311A (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 |