>>所属分类 >> 嵌入式系统   

TrustZone

Arm TrustZoneArm TrustZone

ARM TrustZone® 技术是系统范围的安全方法,针对高性能计算平台上的大量应用,包括安全支付、数字版权管理 (DRM) 和基于 Web 的服务。
TrustZone 技术与 Cortex™-A 处理器紧密集成,并通过 AMBA® AXI™ 总线 和特定 TrustZone 系统 IP 块在系统中进行扩展。此系统方法意味着,现在可保护外设(包括处理器旁边的键盘和屏幕),以确保恶意软件无法记录安全域中的个人数据、安全密钥或应用程序,或与其进行交互。

TrustZone(TM) 技术出现在 ARMv6KZ 以及较晚期的应用核心架构中。它提供了一种低成本的方案,针对系统单芯片(SoC)内加入专属的安全核心,由硬件建构的存取控制方式支援两颗虚拟的处理器。这个方式可使得应用程式核心能够在两个状态之间切换(通常改称为领域(worlds)以避免和其他功能领域的名称混淆),在此架构下可以避免资讯从较可信的核心领域泄漏至较不安全的领域。这种内核领域之间的切换通常是与处理器其他功能完全无关联性(orthogonal),因此各个领域可以各自独立运作但却仍能使用同一颗内核。内存和周边装置也可因此得知目前内核运作的领域为何,并能针对这个方式来提供对装置的机密和编码进行存取控制。典型的 TrustZone 技术应用是要能在一个缺乏安全性的环境下完整地执行操作系统,并在可信的环境下能有更少的安全性的编码。

目录

TrustZone 硬件架构 编辑本段回目录

TrustZone 硬件架构TrustZone 硬件架构

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

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

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

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

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

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

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

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

TrustZone软件架构编辑本段回目录

 

TrustZone软件架构TrustZone软件架构

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

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

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

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

使用将安全区域任务与请求这些任务的普通区域威胁相关联的通信协议的紧密集成设计可提供 对称多处理 (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 所需的组件TrustZone 系统 IP 所需的组件








 

附件列表


→如果您认为本词条还有待完善,请 编辑词条

上一篇ARM SDT下一篇NEON

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
0

收藏到:  

词条信息

hanshuang
hanshuang
超级管理员
词条创建者 发短消息   
  • 浏览次数: 1348 次
  • 编辑次数: 1次 历史版本
  • 更新时间: 2011-12-12

相关词条