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 各子系列提供的信息安全机制
锁定应用 (MAIN) 闪存

MSPM0 MCU 实现了一个静态写保护方案,以将 MAIN 闪存区域中用户定义的扇区锁定,从而防止在运行时针对相应删除执行任何编程/擦除操作。所需的静态写保护方案配置为 NONMAIN 闪存区域中启动安全策略的一部分。

用途

静态写保护方案支持在闪存中存储一个用户定义的、具有以下特性的固定应用程序:

  • 在编程结束并被锁定后,它就无法由应用程序代码或 ROM 引导加载程序进行修改
  • 如果置于闪存的开头,这会保证它始终是 ROM 引导配置例程转换到执行用户应用程序时执行的第一个代码

MSPM0 静态写保护支持这两个特性,要实现安全启动映像管理器,必须满足这些特性。

功能

当引导配置例程将转换到执行 MAIN 闪存中的引导加载程序或用户应用程序代码时,在 NONMAIN 中配置为写入锁定的任何扇区都将在功能上不可更改。如果应用程序代码或引导加载程序尝试对受静态保护的扇区进行任何编程或擦除,都会导致硬件闪存操作错误,并且扇区不会被修改。

静态写保护可防止应用程序代码或引导加载程序进行任何修改,但通过 SWD 接口发送的批量擦除或恢复出厂设置命令将被接受。如果不需要这种行为,可以使用唯一的密码来保护批量擦除和/或恢复出厂设置 SWD 命令,也可以同时禁用这两个命令(请参阅 SWD 策略)。要完全消除任何修改受静态写保护的 MAIN 闪存扇区的方法,必须禁用批量擦除和恢复出厂设置命令(或 SW-DP),并且 NONMAIN 引导配置存储器也必须具有静态写保护,以防止应用程序代码通过修改 NONMAIN 区域内容来更改底层写保护方案。下一节会对此进行介绍。