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

安全启动身份验证流程

需要完成以下配置步骤来准备器件,以便支持安全启动:

  1. 必须配置启动映像管理器固件并将其编程到 MAIN 闪存中,其中复位矢量 0x0000.0004 指向启动映像管理器的开始
  2. 启动映像管理器所需的任何身份验证密钥材料都必须编程到 MAIN 闪存中,与启动映像管理器相邻
  3. 器件 NONMAIN 配置存储器必须使用以下特性进行编程:
    1. 包含启动映像管理器固件和密钥材料的 MAIN 闪存扇区必须配置为静态写保护以防止遭到修改。
    2. NONMAIN 闪存扇区必须配置为静态写保护以防止遭到修改。
    3. 建议使用密码保护或禁用批量擦除和恢复出厂设置命令(使用上述配置设置禁用恢复出厂设置将导致 NONMAIN 配置以及包含启动映像管理器和身份验证密钥的扇区永久锁定)。
    4. 建议启用 MAIN 闪存完整性检查,并将地址范围设置为包括启动映像管理器和身份验证密钥。

配置完成,并且将已签名的固件编程到器件中后,器件上电的安全启动流程如下所示:

  1. 在上电期间,器件处于最大安全状态。如果器件配置有效,BCR 将检查器件配置存储器的完整性,并相应地加载用户指定的策略。
  2. BCR 将计算与包含 BIM 和密钥材料的 MAIN 闪存相对应的 CRC 值。如果 CRC 校验通过,BCR 将转换到执行第一个用户代码(启动映像管理器)。
  3. 启动映像管理器将计算剩余应用程序代码的摘要:
    1. 在非对称身份验证的情况下,应用程序代码的安全哈希 (SHA2-256) 摘要将在软件中计算
    2. 在对称身份验证的情况下,与应用程序代码相对应的 CMAC 消息身份验证代码将使用身份验证密钥计算
  4. 启动映像管理器将根据提供的签名验证摘要:
    1. 在非对称身份验证的情况下,数字签名将在软件中使用椭圆曲线数字签名算法 (ECDSA) 进行解密,并将结果与计算的哈希值进行比较
    2. 在对称身份验证的情况下,计算出的 CMAC 将与数字签名中的 CMAC 进行比较
  5. 如果应用程序代码摘要与签名相匹配,则会启动应用程序代码,否则将调用用户指定的故障处理程序。