你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

学习笔记请大家提意见

[复制链接]
vincent2012 提问时间:2024-10-31 13:23 / 未解决
安全启动的基本原理
目的 :防止代码被非法改写或篡改。
信任根(Root of Trust) :这是系统启动时的第一个可信代码,它是不可变且不可跳过的。当系统上电时,必须首先运行信任根代码。
信任链(Chain of Trust) :由于代码通常很庞大,不可能只有一个启动程序(bootloader),因此存在一个启动流程。在这个流程中,每一级都会校验下一级的代码,确保其完整性和真实性。每一级都会有一段数据用于校验。
校验过程 :通常使用哈希算法生成校验和,然后使用签名进行验证。如果签名比对成功,则可以跳转到下一级。
Boot Chain(启动链)
STM32MP15的上电流程:
  • Boot Room :系统上电后首先运行Boot Room。
  • 加载FSBL :从Boot Room加载第一级引导程序(FSBL,First Stage BootLoader)。
  • 加载OP TEE 和 Uboot :FSBL加载OP TEE(Optee Trusted Execution Environment)和Uboot。
  • 加载Linux内核和应用 :随后Uboot加载Linux内核,再加载应用程序。
  • M4核的加载 :M4核可以由Uboot/Linux内核/应用程序加载,也可以在OP TEE加载。

STM32MP13的上电流程与STM32MP15类似,但少了M4核。
STM32MP25X的启动流程:
  • Boot Room :系统上电后首先运行Boot Room。
  • TF-A BL2 和 TF-A BL31 :Boot Room加载TF-A(Trusted Firmware-A)的BL2(Boot Loader 2)和BL31(Boot Loader 31)。
  • 加载OP TEE 和 Uboot :随后加载OP TEE和Uboot。
  • 加载Linux内核和应用 :Uboot加载Linux内核,再加载应用程序。
  • M33核的加载 :M33核分为安全和非安全部分,其加载都在OP-TEE之后进行。

安全启动的三个阶段
  • Boot Room的FSBL启动 :Boot Room首先启动FSBL。
  • Uboot的校验 :Uboot进行校验,通过后才能进入下一个阶段。
  • Contex M FW从Optee加载 :从Optee加载Contex M固件。

可信软件的重要性
  • 校验方式 :确保软件的完整性和真实性。
  • 调试配置 :在开发和调试过程中,需要正确配置安全启动。
  • MPU系列 :不是所有的MPU都支持安全启动,通常后面带有C/F系列的MPU支持安全启动。

产品生命周期(Product Life Cycle)
  • A/D系列 :只有UNSECURED状态,即不安全状态。
  • C/F系列
    • SECURED_UNLOCKED :安全但未锁定状态,可以进行配置。
    • UNDER_PROVISIONING :OTP(一次性可编程存储器)烧录过程中,与SSP(安全存储保护)功能相关。
    • SECURED_LOCKED :安全状态,且是强制的,无法更改。


设备生命周期(Device Life Cycle)
  • OPEN state :可以选择性使用校验。
  • CLOSED state :启动加载时必须进行签名校验。
  • RMA state :用于失效分析,需要UNLOCKED流程。

STM32MP15启动流程
  • BootRoom :系统上电后首先运行BootRoom。
  • TF-A BL2 :BootRoom加载Trusted Firmware-A的BL2(Boot Loader 2)。

出厂设置
  • 出厂时没有配置OPT功能,因此即使校验不成功,系统也会运行。

校验机制
  • ECDSA签名校验 :使用椭圆曲线数字签名算法(ECDSA)进行签名校验,同时带有防止版本回退的机制。

OTP配置
  • OTP中存储有密钥和版本值,启动时对BootRoom内容进行校验查看是否通过。
  • OTP配置是在上位机进行的,首先生成密钥对和哈希值(PKH应写入在OTP的WORD 24-31字段中)。

签名和头文件
  • 上位机需要生成Image签名,并加入需要的信息生成一个头文件。
  • 头文件有两种类型:P-256 NIST和Brainpool 256 T1。
  • 头文件信息包含ECDSA数据、Image数据、版本信息、头版本信息(MP15是1.0)。

ECDSA流程
  • 校验public key :进行哈希计算后与OTP中的值进行比较。
  • image签名有效性验证 :确保Image的签名是有效的。
  • 防回滚检查 :检查版本信息以防止版本回退,但也可以通过重新生成Image回到旧版本。

收藏 评论2 发布时间:2024-10-31 13:23

举报

2个回答
vincent2012 回答时间:2024-10-31 13:24:42
现在格式没了请大家谅解
vincent2012 回答时间:2024-10-31 19:01:04

格式好了

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版