[发明专利]具有非可读页的存储器保护有效
申请号: | 201580064767.3 | 申请日: | 2015-12-26 |
公开(公告)号: | CN107003936B | 公开(公告)日: | 2021-03-30 |
发明(设计)人: | R·N·巴克瓦尼;R·L·萨希塔;D·M·德拉姆 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F12/00 | 分类号: | G06F12/00 |
代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 刘瑜;王英 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 具有 可读 存储器 保护 | ||
1.一种存储计算机指令以用于执行的方法,所述方法包括:
规定用于仅执行访问的存储器区域;
将一组指令存储在所述存储器区域中;
执行所述一组指令之中的早期指令,其中,执行所述早期指令包括将秘密值加载到易失性寄存器中;以及
执行所述一组指令之中的一组后续指令,其中,所述后续指令的正确执行取决于被加载到所述易失性寄存器中的所述秘密值,
其中,所述易失性寄存器被配置为使得加载在其中的信息响应于异步事件而丢失。
2.根据权利要求1所述的方法,其中,所述一组指令包括被配置为阻止以下中的一个或多个的一组事务性指令:
不按顺序执行所述一组指令;或者
部分执行所述一组指令。
3.根据权利要求1或2所述的方法,其中,所述秘密值包括非规范地址,并且其中,所述易失性寄存器包括堆栈指针。
4.根据权利要求3所述的方法,其中,所述后续指令被配置为使得处理器执行到基于所述堆栈指针中的秘密值的地址的间接跳转。
5.根据权利要求4所述的方法,其中,所述后续指令被配置为在加载所述秘密值之后且在所述间接跳转之前的时间段期间不干扰所述堆栈指针。
6.根据权利要求3所述的方法,包括:
保留所述堆栈指针中的秘密值,直到对于正确执行所述后续指令不再需要所述秘密值为止。
7.根据权利要求1-2中任一项所述的方法,其中,所述一组指令被配置为使得处理器禁用以下中的一个或多个:
中断;或者
断点。
8.根据权利要求1-2中任一项所述的方法,其中,规定所述存储器区域包括:
将所述存储器区域限制为在以下情况下执行:Ring 0访问特权、CPL0保护级别、或其它监督模式。
9.根据权利要求1-2中任一项所述的方法,其中,将所述秘密值加载到所述易失性寄存器中包括:
将立即值加载到所述易失性寄存器中。
10.根据权利要求1-2中任一项所述的方法,其中,执行所述一组后续指令包括将所述秘密值变换为有效地址。
11.根据权利要求1-2中任一项所述的方法,其中,执行所述一组后续指令包括:
从所述易失性寄存器中擦除所述秘密值。
12.根据权利要求1-2中任一项所述的方法,其中:
执行所述一组后续指令包括根据加载在所述易失性寄存器中的所述秘密值对地址进行解码。
13.根据权利要求1-2中任一项所述的方法,其中:
执行所述一组后续指令包括执行到至少基于加载在所述易失性寄存器中的所述秘密值的地址的跳转。
14.根据权利要求1-2中任一项所述的方法,其中:
执行所述一组后续指令包括具有至少基于加载在所述易失性寄存器中的所述秘密值的地址的至少一个MOV指令。
15.根据权利要求1-2中任一项所述的方法,其中:
存储在所述易失性寄存器中的所述秘密值包括存储器视图索引;以及
处理器被配置为响应于执行VMFUNC指令而至少基于所述存储器视图索引切换到存储器视图。
16.根据权利要求1-2中任一项所述的方法,其中:
存储在所述易失性寄存器中的所述秘密值包括密钥;以及
处理器被配置为执行至少基于所述密钥的密码功能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580064767.3/1.html,转载请声明来源钻瓜专利网。