[发明专利]一种内存页共享方法有效
申请号: | 201710708056.6 | 申请日: | 2017-08-17 |
公开(公告)号: | CN107544918B | 公开(公告)日: | 2021-01-15 |
发明(设计)人: | 杨文成;应志伟;杜朝晖 | 申请(专利权)人: | 海光信息技术股份有限公司 |
主分类号: | G06F12/0875 | 分类号: | G06F12/0875;G06F12/1045 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 徐丽 |
地址: | 300143 天津市华苑产业区*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 共享 方法 | ||
本发明涉及一种内存页共享方法,方法包括:第一安全容器enclave主动发起共享属于它的某个安全内存页EPC,或者收到第二安全容器共享属于第一安全容器某个EPC页的请求;第一安全容器验证第二安全容器的合法性;验证通过,则获取第二安全容器的安全容器身份标签和EPC页在第二安全容器所属的进程空间中映射的虚拟地址;在EPC页对应的安全内存页属性表EPCM中建立安全容器身份标签表;在安全容器身份标签表中插入一个条目,该条目记录第二安全容器的安全容器身份标签和虚拟地址;通知操作系统建立EPC页在第二安全容器所属的进程空间中的映射页表项。通过扩展EPCM,实现多个enclave共享EPC页,同一个EPC页在不同enclave中有自己的虚拟地址,enclave访问共享EPC如同访问属于自身的EPC页一样。
技术领域
本发明涉及内存页共享方法,尤其是涉及一种基于Intel SGX中enclave的内存页共享方法。
背景技术
随着计算机和互联网的发展和普及,越来越多人的人将重要数据存储在计算机上或者远程云端,或者通过互联网支付、转账等。其中最担心的问题是信息泄露和黑客攻击。针对开放式平台使用的信息安全解决方案,Intel提出了SGX(Software GuardExtensions)方案。该方案使用一组新的指令,增加内存访问权限,将特定的程序和数据置于受保护的安全容器enclave中,从而达到隔离保护的目的。
对于一个enclave,只有该enclave本身可以访问其中的程序和数据,而其它的enclave、基本输入输出系统BIOS、操作系统OS、直接内存存取DMA、显卡等软硬件没有访问权限。要访问enclave中的程序和数据,首先要经过权限验证进入enclave模式,再经过一系列的合法检查,才能运行enclave中的程序和访问其中的数据。运行完成enclave中的程序之后,回到应用程序。
这种设计有几个显著的缺点:1)enclave之间不能共享程序代码,对于相同的程序代码,每个enclave都要复制一份,这将导致enclave中程序代码重复,体积变大;2)一个enclave不能调用另一个enclave的程序,也不能直接访问另一个enclave的数据;3)enclave之间不能共享数据,也不能直接交换数据。两个enclave之间要交换数据,必须先将数据从一个enclave中复制到内存,再从内存复制到另一个enclave中。4)enclave之间不能直接通信。
发明内容
本发明主要针对enclave之间由于相互隔离导致的上述不足之处,本发明设计出一种enclave之间共享内存的方法,从而解决了:1、enclave之间共享EPC页,重复利用PIC程序(Position Independent Code),减小程序代码对EPC(Enclave Page Cache)的开销。2、实现跨越enclave函数调用;3、多个enclave之间可以通过共享内存高效传输数据。4、为enclave之间通信提供了一种同步通信机制。
为实现上述目的,本发明提供了一种内存页共享方法,方法包括:第一安全容器enclave发出请求,请求共享其有权访问的某个安全内存页EPC;或者收到第二安全容器enclave共享属于第一安全容器enclave某个EPC页的请求;第一安全容器enclave验证第二安全容器的合法性;如果验证通过,则获取第二安全容器的安全容器身份标签和安全内存页在第二安全容器所属的进程空间中映射的虚拟地址;在安全内存页对应的安全内存页属性表(EPCM)中插入一个条目,该条目记录第二安全容器的安全容器身份标签和所述虚拟地址;上述条目形成安全容器身份标签表;通知操作系统建立安全内存页在第二安全容器所属的进程空间中的映射页表项。
优选的,安全容器身份标签表中包含至少一个条目,每个条目记录允许访问该安全内存页的安全容器的安全容器身份标签,以及该安全内存页在在该安全容器所属进程空间中映射的虚拟地址。
优选的,在安全容器身份标签表中插入一个条目由处理器完成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于海光信息技术股份有限公司,未经海光信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710708056.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电量分块存储方法和系统
- 下一篇:处理系统及其访存方法