具有可信执行环境的混合设备制造技术

技术编号:39253336 阅读:16 留言:0更新日期:2023-10-30 12:05
一种混合TEE设备通过将硬件整合到片上系统设备、通用计算设备、或专用或专有计算或电子设备,实现了可信执行环境(TEE),所述硬件包含缓存清除控制器、内存隔离网关和内存清理器。所述硬件的添加实现了保护可信执行环境的方法,从而减少了对恶意软件或其他程序代码的脆弱性。脆弱性。脆弱性。

【技术实现步骤摘要】
【国外来华专利技术】具有可信执行环境的混合设备


[0001]本专利技术的名称为“具有可信执行环境(TRUSTED EXECUTION ENVIRONMENT)的混合设备”,但为简洁起见,在下文中称为“混合TEE设备”,涉及一种混合设备,它包含一个用于运行程序代码的可信(安全)执行环境(以下称为“TEE”),通过代码和数据隔离降低了设备执行恶意代码的风险。

技术介绍

[0002]TEE在编程领域是众所周知的:它们最初包括由处理器根据低级别的安全编程指令分配的计算机内存区域,这些区域被预留出来,仅由“可信的”应用程序和进程访问,这样,例如,如果多个应用程序正在通用计算设备上运行,未经过某种验证或批准程序的应用程序和进程则不允许访问预留的内存区域。这种方法存在多种漏洞,包括但不限于以下事实:安全编程指令本身可能会被恶意软件更改或绕过,而这些恶意软件无论是通过默认、不安全的设计,还是通过恶意激活,都有足够的权限来执行这种代码。
[0003]导致与这种恶意代码有关的一些因素包括:a)可信的应用程序和不可信的应用程序之间的内存隔离不足;b)从安全世界切换到正常世界的功能模块中的漏洞;c)由于安全世界和正常世界之间、以及安全世界内部的资源共享,导致缓存泄漏;以及d)由于某些内存设计中的“Rowhammer”漏洞导致的信息泄露。
[0004]在最近的TEE实施方案中,例如在US 2012/0265975 A1中公开的具有嵌入式安全特征的微控制器,TEE(也称为“安全环境”)是通过将一组安全参数存储在非易失性存储器上而建立的,处理器不能直接访问,只能由控制电路读取,控制电路执行安全环境并在设备每次开机时对其进行配置。然而,这种方法仍然存在一些众所周知的问题,如缓存操作或访问本身可信的应用程序或进程的剩余内存占用空间,但无论出于何种原因,允许恶意代码在其执行期间或之后为恶意目的读取和/或写入其分配的内存。
[0005]本专利技术解决了这些问题。

技术实现思路

[0006]本专利技术提供了一种混合TEE,使用硬件元件来确保执行可信程序代码的TEE。
[0007]根据本专利技术的一个实施例,混合TEE包括:结合了新颖硬件元件的设备,这些硬件元件包括缓存清除控制器(Cache Purging Controller,CPC)、内存隔离网关(Memory Isolation Gateway,MIG)和内存清理器(Memory Clean Up,MCU),以及支持TEE的系统软件。
[0008]本专利技术的其他方面和/或优点将部分地在随后的描述中阐述,并且部分地从描述中显而易见,或者可以通过本专利技术的实践了解。
附图说明
[0009]通过结合附图对实施例进行的以下描述,本专利技术的这些和/或其他方面和优点将变得更明显和更容易理解,其中:图1是TEE设备的存储器和处理器核心的抽象配置图。图2是包含CPC、MIG和MCU的混合TEE设备的存储器和处理器核心的抽象配置图。图3是包含CPC、MIG和MCU的混合TEE设备的第二实施例的抽象配置图。图4是显示混合TEE设备的基本操作流程的流程图。图5为显示混合TEE设备的软硬件混合单元切换的流程图。
具体实施方式
[0010]现在将详细参考附图所示的本专利技术的几个实施例。在可能的情况下,在附图和描述中使用相同或相似的附图标记来指代相同或相似的部件或步骤。附图是简化的形式,未按精确比例绘制。为了方便和清晰起见,可以在附图中使用方向性术语,如顶部、底部、左、右、上、下、上方、上方、上面、下面、后面和前面。这些和类似的方向性术语不应被解释为以任何方式限制本专利技术的范围。附着、连接、耦合和具有转折语素的类似术语不一定表示直接或中间连接,也可以包括通过中间元件或设备的连接。
[0011]本专利技术的各个方面将被描述为混合TEE设备,其被配置为“片上系统”(“SoC”),包含处理器、DDR内存、通用输入/输出接口(“GPIO”)和闪存(“Flash”)接口。在不损害本专利技术提供的优点的情况下,也可以添加其他组件,例如通常在SoC设备上找到的其他组件,或将本专利技术元件合并到更传统的通用计算设备或专用/专有计算设备中的其他组件。
[0012]通过参考所提供的附图,可以很容易地理解混合TEE设备。图1显示了一个高度抽象的混合TEE设备配置。混合TEE设备10包括处理器核心12,其操作多个不可信的处理单元15、16、17和18,每个处理单元可以执行至少一个进程(应用程序)。每个处理单元15

18都是一个虚拟元件,其包含应用程序的程序代码和该应用程序需要执行的数据。除了TEE子系统(未显示,见图2和图3)允许的情况下,要求处理单元之间和/或任何相应的存储器或设备外设不能相互通信。可信的处理单元14有一个系统服务包,它有助于对在可信处理单元14上执行的应用程序/进程的存储控制和输入/输出控制,这将在下面进一步解释。可信处理单元14负责将应用程序加载到其他处理单元15

18、安全单元切换、运行安全系统服务、配置硬件以定义每个处理单元的可访问存储范围,并负责所有单元间的通信。
[0013]为了优化和效率的目的,可选地允许不可信处理单元被指定为可信处理单元。这可以以任何合适的方式进行,例如但不限于以下示例:
[0014]作为第一个示例,一旦确认不可信处理单元只访问其分配的虚拟存储单元(参见图4,步骤43),则在一段时间内或只要它继续只访问为其分配的虚拟存储单元,它就可以被指定为可信处理单元。
[0015]作为第二个示例,一组可信单元参数可以存储在存储器中的其他地方或者一些其他位置,如TEE系统服务库(参见图3)或单独的ROM设备(未示出)。可以通过可信处理单元14(或后来定义为可信的任何处理单元)运行一个进程,以查看任何给定的不可信处理单元是否满足指定为可信处理单元的参数,如果满足,则将该不可信处理单元指定为一个可信处理单元。
[0016]一旦处理单元被指定为可信处理单元,在这些处理单元中运行的进程可以被允许更高级别的系统访问,减少检查未经授权的操作,以提高整体处理速度,或者对其操作进行任何其他合理的调整。
[0017]图2显示了一个更完整的混合TEE设备配置。混合TEE设备20包括处理器22,该处理器22与图1的基本TEE设备一样,包括可信处理单元24和不可信处理单元25、26、27和28。图中还显示了DDR内存单元24a、25a、26a、27a和28a,它们与相应的处理单元24

28接口,以允许DDR内存单元24a

28a被处理单元24

28读取和写入。DDR内存单元24a对应于可信单元24,DDR内存单元25a对应于不可信处理单元25,以此类推。处理器22不需要对要执行的代码进行权限级别评估,因为代码要么在可信单元24上执行,并因此在TEE中执行,要么不执行,如TEE软件所指示。处理器22也不需要物理存储器保护功能,因为如下所述,该设备使用的存储器将实时保持安全。可信处理单元24负本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种具有可信执行环境的混合设备,包括:具有缓存清除控制器的处理器核心;与所述处理器通信连接的内存控制器和由所述内存控制器控制的物理内存;一个或多个外设,所述外设包括一个或多个通用输入输出控制器、闪存或通用异步接收器

发送器,所述外设与所述处理器核心通信连接;以及可信执行环境(TEE)子系统,其包括内存映射寄存器、内存隔离网关和内存清理器,所述TEE子系统控制所述处理器核心与所述内存控制器和/或所述外设之间的所有通信。2.根据权利要求1所述的具有可信执行环境的混合设备,其中所述内存控制器为DDR内存控制器,所述物理内存为DDR内存。3.根据权利要求1所述的具有可信执行环境的混合设备,其中所述处理器、所述缓存清除控制器、所述内存清理器和所述内存隔离网关均集成在一个单一的集成电路设备中。4.根据权利要求1所述的具有可信执行环境的混合设备,其中所述缓存清除控制器、所述内存清理器和所述内存隔离网关中的至少一个没有被集成到集成有所述处理器核心的集成电路设备中。5.根据权利要求2所述的具有可信执行环境的混合设备,其中所述处理器、所述缓存清除控制器、所述内存清理器和所述内存隔离网关均集成在一个单一的集成电路设备中。6.根据权利要求2所述的具有可信执行环境的混合设备,其中所述缓存清除控制器、所述内存清理器和所述内存隔离网关中的至少一个没有被集成到集成有所述处理器核心的集成电路设备中。7.一种具有可信执行环境运行的软硬件混合设备的方法,包括:定义至少两个虚拟处理单元,包括可信处理单元和至少一个不可信处理单元,所述虚拟处理单元在处理器上运行;根据存储在内存隔离网关中的内存单元配置,定义至少两个虚拟内存单元,对应于物理内存设备的至少两个区域;将其中一个所述虚拟内存单元分配给每个所述虚拟处理单元;监控所述处理器是否由于来自其中一个所述虚拟处理单元的指令而试图访问所述虚拟内存单元;通过所述内存隔离网关进行检查,以确保所述处理器正在访问的所述虚拟内存单元与分配给所述虚拟处理单元的所述虚拟内存单元相对应,所述虚拟处理单元向所述处理器提供了访问所述虚拟内存单元的指令;如果所述虚拟内存单元对应于向所述处理器提供访问所述虚拟内存单元的指令的所述虚拟处理单元,则允许所述处理器访问所述虚拟内存单元,并返回到所述监控步骤,否则进行下一步骤;通过所述内存隔离网关阻止访问所述虚拟内存单元的尝试,并返回一个错误,表示尝试访问所述内存失败,并返回到所述监控步骤。8.根据权利要求7所述的方法,其中在通过所述内存隔离网关检查到对应于一个指定的不可信处理单元的所述虚拟处理单元仅访问分配给所述指定的不可信处理单元的所述虚拟内存单元后,所述指定的不可信处理单元成为第二可信处理单元。9.根据权利要求7所述的方法,还包括:
定义一组可信处理单元参数;将该组可信处理单元参数存储在一个可信处理单元参数存储位置;确认所述不可信处理单元之一在该组可信处理单元参数内,如果是,则将该不可信处理单元转换成额外的可信处理单元;以及允许一个进程作为可信进...

【专利技术属性】
技术研发人员:吴智伟林灿辉李闰球
申请(专利权)人:香港应用科技研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1