59

Asher · 2019年11月18日

TrustZone和PSA之间是什么关系?

熟悉Arm的朋友基本都听说过TrustZone和PSA,但是很多不太了解两者之间是什么关系。TrustZone是Arm架构的安全扩展,是系统级的安全方案,已经被业内广泛的应用,也有两篇文章介绍过TrustZone:

PSA是Arm在2017年推出的平台安全架构,主要目的是实现成本可控,易于实施,低风险的物联网安全基础平台。PSA的文档和资料非常多,并且不再同一个网站,我们也对PSA的资料进行了汇总方便大家查看:

为了让大家方便理解两者之间的关系,我们以PSA level 1 SoC的安全要求为例来介绍,对于Level 1来说安全要求非常简单,只有4个要求分别是:
                                              image.png

  • 硬件级别的隔离环境

安全隔离环境多种实现方式,例如有的客户通过两个CPU的方式来实现隔离环境,一个CPU做为安全CPU,一个CPU作为非安全CPU,并且在总线上做出区分。另外一种方式是通过TrustZone,例如Cortex-M33本身就支持安全扩展,CPU有两个安全状态,可以理解为分时复用来支持隔离环境
image.png

  • 安全启动

安全启动需要从一个不可更改的信任根启动,保证代码的一致性,比较典型是从ROM启动
image.png

  • 生命周期管理

芯片从生产到量产会经历不同的阶段,每个阶段都可能存在不同的敏感信息,例如秘钥或者代码等,需要有一个状态机来管理芯片的不同阶段,来设置不同的访问权限。
                                 image.png

  • 秘钥管理

秘钥是安全的核心,很多算法都是公开的,安全的保障是保护秘钥,在PSA的要求中一般是具备三个秘钥,分别是HUK,RoTPK,和attestation Key,HUK是每个芯片唯一的,可以理解为安全的种子来派生出其他秘钥;RoTPK是用来安全启动,可以用一个系列芯片用同一个秘钥,主要是实现安全启动的;还有个一个是attestation key是来实现设备和云端交互的认证。
        image.png
        从上面要求,我们可以看出PSA只是安全要求,与架构无关。无论是Arm的架构,还是非Arm的架构都可以满足PSA的安全要求,TrustZone只是实现PSA的一种快速方式。

推荐阅读
关注数
4553
内容数
128
Arm发布的PSA旨在为物联网安全提供一套全面的安全指导方针,使从芯片制造商到设备开发商等价值链中的每位成员都能成功实现安全运行。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息