OmniShield为下一代SoC提供最具扩展性的安全方案

描述

OmniShield™重新定义安全未来

现在,电子产品的使用和服务都涉及到一大票连接类产品如物联网设备、网关路由器、IPTV、汽车以及其他系统等,这些产品越来越多地支持大量独特应用、可以支持不同内容源,并可以通过服务提供商或者运营商实现现场软件升级,同时确保隐私和数据保护。

针对这种趋势,OEM产品和运营商的服务需要一种全新安全方法,OmniShield正满足了这种需求,可为业界保护下一代SoC提供最具扩展性的安全方案。

imagination


当下的嵌入式安全方法主要以CPU为中心,采用二值方法(一个安全区域/一个非安全区域),且十分复杂。这些解决方案无法灵活扩展以满足下一代连接设备和云所支持的复杂的应用和服务。

与二值方法不同,OmniShield创建了多个安全域,每个安全/非安全的应用程序/操作系统都可以在单独环境中独立运行。有了OmniShield-ready硬件和软件IP,Imagination可以确保客户SoC和OEM产品的设计安全性、可靠性和动态软件管理。

此外,OmniShield可以满足异构架构所需的可扩展性需求。在异构架构中,系统的CPU和其他处理器之间共享应用程序数据和资源。这意味着,这些处理器与CPU将一样有信息暴露风险,故而必须获得相同级别保护。但现今市场上没有解决方案能够完全应对这个安全挑战。OmniShield通过保护SoC中的所有处理器解决了这个问题——这其中包括CPU、GPU和其他处理器。

下图展示了一个通用案例:把Imagination OmniShield-ready系列、MIPSWarrior系列CPU和PowerVR Series7GPU结合起来,实现了一个可以支持完整安全应用的下一代平台。

imagination


OmniShield具有以下几个特点:

1. 多域:高达255个
2. 异构:CPU、GPU、通讯连接性IP
3. 硬件分离:虚拟化
4. 开源:prpl Security PEG

OmniShield具有以下几个优势:

1.  CPU负载合并
2.  隔离关键软件
3.  安全更新
4.  减少QA、测试和认证
5.  加速市场投放时间

OmniShield的主要构件

硬件虚拟化CPU

OmniShield通过隔离每个系统功能使用的内存空间来提供安全性能。每个的内存空间称为“域”。每个系统功能只能使用自己的域,且通常无法访问其他功能使用的域。通过拥有多个域,单个功能可以与系统的其他部分隔离。这样就有一个有利的形势:相互不信任的应用程序不被强迫需要彼此信任于同一个域内。OmniShield可以支持高达255个域,实际情况中可以使用相对较少的域。访问多个域之间共享的内存空间由系统中的特权软件以进行控制。

可信任管理程序(hypervisor)

管理程序(hypervisor)是配置和管理这些内存域(memory domain)的软件组件。除了域管理之外,管理程序还要负责加载这些在域里运行的软件。域里的软件称为“访客”(Guest)。访客可以是个完整的操作系统或独立的应用程序。管理程序还要负责这些访客之间的现场切换,这是系统及处理影响访客的事件所需的。OmniShield需要使用I类管理程序(type-I hypervisor)。这种类型也称为裸机管理程序(bare-iron hypervisor)或本机管理程序(native hypervisor)。OmniShield还要求管理程序支持CPU的完全虚拟化。也就是说,管理程序可以利用MIPS虚拟化架构的特性——第2级MMU、访客COP0上下文、中断虚拟化支持。

信任根

信任根(RoT)负责认证在系统上运行的软件。RoT必须是系统里的第一个运行模块,并确保不会被系统的其余部分进行篡改。对于这种签字认证功能,RoT通常为系统的其他部分提供加密、解密和哈希函数功能。在某些非常简单的系统中,一些在非可变内存(ROM或OTP可编程)中存储的代码可能会像RoT一样发挥功能。更复杂的系统则有一个单独的子系统扮演RoT的角色——我们把这个单独的子系统称为可信任元素(TE)。

•  RoT可以作为单独的硬件块实现。这种类型称为硬件可信元素(TE)
•  RoT可以作为主流处理器的独立执行模式实现。这种类型被称为虚拟可信任元素(Virtual Trusted Element)。一个实现方法是在MIPS虚拟化架构中使用访客操作系统。

imagination


保护TE一种常见的方法是单向通信路径。系统其他部分只能向TE发送请求。TE仅返回对这些命令的结果或响应。
TE的内部工作机制对系统其余部分是不可见的。对于硬件TE来说,这可以通过专门针对TE的在物理上分离的资源来实现。对于虚拟TE,则通过内存空间分离实现。

基本的RoT需求

•  在执行之前执行映像的完整性进行鉴定
•  将系统引导到安全状态
•  确保运行可信任代码
•  安全和可信任通讯
•  安全固件更新
•  信任被侵害后恢复
•  安全存储—管理证书
•  安全调试

安全隔离

硬件虚拟化通常与服务器类的处理器技术相关联。它已经在64位服务器平台上使用了很多年,并且已被各企业广泛应用。虚拟化可以使数据中心多个相似或不相似的工作负载合并,以减少购买成本(硬件和基础设施成本)和运营成本(减少功耗、冷却)等。

在非企业/数据中心空间(如嵌入式)中,虚拟化的使用是不同的。主要目的是通过隔离,维持一个干净的执行环境,同时防止软件交叉污染和泄漏,以确保安全性。我们把“安全”定义为在访客(Guest)软件上隔离、监督和执行策略的能力。这种技术可以将多个不同的嵌入式CPU合并成一个单一的内核,从而降低硅面积和开发工作的工作量,最终降低整体成本,延长电池使用寿命。

imagination


一切源起于隔离。在虚拟化中,硬件平台上的公共资源可以被划分为称为访客或虚拟机(VM)的逻辑分离环境。每个访客都由应用程序和相关操作系统组成(如果需要的话)。通过硬件虚拟化,可以分离和保护关键模块至其自身的地址空间,如通信接口(和软件协议栈)、存储和其他资源,并确保禁止任何来自其他应用程序的空间的访问,且同样不能访问其他应用的地址空间。

imagination


Global Platform兼容的TEE

Sierraware已经为MIPS CPU提供了SierraTEE安全操作系统。MIPS版SierraTEE是支持虚拟化的MIPS硬件以及Global Platform系统和进程间通信(IPC)API实现。

imagination


Sierraware TEE是具有诸多功能和应用的程序,提供了一种简单可行的方法来集成丰富的平台,如FFmpeg、OpenSSL、MiniDLNA等。除了提供一整套Global Platform API,它还能提供POSIX API以方便地集成如DRM这样的老的应用程序,并使更改保持最小。POSIX还允许为如IoT和机顶盒等应用程序设计非常小的内存空间。安全内核在保持POSIX兼容性的同时对大小和性能进行了优化。

imagination


SierraTEE具有一系列的API和功能。下表对一些主要性能进行了描述。

Item

Description

1

大多数主要协议的软件加密库,如RSA,AES,PKI

2

用于任务创建、文件系统、计时器等的POSIX应用程序接口

3

安全元素API,与几个通用的SE设备集成

4

Global Platform 2.0API

5

Global Platform的测试平台。所有OEM商点击报告生成器便可以生成测试报告,以此节约认证成本。

6

安全套接层

安全视频数据通路

•  有一个安全视频数据通路要求压缩和非加密的内容必须存放在客户内存空间中。
•  在TEE上执行的单个视频渲染通路必须服务多个访客操作系统。
•  访客和TEE之间的物理内存转换必须由集成解决方案来处理。
•  资源仲裁是另一个重要因素。
•  以安全的方式在多个访客之间共享硬件编解码器和设备,这是至关重要的。

imagination


总结

OmniShield是唯一可扩展的安全技术--安全域的数量只受硬件的限制。

OmniShield支持安全应用程序的可移植性,针对安全的全新prpl 基金会PEG (prpl Expert Group)将会把安全社区与应用程序专家组织在一起,提供整体安全架构、开放API(应用程序编程接口)以及支持这项多域技术的参考平台。

Imagination的IP产品和平台引领安全未来:
•   所有的MIPS Warrior 系列CPU系列产品都可以支持OmniShield技术
•   所有的PowerVR Series7以后续的 GPU都支持OmniShield技术
•   MIPS M级别 M5150是最小的MCU级别CPU,也支持硬件虚拟化

Global Platform兼容TEE支持能支持OmniShield的  MIPS CPU

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分