什么是TEE(它是做什么的)

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

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

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

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

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

什么是TEE?它是做什么的?TEE在连接的设备中提供了一个安全区域,以确保敏感数据在一个隔离且可信的环境中存储、处理和保护——通过提供隔离且安全执行的授权软件来实现端到端安全。换句话说,TEE代表一个与SoC中其他模块隔离的区域,可以执行可信应用(TAs)。

图2-由硬件支持的虚拟化实施的隔离

TEE确保客户在安全和丰富的应用程序中运行。TEE可以包括CPU和其他组件,如内存和IO。很多情况下,可信应用需要访问安全加速器,这些加速器也必须驻留在TEE环境中,比如GPU、显示端口、信任根(RoT)等。

通过允许授权的应用程序在TEE中执行,平台可以如预期的那样可靠地运行。这种方法不仅可以保护可信应用程序免受不可信应用程序的攻击,还可以保证这些领域之间的信息交换能力,如键盘、支付交易、生物特征识别等。

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

全球平台扮演什么角色?

GlobalPlatform已经开始为多个市场/应用程序标准化TEE应用程序编程接口(API)。这些标准的应用程序接口大大减少了应用程序开发人员的挑战。例如,可信应用程序开发过程可以从丰富多样的应用程序开发过程中分离出来。有了TEE,开发者可以独立创建一套通用的应用程序接口,实现曾经紧密联系的工作。这实现了互操作性和易用性,并最终加快了需要安全可信操作的应用程序的部署。

GlobalPlatform定义的可信执行环境(TEE)为软件开发者提供了一个开源透明的环境,通过平台的安全可靠运行,可以保护他们的应用免受其他应用的侵害。

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

随着行业向异构可信应用迁移,由于操作、安全要求、认证和授权、更新和补丁频率以及其他考虑因素的差异,人们更加关注在单个TEE结构下对这些任务关键型应用的管理。这些受信任的应用程序需要保存在单独的环境中,以便为最易受攻击的路径增加另一层保护。

一个多可信TEE可以同时运行多个可信筒仓来处理混合的可信应用程序,每个TA都应该在自己的可信环境中执行。借助多重信任的TEE,易于使用的身份验证和LCM(生命周期管理)使部署更加容易,并加快了上市时间。

图3-Multi-trust TEE允许多个TEE同时运行。

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

多可信TEE上的“安全数据路径”示例在一些主机应用程序中,有一系列不同的辅助安全任务并发运行以支持主机应用程序,并且越来越需要维护每个任务的自治性。一个例子是运行安全文章流的控制路径,并将其与相邻的支付流隔离。每个过程需要满足特定的认证,并且具有不同的生命周期。除了来自不同独立第三方的远程管理之外,这种差异还可能对不同任务的资产造成伤害和污染。

多可信TEE提供了一种支持多个并发ta的机制,不同的ta可以在其可信环境中独立运行。支持多个tee的能力使软件能够更独立地修补、更新和管理其生命周期。

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

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

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

图5- Imagination的OmniShield支持处理器通过隔离提供安全性

基于硬件虚拟化的架构可以提供许多优势:

Cpu集成

隔离关键软件

安全更新

减少质量保证、测试和认证

加快上市时间

兼容全球平台的MIPS Omnishield Sierra TEE

MIPS omnishield Sierra TEE是一款全球平台兼容TEE,适用于基于Imagination Technologies的MIPS omni shield就绪型CPU。

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

Sierra TEE使用omnishield虚拟化技术进行硬件级隔离,支持单TEE和多可信TEE操作。这样就完全保护了安全应用和相关外设在丰富环境下的代码运行。这意味着,即使攻击者设法在富操作系统中获得完全管理员权限,他也无法访问安全域。

在具有多个域的系统中,相应的SierraVisor将多个并行客户端系统隔离开来。SierraVisor和SierraTEE的结合使TEE和rich环境在各自的域中发挥作用。

结论随着嵌入式行业从一个专有的封闭环境过渡到一个连接丰富的世界,现在对安全性的需求是不可避免的。

通过采用由行业专家定义和验证的开放标准,安全性的实施、部署和管理变得更加强大和高效。

GlobalPlatform率先提供了一套功能强大的开放式TEE应用程序可编程接口,确保安全数据在一个隔离的可信环境中存储、处理和保护——以便可信应用程序可以在一个孤岛中执行。

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

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