TrustZone 保护片上代码的机密性
调试端口连接可控
在RDP1或者RDP0.5条件下,如果芯片使用了TrustZone上电调试接口就不可连接(具有类似RDP2的效果)
比RDP2更灵活,可以由用户代码控制后续调试端口访问权限,实现安全调试,并保留修改选项字节的可能性
用户片上Flash进一步隔离
安全闪存区域不能被非安全世界任意访问
非安全世界不能访问安全世界的数据
非安全世界不能访问安全世界的外设
非安全世界访问安全世界的函数,需要按照一定规则,不可随意调用
TrustZone 助力代码保护示例
资源在“安全世界”和“非安全世界”之间的分配
示例菜单和测试功能
示例运行注意事项
上电运行安全世界代码,做资源分配
安全世界:
关键操作,关键数据
配合读保护,可以阻断调试端口连接
非安全世界:
人机交互
可以使能调试端口,但是无法访问到安全世界的关键数据和外设
读保护级别为0(芯片缺省状态)
芯片复位可被调试端口连接
读保护级别为0.5
硬件保证:CPU处于安全状态时,调试无法连接;包括复位时,运行安全代码时
软件操作:安全代码在跳转到非安全区域之前,关闭调试端口
保护效果
CPU运行在非安全区域时,缺省调试无法连接;可通过身份认证来使能对非安全代码的调试
基于“挑战-应答”模型
芯片产生随机序列,合法用户持有匹配私钥对随机序列的签名,才能被芯片使用其存储在安全世界里的对应公钥验签成功
1.报名啦!构建安全的嵌入式系统--从FreeRTOS到SAFERTOS线上课程
2.2021年第6期《单片机与嵌入式系统应用》电子刊新鲜出炉!
3.华为官方通知:鸿蒙不再属于华为!
4.妙用MCU中SystemReset不复位的通用寄存器!
5.单片机就那点资源,为啥那么多人想用RTOS?
6.儿童节之际回忆痴迷技术的大学时光!
免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。