一种用于车载MCU的安全启动方法及装置制造方法及图纸

技术编号:35821386 阅读:16 留言:0更新日期:2022-12-03 13:46
本发明专利技术公开一种在不支持TrustZone的MCU上,使用对称密钥算法,利用芯片内置的HSM或外置的安全芯片,以一种简单易行的方式来实现MCU的安全启动控制方法和装置。本发明专利技术可以为广泛应用的汽车控制器提供一种简单易行的安全启动功能实现方式,从而保障汽车控制器固件不被恶意刷写。本发明专利技术用于确保设备启动后、其加载或运行的代码都是可信的。利用加密算法、通过信任链的方式,确保固件的安全性和完整性。第二安全校验模块灵活性较高,可以根据控制器的需求,进行定制化的开发。进行定制化的开发。进行定制化的开发。

【技术实现步骤摘要】
一种用于车载MCU的安全启动方法及装置


[0001]本专利技术属于信息安全
,具体涉及汽车安全,尤其是一种用于车载MCU的安全启动方法及装置。

技术介绍

[0002]安全启动控制方法是指建立可信的启动流程,以不可变的序列启动系统,使用信任链机制和加密认证方法,来验证启动序列中涉及到的软件的来源的真实性,因此可防止任何未经授权或恶意修改的软件在设备上运行。
[0003]现有技术通常是基于芯片内核提供的安全机制构建可信执行环境,通过固化在BootROM中的引导程序实现固件的逐级验签,从而实现安全启动。
[0004]安全启动通常基于TEE技术实现。TEE(Trusted execute environment),也就是可信执行环境;通过在处理器中设置一块安全区域,保证代码和数据的机密性和完整性;TEE中的数据不会被非法访问;TEE中的程序在隔离的环境中运行。
[0005]通过将其移植到支持TrustZone的ARM内核芯片,来保障软件来源的真实性,从而满足安全启动的要求。
[0006]中国专利“一种基于TrustZone的系统可信启动方法”,申请公布号CN108287999A,申请公布日2018.07.17,公开本一种基于TrustZone的系统可信启动方法,是基于具有支持TrustZone技术的系统,系统的设备至少包括存储器,存储器至少包括处于安全域的ROM和RAM,和处于普通域的存储器C,包括如下步骤:S1:设备启动;S2:位于ROM中的ROM加载程序启动;S3:ROM加载程序对操作系统引导程序进行加载验证,若验证通过则操作系统引导程序启动;S4:操作系统引导程序对操作系统内核程序进行加载验证,若验证通过则操作系统内核程序启动。
[0007]目前TEE只能在支持TrustZone的ARM芯片上实现,然而,在汽车控制器中使用了大量不支持TrustZone的MCU,这些不支持TrustZone的MCU亟需一种易于实现的方法来满足安全启动的安全要求。

技术实现思路

[0008]针对
技术介绍
存在的问题,本专利技术的目的在于提供一种用于车载MCU的安全启动方法及装置,在不支持TrustZone的MCU上,使用对称密钥算法,利用芯片内置的HSM或外置的安全芯片,以一种简单易行的方式来实现MCU的安全启动控制方法和装置。
[0009]为达到上述目的,本专利技术设计的用于车载MCU的安全启动方法,其特征在于,所述方法包括:
[0010]Bootrom获取第二安全校验模块起始地址,并启动第二安全校验模块;
[0011]第二安全校验模块使用第一安全校验模块校验BootLoader的真实性和完整性,得到第二结果;其中,第一安全校验模块的可行度高于第二安全校验模块;
[0012]BootLoader中的安全启动模块使用第一安全校验模块校验待启动APP的真实性和
完整性;得到第三结果;其中,第二安全校验模块的可行度高于第三安全校验模块;
[0013]第二结果和第三结果逐一验证通过,则启动软件,任一结果不通过,则立即终止。
[0014]优选的,Bootrom启动后,第一安全校验模块对第二安全校验模块进行真实性和完整性验证,得到第一结果,通过则启动第二校验模块,否,则终止。
[0015]优选的,所述第二安全校验模块烧录至MCU的存储芯片后不再变更,且是紧随Bootrom启动。
[0016]进一步优选的,若系统支持A/B面,第二安全校验模块负责选择活动的BootLoader跳转。
[0017]优选的,所述第一安全校验模块为罐装有对称密匙的HSM块或者外置的安全芯片。
[0018]作为优选方案,得到第二结果具体方法为:
[0019]第二安全校验模块获取BootLoader中安全模块的信息,包括CMAC值;第二安全校验模块使用第一安全校验模块校验安全模块的信息,使用对称密钥对BootLoader计算CMAC值;将获取的CMAC值与计算的CMAC值比较,一致则继续,不一致则终止。
[0020]作为优选方案,得到第三结果具体方法为:
[0021]安全启动模块获取待启动APP的信息,包括CMAC值;安全启动模块使用第一安全校验模块校验待启动APP的信息,使用对称密钥对待启动APP计算CMAC值;将获取的CMAC值与计算的CMAC值比较,一致则继续,不一致则终止。
[0022]为达到上述目的,本专利技术设计的用于车载MCU的安全启动装置,其特征在于,包括:
[0023]第一安全校验模块,用于配合第二安全校验模块和安全启动模块参与CMAC值计算;
[0024]第二安全校验模块,使用第一安全模块用于校验BootLoader的真实性和完整性得到第二结果;
[0025]安全启动模块,置于BootLoader中,使用第一安全模块用于校验待启动APP的真实性和完整性得到第三结果;
[0026]第二结果和第三结果逐一验证通过,则启动软件,任一结果不通过,则立即终止。
[0027]优选的,所述第二安全校验模块烧录至MCU的存储芯片后不再变更,且是紧随Bootrom启动。
[0028]进一步优选的,Bootrom启动后,第一安全校验模块对第二安全校验模块进行真实性和完整性验证,得到第一结果,通过则启动第二校验模块,否,则终止。
[0029]本专利技术的有益效果是:本专利技术可以为广泛应用的汽车控制器提供一种简单易行的安全启动功能实现方式,从而保障汽车控制器固件不被恶意刷写。本专利技术用于确保设备启动后、其加载或运行的代码都是可信的。利用加密算法、通过信任链的方式,确保固件的安全性和完整性。第二安全校验模块灵活性较高,可以根据控制器的需求,进行定制化的开发。
附图说明
[0030]图1是本专利技术的流程示意图
[0031]图2是图1中Embedded Device中的示意框图
[0032]图3是本专利技术各个模块件的交互时序图
具体实施方式
[0033]下面通过附图以及列举本专利技术的一些可选实施例的方式,对本专利技术的技术方案(包括优选技术方案)做进一步的详细描述。显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0034]如图1所示,本专利技术设计的用于车载MCU的安全启动方法和装置,其流程为:
[0035]一、使用支持国密算法的服务器密码机生成对称密钥;
[0036]二、将对称密钥灌装到第一安全模块中,用于校验过程中的安全运算;第一安全模块可以是MCU的HSM(硬件安全模块)或外置的安全芯片;
[0037]三、将需要保护的目标软件编译生成固件;
[0038]四、使用对称密钥、对固件进行CMAC计算;
[0039]五、使用脚本工具,对固件添加Header,将固件的长度、CMAC值等信息写入Head本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于车载MCU的安全启动方法,其特征在于,所述方法包括:Bootrom获取第二安全校验模块起始地址,并启动第二安全校验模块;第二安全校验模块使用第一安全校验模块校验BootLoader的真实性和完整性,得到第二结果;其中,第一安全校验模块的可行度高于第二安全校验模块;BootLoader中的安全启动模块使用第一安全校验模块校验待启动APP的真实性和完整性;得到第三结果;其中,第二安全校验模块的可行度高于第三安全校验模块;第二结果和第三结果逐一验证通过,则启动软件,任一结果不通过,则立即终止。2.根据权利要求1所述的用于车载MCU的安全启动方法,其特征在于:Bootrom启动后,第一安全校验模块对第二安全校验模块进行真实性和完整性验证,得到第一结果,通过则启动第二校验模块,否,则终止。3.根据权利要求1所述的用于车载MCU的安全启动方法,其特征在于:所述第二安全校验模块烧录至MCU的存储芯片后不再变更,且是紧随Bootrom启动。4.根据权利要求3所述的用于车载MCU的安全启动方法,其特征在于:若系统支持A/B面,第二安全校验模块负责选择活动的BootLoader跳转。5.根据权利要求1至4任一所述的用于车载MCU的安全启动方法,其特征在于:所述第一安全校验模块为罐装有对称密匙的HSM块或者外置的安全芯片。6.根据权利要求5所述的用于车载MCU的安全启动方法,其特征在于:得到第二结果具体方法为:第二安全校验模块获取BootLoader中安全模块的信息,包括CMA...

【专利技术属性】
技术研发人员:蔡艳波孙伟舒畅李闯王敬伟
申请(专利权)人:东风汽车集团股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1