用于访问安全世界的方法、装置和系统与流程

文档序号:16210371发布日期:2018-12-08 07:39阅读:来源:国知局

技术特征:

1.一种用于访问安全世界的方法,其特征在于,包括:

在非安全世界创建第一虚拟机;

将所述非安全世界中的多个程序加载到所述第一虚拟机中,所述多个程序包括内核和至少一个用户程序,其中,所述内核运行在第一等级的模式下,所述至少一个用户程序运行在第二等级的模式下,所述第一等级高于所述第二等级;

在确定所述至少一个用户程序中的第一用户程序需要访问安全世界时,在所述非安全世界创建运行在所述第一等级的模式下的第二虚拟机;

将所述第一用户程序从所述第一虚拟机中剥离,并加载到所述第二虚拟机,以便于所述第一用户程序通过所述第二虚拟机访问所述安全世界。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

设置虚拟化列表,以禁止所述多个程序中除所述第一用户程序之外的其他程序访问属于被剥离的所述第一用户程序的内存页。

3.根据权利要求1或2所述的方法,其特征在于,所述在所述非安全世界创建运行在所述第一等级的模式下的第二虚拟机,包括:

为所述第二虚拟机分配由所述第一用户程序独享的资源。

4.根据权利要求1至3中任一项所述的方法,其特征在于,所述多个程序还包括所述第一用户程序对应的代理程序,其中,在所述第一用户程序从所述第一虚拟机剥离之后,所述代理程序作为所述第一用户程序在所述第一虚拟机的代理,以触发所述内核处理需要由所述内核处理的待处理事件,其中,所述待处理事件是在所述第一用户程序在所述第二虚拟机运行时产生的。

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

获取所述待处理事件,所述待处理事件需要由所述内核处理,且是在所述第一用户程序在所述第二虚拟机中运行时产生的;

保存所述第二虚拟机的上下文;

恢复所述第一虚拟机中所述代理程序的上下文,以用于触发所述第一虚拟机加载的所述内核对所述待处理事件进行处理。

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:

在所述第一虚拟机处理完所述待处理事件之后,在所述第二虚拟机中恢复所述第一用户程序。

7.根据权利要求4至6中任一项所述的方法,其特征在于,所述待处理事件为中断事件、缺页异常事件或系统调用事件。

8.根据权利要求1至7中任一项所述的方法,其特征在于,在所述将所述第一用户程序从所述第一虚拟机中剥离之前,所述方法还包括:

确定所述第一用户程序为安全用户程序。

9.根据权利要求8所述的方法,其特征在于,所述确定所述第一用户程序为安全用户程序包括:

获取第一哈希值组和第二哈希值组,所述第一哈希值组包括至少一个第一哈希值,所述第二哈希值组包括至少一个第二哈希值,其中,

每个第一哈希值与所述第一用户程序中的至少一个数据对象中的每个数据对象一一对应,所述每一哈希值为数据对象的当前的哈希值;

每个第二哈希值与所述第一用户程序中的至少一个数据对象中的每个数据对象一一对应,所述第二哈希值是所述数据对象在出厂时的哈希值;

在所述第一哈希值组与第二哈希值组相同时,确定所述第一用户程序为安全用户程序。

10.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法由高级精简指令集计算机制造公司ARM处理器实现,所述第一等级的模式为特权等级EL1模式,所述第二等级的模式为EL0模式。

11.一种虚拟机监控器,其特征在于,包括创建单元以及加载单元;其中,

所述创建单元用于:在非安全世界创建第一虚拟机;

所述加载单元用于:将所述非安全世界中的多个程序加载到所述创建单元创建的所述第一虚拟机中,所述多个程序包括内核和至少一个用户程序,其中,所述内核运行在第一等级的模式下,所述至少一个用户程序运行在第二等级的模式下,所述第一等级高于所述第二等级;

所述创建单元进一步用于:在所述至少一个用户程序中的第一用户程序需要访问安全世界时,在所述非安全世界创建运行在所述第一等级的模式下的第二虚拟机;

所述加载单元进一步用于:将所述第一用户程序从所述第一虚拟机中剥离,并加载到所述创建单元创建的所述第二虚拟机,以便于所述第一用户程序通过所述第二虚拟机访问所述安全世界。

12.根据权利要求11所述的虚拟机监控器,其特征在于,所述虚拟机监控器还包括设置单元用于:

设置虚拟化列表,以禁止所述多个程序中除所述第一用户程序之外的其他程序访问被剥离的所述第一用户程序的内存页。

13.根据权利要求11或12所述的虚拟机监控器,其特征在于,所述创建单元进一步用于:

为所述第二虚拟机分配由所述第一用户程序独享的资源。

14.根据权利要求11至13中任一项所述的虚拟机监控器,其特征在于,所述多个程序还包括所述第一用户程序对应的代理程序,其中,在所述第一用户程序从所述第一虚拟机剥离之后,所述代理程序作为所述第一用户程序在所述第一虚拟机的代理,以触发所述内核处理需要由所述内核处理的待处理事件,其中,所述待处理事件是在所述第一用户程序在所述第二虚拟机运行时产生的。

15.根据权利要求14所述的虚拟机监控器,其特征在于,所述虚拟机监控器还包括处理单元,用于:

获取所述待处理事件,所述待处理事件需要由所述内核处理,且是在所述第一用户程序在所述第二虚拟机中运行时产生的;

保存所述第二虚拟机的上下文;

恢复所述第一虚拟机中所述代理程序的上下文,以用于触发所述第一虚拟机加载的所述内核对所述待处理事件进行处理。

16.根据权利要求15所述的虚拟机监控器,其特征在于,所述处理单元进一步用于:

在所述第一虚拟机处理完所述待处理事件之后,在所述第二虚拟机中恢复所述第一用户程序。

17.根据权利要求14至16中任一项所述的虚拟机监控器,其特征在于,所述待处理事件为中断事件、缺页异常事件或系统调用事件。

18.根据权利要求11至17中任一项所述的虚拟机监控器,其特征在于,所述虚拟机监控器还包括确定单元,用于:

确定所述第一用户程序为安全用户程序。

19.根据权利要求18所述的虚拟机监控器,其特征在于,所述确定单元进一步用于:

获取第一哈希值组和第二哈希值组,所述第一哈希值组包括至少一个第一哈希值,所述第二哈希值组包括至少一个第二哈希值,其中,

每个第一哈希值与所述第一用户程序中的至少一个数据对象中的每个数据对象一一对应,所述每一哈希值为数据对象的当前的哈希值;

每个第二哈希值与所述第一用户程序中的至少一个数据对象中的每个数据对象一一对应,所述第二哈希值是所述数据对象在出厂时的哈希值;

在所述第一哈希值组与第二哈希值组相同时,确定所述第一用户程序为安全用户程序。

20.根据权利要求11至19中任一项所述的虚拟机监控器,其特征在于,所述虚拟机监控器由高级精简指令集计算机制造公司ARM处理器控制实现,所述第一等级的模式为特权等级EL1模式,所述第二等级的模式为EL0模式。

21.一种用于访问安全世界的系统,其特征在于,包括:

非安全世界的硬件层;

运行在非安全世界的所述硬件层之上的虚拟机监控器,由所述虚拟机监控器创建和控制的第一虚拟机和第二虚拟机;其中,

所述第一虚拟机用于加载所述非安全世界的多个程序,所述多个程序包括内核和至少一个用户程序,其中,所述内核运行在第一等级的模式下,所述至少一个用户程序运行在第二等级的模式下,所述第一等级高于所述第二等级;

所述第二虚拟机用于加载所述至少一个用户程序中从所述第一虚拟机剥离的第一用户程序,以用于所述第一用户程序通过所述第二虚拟机访问安全世界,其中,所述第二虚拟机运行在第二等级的模式下。

22.根据权利要求21所述的系统,其特征在于,所述虚拟机监控器还用于:设置虚拟化列表,以禁止所述多个程序中除所述第一用户程序之外的其他程序访问访问被剥离的所述第一用户程序的内存页。

23.根据权利要求21或22所述的系统,其特征在于,所述第二虚拟机的资源是由所述第一用户程序独享的资源。

24.根据权利要求21至23中任一项所述的系统,其特征在于,所述多个程序还包括所述第一用户程序对应的代理程序,其中,在所述第一用户程序从所述第一虚拟机剥离之后,所述代理程序作为所述第一用户程序在所述第一虚拟机的代理,以触发所述内核处理需要由所述内核处理的待处理事件,其中,所述待处理事件是在所述第一用户程序在所述第二虚拟机运行时产生。

25.根据权利要求24所述的系统,其特征在于,所述待处理事件为中断事件、缺页异常事件或系统调用事件。

26.根据权利要求21至25中任一项所述的系统,其特征在于,在所述虚拟机监控器创建所述第二虚拟机之前,所述虚拟机监控器还用于:确定所述第一用户程序为安全用户程序。

27.根据权利要求26所述的系统,其特征在于,所述虚拟机监控器具体用于:

获取第一哈希值组和第二哈希值组,所述第一哈希值组包括至少一个第一哈希值,所述第二哈希值组包括至少一个第二哈希值,其中,

每个第一哈希值与所述第一用户程序中的至少一个数据对象中的每个数据对象一一对应,所述每一哈希值为数据对象的当前的哈希值;

每个第二哈希值与所述第一用户程序中的至少一个数据对象中的每个数据对象一一对应,所述第二哈希值是所述数据对象在出厂时的哈希值;

在所述第一哈希值组与第二哈希值组相同时,确定所述第一用户程序为安全用户程序。

28.根据权利要求21至27中任一项所述的系统,其特征在于,所述虚拟机监控器由高级精简指令集计算机制造公司ARM处理器控制实现,所述第一等级的模式为特权等级EL1模式,所述第二等级的模式为EL0模式。

29.一种用于访问安全世界的装置,其特征在于,包括处理器和存储器,其中,存储器用于存储指令,所述处理器用于调用所述存储器存储的指令,以执行根据权利要求1-10中任一项所述的方法。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1