Intel SGX Enclave初始化

这张图改自Intel SGX手册的一张图(一年前看的,实在记不住在哪个位置了)。相对于那张图,我把PMH、ME两个硬件模块画上去了。

下图是Enclave初始化时硬件间关系图,Enclave初始化大致经历了(1)申请Enclave内存,(2)创建SECS数据结构,(3)加载Enclave代码进Enclave内存,(4)度量Enclave代码,(5)完成初始化。

图中最下面的内存中一块特定区域用作Enclave内存(一般称为Enclave Page Cache,EPC)。SECS是存储在EPC中的一个重要数据结构,用于Enclave管理。EPCM是存储于EPC中实施EPC访问控制的数据结构。CPU中的MEE硬件模块负责对EPC加密,防止物理攻击。CPU中的PMH硬件模块负责查询EPCM项并实施EPC访问控制。

以sgx_create_enclave为例初始化Enclave,源码流程如图所示。sgx_create_enclave扩展支持SGX PCL、Switchless Calls 初始化和Key Separation & Sharing (KSS).

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值