System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及通信,具体涉及一种密钥协商方法、装置、系统、设备、介质、芯片。
技术介绍
1、随着通信系统的广泛应用,终端和服务器之间的数据通信越来越频繁,由于终端和服务器之间的通信信道可以被第三方窃听和篡改,因此通信数据必须进行机密性和完整性保护,而机密性和完整性保护需要安全的密钥和密码算法的支持,因此在安全通信之前必须要进行设备认证和密钥协商。
2、目前常用的安全通信协议是ssl(secure socket layer,安全套接字)/tls(transport layer secure,安全传输协议),服务器在对嵌入式终端进行合法性认证时依赖于包含多级证书的证书链,而嵌入式终端的内存有限,证书链却会占据大量的存储资源,因此,如何解决合法性认证对证书链的依赖成为目前亟待解决的技术问题。
技术实现思路
1、为了解决相关技术中的问题,本公开实施例提供一种密钥协商方法、装置、系统、设备、介质、芯片。
2、第一方面,本公开实施例中提供了一种密钥协商方法,应用于终端,包括:
3、根据终端私钥和终端信息生成数字签名,所述终端私钥由所述终端采用基于标识的公钥ipk技术生成,所述终端信息包括终端标识;
4、将所述数字签名和终端信息打包为数字证书;
5、获取终端打招呼数据,所述终端打招呼数据包括第一随机数,可用的密钥协商算法套件;
6、将所述数字证书和所述终端打招呼数据发送给服务器,以便所述服务器根据所述预存储的公钥矩阵和所述数字证
7、接收所述服务器返回的服务器打招呼数据,所述服务器打招呼数据包括从所述可用的密钥协商算法套件中选择的所述服务器支持的密钥协商算法套件、根据所述终端公钥对第二随机数加密生成的密文;
8、根据所述终端私钥对所述密文进行解密,得到所述第二随机数;
9、根据所述第一随机数、所述第二随机数以及所述服务器支持的密钥协商算法套件,与所述服务器协商确定会话密钥。
10、在一种可能的实施方式中,所述服务器支持的密钥协商算法套件中包括密钥协商算法和会话密钥算法,所述根据所述第一随机数、所述第二随机数以及所述服务器支持的密钥协商算法套件,与所述服务器协商确定会话密钥,包括:
11、根据所述密钥协商算法对所述第一随机数和第二随机数进行加密,得到会话密钥;
12、根据所述会话密钥算法,使用所述会话密钥对预定握手数据的哈希值进行加密,得到第一握手密文,所述预定握手数据为所述终端与所述服务器在之前协商过程中传输过的特定数据;
13、将所述第一握手密文发送给服务器,以便所述服务器根据所述密钥协商算法对所述第一随机数和第二随机数进行加密得到会话密钥,并验证根据所述会话密钥对所述第一握手密文解密后得到的第一哈希值和所述预定握手数据的哈希值相同后,向所述终端返回第二握手密文,所述第二握手密文是所述服务器根据所述会话密钥算法,使用所述会话密钥对预定握手数据的哈希值进行加密后得到的;
14、根据所述会话密钥算法,使用所述会话密钥对所述第二握手密文进行解密,得到第二哈希值;
15、验证所述第二哈希值与所述预定握手数据的哈希值是否相同;
16、若相同,则确定所述会话密钥正确,使用所述会话密钥开始与所述服务器之间的加密通信。
17、在一种可能的实施方式中,所述终端打招呼数据中还包括可用的压缩方法和可用的会话标识,所述服务器打招呼数据中还包括所述服务器从所述可用的压缩方法中选择的所述服务器支持的压缩方法,以及所述服务器根据所述可用的会话标识确认的本会话使用的会话标识。
18、第二方面,本公开实施例提供了一种密钥协商方法,应用于服务器,包括:
19、接收终端发送的数字证书和终端打招呼数据,其中,所述数字证书中包括数字签名和终端信息,所述终端信息包括终端标识,所述终端打招呼数据包括第一随机数,可用的密钥协商算法套件;
20、采用基于标识的公钥ipk技术,根据所述终端标识和预存储的公钥矩阵,计算终端公钥;
21、根据所述终端公钥对所述数字签名进行验签;
22、响应于验签通过,生成第二随机数,并使用所述终端公钥对所述第二随机数进行加密,得到密文;
23、从所述可用的密钥协商算法套件中选择所述服务器支持的密钥协商算法套件;
24、向所述终端发送服务器打招呼数据,所述服务器打招呼数据包括所述密文和所述服务器支持的密钥协商算法套件,以便所述终端根据终端私钥对所述密文进行解密得到第二随机数;
25、根据所述第一随机数、所述第二随机数以及所述服务器支持的密钥协商算法套件,与所述终端协商确定会话密钥。
26、在一种可能的实施方式中,所述服务器支持的密钥协商算法套件中包括密钥协商算法和会话密钥算法,所述根据所述第一随机数、所述第二随机数以及所述服务器支持的密钥协商算法套件,与所述终端协商确定会话密钥,包括:
27、接收终端发送的第一握手密文;所述第一握手密文为所述终端根据所述会话密钥算法,通过会话密钥对预定握手数据的哈希值进行加密后得到的;所述会话密钥为所述终端根据所述密钥协商算法对所述第一随机数和所述第二随机数进行加密得到;
28、根据所述密钥协商算法对所述第一随机数和第二随机数进行加密,得到会话密钥;
29、根据所述会话密钥算法,使用所述会话密钥对所述第一握手密文进行解密,得到第一哈希值;
30、验证所述第一哈希值与所述预定握手数据的哈希值是否相同;
31、若相同,则根据所述会话密钥算法,使用所述会话密钥对预定握手数据的哈希值进行加密,得到第二握手密文;
32、将所述第二握手密文发送给所述终端,以便所述终端验证根据所述会话密钥对所述第二握手密文解密后得到的第二哈希值和所述预定握手数据的哈希值相同后,使用所述会话密钥开始与所述服务器之间的加密通信。
33、在一种可能的实施方式中,所述终端打招呼数据中还包括可用的压缩方法和可用的会话标识,所述方法还包括:
34、从所述可用的压缩方法中选择的所述服务器支持的压缩方法;
35、根据所述可用的会话标识确认本会话使用的会话标识。
36、第三方面,本公开实施例提供了一种密钥协商方法,应用于系统,所述系统包括终端和服务器,所述方法包括:
37、所述终端根据终端私钥和终端信息生成数字签名,将所述数字签名和终端信息打包为数字证书,获取终端打招呼数据;其中,所述终端私钥由所述终端采用基于标识的公钥ipk技术生成,所述终端信息包括终端标识;所述终端打招呼数据包括第一随机数和可用的密钥协商算法套件;
38、所述终端将所述数字证书和所述终端打招呼数据发送给所述服务器;
39、本文档来自技高网...
【技术保护点】
1.一种密钥协商方法,其特征在于,应用于终端,包括:
2.根据权利要求1所述的方法,其特征在于,所述服务器支持的密钥协商算法套件中包括密钥协商算法和会话密钥算法,所述根据所述第一随机数、所述第二随机数以及所述服务器支持的密钥协商算法套件,与所述服务器协商确定会话密钥,包括:
3.根据权利要求1所述的方法,其特征在于,所述终端打招呼数据中还包括可用的压缩方法和可用的会话标识,所述服务器打招呼数据中还包括所述服务器从所述可用的压缩方法中选择的服务器支持的压缩方法,以及所述服务器根据所述可用的会话标识确认的本会话使用的会话标识。
4.一种密钥协商方法,其特征在于,应用于服务器,包括:
5.根据权利要求4所述的方法,其特征在于,所述服务器支持的密钥协商算法套件中包括密钥协商算法和会话密钥算法,所述根据所述第一随机数、所述第二随机数以及所述服务器支持的密钥协商算法套件,与所述终端协商确定会话密钥,包括:
6.根据权利要求4所述的方法,其特征在于,所述终端打招呼数据中还包括可用的压缩方法和可用的会话标识,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述服务器支持的密钥协商算法套件中包括密钥协商算法和会话密钥算法,所述终端和所述服务器根据所述第一随机数、所述第二随机数以及所述服务器支持的密钥协商算法套件,确定会话密钥,包括:
9.根据权利要求7所述的方法,其特征在于,所述终端打招呼数据中还包括可用的压缩方法和可用的会话标识,所述方法还包括:
10.一种密钥协商装置,其特征在于,应用于终端,包括:
11.根据权利要求10所述的装置,其特征在于,所述服务器支持的密钥协商算法套件中包括密钥协商算法和会话密钥算法,所述第一密钥协商模块被配置为:
12.根据权利要求10所述的装置,其特征在于,所述终端打招呼数据中还包括可用的压缩方法和可用的会话标识,所述服务器打招呼数据中还包括所述服务器从所述可用的压缩方法中选择的服务器支持的压缩方法,以及所述服务器根据所述可用的会话标识确认的本会话使用的会话标识。
13.一种密钥协商装置,其特征在于,应用于服务器,包括:
14.根据权利要求13所述的装置,其特征在于,所述服务器支持的密钥协商算法套件中包括密钥协商算法和会话密钥算法,所述第二密钥协商模块被配置为:
15.根据权利要求13所述的装置,其特征在于,所述终端打招呼数据中还包括可用的压缩方法和可用的会话标识,所述装置还包括:
16.一种密钥协商系统,其特征在于,所述系统包括终端和服务器,其中:
17.根据权利要求16所述的系统,其特征在于,所述服务器支持的密钥协商算法套件中包括密钥协商算法和会话密钥算法,所述根据所述第一随机数、所述第二随机数以及所述服务器支持的密钥协商算法套件,确定会话密钥的部分被配置为:
18.根据权利要求16所述的系统,其特征在于,所述终端打招呼数据中还包括可用的压缩方法和可用的会话标识;
19.一种电子设备,其特征在于,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1至6任一项所述的密钥协商方法。
20.一种可读存储介质,其特征在于,其上存储有计算机指令,该计算机指令被处理器执行时实现权利要求1至6任一项所述的密钥协商方法。
21.一种芯片,其特征在于,所述芯片包括如权利要求10-15任一项所述的密钥协商装置。
...【技术特征摘要】
1.一种密钥协商方法,其特征在于,应用于终端,包括:
2.根据权利要求1所述的方法,其特征在于,所述服务器支持的密钥协商算法套件中包括密钥协商算法和会话密钥算法,所述根据所述第一随机数、所述第二随机数以及所述服务器支持的密钥协商算法套件,与所述服务器协商确定会话密钥,包括:
3.根据权利要求1所述的方法,其特征在于,所述终端打招呼数据中还包括可用的压缩方法和可用的会话标识,所述服务器打招呼数据中还包括所述服务器从所述可用的压缩方法中选择的服务器支持的压缩方法,以及所述服务器根据所述可用的会话标识确认的本会话使用的会话标识。
4.一种密钥协商方法,其特征在于,应用于服务器,包括:
5.根据权利要求4所述的方法,其特征在于,所述服务器支持的密钥协商算法套件中包括密钥协商算法和会话密钥算法,所述根据所述第一随机数、所述第二随机数以及所述服务器支持的密钥协商算法套件,与所述终端协商确定会话密钥,包括:
6.根据权利要求4所述的方法,其特征在于,所述终端打招呼数据中还包括可用的压缩方法和可用的会话标识,所述方法还包括:
7.一种密钥协商方法,其特征在于,应用于系统,所述系统包括终端和服务器,所述方法包括:
8.根据权利要求7所述的方法,其特征在于,所述服务器支持的密钥协商算法套件中包括密钥协商算法和会话密钥算法,所述终端和所述服务器根据所述第一随机数、所述第二随机数以及所述服务器支持的密钥协商算法套件,确定会话密钥,包括:
9.根据权利要求7所述的方法,其特征在于,所述终端打招呼数据中还包括可用的压缩方法和可用的会话标识,所述方法还包括:
10.一种密钥协商装置,其特征在于,应用于终端,包括:
11.根据权利要求10所述的装置,其特征在于,所述服务器支...
【专利技术属性】
技术研发人员:崔炳荣,刘亮,蒋名扬,唐小飞,李恺鑫,
申请(专利权)人:北京智芯微电子科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。