3

.edl 文件包含一个HeapMaxSize条目。SDK 用户指南指出,这是因为

飞地内存是有限的资源。最大堆大小在 enclave 创建时设置。

但是 SGX 规范不允许 EPC 页面交换(EPA、EBLOCK、ETRACK、EWB)吗?

或者从更实际的意义上说:设置HeapMaxSize=2^64字节有缺点吗?

也许 SDK 还不支持 EPC 页面交换,或者可信 enclave 代码必须手动触发这种交换?

编辑ab。指出,对于 SGXv1,所有 EPC 页面都必须EADD在 enclave 执行之前进行编辑。此时的 SDK 是否仅支持 SGXv1 指令?

4

1 回答 1

4

我不熟悉 SGX SDK,但请注意,SGXv1 分页指令(EWB/ELDU 和朋友)仍然要求您首先对所有页面进行 EADD,并将其加密内容保存在某个地方以防万一用过的。即使 SDK 确实支持这一点,您的 enclave 也需要更长的时间才能启动,并且在运行所有分页页面时会在某个地方消耗大量存储空间。

SGXv2 通过 EAUG/EACCEPT 解决了这个问题。

于 2016-01-20T00:24:03.823 回答