ZHCAC19A January   2023  – December 2025 MSPM0C1105 , MSPM0C1106 , MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G1518 , MSPM0G1519 , MSPM0G3105 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1 , MSPM0G3518 , MSPM0G3518-Q1 , MSPM0G3519 , MSPM0G3519-Q1 , MSPM0L1105 , MSPM0L1106 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
    1. 1.1 关键概念
    2. 1.2 网络安全目标
    3. 1.3 平台信息安全机制
  5. 2器件安全模型
    1. 2.1 器件标识
    2. 2.2 启动时的初始条件
    3. 2.3 引导配置例程 (BCR)
    4. 2.4 引导加载程序 (BSL)
    5. 2.5 启动流程
    6. 2.6 用户指定的安全策略
      1. 2.6.1 引导配置例程 (BCR) 策略
        1. 2.6.1.1 串行线调试相关策略
          1. 2.6.1.1.1 SWD 安全级别 0
          2. 2.6.1.1.2 SWD 安全级别 1
          3. 2.6.1.1.3 SWD 安全级别 2
        2. 2.6.1.2 引导加载程序 (BSL) 启用/禁用策略
        3. 2.6.1.3 闪存保护和完整性相关策略
          1. 2.6.1.3.1 锁定应用 (MAIN) 闪存
          2. 2.6.1.3.2 锁定配置 (NONMAIN) 闪存
          3. 2.6.1.3.3 验证应用 (MAIN) 闪存的完整性
        4. 2.6.1.4 引导加载程序 (BSL) 安全策略
          1. 2.6.1.4.1 BSL 访问密码
          2. 2.6.1.4.2 BSL 读取策略
          3. 2.6.1.4.3 BSL 安全警报策略
      2. 2.6.2 客户安全代码 (CSC) 安全策略
        1. 2.6.2.1 CSC 强制存储体交换
        2. 2.6.2.2 CSC 强制防火墙
        3. 2.6.2.3 CSC 密钥写入 KEYSTORE
      3. 2.6.3 配置数据错误抵抗
        1. 2.6.3.1 由 CRC 支持的配置数据
        2. 2.6.3.2 16 位关键字段模式匹配
  6. 3安全启动
    1. 3.1 安全处理环境隔离
    2. 3.2 客户安全代码 (CSC)
      1. 3.2.1 安全启动流程
      2. 3.2.2 闪存映射
      3. 3.2.3 特性
        1. 3.2.3.1 CMAC 加速
        2. 3.2.3.2 非对称验证
        3. 3.2.3.3 KEYSTORE 及防火墙
        4. 3.2.3.4 CSC 性能
      4. 3.2.4 快速入门指南
        1. 3.2.4.1 环境设置
        2. 3.2.4.2 分步指导
        3. 3.2.4.3 CSC NONMAIN 配置
        4. 3.2.4.4 定制 CSC 示例上的更改
    3. 3.3 启动映像管理器 (BIM)
      1. 3.3.1 安全启动流程
      2. 3.3.2 闪存映射
      3. 3.3.3 快速入门指南
  7. 4安全存储
    1. 4.1 闪存写保护
    2. 4.2 闪存读取-执行保护
    3. 4.3 闪存 IP 保护
    4. 4.4 数据存储体保护
    5. 4.5 安全密钥存储
    6. 4.6 SRAM 保护
    7. 4.7 硬件单调计数器
  8. 5加密加速
    1. 5.1 硬件 AES 加速
      1. 5.1.1 AES
      2. 5.1.2 AESADV
    2. 5.2 硬件真随机数发生器 (TRNG)
  9. 6常见问题解答
  10. 7总结
  11. 8参考资料
  12. 9修订历史记录

关键概念

表 1-1 关键概念
术语 含义
NONMAIN 一个专用闪存区域,可配置器件引导相关参数。请参阅 MSPM0 NONMAIN 闪存操作指南以了解 NONMAIN 运行指南。
安全启动 作为执行的先决条件,确认和验证可更新固件和软件组件的完整性和真实性的过程。
INITDONE INITDONE 是一些 MSPM0 器件中的一个寄存器,用于隔离特权状态和非特权状态。INITDONE 在特权状态结束时由 CSC 触发,而 CSC 中配置的所有非静态安全策略都将在 INITDONE 期间生效。
客户安全代码 (CSC) MSPM0 SDK 中针对具有 INITDONE 机制的器件提供的安全启动解决方案。它是信任根的一部分,可在生产后保持不可更改,并实现应用程序映像完整性和真实性验证以及其他安全策略配置。CSC 还可以表示 MSPM0 硬件特性,这意味着 MSPM0 器件支持 INITDONE 机制。
启动映像管理器 (BIM) MSPM0 SDK 中针对没有 INITDONE 机制的器件提供了安全启动解决方案。
信任根 (RoT) 特别是指不可更改的信任根,这是设备上最受信任的安全组件。它本质上是可信的,因为它不能在制造后进行修改。不存在任何更深层次的软件可以验证它是否真实且未经修改。在 CSC 解决方案中包括 ROM 引导代码及具有静态写保护的 CSC。
密钥库 AES 密钥的安全存储。只有 CSC 可以将密钥配置到密钥库中,主应用程序可以将加密引擎 (AES) 配置为使用存储的密钥之一,但永远无法访问任何存储的密钥。
防火墙 针对闪存存储器某些特定区域的动态保护机制,包括写保护、读取-执行保护和 IP 保护。
存储体交换 在 MSPM0 双组器件上配置闪存存储体地址映射的机制。它在 CSC 中进行配置,并在 INITDONE 之后生效。
静态写保护 由 NONMAIN 配置启用的静态写保护机制。除非更改了 NONMAIN 配置以再次启用写入,否则 ROM 引导代码完成后无法修改受保护区域。
SHA2-256 哈希算法采用整个消息并且将其压缩成一个固定长度(256 位)摘要。它用来验证消息完整性。仅在 MSPM0 器件中通过软件来支持。
ECDSA P256 用来验证消息真实性的非对称算法。仅在 MSPM0 器件中通过软件来支持。
AES 高级加密标准,一些 MSPM0 器件为 AES 提供硬件加速器。
TRNG 真随机数生成器,一些 MSPM0 器件为 TRNG 提供硬件加速器。