ARMv8-M平台开发安全软件的建议

发布者:陈书记最新更新时间:2017-01-11 来源: EEWORLD关键字:ARMv8  安全 手机看文章 扫描二维码
随时随地手机看文章

ARM® TrustZone® 是针对片上系统(SoC)设计的系统级安全技术,它基于硬件,内置于CPU和系统内核,为半导体芯片设计师设计设备安全性能(如可信根)量身打造。TrustZone可用于任何基于ARM Cortex®-A的系统,随着全新Cortex-M23和Cortex-M33处理器的发布与升级,Cortex-M也已经支持该技术。从尺寸最小的微控制器(搭载针对Cortex-M处理器优化的TrustZone技术),到高性能处理器(搭载针对Cortex-A处理器优化的TrustZone技术),设计师们终于可以从设计初始就着手打造出色的安全性能了。


QQ图片20170111125316.png


TrustZone安全技术将非可信资源和可信资源隔离

TrustZone技术的核心理念是将可信资源与非可信资源在硬件上实现隔离。在处理器内部,软件只能安装于安全或非安全域其中一处;在两个域间切换则必须经过Cortex-A处理器的软件(后文称安全监视器)和Cortex-M处理器的硬件(核心逻辑)处理才能执行。这种将安全(可信)域和非安全(非可信)域隔离理念的实现不仅涉及CPU,还涵盖存储、片上总线系统、中断、周边设备接口和SoC上的软件。

针对ARMv8-M处理器(Cortex-M)的TrustZone技术


ARMv8-M架构将TrustZone技术拓展至Cortex-M级系统,实现了对所有成本点的安全防护。为Cortex-M度身设计的TrustZone技术可以保护固件和周边设备,并为安全启动、可信更新以及可信根执行实现隔离。该架构具备嵌入式解决方案应有的确定性实时响应能力。同时,因为安全与非安全域间的上下文切换在硬件中完成,所以更快实现转换及更高的电源效率。该架构无需安装任何安全监视器软件,因为处理器本身就能完成切换任务,不仅可以减少存储足迹,还能降低代码执行的动态功率。


在继续讨论编程之前,我们先介绍以下几个概念:


地址定义安全
新增执行状态
跨域调用

概念1:地址定义安全


第一个需要了解的概念是:地址定义安全,即每一个地址都与一个特定的安全状态相关。Cortex-M处理器采用全新引入的安全属性单元来检查地址的安全状态。根据整体SoC设计,系统级接口可以重写该属性。选择此状态后,该地址还会通过一个存储保护单元(视系统配置而定)。


QQ图片20170111125334.png


地址定义安全图解

概念2:新增执行状态


第二个概念是“新增执行状态”。ARMv7-M和ARMv6-M架构定义了两种执行模式:管理者模式(handler mode)和线程模式(thread mode)。管理者模式是特权模式,可以接入SoC的所有资源;而线程模式则可以设定为特权或非特权两种。凭借TrustZone安全拓展技术,我们可以对处理器模式进行镜像处理,构造安全和非安全两种状态,每种状态都各自包含管理者模式和线程模式。安全状态和处理器模式是正交的,因此可形成4种状态和模式的组合。在安全的存储器中运行软件时,处理器自动设定为安全状态;反之,在非安全存储器中运行软件时,处理器自动设定为非安全状态。这种设计消除了本来用于管理状态切换的安全监控软件的必要性,从而实现减少存储足迹和功耗的目的。


QQ图片20170111125348.png


新增正交态

概念3:跨域调用


ARMv8-M为实现Cortex-M的性能专门设计,具备确定性实时运行功能。换言之,只要遵守以预先设定的安全状态接入点为基础的特定规则,任何状态下的任何功能都可以直接调用其他状态下的任何其他功能。此外,每个状态都有一个独特的堆栈集和对应的堆栈指示器,用来保护安全域资产。由于无需使用API层管理调度,成本大幅减少。基于预先设定的接入点,调度可以直接读取被调函数。


QQ图片20170111125359.png


跨域调用

应用案例简述


如下图表介绍了一个使用案例简述。该环境下,用户应用和I/O驱动都处于非安全状态,而系统的启动代码和通讯堆栈则处于安全状态。用户应用调度并转入通讯堆栈以传输、接收数据,而该堆栈将使用非安全状态的I/O驱动来完成界面上的数据传输和接收。


QQ图片20170111125409.png


所有相似系统环境下,示例软件配置都可以得益于TrustZone技术的安全状态功能:


非安全应用不能接入安全资源,除非通过事先定义好的安全服务功能接入点


安全固件既可以接入安全存储,也可以进入非安全存储


安全和非安全代码可以用不同的定时器制定独立的时间进度


每根中断线都可以设置为安全或非安全。安全软件和非安全软件的中断向量表也可以分开。


尽管处理器硬件可以为安全软件提供核心保护,但安全软件依然需要谨慎的编写,才能确保整个系统的安全。以下是软件开发商在设计安全软件时必须牢记的三个内容:


使用最新的ARM C语言拓展(ACLE)技术


验证非可信指示


为异步非安全存储修改专门设计

建议1:使用最新的ARM C语言拓展技术


经过优化,ARMv8-M的TrustZone技术引入了全新指令,支持安全状态转换。软件开发商再也无需创建封装器来生成这些指令了,他们现在可以使用ARM C语言拓展功能(ACLE)中定义的全新编译器,让软件工具理解上述功能的安全使用,并生成所需的最佳代码。ACLE功能由多家编译器厂商实现并支持,代码非常便捷易用。


比如说,在创建可以从非安全状态调度的安全API时,应该使用一个名为“cmse_nonsecure_entry”的全新功能属性来做函数声明。安全状态调度功能使用结束时,处理器中的寄存器仍可能保留一些秘密信息。凭借正确的功能属性,编译器便可自动插入代码,清空R0-R3、R12和应用程序状态寄存器(APSR)中仍保留秘密信息的寄存器,但是寄存器将结果返还给非安全软件的情况除外。寄存器R4到R11有不同的处理方式,因为它们的内容在函数边界保持不变。如果它们的值在函数执行过程中改变,那么就必须在返还非安全调度功能之前改回原值。

建议2:验证非可信指标


有时候,非安全代码会提供错误的设计指示,试图接入安全存储。为了彻底杜绝这一可能,ARMv8-M引入了一个全新指令——测试目标(TT)指令。TT指令可以将一个地址的安全属性返还,安全软件即可由此判断该指示指向安全还是非安全地址。


为了提高指示检查效率,每个存储区都有一个安全配置定义的区域号。软件可以用区域号判断相邻的存储区是否具有类似的安全属性。


TT指令将来自地址值的安全属性和区域号(还有MPU的区域号)返还原软件。如果在存储段的起始和终止地址上使用TT指令,并确定两个地址都处于同一个区域号内时,软件便可迅速判断存储范围(如数据阵列或数据结构)是否完全位于非安全空间。


QQ图片20170111125425.png


检查指示是否指向安全的区域边界

使用上述机制,凭借API调度进安全侧的安全代码即可判断,非安全软件区域发起的指示请求是否具备符合该API的安全属性。通过这种方法,我们可以阻止非安全软件在安全软件中使用API来读取或破坏安全信息。

建议3:为异步非安全存储修改专门设计


非安全中断服务程序可以修改正在被安全软件处理的非安全数据。因此,已经通过安全API验证的输入数据可以在经过验证之后被一个非安全的ISR更改。避免这种情况的一个方法就是在安全存储中为那份输入数据建立一个本地副本,并用安全副本进行处理(包括输入数据的验证)以避免非安全存储读取;无法创建该副本时(如在特定存储区域中处理大量数据),则可以选择另一种方法,即对安全属性单元进行编程,以确保该存储区域的安全。

总结


确保整个系统的安全性并阻止安全数据泄漏至非安全侧,是安全软件开发商的责任。为实现这一目标,我们向安全软件开发商介绍TrustZone 技术3大关键理念与3个重要使用建议——保护调度函数寄存器数据的ACLE技术、验证指示的TT指令;最后一点开发商也必须牢记,非安全侧可能会通过干扰安全侧来修改数据。


关键字:ARMv8  安全 引用地址:ARMv8-M平台开发安全软件的建议

上一篇:RS推出线上管理工具Obsolescence Manager
下一篇:RS宣布DesignSpark社区成员达到了五十万名

推荐阅读最新更新时间:2024-05-03 00:59

融合5G,构筑安全可靠的电力无线接入网
无线通信技术凭借泛在、经济、灵活等综合优势,成为电力物联接入网的重要支撑。建设电力无线专网对解决“最后一公里”通信问题,推动我国电力企业成为世界一流企业、拓展新兴业务具有重要意义。我国电力企业可选择在230MHz、1.8GHz频段建设电力无线专网,随着5G技术的成熟,融合5G技术,构筑面向5G的电力无线专网并实现与5G公网融合,支撑安全可靠的电力物联网建设,成为电力客户和产业界关注的热点。 持续投入电力无线专网产品研发,支撑企业泛在电力物联网建设 为顺应国内电力无线专网建设需求,2018年华为压强投入,全面提速230MHz无线专网产品的研发,并于同年11月成功通过中国电科院无线专网产品测试认证和工业和信息化部无线电
[新能源]
防范智能家居设备安全风险 从路由器入手?
  由于很多智能设备缺乏严密的安全机制,恶意分子能够更加轻易地破解用户认证并访问网页和操作界面,从而获取用户的隐私信息。   智能家居设备中的安全漏洞为网络犯罪分子大开方便之门,通过这些漏洞,网络犯罪分子能读取其中的机密数据,甚至控制这些智能家居设备。在2014年时,着名的Shellshock漏洞就影响了包括智能灯泡在内的许多设备。   趋势科技(中国区)资深产品市场经理徐江明指出:“要防御黑客对智能家居设备的攻击,最好从路由器入手,因为这往往是恶意分子入侵网络的首选目标。一旦被取得路由器的控制权,他们就能够监视和影响你的设备与线上活动。但可悲的是,只有少数用户知道路由器其实很脆弱,因为它们是用户暴露在互联网上的‘据点’
[安防电子]
安全三元材料车用动力锂离子蓄电池的性能
采用三元材料Li(Ni1/3Co1/3Mn1/3)O2为正极活性物质,人造石墨与硬碳为负极材料制成26Ah的锂离子单体电池,试验表明,单体电池的安全性能完全满足QC/T-743标准的要求。充放电性能测试表明,制备的三元材料车用动力蓄电池,具有较宽的使用温度范围和较长的循环寿命,且具有快充能力。 目前动力蓄电池主要是锰系、磷酸铁锂和三元系蓄电池为主。磷酸铁锂动力蓄电池在功率、安全性等方面具有优异的特性,随着研究的深入,磷酸铁锂离子蓄电池整体技术取得了较大进步,加快了电动车的发展进程,但由于其材料制备和蓄电池生产工艺等技术还不够成熟,有很多难题需要进一步克服,在蓄电池的一致性方面和需求差距较大,虽然单体电池性能优异,
[汽车电子]
高<font color='red'>安全</font>三元材料车用动力锂离子蓄电池的性能
基于双MCU可故障检测的安全光幕设计
引言 安全光幕是一种光电类保护装置,也称安全保护器、红外线保护器、冲床保护器等。安全光幕目前的应用方式中,应用于机械点保护的产品有近70%,应用于通道入口及危险周边区域保护的产品有约30%。 根据EN954-1欧盟标准,将安全产品分为B、1、2、3、4共5种不同的安全等级。其安全性由B到4不断提升。4级的安全产品具有最短周期的自检功能,从检测到输出线路都是双线路相互自检,单个元件的失效不会导致安全功能的丧失,且安全系统在进行下一步操作时或之前检测到失效。国内市场上应用的安全光幕多以2级及以下产品为主,2级与4级产品的实际比例接近9:1。 影响光幕系统可靠安全运行的主要因素有系统结构设计、元件选择、安装、制造工艺及外部的
[单片机]
基于双MCU可故障检测的<font color='red'>安全</font>光幕设计
进一步提高安全性 宝马将配军用红外热象仪 
  现在大部分汽车制造商都在致力于提高车辆的安全性,而宝马在这方面可能会更进一步。日前,一家宝马公司的配件制造商将会为宝马新车型装配一款新型的红外热像仪器,它将大大提高车辆在夜间行驶的安全性。   在2009年的国际消费电子大展(CES)上,宝马集团的夜视系统制造商FLIR公司将展出一款名为PathIR的新型红外热像检测系统。   这款PathIR是一种结构紧凑的热像仪,能使驾驶员在夜间看得更远,而清晰度比使用标准配置的前照灯时更高,可以大幅度降低车辆夜间驾驶的危险性。   红外能量是一种肉眼看不见的能量,它的波长很长,无法被肉眼探测到。它是电磁波谱中的一部分,人类将它感知为热量。与可见光不同,在红外领域里,凡是温度在
[汽车电子]
恩智浦数字钥匙解决方案将安全汽车门禁功能扩展到遥控钥匙、智能手机和其他移动设备
恩智浦半导体(NXP Semiconductors N.V.,纳斯达克代码:NXPI)今日宣布推出全新的汽车 数字钥匙 解决方案,使得 智能手机 、遥控钥匙和其他 移动设备 能够安全地存储、验证数字钥匙、与车辆安全通信并共享数字钥匙。该解决方案通过提供实现新功能(如钥匙共享、多汽车门禁和可配置驾驶权限)所需的安全基础,扩展了汽车门禁的应用范围,提高了便利性。该解决方案基于恩智浦适合汽车应用的安全元件和 NFC 芯片集,遵循车联联盟的标准化规范版本 2,这一架构已得到全球主要汽车制造商、智能手机制造商和电子产品供应商的支持。 恩智浦安全汽车门禁副总裁兼总经理 Markus Staeblein 表示:“消费者需要能够支持新生活方式
[汽车电子]
恩智浦数字钥匙解决方案将<font color='red'>安全</font>汽车门禁功能扩展到遥控钥匙、智能手机和其他移动设备
移远通信发布新一代C-V2X模组AG18,进一步提升驾驶安全与效率
全球领先的物联网与车联网解决方案供应商移远通信今日宣布,正式发布其新一代蜂窝车联网(C-V2X)模组AG18,该模组采用PC5直接通信方式,支持车辆之间以及车辆与周围环境之间进行信息互通,并基于此提升驾驶安全和交通效率。 AG18支持C-V2X PC5直接通信,能够不依赖SIM卡、蜂窝网络的协助或覆盖,在全球任意区域使用。其使用全球统一的ITS 5.9GHz频段为车辆到车辆(V2V)、车辆到基础设施(V2I)以及车辆到行人(V2P)提供低延时、高可靠的信息传输,获取超视距或者非视距范围内的交通参与者状态和意图,以避免发生交通事故。 除了支持优秀的C-V2X通信能力,AG18还提供灵活、丰富的定位功能,包括可选的L1
[汽车电子]
移远通信发布新一代C-V2X模组AG18,进一步提升驾驶<font color='red'>安全</font>与效率
南麟电子:电源管理芯片系统的安全“守护者”
南麟电子于2004年在上海张江成立,专攻数模混合芯片研发制造。公司聚焦非手机类电源管理芯片,产品种类齐全,包括LDO、DCDC、充电管理、LED照明、传感器、运算放大器、PMU、IGBT驱动、MOSFET、IPM模块等诸多门类,公司现有产品十多个系列,200多个品种,上千个规格,产品SKU丰富,市场布局广泛,力图打造模拟芯片行业“中药铺”。 从公司市场架构来看,南麟电子有3大产品线:通用电源产品线专注于电源管理和信号链芯片;专用车用产品线专注于车灯控制、车用电子的研发和产业化;智能驱动产品线专注于功率器件、电机驱动以及IPM模组的研发和产业化。 始于去年年末的新冠疫情,给市场带来挑战的同时也带来了机遇。疫情刺激了测温枪等防疫物
[手机便携]
南麟电子:电源管理芯片系统的<font color='red'>安全</font>“守护者”
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved