【简介】
S32K3 芯片是支持一些信息安全相关的服务,这些服务是是运行在芯片的 HSE core 上。S32K3 的安全启动的实现也是在HSE 服务的基础上实现的。安全启动主要依赖HSE 的加密算法,校验区域(SMR),Core 启动配置(CR) 这个几个服务。HSE 的资源从硬件设计上是独立的,HSE 有自己的FLASH 和 RAM 资源,应用核心无法访问HSE的资源,他们之间的通讯机制是通过MU来进行交互。

上述图片也可以看出app space 和 Hse space 是独立的他们之间通过MU来通讯,SRAM 和 DTCM 的资源是共享访问,数据的交互就可以通过SRAM 和 DTCM来交互。介绍完了HSE core 和App core 的HSE服务的交互方式我们继续看下用于实现Secure Boot 启动的一些关键服务。下图是Secure Boot 的配置流程,从流程上可以看出主要需要使用HSE CORE 提供的KEY 管理和SMR,CR表注册的服务。

【KEY管理】
我们首先来梳理用到的第一个服务KEY的管理,以下是HSE 内部对算法key 的管理方式。

从上述图片可以看出HSE 内部对于Key 的管理是按照 Catalog/Group/Slot 三级目录结构的方式进行管理的。
Catalog:分为 ROM/NVM/RAM 三种类型,其中ROM 类型为NXP定义无法修改,NVM/RAM 类型为用户自定义类型。
Group:用户可以根据KEY的功能定义对应的group。
Slot:用户可以在Group 为每个密钥分配一个Slot,Slot 是密钥存储的单元。
【SMR配置】
【CR配置】
我要赚赏金
