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

《STM32H7R/S信息安全线上课程》学习笔记+3.0 时域隔离,片内与片外存储器保护

[复制链接]
背影101 发布时间:2025-8-24 17:17

一、STM32H7R/S HDP/HDPL时域隔离保护

1、HDP:Flash隐藏保护区

1)System Flash隐藏保护区 ①用于保护system flash中的RSS代码(例如SFI功能)或者ST-iROT代码 ②受保护区域已经预先定义,用户不可配置 2)User Flash隐藏保护区 ①HDP区(Hide Protection区)是用户可以自定义的一块User Flash上的受保护区域 ②HDP区的范围设置:通过选项字节配置HDP区 HDP_AREA_START,HDP_AREA_END分别用于定义User Flash中的HDP区的起始和结束地址 HDP区大小以256字节为单位,实际受保护区大小:(HDP_AREA_END − HDP_AREA_START + 1) × 256 3) HDP区保护使能:由HDPL隐藏保护级别控制 ①一旦保护使能,HDP区的内容在复位之前都不可访问(禁止该区域的读、写、擦) ② HDP区内容只允许M7内核访问

2、HDPL:HDP Level隐藏保护级别

1)HDP Level由SBS控制 ①HDPL从0到3一共四个级别 ②在一个Power Cycle中,HDPL级别只能向上增加,不能降低 2) 系统上电/复位后 ①如果从User Flash启动,则默认处于HDPL1 ② 如果从RSS启动,则默认处于HDPL0 3)系统的HDP Level影响多个功能 ①与DA相关的允许进行调试访问的级别 ②HDP区的保护开启和访问控制 ③OBK存储区的访问控制 ④SAES对HUK的密钥派生(DHUK)

3、HDP/HDPLx用于管理Code和Data的访问控制 4、HDPL保护片上User Flash中的代码和数据 1)HDPL0仅用于system flash的ST RSS代码 2)通常执行User Flash代码时HDPL处于Level 1 ①当HDPL>1, User Flash HDP保护区不可见 ②一旦保护开启,状态将保持到下次复位

5、HDPL保护片上OBK区域存储的数据: 1)Flash OB-Keys (Physical Access Control) ①3 个安全存储区域 HDPL0 ---DA-Config (保留给ST RSS使用) HDPL1 ---iROT (ST-iROT or OEM-iROT) HDPL2 ---uROT ②HDPL0-2有各自对应的OBK区 ③HDPL3没有对应的OBK区

image.png

6、HDPL保护片上User Flash中的代码和数据 1)如果通过选项字节选择从ST-iROT启动(STM32H7Sxx) ①ST-iROT将作为第一级安全启动bootloader在RSS之后首先执行 ②ST-iROT执行期间处于HDPL1级别 2)执行User Flash代码时HDPL处于Level 2 ①当HDPL>2,User Flash HDP保护区不可见 ②一旦保护开启,状态将保持到下次复位

二、HDP/HDPL的主要用途和应用场景

image.png

三、STM32H7S MCE (Memory Cypher Engine)

1、主要功能 ①内存映射操作模式下,MCE可实现对外部存储器数据的实时加解密 ②管理外部Memory的访问属性(特权/非特权模式访问权限,只读或读写权限) ③内置防火墙,用户可定义不同区域的加解密配置以及访问权限

2、三组MCE单元 ①分别对应XSPI和FMC接口 ②每个MCE可以配置4个region ③MCE1采用AES块加密或流加密算法 ④MCE2/3采用Noekeon块加密算法

image.png

image.png

3、MCE主要特性 1)用于保护存储在外部Memory的代码和数据, ①例如xSPI外挂NOR Flash或PSRAM,FMC外挂SDRAM,FRAM 2)支持memory map模式的读和写,读写过程自动完成解密和加密 ① 写操作必须使用DMA,以16字节为单位 3)每个MCE可以配置4个region ①每个region可配置其memory地址段,以及访问权限(Privileged, Write) ②每个region可以选择自己的密钥(master key, fast master key, context key) 4)通过对称密钥算法加解密实现外挂Memory上数据的机密性保护 ①MCE1可以配置为AES block模式(AES-128 ECB + Key derivation)或stream模式(AEC-128 CTR) Key derivation 采用 Keccak-400算法,每两个block进行一次密钥派生,即每256位使用一个新密钥 密钥派生带有侧信道攻击防御,无比特翻转攻击,加密区的任何部分都可以随时更新 ② MCE2/3只能工作在Noekeon block cypher模式

4、MCE Cipher的密钥来源与Cipher模式 1)Master Key ①每个MCE有一组Master Key ②可用于Block Cipher模式或Stream Cipher模式 2)Fast Master Key ①每个MCE有一组Fast Master Key ②可用于Fast Block Cipher模式或Stream Cipher模式 3)Context Key ①每个MCE可以定义两个Cipher Context ②每个Cipher Context对应自己的一组Key ③Context Key只用于Stream Cipher

image.png

5、MCE Region Cipher 模式 & 密钥来源选择 1)Region控制寄存器: ①ENC【1:0】:选择cipher模式,CTXID【1:0】:选择Context和密钥 ②PRIV:选择是否允许非特权模式访问region定义的memory范围,BREN:是否使能base region

image.png

6、MCE Block Cipher 模式 1)Block Cipher模式 ①可以使用Master Key,或Context Key②AES或者Noekeon算法 2)Fast Block Cipher模式 ①可以使用Fast Master Key,或Context Key ②AES或者Noekeon算法 3)Block加解密使用派生密钥 ①基于地址进行密钥派生 Master key的密钥派生具备侧信道攻击防; Faster Master key的密钥派生没有侧信道攻击防御 ②一个派生密钥用于连续两个block的加解密

image.png

7、MCE Stream Cipher模式

image.png

8、MCE的使用:region配置举例

image.png

image.png

又是学习的一天,增加新知识

收藏 评论0 发布时间:2025-8-24 17:17

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版