艾巴生活网

您现在的位置是:主页>科技 >内容

科技

什么是Secure(Boot以及三种模式)

2024-11-16 13:50:04科技帅气的蚂蚁
S32 的安全启动用于确保设备仅使用原始设备制造商(OEM)信任的软件启动。重置后启动设备时,HSE安全子系统将检查软件片段的有效性。如果检

什么是Secure(Boot以及三种模式)

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后续的安全启动,打下了一定的基础。

审计彭静