STMCU小助手
发布时间:2022-8-10 08:49
|
1. 引言 通常芯片在其整个生命周期中跟随产品的开发生产可能经历如下几个不同阶段 :- U, S2 j1 C9 q% D3 `+ {
在不同的生命周期阶段需要对芯片资源有不同的访问权限,例如芯片出厂时要开放所有资源供 OEM 进行开发,工厂生产烧录代码和数据后需要关闭某些资源的访问,确保代码与数据的安全性,设备回厂返修时需要再次允许某些资源的访问等等。 STM32MCU 的硬件中能够用来进行芯片生命周期管理的最常见的特性就是 RDP(Read Out Protection)读保护功能。通常 RDP 具有三个级别: • Level0:完全开放,这是芯片出厂的缺省状态8 A* u8 \# J( N! B% x0 F2 O • Level1:调试端口可以连接,但无法通过调试端口访问内部 Flash,部分 SRAM 以及其它一些资源,OptionByte 可以修改。Level1 可以降级回 Level0,但会伴随全片擦除。, t' M5 O% R- K& ?0 } • Level2:调试端口永久关闭,进入这种状态后调试端口完全无法访问,且这种状态无法逆转。4 ?5 E; d' b* D M6 L 在 RDP Level1 调试端口依旧可以连接,虽然不能直接读取内部 Flash 的代码和数据,但是可以看到大部分 SRAM 的内容,并且 RDP Level1 允许随意回退到 Level0,并伴随全片擦除。因而从安全角度讲 Level1 这个级别的安全性不够高,因而通常对于调试端口保护我们会推荐使用 RDP Level2,但是 OEM 可能往往不会选择使用这个级别,原因有多方面,其中一部分的顾虑可能来自两方面,一个是 Level2 级别下 OptionByte 无法进行修改,另一个是设置到 Level2级别会影响芯片失效分析。7 H$ e3 h Z3 w4 f- h STM32L5 在 RDP 功能上带来一些改变,首先针对 TrustZone 架构,增加了 Level0.5,0 R1 F4 L5 m2 D2 } • Level0.5:调试端口可以连接,但是安全测的所有调试功能都被禁止,非安全测的调试功能依旧可以使用,因此在 RDP Level0.5 可以访问被定义为 NonSecure 的部分资源,包括片上 Flash,SRAM,部分 CPU 寄存器以及系统外设等另外,STM32L5 的 RDP Level2 不影响 FA,但 OEM 依旧无法在这种状态下进行RDP 降级或者 OptionByte 修改,依旧有一些局限性。' C: {: }5 A9 a* J& _* J9 Y 7 g; T. v0 A' v 2. STM32U5 芯片生命周期管理新特性 STM32U5 在芯片生命周期管理方面在 STM32L5 的基础做了进一步的改进,引入了OEM Key 机制,使得 RDP 的级别状态转换能够通过 OEM 设置的 password 进行保护,一方面能够防止 RDP 任意降级,避免设备被远程攻击注入恶意代码后通过 RDP 降级变砖的风险,另一方面也使得 RDP2 降级成为可能,给产品后期维护带来更多的灵活性。 3 N( O3 x8 i" G* f: U 3 J2 N0 ^, C4 G; o7 \- e8 Z% P5 [7 Z 完整版请查看:附件; g: v( A4 T' C) M t2 v& W ( X+ N* n2 i K |
LAT1086_STM32U5带OEM_Key保护的RDP降级_v1.0.pdf
下载942.86 KB, 下载次数: 0
实战经验 | 基于 STM32U5 创建 USBx_CustomHID 通信
STM32U5 Timer+GPDMA 2D 通道实现多波形交替输出 实操方案与优化
安全篇:STM32L5/U5—— 高性能 + 高安全超低功耗 MCU
经验分享 | STM32U5 ADC+TIM+DMA 2D传输应用演示
【经验分享】LAT1496 基于 USBD库CDC Standalone例程中的一个Bug解析
STM32U5A9JDK试用---MIPI-DSI屏幕驱动
STM32U5 ADC 自校准失败终极解决:VDDA 隔离解除 + 电压调整器就绪实操指南
《STM32U3线上课程》学习笔记+STM32U3 超低功耗 MCU,超低功耗及数据安全
立即在GitHub上抢先体验面向STM32U5的最新STM32Cube HAL更新
STM32开发五大误区,新手别傻傻信了
微信公众号
手机版