安全启动方法、装置及计算机可读存储介质与流程

专利2026-05-11  17


本发明涉及车机系统安全启动,尤其涉及一种安全启动方法、装置及计算机可读存储介质。


背景技术:

1、现有技术中,随着通信技术以及汽车技术的不断发展,越来越多的车载设备都提供了连接互联网的功能,使得汽车从互联网获取更多的例如导航、远程系统升级等应用。而由于能够连接互联网的车载设备支持以太网协议,因此,汽车中需要设置用于通信协议转换的网关,从而通过网关将支持以太网协议的车载设备的通信数据转换为can协议后,将转换后的can协议的通信数据发送至can总线,或者通过网关将can协议的通信数据转换成以太网协议后,将转换后的以太网协议的通信数据发送至支持以太网协议的车载设备。

2、对于现有的汽车,来自互联网的恶意数据可以通过连接互联网的车载设备进入can总线,从而对汽车控制系统带来安全威胁,导致汽车控制系统的安全性能较差。因此,目前车载控制器都会支持安全启动功能。安全启动又叫secure boot,它是一种通过逐级验证启动固件镜像,实现固件可信加载的技术。现有的安全启动方案如图1所示,在芯片生产阶段生成一对私钥和根证书(safety root ca),并将根证书的公钥信息写入芯片的efuse存储单元中,之后使用根证书下发用户证书(safety user ca),并通过用户证书对固件镜像进行签名。该方法中由于根证书的公钥信息烧写入efuse存储器中,其无法进行撤销,因此当根证书的私钥泄漏时,黑客或其他不法分子可能利用泄漏的私钥签发固件镜像,给车机系统带来安全隐患。


技术实现思路

1、有鉴于此,有必要提供一种安全启动方法、装置及计算机可读存储介质,以解决现有技术中私钥泄漏时车机系统存在安全隐患的技术问题。

2、为实现上述目的,本发明一实施例提供了一种安全启动方法,包括以下步骤:

3、系统上电时,启动bootrom程序从otp存储器中获取预存储的根证书包的公钥hash值,所述根证书包中包括多个根证书;

4、根据获取到的所述公钥hash值验证所述根证书包的有效性;

5、当所述根证书包为有效状态时,根据当前有效根证书的公钥信息对用户证书进行验签,所述当前有效根证书为所述根证书包中当前有效的其中一个根证书;

6、若验签通过,则根据所述用户证书对待验签固件镜像进行签名验证;

7、若签名验证通过,则判定所述待验签固件镜像安全。

8、可选的,所述安全启动方法还包括以下步骤:

9、根据证书状态参数获取当前有效根证书,所述证书状态参数的参数值为当前有效的根证书的证书标识,所述证书状态参数的初始值为系统出厂时用于对固件镜像进行签名的根证书的证书标识。

10、可选的,将当前有效根证书切换为目标根证书时,通过远程升级方式发布通过目标根证书签名的固件镜像;对应的,所述安全启动方法还包括:

11、根据当前有效根证书对应的用户证书对所述待验签固件镜像进行签名验证后,若签名验证不通过,则依次取所述根证书包中的其他可用根证书对应的用户证书对所述待验签固件镜像进行签名验证;

12、当所述根证书包中存在签名验证通过的其他可用根证书时,将所述证书状态参数的参数值修改为签名验证通过的其他可用根证书的证书标识。

13、可选的,所述启动bootrom程序从otp存储器中获取预存储的根证书包的公钥信息的步骤之前还包括以下步骤:

14、从所述根证书包中选取任意一张根证书签发用户证书;

15、通过所述用户证书对应的hash算法生成固件镜像的hash值;

16、通过所述用户证书对应的非对称加密算法对所述固件镜像的hash值进行签名,并生成签名值;

17、将所述固件镜像的hash值、签名值与固件镜像打包成待验签固件镜像并进行发布。

18、可选的,根据所述用户证书对待验签固件镜像进行签名验证的步骤包括:

19、从所述待验签固件镜像中读取固件镜像,根据hash算法计算所述固件镜像的hash值;

20、从所述待验签固件镜像中读取签名值,通过用户证书的公钥和非对称加密算法对所述签名值进行解密,得到解密hash值;

21、将计算得到的hash值与解密hash值进行比对,若计算得到的hash值与解密hash值相同,则签名验证通过。

22、可选的,所述启动bootrom程序从otp存储器中获取预存储的根证书包的公钥信息的步骤之前还包括:

23、通过openssl生成多个私钥以及对应的多张根证书;

24、将所述多张根证书进行打包,得到包含全部根证书的根证书包,将所述根证书包的公钥hash值写入otp存储器中。

25、可选的,所述根证书包中包括4张根证书以及对应的4张用户证书。

26、本发明另一实施例提供了一种安全启动装置,包括:

27、信息获取模块,用于在系统上电时,启动bootrom程序从otp存储器中获取预存储的根证书包的公钥hash值,所述根证书包中包括多个根证书;

28、有效性验证模块,用于根据获取到的所述公钥hash值验证所述根证书包的有效性;

29、第一验签模块,用于根据当前有效根证书的公钥信息对用户证书进行验签,其中当前有效根证书为所述根证书包中当前有效的其中一个根证书;

30、第二验签模块,用于在第一验签模块的验签结果为验签通过时,根据所述用户证书对待验签固件镜像进行签名验证,若签名验证通过,则判定所述待验签固件镜像安全。

31、本发明另一实施例提供了一种终端,包括存储器及处理器,存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器实现如上所述的安全启动方法的步骤。

32、本发明又一实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的安全启动方法的步骤。

33、与现有技术相比,本发明实施例提出的安全启动方法通过生成包括多个私钥及根证书的证书包,在otp存储器中预存储根证书包的公钥信息,并使用其中一个根证书对固件镜像进行签名,并在安全启动过程中,根据当前有效根证书的公钥信息对用户证书进行验签以及验签通过时,通过对应的用户证书对待验签固件镜像进行签名验证,由于otp存储器中存储有多个根证书的公钥信息,从而当某一根证书的私钥泄漏时,可以撤销该根证书,而利用其他可用根证书对固件镜像进行签名及验签,避免只有一个根证书时,由于根证书无法撤销,根证书的私钥泄露而导致的安全风险。



技术特征:

1.一种安全启动方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的安全启动方法,其特征在于,所述安全启动方法还包括以下步骤:

3.根据权利要求2所述的安全启动方法,其特征在于,将当前有效根证书切换为目标根证书时,通过远程升级方式发布通过目标根证书签名的固件镜像;对应的,所述安全启动方法还包括:

4.根据权利要求1所述的安全启动方法,其特征在于,所述启动bootrom程序从otp存储器中获取预存储的根证书包的公钥信息的步骤之前还包括以下步骤:

5.根据权利要求4所述的安全启动方法,其特征在于,根据所述用户证书对待验签固件镜像进行签名验证的步骤包括:

6.根据权利要求1所述的安全启动方法,其特征在于,所述启动bootrom程序从otp存储器中获取预存储的根证书包的公钥信息的步骤之前还包括:

7.根据权利要求1所述的安全启动方法,其特征在于,所述根证书包中包括4张根证书以及对应的4张用户证书。

8.一种安全启动装置,其特征在于,包括:

9.一种终端,其特征在于,包括存储器及处理器,存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器实现如权利要求1至7任一项所述的安全启动方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求1至7中任一项权利要求所述的安全启动方法的步骤。


技术总结
本发明公开了一种安全启动方法、终端及计算机可读存储介质,安全启动方法包括:系统上电时,启动bootrom程序从OTP存储器中获取预存储的根证书包的公钥hash值,根证书包中包括多个根证书;根据获取到的公钥hash值验证根证书包的有效性;当根证书包为有效状态时,根据当前有效根证书的公钥信息对用户证书进行验签;若验签通过,则根据所述用户证书对待验签固件镜像进行签名验证;若签名验证通过,则判定所述待验签固件镜像安全。与现有技术相比,本发明当某一根证书的私钥泄漏时,可以撤销该根证书,而利用其他可用根证书对固件镜像进行签名及验签,避免只有一个根证书时,由于根证书无法撤销,根证书的私钥泄露而导致的安全风险。

技术研发人员:樊详强,莫纬立,覃然然,李堪聪,谢乐,莫树荣,梁泽宏,吴世杰
受保护的技术使用者:深圳联友科技有限公司
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/read-1829370.html

最新回复(0)