[发明专利]用于隔离的密码强制执行能力在审
申请号: | 201810996839.3 | 申请日: | 2018-08-29 |
公开(公告)号: | CN109583152A | 公开(公告)日: | 2019-04-05 |
发明(设计)人: | M·勒梅;D·D·德拉姆;M·张;V·尚博格 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 刘瑜;王英 |
地址: | 美国加*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算机程序 编译器 源代码 可执行指令 分析器 存储器访问操作 指针 处理器操作 代码生成器 强制执行 存储器 耦合到 解密 处理器 编译 加密 解析 分析 引用 隔离 认证 | ||
1.一种用于计算的装置,包括:
一个或多个处理器;
存储器;以及
由所述一个或多个处理器操作以编译计算机程序的编译器,其中,所述编译器包括:
一个或多个分析器,用于解析和分析计算机程序的生成指针或取消引用指针的源代码;以及
代码生成器,其耦合到所述一个或多个分析器,以生成针对所述计算机程序的源代码的可执行指令,包括至少部分地基于所述分析的结果,将附加的加密或解密可执行指令插入到所述计算机程序中,以对所述源代码的存储器访问操作进行认证。
2.如权利要求1所述的装置,其中:
附加的可执行指令包括:
要在所述计算机程序的生成指针的任何源代码之后插入的加密指令;以及
要在所述计算机程序的取消引用指针的任何源代码之前插入的解密指令。
3.如权利要求2所述的装置,其中,所述加密指令和所述解密指令各自将保护域标识符(PDID)作为输入,所述保护域标识符(PDID)表示要加载到一个或多个处理器的运行时环境中以便执行所生成的指令的保护域(PD)。
4.如权利要求2或3中的任一项所述的装置,其中,将分别的PD分派给要加载到所述运行时环境中的一个或多个应用中的每一个,所述一个或多个应用具有对共享的存储器区域的访问权。
5.如权利要求2所述的装置,其中,当执行时,所述加密指令的输出包括至少部分加密的指针,并且所述指针包括授予对存储器位置的访问权的嵌入的元数据,并且其中,当所述至少部分加密的指针被输入到解密指令中并且成功执行所述解密指令时,获得要由所述计算机程序的源代码生成的对应指针。
6.如权利要求5所述的装置,其中,所述解密指令的执行还需要密钥,所述密钥被分派给PD,其中,执行所述解密指令的应用由一个或多个处理器的运行时环境的根PD运行以执行所生成的指令。
7.如权利要求6所述的装置,其中,所述密钥是以下中的选定的一个:用于加密跨多个预定义的时间间隔而持续的指针的第一密钥,或用于加密仅对单个预定义的时间间隔有效的指针的第二密钥。
8.如权利要求7所述的装置,其中,所述密钥是所述第二密钥,并且其中,通过改变对于对所述至少部分加密的指针执行解密指令所需的所述密钥,在所述单个预定义的时间间隔过期时撤销对由所述加密的指针指示的所述存储器位置的访问权。
9.如权利要求5-7中任一项所述的装置,其中,所述至少部分加密的指针包括三个字段:永久字段、对象大小字段、以及指针字段,并且其中:
所述永久字段用于指示所述加密的指针是不会过期还是仅在单个预定义的时间间隔内有效,
所述对象大小字段指定所述加密的指针授予访问权的所述存储器中的对象的大小,以及
所述指针字段指定所述对象在所述存储器中的地址。
10.如权利要求9所述的装置,其中,所述加密指令规定所述指针字段的只有一部分要被加密,所述部分包括所述指针字段的多个最高有效位。
11.如权利要求10所述的装置,其中,所述对象大小字段和所述指针字段中的多个未加密位被合并到要用于解密所述至少部分加密的指针的调整信息中。
12.如权利要求5-7中任一项所述的装置,还包括固定块大小密码,用于至少部分地加密所述至少部分加密的指针。
13.如权利要求5-7中任一项所述的装置,其中,所述解密指令将所述至少部分加密的指针、生成所述指针的所述PD的PDID、以及调整信息作为输入,所述调整信息包括:所述PDID、所述对象大小字段、以及所述至少部分加密的指针的所述指针字段的未加密的预定义的数量的最低有效位。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810996839.3/1.html,转载请声明来源钻瓜专利网。