• IIANews微官网
    扫描二维码 进入微官网
    IIANews微信
    扫描二维码 关注微信
    移动客户端
  • English
2025机器人产业趋势论坛报名
传感器

集成硬件和软件的安全平台实现高度可信任计算

  2005年09月09日  

使嵌入式产品免受恶意攻击与硬件和软件设计以及设计的物理属性直接相关。得到最好保护的嵌入式系统必须具有从一开始就被设计进去的安全措施,以处理器或者CPU内核的规格定义作为开端,这种观念现在已经被业界接受。ARM的TrustZone技术提供了设计高度安全系统架构的基础,对内核功耗、性能或面积的影响很小。

与移动设备实现数据业务相关的技术问题既提供了赢利的机会,也威胁到安全性。一个主要针对数据业务进行优化的智能电话要求终端成为一种对软件应用程序开放的平台。尽管这对提供完全的用户应用和业务来说很必要,但同时也意味着移动设备更容易受到攻击。

图1:TrustZone的并行安全环境。

有几种安全情况已引起关注。第一个是通过用户的电话簿在移动网络上快速传播病毒的可能性,最糟糕的是拒绝运营商的业务-实际上就是使无线网络瘫痪。第二种威胁模式涉及到终端用户私有数据的安全,例如用于实现金融交易或者银行业务的密钥、电子邮件信息和对保存在移动终端上这类信息的远端访问,都可能易受攻击,从而限制了这样一些业务的增长。而病毒还可能破坏电话本身的运行,例如在无线蜂窝中阻断通话。

在移动电话方面,手机识别码的安全性问题每年花费数十亿美元。唯一的国际移动设备识别码(IME)是一个15位的代码,用于识别每个GSM移动电话,而SIM-Lock应该确保某个手机只能与对其进行过补贴的运营商的SIM卡一起使用。对于很多手机,这两种码都可以很容易地破解。

通过数字版权管理保护数字内容是另外一个重要的领域,在这个领域,为保护消费者以及保护有商业价值的内容,安全性变成一种强制性要求。

无线连接的大量增加也将安全性提升到各种功能系统要求列表的顶端位置。无线局域网的增长是其中的一个方面。但是,泛在无线连接带来的市场机会,例如蓝牙和其他类似的标准,提出了可能更广泛的安全性挑战。

安全性选项

到现在为止,大多数实现嵌入式安全性方案的措施都集中于在操作系统(OS)中构建安全特性。然而,操作系统是定义开放的,且是非常复杂的软件系统,因此仅仅基于OS来提供可靠的安全性是很困难的。

一种选择是对设计增加硬件安全性模块。纯粹的硬件方案不灵活,它们不能针对新的安全功能进行调整。很明显,如果发现一个错误而不进行成本高昂的设计返工,则很难进行错误修复。此外,增加硬件IP就增加了设计的生产成本,对功耗产生不利的影响。

片外硬件,如协处理器和存储,提供了另外一种嵌入式安全的方法,例如对严格的加密算法实现加速。然而,对系统增加第二个处理器增加了成本、复杂性和功率预算。此外,这种方法可能不能提供CPU处理和操作系统所需的基本安全等级。物理实现的特性决定了信息流可能暴露于内核处理器和片外器件之间,CPU器件可能不能确定片外器件的信号完整性-可能被移除并被干扰。对于任何片外处理,性能可能是个问题。

图2: 系统实例:划分安全与非安全区域。

SIM卡在无线嵌入式系统中具有安全保护的作用。传统SIM卡在手机中实现安全性的优势主要是防止物理攻击。但是,以它现有的形式,当前SIM卡的处理受限于卡的吞吐量和带宽。SIM卡不能以最高的处理器速度执行安全功能。SIM卡对系统安全的贡献可能仅限于对更有价值的安全代码和密钥的保护。

跨平台的公共安全单元的缺乏阻碍了集成安全解决方案的发展。在没有现成标准的情况下,嵌入式安全措施的实现一直以来很零碎、成本很高,并因此推广很慢。现在,很多OEM基于CPU或者OS之外的一种安全执行模式开发了他们自己的软件模块。这种方法不可避免地会比集成硬件、OS和应用程序措施的解决方案安全性更差。

ARM方法—TrustZone方案

ARM在嵌入式领域内实现可信任计算的方法基于可信任平台(Trusted Platform)的概念。TrustZone由硬件增强的安全性环境(提供代码隔离)与安全软件组成,安全软件提供基础安全服务和与信任链中其他单元的接口,包括智能卡、操作系统和一般的应用程序。TrustZone将两个并行的执行领域分隔开:没有安全性要求的“正常”执行区域和可信任的、可认证的安全区域。

TrustZone为开发者和终端用户带来了很多关键的技术和商业好处,包括:

1. TrustZone为片上的安全数据提供了安全的环境。例如,如果SoC内有一个安全区域,采用SoC CPU处理来自SIM卡的安全密钥,这一过程可被安全地执行。

2.在某些安全系统中,性能是一个问题,特别是内核处理器和外部存储之间的信息流必须进行加密的结构中。采用TrustZone,可提供对所有存储区域的满总线带宽访问,从而获得较快的存储器存取速度。此外,安全的本地缓存数据以加密的形式安全地被存储,可提供更快的存储器存取速度。加密的数据可以像非安全应用一样存储在同一闪存中,确保可利用便宜、大容量和灵活的存储方案。

3.因为TrustZone方案由软件和硬件单元组成,它提供了甚至在SoC设计定案之后对安全系统进行定制和升级的灵活性。

4.TrustZone在嵌入式系统中定义了安全区域。这可以包括直接的外设通道、用户接口、SIM和智能卡以及音频输出。对于非安全的环境,TrustZone通过在SoC器件中对所有的特性进行完整性检查来实现安全性。例如,解码的DRM音频在通过非安全的音频驱动器时,可通过对OS基础架构的相关部分进行完整性检查来得到保护。

5.TrustZone减少了开发风险、上市时间和成本。通过在一个经过预测试和集成的方案中来提供硬件和软件,开发团队就可以集中精力来实现特定应用安全功能,这些功能大多数与他们特定产品相关。

TrustZone作为一种可信任执行环境

TrustZone为嵌入式系统提供了一种可信任的执行环境。TrustZone成为其他补充安全方案(如受保护的操作系统特性以及硬件加密引擎)的基础。TrustZone并没有企图成为这些特性的替代,但是它能增强它们的安全性能。TrustZone不仅限于单一的安全性应用,例如加密业务,而是可以大量地应用于很多安全需求中。

图3:TrustZone软件的各个单元。

安全攻击并不限于使用操作系统的开放式系统。在汽车市场中,大多数电子产品是封闭的,或者是深度嵌入的,这些类型的系统也能从更高的安全性上受益,例如,在销售汽车时将里程读数回调的里程表欺诈行为。TrustZone能提高各种市场领域的产品安全性,包括汽车系统、消费娱乐系统、硬盘驱动器,事实上,任何嵌入式应用都能受益于“可信任环境”特性。相似地,尽管TrustZone设计用于在复杂开放系统中提供更高级别的安全性,没有严格安全性要求的简单系统也能受益于TrustZone。

TrustZone也为SoC器件提供完全的片上安全性,TrustZone还能被拓展用于在那些使用了片外存储器的系统上实现安全性。这种架构相对那种使用片上存储器的系统来说,本身对物理攻击就更不安全,例如可以被移除和被干扰。在架构方面,尽管TrustZone已在最新的ARM11 CPU中得到实现,但其安全性模块可通过一套公共API将TrustZone框架引入所有的ARM CPU。

TrustZone的工作原理

TrustZone通过在某一处理(包括系统引导)的每一阶段强制执行某种信任等级来实现。可信任代码将处理这样一些任务,如使用接收者私钥的受保护消息解密以及基于发送者公钥对签名进行真实性验证。TrustZone通过在一个并行的可信任执行环境中执行安全指令来实现这一过程。

TrustZone对用户模式和现有的特权模式均引入了一种新的安全状态到ARM架构。这决定了系统是工作在安全的或者非安全的区域。一种新的模式—安全监视器,控制着安全和非安全区域之间的切换。新的指令——安全监视器中断(SMI)提供了改变各区域的主要路线(见图1)。

一种基于TrustZone的SoC实现将由安全和非安全单元组成。关键单元包括:


1.一个TrustZone CPU用来运行与通常应用隔离的可信任应用,并存取为可信任应用所预留的存储器空间;


2.配置系统的安全片上引导ROM;


3.用于存储器件密钥或者主密钥的片上非易失性或一次可编程存储器;


4.用于存储和运行可信任代码(例如DRM引擎和付费代理)的安全片上RAM,或者存储加密密钥等敏感数据;


5.其他资源,例如能被配置、只允许可信任应用访问的外围电路。

TrustZone软件单元

对于实现TrustZone功能的器件,其软件由像普通OS和应用程序这样的非安全单元以及受保护的软件组件构成。TrustZone优化安全软件组件包括:实现了安全和非安全区域接口的监视器软件、安全内核、安全驱动器和引导程序装载器以及由ARM提供的基本安全软件服务(作为软件方案的一部分)。

图4:三种应用程序安全配置图。

此TrustZone优化软件是由Trusted Logic公司开发的安全模块的一个演进,该安全模块作为一个安全内核运行。这可以移植到任何的ARM CPU,并为将来TrustZone器件的兼容性提供了安全发展路线图。Trusted Logic开发的安全模块和TrustZone优化的软件共享相同的安全协议,这意味着开发用于安全模块的安全应用程序对于TrustZone器件是兼容的。

安全模块和TrustZone优化软件具有一种独立的和可验证的安全框架。它独占对受保护的专用存储器、专用的永久存储、SIM卡、加密加速器和可能的可信任用户接口的访问权利。通过安全服务的方式,它提供了完整性检查(SIM-Lock、IMEI保护、安全引导)、访问控制、安全存储和加密业务。未来的业务可能包括面向DRM、数字签名和电子银行的安全框架。

TrustZone可以有多个API层,这取决于目标应用需求。很多关键的API将以开放形式提供,以推动TrustZone方案的普及和标准化。

实现具有安全意识的应用

TrustZone环境使得安全性措施能应用于一个复杂嵌入式系统的很多层。

非安全的操作将完全运行在OS内,无需TrustZone的帮助。尽管OS可能具有它自己的安全措施,但使整个OS达到安全认证组织的标准是不现实的。为了在OS中实现安全性,TrustZone可针对攻击提供三种方式的完整性检查:首先,TrustZone可以验证在引导之前OS没有被修改;在运行期间,TrustZone验证关键路径没有被改变;最后,一组受限的、被认可的功能可以在远离主OS的私有空间TrustZone内安全地执行。

对于那些希望执行受保护处理(例如无线升级)的服务运营商来说,它可令人满意地获得一个完全独立于手机和OS的安全设备。这可以通过使用一种可信任的解释器来实现,类似于SIM卡的当前工作模式,该解释器基于小型终端互操作性平台(STIP)规范字节码。

图4显示了三种可选的安全性配置情形。普通应用程序直接运行于非安全环境下的OS上。电子钱包应用程序是安全的,穿过OS,该程序要调用访问驱动器,以切换到安全区域。当内核接收到请求,API会管理安全密钥的存储。SIM-Lock应用展示了如何完全绕过OS、通过可信任解释器直接实现安全操作。

用TrustZone技术设计

受保护系统的设计必须在设计最初就考虑到安全性问题,包括在开发过程中针对受保护代码控制的各种牵连关系。

在开始设计之前必须解决关键的问题,以便规定设计链单元、实现整个方案的组件以及可能的架构决策和折衷:

1.需要什么样的安全等级:完全在SoC片上;在片上,但从SoC片外得到签名代码;只有软件保护,故可运行完全片外的SoC。

2.如何控制受保护代码的开发:谁持有SoC片上主密钥?谁创建片上SoC引导代码?对于可信任开发者,还需要其它什么密钥管理?

第一个支持TrustZone的CPU是ARM1176JZ-S,它提供高等级的安全性。结合TrustZone软件,可快速开发完整的安全应用。因为TrustZone是一种开放架构,独立的开发商能开发他们自己的安全软件在TrustZone执行环境中运行。

安全调试

对于所有的安全系统来说,调试都明显是一个挑战。作为开发过程的必要部分,它仍然可能在产品生产时成为安全漏洞。调试可能仅限于只对授权应用的用户模式调试访问,或者完整系统的调试访问,或者根本不提供调试访问。TrustZone技术使在开发中对整个系统进行调试成为可能,一旦设备交付后却又很容易实现完全杜绝对安全性的调试。

作者:Tiago Alves


Email: talves@


TrustZone产品经理


Don Felton


Email: dfelton@


高级工程师


ARM公司

最新视频
伊顿Bussmann:百年品牌 以创新驱动发展   
欧姆龙光电传感器E3AS | 角度特性演示:高反光不锈钢工件稳定检出   
研祥金码
专题报道
《我们的回答》ABB电气客户故事
《我们的回答》ABB电气客户故事 ABB以电气问题解决专家之志,回答未来之问。讲述与中国用户携手开拓创新、引领行业发展、推动绿色转型的合作故事,共同谱写安全、智慧和可持续的电气化未来。
企业通讯
研祥IPC-310准系统,5月28日冰点底价限时开抢
研祥IPC-310准系统,5月28日冰点底价限时开抢

疯狂星期三,研祥IPC-310准系统,5月28日冰点底价限时开抢!

优傲机器人新品巡展 NVITATION 邀请函
优傲机器人新品巡展 NVITATION 邀请函

优傲机器人将于2025年6月5日在北京亦庄举办新品巡展活动。届时,您将有机会近距离品鉴优傲新品成为首批见证 UR15 中

在线会议

社区