
S32 的安全启动用于确保设备仅使用原始设备制造商(OEM)信任的软件启动。重置后启动设备时,HSE安全子系统将检查软件片段的有效性。如果检查有效,设备将被启动;否则,将实施相应的制裁。
安全引导简介
安全引导是验证应用域(多应用核和多内存段)中一个或多个应用CPU子系统执行的一个或多个应用镜像的完整性和真实性。验证策略由用户定义,包括验证内容、验证方法以及对验证结果的分析和处理。
三种安全引导模式
有三种安全启动,如表1所示:
安全开始(BSB):通过解析APPBL头,确定APPBL代码的开始地址和大小。
高级引导模式(ASB):通过使用SMR(安全内存区域)和CR(内核复位)来实现。
基于SHE的安全引导(SSB):它也由SMR和CR实现。与ASB不同,这种安全引导模式只使用SMR#0和CR#0,这是ASB的一种特殊用法。
表1安全启动的区别
在介绍安全引导模式之前,什么是APPBL,SMR,CR?如图1所示,APPBL主要提供APP起始地址、APP内容大小和认证标签。
图1 app bl简介
如图2所示,SMR是安全存储区的描述符,描述了起始地址、待验证内容的大小、验证内容的方法(MAC/SIGN)等。
图2 SMR CR表介绍指的是内核复位表。与该表相关联的相应内核最多与8个SMR相关联。如果关联的SMR验证成功,HSE将释放相应的内核,并使其正常运行App程序;如果验证失败,将进行相应的制裁:禁用密钥、重置内核等。
(1)基本安全启动模式-BSB
如图3所示,BSB是一种简化的启动模式,不同于ASB,也不是基于SMR;
启用安全启动功能前,进行相应的配置;
使用AES-GMAC和密钥为ADK/P计算GMAC;
将计算出的MAC码存储在flash中作为初始值;
启用安全启动功能并执行复位;
复位后,进入安全启动流程,同样操作;、将计算结果与初始值进行比较验证;
如果验证结果一致,执行APP代码;否则,进入恢复模式。
图3基本安全引导模式(二)高级安全引导模式——ASB如图4所示,ASB通过SMR和CR表实现,支持多种认证方案(MAC、Sign)验证App镜像:
启用安全启动功能前,进行相应的配置;
格式化NVM和RAM的密钥,导入需要的对称/非对称密钥;
安装SMR和CR表:
SMR:验证标签的起始地址、大小、验证方法、验证密钥、存储位置等。验证内容;
CR:关联SMR、重置地址、制裁方法等。这需要验证。
根据SMR配置,执行相应的计算方法(MAC/Sign)并将计算结果存储在相应的位置;
启用安全启动功能并执行复位;
复位后,进入安全启动过程,将计算结果与初始值进行比较验证;
如果验证结果一致,则执行APP代码,否则执行CR定义的制裁。
图4高级安全启动
(3)基于SHESSB(ASB)的安全启动模式
如图5所示,SSB和ASB的启动过程非常相似,有以下相似之处和不同之处:
HSE固件也通过使用SMR和CR表启动SSB
SSB是ASB的特殊用法,与ASB不同:
SSB只使用SMR # 0;
密钥是sheboot _ mac _ key
验证方法是CMAC。
图5基于SHE的安全引导模式
以上内容解释了S32K3 SecureBoot的全部内容,主要介绍了什么是安全启动及其三种模式,也方便了S32K3后续的安全启动,打下了一定的基础。
审计彭静









