TrustZone是怎样保护片上代码的机密性的?
2024-03-19 来源:elecfans
STM32L5基于Cortex-M33 内核,其内核基于ARMV8-M架构,自带有TrustZone安全技术,从内核到整个芯片系统,实现了安全区域和非安全区域之间的有效隔离。在调试端口保护方面,TrustZone 和 RDP(读保护)的配合,同样可以实现灵活的调试端口访问控制,有效阻断来自调试端口对片上代码的窥探。
TrustZone 保护片上代码的机密性
调试端口连接可控
在RDP1或者RDP0.5条件下,如果芯片使用了TrustZone上电调试接口就不可连接(具有类似RDP2的效果)
比RDP2更灵活,可以由用户代码控制后续调试端口访问权限,实现安全调试,并保留修改选项字节的可能性
用户片上Flash进一步隔离
安全闪存区域不能被非安全世界任意访问
非安全世界不能访问安全世界的数据
非安全世界不能访问安全世界的外设
非安全世界访问安全世界的函数,需要按照一定规则,不可随意调用

TrustZone 助力代码保护示例
资源在“安全世界”和“非安全世界”之间的分配
示例菜单和测试功能
示例运行注意事项
资源的分配
上电运行安全世界代码,做资源分配
安全世界:
关键操作,关键数据
配合读保护,可以阻断调试端口连接
非安全世界:
人机交互
可以使能调试端口,但是无法访问到安全世界的关键数据和外设
调试端口的连接控制RDP=0
读保护级别为0(芯片缺省状态)
芯片复位可被调试端口连接

运行示例
调试端口的连接控制RDP=0.5
读保护级别为0.5
硬件保证:CPU处于安全状态时,调试无法连接;包括复位时,运行安全代码时
软件操作:安全代码在跳转到非安全区域之前,关闭调试端口
保护效果
CPU运行在非安全区域时,缺省调试无法连接;可通过身份认证来使能对非安全代码的调试
带身份认证的调试使能
基于“挑战-应答”模型
芯片产生随机序列,合法用户持有匹配私钥对随机序列的签名,才能被芯片使用其存储在安全世界里的对应公钥验签成功
例程运行注意事项
RDP0.5时,S代码自动关闭调试端口。使用STM32CUbeProgrammer hotplug也无法连接;IDE下载NS代码也不会成功;需要用户通过菜单打开调试端口,之后STM32Cubeprogramer才能连接成功,IDE下载也才能成功。
RDP非0时,片上Flash中如果没有可以跑到非安全状态的有效代码,调试端口不再可连 除非改变启动方式,从系统BL启动(系统BL的代码是一定可以跑到非安全状态的) 需要确保可以从系统BL启动(选项字节中的启动控制:nSWBOOT0)
【Q】为何例程没有提供RDP回退的菜单? 【A】TrustZone使能时,RDP回退只能由调试接口或者系统BL完成 例程通过硬件和软件两方面一起作用,实现了对非安全代码的可控调试 硬件:读保护级别不为零+TZ使能 复位时+ 运行在安全代码区域时,调试不可连接 软件:安全区代码在跳转到非安全区代码之前,软件关闭调试端口 菜单【1】、【2】:测试作用,不会集成到产品中 菜单【D】:即使通过通信端口在非安全区注入恶意代码来调用打开调试端口的功能,由于不知道签名所需要的私钥,验证无法通过,不能打开调试端口 。
下一篇:常用的电平转换方案分享
- 使用ARM Trustzone从非安全代码执行安全功能
- STM32H5 DA初体验
- 实战经验 | TrustZone 架构下 LPBAM 使用导致的 HardFault
- 贸泽备货Microchip PIC32CM Lx MCU 同时支持安全子系统和Arm TrustZone技术
- Microchip发布业界首款集成强大安全子系统和Arm® TrustZone®技术的单片机
- 始于TrustZone 不止于TrustZone——山海S12解析
- ARM的Trustzone是怎样确保系统安全设计的
- 采用Arm TrustZone技术的32位MCU打造安全的 IoT终端
- 对ARM TrustZone的理解
- 信息安全专题 | 代码保护(1)使用STM32H7新特性保护片上代码的机密性
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 蓝牙信道探测技术原理与开发套件实践
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策




