Login

ARM The Architecture For The Digital World  

TrustZone

TrustZone Image
ARM TrustZone® 技术是系统范围的安全方法,针对高性能计算平台上的大量应用,包括安全支付、数字版权管理 (DRM) 和基于 Web 的服务。

TrustZone 技术与 Cortex™-A 处理器紧密集成,并通过 AMBA® AXI™ 总线 和特定 TrustZone 系统 IP 块在系统中进行扩展。此系统方法意味着,现在可保护外设(包括处理器旁边的键盘和屏幕),以确保恶意软件无法记录安全域中的个人数据、安全密钥或应用程序,或与其进行交互。

 


移动设备已发展为能够从 Internet 下载各种大型应用程序的开放软件平台。这些应用程序通常由设备 OEM 进行验证,以确保质量,但并非可对所有功能进行测试,并且攻击者正在不断创建越来越多以此类设备为目标的恶意代码。

同时,移动设备处理重要数据的需求日益增加。从能够支付、下载和观看某一特定时段的最新好莱坞大片,到能够通过手机远程支付帐单和管理银行帐户,这一切都表明,新的商业模式已开始出现。

这些发展趋势已使手机有可能成为恶意应用程序和恶意软件(如木马和病毒)的下一攻击目标。但是,通过应用基于 ARM TrustZone 技术的高级安全技术并整合 SecurCore™ 防篡改元素,可开发出能够提供功能丰富的开放式操作环境和强大安全解决方案的设备。

应用示例

  • 实现安全 PIN 输入,在移动支付和银行业务中加强用户身份验证
  • 安全 NFC 通信通道
  • 数字版权管理
  • 软件许可管理
  • 基于忠诚度的应用
  • 基于云的文档的访问控制
  • 电子售票移动电视

白皮书“ARM 安全技术:使用 TrustZone 技术构建安全系统”中提供了 TrustZone 应用和实现的详细概述,“TrustZone 系统设计”一节演示了相关系统示例

处理器支持

ARM TrustZone 技术是所有 Cortex-A 类处理器的基本功能,是通过 ARM 架构安全扩展引入的。 这些扩展可在供应商、平台和应用程序中提供一致的程序员模型,同时提供真实的硬件支持的安全环境。

支持 TrustZone 的 ARM 处理器包括:

TrustZone API 支持

由于 TrustZone 可整合到各种系统中,并且面向各种不同的应用需求,因此该技术对于软件的可移植性至关重要。创建 ARM TrustZone API 的目的是提供软件应用程序用于访问主机平台的安全功能的行业标准。

ARM TrustZone API 概述:

  • 独立于硬件平台
  • 独立于主机操作系统
  • 独立于安全环境
  • 同步和异步命令调用
  • 强类型通信,可提高安全实现
  • 增强高效批量数据转移

免版税的 TrustZone API 可用于实现可信执行环境,可从在线文档中心下载相关规格。/p>

通过向 ARM 支持部门发送请求,可获取利用 TrustZone API 的简单单线程软件示例。有关详细信息,请发送电子邮件到 support-sw@arm.com


TrustZone 硬件架构

TrustZone 硬件架构旨在提供安全框架,从而使设备能够抵御将遇到的众多特定威胁。TrustZone 技术可提供允许 SoC 设计人员从大量可在安全环境中实现特定功能的组件中进行选择的基础结构,而不提供固定且一成不变的安全解决方案。

架构的主要安全目标是支持构建可编程环境,以防止资产的机密性和完整性受到特定攻击。具备这些特性的平台可用于构建一组范围广泛的安全解决方案,而使用传统方法构建这些解决方案将费时费力。

可通过以下方式确保系统安全:隔离所有 SoC 硬件和软件资源,使它们分别位于两个区域(用于安全子系统的安全区域以及用于存储其他所有内容的普通区域)中。支持 TrustZone 的 AMBA3 AXI™ 总线构造中的硬件逻辑可确保普通区域组件无法访问任何安全区域资源,从而在这两个区域之间构建强大边界。将敏感资源放入安全区域的设计,以及在安全的处理器内核中可靠运行软件可确保资产能够抵御众多潜在攻击,包括那些通常难以防护的攻击(例如,使用键盘或触摸屏输入密码)。通过在硬件中隔离安全敏感的外设,设计人员可限制需要通过安全评估的子系统的数目,从而在提交安全认证设备时节省成本。

TrustZone 硬件架构的第二个方面是已在一些 ARM 处理器内核中实现的扩展。通过这些额外增加的扩展,单个物理处理器内核能够以时间片的方式安全有效地同时从普通区域和安全区域执行代码。这样,便无需使用专用安全处理器内核,从而节省了芯片面积和能源,并且允许高性能安全软件与普通区域操作环境一起运行。

更改当前运行的虚拟处理器后,这两个虚拟处理器通过新处理器模式(称为监视模式)来进行上下文切换。

物理处理器用于从普通区域进入监视模式的机制受到密切控制,并且这些机制始终被视为监视模式软件的异常。要监视的项可由执行专用指令(安全监视调用 (SMC) 指令)的软件触发,或由硬件异常机制的子集触发。可对 IRQ、FIQ、外部数据中断和外部预取中止异常进行配置,以使处理器切换到监视模式。

在监视模式中执行的软件是实现定义的,但它通常保存当前区域的状态,并还原将切换到的区域的状态。然后,它会执行从异常返回的操作,以在已还原区域中重新启动处理过程。

TrustZone 硬件架构的最后一个方面是安全感知调试基础结构,它可控制对安全区域调试的访问,而不会削弱普通区域的调试可视化。


TrustZone 软件架构

 

在 SoC 硬件中实现安全区域要求在其中运行某些安全软件,并利用存储在其中的敏感资产。

安全软件架构

可能有许多支持 TrustZone 的处理器内核上的安全区域软件堆栈可实现的软件架构。最高级的软件架构是专用安全区域操作系统;最简单的是放置在安全区域中的同步代码库。这两个极端架构之间有许多中间选项。

安全内核

专用安全内核可能是一种复杂但强大的设计。它可模拟多个独立安全区域应用程序的并发执行、新安全应用程序的运行时下载以及完全与普通区域环境独立的安全区域任务。

这些设计与将在 SoC 中看到的软件堆栈非常类似,它们在 非对称多处理 (AMP)(或 下载 TrustZone 安全白皮书, 685 KB 685 KB PDF 文件下载)配置中使用两个单独的物理处理器。在每个虚拟处理器上运行的软件是独立的操作系统,并且每个区域使用硬件中断来抢占当前运行的区域和获得处理器时间。

使用将安全区域任务与请求这些任务的普通区域威胁相关联的通信协议的紧密集成设计可提供 对称多处理 (SMP) 设计的许多优点。例如,在这些设计中,安全区域应用程序可继承它支持的普通区域任务的优先级。这将导致对媒体应用程序做出某些形式的软实时响应。

安全扩展是 ARM 架构的开放式组件,因此任何开发人员都可创建自定义安全区域软件环境,以满足其要求。

由于实现完全安全操作系统实际上非常复杂,并且可能需要验证其功能和性能,因此许多合作伙伴倾向于与此领域中的专业公司(如 Gieseke & Devrient 或 Trusted Logic)进行合作。


TrustZone 系统示例

可采用多种方法实现支持 TrustZone 的设备,但根据目标应用以及对性能、功耗和成本的工程权衡,可将这些方法细分为三个主要的组或解决方案层。

第一层

第一层

第一层解决方案代表基本解决方案,旨在确保能够在开放软件平台设备的键盘和屏幕上安全输入个人标识号 (PIN)。在非安全模式下,键盘和屏幕操作通常受 OpenOS(如 WindowsCE、Linux 或 Symbian)的控制,但当应用程序请求支付时,这些外设将在安全内核的控制之下。

由于希望此类解决方案尽可能降低成本,因此只需要添加 TrustZone 内存适配器构造组件即可保护片上 SRAM 的连续区块。通过将主密钥和 SIM 接口块的 AXI2AHB 桥绑定到安全状态,可确保其安全无误。同样,键盘主接口和 LEC 控制器的桥可由处理器进行动态控制,从而将整个区域设置为安全或非安全模式。

应通过完整的“信任根”流程来启动设备。在许多情形下,应通过集成的启动 ROM 完成此操作,即先运行基本 OS,然后加载监视器和 SecureOS。完成后,SecureOS 将启动传统 OpenOS,以确保恶意代码无法进入流程。

第二层

第二层

第二层解决方案是第一层系统的完整超集,可确保轻松整合代码移植和支付服务。第二层系统为基本数字版权管理 (DRM) 提供性价比高的平台,并且整合了 TrustZone 地址空间控制器 (TZASC) 以保护用于承载重要内容的 RAM 区域。并且,片外解码程序引擎可用于尽可能降低成本或提供特定解码技术,同时阻止非安全软件进行的访问。

为启用完整 DRM,通常需要增大片上 SRAM 的大小,以为动态代码执行提供安全空间,并且可能需整合 E2PROM,以保存有关可访问哪些内容,可在哪个时段进行访问,或剩余播放次数的详细信息。

在此类解决方案中,在 TrustZone 保护控制器的控制下,通常还需要动态保护更多外设,以避免非安全代码和外设停止中间内容或解密内容,或控制媒体。

第三层

第三层

第三层解决方案是在现有解决方案的基础上构建的,可提供高性能 DRM 解决方案,以支持视频流和即时解压缩。在此情形下,设备将受到完全保护以提供一个可由内容提供商验证的平台,从而确保密钥受到保护,并且只有经过授权才能观看相关材料。这一点在许多方面均相似,但提供具有完全并行的安全和非安全区域的双核实现的性价比会更高。

除更加安全的动态安全外设外,此解决方案还包括 DMA 控制器以及通过加速器一致性端口 (ACP) 连接到多核处理器的媒体加速器。


系统 IP 支持

安全性是整个系统的属性,而不仅仅是某个组件的属性。采用 ARM® TrustZone® 技术可更加轻松地对系统进行分区,以确保安全,同时保持对安全子系统的硬件支持保护。使用 TrustZone 技术设计安全子系统不仅需要支持 TrustZone 技术的处理器内核,还需要总线构造、安全内存和安全外设。ARM 可提供众多构造和外设组件,以提供安全子系统的基础:

 

 TrustZone 系统 IP 所需的组件
高级 AMBA 3 互连ARM AMBA® 3.0 AXI 总线可将处理器内核的安全状态传播到 SoC 以内和以外的内存和外设NIC-301 
 TrustZone 地址空间控制器 TZ ASC 可用作安全性得到增强的内存保护单元,以确保仅在安全状态下访问 DRAM 区域 PL380
 TrustZone 内存适配器  TZ MA 可用作只能在安全模式下访问的片上内存的单区域 TZ ASC BP141
 TrustZone 保护控制器  TZ PC 可通过软件控制充当动态安全外设 BP147
 TrustZone 中断控制器如果 GIC(支持 MPCore 的处理器)不存在,则启用正常和安全中断优先顺序 

 


Maximise