ZHCAEV6 December   2024 F29H850TU , F29H859TU-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1编程基础知识
  5. 2引言
    1. 2.1 硬件安全模块
    2. 2.2 ROM 引导加载程序
    3. 2.3 带有 X.509 证书的合并映像
  6. 3闪存内核实现
    1. 3.1 CPU1 固件升级 (HS-FS)
    2. 3.2 密钥预置(HS-FS 至 HS-KP)
    3. 3.3 CPU1 安全固件升级(HS-KP/SE 至 HS-SE)
    4. 3.4 HSM 固件升级(HS-KP/SE 至 HS-SE)
    5. 3.5 SECCFG 代码预置(HS-KP/SE 至 HS-SE)
  7. 4主机应用程序:UART 闪存编程器
    1. 4.1 概述
    2. 4.2 使用 Visual Studio 构建 UART 闪存编程器
    3. 4.3 使用 CMake 构建 UART 闪存编程器
    4. 4.4 数据包格式
    5. 4.5 内核命令
  8. 5示例用法
    1. 5.1 将闪存内核加载到器件中
      1. 5.1.1 硬件设置
      2. 5.1.2 运行 UART 闪存编程器
    2. 5.2 CPU1 器件固件升级(仅限 HS-FS)
    3. 5.3 将 HS-FS 转换为 HS-SE
    4. 5.4 加载基于 RAM 的 HSMRt 映像
    5. 5.5 密钥预置(HS-FS 至 HS-KP)
    6. 5.6 代码预置(HS-KP/SE 至 HS-SE)
  9. 6故障排除
    1. 6.1 一般信息
    2. 6.2 UART 引导
    3. 6.3 应用程序加载
  10. 7总结
  11. 8参考资料

硬件安全模块

基于 C28 的器件的闪存内核设计与 F29H85x 闪存内核设计之间的主要区别在于硬件安全模块 (HSM) 的集成。HSM 是一个子系统,可提供安全和加密功能。C29 CPU 与 HSM 连接,以执行代码身份验证、安全启动、安全固件升级和加密运行时通信所需的加密操作。

在 UART 启动序列期间,HSM 负责对传入的映像进行身份验证。要使身份验证成功,传入的映像必须包括 X.509 证书。要使用闪存内核正确生成 X.509 证书,请参阅节 2.2

HSM 引入了不同器件安全状态 的概念。器件状态为“高安全性 - 现场安全 (HS-FS)”、“高安全性 - 密钥预置 (HS-KP)”和“高安全性 - 安全启用 (HS-SE)”。默认情况下,F29H85x 器件状态为 HS-FS。表 2-1 介绍了这三种状态之间的差异。

表 2-1 器件安全状态

HS-FS

HS-KP

HS-SE

C29 引导映像(闪存内核)

未强制执行安全启动

使用由 Keywriter 编程的客户密钥强制执行安全启动

使用由 Keywriter 编程的客户密钥强制执行安全启动

HSM 引导映像

强制执行安全启动(使用 TI 提供的默认密钥) 使用由 Keywriter 编程的客户密钥强制执行安全启动 使用由 Keywriter 编程的客户密钥强制执行安全启动

C29 JTAG

默认打开

默认打开

默认关闭

SoC 防火墙

默认打开

对 HSM 禁用,对 C29 启用

对 HSM 禁用,对 C29 启用

C29 CPU 对 C29 闪存存储体的访问

启用

禁用

启用

TI 提供了 OTP(一次性可编程)Keywriter,可用于将 HS-FS 器件转换为 HS-KP 或 HS-SE。OTP Keywriter 是 TI 提供的一组 HSM 运行时固件和工具(证书生成),在器件上执行时可以结合起来实现以下功能:

  • 预置最多两组客户密钥(两个公钥用于引导映像的信任根,加密密钥用于引导映像的解密)。
  • 对扩展 OTP 字段进行编程,这些字段是可用于客户特定用途的附加 OTP 字段。
  • 对 OTP 字段 KEY_COUNT、KEY_REVISION 进行编程,可实现器件从 HS-FS(现场安全)到 HS-KP(密钥预置)的转换。
  • 对 SBL、HSM、APP、SECCFG 映像的 SWREV 等 OTP 字段进行编程,通过 HS-KP 和 HS-SE 器件上的安全启动强制执行防回滚检查。

对这些字段进行编程后,器件状态转换为 HS-KP,引导 ROM 根据器件中预置的密钥通过映像身份验证和解密来强制执行安全启动。安全启动需要使用客户密钥对映像进行加密(可选)和签名。然后,SoC 使用活动 MPK 哈希(用于验证签名)和 MEK(用于解密)对此映像进行验证。

警告:
  • 在各个存储区域中进行的这种烧录密钥操作是不可逆的,因此需要谨慎操作,确保提供正确格式的密钥值和正确的密钥预置。
  • 对字段进行编程的操作是不可逆的,如果提供了错误的值或配置,则会对器件造成永久损坏。

有关 OTP Keywriter 的更多信息,请从 F29H85x MCU SDK 下载页面申请受限制的安全软件包。

HS-FS、HS-KP 和 HS-SE 器件的固件升级过程有所不同。