[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN112817697A - 面向可信执行环境的虚拟化系统、方法和设备调用方法 - Google Patents

面向可信执行环境的虚拟化系统、方法和设备调用方法 Download PDF

Info

Publication number
CN112817697A
CN112817697A CN202110178416.2A CN202110178416A CN112817697A CN 112817697 A CN112817697 A CN 112817697A CN 202110178416 A CN202110178416 A CN 202110178416A CN 112817697 A CN112817697 A CN 112817697A
Authority
CN
China
Prior art keywords
driver
driving
shared
target
tee
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110178416.2A
Other languages
English (en)
Inventor
曾望年
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Unionpay Co Ltd
Original Assignee
China Unionpay Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN202110178416.2A priority Critical patent/CN112817697A/zh
Publication of CN112817697A publication Critical patent/CN112817697A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了面向可信执行环境的虚拟化系统、方法和设备调用方法,该系统包括:驱动虚拟主机,运行在可信执行环境TEE中,用于在可信执行环境TEE内部复用通用驱动框架开发的共享设备驱动,以在可信执行环境TEE中提供共享驱动服务;至少一个驱动半虚拟化模块,运行在富执行环境REE中和/或可执行环境TEE中的TEE虚拟机中,用于调用驱动虚拟主机提供的共享驱动服务,并基于共享驱动服务在富执行环境REE中和/或TEE虚拟机中提供对应的设备驱动服务。利用上述系统和方法,能够避免重复开发相关设备驱动,降低驱动开发复杂度,减小驱动开发成本。

Description

面向可信执行环境的虚拟化系统、方法和设备调用方法
技术领域
本发明属于操作系统领域,具体涉及一种面向可信执行环境的虚拟化系统及方法。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
可信执行环境TEE(Trusted Execution Environment)技术能够为诸如移动电话等智能终端提供受到硬件隔离保护的可信执行环境/操作系统。
当前,TEE技术已经在智能手机上普及,并逐步从手机向汽车电子、行业终端等领域拓展。TEE所覆盖的行业生态和设备种类变得越来越多样化,多个业务方TEE如何在一个设备上安全共存变得越来越重要,基于虚拟化技术的多TEE虚拟机解决方案能够很好地解决上述需求。
现有技术中,采用半虚拟化方案,参见图1,其针对多TEE操作系统(TEE OS)在同一设备共存的需求,采用半虚拟化的方法在一个硬件隔离环境同时运行多个TEE OS,TEE虚拟机设备驱动(如GPU、摄像头、LCD等),通过半虚拟化模块调用TEE OS提供的设备驱动完成相关设备操作。然而,现有半虚拟化方案中,设备驱动位于TEE OS中,TEE虚拟机通过半虚拟化模块调用TEE OS提供的设备驱动完成相关设备操作,由于硬件和芯片厂商提供的驱动参考实现主要是针对类Linux系统,而TEE平台驱动架构与类Linux系统存在较大差异,对于复杂度较高的设备(如GPU、摄像头、LCD等),在TEE平台开发该类设备驱动的工作量非常大,极大地影响了该方案的落地推广。
发明内容
针对上述现有技术中存在的问题,提出了一种面向可信执行环境的虚拟化系统及方法,利用这种系统及方法,能够解决上述问题。
本发明提供了以下方案。
第一方面,提供一种面向可信执行环境的虚拟化系统,其特征在于,系统包括:驱动虚拟主机,运行在可信执行环境TEE中,用于在可信执行环境TEE内部复用通用驱动框架开发的共享设备驱动,以在可信执行环境TEE中提供共享驱动服务;至少一个驱动半虚拟化模块,运行在富执行环境REE中和/或可执行环境TEE中的TEE虚拟机中,用于调用驱动虚拟主机提供的共享驱动服务,并基于共享驱动服务在富执行环境REE中和/或TEE虚拟机中提供对应的设备驱动服务。
一些可能的实施方式中虚拟化实现系统,还包括:虚拟机安全通信模块,运行在可信执行环境TEE的操作系统中,用于为运行在TEE虚拟机中虚拟驱动主机和驱动半虚拟化模块提供安全通信服务。
一些可能的实施方式中驱动虚拟主机,还包括:驱动框架层,用于提供兼容通用驱动框架的设备驱动基础服务,以支撑基于通用驱动框架开发的共享设备驱动的基础运行环境;共享设备驱动实现层,用于完成基于通用驱动框架开发的共享设备的驱动实现;共享设备驱动服务层,用于基于共享设备驱动实现层提供的针对共享设备的功能为驱动半虚拟化模块提供共享驱动服务。
一些可能的实施方式中驱动半虚拟化模块,还包括:设备驱动实现层,用于调用共享设备驱动服务层提供的共享驱动服务,基于共享驱动服务为富执行环境REE和/或TEE虚拟机中的对应设备提供基础功能支撑,以完成对应设备的驱动实现;设备驱动服务层,用于基于设备驱动实现层提供的对应设备的功能服务,向富执行环境REE和/或TEE虚拟机提供对应的设备驱动服务。
一些可能的实施方式中共享驱动服务包括以下中的至少一种:GPU、摄像头、LCD。一些可能的实施方式中通用驱动框架为Linux驱动框架或其他操作系统驱动框架。
第二方面,提供一种面向可信执行环境的虚拟化方法,应用于如第一方面的虚拟化实现系统,方法包括:运行在可信执行环境TEE中的驱动虚拟主机在可信执行环境TEE内部复用通用驱动框架开发的共享设备驱动,以在可信执行环境TEE中提供共享驱动服务;运行在富执行环境REE中和/或可执行环境TEE中的TEE虚拟机中的至少一个驱动半虚拟化模块调用驱动虚拟主机提供的共享驱动服务,并基于共享驱动服务在富执行环境REE中和/或TEE虚拟机中提供对应的设备驱动服务。
一些可能的实施方式中,方法还包括:利用运行在可信执行环境TEE的操作系统中虚拟机安全通信模块在运行在TEE虚拟机中虚拟驱动主机和驱动半虚拟化模块之间提供安全通信服务。
一些可能的实施方式中,驱动虚拟主机包括驱动框架层、共享设备驱动实现层和共享设备驱动服务层,方法还包括:驱动框架层提供兼容通用驱动框架的设备驱动基础服务,以支撑基于通用驱动框架开发的共享设备驱动的基础运行环境;共享设备驱动实现层执行基于通用驱动框架开发的共享设备的驱动实现;共享设备驱动服务层基于共享设备驱动实现层提供的针对共享设备的功能为驱动半虚拟化模块提供共享驱动服务。
一些可能的实施方式中,驱动半虚拟化模块包括设备驱动实现层和设备驱动服务层,方法还包括:设备驱动实现层调用共享设备驱动服务层提供的共享驱动服务,基于共享驱动服务为富执行环境REE和/或TEE虚拟机中的对应设备提供基础功能支撑,以完成对应设备的驱动实现;设备驱动服务层基于设备驱动实现层提供的对应设备的功能服务,向富执行环境REE和/或TEE虚拟机提供对应的设备驱动服务。
一些可能的实施方式中,共享驱动服务包括以下中的至少一种:GPU、摄像头、LCD。
一些可能的实施方式中,通用驱动框架为Linux驱动框架或其他操作系统驱动框架。
第三方面,提供一种设备调用方法,应用于如第一方面的虚拟化系统,包括:运行在可信执行环境TEE中的任意一个TEE虚拟机内的第一应用响应于目标设备操作指令,调用运行在任意一个TEE虚拟机内的目标驱动半虚拟化模块提供的目标设备接口;目标驱动半虚拟化模块将目标设备操作指令转换为目标设备虚拟控制指令,并发送给运行在可信执行环境中的驱动虚拟主机;驱动虚拟主机将目标设备虚拟控制指令转化为目标设备物理控制指令,并通过复用通用驱动框架开发的共享设备驱动将目标设备物理控制指令转换为目标设备硬件控制指令,从而实现对目标设备的操作控制。
在一种可能的实施方式中,该方法还包括:目标驱动半虚拟化模块将目标设备虚拟控制指令发送给运行在可信执行环境TEE的操作系统中的虚拟机安全通信模块;虚拟机安全通信模块将目标设备虚拟控制指令转发给驱动虚拟主机。
在一种可能的实施方式中,目标驱动半虚拟化模块还包括:针对目标设备的设备驱动实现层和设备驱动服务层,方法还包括:设备驱动服务层响应于第一应用的调用操作,获取目标设备操作指令,并将目标设备操作指令发送给设备驱动实现层;设备驱动实现层将目标设备操作指令转换为对应的目标设备虚拟控制指令,并发送给运行在可信执行环境TEE的操作系统中的虚拟机安全通信模块。
在一种可能的实施方式中,该驱动虚拟主机还包括:对应于目标设备的共享设备驱动服务层、共享设备驱动实现层和驱动框架层,方法还包括:共享设备驱动服务层接收目标设备虚拟控制指令,将目标设备虚拟控制指令发送给共享设备驱动实现层;共享设备驱动实现层将目标设备虚拟控制指令转化为目标设备物理控制指令,发送给驱动框架层;驱动框架层将目标设备物理控制指令转化为目标设备硬件控制指令,从而实现对目标设备的控制操作。
第四方面,提供一种设备调用方法,应用于如第一方面的虚拟化系统,方法包括:运行在富执行环境REE中的第二应用响应于目标设备操作指令,调用运行在富执行环境REE内的目标驱动半虚拟化模块提供的目标设备接口;目标驱动半虚拟化模块将目标设备操作指令转换为目标设备虚拟控制指令,并发送给运行在可信执行环境TEE中的驱动虚拟主机;驱动虚拟主机将目标设备虚拟控制指令转化为目标设备物理控制指令,并通过复用通用驱动框架开发的共享设备驱动将目标设备物理控制指令转换为目标设备硬件控制指令,从而实现对目标设备的操作控制。
在一种可能的实施方式中,目标驱动半虚拟化模块还包括:针对目标设备的设备驱动实现层和设备驱动服务层,方法还包括:设备驱动服务层响应于第二应用的调用操作,获取目标设备操作指令,并将目标设备操作指令发送给设备驱动实现层;设备驱动实现层将目标设备操作指令转换为对应的目标设备虚拟控制指令,并通过环境交互接口发送给驱动虚拟主机;其中,环境交互接口用于实现富执行环境REE和可信执行环境TEE之间的信息交互。
在一种可能的实施方式中,该驱动虚拟主机还包括:至少针对目标设备的共享设备驱动服务层、共享设备驱动实现层和驱动框架层,方法还包括:共享设备驱动服务层接收目标设备虚拟控制指令,将目标设备虚拟控制指令发送给对应于目标设备的设备驱动实现层;共享设备驱动实现层将目标设备虚拟控制指令转化为目标设备物理控制指令,发送给驱动框架层;驱动框架层将目标设备物理控制指令转化为目标设备硬件控制指令,从而实现对目标设备的控制操作。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本实施例中,在TEE内部创新地采用基于驱动虚拟主机的虚拟化方法,在驱动虚拟主机内通过复用诸如Linux驱动框架或其他操作系统驱动框架的通用设备驱动,以供TEE虚拟机和REE使用,避免重复开发相关设备驱动,降低驱动开发复杂度,减小驱动开发成本。
应当理解,上述说明仅是本发明技术方案的概述,以便能够更清楚地了解本发明的技术手段,从而可依照说明书的内容予以实施。为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举例说明本发明的具体实施方式。
附图说明
通过阅读下文的示例性实施例的详细描述,本领域普通技术人员将明白本文所述的优点和益处以及其他优点和益处。附图仅用于示出示例性实施例的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的标号表示相同的部件。在附图中:
图1为根据现有技术的半虚拟化方案的示意图;
图2为根据本发明一实施例的面向可信执行环境的虚拟化系统的结构示意图;
图3为根据本发明另一实施例的面向可信执行环境的虚拟化系统的结构示意图;
图4为根据本发明一实施例的面向可信执行环境的虚拟化方法的流程示意图;
图5为根据本发明又一实施例的面向可信执行环境的虚拟化装置的结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在本申请实施例的描述中,应理解,诸如“包括”或“具有”等术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不旨在排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在的可能性。
除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请中的所有代码都是示例性的,本领域技术人员根据所使用的编程语言,具体的需求和个人习惯等因素会在不脱离本申请的思想的条件下想到各种变型。
另外还需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图2为根据本申请一实施例的面向可信执行环境的虚拟化系统的结构示意图。
如图2所示,虚拟化系统部署在包含可信执行环境TEE和富执行环境REE的终端上,且该虚拟化系统可以包括:
驱动虚拟主机21,运行在可信执行环境TEE中,用于在可信执行环境TEE内部复用通用驱动框架开发的共享设备驱动,以在可信执行环境TEE中提供共享驱动服务;
至少一个驱动半虚拟化模块22,运行在富执行环境REE中和/或可执行环境TEE中的TEE虚拟机中,用于调用驱动虚拟主机提供的共享驱动服务,并利用共享驱动服务在富执行环境REE中和/或TEE虚拟机中提供对应的设备驱动服务。
可以理解,驱动虚拟主机21是TEE内部负责共享驱动实现的一种特殊的虚拟机,此虚拟机仅提供共享驱动服务。驱动半虚拟化模块22可以是TEE虚拟机中的负责具体的设备驱动服务的模块,也可以是富执行环境REE中的负责具体的设备驱动服务的模块。
富执行环境REE可以为诸如Android、IOS等的富操作系统,本申请对此不做具体限制。
共享驱动服务可以是共享设备的驱动服务,可以理解,诸如GPU、摄像头、NFC、LCD等拥有庞大代码量和复杂协议栈的驱动,可以将这些外设设置为共享设备,并在驱动虚拟主机21中通过硬件辅助的全虚拟化方法兼容由通用驱动框架(比如Linux)开发的诸如GPU、摄像头、NFC、LCD等复杂驱动。
在本实施例中,在TEE内部创新地采用基于驱动虚拟主机的虚拟化方法,在驱动虚拟主机内通过复用诸如Linux驱动框架或其他操作系统驱动框架的通用设备驱动,以供TEE虚拟机和REE使用,避免重复开发相关设备驱动,降低驱动开发复杂度,减小驱动开发成本。
可以理解,在图2中,示出了分别在富执行环境REE中运行一个驱动半虚拟化模块,在可执行环境TEE中的两个TEE虚拟机中分别运行两个驱动半虚拟化模块的情况。然而,也可以只在富执行环境REE中运行一个或多个驱动半虚拟化模块,或者也可以只在可执行环境TEE中的一个或多个TEE虚拟机中运行驱动半虚拟化模块,等等,本申请对驱动半虚拟化模块的数量不做具体限制。
图3为根据本申请一实施例的面向可信执行环境的虚拟化系统的结构示意图。本实施例在图2所示实施例的基础上,对虚拟化系统的构成进一步详细描述。
如图3所示,在一些可能的实施方式中,为实现安全通信,虚拟化实现系统还可以包括:虚拟机安全通信模块23,该虚拟机安全通信模块23运行在可信执行环境TEE的操作系统(TEE OS)中,负责为运行在TEE虚拟机中虚拟驱动主机21和驱动半虚拟化模块22提供安全通信服务。
在另外一些可能的实施方式中,虚拟机安全通信模块还可以为可信执行环境TEE中的若干个TEE虚拟机之间的通信提供安全通信服务。
一个示例中,虚拟机安全通信模块23中部署有多个安全策略,基于安全策略可以确定任意两个或更多虚拟机之间是否可以安全通信。上述安全策略可以是开发者预设的,也可以是基于虚拟机状态也而设置的。
如图3所示,在一些可能的实施方式中,驱动虚拟主机21中还可以进一步包括驱动框架层211、共享设备驱动实现层212和共享设备驱动服务层213,其中驱动框架层211用于提供兼容通用驱动框架的设备驱动基础服务,以支撑基于通用驱动框架开发的共享设备驱动的基础运行环境。共享设备驱动实现层212用于完成基于通用驱动框架开发的共享设备的驱动实现。共享设备驱动服务层213用于基于共享设备驱动实现层提供的针对共享设备的功能为驱动半虚拟化模块提供共享驱动服务。
如图3所示,在一些可能的实施方式中,在TEE虚拟机中运行驱动半虚拟化模块22还可以进一步包括设备驱动实现层221和设备驱动服务层222,其中,设备驱动实现层221用于通过TEE OS中实现的虚拟机安全通信模块23调用共享设备驱动服务层213提供的共享驱动服务,基于该共享驱动服务为TEE虚拟机中的对应设备提供基础功能支撑,以完成对应设备的驱动实现。设备驱动服务层222用于基于设备驱动实现层221提供的该对应设备的功能服务,向TEE虚拟机提供对应的设备驱动服务。由此,无需在TEE内重复开发相关设备驱动,即可在TEE虚拟机中利用共享驱动的相关功能操作。
如图3所示,在另一些可能的实施方式中,在REE中运行驱动半虚拟化模块22还可以进一步包括设备驱动实现层221和设备驱动服务层222,其中,该设备驱动实现层用于通过部署在REE中的TEE接口和部署在TEE中的TEE交互接口调用共享设备驱动服务层213提供的共享驱动服务,并利用共享驱动服务为REE中的对应设备提供基础功能支撑,以完成对应设备的驱动实现。该设备驱动服务层222,用于基于设备驱动实现层221提供的对应设备的功能服务,向REE提供对应的设备驱动服务。由此,无需在TEE或REE内重复开发相关设备驱动,即可在REE中利用共享驱动的相关功能操作。
在一些可能的实施方式中,共享驱动服务是针对共享设备的驱动服务,该共享设备可以包括以下中的至少一种:GPU、摄像头、LCD等等。在一些可能的实施方式中,通用驱动框架为Linux驱动框架或其他操作系统驱动框架。
在本说明书的描述中,参考术语“一些可能的实施方式”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
基于相同的技术构思,本发明实施例还提供一种面向可信执行环境的虚拟化方法,应用于如上述任一实施例所提供的虚拟化实现系统。图4为本发明实施例提供的一种面向可信执行环境的虚拟化方法的流程图。
如图4所示,方法400包括:
S401:运行在可信执行环境TEE中的驱动虚拟主机在所述可信执行环境TEE内部复用通用驱动框架开发的共享设备驱动,以在所述可信执行环境TEE中提供共享驱动服务;
S402:运行在富执行环境REE中和/或所述可执行环境TEE中的TEE虚拟机中的至少一个驱动半虚拟化模块调用所述驱动虚拟主机提供的所述共享驱动服务,并基于所述共享驱动服务在所述富执行环境REE中和/或所述TEE虚拟机中提供对应的设备驱动服务。
本实施例中,在TEE内部创新地采用基于驱动虚拟主机的虚拟化方法,在驱动虚拟主机内通过复用诸如Linux驱动框架或其他操作系统驱动框架的通用设备驱动,以供TEE虚拟机和REE使用,避免重复开发相关设备驱动,降低驱动开发复杂度,减小驱动开发成本。
在一些可能的实施方式中,所述方法还包括:利用运行在所述可信执行环境TEE的操作系统中虚拟机安全通信模块在运行在所述TEE虚拟机中所述虚拟驱动主机和所述驱动半虚拟化模块之间提供安全通信服务。
在一些可能的实施方式中,所述驱动虚拟主机包括驱动框架层、共享设备驱动实现层和共享设备驱动服务层,所述方法还包括:所述驱动框架层提供兼容所述通用驱动框架的设备驱动基础服务,以支撑基于所述通用驱动框架开发的共享设备驱动的基础运行环境;所述共享设备驱动实现层执行基于所述通用驱动框架开发的共享设备的驱动实现;所述共享设备驱动服务层基于所述共享设备驱动实现层提供的针对所述共享设备的功能为所述驱动半虚拟化模块提供所述共享驱动服务。
在一些可能的实施方式中,所述驱动半虚拟化模块包括设备驱动实现层和设备驱动服务层,所述方法还包括:所述设备驱动实现层调用所述共享设备驱动服务层提供的所述共享驱动服务,基于所述共享驱动服务为所述富执行环境REE和/或所述TEE虚拟机中的对应设备提供基础功能支撑,以完成所述对应设备的驱动实现;所述设备驱动服务层基于所述设备驱动实现层提供的所述对应设备的功能服务,向所述富执行环境REE和/或所述TEE虚拟机提供所述对应的设备驱动服务。
在一些可能的实施方式中,所述共享驱动服务包括以下中的至少一种:GPU、摄像头、LCD。
在一些可能的实施方式中,所述通用驱动框架为Linux驱动框架或其他操作系统驱动框架。
需要说明的是,本申请实施例中的虚拟化方法可以实现前述虚拟化系统的实施例的各个过程,并达到相同的效果和功能,这里不再赘述。
本申请实施例中,还提供一种设备调用方法,应用于如上述实施例所描述的虚拟化系统,该方法具体包括:运行在可信执行环境TEE中的任意一个TEE虚拟机内的第一应用响应于目标设备操作指令,调用运行在任意一个TEE虚拟机内的目标驱动半虚拟化模块提供的目标设备接口;目标驱动半虚拟化模块将目标设备操作指令转换为目标设备虚拟控制指令,并发送给运行在可信执行环境中的驱动虚拟主机;驱动虚拟主机将目标设备虚拟控制指令转化为目标设备物理控制指令,并通过复用通用驱动框架开发的共享设备驱动将目标设备物理控制指令转换为目标设备硬件控制指令,从而实现对目标设备的操作控制。
共享设备驱动可以是诸如GPU、摄像头、NFC、LCD等拥有庞大代码量和复杂协议栈的设备的驱动。目标设备可以是共享设备中的任意一个或多个。目标驱动半虚拟化模块是对应于目标设备的驱动半虚拟化模块,比如对应于摄像头设备的驱动半虚拟化模块和对应于NFC设备的驱动半虚拟化模块。
参考图2,第一应用可以部署在可信执行环境TEE中的任意一个TEE虚拟机中,其可以是诸如人脸支付应用、NFC支付应用等需要调用目标设备的任意一种应用程序。比如,若某个TEE虚拟机是对应于某一支付系统(比如银联支付系统)的TEE虚拟机,那么即可将该支付系统的人脸支付应用和NFC支付应用等部署在该TEE虚拟机中。进而,当该人脸支付应用需要调用摄像头设备时,可以在该TEE虚拟机中调用对应于摄像头设备的驱动半虚拟化模块,也即目标驱动半虚拟化模块。该摄像头设备的驱动半虚拟化模块调用运行在可信执行环境中的驱动虚拟主机。如上述实施例所描述,驱动虚拟主机是TEE内部负责共享驱动实现的一种特殊的虚拟机,此虚拟机复用通用驱动框架开发(比如Linux驱动框架)的共享设备驱动,驱动虚拟主机支持的共享设备包括该目标设备,因此,通过调用该驱动虚拟主机可以实现对目标设备的操作控制。
在一种可能的实施方式中,该方法还包括:目标驱动半虚拟化模块将目标设备虚拟控制指令发送给运行在可信执行环境TEE的操作系统中的虚拟机安全通信模块;虚拟机安全通信模块将目标设备虚拟控制指令转发给驱动虚拟主机。
在一种可能的实施方式中,目标驱动半虚拟化模块还包括:针对目标设备的设备驱动实现层和设备驱动服务层,方法还包括:设备驱动服务层响应于第一应用的调用操作,获取目标设备操作指令,并将目标设备操作指令发送给设备驱动实现层;设备驱动实现层将目标设备操作指令转换为对应的目标设备虚拟控制指令,并发送给运行在可信执行环境TEE的操作系统中的虚拟机安全通信模块。
在一种可能的实施方式中,该驱动虚拟主机还包括:对应于目标设备的共享设备驱动服务层、共享设备驱动实现层和驱动框架层,方法还包括:共享设备驱动服务层接收目标设备虚拟控制指令,将目标设备虚拟控制指令发送给共享设备驱动实现层;共享设备驱动实现层将目标设备虚拟控制指令转化为目标设备物理控制指令,发送给驱动框架层;驱动框架层将目标设备物理控制指令转化为目标设备硬件控制指令,从而实现对目标设备的控制操作。
在一些可能的实施方式中,通用驱动框架为Linux驱动框架或其他操作系统驱动框架。
需要说明的是,本申请实施例中的设备调用方法可以实现前述虚拟化系统的实施例的各个过程,并达到相同的效果和功能,这里不再赘述。
在一个示例中,以第一应用是支付系统A提供的支付应用,且目标设备是摄像头设备为例进行描述,可以理解,支付应用在使用过程中可能需要调用摄像头设备来获取用户的实时人脸图像以执行人脸支付。可信执行环境TEE中可能同时部署有多个系统的TEE虚拟机,比如部署支付系统A的TEE虚拟机1和部署支付系统B的TEE虚拟机2,此时,若TEE虚拟机1中的支付系统A的支付应用需要调用摄像头设备时,可以调用该TEE虚拟机1内的目标驱动半虚拟化模块(也即针对摄像头设备的驱动半虚拟化模块)中的摄像头设备驱动服务层提供的摄像头设备接口(API),摄像头设备驱动服务层将摄像头接口对应的摄像头设备操作指令发送给该TEE虚拟机内的摄像头设备驱动实现层,TEE虚拟机内的摄像头设备驱动实现层将摄像头设备操作指令转换为对应的摄像头设备虚拟控制指令,发送给TEE OS中的虚拟机安全通信模块,TEE OS中的虚拟机安全通信模块将摄像头设备虚拟控制指令转发给驱动虚拟主机中的共享设备驱动服务层,共享设备驱动服务层将摄像头虚拟控制指令发送给共享设备驱动实现层,共享设备驱动实现层将摄像头设备虚拟控制指令转化为摄像头设备物理控制指令,发送给类Linux驱动框架层,类Linux驱动框架层将摄像头设备物理控制指令转化为摄像头设备硬件控制指令,从而实现对摄像头设备的控制和数据传输。
本申请实施例中,还提供另一种设备调用方法,应用于如上述实施例所描述的虚拟化系统,该方法具体包括:运行在富执行环境REE中的第二应用响应于目标设备操作指令,调用运行在富执行环境REE内的目标驱动半虚拟化模块提供的目标设备接口;目标驱动半虚拟化模块将目标设备操作指令转换为目标设备虚拟控制指令,并发送给运行在可信执行环境TEE中的驱动虚拟主机;驱动虚拟主机将目标设备虚拟控制指令转化为目标设备物理控制指令,并通过复用通用驱动框架开发的共享设备驱动将目标设备物理控制指令转换为目标设备硬件控制指令,从而实现对目标设备的操作控制。
共享设备驱动可以是诸如GPU、摄像头、NFC、LCD等拥有庞大代码量和复杂协议栈的设备的驱动。目标设备可以是共享设备中的任意一个或多个。目标驱动半虚拟化模块是对应于目标设备的驱动半虚拟化模块,比如对应于摄像头设备的驱动半虚拟化模块和对应于NFC设备的驱动半虚拟化模块。
参考图2,第二应用运行在富执行环境REE中,其可以是诸如人脸应用等任意一种需要调用目标设备的应用程序。比如,当该人脸应用需要调用摄像头设备时,可以在该REE中调用对应于摄像头设备的驱动半虚拟化模块,也即目标驱动半虚拟化模块。该摄像头设备的驱动半虚拟化模块可以通过环境间的互联接口调用运行在可信执行环境TEE中的驱动虚拟主机。如上述实施例所描述,驱动虚拟主机是TEE内部负责共享驱动实现的一种特殊的虚拟机,此虚拟机复用通用驱动框架开发(比如Linux驱动框架)的共享设备驱动,驱动虚拟主机支持的共享设备包括该目标设备,因此,通过调用该驱动虚拟主机可以实现对目标设备的操作控制。
在一种可能的实施方式中,目标驱动半虚拟化模块还包括:针对目标设备的设备驱动实现层和设备驱动服务层,方法还包括:设备驱动服务层响应于第二应用的调用操作,获取目标设备操作指令,并将目标设备操作指令发送给设备驱动实现层;设备驱动实现层将目标设备操作指令转换为对应的目标设备虚拟控制指令,并通过环境交互接口发送给驱动虚拟主机;其中,环境交互接口用于实现富执行环境REE和可信执行环境TEE之间的信息交互。
环境交互接口可以包括如图3中所示的TEE接口和TEE交互接口。
在一种可能的实施方式中,该驱动虚拟主机还包括:至少针对目标设备的共享设备驱动服务层、共享设备驱动实现层和驱动框架层,方法还包括:共享设备驱动服务层接收目标设备虚拟控制指令,将目标设备虚拟控制指令发送给对应于目标设备的设备驱动实现层;共享设备驱动实现层将目标设备虚拟控制指令转化为目标设备物理控制指令,发送给驱动框架层;驱动框架层将目标设备物理控制指令转化为目标设备硬件控制指令,从而实现对目标设备的控制操作。
在一些可能的实施方式中,通用驱动框架为Linux驱动框架或其他操作系统驱动框架。
需要说明的是,本申请实施例中的设备调用方法可以实现前述虚拟化系统的实施例的各个过程,并达到相同的效果和功能,这里不再赘述。
在一个示例中,以第二应用是人脸应用且目标设备是摄像头设备为例进行描述,人脸应用可以是任何一种需要对人脸图像进行处理的应用程序。可以理解,人脸应用在使用过程中可能需要调用摄像头设备来获取人脸图像以执行图像处理。此时,若REE中的第二应用需要调用摄像头设备时,可以调用该REE内的目标驱动半虚拟化模块(也即针对摄像头设备的驱动半虚拟化模块)中的摄像头设备驱动服务层提供的摄像头设备接口(API),摄像头设备驱动服务层将摄像头接口对应的摄像头设备操作指令发送给该目标驱动半虚拟化模块的摄像头设备驱动实现层,目标驱动半虚拟化模块的摄像头设备驱动实现层将摄像头设备操作指令转换为对应的摄像头设备虚拟控制指令,通过环境交互接口发送给TEE中的驱动虚拟主机中的共享设备驱动服务层,共享设备驱动服务层将摄像头虚拟控制指令发送给共享设备驱动实现层,共享设备驱动实现层将摄像头设备虚拟控制指令转化为摄像头设备物理控制指令,发送给类Linux驱动框架层,类Linux驱动框架层将摄像头设备物理控制指令转化为摄像头设备硬件控制指令,从而实现对摄像头设备的控制和数据传输。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
关于本申请实施例的方法流程图,将某些操作描述为以一定顺序执行的不同的步骤。这样的流程图属于说明性的而非限制性的。可以将在本文中所描述的某些步骤分组在一起并且在单个操作中执行、可以将某些步骤分割成多个子步骤、并且可以以不同于在本文中所示出的顺序来执行某些步骤。可以由任何电路结构和/或有形机制(例如,由在计算机设备上运行的软件、硬件(例如,处理器或芯片实现的逻辑功能)等、和/或其任何组合)以任何方式来实现在流程图中所示出的各个步骤。
图5为根据本申请一实施例的面向可信执行环境的虚拟化装置,用于执行图4所示出的虚拟化方法,该装置包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例所述的方法。
根据本申请的一些实施例,提供了面向可信执行环境的虚拟化方法的非易失性计算机存储介质,其上存储有计算机可执行指令,该计算机可执行指令设置为在由处理器运行时执行:上述实施例所述的方法。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以其描述进行了简化,相关之处可参见方法实施例的部分说明即可。
本申请实施例提供的装置、设备和计算机可读存储介质与方法是一一对应的,因此,装置、设备和计算机可读存储介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述装置、设备和计算机可读存储介质的有益技术效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (19)

1.一种面向可信执行环境的虚拟化系统,其特征在于,所述系统包括:
驱动虚拟主机,运行在可信执行环境TEE中,用于在所述可信执行环境TEE内部复用通用驱动框架开发的共享设备驱动,以在所述可信执行环境TEE中提供共享驱动服务;
至少一个驱动半虚拟化模块,运行在富执行环境REE中和/或所述可执行环境TEE中的TEE虚拟机中,用于调用所述驱动虚拟主机提供的所述共享驱动服务,并基于所述共享驱动服务在所述富执行环境REE中和/或所述TEE虚拟机中提供对应的设备驱动服务。
2.根据权利要求1所述的系统,其特征在于,所述虚拟化实现系统,还包括:
虚拟机安全通信模块,运行在所述可信执行环境TEE的操作系统中,用于为运行在所述TEE虚拟机中所述虚拟驱动主机和所述驱动半虚拟化模块提供安全通信服务。
3.根据权利要求1所述的系统,其特征在于,所述驱动虚拟主机,还包括:
驱动框架层,用于提供兼容所述通用驱动框架的设备驱动基础服务,以支撑基于所述通用驱动框架开发的共享设备驱动的基础运行环境;
共享设备驱动实现层,用于完成基于所述通用驱动框架开发的共享设备的驱动实现;
共享设备驱动服务层,用于基于所述共享设备驱动实现层提供的针对所述共享设备的功能为所述驱动半虚拟化模块提供所述共享驱动服务。
4.根据权利要求3所述的系统,其特征在于,所述驱动半虚拟化模块,还包括:
设备驱动实现层,用于调用所述共享设备驱动服务层提供的所述共享驱动服务,基于所述共享驱动服务为所述富执行环境REE和/或所述TEE虚拟机中的对应设备提供基础功能支撑,以完成所述对应设备的驱动实现;
设备驱动服务层,用于基于所述设备驱动实现层提供的所述对应设备的功能服务,向所述富执行环境REE和/或所述TEE虚拟机提供所述对应的设备驱动服务。
5.根据权利要求1所述的系统,其特征在于,所述共享驱动服务包括以下中的至少一种:GPU、摄像头、LCD。
6.根据权利要求1所述的系统,其特征在于,所述通用驱动框架为Linux驱动框架或或其他操作系统驱动框架。
7.一种面向可信执行环境的虚拟化方法,其特征在于,应用于如权利要求1-6中任意一项所述的虚拟化实现系统,所述方法包括:
运行在可信执行环境TEE中的驱动虚拟主机在所述可信执行环境TEE内部复用通用驱动框架开发的共享设备驱动,以在所述可信执行环境TEE中提供共享驱动服务;
运行在富执行环境REE中和/或所述可执行环境TEE中的TEE虚拟机中的至少一个驱动半虚拟化模块调用所述驱动虚拟主机提供的所述共享驱动服务,并基于所述共享驱动服务在所述富执行环境REE中和/或所述TEE虚拟机中提供对应的设备驱动服务。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
利用运行在所述可信执行环境TEE的操作系统中虚拟机安全通信模块在运行在所述TEE虚拟机中所述虚拟驱动主机和所述驱动半虚拟化模块之间提供安全通信服务。
9.根据权利要求7所述的方法,其特征在于,所述驱动虚拟主机包括驱动框架层、共享设备驱动实现层和共享设备驱动服务层,所述方法还包括:
所述驱动框架层提供兼容所述通用驱动框架的设备驱动基础服务,以支撑基于所述通用驱动框架开发的共享设备驱动的基础运行环境;
所述共享设备驱动实现层执行基于所述通用驱动框架开发的共享设备的驱动实现;
所述共享设备驱动服务层基于所述共享设备驱动实现层提供的针对所述共享设备的功能为所述驱动半虚拟化模块提供所述共享驱动服务。
10.根据权利要求9所述的方法,其特征在于,所述驱动半虚拟化模块包括设备驱动实现层和设备驱动服务层,所述方法还包括:
所述设备驱动实现层调用所述共享设备驱动服务层提供的所述共享驱动服务,基于所述共享驱动服务为所述富执行环境REE和/或所述TEE虚拟机中的对应设备提供基础功能支撑,以完成所述对应设备的驱动实现;
所述设备驱动服务层基于所述设备驱动实现层提供的所述对应设备的功能服务,向所述富执行环境REE和/或所述TEE虚拟机提供所述对应的设备驱动服务。
11.根据权利要求7所述的方法,其特征在于,所述共享驱动服务包括以下中的至少一种:GPU、摄像头、LCD。
12.根据权利要求7所述的方法,其特征在于,所述通用驱动框架为Linux驱动框架或其他操作系统驱动框架。
13.一种设备调用方法,其特征在于,应用于如权利要求1-6中任一项所述的虚拟化系统,包括:
运行在可信执行环境TEE中的任意一个TEE虚拟机内的第一应用响应于目标设备操作指令,调用运行在所述任意一个TEE虚拟机内的目标驱动半虚拟化模块提供的目标设备接口;
所述目标驱动半虚拟化模块将所述目标设备操作指令转换为目标设备虚拟控制指令,并发送给运行在所述可信执行环境中的驱动虚拟主机;
所述驱动虚拟主机将所述目标设备虚拟控制指令转化为目标设备物理控制指令,并通过复用通用驱动框架开发的共享设备驱动将所述目标设备物理控制指令转换为目标设备硬件控制指令,从而实现对所述目标设备的操作控制。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
所述目标驱动半虚拟化模块将所述目标设备虚拟控制指令发送给运行在所述可信执行环境TEE的操作系统中的虚拟机安全通信模块;
所述虚拟机安全通信模块将所述目标设备虚拟控制指令转发给所述驱动虚拟主机。
15.根据权利要求14所述的方法,其特征在于,所述目标驱动半虚拟化模块还包括:针对所述目标设备的设备驱动实现层和设备驱动服务层,所述方法还包括:
所述设备驱动服务层响应于所述第一应用的调用操作,获取所述目标设备操作指令,并将所述目标设备操作指令发送给所述设备驱动实现层;
所述设备驱动实现层将所述目标设备操作指令转换为对应的目标设备虚拟控制指令,并发送给运行在所述可信执行环境TEE的操作系统中的虚拟机安全通信模块。
16.根据权利要求13-15中任意一项所述的方法,其特征在于,所述驱动虚拟主机还包括:对应于所述目标设备的共享设备驱动服务层、共享设备驱动实现层和驱动框架层,所述方法还包括:
所述共享设备驱动服务层接收所述目标设备虚拟控制指令,将所述目标设备虚拟控制指令发送给所述共享设备驱动实现层;
所述共享设备驱动实现层将所述目标设备虚拟控制指令转化为所述目标设备物理控制指令,发送给所述驱动框架层;
所述驱动框架层将所述目标设备物理控制指令转化为目标设备硬件控制指令,从而实现对所述目标设备的控制操作。
17.一种设备调用方法,其特征在于,应用于如权利要求1-6中任一项所述的虚拟化系统,所述方法包括:
运行在富执行环境REE中的第二应用响应于目标设备操作指令,调用运行在所述富执行环境REE内的目标驱动半虚拟化模块提供的目标设备接口;
所述目标驱动半虚拟化模块将所述目标设备操作指令转换为目标设备虚拟控制指令,并发送给运行在所述可信执行环境TEE中的驱动虚拟主机;
所述驱动虚拟主机将所述目标设备虚拟控制指令转化为目标设备物理控制指令,并通过复用通用驱动框架开发的共享设备驱动将所述目标设备物理控制指令转换为目标设备硬件控制指令,从而实现对所述目标设备的操作控制。
18.根据权利要求17所述的方法,其特征在于,所述目标驱动半虚拟化模块还包括:针对所述目标设备的设备驱动实现层和设备驱动服务层,所述方法还包括:
所述设备驱动服务层响应于所述第二应用的调用操作,获取所述目标设备操作指令,并将所述目标设备操作指令发送给所述设备驱动实现层;
所述设备驱动实现层将所述目标设备操作指令转换为对应的目标设备虚拟控制指令,并通过环境交互接口发送给所述驱动虚拟主机;
其中,所述环境交互接口用于实现所述富执行环境REE和所述可信执行环境TEE之间的信息交互。
19.根据权利要求17或18所述的方法,其特征在于,所述驱动虚拟主机还包括:至少针对所述目标设备的共享设备驱动服务层、共享设备驱动实现层和驱动框架层,所述方法还包括:
所述共享设备驱动服务层接收所述目标设备虚拟控制指令,将所述目标设备虚拟控制指令发送给对应于所述目标设备的设备驱动实现层;
所述共享设备驱动实现层将所述目标设备虚拟控制指令转化为所述目标设备物理控制指令,发送给所述驱动框架层;
所述驱动框架层将所述目标设备物理控制指令转化为目标设备硬件控制指令,从而实现对所述目标设备的控制操作。
CN202110178416.2A 2021-02-09 2021-02-09 面向可信执行环境的虚拟化系统、方法和设备调用方法 Pending CN112817697A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110178416.2A CN112817697A (zh) 2021-02-09 2021-02-09 面向可信执行环境的虚拟化系统、方法和设备调用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110178416.2A CN112817697A (zh) 2021-02-09 2021-02-09 面向可信执行环境的虚拟化系统、方法和设备调用方法

Publications (1)

Publication Number Publication Date
CN112817697A true CN112817697A (zh) 2021-05-18

Family

ID=75864657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110178416.2A Pending CN112817697A (zh) 2021-02-09 2021-02-09 面向可信执行环境的虚拟化系统、方法和设备调用方法

Country Status (1)

Country Link
CN (1) CN112817697A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114625484A (zh) * 2022-03-31 2022-06-14 苏州浪潮智能科技有限公司 虚拟化实现方法、装置、电子设备、介质及arm平台
CN115017497A (zh) * 2021-11-24 2022-09-06 荣耀终端有限公司 信息处理方法、装置及存储介质
CN116049813A (zh) * 2022-07-29 2023-05-02 荣耀终端有限公司 基于可信执行环境的触屏数据处理方法、设备及存储介质
WO2024075929A1 (ko) * 2022-10-04 2024-04-11 삼성전자 주식회사 신뢰 실행 환경을 제공하기 위한 전자 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100031325A1 (en) * 2006-12-22 2010-02-04 Virtuallogix Sa System for enabling multiple execution environments to share a device
WO2016168487A1 (en) * 2015-04-14 2016-10-20 Gigavation, Inc. Paravirtualized security threat protection of a computer-driven system with networked devices
CN106548077A (zh) * 2016-10-19 2017-03-29 沈阳微可信科技有限公司 通信系统和电子设备
US20180113730A1 (en) * 2016-10-25 2018-04-26 Microsoft Technology Licensing Llc Secure service hosted in a virtual security environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100031325A1 (en) * 2006-12-22 2010-02-04 Virtuallogix Sa System for enabling multiple execution environments to share a device
WO2016168487A1 (en) * 2015-04-14 2016-10-20 Gigavation, Inc. Paravirtualized security threat protection of a computer-driven system with networked devices
CN106548077A (zh) * 2016-10-19 2017-03-29 沈阳微可信科技有限公司 通信系统和电子设备
US20180113730A1 (en) * 2016-10-25 2018-04-26 Microsoft Technology Licensing Llc Secure service hosted in a virtual security environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄勇军等: "智能终端虚拟化及安全隔离技术", 电信科学, no. 02, 20 February 2018 (2018-02-20) *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115017497A (zh) * 2021-11-24 2022-09-06 荣耀终端有限公司 信息处理方法、装置及存储介质
CN114625484A (zh) * 2022-03-31 2022-06-14 苏州浪潮智能科技有限公司 虚拟化实现方法、装置、电子设备、介质及arm平台
CN116049813A (zh) * 2022-07-29 2023-05-02 荣耀终端有限公司 基于可信执行环境的触屏数据处理方法、设备及存储介质
CN116049813B (zh) * 2022-07-29 2023-10-20 荣耀终端有限公司 基于可信执行环境的触屏数据处理方法、设备及存储介质
WO2024075929A1 (ko) * 2022-10-04 2024-04-11 삼성전자 주식회사 신뢰 실행 환경을 제공하기 위한 전자 장치

Similar Documents

Publication Publication Date Title
CN112817697A (zh) 面向可信执行环境的虚拟化系统、方法和设备调用方法
EP2248014B1 (en) Selective exposure to usb device functionality for a virtual machine
EP2479666B1 (en) Methods and systems to display platform graphics during operating system initialization
WO2018119951A1 (zh) Gpu虚拟化方法、装置、系统及电子设备、计算机程序产品
EP3571586B1 (en) Dynamic and application-specific virtualized graphics processing
US9720712B2 (en) Physical/virtual device failover with a shared backend
US8978051B2 (en) Method and apparatus for displaying application image
EP4033724B1 (en) Account number binding method, device and system
CN106797388B (zh) 跨系统多媒体数据编解码方法、装置、电子设备和计算机程序产品
US9529617B2 (en) Instant virtual machines
CN109725977B (zh) 一种基于Android系统的多应用显示方法及终端设备
CN114499945B (zh) 一种虚拟机的入侵检测方法及装置
EP4303725A1 (en) Method and device for identifying android system drawing thread, and mobile terminal and storage medium
US10318343B2 (en) Migration methods and apparatuses for migrating virtual machine including locally stored and shared data
CN110545415A (zh) 数据传输方法、装置及服务器
CN109582453A (zh) 多系统间协调调度的方法、装置及电子设备
CN109710352A (zh) 一种开机动画的显示方法及装置
CN111399928B (zh) 应用程序的启动方法、装置、电子设备及可读存储介质
CN103678214A (zh) 系统控制台重定向方法及显示设备
EP3198406B1 (en) Facilitation of guest application display from host operating system
CN109522111A (zh) 异构生态系统的调用方法、装置、电子设备及存储介质
CN115629809A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN111258715B (zh) 多操作系统渲染处理方法及装置
CN117992189A (zh) 多系统下的窗口实现方法及电子设备
TWI556167B (zh) 用於多重本機軟體應用程式使用者介面組成之系統及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination