SGX Memory Organization

前言

本节内容主要介绍了SGX Memory Organization,来自参考资料里的综述文章,可供初学者了解SGX内存组织对应的知识。

一、Processor Reserved Memory (PRM)

Processor Reserved Memory (PRM),即处理器保留内存。

在SGX进程中,安全关键代码和数据存储在一个名为“处理器保留内存”的隔离内存空间中。

PRM是动态随机存取存储器(DRAM)的子集,其范围由BIOS在引导时确定。DRAM是一种直接与CPU交换数据的内部存储器。PRM范围由两部分组成:Enclave页面缓存(EPC)和完整性树。完整性树负责维护EPC数据的消息认证码(MAC)标签。

二、Enclave Page Cache (EPC)

飞地实例的数据、代码和相关数据结构存储在称为EPC的存储空间中,EPC是PRM的一个子集。由于SGX设计允许同时拥有多个飞地实例,为了实现这一目标,EPC被拆分为4KB的页面。这些大小相等的页面可以分配给不同的飞地实例。负责管理EPC的系统软件可以是操作系统内核或系统管理程序,它使用SGX指令将EPC页面分配给飞地实例。SGX设计利用内存加密引擎(MEE)来保护EPC内存。MEE是集成存储器控制器(IMC)的扩展。对EPC页面的所有读写请求都由IMC路由到MEE。MEE禁止所有非飞地访问,甚至包括特权访问,如内核访问、系统管理程序访问和系统管理模式(SMM)访问。

三、Enclave Page Cache Map (EPCM)

负责分配EPC页面的系统软件不完全受信任。为了检查EPC页面分配决策的正确性,SGX将EPC页面分配信息记录在称为Enclave page Cache Map(EPCM)的内存空间中。EPCM是一个数组,每个EPC页面都对应于该数组中的一个条目。

三者对应的关系图如下

在这里插入图片描述

参考资料

[1] Shufan Fei, Zheng Yan, Wenxiu Ding, and Haomeng Xie. 2021. Security Vulnerabilities of SGX and Countermeasures: A Survey. ACM Comput. Surv. 54, 6, Article 126 (July 2022), 36 pages. https://doi.org/10.1145/3456631

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值