本申请涉及车辆信息安全,具体涉及一种车辆软件升级方法、系统、设备及计算机可读存储介质。
背景技术:
1、目前,对车辆上的软件进行升级一般分为两种方式:在线升级和离线升级。其中,离线升级需要通过手工的方式对车辆软件进行升级,因此在整个升级链路中,软件升级包被篡改和破坏的可能性很高。
2、后续,若使用被篡改或破坏的软件升级包进行软件升级,极有可能导致软件无法正常运行,从而使相关功能失效,一定程度上影响了行车安全。
技术实现思路
1、本申请提供一种车辆软件升级方法、系统、设备及计算机可读存储介质,可以解决现有技术中存在的离线升级方式下使用被窃取、篡改或破坏的软件升级包进行软件升级的技术问题。
2、第一方面,本申请实施例提供一种车辆软件升级方法,所述车辆软件升级方法包括:
3、对车辆诊断仪收到的第二组合包中的第一组合包进行哈希运算得到第一哈希值,通过第二私钥对应的第二公钥对第二组合包中的第二数字签名进行验签得到第二哈希值;
4、检测第一哈希值和第二哈希值是否一致;
5、若第一哈希值和第二哈希值一致,则将第一组合包发送给车辆;
6、对车辆收到的第一组合包中的加密升级包进行哈希运算得到第三哈希值,通过第一私钥对应的第一公钥对第一组合包中的第一数字签名进行验签得到第四哈希值;
7、检测第三哈希值和第四哈希值是否一致;
8、若第三哈希值和第四哈希值一致,则使用对称密钥对加密升级包进行解密,得到明文升级包,以供使用明文升级包进行车辆软件升级。
9、结合第一方面,在一种实施方式中,在所述对车辆诊断仪收到的第二组合包中的第一组合包进行哈希运算得到第一哈希值,通过第二私钥对应的第二公钥对第二组合包中的第二数字签名进行验签得到第二哈希值的步骤之前,还包括:
10、使用对称密钥对明文升级包进行加密得到加密升级包;
11、通过第一私钥对加密升级包的哈希值进行签名运算得到第一数字签名;
12、基于加密升级包以及第一数字签名得到第一组合包;
13、通过第二私钥对第一组合包的哈希值进行签名运算得到第二数字签名;
14、基于第一组合包和第二数字签名得到第二组合包,发送给车辆诊断仪。
15、结合第一方面,在一种实施方式中,在所述检测第一哈希值和第二哈希值是否一致的步骤之后,还包括:
16、若第一哈希值和第二哈希值不一致,则确定用于传输第二组合包的传输链路存在异常。
17、结合第一方面,在一种实施方式中,在所述检测第三哈希值和第四哈希值是否一致的步骤之后,还包括:
18、若第三哈希值和第四哈希值不一致,则确定用于传输第一组合包的传输链路存在异常。
19、结合第一方面,在一种实施方式中,采用的对称加密算法包括aes256,采用的非对称加密算法包括rsa2048。
20、第二方面,本申请实施例提供了一种车辆软件升级系统,所述车辆软件升级系统包括:
21、第一校验模块,用于对车辆诊断仪收到的第二组合包中的第一组合包进行哈希运算得到第一哈希值,通过第二私钥对应的第二公钥对第二组合包中的第二数字签名进行验签得到第二哈希值;
22、检测第一哈希值和第二哈希值是否一致;
23、若第一哈希值和第二哈希值一致,则将第一组合包发送给车辆;
24、第二校验模块,用于对车辆收到的第一组合包中的加密升级包进行哈希运算得到第三哈希值,通过第一私钥对应的第一公钥对第一组合包中的第一数字签名进行验签得到第四哈希值;
25、检测第三哈希值和第四哈希值是否一致;
26、若第三哈希值和第四哈希值一致,则使用对称密钥对加密升级包进行解密,得到明文升级包,以供使用明文升级包进行车辆软件升级。
27、结合第二方面,在一种实施方式中,所述车辆软件升级系统还包括:
28、第一生成模块,用于使用对称密钥对明文升级包进行加密得到加密升级包;
29、通过第一私钥对加密升级包的哈希值进行签名运算得到第一数字签名;
30、基于加密升级包以及第一数字签名得到第一组合包,将第一组合包发送至第二生成模块;
31、第二生成模块,用于通过第二私钥对第一组合包的哈希值进行签名运算得到第二数字签名;
32、基于第一组合包和第二数字签名得到第二组合包,发送给车辆诊断仪。
33、结合第二方面,在一种实施方式中,第一校验模块,还用于:
34、若第一哈希值和第二哈希值不一致,则确定用于传输第二组合包的传输链路存在异常;
35、第二校验模块,还用于:
36、若第三哈希值和第四哈希值不一致,则确定用于传输第一组合包的传输链路存在异常。
37、第三方面,本申请实施例提供了一种车辆软件升级设备,所述车辆软件升级设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的车辆软件升级程序,其中所述车辆软件升级程序被所述处理器执行时,实现如第一方面所述的车辆软件升级方法的步骤。
38、第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有车辆软件升级程序,其中所述车辆软件升级程序被处理器执行时,实现如第一方面所述的车辆软件升级方法的步骤。
39、本申请实施例提供的技术方案带来的有益效果包括:
40、本申请实施例中,对车辆诊断仪收到的第二组合包中的第一组合包进行哈希运算得到第一哈希值,通过第二私钥对应的第二公钥对第二组合包中的第二数字签名进行验签得到第二哈希值;检测第一哈希值和第二哈希值是否一致;若第一哈希值和第二哈希值一致,则将第一组合包发送给车辆;对车辆收到的第一组合包中的加密升级包进行哈希运算得到第三哈希值,通过第一私钥对应的第一公钥对第一组合包中的第一数字签名进行验签得到第四哈希值;检测第三哈希值和第四哈希值是否一致;若第三哈希值和第四哈希值一致,则使用对称密钥对加密升级包进行解密,得到明文升级包,以供使用明文升级包进行车辆软件升级。通过本申请实施例,分别对车辆诊断仪收到的组合包以及车辆收到的组合包进行验证,只有当双重验证通过时,才使用对称密钥对加密升级包进行解密,得到明文升级包,并使用明文升级包进行车辆软件升级,可精准识别升级过程中软件升级包是否被篡改或破坏,从而保证了车辆软件升级安全。
1.一种车辆软件升级方法,其特征在于,所述车辆软件升级方法包括:
2.如权利要求1所述的车辆软件升级方法,其特征在于,在所述对车辆诊断仪收到的第二组合包中的第一组合包进行哈希运算得到第一哈希值,通过第二私钥对应的第二公钥对第二组合包中的第二数字签名进行验签得到第二哈希值的步骤之前,还包括:
3.如权利要求1所述的车辆软件升级方法,其特征在于,在所述检测第一哈希值和第二哈希值是否一致的步骤之后,还包括:
4.如权利要求1所述的车辆软件升级方法,其特征在于,在所述检测第三哈希值和第四哈希值是否一致的步骤之后,还包括:
5.如权利要求1至4中任一项所述的车辆软件升级方法,其特征在于,采用的对称加密算法包括aes256,采用的非对称加密算法包括rsa2048。
6.一种车辆软件升级系统,其特征在于,所述车辆软件升级系统包括:
7.如权利要求6所述的车辆软件升级系统,其特征在于,所述车辆软件升级系统还包括:
8.如权利要求6所述的车辆软件升级系统,其特征在于,第一校验模块,还用于:
9.一种车辆软件升级设备,其特征在于,所述车辆软件升级设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的车辆软件升级程序,其中所述车辆软件升级程序被所述处理器执行时,实现如权利要求1至5中任一项所述的车辆软件升级方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有车辆软件升级程序,其中所述车辆软件升级程序被处理器执行时,实现如权利要求1至5中任一项所述的车辆软件升级方法的步骤。