ARM系列之ARM 平台安全架构PSA和Trustzone区别 浅析

  • PSA要求是什么?
  • C1.1 硬件级别的隔离环境
  • C1.2 安全启动
  • C1.3 生命周期管理
  • C1.4 密钥管理
  • 差异总结

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

PSA是Arm在2017年推出的平台安全架构,主要目的是实现成本可控,易于实施,低风险的物联网安全基础平台。

那么PSA和Trustzone差异是什么呢?

PSA要求是什么?

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

总结一下:
PSA要求包含:

  1. C1.1 硬件级别的隔离环境
  2. C1.2 安全启动
  3. C1.3 生命周期管理
  4. C1.4 密钥管理

C1.1 硬件级别的隔离环境

安全隔离环境多种实现方式,例如有的客户通过两个CPU的方式来实现隔离环境,一个CPU做为安全CPU,一个CPU作为非安全CPU,并且在总线上做出区分。

另外一种方式是通过TrustZone,例如Cortex-M33本身就支持安全扩展,CPU有两个安全状态,可以理解为分时复用来支持隔离环境.

C1.2 安全启动

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

C1.3 生命周期管理

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

C1.4 密钥管理

秘钥是安全的核心,很多算法都是公开的,安全的保障是保护密钥,在PSA的要求中一般是具备三个密钥,分别是HUK,RoTPK,和attestation Key,HUK是每个芯片唯一的,可以理解为安全的种子来派生出其他秘钥;RoTPK是用来安全启动,可以用一个系列芯片用同一个秘钥,主要是实现安全启动的;还有个一个是attestation key是来实现设备和云端交互的认证。

差异总结

从上面要求,我们可以看出PSA只是安全要求,与架构无关。无论是Arm的架构,还是非Arm的架构都可以满足PSA的安全要求,TrustZone只是实现PSA的一种快速方式。

ARM系列之ARM 平台安全架构PSA和Trustzone区别 浅析相关推荐

  1. ARM系列之ARM 平台安全架构PSA 浅析

    ARM系列之RM 平台安全架构PSA 浅析 1.背景 2.PSA安全认证 2.1 什么是PSA? 2.2 功能性 API 认证 2.3 PSA安全认证(待完善) 3.专用的开源安全固件代码 1.背景 ...

  2. ARM系列之ARM Trustzone 技术浅析(二)——— ARMv7-A Processor modes registers 的安全扩展

    ARM系列之ARM Trustzone 技术浅析(二) Processor modes Registers ARM 引入 Trustzone 技术,最重要的改动就是 CPU 架构的调整.ARM tru ...

  3. ARM 物联网平台安全架构(PSA)

    源码: https://git.trustedfirmware.org/TF-M/trusted-firmware-m.git/ IoT高速发展的今天,大量的IoT设备使用了Arm M-profile ...

  4. ARM系列之ARM多核指令WFE、WFI、SEV原理

    目录 前言 使用场景概述 WFE.SEV 与 WFI 的作用与工作原理 SEV WFE WFI The Event Register WFE伪代码 WFE wake-up events WFI伪代码 ...

  5. Armv8-R系列之ARM Cortex-R52 由来

    ARM系列之ARM Cortex-R52 由来 Cortex-R52的工作原理 Cortex-R52 是 Cortex-R 系列中最先进的处理器,可提供实时功能安全性能. 作为第一款 Armv8-R ...

  6. ARM系列处理器和架构

    从一只ARM到另一只ARM! ARM处理器和架构 当前可用的处理器 ARM1 ARM2 ARM3 ARM4和5 ARM6 ARM7 ARM8 强壮有力的ARM ARM9 ARM10 ARM架构 v1 ...

  7. arm系列交叉编译器各版本区别

    目录 交叉编译器命名规则 具体编译器举例 crosstool-ng交叉编译工具样本 arm交叉编译器举例 几个概念 ABI与EABI gnueabi与gnueabihf 参考 交叉编译器命名规则 交叉 ...

  8. ARM系列处理器的分类

    1.ARM ARM即以英国ARM(Advanced RISC Machines)公司的内核芯片作为CPU,同时附加其他外围功能的嵌入式开发板,用以评估内核芯片的功能和研发各科技类企业的产品. ARM ...

  9. 片上总线协议学习(1)——SiFive的TileLink与ARM系列总线的概述与对比

    link 片上总线协议学习(1)--SiFive的TileLink与ARM系列总线的概述与对比 finally 27 人赞同了该文章 一.背景介绍 随着超大规模集成电路的迅速发展,半导体工业进入深亚微 ...

最新文章

  1. 从外部导入django模块
  2. boost::unorder_map如何插入元素_「React」如何在React中优雅的实现动画
  3. pytorch下载时出现错误:EOFError: Compressed file ended before the end-of-stream marker was reached
  4. KVM中I/O设备直接分配和SR-IOV(十六)
  5. 张旭豪:外卖概念的三点进化
  6. python合并csv文件_PYTHON合并CSV文件的实践
  7. 使用Amanda ZRM备份远程MySQL数据库
  8. IDAE启动报错:Intellij idea Cannot start internal HTTP server. Git integration, JavaScript debugger...
  9. linux命令详解——top
  10. 如何做个人职业规划和年度计划
  11. 论文学习17-Global Normalization of Convolutional Neural Networks(联合实体关系抽取CNN+CRF)2017
  12. java+icepdf+下载_Java使用icepdf将pdf文件按页转成图片
  13. CCF202104-5 疫苗运输(100分题解链接)
  14. php手动删除变量函数,PHP unset()函数销毁变量_PHP教程
  15. Elasticsearch(三)
  16. c语言学生综合测评系统_学生综合评价系统
  17. 微软产品界面配色方案分析
  18. 如果域名被劫持该怎么办?有什么应对方法?
  19. 【考研英语语法】一般过去式练习题
  20. UltraVNC:一款高层玩家使用的远程控制软件

热门文章

  1. 调用中国气象局天气的接口 遇到WebService客户端引用 服务器无法处理请求。 ---> 未将对象引用设置到对象的实例
  2. noip2014:螺旋矩阵_网页设计:2014年值得关注的20个最热门趋势
  3. Linux操作系统浅尝辄止
  4. 修家谱的攀附之风:你祖上是苏东坡,我祖上还是孙悟空呢
  5. 我经常用的一款切图工具
  6. 南大周志华团队开源深度森林软件包DF21:训练效率高、超参数少,普通设备就能跑 | AI日报...
  7. 栅格法路径算法C语言,基于地图栅格与QPSO算法结合的机器人路径规划方法与流程...
  8. 【CSS应用篇】——CSS如何实现圆角边框
  9. MATLAB快速入门(二):矩阵
  10. html时间转为时间截,字符串时间戳转换成时间