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

【学习有礼】 |《STM32MPU安全启动》课程全新上线  

[复制链接]
STMCU-管管 发布时间:2024-10-23 08:31
阅读主题, 点击返回1楼
收藏 评论44 发布时间:2024-10-23 08:31
44个回答
qintian0303 回答时间:4 天前
0912.png : A5 {5 S* @  ~( P
种花家刘氓兔 回答时间:4 天前

10.24打开,今天节日快乐image.png

戈壁滩上的辉煌 回答时间:4 天前
(1).png 打卡学习第二天
' d8 J, Q  I# ]1 E" ]' G3 [4 k
孤独的单行者 回答时间:4 天前
20240705.png
* i1 t( f; ^8 n$ Q1 A
落花又见流水 回答时间:4 天前

学**阶linux

image.png

vincent2012 回答时间:4 天前

《STM32MPU安全启动》学习笔记总结

安全启动的基本原理

目的 :防止代码被非法改写或篡改。

信任根(Root of Trust) :这是系统启动时的第一个可信代码,它是不可变且不可跳过的。当系统上电时,必须首先运行信任根代码。

信任链(Chain of Trust) :由于代码通常很庞大,不可能只有一个启动程序(bootloader),因此存在一个启动流程。在这个流程中,每一级都会校验下一级的代码,确保其完整性和真实性。每一级都会有一段数据用于校验。

校验过程 :通常使用哈希算法生成校验和,然后使用签名进行验证。如果签名比对成功,则可以跳转到下一级。

Boot Chain(启动链)

STM32MP15的上电流程:

  1. Boot Room :系统上电后首先运行Boot Room。
  2. 加载FSBL :从Boot Room加载第一级引导程序(FSBL,First Stage BootLoader)。
  3. 加载OP TEE 和 Uboot :FSBL加载OP TEE(Optee Trusted Execution Environment)和Uboot。
  4. 加载Linux内核和应用 :随后Uboot加载Linux内核,再加载应用程序。
  5. M4核的加载 :M4核可以由Uboot/Linux内核/应用程序加载,也可以在OP TEE加载。

STM32MP13的上电流程与STM32MP15类似,但少了M4核。

STM32MP25X的启动流程:

  1. Boot Room :系统上电后首先运行Boot Room。
  2. TF-A BL2 和 TF-A BL31 :Boot Room加载TF-A(Trusted Firmware-A)的BL2(Boot Loader 2)和BL31(Boot Loader 31)。
  3. 加载OP TEE 和 Uboot :随后加载OP TEE和Uboot。
  4. 加载Linux内核和应用 :Uboot加载Linux内核,再加载应用程序。
  5. M33核的加载 :M33核分为安全和非安全部分,其加载都在OP-TEE之后进行。

安全启动的三个阶段

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

可信软件的重要性

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

image.png

LTLT 回答时间:3 天前

基础知识:

Product Lift Cycle

  • A/D 系列中 只有 UNSECURED 状态
  • C/F 系列中
    • SECURED_UNLOCKED
    • UNDER_PROVISIONING OTP的烧录 SSP 功能相关
    • SECURED_LOCKED 安全状态是强制的
    • RMA 做失效分析的 需要UNLOCKED 流程

Device Life Cycle

  • OPEN state

    • 可以选择性使用校验
  • CLOSED state

    • boot 加载就是强制签名校验
  • RMA state

STM32MP15

BootRoom -> TF-A BL2 讲解如何签名校验

出厂设置是没配置OPT功能的,所以一开始如果校验不成功也会通过运行

校验:

  • ECDSA签名校验的机制 同时带有防止版本回退的机制

  • OTP 存有 Key 和一个版本值,启动的时候就是将bootRoom内容进行校验查看是否PASS

    • OTP 看视频介绍说是在上位机进行配置的
    • 首先生成密钥对、哈希(PKH 应该写入在 OTP WORD 24-31字段中)
    • 上位机需要生成 Image 签名 ,加入需要的信息生成一个头文件
  • 这个头文件有两种 P 256 NIST 、Brainpool 256 T1

  • 头的信息就包含了ECDSA 数据、 Image 数据、版本信息、头版本信息(MP15是1.0)

  • EDCSA流程

  • 校验public key 进行 哈希然后和OTP里面进行比较

  • image 签名有效性验证

  • 防回滚的检查 (可以重新生成image这样也可以回到旧版本)

zwjiang 回答时间:3 天前

2024-10-25 打卡

image.png

种花家刘氓兔 回答时间:3 天前

10.25打开,今天是节后第一天

image.png

image.png
image.png
qintian0303 回答时间:3 天前
0912.png ) h6 \, F& c+ |. l' e
戈壁滩上的辉煌 回答时间:3 天前
(1).png 5 j7 ^" d4 I. i/ t. G
Bymyself 回答时间:3 天前
屏幕截图.png
1 e# H* K* D6 p: G6 x4 R0 d4 T
shenxiaolin_mai 回答时间:3 天前

999.png

打卡打卡

STMWoodData 回答时间:3 天前

打卡学习

image.png

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版