1540|5

274

帖子

8

TA的资源

纯净的硅(初级)

楼主
 

[ ST NUCLEO-U575ZI-Q 测评] 2-初探TrustZone [复制链接]

TrustZone介绍

TrustZone是CM33内核的一个新的特色。这个特色主要是提高安全性的。在需要安全性的场合,我们认为可以将其内容分成两部分:敏感信息和一般的信息。为了防止敏感信息泄露,需要将敏感信息隔离出去。这样就可以保护敏感信息。而TrustZone就是在内核的层面上提供了这种隔离的特性。CM33内核可以看成是CM4+TrustZone的组合。

 

TrustZone就是在内核的层面的保护,由SAU/IDAU和MPU进行管理(上图中的2个蓝色方框)。但只有内核层面的管理还不够,还需要对Flash、SRAM和外设这些ST扩展的部分进行管理,因此ST公司又在内核和外设之间提供管理单元。Flash有自己的管理单元。GPIO也有自己的管理单元,这种有自己的管理单元的外设称为TrustZone-aware外设。而其它的没有自己管理单元的外设,则是被GTZC管理,这种外设称为securable外设。GTZC又包含了3个子模块:MPCBBx、TZSC和TZIC。其中MPCBBx负责管理对SRAM的访问,TZSC负责对外部存储器和外设的访问,TZIC则是对相应的事件进行管理。

所以TrustZone实际上是两重管理的,分别来自ARM设计的内核,以及ST设计的外设部分(包含Flash和存储器)。TrustZone的功能使得程序在寄存器的级别也实现了隔离,能够最大的程度保证敏感信息的安全。

TrustZone划分安全区和非安全区

而安全属性分为了三种:安全、非安全可调用和非安全。前两个都处于安全区,最后一个是非安全区的。安全和非安全好理解,那么非安全可调用要怎么理解呢?这就类似于电路设计时的光耦,负责连接非安全区和安全区,非安全区的代码想要调用安全区的代码,就需要通过非安全可调用的代码。如下图所示,其中NSC指的就是非安全可调用,NS指的非安全,S指的安全。

 

SAU/IDAU共同确定了4G地址范围(因为是32位,所以地址总线的寻址范围是2的32次方,即4G)的安全属性:安全和非安全的。也就是对4G的范围进行分区,如下图所示。从下图可以看出SAU和IDAU定义的安全属性并不一致,那么最终安全属性则是取决于二者的叠加。

可以看第2行“代码Flash存储器”中,包含2个区域,其中0x08000000-0x0BFFFFFF是非安全区,0x0C000000-0x0FFFFFFF是安全或非安全可调用。但是我们知道STM32的Flash地址是从0x08000000开始的,那么怎么会出现在0x0C000000地址呢?这是用了别名区的机制,我们可以把别名区理解成地址的重映射,可以将Flash的一部分地址重映射到0x0C000000-0x0FFFFFFF的范围里,这样就把这部分Flash设置成了安全或安全可调用属性。具体的如何映射,在后面讲解。

同理对SRAM的管理也是利用的别名区的方式,将SRAM也分成2部分,一部分是安全属性的,一部分是非安全属性的。

总结

TrustZone的内容比较多,从上面的内容可以对TrustZone有个大致的了解,也了解了内核对安全属性的管理。但是还没讲GTZC的作用,没讲访问规则,还有软件编写要如何实现。这些下次在分享。

此帖出自无线连接论坛

最新回复

测评汇总:免费申请|ST NUCLEO-U575ZI-Q https://bbs.eeworld.com.cn/thread-1228653-1-1.html   详情 回复 发表于 2023-1-12 09:20
点赞 关注
 

回复
举报

6534

帖子

9

TA的资源

版主

沙发
 

TrustZone每次下载是不是需要分开下载啊

此帖出自无线连接论坛

点评

是的,在keil里建立一个多工程的项目,里面包含2个工程:安全区的工程和非安全区的工程。需要先编译安全区的工程,因为非安全区的工程会用到安全区编译生成的库。然后再编译非安全区。这两个工程要分别下载到片子上  详情 回复 发表于 2022-12-29 18:48
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 

回复

274

帖子

8

TA的资源

纯净的硅(初级)

板凳
 
秦天qintian0303 发表于 2022-12-29 17:18 TrustZone每次下载是不是需要分开下载啊

是的,在keil里建立一个多工程的项目,里面包含2个工程:安全区的工程和非安全区的工程。需要先编译安全区的工程,因为非安全区的工程会用到安全区编译生成的库。然后再编译非安全区。这两个工程要分别下载到片子上。

此帖出自无线连接论坛

点评

这很容易会出错啊,不过安全性确实会非常高,那么安全区程序还能支持在线升级吗  详情 回复 发表于 2022-12-30 09:03
 
 
 

回复

6534

帖子

9

TA的资源

版主

4
 

这很容易会出错啊,不过安全性确实会非常高,那么安全区程序还能支持在线升级吗

此帖出自无线连接论坛

点评

这个还没有研究,不过在安全区的flash也能重写,所以我觉得也可以在线升级。  详情 回复 发表于 2022-12-30 09:29
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 
 

回复

274

帖子

8

TA的资源

纯净的硅(初级)

5
 
秦天qintian0303 发表于 2022-12-30 09:03 这很容易会出错啊,不过安全性确实会非常高,那么安全区程序还能支持在线升级吗

这个还没有研究,不过在安全区的flash也能重写,所以我觉得也可以在线升级。

此帖出自无线连接论坛
 
 
 

回复

1万

帖子

203

TA的资源

管理员

6
 

测评汇总:免费申请|ST NUCLEO-U575ZI-Q https://bbs.eeworld.com.cn/thread-1228653-1-1.html

此帖出自无线连接论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名玩板看这里:
https://bbs.eeworld.com.cn/elecplay.html
EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表