一种内存页转移方法技术

技术编号:16645163 阅读:59 留言:0更新日期:2017-11-26 18:11
本发明专利技术涉及一种内存页转移方法,方法包括:处理器接收到第一安全容器enclave调用第二安全容器函数的请求;确定第一安全容器对应的待转移的安全内存EPC页,以及第一线性地址,即待转移的安全内存页在第一安全容器中的线性地址;获取第二线性地址,即待转移的安全内存页在第二安全容器中的线性地址;以第一安全容器为当前安全容器,第二安全容器为目标安全容器,在第一安全容器中调用跨安全容器跳转EAJMP指令来传递指令参数;找到安全内存页对应的安全内存控制表EPCM,将其中的安全内存页归属字段ENCLAVESECS内容由当前安全容器身份标签修改为目标安全容器身份标签,并将合法线性地址字段ENCLAVEADDRESS内容由当前线性地址修改为目标线性地址。

A memory page transfer method

The invention relates to a memory page transfer method, method comprising: a processor receives the first call to enclave second security container security container function request; the first security container corresponding transfer security memory EPC page, and the first linear address, the linear address in the first safe container is to be transferred to the Security page of memory access; second linear address, linear address in the second security in the container to be transferred to the first page of memory safety; safety container for the current security container, second safe container for the target of safety in the first container security container calls the EAJMP command to jump across the security container transfer instruction table EPCM memory control parameters; find safe memory pages corresponding, the security field ENCLAVESECS content pages belonging by the current security container ID tag is modified as an object The full container identity tag and modifies the legal linear address field ENCLAVEADDRESS content from the current linear address to the target linear address.

【技术实现步骤摘要】
一种内存页转移方法
本专利技术涉及内存页转移方法,尤其是涉及一种在多个enclave之间进行内存页相互转移的方法。
技术介绍
Intel的SGX(SoftwareGuardExtensions)技术,是Intel公司为建立一个安全可靠的程序运行环境而提供的一套软硬件解决方案(包括新产生的17条相关指令,和对应的硬件设施)。与普通程序不同,安全容器(enclave)中的程序是运行在隔离的内存中(称为EPC,EnclavePageCache),所有非enclave的程序都将无法访问EPC,这是由硬件控制的。另外每个enclave的EPC物理页面都对应一个控制访问权限的EPCM(EnclavePageCacheMap)结构,只有自身的enclave才能访问自己的EPC物理页面,而别的enclave会因为无法通过EPCM检查而无法访问该页面,从而达到多个enclave之间的隔离。多个enclave之间的访问隔离虽然强化了软件的安全性,但同时也产生一些问题:1)两个enclave之间无法快速实现函数相互调用,这样容易导致同一个函数在EPC内存中存在多个副本,浪费EPC内存空间且不便于维护。2)本文档来自技高网...
一种内存页转移方法

【技术保护点】
一种内存页转移方法,其特征在于,方法包括:处理器接收到第一安全容器(enclave)调用第二安全容器函数的请求;确定所述第一安全容器对应的待转移的安全内存(EPC)页,以及第一线性地址,即待转移的安全内存页在第一安全容器中的线性地址;获取第二线性地址,即待转移的安全内存页在第二安全容器中的线性地址;以所述第一安全容器为当前安全容器,所述第二安全容器为目标安全容器,在所述第一安全容器中调用跨安全容器跳转(EAJMP)指令来传递指令参数;找到所述安全内存页对应的安全内存控制表(EPCM),将其中的安全内存页归属字段(ENCLAVESECS)内容由当前安全容器身份标签修改为目标安全容器身份标签,并将...

【技术特征摘要】
1.一种内存页转移方法,其特征在于,方法包括:处理器接收到第一安全容器(enclave)调用第二安全容器函数的请求;确定所述第一安全容器对应的待转移的安全内存(EPC)页,以及第一线性地址,即待转移的安全内存页在第一安全容器中的线性地址;获取第二线性地址,即待转移的安全内存页在第二安全容器中的线性地址;以所述第一安全容器为当前安全容器,所述第二安全容器为目标安全容器,在所述第一安全容器中调用跨安全容器跳转(EAJMP)指令来传递指令参数;找到所述安全内存页对应的安全内存控制表(EPCM),将其中的安全内存页归属字段(ENCLAVESECS)内容由当前安全容器身份标签修改为目标安全容器身份标签,并将合法线性地址字段(ENCLAVEADDRESS)内容由当前线性地址修改为目标线性地址。2.根据权利要求1所述的方法,其特征在于,方法还包括:所述第一安全容器与所述第二安全容器进行相互认证,如果认证成功,则相互交换各自安全容器身份标签(enclaveID)、所述第一线性地址和所述第二线性地址,以及共享随机数。3.根据权利要求1所述的方法,其特征在于,所述跨安全容器跳转(EAJMP)指令的指令参数包括以下字段:目标安全容器身份标签(Target_Enclave_ID)、当前安全容器身份标签(Current_Enclave_ID)、共享随机数(Shared_Key)、目标安全容器的函数编号(Target_Enclave_Func)、待转移安全内存页面数量(EPC_PAGE_NUM)、待转移的安全内存页在当前安全容器中的线性地址(Current_Enclave_Page_Vaddr)、待转移的安全内存页在目标安全容器中的线性地址(Target_Enclage_Page_Vaddr)、当前安全容器的线程控制信息(Current...

【专利技术属性】
技术研发人员:吴宇杜朝晖应志伟
申请(专利权)人:致象尔微电子科技上海有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1