整车FOTA 系统 1.蜂窝网络在汽车与OEM 服务器之间建立安全连接,通过该连接把最新固件从服务器安全传送到TBOX,TBOX然后发送到OTA Master; 2.OTA Master解析存储固件,维护ECU固件信息表,包括产品序列号,当前版本等; 3.OTA Master负责将完整二进制文件或者差分分件下载到目标ECU.
OTA Master 和目标ECU 的刷新流程 1.OTA Master 和目标ECU 建立诊断连接; 2.目标ECU 对OTA Master进行认证; 3.请求目标ECU进入刷新模式; 4.下载Flash driver,并校验Flash driver 5.通过Flash driver 擦除目标Flash; 6.重新刷写Flash,并校验Flash MAC或者签名 7.反馈刷新结果 OTA Master 向目标ECU执行刷新之前需要验证由 OTA PKI 签名
目标ECU 执行软件升级过程
上电/复位后,ECU 首先执行 Bootloader 引导代码; Bootloader 执行一些基本的初始化,然后检查刷新请求标志是否已设置; 如果标志已被设置,那么即使应用程序是有效的,Bootloader 也会继续进一步执行; 如果当前没有刷新请求,则开始检查应用程序的状态, 如果应用程序是有效的,则启动应用程序; 如果应用程序无效,ECU 在默认会话模式继续执行Bootloader 并且等待切换至扩展会话模式,以及进入编程会话模式。
ECU在执行固件升级过程中,有A/B分区法和原位法两种,取决于实际需求
升级包校验
通过引导加载程序将升级包下载并解压缩到ECU的Host核。升级包可以由HSM核上解密。 在HSM内核上,通过计算二进制文件的哈希和签名来验证升级包。将计算出的签名与下载的签名进行比对,如果两个签名相同,则验证通过,二进制文件设置为有效。
文件校验的算法:可采用对称算法CMAC,HMAC 非对称算法:RSA,ECC,国密等 实际使用算法根据实际需求。
|