编程技术分享平台

网站首页 > 技术教程 正文

汽车控制器Bootloader概述及安全(汽车控制器是什么意思)

xnh888 2024-10-23 16:23:08 技术教程 42 ℃ 0 评论

简介

Bootloader又称为引导程序。处理器硬件上电启动后自动执行的第一行代码(固定的)会跳转到Bootloader,然后再由Bootloader引导执行用户代码。Bootloader的优势主要是为用户/自身软件的刷写提供便利性。

对于嵌入式系统,Bootloader是基于特定硬件平台来实现的。因此不同的处理器架构都有不同的Bootloader。Bootloader不但依赖于CPU的体系结构,而且依赖于嵌入式系统板级设备的配置。对于两块不同的嵌入式板而言,即使它们使用同一种处理器,要想让运行在一块板子上的Bootloader程序也能运行在另一块板子上,一般也都需要修改Bootloader的源程序 。

FBL

在汽车行业的实际应用中,以刷写更新软件为目的的Bootloader在汽车行业就被广泛称之为Flash Bootloader(FBL)。Bootloader还常细分为Primary Bootloader(PBL)和Secondary Bootloader(SBL)。PBL存储在MCU芯片的Flash,它一般是产品出厂时一次性刷好的,芯片上电或重启后,第一批执行的代码就是PBL。需要刷写软件时,PBL可以通过统一诊断服务(UDS),基于CAN或以太网等底层总线协议与外界诊断仪通信。通过安全鉴权机制校核完诊断仪的权限后,PBL会将诊断仪上的SBL下载到MCU的内存RAM上,然后由SBL进行刷写。

Bootloader的工作流程

在跳转到应用程序之前,每次上电和重置都检查应用程序软件的有效性。

安全机制

MCU一般会使用内嵌的HSM(Hardware Security Module,硬件安全模块)来存储密钥和验证签名。而SoC一般会使用TEE(Trusted Execution Environment,可信执行环境)架构来获取密钥和验证签名。两者在安全层面根据芯片架构采用不同策略,但是其目的和效果都是一样的。

在系统启动之前先验证系统签名的合法性,从而判断将要启动的系统的合法性。

  • 系统合法,则继续加载拉起系统。
  • 非法则报错或自动回滚到上一个合法系统。

其中硬件安全模块可以参考另外一篇文章:

硬件安全模块(HSM)-今日头条 (toutiao.com)

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表