[发明专利]一种可信应用的运行方法、装置及设备有效
申请号: | 202010231197.5 | 申请日: | 2020-03-27 |
公开(公告)号: | CN113449292B | 公开(公告)日: | 2022-07-29 |
发明(设计)人: | 秦凯伦;刘双;顾宗敏;闫守孟 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | G06F21/53 | 分类号: | G06F21/53;G06F21/57;G06F9/455 |
代理公司: | 北京晋德允升知识产权代理有限公司 11623 | 代理人: | 王戈 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 可信 应用 运行 方法 装置 设备 | ||
1.一种可信应用的运行方法,包括:
虚拟机监视器获取已启动的可信应用对于可信执行环境的创建请求;所述可信应用的程序代码至少包括运行在不可信操作系统的第一代码,以及需要运行在可信执行环境的第二代码;
将所述可信应用已占用的物理CPU确定为虚拟CPU;
从所述可信应用已占用的物理内存中确定出虚拟内存空间;
基于所述虚拟CPU与所述虚拟内存空间,创建具有可信执行环境的虚拟机;
控制所述虚拟机运行所述第二代码。
2.如权利要求1所述的方法,所述创建具有所述可信执行环境的虚拟机,具体包括:
禁止另外的设备访问所述虚拟内存空间的物理地址。
3.如权利要求2所述的方法,所述禁止另外的设备访问所述虚拟内存空间的物理地址,具体包括:
将扩展页表中所述虚拟内存空间对应的物理地址修改为第一地址;所述第一地址与所述虚拟内存空间对应的实际物理地址不同。
4.如权利要求2所述的方法,所述禁止另外的设备访问所述虚拟内存空间的物理地址,具体包括:
将输入输出内存管理器的设备内存访问页表中所述虚拟内存空间对应的物理地址修改为第二地址;所述第二地址与所述虚拟内存空间对应的实际物理地址不同。
5.如权利要求1所述的方法,所述创建具有所述可信执行环境的虚拟机,具体包括:
禁止另外的设备访问所述虚拟CPU的状态数据。
6.如权利要求5所述的方法,所述禁止另外的设备访问所述虚拟CPU的状态数据,具体包括:
对于每个物理CPU,将所述物理CPU的状态数据访问权限设置为只能访问自身的状态数据。
7.如权利要求1所述的方法,还包括:
获取核间中断指令;
判断所述核间中断指令的目标CPU是否是所述虚拟CPU,得到判断结果;
若所述判断结果表示所述核间中断指令的目标CPU是所述虚拟CPU,则中止所述核间中断指令的执行。
8.如权利要求1所述的方法,所述虚拟机监视器的系统权限为第一权限,所述虚拟机监视器获取可信应用对于可信执行环境的创建请求之前,还包括:
将加载所述虚拟机监视器的操作系统的系统权限设置为第二权限,所述第二权限低于所述第一权限。
9.如权利要求1所述的方法,所述虚拟机监视器获取可信应用对于可信执行环境的创建请求之前,还包括:
禁止另外的设备访问所述虚拟机监视器的内存地址。
10.如权利要求9所述的方法,所述禁止另外的设备访问所述虚拟机监视器的内存地址,具体包括:
将扩展页表中所述虚拟机监视器的内存地址修改为第三地址;所述第三地址与所述虚拟机监视器的实际内存地址不同。
11.如权利要求1所述的方法,还包括:
使用哈希算法生成所述可信执行环境的安全内存区域的度量值;
将所述度量值保存到所述虚拟机监视器的内存。
12.如权利要求1所述的方法,还包括:
获取需要切换至所述不可信操作系统运行的切换请求;
响应于所述切换请求,将所述虚拟CPU的状态数据保存至安全区域;
清除虚拟机状态寄存器中所述虚拟CPU的状态数据;
将所述虚拟CPU的运行状态切换为运行在所述不可信操作系统。
13.如权利要求12所述的方法,还包括:
获取所述不可信操作系统的数据返回请求;
确定所述数据返回请求对应的地址;
判断所述地址是否是所述切换请求对应的地址;
若是,将所述虚拟CPU的运行状态切换至所述具有可信执行环境的虚拟机,并根据所述数据返回请求返回的数据继续运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010231197.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:测温文件生成方法、显示方法及装置
- 下一篇:图像处理方法及装置