ZHCAC19 January   2023 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3106 , MSPM0G3107 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0L1105 , MSPM0L1106 , MSPM0L1303 , MSPM0L1304 , MSPM0L1305 , MSPM0L1306 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346

 

  1.   摘要
  2.   商标
  3. 1引言
    1. 1.1 网络安全目标
    2. 1.2 平台信息安全机制
  4. 2器件安全模型
    1. 2.1 启动时的初始条件
    2. 2.2 引导配置例程 (BCR)
    3. 2.3 引导加载程序 (BSL)
    4. 2.4 启动流程
    5. 2.5 用户指定的安全策略
      1. 2.5.1 引导配置例程 (BCR) 安全策略
        1. 2.5.1.1 串行线调试相关策略
          1. 2.5.1.1.1 SWD 安全级别 0
          2. 2.5.1.1.2 SWD 安全级别 1
          3. 2.5.1.1.3 SWD 安全级别 2
        2. 2.5.1.2 引导加载程序 (BSL) 启用/禁用策略
        3. 2.5.1.3 闪存保护和完整性相关策略
          1. 2.5.1.3.1 锁定应用 (MAIN) 闪存
          2. 2.5.1.3.2 锁定配置 (NONMAIN) 闪存
          3. 2.5.1.3.3 验证应用 (MAIN) 闪存的完整性
      2. 2.5.2 引导加载程序 (BSL) 安全策略
        1. 2.5.2.1 BSL 访问密码
        2. 2.5.2.2 BSL 读取策略
        3. 2.5.2.3 BSL 安全警报策略
      3. 2.5.3 配置数据错误抵抗
        1. 2.5.3.1 由 CRC 支持的配置数据
        2. 2.5.3.2 16 位关键字段模式匹配
  5. 3安全启动
    1. 3.1 安全启动身份验证流程
    2. 3.2 非对称与对称安全启动
  6. 4加解密加速
    1. 4.1 硬件 AES 加速
      1. 4.1.1 概述
      2. 4.1.2 AES 性能
    2. 4.2 硬件真随机数发生器 (TRNG)
  7. 5器件标识
  8. 6总结
  9. 7参考文献
  10. 8修订历史记录
  11.   A 各子系列提供的信息安全机制

引导配置例程 (BCR)

MSPM0 器件在只读存储器 (ROM) 中包含一个不可变的信任根引导配置例程。引导配置例程 (BCR) 始终是紧跟器件的 BOOTRST 之后在 Cortex-M0+ 处理器上运行的第一个代码。BCR 还会在软件调用引导加载程序 (BSL) 时运行,因为这是授权 BSL 条目所需的。BCR 的核心职责是:

  1. 将器件正常运行所需的 TI 工厂数据从 FACTORY 闪存区域加载到逻辑中,并通过 CRC-32 验证工厂数据(包括器件修整数据)的完整性
  2. 将用户指定的器件配置(包括安全策略)从 NONMAIN 闪存区域加载到逻辑中,并通过 CRC-32 验证用户配置数据的完整性
  3. 检查是否通过串行线调试 (SWD) 接口发送任何引导命令,对这些命令进行授权(如果适用)并进行处理(如经授权)
  4. 如果启用了 BSL,检查是否存在引导加载程序 (BSL) 调用条件,如果发生有效调用,则启动 BSL
  5. 在启动用户应用程序之前,检查 MAIN 闪存区域中包含用户应用程序代码的闪存部分的完整性
  6. 将任何引导错误记录到 CFG-AP
  7. 通过从 MAIN 闪存中的地址 0x0000.0000 获取堆栈指针并从地址 0x0000.0004 获取复位向量,触发硬件来启动应用程序

在 BCR 执行期间,AHB-AP、ET-AP 和 PWR-AP DAP 仍然无法通过 SWD 接口访问。如果用户指定的安全策略允许对器件进行调试访问,则当硬件启动用户应用程序或引导加载程序时,这些 DAP 将变为可用。