arm系列之arm平台安全架构psa浅析

狂奔的乌龟 狂奔的乌龟     2023-01-25     395

关键词:

1、背景

在互联网飞速发展过程中,安全问题始终贯穿其中。在这场安全保卫战中,科技公司肩上的责任早已不再局限于提供产品与服务那么简单。

对于从端到云的整个产业价值链,arm生态系统所肩负的责任就是确保日益多样化的互联设备能够基于通用的安全基础。

arm已成为是诸多电子产品必不可少的配置,从骁龙旗舰级SoC再到苹果A11,arm芯片的安全性变得尤为重要。“2035年全球一万亿设备互联”的宏伟愿景,是arm公司的下一阶段目标,在此之前其先要为万物互联奠定一个可信的基础,因此其宣布推出首个行业通用框架——平台安全架构(PSA,Platform Security Architecture),用来实现规模化互联设备的安全性。

另外随着5G 的广泛部署和应用,无疑代表着物联网 (IoT) 时代即将到来。

智慧家庭中的智能家电,楼宇的智能仪表,遍布街道的监控摄像头,已经融入我们生活中的物联网硬件可能要远比我们想象得要多。据芯片研发巨头 Arm 统计,目前全球约有 80 亿物联网设备;预计到 2035 年,这个数字就会突破一万亿。

在这样一个数据驱动的时代,确保这近乎万亿的设备及其产生的数据是可信的,重要性不言而喻。但从目前现有的物联网生态来看,芯片设计、OEM,再到中间件、实时操作系统 (RTOS) 和软件的开发者,如何建立这个信任链,并能够形成积极的推动效果,才是重要挑战。

作为整个链条的最底层的巨头,Arm 的思路,是自底向上,基于在芯片设计和 OEM 制造中植入的信任根,通过逐层、组合式的安全认证,完成设备整体信任链的构建。

可信的设备,是我们信任数据的基石。

由 Arm 联合其它 5 家独立安全测试实验室及咨询机构,推出面向IoT安全的 “平台安全架构 (PSA) ” 以及相关认证,可以看成一次基于 Arm 生态的勇敢尝试。

2019年7 月 9 日,Arm 在北京举行了一次关于 PSA 架构的技术研讨会。目前全球已经支持 PSA 安全认证的四家安全测试实验室,有两家(Brightsight、信通院泰尔终端实验室)出席,并分享了关于物联网安全的观点。

Arm 方的代表,是 Arm 新兴事业部总监 Rob Coombs。

数据和设备的信任问题,在移动互联网的时代,正成为人们关注的焦点。以手机、平板为代表的智能移动设备,是我们生活、工作和娱乐的核心载体。为了尽可能规避隐私泄漏、盗刷等风险,大量消费者在购买设备时对其安全能力,也会额外关注。

Rob Coombs 认为,智能手机到智能硬件,消费者考虑的因素是类似的。设备的品牌,专业的芯片制造和支持 OTA 升级的操作系统开发商,基于安全组件的(如安全执行环境)的安全架构,第三方对安全性的担保(认证),都是消费者会考虑的重要因素。

但是,物理网设备又和智能手机有诸多不同。处理器性能,应用行业与场景,对成本的考量,都让为其带来和智能手机一样的安全性充满挑战。

那么,由 Arm 主导发起的 PSA 认证,具体包括哪些内容?

2、PSA安全认证

2.1 什么是PSA?

ARM于2017推出了平台安全架构(PSA),PSA与CPU架构无关,目标是实现成本可控,易于实施,低风险的物联网的安全基础。
Arm 平台安全架构 (PSA) 包含两个认证(安全认证和功能 API 认证),分为四个关键阶段(分析->架构->实施->认证);其中,安全认证有三个级别,不同的认证过程和要求,对应被认证产品不同的应用场景。

详细介绍一下PSA安全认证的四个阶段:(后续博文专题介绍)

  • 第一个阶段是:分析

    根据威胁模型(潜在的攻击风险),梳理具体设别的安全需求,并对潜在的攻击风险进行分析。

  • 第二个阶段是:架构

    Arm 提供了相关硬件和固件的文档规范,包括设计安全设备必需的安全需求&能力。

  • 第三个阶段是:实施

    Arm 提供目前专为 v8-M Cortex 内核设计的安全固件代码(开源项目 TF-M),帮助有认证的厂商更方便的潜入安全能力。TF-M 基于 Arm 在 TrustzZone 技术的成功经验,意在为物理网设备引入的相对轻量级安全能力,符合PSA规范,支持Cortex-M系列CPU设备的固件代码。

  • 第4个阶段是:认证

    满足 PSA 架构,基于 PSA 的信任根 (RoT) 的设备、软件,通过指定独立安全测试实验室,就可以获得 PSA 的认证。它提供基于安全实验室评估的三个安全级别,目前主要为芯片、实时操作系统 (RTOS)、OEM 提供,以满足对不同场景的安全需求。

第四个也是最后一个阶段:PSA认证。

我们很难知道产品或设备的鲁棒性有多强(可以抵御那些攻击),或者安全测试有多彻底,这使得很难绝对选择哪种产品或设备。许多物联网产品没有独立的评估,这可能导致对互联网设备机器及其数据的不可信,这正是PSA认证所解决的挑战:对物联网设备进行有效的安全测试,客服阻碍物联网增长的巨大障碍。PSA认证为使用PSA架构和PSA信任根芯片(PSA-RoT)的芯片、软件和设备提供评估方案。它有助于解决产业链的碎片化,并简化供应商、操作系统、中间件开发者、OEM和系统集成商的市场话流程。

PSA认证包含两部分:

  • 功能性API认证——确保正确实现PSA API,帮助建立可信硬件以及软件服务的同意接口。设备制造商、RTOS供应商和芯片供应商可以运行测试用例,检查其实现是否兼容API以及安全功能。
  • 安全认证——提供以上三个安全级别认证(上文描述),以满足不同场景的安全需求。可以为芯片内、RTOS供应商和设备制造商进行认证。

2.2、功能性 API 认证

功能性 API 认证,目的是帮助芯片、RTOS、OME 和应用程序的开发者,通过 API 在不同平台实现信任根服务。通过满足 PSA 规范的 developer API,开发者可在保障基础安全能力(认证、加密和安全存储)的前提下,更专注产品功能的开发。一致的功能 API 认证,确保不同开发者在同样通过认证的环境中无缝集成。
据了解,目前已针对芯片、RTOS 和 OEM 提供了免费的 API 测试套件,用于测试其开发者 API 符合 PSA 的要求,同时增强其对最新芯片平台硬件安全性的管控。

PSA 规范的 developer API
Arm发布PSA develop API,为运行在普通曲玉的实时操作系统提供接口。PSA develop API供RTOS服务使用,是芯片公司或者OEM公司实现的新人根服务的抽象接口。Devloper API提供标准的接口,以便在不同的安全平台商实现。这使得软件开发人能源可以专注于产品功能和缩短上市时间,而不用去研究不同平台或者芯片之间复杂的安全特性及其健壮性。

功能API认证确保一致性
功能API认证使用API测试套件检查developer API的一致性。为进入安全认证提供了基础,安全认证将评估设备的安全健壮性,以确保实现的设备硬件、固件和RTOS免受恶意攻击。

功能API认证测试用例
功能API认证是使用API测试用例测试的。API测试用可确保develop API(加密、认证和安全存储)的实现是符合PSA规范。

谁受益于功能API 认证
测试套件向物联网生态系统合作伙伴(应用程序、芯片、OEM和RTOS开发人员)提供PSA developer API的产品功能验证。

  • RTOS供应商

    实现developer API 的RTOS供应商,可以使用测试用例验证他们的方案,RTOS获得功能API 认证后,移植到RTOS任何应用程序都能在所有具有该功能API认证的PEM设备上无缝运行。

  • 芯片和设别供应商

    芯片和设别供应商,可以使用测试用例运行在他们目标设备来验证他们固件一致性,获得功能一致性认证。芯片和设备供应商能够与通过功能认证的RTOS和相关的应用程序无缝集成。

  • 软件和应用程序开发人员

软件和应用程序开发人员将应用程序移植到通过功能认证的RTOS环境。这些应用程序可以在经过功能API认证的芯片、设备和RTOS环境无缝集成。

2.3 PSA安全认证(待完善)

  • 1级认证是成本最低,认证速度最快的。主要通过问卷的形式,确保认证对象满足 PSA 模型的 10 个安全目标:隔离的信任根服务、安全的更新过程、更新的验证机制、反刷写能力、认证支持的安全生命周期、随机数发生器 (TRNG) 和唯一性 (Nonce) 服务、独一无二的实体身份、鉴证、安全存储、安全启动。
    开发者需要填写包括上述安全目标的一系列安全问题,并提供芯片、RTOS 和设备如何满足安全要求的说明,再由授权安全实验室审核。

  • 2 级认证需要授权实验室基于白盒测试(源代码)的结果进行评估,并审查 PSA 的信任根,确保测试对象对轻量级硬件攻击和基础的软件攻击有防御能力。二级认证目前仅对芯片厂商开放,并在加速推广。

  • 3 级认证还处在开发阶段,期望为对安全性有更高安全的领域,如工控,提高更多可靠性,对更加复杂的硬件和软件攻击有防御能力。

3、专用的开源安全固件代码

PSA 认证的价值,Rob Coombs 认为有以下四个方面:

  • PSA 认证六家发起方的背书价值;
  • 从源头(底层)开始,解决物联网设备因为碎片化和成本导致的基础安全能力缺乏(信任的构建)
  • 通过不同、多级安全认证满足不同场景的安全需求;
  • 通过可免费查看且不断更新、覆盖各国和地区的合规标准的安全规范,高质量的开源可信固件 (TF-M)、标准化的认证流程,针对物联网产业链快速推广。

信任根的广泛构建,芯片是第一步。之后会在整个产业链中推广,并且不局限在 Arm 生态。未来,我们会支持非 Arm 内核。负责认证的组织,也会更加独立、标准化的运作。

如果说 PSA 认证是为物联网嵌入安全能力的 “方法” 的话,那么相关规范,特别是 Arm 自有的开源项目,针对 Arm Cortex-M 处理器的可信固件 (TF-M),是重要的 “材料”,也是安全能力的集中体现。

TF-M 基于 Arm的TrustZone 技术(注:核心是通过 Cryptocell 的硬件加密/加速技术,在不过分削减硬件性能的前提下,划分安全域,保证数据、固件和外设的安全性。),针对广泛应用物联网领域的 v8-M 内核,提供包括创建可信的执行环境 (TEE) 和微控制器的安全处理环境 (SPE),安全存储、加密、日志审计、调试等实时服务。

此外,安全启动 (Secure boot) 可以更好的确保运行时软件的完整性,并支持固件的升级。

硬件安全之arm体系架构的演进

安全从业者脑中有一系列的安全名词,比如安全三要素Confidenciality、Integrity、Availability,比如硬件安全品牌TPM、TrustZone、SGX、Titan-M,比如软件层面的安全能力Isolation、AccessControl,又比如漏洞缓解措施DEP、ASLR、CFI... 查看详情

软件及环境-arm系列

flutter-macos(M1)开发环境搭建查看本机IP-M1基于M1(arm)架构的vue2环境终端设置-M1homebrew&git安装-M1基于M1(arm)架构的Node环境基于M1(arm)架构的Maven3环境基于M1(arm)架构的Java8环境 查看详情

arm微架构学习系列2——开启armv9时代

...现在,Arm公司已经在2021年3月推出了其最新的Armv9架构系列处理器,距上一代Armv8系列架构发布相隔了整整10年时间。新一代的Armv9产品,不但会带来更强大的计算性能,在安全、AI等领域也带来了全新的设计。可以... 查看详情

优化系列汇编优化技术:arm架构32位汇编优化及demo

DATE:2021.8.15文章目录1、前言2、Arm汇编架构和ReferenceManuals3、Arm32位寄存器4、ARM指令寻址方式5、ARM指令特点以及优化技巧6、ARM和NEON指令集常用指令汇总7、ARM32位加载数据的两种格式8、ARM32位汇编编写demo9、注意事项10、汇编优化... 查看详情

腾讯微服务框架tars成功移植至arm架构

...编程语言,包括C++、Golang、Java、Node.js、PHP和Python,使Arm平台的开发人员和基于Arm系统的企业能够快速构建稳定可靠的分布式应用。TARS在腾讯经过10多年的大规模使用和迭代,广泛应用于腾讯的在线社交、金融服务、边缘计算、... 查看详情

优化系列汇编优化技术:arm架构内联汇编优化及demo

DATE:2021.8.15文章目录1、系列总结2、参考3、ARM内联汇编优化方法3.1、Gccasm声明3.2、优化C代码3.3、应用实例3.4、通用寄存器用法4、arminlinedemo1、系列总结【ARM系列】ARMNEON汇编优化系列汇总2、参考ARMGCC的内联汇编详解(ARMGCCInlineAsse... 查看详情

优化系列汇编优化技术:arm架构64位(aarch64)汇编优化及demo

DATE:2021.8.15文章目录1、arm架构64位优化基础知识2、ARMv8/AArch64neon指令格式3、ARM相关编译参数4、查看状态标记位NZCV的方法5、A64指令集特有的指令及其用法6、资料文档查阅7、AArch64asmdemo8、优化经验总结(满满的干货)1、arm架构6... 查看详情

rk3399平台开发系列讲解(中断篇)arm64异常处理详解

查看详情

rk3399平台开发系列讲解(中断篇)arm64异常处理详解

查看详情

优化系列汇编优化技术:arm架构intrinsic汇编优化及demo

DATE:2021.8.15文章目录1、前言2、入门知识3、armintrinsic头及编译方法4、armintrinsic数据类型及函数介绍4.1数据类型4.2intrinsic函数4.3intrinsic函数介绍5、指令查找手册6、Automaticvectorization7、armneonIntrinsicdemo1、前言   在ARM汇编优化中... 查看详情

rk3399平台开发系列讲解(内存篇)arm64虚拟地址空间布局

查看详情

功能最弱的arm处理器

...理器大致可以分为Classic、Cortex-M、Cortex-R以及Cortex-A三个系列,其性能天梯图如下,Classic系列处理器在很大程度上已经逐步被Cortex系列所取代ARMClassic(传统)系列处理器ARM7系列:基于ARMv3或ARMv4架构,包括ARM7TDMI-S和ARM7EJ-S处理器... 查看详情

嵌入式:arm系列处理器详解与性能对比

ARM处理器目前包括以下几个系列:ARM7系列ARM9系列ARM9E系列ARM10E系列SecurCore系列Inter的XscaleInter的StrongARM其中,ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。SecurCore系... 查看详情

rk3399平台开发系列讲解(中断篇)13.11arm的异常处理过程

查看详情

arm-v7和arm-v8架构的硬件

ARMV7版架构:从V7版本后开始变成了Cortex架构。Cortex-A系列:应用处理器,主要用于移动计算、智能手机、车载娱乐、自动驾驶、服务器、高端处理器等领域。时钟频率超过1GHZ,支持Linux、Android、Windows等完整操作系统需要的... 查看详情

stm32的arm内核和cortex架构到底是啥意思?有啥区别?求指教!

...%。cortex架构:于应用领域不同,基于v7架构的Cortex处理器系列所采用的技术也不相同,基于v7A的称为Cortex-A系列,基于v7R的称为Cortex-R系列,基于v7M的称为Cortex-M系列。扩展资料:cortex架构的特点:Cortex-A15和Cortex-A7都支持ARMv7A架... 查看详情

arm64架构简介

...公司发布了第一款基于64位架构的处理器核心“Cortex-A50”系列,该系列首批包括Cortex-A57和Cortex-A53两款型号,而这两款可以单独工作,也可以以big.LITTLE的形式协同工作。今年2月,ARM公司又发布了Cortex-A57的升级型... 查看详情

android逆向基础之arm汇编语言知识总结(代码片段)

...称,包括Intel8086、80186、80286、80386以及80486等以86结尾系列,英特尔统治整个CPU产业链长达数十年。ARM(AdvancedRISCMachines)公司是苹果、Acorn、VLSI、Technology等公司的合资企业,ARM处理器非常适用于移动通信领域&... 查看详情