多重可信:定义下一代TEE

安全性现在是许多嵌入式应用程序的主要要求。随着连接设备越来越多地融入我们的生活,其安全隐患可能是灾难性的——可能导致隐私、数据和财务信息的丢失,甚至在某些情况下导致死亡。

由于其行为有封闭性的特点,一般嵌入式平台不需要考虑任何级别的安全性;然而,现在许多嵌入式设备都会联网,并支持第三方下载软件,这就引起人们对这些“智能”设备的安全和可信操作的密切关注。

这种“智能“超越PC和手机,由此引发了新的思考。

图1- 不同应用间隔离的SoC平台

现在,为了使不同应用程序的资产保护(如密码,数据,证书等)相互隔离,必须要采用一个标准的方法,并在可移植性、可扩展性和部署方便性方面提出了挑战。为此,行业采用在嵌入式平台中强制执行多个受保护的环境的方法是至关重要的。保护一个或多个环境的能力使得这些应用程序的可信操作需要防止来自物理上或者互联网的外部攻击。

什么是TEE?它是做什么的?

TEE在连接设备中提供一个安全区域,确保敏感数据在隔离、可信的环境中存储、处理和保护 - 通过提供隔离的、安全执行的授权软件,实现端到端的安全。换句话说,TEE表示一个与SoC中其他模块隔离并能够执行可信应用程序(TAs)的区域。

图2 -由硬件支持的虚拟化强制执行的隔离
TEE确保客户在安全和丰富的应用程序中运行

TEE可以包括CPU和其他元件,如存储器和IO;在许多情况下,可信应用程序需要访问安全加速器,这些加速器也必须驻留在TEE环境中,例如GPU、显示端口、信任根(RoT)等。

通过让授权的应用程序在TEE中执行,平台可以按预期可信地运行。此方法在为可信应用程序提供保护不受非可信应用程序干扰的同时,也能确保在这些区域如键盘、支付交易、生物识别等之间的信息交换能力。

位于嵌入式设备核心的可信执行环境必须继续发展,超越现有的二进制方法,以保护新兴设备中的可信资产和现有设备的新范式。我们认为答案在于对这些存在风险的产品采取“多重信任”的方法。

GlobalPlatform 扮演什么角色?

GlobalPlatform已经开始对多个市场/应用程序的TEE应用程序编程接口(API)进行标准化支持。这些标准的应用程序接口大大减少了应用程序开发人员的挑战。例如,可信应用程序开发过程可以与丰富多样的应用程序开发过程解耦。有了TEE,原本曾经紧密相连的工作,开发人员可以通过独立创建一组通用应用程序接口来实现。这允许互操作性和易用性,并最终加速部署需要安全和可信操作的应用程序。

由GlobalPlatform定义的可信执行环境(TEE)为软件开发人员提供了一个开源、透明的环境,可以通过一个平台安全可靠的操作来实现对他们应用程序的保护,不受其他应用程序的危害。

TEE的今天和未来

TEE是一种在多环境共存的同时,建立起策略来保护每个环境的代码和数据的方法。GlobalPlatform TEE的初始部署主要用于移动空间,解决诸如安全视频路径或安全支付等应用程序。然而,在过去的几年中,在其他应用领域,如消费电子、智能家电、家庭网关、无人驾驶飞机等,也出现了类似的需求。

随着行业正朝着采用异构性的可信应用程序迁移,从操作、安全要求、认证授权,更新和打补丁的频率等不同,以及其他方面的考虑,人们对单一TEE结构下管理这些关键任务应用有更多的关注。需要在各自独立的环境中保留这些可信应用程序,从而为最易受攻击的路径添加另一层保护。

一个多可信的TEE可以同时运行多个可信筒仓(silos),以处理混合可信应用程序,每个TA都要在自己的可信环境上执行。有了多可信TEE,验证和LCM(生命周期管理)的易用性使部署更轻松从而加快上市时间

图3 -多信任TEE允许同时运行多个TEE

一个多可信的TEE允许应用程序开发人员只关注他们自身应用程序的安全功能,就像他们使用一个单一的TEE一样,而不用担心会受到来自相邻可信应用程序的干扰。

多可信TEE上的“安全数据路径”示例

在一些宿主应用程序中,有一系列并发运行的、不同的辅助安全任务,支持宿主应用程序,而且越来越需要保持每个任务的自主性。一个例子是运行安全视频流的控制路径,并将它与相邻的支付流隔离。每个流程都需要符合特定的认证,并且具有不同的生命周期。除了来自不同的独立第三方的远程管理,这种差异可能对不同任务的资产造成危害和污染。

多可信TEE提供了支持多个并发TAs的机制,不同的TA可以在各自可信任环境中独立运行。,支持多个TEE的能力使软件能够更加独立的进行补丁、更新和生命周期管理。

图 4- 多信任TEE示例操作双隔离DRM流程

硬件虚拟化的必要性

在嵌入式环境中,硬件虚拟化的使用是通过隔离,维持应用程序在一个洁净的执行环境,同时防止软件交叉污染和泄漏,以确保安全性。此外,该技术还可以将关键资产(如设备通信接口(软件栈)、存储和其他资源)隔离和保护到自己的地址空间中,并确保不能从任何其他应用程序的地址空间访问。

每一个这些独立的内存空间都被称为“域”。每个系统功能只能使用自己的域,通常不能访问其他功能所使用的域。通过拥有多个域,每一个单一功能都与其他功能和系统的其余部分相隔离。访问在多个域之间共享的内存空间由特权级内核源代码以编程方式进行控制。

图5- Imagination’s OmniShield-使处理器通过隔离提供安全性

基于硬件虚拟化的架构可以提供许多好处:
• CPU 整合
• 隔离关键软件
• 安全更新
• 减少QA、测试和认证
• 加速市场投放时间

GlobalPlatform兼容的MIPS Omnishield Sierra TEE

MIPS omnishield™sierraTEE 是一个GlobalPlatform兼容的TEE,用于基于Imagination Technologies 的 MIPS OmniShield-ready CPUs。

Omnishield利用硬件虚拟化技术,为支持CPU、GPU和SoC其他关键部件的安全异构操作提供了基础。它超越了二进制方法,在CPU、GPU、内存和外设中创建多个安全域。在那里,每个安全/非安全应用程序可以在自己的域中独立运行。

Sierra TEE 采用 omnishield虚拟化技术来执行硬件级的隔离,以支持单一TEE和多可信TEE运行。通过这种方式,它完全保护安全应用程序和相关外围设备在丰富的环境中的代码运行。这意味着,即使攻击者设法在Rich OS中获得完全的管理员权限,它也不能访问安全域。

在一个具有多个域的系统中,相应的管理程序(SierraVisor)使多个并行客户系统保持隔离。SierraVisor与SierraTEE的结合使得TEE和各自域中的丰富环境下都能够发挥作用。

结论

随着嵌入式的行业从专有封闭环境过渡到连接丰富的世界,现在对安全的需求成为必然。

通过采用由业界专家定义并验证的开放标准,安全性的实现、部署和管理变得更加稳健和高效。

GlobalPlatform在引领提供一组强大的开放的TEE应用可编程接口,确保安全数据在一个隔离的、可信环境下存储、处理和保护 - 使得可信的应用程序在一个筒仓(silo)内执行。

硬件虚拟化为通过隔离创建安全性提供了基础 — 创建带有强制策略的隔离域以维护可信操作。此技术可以为多可信TEE提供基础,从而进一步隔离可信应用程序,同时改进平台的部署和生命周期管理。

SierraTEE 在MIPS平台上作为多可信TEE运行,为开发者提供了在防止其他交叉污染环境下的可信环境中创建应用程序的理想生态系统。

有关MIPS处理器和硬件虚拟化技术优势的更多信息,请登陆http://imgtec.com/mips。硬件虚拟化贯穿整个MIPS Warrior CPU核心。

进一步了解 GlobalPlatform API和认证程序的细节,请登录 https://www.globalplatform.org/ .

最后,我们建议您关注prpl基金会的“Trust Continuum”组的工作:一个定义API和在虚拟化架构的互操作性和安全性的开放标准联合组织: http://prplfoundation.org

如需了解更多Imagination技术信息,请登陆 www.imgtec.com ,可以获得更多资讯以及技术文章。

声明:
本文为原创文章,转载需注明作者、出处及原文链接,否则,本网站将保留追究其法律责任的权利

精彩专辑《MIPS处理器》阅读同主题信息。
--电子创新网--
粤ICP备12070055号