WO2017133203A1 - 一种执行环境的虚拟化、虚拟执行环境的访问方法及装置 - Google Patents

一种执行环境的虚拟化、虚拟执行环境的访问方法及装置 Download PDF

Info

Publication number
WO2017133203A1
WO2017133203A1 PCT/CN2016/092025 CN2016092025W WO2017133203A1 WO 2017133203 A1 WO2017133203 A1 WO 2017133203A1 CN 2016092025 W CN2016092025 W CN 2016092025W WO 2017133203 A1 WO2017133203 A1 WO 2017133203A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual machine
memory
trusted
execution environment
user
Prior art date
Application number
PCT/CN2016/092025
Other languages
English (en)
French (fr)
Inventor
华志超
夏虞斌
陈海波
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2017133203A1 publication Critical patent/WO2017133203A1/zh
Priority to US16/043,124 priority Critical patent/US11321452B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • 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/45583Memory management, e.g. access or allocation
    • 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/45587Isolation or security of virtual machine instances
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/151Emulated environment, e.g. virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/656Address space sharing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Abstract

本发明公开一种执行环境的虚拟化方法,所述方法应用于移动终端,所述移动终端具有硬件提供的普通执行环境;在所述普通执行环境中为用户建立普通虚拟机和可信虚拟机,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用;为所述普通虚拟机和所述可信虚拟机进行内存分配,并建立所述普通虚拟机的普通内存与物理内存的映射关系得到第一内存映射表;建立所述可信虚拟机的虚拟物理内存与物理内存的映射关系得到第二内存映射表。本发明利用两台虚拟机为用户模拟普通执行环境和可信执行环境,使得普通应用和安全应用运行于独立的执行环境中,达到安全应用和普通应用的执行环境隔离,保证用户数据安全。

Description

一种执行环境的虚拟化、虚拟执行环境的访问方法及装置
本申请要求于2016年2月3日提交中国专利局、申请号为201610075968.X、发明名称为“一种执行环境的虚拟化、虚拟执行环境的访问方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及虚拟化技术领域,具体涉及一种执行环境的虚拟化、虚拟执行环境的访问方法及装置。
背景技术
随着移动终端的日益普及,越来越多与用户隐私密切相关的数据被储存于其中,这也使得人们愈发关注移动终端的安全性。现有一种主流的安全解决方案是利用硬件提供的可信执行环境将移动终端中运行的安全应用与普通应用隔离,即将安全应用在移动终端的硬件提供的可信执行环境中运行,而普通应用则在移动终端的硬件提供的普通执行环境中运行。硬件级别的隔离能够有效保证可信执行环境中的安全应用免受恶意应用的“骚扰”。
随着移动终端性能的提升,移动终端中的虚拟化系统愈发的成熟,然而移动终端中硬件提供的可信执行环境却没有适应愈发完善的虚拟化系统。事实上,由于移动终端硬件仅提供了一个可信执行环境,但是该移动终端上可能配置了多台虚拟机,因此该移动终端上的所有虚拟机用户不得不共享同一个可信执行环境,也就是说,所有虚拟机用户的安全应用要在同一个可信执行环境中运行。显然,这完全丧失了可信执行环境为安全应用提供安全执行环境的本质功能。一旦移动终端中存在恶意虚拟机用户用,该恶意虚拟机用户能够轻易通过共享的可信执行环境窃取其他虚拟机用户的隐私数据。
因此,如何在移动终端中的虚拟化系统中为各个虚拟机用户提供一个独立、安全的可信执行环境,已经成为了一个亟需解决的问题。发明内容
本发明提供了一种执行环境的虚拟化方法,能够分别为各个虚拟机用户提供一个独立、安全的可信执行环境,保证用户的数据安全。
为了解决以上技术问题,本发明的第一方面提供了一种执行环境的虚拟化方法,所述方法应用于移动终端,所述移动终端具有硬件提供的普通执行环境;所述移动终端中的虚拟机监视器在所述普通执行环境中为用户建立普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用。同时,所述虚拟机监视器为所述普通虚拟机和所述可信虚拟机分配相同大小的虚拟物理内存,其中,所述普通虚拟机的虚拟物理内存包括普通内存和安全内存;所述可信虚拟机的虚拟物理内存包括普通内存和安全内存;所述普通虚拟机的普通内存与所述可信虚拟机的普通内存大小相同。建立所述普通虚拟机的普通内存与物理内存的映射关系,并将所述普通虚拟机的普通内存与物理内存的映射关系存储在第一内存映射表中,以使得所述普通虚拟机根据所述第一内存映射表访问所述普通虚拟机的普通内存。建立所述可信虚拟机的虚拟物理内存与物理内存的映射关系,并将所述可信虚拟机的虚拟物理内存与物理内存的映射关系存储在第二内存映射表中,以使得所述可信虚拟机根据所述第二内存映射表访问所述可信虚拟机的安全内存和普通内存;其中,所述可信虚拟机的普通内存映射的物理内存与所述普通虚拟机的普通内存映射的物理内存相同。
结合第一方面,可选的,本发明利用普通虚拟机和可信虚拟机为一个用户分别模拟移动终端硬件提供的普通执行环境和可信执行环境,以便所述用户的普通应用和安全应用可以在普通虚拟机和可信虚拟机上分别运行,达到安全应用与普通应用的执行环境隔离的效果,保证用户的数据安全。另外,本发明还通过模拟移动终端硬件提供的执行环境的内存访问情况,为所述用户的普通虚拟机和可信虚拟机进行内存的分配,并生成第一内存映射表和第二内存映射表,其中,所述用户的普通虚拟机和可信虚拟机可以访问普通内存对应的物理内存,但是普通虚拟机不能访问可信虚拟机的安全内存对应的物理内存,也实现运行于可信虚拟机和普通虚拟机的应用的隔离。
结合第一方面,需要指出的是,本发明提供的执行环境的虚拟化方法还为所述用户建立并维护设备访问权限表和中断处理权限表,其中,所述设备访问权限表用于存储所述用户的普通虚拟机和可信虚拟机分别能够访问的设备;所述中断处理权限表用于存储所述用户的普通虚拟机和可信虚拟机分别 负责处理的中断类型。
通过为各个用户建立并维护设备访问权限表和中断处理权限表,预先设置各个用户的普通虚拟机和可信虚拟机分别能够访问的设备,以及用户的普通虚拟机和可信虚拟机分别负责处理的中断类型。
结合第一方面,本发明提供的执行环境的虚拟化方法分别将所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件和所述中断处理权限表的合法修改条件以及虚拟机监视器的页表的合法修改条件存储于安全模块,所述安全模块位于所述移动终端硬件提供的可信执行环境中,所述可信虚拟机可对所述安全模块进行操作。
本发明提供的执行环境的虚拟化方法中,所述安全模块存储的所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件和所述中断处理权限表的合法修改条件均可以包括发送修改请求的虚拟机为可信虚拟机;同时,所述合法修改条件还包括所述虚拟机发送的修改请求是对所述虚拟机所属用户的第一内存映射表、第二内存映射表、设备访问权限表或中断处理权限表进行的修改。
本发明利用设置于移动终端硬件提供的安全模块存储所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件和所述中断处理权限表的合法修改条件以及虚拟机监视器的页表的合法修改条件,对修改请求的合法性进行验证,防止用户的数据被恶意修改,进一步保证了用户数据的安全。
本发明的第二方面提供了一种虚拟执行环境的访问方法,其中,所述方法应用于移动终端,所述移动终端具有硬件提供的普通执行环境,所述普通执行环境中运行有两台与预设用户相关联的虚拟机,分别为普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用。所述移动终端的虚拟机监视器截获用户在普通虚拟机或可信虚拟机中执行的环境切换指令;并根据所述环境切换指令,确定所述用户需要切换的目标虚拟机;保存所述用户当前使用的虚拟机 的执行状态信息;读取并恢复所述目标虚拟机的执行状态信息。
结合第二方面,需要指出的是,本发明为各个用户的可信虚拟机和普通虚拟机模拟移动终端硬件提供的可信执行环境和普通执行环境的执行环境切换过程,为用户的安全应用和普通应用提供相互独立的执行环境,保证数据信息的安全。
结合第二方面,本发明提供的虚拟执行环境的访问方法中,所述虚拟机监视器在截获所述环境切换指令后,查询与所述用户相关联的两台虚拟机,其中一台为当前使用的虚拟机,另一台则为所述用户需要切换的目标虚拟机。
本发明提供的虚拟执行环境的访问方法中,虚拟机监视器接收来自所述普通虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存。在预设的第一内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求,否则提示访问异常。
虚拟机监视器接收来自所述可信虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存;在预设的第二内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求,否则提示访问异常。
虚拟机监视器接收来自任一虚拟机的设备访问请求,所述设备访问请求携带设备标识;在预设的设备访问权限表中查询所述虚拟机是否能够访问所述设备标识对应的设备;如果确定所述虚拟机能够访问所述设备标识对应的设备,则完成所述设备访问请求,否则提示访问异常。
虚拟机监视器接收任一中断处理请求,所述中断处理请求携带中断类型;在预设的中断处理权限表中查询负责处理所述中断类型的虚拟机,并将所述中断处理请求分配至所述虚拟机进行处理。
结合第二方面,可选的,本发明中的移动终端还具有硬件提供的可信执行环境,所述可信执行环境中设置有安全模块。所述虚拟机监视器接收来自任一虚拟机的修改请求,所述修改请求为对预设的第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表或虚拟机监视器的页表的修改请求;将所述修改请求转发至位于可信执行环境中的安全模块,由所述安全 模块判断所述修改请求是否符合所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件、所述中断处理权限表的合法修改条件或虚拟机监视器的页表的合法修改条件,并在确定符合任一合法修改条件时,允许所述修改请求;其中,所述合法修改条件包括发送所述修改请求的虚拟机为可信虚拟机。
本发明的第二方面提供的虚拟执行环境的访问方法通过在移动终端硬件提供的可信执行环境中设置安全模块为用户的数据安全提供进一步的保证,安全模块通过对修改请求的合法性判断,避免恶意程序对用户的数据信息的非法修改,保证用户数据安全。
本发明的第三方面提供了一种执行环境的虚拟化装置,所述装置应用于移动终端,所述移动终端具有硬件提供的普通执行环境;所述装置包括:第一建立模块,用于在所述普通执行环境中为用户建立普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用;分配模块,用于为所述普通虚拟机和所述可信虚拟机分配相同大小的虚拟物理内存,其中,所述普通虚拟机的虚拟物理内存包括普通内存和安全内存;所述可信虚拟机的虚拟物理内存包括普通内存和安全内存;所述普通虚拟机的普通内存与所述可信虚拟机的普通内容大小相同;第二建立模块,用于建立所述普通虚拟机的普通内存与物理内存的映射关系,并将所述普通虚拟机的普通内存与物理内存的映射关系存储在第一内存映射表中,以使得所述普通虚拟机根据所述第一内存映射表访问所述普通虚拟机的普通内存;第三建立模块,用于建立所述可信虚拟机的虚拟物理内存与物理内存的映射关系,并将所述可信虚拟机的虚拟物理内存与物理内存的映射关系存储在第二内存映射表中,以使得所述可信虚拟机根据所述第二内存映射表访问所述可信虚拟机的安全内存和普通内存;其中,所述可信虚拟机的普通内存映射的物理内存与所述普通虚拟机的普通内存映射的物理内存相同。
本发明的第三方面提供的执行环境的虚拟化装置利用可信虚拟机和普通虚拟机模拟移动终端硬件提供的可信执行环境和普通执行环境,为虚拟机用户的安全应用和普通应用提供相互隔离的执行环境,保证安全应用的数据安 全。
结合第三方面,本发明提供的执行环境的虚拟化装置还包括:第四建立模块,用于为所述用户建立并维护设备访问权限表和中断处理权限表,其中,所述设备访问权限表用于存储所述用户的普通虚拟机和可信虚拟机分别能够访问的设备;所述中断处理权限表用于存储所述用户的普通虚拟机和可信虚拟机分别负责处理的中断类型。
本发明的移动终端具有硬件提供的可信执行环境,所述可信执行环境中设置有安全模块。本发明提供的执行环境的虚拟化装置还包括:存储模块,用于分别将所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件和所述中断处理权限表的合法修改条件以及虚拟机监视器的页表的合法修改条件存储于安全模块,所述安全模块位于所述可信执行环境中,所述可信虚拟机可对所述安全模块进行操作。
本发明的第四方面提供了一种虚拟执行环境的访问装置,所述装置应用于移动终端,所述移动终端具有硬件提供的普通执行环境,所述普通执行环境中运行有两台与预设用户相关联的虚拟机,分别为普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用;所述装置包括:截获模块,用于截获用户在普通虚拟机或可信虚拟机中执行的环境切换指令;确定模块,用于根据所述环境切换指令,确定所述用户需要切换的目标虚拟机;保存模块,用于保存所述用户当前使用的虚拟机的执行状态信息;读取模块,用于读取并恢复所述目标虚拟机的执行状态信息。
本发明的第四方面提供的虚拟执行环境的访问装置为一个用户的可信虚拟机和普通虚拟机模拟移动终端硬件提供的可信执行环境和普通执行环境的执行环境切换过程,为用户的安全应用和普通应用提供相互独立的执行环境,保证用户的数据信息安全。
本发明的第四方面提供的虚拟执行环境的访问装置中的确定模块,具体用于在截获所述环境切换指令后,查询与所述用户相关联的两台虚拟机,其中一台为当前使用的虚拟机,将另一台虚拟机则确定为所述用户需要切换的 目标虚拟机。
结合第四方面,可选的,本发明提供的虚拟执行环境的访问装置还包括:第一接收模块,用于接收来自所述普通虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存;第一查询模块,用于在预设的第一内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求,否则提示访问异常。
结合第四方面,需要指出的是,本发明提供的虚拟执行环境的访问装置还包括:第二接收模块,用于接收来自所述可信虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存;第二查询模块,用于在预设的第二内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求,否则提示访问异常。
本发明提供的虚拟执行环境的访问装置还包括:第三接收模块,用于接收来自任一虚拟机的访问请求,所述访问请求携带设备标识;第三查询模块,用于在预设的设备访问权限表中查询所述虚拟机是否能够访问所述设备标识对应的设备;如果确定所述虚拟机能够访问所述设备标识对应的设备,则完成所述访问请求,否则提示访问异常。
本发明提供的虚拟执行环境的访问装置还包括:第四接收模块,用于接收任一中断处理请求,所述中断处理请求携带中断类型;第四查询模块,用于在预设的中断处理权限表中查询负责处理所述中断类型的虚拟机,并将所述中断处理请求分配至所述虚拟机进行处理。
本发明的移动终端具有硬件提供的可信执行环境,所述可信执行环境中设置有安全模块。本发明提供的虚拟执行环境的访问装置还包括:第五接收模块,用于接收来自任一虚拟机的修改请求,所述修改请求为对预设的第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表或虚拟机监视器的页表的修改请求;转发模块,用于将所述修改请求转发至位于可信执行环境中的安全模块,由所述安全模块判断所述修改请求是否符合所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件、所述中断处理权限表的合法修改条件或虚拟机监视器的页表的合法修改条件,并在确定符合任一合法修改条件时,允 许所述修改请求;其中,所述合法修改条件包括发送所述修改请求的虚拟机为可信虚拟机。
本发明提供的虚拟执行环境的访问装置中的所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件和所述中断处理权限表的合法修改条件均可以包括发送修改请求的虚拟机为可信虚拟机;同时,所述合法修改条件还包括所述虚拟机发送的修改请求是对所述虚拟机所属用户的第一内存映射表、第二内存映射表、设备访问权限表或中断处理权限表进行的修改。
本发明提供的虚拟执行环境的访问装置在可信执行环境中设置的安全模块通过对修改请求的合法性判断,避免恶意程序对用户的数据信息的非法修改,保证用户的数据安全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的执行环境的虚拟化的架构示意图;
图2是本发明实施例提供的为虚拟机用户的普通虚拟机和可信虚拟机进行内存分配的示意图;
图3是本发明实施例提供的一种执行环境的虚拟化方法流程图;
图4是本发明实施例提供的一种虚拟执行环境的访问方法流程图;
图5是本发明实施例提供的一种对虚拟执行环境中的第一内存映射表的访问方法流程图;
图6是本发明实施例提供的一种对虚拟执行环境中的第二内存映射表的访问方法流程图;
图7是本发明实施例提供的一种对虚拟执行环境中的设备访问权限表的访问方法流程图;
图8是本发明实施例提供的一种对虚拟执行环境中的中断处理权限表的 访问方法流程图;
图9是本发明实施例提供的一种分别针对预设的第一内存映射表、第二内存映射表、设备访问权限表和中断处理权限表的修改处理方法流程图;
图10是本发明实施例提供的一种执行环境的虚拟化装置的结构示意图;
图11是本发明实施例提供的一种虚拟执行环境的访问装置的结构示意图;
图12是本发明实施例提供的一种执行环境的虚拟化装置的硬件结构示意图;
图13是本发明实施例提供的一种虚拟执行环境的访问装置的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
移动终端具有硬件提供的可信执行环境和普通执行环境,为了保证用户的安全应用的数据安全性,将对数据安全要求较高的安全应用单独运行于所述可信执行环境中,而将普通应用运行于与所述可信执行环境隔离开的普通执行环境中。然而,由于目前的移动终端硬件仅能为配置的多台虚拟机提供一个可信执行环境,因此,该移动终端上的所有虚拟机用户不得不共享同一个可信执行环境,用于运行各自的安全应用。但是这完全丧失了可信执行环境为安全应用提供安全执行环境的本质功能,一旦移动终端中存在恶意虚拟机用户,该恶意虚拟机用户能够轻易通过共享的可信执行环境窃取其他虚拟机用户的隐私数据。
如图1所示,图1为本发明实施例提供的执行环境的虚拟化的架构示意图。其中,本发明提供的执行环境虚拟化方法应用于移动终端,如智能手机、平板电脑等,所述移动终端具有硬件提供的普通执行环境和可信执行环境。本发明分别利用两台虚拟机为该移动终端上的各个虚拟机用户模拟硬件提供的可信执行环境和普通执行环境,所述两台虚拟机分别为可信虚拟机和普通虚拟机。如图1所示,用户1配置有普通虚拟机-1和可信虚拟机-1;用户2配置有 普通虚拟机-2和可信虚拟机-2。由于每个虚拟机用户拥有独立的可信虚拟机用于执行各自的安全应用,所以本发明能够实现每个虚拟机用户的安全应用的执行环境之间的隔离,避免了恶意虚拟机用户通过共享的可信执行环境窃取其他虚拟机用户的隐私数据的威胁。
另外,移动终端的普通执行环境中运行有虚拟机监视器,所述虚拟机监视器包括执行环境虚拟模块、执行环境调度模块、内存管理模块和外部设备管理模块。所述执行环境虚拟模块用于为所述移动终端的各个虚拟机用户建立普通虚拟机和可信虚拟机,并对其进行维护和管理,具体包括对普通虚拟机与可信虚拟机的初始化、系统状态维护以及保证两者之间的关联关系等。
所述执行环境调度模块用于通过下陷的方式截获用户在普通虚拟机或可信虚拟机中执行的环境切换指令,并通过查询所述执行环境虚拟模块维护的用户与普通虚拟机、可信虚拟机的关联关系,确定所述用户需要切换的目标虚拟机,并进行执行环境的切换。具体为,保存所述用户当前使用的虚拟机的执行状态信息;读取并恢复所述目标虚拟机的执行状态信息。为了保证被所述执行环境调度模块切换出去的虚拟机,只有所述用户再次执行所述环境切换指令时才能被再次执行,所述执行环境调度模块标记所述被切换出去的虚拟机,以使所述执行环境调度模块在进行执行环境切换时不会选择标记的虚拟机。
本发明通过模拟移动终端硬件提供的可信执行环境和普通执行环境的内存分配情况,为各个用户的可信虚拟机和普通虚拟机进行内存的分配。具体的,利用所述内存管理模块为各个虚拟机用户的可信虚拟机和普通虚拟机进行内存的分配。如图2所示,图2为本发明提供的为虚拟机用户的普通虚拟机和可信虚拟机进行内存分配的示意图。其中,所述内存管理模块为属于一个用户的普通虚拟机和可信虚拟机分配相同大小的虚拟物理内存,其中,所述普通虚拟机的虚拟物理内存包括普通内存和安全内存;所述可信虚拟机的虚拟物理内存包括普通内存和安全内存;所述普通虚拟机的普通内存与所述可信虚拟机的普通内存大小相同。所述内存管理模块建立所述普通虚拟机的普通内存与物理内存的映射关系,所述可信虚拟机的虚拟物理内存与物理内存的映射关系。并将所述普通虚拟机的普通内存与物理内存的映射关系存储在 第一内存映射表中,将所述可信虚拟机的虚拟物理内存与物理内存的映射关系存储在第二内存映射表中,以使得所述普通虚拟机只能访问所述普通虚拟机的普通内存,所述可信虚拟机可访问全部的虚拟物理内存。另外,为了使得同一用户的普通虚拟机与可信虚拟机共享同样的普通内存,两台虚拟机的普通内存被映射至同一段真实的物理内存。
所述外部设备管理模块用于为各个虚拟机用户建立并维护设备访问权限表和中断处理权限表。其中,所述设备访问权限表用于存储所述用户的普通虚拟机和可信虚拟机分别能够访问的设备;所述中断处理权限表用于存储所述用户的普通虚拟机和可信虚拟机分别负责处理的中断类型。当所述外部设备管理模块接收到用户的虚拟机发出的设备访问请求时,在所述设备访问权限表中查询所述虚拟机是否能够访问该设备,如果确定能够访问,则完成所述设备访问请求;否则提示访问异常。另外,当所述外部设备管理模块接收到用户的虚拟机发出的中断处理请求时,在中断处理权限表中查询负责处理所述中断类型的虚拟机,并将所述中断处理请求分配至所述虚拟机进行处理。
本发明中的移动终端硬件提供了可信执行环境,所述可信执行环境中设置有安全模块,所述安全模块可以由TrustZone硬件架构中的处理器实现。利用移动终端硬件提供的隔离性,单独运行于所述可信执行环境中的安全模块不易被恶意程序破坏。同时,所述内存管理模块维护的所述第一内存映射表、所述第二内存映射表,以及所述外部设备管理模块维护的所述设备访问权限表和所述中断处理权限表作为关键管理数据存储于所述虚拟机监视器中。所述安全模块中预先存储了各个关键管理数据的合法修改条件,由所述安全模块完成任一对关键管理数据的修改请求的合法性验证,具体的,所述合法修改条件包括发出所述修改请求的虚拟机必须是可信虚拟机。在所述安全模块确定所述修改请求合法后,所述虚拟机监视器才能够完成所述修改请求。也就是说,存储于所述虚拟机监视器中的关键管理数据对于普通执行环境中的程序为只读格式,不能对其进行直接修改。
另外,为了防止恶意程序通过修改所述虚拟机监视器的代码的方式绕过所述安全模块的合法性验证步骤,本发明将所述虚拟机监视器的页表也标记为关键管理数据,只有通过所述安全模块的合法性验证后才能够对其进行修 改。其中,所述虚拟机监视器的页表包括所述虚拟机监视器的虚拟地址到真实物理地址的映射关系。本方法能够有效防止所述虚拟机监视器的代码遭受篡改,进一步保证了用户的数据安全。
本发明实施例提供了一种执行环境的虚拟化方法,参考图3,图3为本发明实施例提供的一种执行环境的虚拟化方法流程图,所述方法包括:
S301:在所述普通执行环境中为用户建立普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用。
本发明实施例提供的执行环境的虚拟化方法应用于移动终端,其中,移动终端具有硬件提供的普通执行环境和可信执行环境,本发明实施例提供的方法即是对所述普通执行环境和所述可信执行环境的虚拟化方法。
本发明实施例利用两台虚拟机(分别为普通虚拟机和可信虚拟机)为一个虚拟机用户模拟普通执行环境和可信执行环境。所述虚拟机用户的普通应用在普通虚拟机中执行,安全应用在可信虚拟机中执行,实现了所述用户的安全应用与普通应用的隔离。具体的,所述安全应用为对数据安全要求较高的应用,如涉及到交易、支付等的应用。
S302:为所述普通虚拟机和所述可信虚拟机分配相同大小的虚拟物理内存,其中,所述普通虚拟机的虚拟物理内存包括普通内存和安全内存;所述可信虚拟机的虚拟物理内存包括普通内存和安全内存;所述普通虚拟机的普通内存与所述可信虚拟机的普通内存大小相同。
基于移动终端具有的硬件提供的可信执行环境与普通执行环境的内存分配的特点,本发明实施例为用户的普通虚拟机和可信虚拟机分配相同大小的虚拟物理内存。同时,所述普通虚拟机和可信虚拟机具有的普通内存大小相同。
S303:建立所述普通虚拟机的普通内存与物理内存的映射关系,并将所述普通虚拟机的普通内存与物理内存的映射关系存储在第一内存映射表中,以使得所述普通虚拟机根据所述第一内存映射表访问所述普通虚拟机的普通内存。
S304:建立所述可信虚拟机的虚拟物理内存与物理内存的映射关系,并将所述可信虚拟机的虚拟物理内存与物理内存的映射关系存储在第二内存映射表中,以使得所述可信虚拟机根据所述第二内存映射表访问所述可信虚拟机的安全内存和普通内存;其中,所述可信虚拟机的普通内存映射的物理内存与所述普通虚拟机的普通内存映射的物理内存相同。
由于只有映射至真实的物理内存的虚拟物理内存才能够被正常访问,否则会出现访问异常。所以,本发明实施例将可信虚拟机的虚拟物理内存映射至真实的物理内存,使得所述可信虚拟机可访问所述可信虚拟机的普通内存和安全内存;另外,本发明实施例还将普通虚拟机的普通内存映射至真实的物理内存,而安全内存并未映射至真实的物理内存,使得所述普通虚拟机只能访问所述普通虚拟机的普通内存,而访问其安全内存时会出现访问异常。另外,由于一个用户的可信虚拟机和普通虚拟机具有关联关系,所以在内存分配的过程中,虚拟机监视器将普通虚拟机的普通内存和可信虚拟机的普通内存映射至同一块真实的物理内存上,完成一个用户的可信虚拟机和普通虚拟机在内存方面的关联关系的建立。
本发明实施例中,在建立普通虚拟机的普通内存与物理内存的映射关系时,产生第一内存映射表,用于存储所述普通虚拟机的普通内存和物理内存的映射关系。在建立可信虚拟机的虚拟物理内存与物理内存的映射关系时,产生第二内存映射表,用于存储所述可信虚拟机的虚拟物理内存与物理内存的映射关系。
本发明实施例提供的执行环境的虚拟化方法中,为各个用户建立并维护设备访问权限表和中断处理权限表。其中,所述设备访问权限表用于存储所述用户的普通虚拟机和可信虚拟机分别能够访问的设备;所述中断处理任务表用于存储所述用户的普通虚拟机和可信虚拟机分别负责处理的中断类型。
另外,为了加强移动终端中数据信息的安全性,本发明实施例中的第一内存映射表、第二内存映射表、设备访问权限表和中断处理权限表对于普通执行环境中的程序为只读格式,即普通执行环境中的程序不能直接对其进行修改。
本发明实施例在移动终端的硬件提供的可信执行环境中设置有安全模块,分别将所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件和所述中断处理权限表的合法修改条件存储于所述安全模块中。
另外,为了防止移动终端内的虚拟机监视器被恶意程序篡改,所以,将所述虚拟机监视器的页表也设置为对于普通执行环境中的程序为只读格式。同时,所述虚拟机监视器的页表的合法修改条件也存储于所述安全模块中。
本发明实施例提供的执行环境的虚拟化方法中,利用可信虚拟机和普通虚拟机模拟移动终端硬件提供的可信执行环境和普通执行环境,为虚拟机用户的安全应用和普通应用提供相互隔离的执行环境,保证安全应用的数据安全。
本发明实施例还提供了一种虚拟执行环境的访问方法,参考图4,为本发明实施例提供的虚拟执行环境的访问方法流程图,所述方法包括:
S401:截获用户在普通虚拟机或可信虚拟机中执行的环境切换指令。
S402:根据所述环境切换指令,确定所述用户需要切换的目标虚拟机。
S403:保存所述用户当前使用的虚拟机的执行状态信息;读取并恢复所述目标虚拟机的执行状态信息。
在对移动终端的硬件提供的执行环境进行虚拟化之后,本发明实施例对虚拟化的执行环境进行访问。
实际应用中,一个虚拟机用户具有普通虚拟机和可信虚拟机,当所述用户在当前使用的虚拟机中触发环境切换指令时,移动终端的虚拟机监视器截获所述用户执行的环境切换指令,对执行环境进行切换。
由于一个用户具有的普通虚拟机和可信虚拟机具有关联关系,所以,在截获所述环境切换指令后,查询与所述用户当前使用的虚拟机具有关联关系的虚拟机,并将所述虚拟机作为所述用户需要切换的目标虚拟机。
具体的,在切换执行环境的过程中,所述虚拟机监视器保存所述用户当前使用的虚拟机的执行状态信息,以便后续再次启动时使用;同时读取并恢复所述目标虚拟机的执行状态信息。具体的,在执行所述环境切换指令之前 所述用户使用的虚拟机将暂停运行,直至所述用户再次执行所述环境切换指令。
本发明实施例还提供了对虚拟执行环境中的第一内存映射表、第二内存映射表、设备访问权限表、中断处理请求的访问方法。
参考图5,图5为本发明实施例提供的对虚拟执行环境中的第一内存映射表的访问方法流程图,所述方法包括:
S501:接收来自所述普通虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存。
S502:在预设的第一内存映射表中查询与所述虚拟物理内存具有映射关系的物理内存;如果查询到所述物理内存,则执行S503。
S503:完成所述内存访问请求。
本发明实施例中,移动终端的虚拟机监视器在接收到来自普通虚拟机的内存访问请求时,在预设的第一内存映射表中查询与所述内存访问请求携带的虚拟物理内存具有映射关系的真实的物理内存,如果查询存在与所述虚拟物理内存具有映射关系的物理内存,则完成所述内存访问请求,即将所述物理内存返回至所述普通虚拟机,以便所述普通虚拟机能够访问所述物理内存。如果查询不存在与所述虚拟物理内存具有映射关系的物理内存,则提示访问异常。
参考图6,图6为本发明实施例提供的对虚拟执行环境中的第二内存映射表的访问方法流程图,所述方法包括:
S601:接收来自所述可信虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存。
S602:在预设的第二内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则执行S603。
S603:完成所述内存访问请求。
本发明实施例中,移动终端的虚拟机监视器在接收到来自可信虚拟机的内存访问请求时,在预设的第二内存映射表中查询与所述内存访问请求携带的虚拟物理内存具有映射关系的真实的物理内存,如果查询存在与所述虚拟 物理内存具有映射关系的物理内存,则完成所述内存访问请求,即将所述物理内存返回至所述可信虚拟机,以便所述可信虚拟机能够访问所述物理内存。如果查询不存在与所述虚拟物理内存具有映射关系的物理内存,则提示访问异常。
参考图7,图7为本发明实施例提供的对虚拟执行环境中的设备访问权限表的访问方法流程图,所述方法包括:
S701:接收来自任一虚拟机的设备访问请求,所述访问请求携带设备标识;
S702:在预设的设备访问权限表中查询所述虚拟机是否能够访问所述设备标识对应的设备;如果确定所述虚拟机能够访问所述设备标识对应的设备,则执行S703。
S703:完成所述访问请求。
本发明实施例中,移动终端的虚拟机监视器在接收到来自任一台虚拟机的设备访问请求时,在预设的设备访问权限表中查询所述虚拟机是否能够访问所述设备。如果确定所述虚拟机能够访问所述设备,则允许所述虚拟机对设备的访问,否则禁止所述虚拟机对所述设备的访问,如提示访问异常等。
参考图8,图8为本发明实施例提供的对虚拟执行环境中的中断处理权限表的访问方法流程图,所述方法包括:
S801:接收任一中断处理请求,所述中断处理请求携带中断类型。
S802:在预设的中断处理权限表中查询负责处理所述中断类型的虚拟机。
S803:将所述中断处理请求分配至所述虚拟机进行处理。
本发明实施例中,移动终端的虚拟机监视器在接收到任一中断处理请求后,在预设的中断处理权限表中查询负责处理所述中断处理请求携带中断类型的虚拟机,并将所述中断处理请求分配至所述虚拟机进行处理。
另外,本发明实施例中的移动终端硬件提供的可信执行环境中设置有安全模块,为了进一步保证虚拟机用户的数据安全,本发明实施例提供了分别针对预设的第一内存映射表、第二内存映射表、设备访问权限表和中断处理权限表的修改处理方法。参考图9,为本发明实施例提供的分别针对预设的 第一内存映射表、第二内存映射表、设备访问权限表和中断处理权限表的修改处理方法流程图,所述方法包括:
S901:接收来自任一虚拟机的修改请求,所述修改请求为对预设的第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表或虚拟机监视器的页表的修改请求。
S902:将所述修改请求转发至位于可信执行环境中的安全模块。
S903:所述安全模块判断所述修改请求是否符合所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件、所述中断处理权限表的合法修改条件或虚拟机监视器的页表的合法修改条件,并在确定符合任一合法修改条件时,执行S904。
其中,所述合法修改条件包括发送所述修改请求的虚拟机为可信虚拟机。
S904:允许所述修改请求。
由于安全模块位于移动终端硬件提供的可信执行环境中,利用硬件提供的隔离性,本发明实施例中的安全模块能够防止被恶意程序破坏。另外,将第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表或虚拟机监视器的页表的合法修改条件存储于所述安全模块中,一旦存在对第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表或虚拟机监视器的页表的修改请求后,由所述安全模块根据预设的合法修改条件判断所述修改请求是否合法,如果合法才允许对第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表或虚拟机监视器的页表的修改。所以,本发明实施例能够防止第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表和虚拟机监视器的页表被恶意修改,保证了虚拟机用户的数据安全。
具体的,所述第一内存映射表、所述第二内存映射表、所述设备访问权限表的合法修改条件、所述中断处理权限表的合法修改条件均为发送所述修改请求的虚拟机为可信虚拟机,同时所述虚拟机的修改请求是对所述虚拟机所属用户的第一内存映射表、第二内存映射表、设备访问权限表或中断处理权限表进行修改。所述虚拟机监视器的页表的合法修改条件为发送所述修改请求的虚拟机为可信虚拟机。
本发明实施例提供的虚拟执行环境的访问方法中,一个用户的可信虚拟机和普通虚拟机模拟移动终端硬件提供的可信执行环境和普通执行环境的执行环境切换过程,为用户的安全应用和普通应用提供相互独立的执行环境,保证数据信息的安全。
另外,本发明实施例通过在移动终端硬件提供的可信执行环境中设置安全模块为用户的数据安全提供进一步的保证。安全模块通过对修改请求的合法性判断,避免恶意程序对用户的数据信息的非法修改,保证用户数据安全。
本发明实施例还提供了一种执行环境的虚拟化装置,参考图10,图10为本发明实施例提供的一种执行环境的虚拟化装置的结构示意图,所述装置应用于移动终端,所述移动终端具有硬件提供的普通执行环境和可信执行环境;所述装置包括:
第一建立模块1001,用于在所述普通执行环境中为用户建立普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用;
分配模块1002,用于为所述普通虚拟机和所述可信虚拟机分配相同大小的虚拟物理内存,其中,所述普通虚拟机的虚拟物理内存包括普通内存和安全内存;所述可信虚拟机的虚拟物理内存包括普通内存和安全内存;所述普通虚拟机的普通内存与所述可信虚拟机的普通内容大小相同;
第二建立模块1003,用于建立所述普通虚拟机的普通内存与物理内存的映射关系,并将所述普通虚拟机的普通内存与物理内存的映射关系存储在第一内存映射表中,以使得所述普通虚拟机根据所述第一内存映射表访问所述普通虚拟机的普通内存;
第三建立模块1004,用于建立所述可信虚拟机的虚拟物理内存与物理内存的映射关系,并将所述可信虚拟机的虚拟物理内存与物理内存的映射关系存储在第二内存映射表中,以使得所述可信虚拟机根据所述第二内存映射表访问所述可信虚拟机的安全内存和普通内存;其中,所述可信虚拟机的普通内存映射的物理内存与所述普通虚拟机的普通内存映射的物理内存相同。
另外,所述装置还包括:
第四建立模块,用于为所述用户建立并维护设备访问权限表和中断处理权限表,其中,所述设备访问权限表用于存储所述用户的普通虚拟机和可信虚拟机分别能够访问的设备;所述中断处理任务表用于存储所述用户的普通虚拟机和可信虚拟机分别负责处理的中断类型。
为了进一步保证用户的数据信息安全,所述装置还包括:
存储模块,用于分别将所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件和所述中断处理权限表的合法修改条件以及虚拟机监视器的页表的合法修改条件存储于安全模块,所述安全模块位于所述可信执行环境中,所述可信虚拟机可对所述安全模块进行操作。
本发明实施例提供的执行环境的虚拟化装置利用可信虚拟机和普通虚拟机模拟移动终端硬件提供的可信执行环境和普通执行环境,为虚拟机用户的安全应用和普通应用提供相互隔离的执行环境,保证安全应用的数据安全。
本发明实施例还提供了一种虚拟执行环境的访问装置,参考图11,为本发明实施例提供的一种虚拟执行环境的访问装置的结构示意图,所述装置包括:
截获模块1101,用于截获用户在普通虚拟机或可信虚拟机中执行的环境切换指令;
确定模块1102,用于根据所述环境切换指令,确定所述用户需要切换的目标虚拟机;
保存模块1103,用于保存所述用户当前使用的虚拟机的执行状态信息;
读取模块1104,用于读取并恢复所述目标虚拟机的执行状态信息。
实际应用中,所述装置还包括:
第一接收模块,用于接收来自所述普通虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存;
第一查询模块,用于在预设的第一内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求。
实际应用中,所述装置还包括:
第二接收模块,用于接收来自所述可信虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存;
第二查询模块,用于在预设的第二内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求。
实际应用中,所述装置还包括:
第三接收模块,用于接收来自任一虚拟机的访问请求,所述访问请求携带设备标识;
第三查询模块,用于在预设的设备访问权限表中查询所述虚拟机是否能够访问所述设备标识对应的设备;如果确定所述虚拟机能够访问所述设备标识对应的设备,则完成所述访问请求。
实际应用中,所述装置还包括:
第四接收模块,用于接收任一中断处理请求,所述中断处理请求携带中断类型;
第四查询模块,用于在预设的中断处理权限表中查询负责处理所述中断类型的虚拟机,并将所述中断处理请求分配至所述虚拟机进行处理。
为了进一步保证用户数据信息安全,所述装置还包括:
第五接收模块,用于接收来自任一虚拟机的修改请求,所述修改请求为对预设的第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表或虚拟机监视器的页表的修改请求;
转发模块,用于将所述修改请求转发至位于可信执行环境中的安全模块,由所述安全模块判断所述修改请求是否符合所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件、所述中断处理权限表的合法修改条件或虚拟机监视器的页表的合法修改条件,并在确定符合任一合法修改条件时,允许所述修改请求;其中,所述合法修改条件包括发送所述修改请求的虚拟机为可信虚拟机。
本发明实施例提供的虚拟执行环境的访问装置为一个用户的可信虚拟机和普通虚拟机模拟移动终端硬件提供的可信执行环境和普通执行环境的执行 环境切换过程,为用户的安全应用和普通应用提供相互独立的执行环境,保证数据信息的安全。另外,在可信执行环境中设置的安全模块通过对修改请求的合法性判断,避免恶意程序对用户的数据信息的非法修改,保证用户数据安全。
图12为本发明一实施例提供的执行环境的虚拟化装置的结构示意图,所述装置应用于移动终端,所述移动终端具有硬件提供的普通执行环境。如图12所示,所述装置包括处理器1201、存储器1202,还包括I\O接口1203,所述处理器和所述存储器通过总线连接,其中,所述存储器存储程序代码,并将所述程序代码传输给所述处理器,所述处理器根据所述程序代码中的指令,执行以下步骤:
在所述普通执行环境中为用户建立普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用;为所述普通虚拟机和所述可信虚拟机分配相同大小的虚拟物理内存,其中,所述普通虚拟机的虚拟物理内存包括普通内存和安全内存;所述可信虚拟机的虚拟物理内存包括普通内存和安全内存;所述普通虚拟机的普通内存与所述可信虚拟机的普通内存大小相同;建立所述普通虚拟机的普通内存与物理内存的映射关系,并将所述普通虚拟机的普通内存与物理内存的映射关系存储在第一内存映射表中,以使得所述普通虚拟机根据所述第一内存映射表访问所述普通虚拟机的普通内存;建立所述可信虚拟机的虚拟物理内存与物理内存的映射关系,并将所述可信虚拟机的虚拟物理内存与物理内存的映射关系存储在第二内存映射表中,以使得所述可信虚拟机根据所述第二内存映射表访问所述可信虚拟机的安全内存和普通内存;其中,所述可信虚拟机的普通内存映射的物理内存与所述普通虚拟机的普通内存映射的物理内存相同。
可选地,所述处理器还用于为所述用户建立并维护设备访问权限表和中断处理权限表,其中,所述设备访问权限表用于存储所述用户的普通虚拟机和可信虚拟机分别能够访问的设备;所述中断处理权限表用于存储所述用户的普通虚拟机和可信虚拟机分别负责处理的中断类型。
可选地,所述移动终端具有硬件提供的可信执行环境,所述处理器还用于分别将所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件和所述中断处理权限表的合法修改条件以及虚拟机监视器的页表的合法修改条件存储于安全模块,所述安全模块位于所述可信执行环境中,所述可信虚拟机可对所述安全模块进行操作。
图13为本发明一实施例提供的虚拟执行环境的访问装置的结构示意图,所述装置应用于移动终端,所述移动终端具有硬件提供的普通执行环境,所述普通执行环境中运行有两台与预设用户相关联的虚拟机,分别为普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用。如图13所示,所述装置包括处理器1301、存储器1302,还包括I\O接口1303,所述处理器和所述存储器通过总线连接,其中,所述存储器存储程序代码,并将所述程序代码传输给所述处理器,所述处理器根据所述程序代码中的指令,执行以下步骤:
截获用户在普通虚拟机或可信虚拟机中执行的环境切换指令;根据所述环境切换指令,确定所述用户需要切换的目标虚拟机;保存所述用户当前使用的虚拟机的执行状态信息;读取并恢复所述目标虚拟机的执行状态信息。
可选地,所述处理器还用于接收来自所述普通虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存;在预设的第一内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求。
所述处理器还用于接收来自所述可信虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存;在预设的第二内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求。
所述处理器还用于接收来自任一虚拟机的设备访问请求,所述设备访问请求携带设备标识;在预设的设备访问权限表中查询所述虚拟机是否能够访问所述设备标识对应的设备;如果确定所述虚拟机能够访问所述设备标识对 应的设备,则完成所述设备访问请求。
所述处理器还用于接收任一中断处理请求,所述中断处理请求携带中断类型;在预设的中断处理权限表中查询负责处理所述中断类型的虚拟机,并将所述中断处理请求分配至所述虚拟机进行处理。
可选地,所述移动终端具有硬件提供的可信执行环境,所述处理器还用于接收来自任一虚拟机的修改请求,所述修改请求为对预设的第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表或虚拟机监视器的页表的修改请求;
将所述修改请求转发至位于可信执行环境中的安全模块,由所述安全模块判断所述修改请求是否符合所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件、所述中断处理权限表的合法修改条件或虚拟机监视器的页表的合法修改条件,并在确定符合任一合法修改条件时,允许所述修改请求;其中,所述合法修改条件包括发送所述修改请求的虚拟机为可信虚拟机。
本发明实施例所述执行环境的虚拟化装置和所述虚拟执行环境的访问装置的技术原理和技术效果可以参考图1至图11所示实施例中的相关描述,不再赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方, 或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:移动硬盘、只读存储器(英文:Read-Only Memory,简称ROM)、随机存取存储器(英文:Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。

Claims (18)

  1. 一种执行环境的虚拟化方法,其特征在于,所述方法应用于移动终端,所述移动终端具有硬件提供的普通执行环境;
    在所述普通执行环境中为用户建立普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用;
    为所述普通虚拟机和所述可信虚拟机分配相同大小的虚拟物理内存,其中,所述普通虚拟机的虚拟物理内存包括普通内存和安全内存;所述可信虚拟机的虚拟物理内存包括普通内存和安全内存;所述普通虚拟机的普通内存与所述可信虚拟机的普通内存大小相同;
    建立所述普通虚拟机的普通内存与物理内存的映射关系,并将所述普通虚拟机的普通内存与物理内存的映射关系存储在第一内存映射表中,以使得所述普通虚拟机根据所述第一内存映射表访问所述普通虚拟机的普通内存;
    建立所述可信虚拟机的虚拟物理内存与物理内存的映射关系,并将所述可信虚拟机的虚拟物理内存与物理内存的映射关系存储在第二内存映射表中,以使得所述可信虚拟机根据所述第二内存映射表访问所述可信虚拟机的安全内存和普通内存;其中,所述可信虚拟机的普通内存映射的物理内存与所述普通虚拟机的普通内存映射的物理内存相同。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    为所述用户建立并维护设备访问权限表和中断处理权限表,其中,所述设备访问权限表用于存储所述用户的普通虚拟机和可信虚拟机分别能够访问的设备;所述中断处理权限表用于存储所述用户的普通虚拟机和可信虚拟机分别负责处理的中断类型。
  3. 根据权利要求1或2所述的方法,其特征在于,所述移动终端具有硬件提供的可信执行环境;所述方法还包括:
    分别将所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件和所述中断处理权限表的合法修改条件以及虚拟机监视器的页表的合法修改条件存储于安全模块,所述安全模块位于所述可信执行环境中,所述可信虚拟机可对所述安全模块进 行操作。
  4. 一种虚拟执行环境的访问方法,其特征在于,所述方法应用于移动终端,所述移动终端具有硬件提供的普通执行环境,所述普通执行环境中运行有两台与预设用户相关联的虚拟机,分别为普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用;
    所述方法包括:
    截获用户在普通虚拟机或可信虚拟机中执行的环境切换指令;
    根据所述环境切换指令,确定所述用户需要切换的目标虚拟机;
    保存所述用户当前使用的虚拟机的执行状态信息;读取并恢复所述目标虚拟机的执行状态信息。
  5. 根据权利要求4所述的方法,其特征在于,所述方法还包括:
    接收来自所述普通虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存;
    在预设的第一内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求。
  6. 根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
    接收来自所述可信虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存;
    在预设的第二内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求。
  7. 根据权利要求4-6任一项所述的方法,其特征在于,所述方法还包括:
    接收来自任一虚拟机的设备访问请求,所述设备访问请求携带设备标识;
    在预设的设备访问权限表中查询所述虚拟机是否能够访问所述设备标识对应的设备;如果确定所述虚拟机能够访问所述设备标识对应的设备,则完成所述设备访问请求。
  8. 根据权利要求4-7任一项所述的方法,其特征在于,所述方法还包括:
    接收任一中断处理请求,所述中断处理请求携带中断类型;
    在预设的中断处理权限表中查询负责处理所述中断类型的虚拟机,并将 所述中断处理请求分配至所述虚拟机进行处理。
  9. 根据权利要求4-8任一项所述的方法,其特征在于,所述移动终端具有硬件提供的可信执行环境,所述方法还包括:
    接收来自任一虚拟机的修改请求,所述修改请求为对预设的第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表或虚拟机监视器的页表的修改请求;
    将所述修改请求转发至位于可信执行环境中的安全模块,由所述安全模块判断所述修改请求是否符合所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件、所述中断处理权限表的合法修改条件或虚拟机监视器的页表的合法修改条件,并在确定符合任一合法修改条件时,允许所述修改请求;其中,所述合法修改条件包括发送所述修改请求的虚拟机为可信虚拟机。
  10. 一种执行环境的虚拟化装置,其特征在于,所述装置应用于移动终端,所述移动终端具有硬件提供的普通执行环境;所述装置包括:
    第一建立模块,用于在所述普通执行环境中为用户建立普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用;
    分配模块,用于为所述普通虚拟机和所述可信虚拟机分配相同大小的虚拟物理内存,其中,所述普通虚拟机的虚拟物理内存包括普通内存和安全内存;所述可信虚拟机的虚拟物理内存包括普通内存和安全内存;所述普通虚拟机的普通内存与所述可信虚拟机的普通内容大小相同;
    第二建立模块,用于建立所述普通虚拟机的普通内存与物理内存的映射关系,并将所述普通虚拟机的普通内存与物理内存的映射关系存储在第一内存映射表中,以使得所述普通虚拟机根据所述第一内存映射表访问所述普通虚拟机的普通内存;
    第三建立模块,用于建立所述可信虚拟机的虚拟物理内存与物理内存的映射关系,并将所述可信虚拟机的虚拟物理内存与物理内存的映射关系存储在第二内存映射表中,以使得所述可信虚拟机根据所述第二内存映射表访问 所述可信虚拟机的安全内存和普通内存;其中,所述可信虚拟机的普通内存映射的物理内存与所述普通虚拟机的普通内存映射的物理内存相同。
  11. 根据权利要求10所述的装置,其特征在于,所述装置还包括:
    第四建立模块,用于为所述用户建立并维护设备访问权限表和中断处理权限表,其中,所述设备访问权限表用于存储所述用户的普通虚拟机和可信虚拟机分别能够访问的设备;所述中断处理权限表用于存储所述用户的普通虚拟机和可信虚拟机分别负责处理的中断类型。
  12. 根据权利要求10或11所述的装置,其特征在于,所述移动终端具有硬件提供的可信执行环境;所述装置还包括:
    存储模块,用于分别将所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件和所述中断处理权限表的合法修改条件以及虚拟机监视器的页表的合法修改条件存储于安全模块,所述安全模块位于所述可信执行环境中,所述可信虚拟机可对所述安全模块进行操作。
  13. 一种虚拟执行环境的访问装置,其特征在于,所述装置应用于移动终端,所述移动终端具有硬件提供的普通执行环境,所述普通执行环境中运行有两台与预设用户相关联的虚拟机,分别为普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用;所述装置包括:
    截获模块,用于截获用户在普通虚拟机或可信虚拟机中执行的环境切换指令;
    确定模块,用于根据所述环境切换指令,确定所述用户需要切换的目标虚拟机;
    保存模块,用于保存所述用户当前使用的虚拟机的执行状态信息;
    读取模块,用于读取并恢复所述目标虚拟机的执行状态信息。
  14. 根据权利要求13所述的装置,其特征在于,所述装置还包括:
    第一接收模块,用于接收来自所述普通虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存;
    第一查询模块,用于在预设的第一内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求。
  15. 根据权利要求13或14所述的装置,其特征在于,所述装置还包括:
    第二接收模块,用于接收来自所述可信虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存;
    第二查询模块,用于在预设的第二内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求。
  16. 根据权利要求13-15任一项所述的装置,其特征在于,所述装置还包括:
    第三接收模块,用于接收来自任一虚拟机的访问请求,所述访问请求携带设备标识;
    第三查询模块,用于在预设的设备访问权限表中查询所述虚拟机是否能够访问所述设备标识对应的设备;如果确定所述虚拟机能够访问所述设备标识对应的设备,则完成所述访问请求。
  17. 根据权利要求13-16任一项所述的装置,其特征在于,所述装置还包括:
    第四接收模块,用于接收任一中断处理请求,所述中断处理请求携带中断类型;
    第四查询模块,用于在预设的中断处理权限表中查询负责处理所述中断类型的虚拟机,并将所述中断处理请求分配至所述虚拟机进行处理。
  18. 根据权利要求13-17任一项所述的装置,其特征在于,所述移动终端具有硬件提供的可信执行环境,所述装置还包括:
    第五接收模块,用于接收来自任一虚拟机的修改请求,所述修改请求为对预设的第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表或虚拟机监视器的页表的修改请求;
    转发模块,用于将所述修改请求转发至位于可信执行环境中的安全模块,由所述安全模块判断所述修改请求是否符合所述第一内存映射表的合法修改 条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件、所述中断处理权限表的合法修改条件或虚拟机监视器的页表的合法修改条件,并在确定符合任一合法修改条件时,允许所述修改请求;其中,所述合法修改条件包括发送所述修改请求的虚拟机为可信虚拟机。
PCT/CN2016/092025 2016-02-03 2016-07-28 一种执行环境的虚拟化、虚拟执行环境的访问方法及装置 WO2017133203A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/043,124 US11321452B2 (en) 2016-02-03 2018-07-23 Execution environment virtualization method and apparatus and virtual execution environment access method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610075968.XA CN107038128B (zh) 2016-02-03 2016-02-03 一种执行环境的虚拟化、虚拟执行环境的访问方法及装置
CN201610075968.X 2016-02-03

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/043,124 Continuation US11321452B2 (en) 2016-02-03 2018-07-23 Execution environment virtualization method and apparatus and virtual execution environment access method and apparatus

Publications (1)

Publication Number Publication Date
WO2017133203A1 true WO2017133203A1 (zh) 2017-08-10

Family

ID=59500031

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/092025 WO2017133203A1 (zh) 2016-02-03 2016-07-28 一种执行环境的虚拟化、虚拟执行环境的访问方法及装置

Country Status (3)

Country Link
US (1) US11321452B2 (zh)
CN (1) CN107038128B (zh)
WO (1) WO2017133203A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112446032A (zh) * 2020-11-20 2021-03-05 南方科技大学 可信执行环境构建方法、系统及存储介质

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107066331B (zh) * 2016-12-20 2021-05-18 华为技术有限公司 一种基于TrustZone的资源分配方法及设备
CN109460373B (zh) * 2017-09-06 2022-08-26 阿里巴巴集团控股有限公司 一种数据共享方法、终端设备和存储介质
CN108509251B (zh) * 2018-03-19 2022-03-11 沈阳微可信科技有限公司 一种适用于可信执行环境中的安全虚拟化系统
CN108549571B (zh) * 2018-03-19 2022-03-15 沈阳微可信科技有限公司 一种适用于可信执行环境中的安全虚拟化方法
CN108897617A (zh) * 2018-06-19 2018-11-27 北京元心科技有限公司 内存管理的方法、装置以及终端设备
US11271801B2 (en) * 2018-06-27 2022-03-08 T-Mobile Usa, Inc. Compromised network node detection system
US11188477B2 (en) * 2018-09-11 2021-11-30 Apple Inc. Page protection layer
CN109828827B (zh) * 2018-11-22 2023-10-27 海光信息技术股份有限公司 一种检测方法、装置及相关设备
CN109739613B (zh) * 2018-11-22 2021-08-13 海光信息技术股份有限公司 嵌套页表的维护方法、访问控制方法及相关装置
CN109522754B (zh) * 2018-11-28 2021-11-19 中国科学院信息工程研究所 一种移动终端可信隔离环境核心控制方法
US11308215B2 (en) 2019-03-08 2022-04-19 International Business Machines Corporation Secure interface control high-level instruction interception for interruption enablement
US11347529B2 (en) 2019-03-08 2022-05-31 International Business Machines Corporation Inject interrupts and exceptions into secure virtual machine
US10956188B2 (en) 2019-03-08 2021-03-23 International Business Machines Corporation Transparent interpretation of guest instructions in secure virtual machine environment
US11392467B2 (en) 2019-04-17 2022-07-19 Microsoft Technology Licensing, Llc Failover between decentralized identity stores
US11190512B2 (en) 2019-04-17 2021-11-30 Microsoft Technology Licensing, Llc Integrity attestation of attestation component
US11381567B2 (en) 2019-04-29 2022-07-05 Microsoft Technology Licensing, Llc Execution of an application within a scope of user-granted permission
US11429743B2 (en) 2019-04-29 2022-08-30 Microsoft Technology Licensing, Llc Localization of DID-related claims and data
US11222137B2 (en) 2019-05-03 2022-01-11 Microsoft Technology Licensing, Llc Storing and executing an application in a user's personal storage with user granted permission
US11411959B2 (en) * 2019-05-03 2022-08-09 Microsoft Technology Licensing, Llc Execution of application in a container within a scope of user-granted permission
US11003771B2 (en) 2019-05-03 2021-05-11 Microsoft Technology Licensing, Llc Self-help for DID claims
CN110348204B (zh) * 2019-06-17 2023-05-16 海光信息技术股份有限公司 一种代码保护系统、认证方法、装置、芯片及电子设备
CN110825492B (zh) * 2019-10-31 2023-05-09 海光信息技术股份有限公司 安全数据内存隔离方法、装置、设备、存储介质
CN110955493A (zh) * 2019-11-13 2020-04-03 东软集团股份有限公司 一种实现安全运行环境切换的方法、系统及相关设备
CN111274040B (zh) * 2020-02-18 2023-04-07 北京和利时控制技术有限公司 一种内存管理方法和装置
US11438171B2 (en) * 2020-03-05 2022-09-06 Micron Technology, Inc. Virtualized authentication device
US11570153B2 (en) * 2020-03-12 2023-01-31 International Business Machines Corporation Virtual machine perfect forward secrecy
CN111881435B (zh) * 2020-08-03 2023-11-24 沈阳谦川科技有限公司 一种安全内存实现方法及其系统
CN112330229B (zh) * 2020-12-02 2023-09-22 北京元心科技有限公司 资源调度方法、装置、电子设备及计算机可读存储介质
CN113282527A (zh) * 2021-05-08 2021-08-20 珠海金智维信息科技有限公司 一种实现usb设备切换管理的方法、装置和主机
CN113703924A (zh) * 2021-09-22 2021-11-26 上海交通大学 基于可信执行环境的安全虚拟机系统设计方法及系统
CN114035886B (zh) * 2021-09-28 2023-10-03 中国科学院信息工程研究所 一种针对内核数据的容器安全加固系统及方法
CN114201752B (zh) * 2021-11-29 2022-10-18 海光信息技术股份有限公司 一种安全隔离虚拟机的页表管理方法、装置及相关设备
CN113900829B (zh) * 2021-12-10 2022-04-12 深圳比特微电子科技有限公司 用于设备的内存管理方法、内存管理设备和计算系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110196A (zh) * 2009-12-25 2011-06-29 中国长城计算机深圳股份有限公司 并行运行多用户操作系统间的数据安全传输方法及系统
CN103257929A (zh) * 2013-04-18 2013-08-21 中国科学院计算技术研究所 一种虚拟机内存映射方法及系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7690043B2 (en) 1994-12-19 2010-03-30 Legal Igaming, Inc. System and method for connecting gaming devices to a network for remote play
US7124170B1 (en) * 1999-08-20 2006-10-17 Intertrust Technologies Corp. Secure processing unit systems and methods
CN101006433B (zh) * 2004-08-25 2012-01-11 日本电气株式会社 信息通信装置和程序执行环境控制方法
US9274974B1 (en) * 2005-10-21 2016-03-01 Vmware, Inc. Isolating data within a computer system using private shadow mappings
US8316414B2 (en) * 2006-12-29 2012-11-20 Intel Corporation Reconfiguring a secure system
JP4952308B2 (ja) * 2007-03-09 2012-06-13 日本電気株式会社 メモリ共有システム、方法、及び、プログラム
CN101599022B (zh) * 2009-07-07 2012-07-04 武汉大学 用于虚拟机系统的可信计算基裁剪方法
US8990582B2 (en) 2010-05-27 2015-03-24 Cisco Technology, Inc. Virtual machine memory compartmentalization in multi-core architectures
US8631212B2 (en) * 2011-09-25 2014-01-14 Advanced Micro Devices, Inc. Input/output memory management unit with protection mode for preventing memory access by I/O devices
EP2680180A1 (en) 2012-06-29 2014-01-01 Orange System and method for securely allocating a virtualised space
US20140075502A1 (en) * 2012-09-11 2014-03-13 Selim Aissi Resource management of execution environments
WO2015047285A1 (en) * 2013-09-27 2015-04-02 Intel Corporation Protection scheme for remotely-stored data
WO2015070376A1 (zh) * 2013-11-12 2015-05-21 华为技术有限公司 一种实现虚拟化安全的方法和系统
CN104899506B (zh) * 2015-05-08 2018-01-12 深圳市雪球科技有限公司 基于可信执行环境中虚拟安全元件的安全系统实现方法
CN104794395A (zh) * 2015-05-13 2015-07-22 上海瓶钵信息科技有限公司 基于体系结构特性的轻量级多系统安全管理架构
US9842065B2 (en) * 2015-06-15 2017-12-12 Intel Corporation Virtualization-based platform protection technology

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110196A (zh) * 2009-12-25 2011-06-29 中国长城计算机深圳股份有限公司 并行运行多用户操作系统间的数据安全传输方法及系统
CN103257929A (zh) * 2013-04-18 2013-08-21 中国科学院计算技术研究所 一种虚拟机内存映射方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112446032A (zh) * 2020-11-20 2021-03-05 南方科技大学 可信执行环境构建方法、系统及存储介质
CN112446032B (zh) * 2020-11-20 2022-05-31 南方科技大学 可信执行环境构建方法、系统及存储介质

Also Published As

Publication number Publication date
CN107038128A (zh) 2017-08-11
US20180330081A1 (en) 2018-11-15
CN107038128B (zh) 2020-07-28
US11321452B2 (en) 2022-05-03

Similar Documents

Publication Publication Date Title
WO2017133203A1 (zh) 一种执行环境的虚拟化、虚拟执行环境的访问方法及装置
US9898601B2 (en) Allocation of shared system resources
US10831889B2 (en) Secure memory implementation for secure execution of virtual machines
WO2018036103A1 (zh) 虚拟机创建方法、系统以及主机
US10176007B2 (en) Guest code emulation by virtual machine function
US9251384B1 (en) Trusted peripheral device for a host in a shared electronic environment
EP3968160A1 (en) Inter-process communication method and apparatus, and computer device
US20140214922A1 (en) Method of providing virtual machine and service gateway for real-time virtual desktop service
US20080022120A1 (en) System, Method and Computer Program Product for Secure Access Control to a Storage Device
CN108073823B (zh) 数据处理方法、装置及系统
US9858110B2 (en) Virtual credential adapter for use with virtual machines
CN108073423B (zh) 一种加速器加载方法、系统和加速器加载装置
CN112817780B (zh) 一种实现安全与高性能进程间通信的方法和系统
WO2014059575A1 (zh) 输入输出操作的处理方法和装置
CN103544047A (zh) 云系统数据管理方法
CN111949369A (zh) 面向图形处理器的可信执行环境构建方法及系统
US10678577B2 (en) Method for implementing virtual secure element
CN113342473A (zh) 数据处理方法、安全虚拟机的迁移方法及相关装置、架构
US9135046B1 (en) Preventing host operating system from inspecting or modifying data received by hardware controller by moving host operating system into a virtual machine after boot up
US9411980B2 (en) Preventing modifications to code or data based on the states of a master latch and one or more hardware latches in a hosting architecture
CN116881987A (zh) Pcie设备直通虚拟机的方法、装置及相关设备
US20150356307A1 (en) Safe input method and system
KR20110086376A (ko) 멀티 유저 컴퓨터의 망 전환 시스템
US20240095338A1 (en) Isolated runtime environments for securing secrets used to access remote resources from compute instances
US20240113875A1 (en) Method and apparatus for storing keys

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16889018

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16889018

Country of ref document: EP

Kind code of ref document: A1