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

 

  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 各子系列提供的信息安全机制

非对称与对称安全启动

虽然 MSPM0 SDK 中提供的启动映像管理器支持非对称和对称安全启动,但对于给定的应用,应仔细权衡这两种实现方案。表 3-1 给出了这两种替代方案之间的权衡。

表 3-1 安全启动算法比较
参数 非对称 (SHA2 + ECDSA) 对称 (CMAC)
身份验证用时 较长,因为使用软件哈希计算和公钥算法 较短,因为算法简单并且能够在可用时利用硬件 AES 加速
代码大小 较大,因为使用 SHA 和 ECDSA 算法 较小,尤其是在目标器件上提供 AES 加速时
密钥完整性 公钥必须配置到器件中,并且必须是不可更改的 共享密钥必须配置到器件中,并且必须是不可更改的
密钥机密性 公钥没有保密要求,也不需要保护公钥免受应用程序代码漏洞的影响 共享密钥必须保密,并且在不使用时应打包,并应使用静态读取防火墙(如果目标器件支持)进行保护,以保护共享密钥免受应用程序代码漏洞的影响

在大多数情况下,TI 建议采用非对称实现方案。如果代码大小受限且/或身份验证用时必须保持最短,则可以使用对称实现方案,但必须谨慎管理共享密钥。并非所有器件都提供了安全存储来保护共享对称密钥免受软件漏洞的影响。