本申请涉及车辆,尤其涉及一种程序启动方法、装置、电子设备和车辆。
背景技术:
1、随着车辆智能化水平的提高,车载软件所发挥的作用也越来越重要。相关技术中,车载软件已经可以通过网络传输等方式进行安装和更新,这虽然使得车辆的功能升级更加便利,但是通过网络接收到的软件的有效性和完整性却并不能得到保证。
技术实现思路
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、从上面所述可以看出,本申请提供的程序启动方法、装置、电子设备和车辆,在接收到具有签名证书的待启动文件后,通过储存于车端的可信公钥对签名证书中的公钥进行验证,再通过验证成功的公钥解密签名并对证书文件进行验证,最后通过验证成功的证书文件对程序文件进行验证。本申请将车端储存的可信公钥作为基础可靠信息对待启动程序的所包含的信息进行验证,在当前信息验证成功时,则说明当前信息与发布端所释放的程序所包含的对应信息是一致的,并将当前信息作为可靠信息继续对待启动程序所包含的其他信息进行验证,直至完成对程序文件的验证。当程序文件验证成功时,则说明车端获取的待启动程序与发布端释放的程序是完全一致的,确保待启动程序的有效性和完整性。
1.一种程序启动方法,其特征在于,包括:
2.根据权利要求1所述的启动方法,其特征在于,所述基于所述可信公钥对所述公钥进行验证,包括:
3.根据权利要求2所述的启动方法,其特征在于,所述获取所述可信公钥的可信摘要值,包括:
4.根据权利要求1所述的启动方法,其特征在于,所述基于所述公钥和所述签名,或基于所述可信公钥和所述签名,对所述证书文件进行验证,包括:
5.根据权利要求1所述的启动方法,其特征在于,所述基于所述签名证书对所述程序文件进行验证,包括:
6.根据权利要求1所述的启动方法,其特征在于,所述签名证书与所述程序文件首尾相接。
7.根据权利要求1所述的启动方法,其特征在于,在获取待启动程序之前,包括:
8.根据权利要求7所述的启动方法,其特征在于,所述基于私钥生成所述签名证书,包括:
9.一种程序启动装置,其特征在于,包括:
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任意一项所述的方法。
11.一种车辆,其特征在于,包括如权利要求10所述的电子设备。