买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种执行环境的虚拟化、虚拟执行环境的访问方法及装置_华为技术有限公司_201610075968.X 

申请/专利权人:华为技术有限公司

申请日:2016-02-03

公开(公告)日:2020-07-28

公开(公告)号:CN107038128B

主分类号:G06F12/14(20060101)

分类号:G06F12/14(20060101);G06F9/455(20060101);G06F21/62(20130101)

优先权:

专利状态码:有效-授权

法律状态:2020.07.28#授权;2017.09.05#实质审查的生效;2017.08.11#公开

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

主权项:1.一种执行环境的虚拟化方法,其特征在于,所述方法应用于移动终端,所述移动终端具有硬件提供的普通执行环境;在所述普通执行环境中为用户建立普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用;为所述普通虚拟机和所述可信虚拟机分配相同大小的虚拟物理内存,其中,所述普通虚拟机的虚拟物理内存包括普通内存和安全内存;所述可信虚拟机的虚拟物理内存包括普通内存和安全内存;所述普通虚拟机的普通内存与所述可信虚拟机的普通内存大小相同;建立所述普通虚拟机的普通内存与物理内存的映射关系,并将所述普通虚拟机的普通内存与物理内存的映射关系存储在第一内存映射表中,以使得所述普通虚拟机根据所述第一内存映射表访问所述普通虚拟机的普通内存;建立所述可信虚拟机的虚拟物理内存与物理内存的映射关系,并将所述可信虚拟机的虚拟物理内存与物理内存的映射关系存储在第二内存映射表中,以使得所述可信虚拟机根据所述第二内存映射表访问所述可信虚拟机的安全内存和普通内存;其中,所述可信虚拟机的普通内存映射的物理内存与所述普通虚拟机的普通内存映射的物理内存相同。

全文数据:一种执行环境的虚拟化、虛拟执行环境的访问方法及装置技术领域[0001]本发明涉及虚拟化技术领域,具体涉及一种执行环境的虚拟化、虚拟执行环境的访问方法及装置。背景技术[0002]随着移动终端的日益普及,越来越多与用户隐私密切相关的数据被储存于其中,这也使得人们愈发关注移动终端的安全性。现有一种主流的安全解决方案是利用硬件提供的可信执行环境将移动终端中运行的安全应用与普通应用隔离,即将安全应用在移动终端的硬件提供的可信执行环境中运行,而普通应用则在移动终端的硬件提供的普通执行环境中运行。硬件级别的隔离能够有效保证可信执行环境中的安全应用免受恶意应用的“骚扰”。[0003]随着移动终端性能的提升,移动终端中的虚拟化系统愈发的成熟,然而移动终端中硬件提供的可信执行环境却没有适应愈发完善的虚拟化系统。事实上,由于移动终端硬件仅提供了一个可信执行环境,但是该移动终端上可能配置了多台虚拟机,因此该移动终端上的所有虚拟机用户不得不共享同一个可信执行环境,也就是说,所有虚拟机用户的安全应用要在同一个可信执行环境中运行。显然,这完全丧失了可信执行环境为安全应用提供安全执行环境的本质功能。一旦移动终端中存在恶意虚拟机用户用,该恶意虚拟机用户能够轻易通过共享的可信执行环境窃取其他虚拟机用户的隐私数据。[0004]因此,如何在移动终端中的虚拟化系统中为各个虚拟机用户提供一个独立、安全的可信执行环境,已经成为了一个亟需解决的问题。发明内容[0005]本发明提供了一种执行环境的虚拟化方法,能够分别为各个虚拟机用户提供一个独立、安全的可信执行环境,保证用户的数据安全。[0006]为了解决以上技术问题,本发明的第一方面提供了一种执行环境的虚拟化方法,所述方法应用于移动终端,所述移动终端具有硬件提供的普通执行环境;所述移动终端中的虚拟机监视器在所述普通执行环境中为用户建立普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用。同时,所述虚拟机监视器为所述普通虚拟机和所述可信虚拟机分配相同大小的虚拟物理内存,其中,所述普通虚拟机的虚拟物理内存包括普通内存和安全内存;所述可信虚拟机的虚拟物理内存包括普通内存和安全内存;所述普通虚拟机的普通内存与所述可信虚拟机的普通内存大小相同。建立所述普通虚拟机的普通内存与物理内存的映射关系,并将所述普通虚拟机的普通内存与物理内存的映射关系存储在第一内存映射表中,以使得所述普通虚拟机根据所述第一内存映射表访问所述普通虚拟机的普通内存。建立所述可信虚拟机的虚拟物理内存与物理内存的映射关系,并将所述可信虚拟机的虚拟物理内存与物理内存的映射关系存储在第二内存映射表中,以使得所述可信虚拟机根据所述第二内存映射表访问所述可信虚拟机的安全内存和普通内存;其中,所述可信虚拟机的普通内存映射的物理内存与所述普通虚拟机的普通内存映射的物理内存相同。[0007]结合第一方面,可选的,本发明利用普通虚拟机和可信虚拟机为一个用户分别模拟移动终端硬件提供的普通执行环境和可信执行环境,以便所述用户的普通应用和安全应用可以在普通虚拟机和可信虚拟机上分别运行,达到安全应用与普通应用的执行环境隔离的效果,保证用户的数据安全。另外,本发明还通过模拟移动终端硬件提供的执行环境的内存访问情况,为所述用户的普通虚拟机和可信虚拟机进行内存的分配,并生成第一内存映射表和第二内存映射表,其中,所述用户的普通虚拟机和可信虚拟机可以访问普通内存对应的物理内存,但是普通虚拟机不能访问可信虚拟机的安全内存对应的物理内存,也实现运行于可信虚拟机和普通虚拟机的应用的隔离。[00081结合第一方面,需要指出的是,本发明提供的执行环境的虚拟化方法还为所述用户建立并维护设备访问权限表和中断处理权限表,其中,所述设备访问权限表用于存储所述用户的普通虚拟机和可信虚拟机分别能够访问的设备;所述中断处理权限表用于存储所述用户的普通虚拟机和可信虚拟机分别负责处理的中断类型。[0009]通过为各个用户建立并维护设备访问权限表和中断处理权限表,预先设置各个用户的普通虚拟机和可信虚拟机分别能够访问的设备,以及用户的普通虚拟机和可信虚拟机分别负责处理的中断类型。[0010]结合第一方面,本发明提供的执行环境的虚拟化方法分别将所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件和所述中断处理权限表的合法修改条件以及虚拟机监视器的页表的合法修改条件存储于安全模块,所述安全模块位于所述移动终端硬件提供的可信执行环境中,所述可信虚拟机可对所述安全模块进行操作。[0011]本发明提供的执行环境的虚拟化方法中,所述安全模块存储的所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件和所述中断处理权限表的合法修改条件均可以包括发送修改请求的虚拟机为可信虚拟机;同时,所述合法修改条件还包括所述虚拟机发送的修改请求是对所述虚拟机所属用户的第一内存映射表、第二内存映射表、设备访问权限表或中断处理权限表进行的修改。[0012]本发明利用设置于移动终端硬件提供的安全模块存储所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件和所述中断处理权限表的合法修改条件以及虚拟机监视器的页表的合法修改条件,对修改请求的合法性进行验证,防止用户的数据被恶意修改,进一步保证了用户数据的安全。[0013]本发明的第二方面提供了一种虚拟执行环境的访问方法,其中,所述方法应用于移动终端,所述移动终端具有硬件提供的普通执行环境,所述普通执行环境中运行有两台与预设用户相关联的虚拟机,分别为普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用。所述移动终端的虚拟机监视器截获用户在普通虚拟机或可信虚拟机中执行的环境切换指令;并根据所述环境切换指令,确定所述用户需要切换的目标虚拟机;保存所述用户当前使用的虚拟机的执行状态信息;读取并恢复所述目标虚拟机的执行状态信息。[0014]结合第二方面,需要指出的是,本发明为各个用户的可信虚拟机和普通虚拟机模拟移动终端硬件提供的可信执行环境和普通执行环境的执行环境切换过程,为用户的安全应用和普通应用提供相互独立的执行环境,保证数据信息的安全。[0015]结合第二方面,本发明提供的虚拟执行环境的访问方法中,所述虚拟机监视器在截获所述环境切换指令后,查询与所述用户相关联的两台虚拟机,其中一台为当前使用的虚拟机,另一台则为所述用户需要切换的目标虚拟机。[0016]本发明提供的虚拟执行环境的访问方法中,虚拟机监视器接收来自所述普通虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存。在预设的第一内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求,否则提示访问异常。[0017]虚拟机监视器接收来自所述可信虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存;在预设的第二内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求,否则提示访问异常。[0018]虚拟机监视器接收来自任一虚拟机的设备访问请求,所述设备访问请求携带设备标识;在预设的设备访问权限表中查询所述虚拟机是否能够访问所述设备标识对应的设备;如果确定所述虚拟机能够访问所述设备标识对应的设备,则完成所述设备访问请求,否则提示访问异常。[0019]虚拟机监视器接收任一中断处理请求,所述中断处理请求携带中断类型;在预设的中断处理权限表中查询负责处理所述中断类型的虚拟机,并将所述中断处理请求分配至所述虚拟机进行处理。[0020]结合第二方面,可选的,本发明中的移动终端还具有硬件提供的可信执行环境,所述可信执行环境中设置有安全模块。所述虚拟机监视器接收来自任一虚拟机的修改请求,所述修改请求为对预设的第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表或虚拟机监视器的页表的修改请求;将所述修改请求转发至位于可信执行环境中的安全模块,由所述安全模块判断所述修改请求是否符合所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件、所述中断处理权限表的合法修改条件或虚拟机监视器的页表的合法修改条件,并在确定符合任一合法修改条件时,允许所述修改请求;其中,所述合法修改条件包括发送所述修改请求的虚拟机为可信虚拟机。[0021]本发明的第二方面提供的虚拟执行环境的访问方法通过在移动终端硬件提供的可信执行环境中设置安全模块为用户的数据安全提供进一步的保证,安全模块通过对修改请求的合法性判断,避免恶意程序对用户的数据信息的非法修改,保证用户数据安全。[0022]本发明的第三方面提供了一种执行环境的虚拟化装置,所述装置应用于移动终端,所述移动终端具有硬件提供的普通执行环境;所述装置包括:第一建立模块,用于在所述普通执行环境中为用户建立普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用;分配模块,用于为所述普通虚拟机和所述可信虚拟机分配相同大小的虚拟物理内存,其中,所述普通虚拟机的虚拟物理内存包括普通内存和安全内存;所述可信虚拟机的虚拟物理内存包括普通内存和安全内存;所述普通虚拟机的普通内存与所述可信虚拟机的普通内容大小相同;第二建立模块,用于建立所述普通虚拟机的普通内存与物理内存的映射关系,并将所述普通虚拟机的普通内存与物理内存的映射关系存储在第一内存映射表中,以使得所述普通虚拟机根据所述第一内存映射表访问所述普通虚拟机的普通内存;第三建立模块,用于建立所述可信虚拟机的虚拟物理内存与物理内存的映射关系,并将所述可信虚拟机的虚拟物理内存与物理内存的映射关系存储在第二内存映射表中,以使得所述可信虚拟机根据所述第二内存映射表访问所述可信虚拟机的安全内存和普通内存;其中,所述可信虚拟机的普通内存映射的物理内存与所述普通虚拟机的普通内存映射的物理内存相同。[0023]本发明的第三方面提供的执行环境的虚拟化装置利用可信虚拟机和普通虚拟机模拟移动终端硬件提供的可信执行环境和普通执行环境,为虚拟机用户的安全应用和普通应用提供相互隔离的执行环境,保证安全应用的数据安全。[0024]结合第三方面,本发明提供的执行环境的虚拟化装置还包括:第四建立模块,用于为所述用户建立并维护设备访问权限表和中断处理权限表,其中,所述设备访问权限表用于存储所述用户的普通虚拟机和可信虚拟机分别能够访问的设备;所述中断处理权限表用于存储所述用户的普通虚拟机和可信虚拟机分别负责处理的中断类型。[0025]本发明的移动终端具有硬件提供的可信执行环境,所述可信执行环境中设置有安全模块。本发明提供的执行环境的虚拟化装置还包括:存储模块,用于分别将所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件和所述中断处理权限表的合法修改条件以及虚拟机监视器的页表的合法修改条件存储于安全模块,所述安全模块位于所述可信执行环境中,所述可信虚拟机可对所述安全模块进行操作。[0026]本发明的第四方面提供了一种虚拟执行环境的访问装置,所述装置应用于移动终端,所述移动终端具有硬件提供的普通执行环境,所述普通执行环境中运行有两台与预设用户相关联的虚拟机,分别为普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用;所述装置包括:截获模块,用于截获用户在普通虚拟机或可信虚拟机中执行的环境切换指令;确定模块,用于根据所述环境切换指令,确定所述用户需要切换的目标虚拟机;保存模块,用于保存所述用户当前使用的虚拟机的执行状态信息;读取模块,用于读取并恢复所述目标虚拟机的执行状态信息。[0027]本发明的第四方面提供的虚拟执行环境的访问装置为一个用户的可信虚拟机和普通虚拟机模拟移动终端硬件提供的可信执行环境和普通执行环境的执行环境切换过程,为用户的安全应用和普通应用提供相互独立的执行环境,保证用户的数据信息安全。[0028]本发明的第四方面提供的虚拟执行环境的访问装置中的确定模块,具体用于在截获所述环境切换指令后,查询与所述用户相关联的两台虚拟机,其中一台为当前使用的虚拟机,将另一台虚拟机则确定为所述用户需要切换的目标虚拟机。[0029]结合第四方面,可选的,本发明提供的虚拟执行环境的访问装置还包括:第一接收模块,用于接收来自所述普通虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存;第一查询模块,用于在预设的第一内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求,否则提示访问异常。[0030]结合第四方面,需要指出的是,本发明提供的虚拟执行环境的访问装置还包括:第二接收模块,用于接收来自所述可信虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存;第二查询模块,用于在预设的第二内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求,否则提示访问异常。[0031]本发明提供的虚拟执行环境的访问装置还包括:第三接收模块,用于接收来自任一虚拟机的访问请求,所述访问请求携带设备标识;第三查询模块,用于在预设的设备访问权限表中查询所述虚拟机是否能够访问所述设备标识对应的设备;如果确定所述虚拟机能够访问所述设备标识对应的设备,则完成所述访问请求,否则提示访问异常。[0032]本发明提供的虚拟执行环境的访问装置还包括:第四接收模块,用于接收任一中断处理请求,所述中断处理请求携带中断类型;第四查询模块,用于在预设的中断处理权限表中查询负责处理所述中断类型的虚拟机,并将所述中断处理请求分配至所述虚拟机进行处理。[0033]本发明的移动终端具有硬件提供的可信执行环境,所述可信执行环境中设置有安全模块。本发明提供的虚拟执行环境的访问装置还包括:第五接收模块,用于接收来自任一虚拟机的修改请求,所述修改请求为对预设的第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表或虚拟机监视器的页表的修改请求;转发模块,用于将所述修改请求转发至位于可信执行环境中的安全模块,由所述安全模块判断所述修改请求是否符合所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件、所述中断处理权限表的合法修改条件或虚拟机监视器的页表的合法修改条件,并在确定符合任一合法修改条件时,允许所述修改请求;其中,所述合法修改条件包括发送所述修改请求的虚拟机为可信虚拟机。[0034]本发明提供的虚拟执行环境的访问装置中的所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件和所述中断处理权限表的合法修改条件均可以包括发送修改请求的虚拟机为可信虚拟机;同时,所述合法修改条件还包括所述虚拟机发送的修改请求是对所述虚拟机所属用户的第一内存映射表、第二内存映射表、设备访问权限表或中断处理权限表进行的修改。[0035]本发明提供的虚拟执行环境的访问装置在可信执行环境中设置的安全模块通过对修改请求的合法性判断,避免恶意程序对用户的数据信息的非法修改,保证用户的数据安全。附图说明[0036]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。[0037]图1是本发明实施例提供的执行环境的虚拟化的架构示意图;[0038]图2是本发明实施例提供的为虚拟机用户的普通虚拟机和可信虚拟机进行内存分配的示意图;[0039]图3是本发明实施例提供的一种执行环境的虚拟化方法流程图;[0040]图4是本发明实施例提供的一种虚拟执行环境的访问方法流程图;[0041]图5是本发明实施例提供的一种对虚拟执行环境中的第一内存映射表的访问方法流程图;_[0042]图6是本发明实施例提供的一种对虚拟执行环境中的第二内存映射表的访问方法流程图;_[0043]图7是本发明实施例提供的一种对虚拟执行环境中的设备访问权限表的访问方法流程图;_[0044]图8是本发明实施例提供的一种对虚拟执行环境中的中断处理权限表的访问方法流程图;[0045]图9是本发明实施例提供的一种分别针对预设的第一内存映射表、第二内存映射表、设备访问权限表和中断处理权限表的修改处理方法流程图;[0046]图1〇是本发明实施例提供的一种执行环境的虚拟化装置的结构示意图;[0047]图11是本发明实施例提供的一种虚拟执行环境的访问装置的结构示意图;[0048]图12是本发明实施例提供的一种执行环境的虚拟化装置的硬件结构示意图;[0049]图13是本发明实施例提供的一种虚拟执行环境的访问装置的硬件结构示意图。具体实施方式[0050]为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。[0051]移动终端具有硬件提供的可信执行环境和普通执行环境,为了保证用户的安全应用的数据安全性,将对数据安全要求较高的安全应用单独运行于所述可信执行环境中,而将普通应用运行于与所述可信执行环境隔离开的普通执行环境中。然而,由于目前的移动终端硬件仅能为配置的多台虚拟机提供一个可信执行环境,因此,该移动终端上的所有虚拟机用户不得不共享同一个可信执行环境,用于运行各自的安全应用。但是这完全丧失了可信执行环境为安全应用提供安全执行环境的本质功能,一旦移动终端中存在恶意虚拟机用户,该恶意虚拟机用户能够轻易通过共享的可信执行环境窃取其他虚拟机用户的隐私数据。[0052]如图1所示,图1为本发明实施例提供的执行环境的虚拟化的架构示意图。其中,本发明提供的执行环境虚拟化方法应用于移动终端,如智能手机、平板电脑等,所述移动终端具有硬件提供的普通执行环境和可信执行环境。本发明分别利用两台虚拟机为该移动终端上的各个虚拟机用户模拟硬件提供的可信执行环境和普通执行环境,所述两台虚拟机分别为可信虚拟机和普通虚拟机。如图1所示,用户1配置有普通虚拟机-1和可信虚拟机-1;用户2配置有普通虚拟机-2和可信虚拟机-2。由于每个虚拟机用户拥有独立的可信虚拟机用于执行各自的安全应用,所以本发明能够实现每个虚拟机用户的安全应用的执行环境之间的隔离,避免了恶意虚拟机用户通过共享的可信执行环境窃取其他虚拟机用户的隐私数据的威胁。[0053]另外,移动终端的普通执行环境中运行有虚拟机监视器,所述虚拟机监视器包括执行环境虚拟模块、执行环境调度模块、内存管理模块和外部设备管理模块。所述执行环境虚拟模块用于为所述移动终端的各个虚拟机用户建立普通虚拟机和可信虚拟机,并对其进行维护和管理,具体包括对普通虚拟机与可信虚拟机的初始化、系统状态维护以及保证两者之间的关联关系等。[0054]所述执行环境调度模块用于通过下陷的方式截获用户在普通虚拟机或可信虚拟机中执行的环境切换指令,并通过查询所述执行环境虚拟模块维护的用户与普通虚拟机、可信虚拟机的关联关系,确定所述用户需要切换的目标虚拟机,并进行执行环境的切换。具体为,保存所述用户当前使用的虚拟机的执行状态信息;读取并恢复所述目标虚拟机的执行状态信息。为了保证被所述执行环境调度模块切换出去的虚拟机,只有所述用户再次执行所述环境切换指令时才能被再次执行,所述执行环境调度模块标记所述被切换出去的虚拟机,以使所述执行环境调度模块在进行执行环境切换时不会选择标记的虚拟机。[0055]本发明通过模拟移动终端硬件提供的可信执行环境和普通执行环境的内存分配情况,为各个用户的可信虚拟机和普通虚拟机进行内存的分配。具体的,利用所述内存管理模块为各个虚拟机用户的可信虚拟机和普通虚拟机进行内存的分配。如图2所示,图2为本发明提供的为虚拟机用户的普通虚拟机和可信虚拟机进行内存分配的示意图。其中,所述内存管理模块为属于一个用户的普通虚拟机和可信虚拟机分配相同大小的虚拟物理内存,其中,所述普通虚拟机的虚拟物理内存包括普通内存和安全内存;所述可信虚拟机的虚拟物理内存包括普通内存和安全内存;所述普通虚拟机的普通内存与所述可信虚拟机的普通内存大小相同。所述内存管理模块建立所述普通虚拟机的普通内存与物理内存的映射关系,所述可信虚拟机的虚拟物理内存与物理内存的映射关系。并将所述普通虚拟机的普通内存与物理内存的映射关系存储在第一内存映射表中,将所述可信虚拟机的虚拟物理内存与物理内存的映射关系存储在第二内存映射表中,以使得所述普通虚拟机只能访问所述普通虚拟机的普通内存,所述可信虚拟机可访问全部的虚拟物理内存。另外,为了使得同一用户的普通虚拟机与可信虚拟机共享同样的普通内存,两台虚拟机的普通内存被映射至同一段真实的物理内存。[0056]所述外部设备管理模块用于为各个虚拟机用户建立并维护设备访问权限表和中断处理权限表。其中,所述设备访问权限表用于存储所述用户的普通虚拟机和可信虚拟机分别能够访问的设备;所述中断处理权限表用于存储所述用户的普通虚拟机和可信虚拟机分别负责处理的中断类型。当所述外部设备管理模块接收到用户的虚拟机发出的设备访问请求时,在所述设备访问权限表中查询所述虚拟机是否能够访问该设备,如果确定能够访问,则完成所述设备访问请求;否则提示访问异常。另外,当所述外部设备管理模块接收到用户的虚拟机发出的中断处理请求时,在中断处理权限表中查询负责处理所述中断类型的虚拟机,并将所述中断处理请求分配至所述虚拟机进行处理。[0057]本发明中的移动终端硬件提供了可信执行环境,所述可信执行环境中设置有安全模块,所述安全模块可以由TrustZone硬件架构中的处理器实现。利用移动终端硬件提供的隔离性,单独运行于所述可信执行环境中的安全模块不易被恶意程序破坏。同时,所述内存管理模块维护的所述第一内存映射表、所述第二内存映射表,以及所述外部设备管理模块维护的所述设备访问权限表和所述中断处理权限表作为关键管理数据存储于所述虚拟机监视器中。所述安全模块中预先存储了各个关键管理数据的合法修改条件,由所述安全模块完成任一对关键管理数据的修改请求的合法性验证,具体的,所述合法修改条件包括发出所述修改请求的虚拟机必须是可信虚拟机。在所述安全模块确定所述修改请求合法后,所述虚拟机监视器才能够完成所述修改请求。也就是说,存储于所述虚拟机监视器中的关键管理数据对于普通执行环境中的程序为只读格式,不能对其进行直接修改。[0058]另外,为了防止恶意程序通过修改所述虚拟机监视器的代码的方式绕过所述安全模块的合法性验证步骤,本发明将所述虚拟机监视器的页表也标记为关键管理数据,只有通过所述安全模块的合法性验证后才能够对其进行修改。其中,所述虚拟机监视器的页表包括所述虚拟机监视器的虚拟地址到真实物理地址的映射关系。本方法能够有效防止所述虚拟机监视器的代码遭受篡改,进一步保证了用户的数据安全。[0059]本发明实施例提供了一种执行环境的虚拟化方法,参考图3,图3为本发明实施例提供的一种执行环境的虚拟化方法流程图,所述方法包括:[0060]S301:在所述普通执行环境中为用户建立普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用。[0061]本发明实施例提供的执行环境的虚拟化方法应用于移动终端,其中,移动终端具有硬件提供的普通执行环境和可信执行环境,本发明实施例提供的方法即是对所述普通执行环境和所述可信执行环境的虚拟化方法。[0062]本发明实施例利用两台虚拟机分别为普通虚拟机和可信虚拟机为一个虚拟机用户模拟普通执行环境和可信执行环境。所述虚拟机用户的普通应用在普通虚拟机中执行,安全应用在可信虚拟机中执行,实现了所述用户的安全应用与普通应用的隔离。具体的,所述安全应用为对数据安全要求较高的应用,如涉及到交易、支付等的应用。[0063]S302:为所述普通虚拟机和所述可信虚拟机分配相同大小的虚拟物理内存,其中,所述普通虚拟机的虚拟物理内存包括普通内存和安全内存;所述可信虚拟机的虚拟物理内存包括普通内存和安全内存;所述普通虚拟机的普通内存与所述可信虚拟机的普通内存大小相同。[0064]基于移动终端具有的硬件提供的可信执行环境与普通执行环境的内存分配的特点,本发明实施例为用户的普通虚拟机和可信虚拟机分配相同大小的虚拟物理内存。同时,所述普通虚拟机和可信虚拟机具有的普通内存大小相同。[0065]S303:建立所述普通虚拟机的普通内存与物理内存的映射关系,并将所述普通虚拟机的普通内存与物理内存的映射关系存储在第一内存映射表中,以使得所述普通虚拟机根据所述第一内存映射表访问所述普通虚拟机的普通内存。[0066]S304:建立所述可信虚拟机的虚拟物理内存与物理内存的映射关系,并将所述可信虚拟机的虚拟物理内存与物理内存的映射关系存储在第二内存映射表中,以使得所述可信虚拟机根据所述第二内存映射表访问所述可信虚拟机的安全内存和普通内存;其中,所述可信虚拟机的普通内存映射的物理内存与所述普通虚拟机的普通内存映射的物理内存相同。[0067]由于只有映射至真实的物理内存的虚拟物理内存才能够被正常访问,否则会出现访问异常。所以,本发明实施例将可信虚拟机的虚拟物理内存映射至真实的物理内存,使得所述可信虚拟机可访问所述可信虚拟机的普通内存和安全内存;另外,本发明实施例还将普通虚拟机的普通内存映射至真实的物理内存,而安全内存并未映射至真实的物理内存,使得所述普通虚拟机只能访问所述普通虚拟机的普通内存,而访问其安全内存时会出现访问异常。另外,由于一个用户的可信虚拟机和普通虚拟机具有关联关系,所以在内存分配的过程中,虚拟机监视器将普通虚拟机的普通内存和可彳目虚拟机的普通内存映射至同一块真实的物理内存上,完成一个用户的可信虚拟机和普通虚拟机在内存方面的关联关系的建立。[0068]本发明实施例中,在建立普通虚拟机的普通内存与物理内存的映射关系时,产生第一内存映射表,用于存储所述普通虚拟机的普通内存和物理内存的映射关系。在建立可信虚拟机的虚拟物理内存与物理内存的映射关系时,产生第二内存映射表,用于存储所述可信虚拟机的虚拟物理内存与物理内存的映射关系。[0069]本发明实施例提供的执行环境的虚拟化方法中,为各个用户建立并维护设备访问权限表和中断处理权限表。其中,所述设备访问权限表用于存储所述用户的普通虚拟机和可信虚拟机分别能够访问的设备;所述中断处理任务表用于存储所述用户的普通虚拟机和可信虚拟机分别负责处理的中断类型。[0070]另外,为了加强移动终端中数据信息的安全性,本发明实施例中的第一内存映射表、第二内存映射表、设备访问权限表和中断处理权限表对于普通执行环境中的程序为只读格式,即普通执行环境中的程序不能直接对其进行修改。[0071]本发明实施例在移动终端的硬件提供的可信执行环境中设置有安全模块,分别将所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件和所述中断处理权限表的合法修改条件存储于所述安全模块中。[0072]另外,为了防止移动终端内的虚拟机监视器被恶意程序篡改,所以,将所述虚拟机监视器的页表也设置为对于普通执行环境中的程序为只读格式。同时,所述虚拟机监视器的页表的合法修改条件也存储于所述安全模块中。[0073]本发明实施例提供的执行环境的虚拟化方法中,利用可信虚拟机和普通虚拟机模拟移动终端硬件提供的可信执行环境和普通执行环境,为虚拟机用户的安全应用和普通应用提供相互隔离的执行环境,保证安全应用的数据安全。[0074]本发明实施例还提供了一种虚拟执行环境的访问方法,参考图4,为本发明实施例提供的虚拟执行环境的访问方法流程图,所述方法包括:[0075]S401:截获用户在普通虚拟机或可信虚拟机中执行的环境切换指令。[0076]S402:根据所述环境切换指令,确定所述用户需要切换的目标虚拟机。[0077]S403:保存所述用户当前使用的虚拟机的执行状态信息;读取并恢复所述目标虚拟机的执行状态信息。[0078]在对移动终端的硬件提供的执行环境进行虚拟化之后,本发明实施例对虚拟化的执行环境进行访问。[0079]实际应用中,一个虚拟机用户具有普通虚拟机和可信虚拟机,当所述用户在当前使用的虚拟机中触发环境切换指令时,移动终端的虚拟机监视器截获所述用户执行的环境切换指令,对执行环境进行切换。[0080]由于一个用户具有的普通虚拟机和可信虚拟机具有关联关系,所以,在截获所述环境切换指令后,查询与所述用户当前使用的虚拟机具有关联关系的虚拟机,并将所述虚拟机作为所述用户需要切换的目标虚拟机。[0081]具体的,在切换执行环境的过程中,所述虚拟机监视器保存所述用户当前使用的虚拟机的执行状态信息,以便后续再次启动时使用;同时读取并恢复所述目标虚拟机的执行状态信息。具体的,在执行所述环境切换指令之前所述用户使用的虚拟机将暂停运行,直至所述用户再次执行所述环境切换指令。[0082]本发明实施例还提供了对虚拟执行环境中的第一内存映射表、第二内存映射表、设备访问权限表、中断处理请求的访问方法。[0083]参考图5,图5为本发明实施例提供的对虚拟执行环境中的第一内存映射表的访问方法流程图,所述方法包括:[0084]S501:接收来自所述普通虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存。[0085]S502:在预设的第一内存映射表中查询与所述虚拟物理内存具有映射关系的物理内存;如果查询到所述物理内存,则执行S503。[0086]S503:完成所述内存访问请求。[0087]本发明实施例中,移动终端的虚拟机监视器在接收到来自普通虚拟机的内存访问请求时,在预设的第一内存映射表中查询与所述内存访问请求携带的虚拟物理内存具有映射关系的真实的物理内存,如果查询存在与所述虚拟物理内存具有映射关系的物理内存,则完成所述内存访问请求,即将所述物理内存返回至所述普通虚拟机,以便所述普通虚拟机能够访问所述物理内存。如果查询不存在与所述虚拟物理内存具有映射关系的物理内存,则提示访问异常。[0088]参考图6,图6为本发明实施例提供的对虚拟执行环境中的第二内存映射表的访问方法流程图,所述方法包括:[0089]S601:接收来自所述可信虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存。[0090]S602:在预设的第二内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则执行S603。[0091]S603:完成所述内存访问请求。[0092]本发明实施例中,移动终端的虚拟机监视器在接收到来自可信虚拟机的内存访问请求时,在预设的第二内存映射表中查询与所述内存访问请求携带的虚拟物理内存具有映射关系的真实的物理内存,如果查询存在与所述虚拟物理内存具有映射关系的物理内存,则完成所述内存访问请求,即将所述物理内存返回至所述可信虚拟机,以便所述可信虚拟机能够访问所述物理内存。如果查询不存在与所述虚拟物理内存具有映射关系的物理内存,则提示访问异常。[0093]参考图7,图7为本发明实施例提供的对虚拟执行环境中的设备访问权限表的访问方法流程图,所述方法包括:[0094]S701:接收来自任一虚拟机的设备访问请求,所述访问请求携带设备标识;[0095]S702:在预设的设备访问权限表中查询所述虚拟机是否能够访问所述设备标识对应的设备;如果确定所述虚拟机能够访问所述设备标识对应的设备,则执行S703。[0096]S703:完成所述访问请求。[0097]本发明实施例中,移动终端的虚拟机监视器在接收到来自任一台虚拟机的设备访问请求时,在预设的设备访问权限表中查询所述虚拟机是否能够访问所述设备。如果确定所述虚拟机能够访问所述设备,则允许所述虚拟机对设备的访问,否则禁止所述虚拟机对所述设备的访问,如提示访问异常等。[0098]参考图8,图8为本发明实施例提供的对虚拟执行环境中的中断处理权限表的访问方法流程图,所述方法包括:[0099]S801:接收任一中断处理请求,所述中断处理请求携带中断类型。[0100]SS02:在预设的中断处理权限表中查询负责处理所述中断类型的虚拟机。S803:将所述中断处理请求分配至所述虚拟机进行处理。[0102]本发明实施例中,移动终端的虚拟机监视器在接收到任一中断处理请求后,在预设的中断处理权限表中查询负责处理所述中断处理请求携带中断类型的虚拟机,并将所述中断处理请求分配至所述虚拟机进行处理。[0103]另外,本发明实施例中的移动终端硬件提供的可信执行环境中设置有安全模块,为了进一步保证虚拟机用户的数据安全,本发明实施例提供了分别针对预设的第一内存映射表、第二内存映射表、设备访问权限表和中断处理权限表的修改处理方法。参考图9,为本发明实施例提供的分别针对预设的第一内存映射表、第二内存映射表、设备访问权限表和中断处理权限表的修改处理方法流程图,所述方法包括:[0104]S901:接收来自任一虚拟机的修改请求,所述修改请求为对预设的第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表或虚拟机监视器的页表的修改请求。[0105]S902:将所述修改请求转发至位于可信执行环境中的安全模块。[0106]S903:所述安全模块判断所述修改请求是否符合所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件、所述中断处理权限表的合法修改条件或虚拟机监视器的页表的合法修改条件,并在确定符合任一合法修改条件时,执行S904。[0107]其中,所述合法修改条件包括发送所述修改请求的虚拟机为可信虚拟机。[0108]S904:允许所述修改请求。[0109]由于安全模块位于移动终端硬件提供的可信执行环境中,利用硬件提供的隔离性,本发明实施例中的安全模块能够防止被恶意程序破坏。另外,将第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表或虚拟机监视器的页表的合法修改条件存储于所述安全模块中,一旦存在对第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表或虚拟机监视器的页表的修改请求后,由所述安全模块根据预设的合法修改条件判断所述修改请求是否合法,如果合法才允许对第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表或虚拟机监视器的页表的修改。所以,本发明实施例能够防止第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表和虚拟机监视器的页表被恶意修改,保证了虚拟机用户的数据安全。[0110]具体的,所述第一内存映射表、所述第二内存映射表、所述设备访问权限表的合法修改条件、所述中断处理权限表的合法修改条件均为发送所述修改请求的虚拟机为可信虚拟机,同时所述虚拟机的修改请求是对所述虚拟机所属用户的第一内存映射表、第二内存映射表、设备访问权限表或中断处理权限表进行修改。所述虚拟机监视器的页表的合法修改条件为发送所述修改请求的虚拟机为可信虚拟机。[0111]本发明实施例提供的虚拟执行环境的访问方法中,一个用户的可信虚拟机和普通虚拟机模拟移动终端硬件提供的可信执行环境和普通执行环境的执行环境切换过程,为用户的安全应用和普通应用提供相互独立的执行环境,保证数据信息的安全。[0112]另外,本发明实施例通过在移动终端硬件提供的可信执行环境中设置安全模块为用户的数据安全提供进一步的保证。安全模块通过对修改请求的合法性判断,避免恶意程序对用户的数据信息的非法修改,保证用户数据安全。[0113]本发明实施例还提供了一种执行环境的虚拟化装置,参考图10,图10为本发明实施例提供的一种执行环境的虚拟化装置的结构示意图,所述装置应用于移动终端,所述移动终端具有硬件提供的普通执行环境和可信执行环境;所述装置包括:[0114]第一建立模块1001,用于在所述普通执行环境中为用户建立普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用;[0115]分配模块1002,用于为所述普通虚拟机和所述可信虚拟机分配相同大小的虚拟物理内存,其中,所述普通虚拟机的虚拟物理内存包括普通内存和安全内存;所述可信虚拟机的虚拟物理内存包括普通内存和安全内存;所述普通虚拟机的普通内存与所述可信虚拟机的普通内容大小相同;[0116]第二建立模块1003,用于建立所述普通虚拟机的普通内存与物理内存的映射关系,并将所述普通虚拟机的普通内存与物理内存的映射关系存储在第一内存映射表中,以使得所述普通虚拟机根据所述第一内存映射表访问所述普通虚拟机的普通内存;[0117]第三建立模块1004,用于建立所述可信虚拟机的虚拟物理内存与物理内存的映射关系,并将所述可信虚拟机的虚拟物理内存与物理内存的映射关系存储在第二内存映射表中,以使得所述可信虚拟机根据所述第二内存映射表访问所述可信虚拟机的安全内存和普通内存;其中,所述可信虚拟机的普通内存映射的物理内存与所述普通虚拟机的普通内存映射的物理内存相同。[0118]另外,所述装置还包括:[0119]第四建立模块,用于为所述用户建立并维护设备访问权限表和中断处理权限表,其中,所述设备访问权限表用于存储所述用户的普通虚拟机和可信虚拟机分别能够访问的设备;所述中断处理任务表用于存储所述用户的普通虚拟机和可信虚拟机分别负责处理的中断类型。[0120]为了进一步保证用户的数据信息安全,所述装置还包括:[0121]存储模块,用于分别将所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件和所述中断处理权限表的合法修改条件以及虚拟机监视器的页表的合法修改条件存储于安全模块,所述安全模块位于所述可信执行环境中,所述可信虚拟机可对所述安全模块进行操作。[0122]本发明实施例提供的执行环境的虚拟化装置利用可信虚拟机和普通虚拟机模拟移动终端硬件提供的可彳目执行环境和普通执行环境,为虚拟机用户的安全应用和普通应用提供相互隔离的执行环境,保证安全应用的数据安全。[0123]本发明实施例还提供了一种虚拟执行环境的访问装置,参考图11,为本发明实施例提供的一种虚拟执行环境的访问装置的结构示意图,所述装置包括:[0124]截获模块1101,用于截获用户在普通虚拟机或可信虚拟机中执行的环境切换指令;[0125]确定模块1102,用于根据所述环境切换指令,确定所述用户需要切换的目标虚拟机;[0126]保存模块1103,用于保存所述用户当前使用的虚拟机的执行状态信息;[0127]读取模块1104,用于读取并恢复所述目标虚拟机的执行状态信息。[0128]实际应用中,所述装置还包括:[0129]第一接收模块,用于接收来自所述普通虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存;[0130]第一查询模块,用于在预设的第一内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求。[0131]实际应用中,所述装置还包括:[0132]第二接收模块,用于接收来自所述可信虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存;[0133]第二查询模块,用于在预设的第二内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求。[0134]实际应用中,所述装置还包括:[0135]第三接收模块,用于接收来自任一虚拟机的访问请求,所述访问请求携带设备标识;[0136]第三查询模块,用于在预设的设备访问权限表中查询所述虚拟机是否能够访问所述设备标识对应的设备;如果确定所述虚拟机能够访问所述设备标识对应的设备,则完成所述访问请求。[0137]实际应用中,所述装置还包括:[0138]第四接收模块,用于接收任一中断处理请求,所述中断处理请求携带中断类型;[0139]第四查询模块,用于在预设的中断处理权限表中查询负责处理所述中断类型的虚拟机,并将所述中断处理请求分配至所述虚拟机进行处理。[0140]为了进一步保证用户数据信息安全,所述装置还包括:[0141]第五接收模块,用于接收来自任一虚拟机的修改请求,所述修改请求为对预设的第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表或虚拟机监视器的页表的修改请求;[0142]转发模块,用于将所述修改请求转发至位于可信执行环境中的安全模块,由所述安全模块判断所述修改请求是否符合所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件、所述中断处理权限表的合法修改条件或虚拟机监视器的页表的合法修改条件,并在确定符合任一合法修改条件时,允i午所述修改请求;其中,所述合法修改条件包括发送所述修改请求的虚拟机为可信虚拟机。[0143]本发明实施例提供的虚拟执行环境的访问装置为一个用户的可信虚拟机和普通虚拟机模拟移动终端硬件提供的可信执行环境和普通执行环境的执行环境切换过程,为用^的安全应用和普通应用提供相互独立的执行环境,保证数据信息的安全。另外,在可信执行环境中设置的安全模块通过对修改请求的合法性判断,避免恶意程序对用户的数据信息的非法修改,保证用户数据安全。[0144]图12为本发明一实施例提供的执行环境的虚拟化装置的结构示意图,所述装置应用于移动终端,所述移动终端具有硬件提供的普通执行环境。如图12所示,所述装置包括处理器1201、存储器1202,还包括1\0接口1203,所述处理器和所述存储器通过总线连接,其中,所述存储器存储程序代码,并将所述程序代码传输给所述处理器,所述处理器根据所述程序代码中的指令,执行以下步骤:[0145]在所述普通执行环境中为用户建立普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用;为所述普通虚拟机和所述可信虚拟机分配相同大小的虚拟物理内存,其中,所述普通虚拟机的虚拟物理内存包括普通内存和安全内存;所述可信虚拟机的虚拟物理内存包括普通内存和安全内存;所述普通虚拟机的普通内存与所述可信虚拟机的普通内存大小相同;建立所述普通虚拟机的普通内存与物理内存的映射关系,并将所述普通虚拟机的普通内存与物理内存的映射关系存储在第一内存映射表中,以使得所述普通虚拟机根据所述第一内存映射表访问所述普通虚拟机的普通内存;建立所述可信虚拟机的虚拟物理内存与物理内存的映射关系,并将所述可信虚拟机的虚拟物理内存与物理内存的映射关系存储在第二内存映射表中,以使得所述可信虚拟机根据所述第二内存映射表访问所述可信虚拟机的安全内存和普通内存;其中,所述可信虚拟机的普通内存映射的物理内存与所述普通虚拟机的普通内存映射的物理内存相同。[0146]可选地,所述处理器还用于为所述用户建立并维护设备访问权限表和中断处理权限表,其中,所述设备访问权限表用于存储所述用户的普通虚拟机和可信虚拟机分别能够访问的设备;所述中断处理权限表用于存储所述用户的普通虚拟机和可信虚拟机分别负责处理的中断类型。[0147]可选地,所述移动终端具有硬件提供的可信执行环境,所述处理器还用于分别将所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件和所述中断处理权限表的合法修改条件以及虚拟机监视器的页表的合法修改条件存储于安全模块,所述安全模块位于所述可信执行环境中,所述可信虚拟机可对所述安全模块进行操作。[0148]图13为本发明一实施例提供的虚拟执行环境的访问装置的结构示意图,所述装置应用于移动终端,所述移动终端具有硬件提供的普通执行环境,所述普通执行环境中运行有两台与预设用户相关联的虚拟机,分别为普通虚拟机和可信虚拟机,其中,所述普通虚拟机用于执行所述用户的普通应用,所述可信虚拟机用于执行所述用户的安全应用。如图13所示,所述装置包括处理器1301、存储器1302,还包括1\0接口1303,所述处理器和所述存储器通过总线连接,其中,所述存储器存储程序代码,并将所述程序代码传输给所述处理器,所述处理器根据所述程序代码中的指令,执行以下步骤:[0149]截获用户在普通虚拟机或可信虚拟机中执行的环境切换指令;根据所述环境切换指令,确定所述用户需要切换的目标虚拟机;保存所述用户当前使用的虚拟机的执行状态信息;读取并恢复所述目标虚拟机的执行状态信息。[°15°]可选地,所述处理器还用于接收来自所述普通虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存;在预设的第一内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求。[G151]所述处理器还用于接收来自所述可信虚拟机的内存访问请求,所述内存访问请求携带虚拟物理内存;在预设的第二内存映射表中查询与所述虚拟物理内存具有映射关系的真实物理内存;如果查询到所述真实物理内存,则完成所述内存访问请求。[0152]所述处理器还用于接收来自任一虚拟机的设备访问请求,所述设备访问请求携带设备标识;在预设的设备访问权限表中查询所述虚拟机是否能够访问所述设备标识对应的设备;如果确定所述虚拟机能够访问所述设备标识对应的设备,则完成所述设备访问请求。[0153]所述处理器还用于接收任一中断处理请求,所述中断处理请求携带中断类型;在预设的中断处理权限表中查询负责处理所述中断类型的虚拟机,并将所述中断处理请求分配至所述虚拟机进行处理。[0154]可选地,所述移动终端具有硬件提供的可信执行环境,所述处理器还用于接收来自任一虚拟机的修改请求,所述修改请求为对预设的第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表或虚拟机监视器的页表的修改请求;[0155]将所述修改请求转发至位于可信执行环境中的安全模块,由所述安全模块判断所述修改请求是否符合所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件、所述中断处理权限表的合法修改条件或虚拟机监视器的页表的合法修改条件,并在确定符合任一合法修改条件时,允许所述修改请求;其中,所述合法修改条件包括发送所述修改请求的虚拟机为可信虚拟机。[0156]本发明实施例所述执行环境的虚拟化装置和所述虚拟执行环境的访问装置的技术原理和技术效果可以参考图1至图11所示实施例中的相关描述,不再赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。[0157]在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。[0158]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。[0159]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。[0160]上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备可以是个人计算机,服务器,或者网络设备等执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:移动硬盘、只读存储器(英文:Read-On1yMemory,简称ROM、随机存取存储器英文:RandomAccessMemory,简称RAM、磁碟或者光盘等各种可以存储程序代码的介质。t〇161]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。

权利要求: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任一项所述的装置,其特征在于,所述移动终端具有硬件提供的可信执行环境,所述装置还包括:第五接收模块,用于接收来自任一虚拟机的修改请求,所述修改请求为对预设的第一内存映射表、第二内存映射表、设备访问权限表、中断处理权限表或虚拟机监视器的页表的II多以咱不;转发機,肝将臓彳自改i冑雜发至彳奸可信撕職巾的錢機,自所述安全模块判断所述修改请求是否符合所述第一内存映射表的合法修改条件、所述第二内存映射表的合法修改条件、所述设备访问权限表的合法修改条件、所述中断处理权限表的合法修改条件或虚拟机监视器的页表的合法修改条件,并在确定符合任一合法修改条件时,允$所述修改请求;其中,所述合法修改条件包括发送所述修改请求的虚拟机为可信虚拟机。

百度查询: 华为技术有限公司 一种执行环境的虚拟化、虚拟执行环境的访问方法及装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。