STM32的存储与执行保护

发布时间:2023-02-15  

STM32安全特性概览

从产品系列来看

STM32 UID

出厂前由STM32烧写在芯片的系统Flash部分,提供STM32芯片的唯一标志号

  • Wafer位置,X坐标值BCD编码@2字节

  • Wafer位置,Y坐标值BCD编码@2字节

  • Lot编号低地址,ASCII编码 @2字节

  • Wafer编号 @1字节

  • Lot编号高地址,ASCII编码 @4字节

常见用途:

  • 通过某种算法生成该芯片所在产品的序列号

  • 密钥派生

从产品系列来看UID

STM32 Flash写保护

  • 保护片上Flash指定区域的内容不被意外地修改,也不能被擦除

  • 常见用途:WRP+RDP2,锁定一段片上Flash区域成为ROM

  • 通过选项字节使能保护和撤除保护

从产品系列来看WRP

STM32私有代码保护PCROP

保护片上Flash指定区域不能被数据总线访问,只能执行

  • 不能被读、修改、擦除

  • 调试接口也无法读出区域里的内容

  • 这段代码可以被调试:观察寄存器、堆栈等上下文

常见用途:联合开发时,对IP代码进行保护,不被终端用户读出或修改

通过选项字节使能保护

  • L4、H7、G0、G4、WB:设置起始page和末尾page,连续地址

  • 其他系列:每个page/sector可独立设置

通过选项字节撤除保护:RDP降级+同时取消保护区域的范围设置

  • PCROP_RDP=1,RDP降级:片上Flash所有内容被擦除,包括PCROP保护的区域

  • PCROP_RDP=0,RDP降级:只擦除PCROP区域以外

PCROP使用技巧

使用技巧1,关于敏感代码涉及的常数

  • 在IDE中设置特别的编译选项

  • 代码用到的常量放在保护区域之外

使用技巧2,存储敏感数据

  • 也要结合其他保护机制,把敏感数据恢复到安全的寄存器/SRAM

使用技巧3,可以增大PCROP保护区域

从产品系列来看PCROP

STM32读保护RDP

在不同保护级别下,可以实现对谁的,什么保护(什么条件下的什么行为)

RDP级别转化

RDP级别1

能做什么:

  • 从用户Flash启动,对所有保护对象的操作不受任何限制(除非介质本身的属性限制)

  • 允许调试器连接,读、修改选项字节

  • 被调试器连接,但是内核复位

  • 被调试器hotplug连接,读取SRAM1和外设寄存器当前值

不能做什么:

  • 被调试器连接/从SRAM启动/从系统Flash启动,看不到用户Flash、备份域、受保护SRAM的内容

  • 从SRAM启动的代码不能通过DMA读出用户Flash的内容

RDP级别2

选项字节被锁死,任何代码都无法再修改它

  • 选项字节的配置永久生效:读保护、启动地址、PCROP……

  • 写保护+RDP2

调试接口再也无法连接

  • 失效分析受影响

只能从用户Flash启动,仍可做用户Flash的固件更新

从产品系列来看RDP

STM32唯一启动入口UBE

G0/G4的UBE控制位

STM32安全用户存储区/G0,G4

安全用户闪存,用于配合UBE,做安全启动。

  • 用于隔离用户代码和敏感代码:secure开关打开后,这段区域不可见,直到下次复位

  • (secure开关打开之前)执行敏感代码时,可关闭调试访问

安全用户闪存是用户Flash的一部分。

  • 起始地址固定在0x0800 0000

  • 大小可配置,SEC_SIZE@FLASH_SECR(和UBE的使能控制在同一寄存器)。大小为0时,表示没有安全用户闪存;只能在RDP0时修改该位域;大小粒度,和Flash page相同:2KB/4KB。

secure开关,用户软件置位后,只能由系统复位清零。

从产品系列来看UBE+安全用户存储区

STM32集成的MPU

MPU常见用法和相关设计资源

MPU常见用法:

  • OS或者敏感代码设置成特权级别的代码才能访问,防止不可靠的非特权级别用户代码因为软件漏洞,而污染了敏感代码

  • 把DMA控制寄存器所在区域设置成只能特权级别代码访问,防止非特权级别的用户代码操作DMA来避开MPU的限制

  • 把RAM区域设置成XN,以免缓冲区溢出造成的攻击

  • 任务切换之前,把其他任务的数据区设置成不能访问,以免造成相互污染

相关设计:

  • AN4838 STM32上的MPU

  • PM0056,PM0223,PM0214,PM0253 Cortex-M3/M0+/M4/M7 内核编程手册

从产品系列来看MPU

STM32防火墙Firewall

防火墙的运行时保护

防火墙常见用法

防火墙注意事项:

  • 进入防火墙执行前,最好关闭中断(如果ISR在墙外),否则中断发送时会立刻产生复位,或者在ISR执行完返回时复位,取决于FPA

  • 通过寄存器操作激活防火墙功能,知道下一次系统复位,防火墙状态才能再次回到IDLE

  • PC从固定的入口进入,才能open防火墙;此状态下是可以调试的

相关设计资源

  • AN4730使用L0和L4的防火墙来安全访问敏感代码和数据

  • STM32CubeL4 Nucleo-L496/L476 example/FIREWALL

从产品系列来看Firewall

STM32L5引入新的安全特性

TrustZone,从ARM Cortex-M33内核,扩展到STM32L5整个系统

  • 新的系统架构,启动模式

  • 新的编程模型

  • 新的安全规划思路

  • 新的生态系统

OTFDEC

  • 对存储在外部OSPI Flash的数据和指令,取指和取数据,与实时解密同时进行

  • 该功能仅在TZ使能时可用

STM32的入侵检测 Tamper

从产品系列来看tamper


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    事件或为预先安排的事件服务的中断程序中去,服务完毕,再返回去执行刚才被中断的程序。 2.什么是中断优先级 中断优先级是指,中断源被响应和处理的优先等级。设置优先级的目的是为了在有多个中断源同时发出中断请求时,CPU能够......
    电路保护的意义是什么?常用的器件有哪些?; 电子......
    联动,提供了两道防线、六层防护。网络是安全防御的第一道防线,提供边界防入侵和内部防扩散两重防御;存储是数据保护的最后一道防线,提供存储保护、安全快照、备份保护和隔离区保护四重防御。MRP方案......
    电机和逆变器联系介绍,电机的遥控器;马达我们都很熟悉,在生活中随处可见。在日常生产生活中,基本都会涉及到电动机。电力逆变器是一种控制装置,它可以改变电压的频率,并且还具有很好的节能效果。今天要给大家介绍的是逆变电源和电机是一种什么......
    日常巡检工作也需进行数字化转型升级。 今天云维保生产设备全生命周期管理专家将结合多年积累的生产设备巡检管理实践经验,分享给各位工厂生产一线员工同行朋友,什么是巡检,巡检是怎么巡,怎样检?   关于巡检 一、巡检的目的是什么? 巡检的目的是......
    欠压锁定(UVLO)保护的是什么?工作原理是什么?;本文作者Robert Keim,编译自AllAboutCircuits 了解欠压锁定 (UVLO) 如何保护......
    源的稳定性可能会受到影响。 高频设备干扰:一些高频设备,如变频器、电弧炉、工业电炉等,可能会引入电力系统中的高频噪声,导致电压下降。 欠压保护的目的是通过监测电压水平并在下降到一定阈值时触发保护装置,采取相应的措施来保护......
    误或未授权访问阻挡在外,有效提升系统可靠性。 存储区设置更简易 Cortex-M33存储保护架构的开发基于受保护的存储系统架构PMSAv8。最新版本搭载了针对各区域的基线与限值比较器,而非......
    变频器采用熔断器保护的作用是什么;变频器应采用熔断器进行保护。为什么?由于变频器本身具有电机所需的全部保护功能,因此唯一保护的是整流器和直流母线。那么我们会发现实际上不可能保护它,因为......
    在电缆的首末端及其沿线的转弯处和交叉元件处栓牌 11 瓦斯保护的反事故措施要求是什么......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>