Login

TrustZone

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

TrustZone 技术与 Cortex™-A 处理器紧密集成,并通过 AMBA® AXI 总线和特定的 TrustZone 系统 IP 块在系统中进行扩展。此系统方法意味着可以保护安全内存、加密块、键盘和屏幕等外设,从而可确保它们免遭软件攻击。

按照 TrustZone Ready Program 建议开发并利用 TrustZone 技术的设备提供了能够支持完全可信执行环境 (TEE) 以及安全感知应用程序和安全服务的平台。

 


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

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

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

应用示例

- 实现安全 PIN 输入,在移动支付和银行业务中加强用户身份验证
- 防恶意软件,可防止软件攻击
- 数字权限管理
- 软件许可证管理
- 基于忠诚度的应用
- 基于云的文档的访问控制
- 电子售票移动电视

可信应用程序采用基于 TrustZone 技术的 SoC(运行可信执行环境),与主 OS 分开,可防止软件/恶意软件攻击。TrustZone 可切换到安全模式,提供硬件支持的隔离。可信应用程序通常是可集装箱化的,如允许不同支付公司的可信应用程序共存于一台设备上。处理器支持

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

支持 TrustZone 的 ARM 处理器包括:

GlobalPlatform API 支持

ARM 已将其 TrustZone API 提供给 GlobalPlatform,该 API 已发展为 TEE 客户端 API。ARM 还与其他一流公司合作开发在可信 OS 与可信应用程序之间进行交互的 TEE 内部 API。有关详细信息,请访问 GlobalPlatform 网站。预计 TEE 的标准化将会促使可信应用程序部署的快速增长。


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 的设备,但根据目标应用以及对性能、功耗和成本的工程权衡,可将这些方法细分为三个主要的组或解决方案层。

第一层

TrustZone 第一层系统架构框图 - 单击查看大图

TrustZone 第一层系统架构框图(1200 像素宽)

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

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

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

第二层

TrustZone 第二层系统架构框图 - 单击查看大图

TrustZone 第二层系统架构框图(1200 像素宽)

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

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

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

第三层

第三层

TrustZone 第三层系统架构框图(1200 像素宽)

第三层解决方案是在现有解决方案的基础上构建的,可提供高性能 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