本公开涉及移动通信,尤其涉及智慧车联,尤其涉及一种通信建立方法、装置、电子设备和存储介质。
背景技术:
1、随着移动通信互联技术的不断发展,数字钥匙进入人们的视野,人们可以通过终端设备中的数字钥匙实现对车辆的控制。数字钥匙通过结合车辆、终端设备、云服务三端,构建智能钥匙锁芯(车端)、智能钥匙保险箱(终端设备)、智能钥匙工厂(云服务端)三位一体的车辆钥匙保护体系。同时还能够发挥钥匙数字化的优势,为用户提供个性化的车控服务。
2、相关技术中,数字钥匙一般作为可信应用(trusted application,ta)存储在终端设备的可信执行环境(trusted execution environment,tee)中。如何保证数字钥匙和服务器之间通信的安全,是数字钥匙技术中重要的问题。
技术实现思路
1、本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
2、为此,本公开提出了如下技术方案:
3、本公开第一方面实施例提出了一种通信建立方法,所述方法由服务器执行,所述方法包括:
4、终端设备发送通信请求;
5、接收所述终端设备响应于所述通信请求发送的具有签名的第二加密数据;
6、采用所述服务器存储的第一密钥对中的私钥对所述第二加密数据进行解密,得到所述终端设备中数字钥匙所在可信环境下存储的第三密钥对中的公钥,以及得到所述终端设备的设备标识;
7、查找所述设备标识对应的所述终端设备在非可信环境下存储的第二密钥对中的公钥;
8、采用所述第二密钥对中的公钥验证所述第二加密数据的签名,若验证通过,根据所述第三密钥对中的公钥,建立与所述数字钥匙之间的安全通信。
9、可选地,所述向终端设备发送通信请求,包括:
10、向所述终端设备发送通信请求,所述通信请求采用所述第一密钥对中的私钥进行签名;
11、其中,所述通信请求的签名,用于所述终端设备采用所述第一密钥对中的公钥进行验证。
12、可选地,所述方法还包括:
13、通过与所述终端设备之间的可信通信通道,读取所述终端设备在非可信环境下存储的第二密钥对中的公钥,以及读取所述终端设备的设备标识;
14、建立所述设备标识与所述第二密钥对中的公钥之间的对应关系。
15、可选地,所述方法还包括:
16、生成并存储所述第一密钥对;
17、通过与所述终端设备之间的可信通信通道,向所述终端设备的可信执行环境写入所述第一密钥对中的公钥。
18、本公开第二方面实施例提出了一种通信建立方法,所述方法由终端设备执行,所述方法包括:
19、接收服务器发送的通信请求;
20、响应于所述通信请求,采用所述终端设备存储的第一密钥对中的公钥,对所述终端设备中数字钥匙所在可信环境下存储的第三密钥对中的公钥,以及所述终端设备的设备标识进行加密,得到第二加密数据;
21、采用所述终端设备在非可信环境下存储的第二密钥对中的私钥,对所述第二加密数据进行签名;
22、向所述服务器发送具有签名的第二加密数据,以使所述服务器对所述具有签名的第二加密数据进行解密和验证,并根据解密得到的所述第三密钥对中的公钥,建立与所述数字钥匙之间的安全通信。
23、可选地,所述接收服务器发送的通信请求,包括:
24、接收所述服务器发送的通信请求,所述通信请求采用所述第一密钥对中的私钥进行签名;
25、采用所述第一密钥对中的公钥进行验证所述通信请求的签名。
26、可选地,所述方法还包括:
27、在非可信环境下生成并存储第二密钥对;
28、通过与所述服务器之间的可信通信通道,向所述服务器发送所述第二密钥对中的公钥,以及所述终端设备的设备标识。
29、可选地,所述方法还包括:
30、通过与所述服务器之间的可信通信通道,读取所述服务器存储的所述第一密钥对中的公钥并将所述第一密钥对中的公钥写进终端的可信执行环境中。
31、本公开第三方面实施例提出了一种通信建立装置,所述装置应用于服务器,所述装置包括:
32、发送模块,用于向终端设备发送通信请求;
33、接收模块,用于接收所述终端设备响应于所述通信请求发送的具有签名的第二加密数据;
34、解密模块,用于采用所述服务器存储的第一密钥对中的私钥对所述第二加密数据进行解密,得到所述终端设备中数字钥匙所在可信环境下存储的第三密钥对中的公钥,以及得到所述终端设备的设备标识;
35、查找模块,用于查找所述设备标识对应的所述终端设备在非可信环境下存储的第二密钥对中的公钥;
36、验证模块,用于采用所述第二密钥对中的公钥验证所述第二加密数据的签名,若验证通过,根据所述第三密钥对中的公钥,建立与所述数字钥匙之间的安全通信。
37、可选地,所述发送模块具体用于:
38、向所述终端设备发送通信请求,所述通信请求采用所述第一密钥对中的私钥进行签名;
39、其中,所述通信请求的签名,用于所述终端设备采用所述第一密钥对中的公钥进行验证。
40、可选地,所述装置还包括:
41、读取模块,用于通过与所述终端设备之间的可信通信通道,读取所述终端设备在非可信环境下存储的第二密钥对中的公钥,以及读取所述终端设备的设备标识;
42、关联模块,用于建立所述设备标识与所述第二密钥对中的公钥之间的对应关系。
43、可选地,所述装置还包括:
44、密钥生成模块,用于生成并存储所述第一密钥对;
45、预置模块,用于通过与所述终端设备之间的可信通信通道,向所述终端设备的可信执行环境写入所述第一密钥对中的公钥。
46、本公开第四方面实施例提出了一种通信建立装置,所述装置应用于终端设备,所述装置包括:
47、接收模块,用于接收服务器发送的通信请求;
48、加密模块,用于响应于所述通信请求,采用所述终端设备存储的第一密钥对中的公钥,对所述终端设备中数字钥匙所在可信环境下存储的第三密钥对中的公钥,以及所述终端设备的设备标识进行加密,得到第二加密数据;
49、签名模块,用于采用所述终端设备在非可信环境下存储的第二密钥对中的私钥,对所述第二加密数据进行签名;
50、发送模块,用于向所述服务器发送具有签名的第二加密数据,以使所述服务器对所述具有签名的第二加密数据进行解密和验证,并根据解密得到的所述第三密钥对中的公钥,建立与所述数字钥匙之间的安全通信。
51、可选地,所述接收模块具体用于:
52、接收所述服务器发送的通信请求,所述通信请求采用所述第一密钥对中的私钥进行签名;
53、采用所述第一密钥对中的公钥进行验证所述通信请求的签名。
54、可选地,所述装置还包括:
55、密钥生成模块,用于在非可信环境下生成并存储第二密钥对;
56、写入模块,用于通过与所述服务器之间的可信通信通道,向所述服务器发送所述第二密钥对中的公钥,以及所述终端设备的设备标识。
57、可选地,所述装置还包括:
58、读取模块,用于通过与所述服务器之间的可信通信通道,读取所述服务器存储的所述第一密钥对中的公钥并将所述第一密钥对中的公钥写进终端的可信执行环境中。
59、本公开第五方面实施例提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本公开第一方面实施例提出的通信建立方法。
60、本公开第六方面实施例提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本公开第二方面实施例提出的通信建立方法。
61、本公开第七方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开第一方面实施例提出的通信建立方法。
62、本公开第八方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开第二方面实施例提出的通信建立方法。
63、本公开第九方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如本公开第一方面实施例提出的通信建立方法。
64、本公开第十方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如本公开第二方面实施例提出的通信建立方法。
65、本公开的技术方案,通过向终端设备发送通信请求,接收所述终端设备响应于所述通信请求发送的具有签名的第二加密数据,采用所述服务器存储的第一密钥对中的私钥对所述第二加密数据进行解密,得到所述终端设备中数字钥匙所在可信环境下存储的第三密钥对中的公钥,以及得到所述终端设备的设备标识,查找所述设备标识对应的所述终端设备在非可信环境下存储的第二密钥对中的公钥,采用所述第二密钥对中的公钥验证所述第二加密数据的签名,若验证通过,根据所述第三密钥对中的公钥,建立与所述数字钥匙之间的安全通信,使得终端设备中的数字钥匙与服务器能够在双方建立通信之前验证对方的合法性,拥有对方的公钥,并能够建立双方互信的通信,有效保证了可信环境下的数字钥匙与服务器之间的数据传输的安全性和可靠性。
66、本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。