英特尔SGX HeapMaxSize和EPC页面交换

时间:2016-01-19 18:11:40

标签: paging intel

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

  

飞地内存是一种有限的资源。最大堆大小设置为   飞地创造。

但SGX规范是否允许EPC页面交换(EPA,EBLOCK,ETRACK,EWB)?

或者更实际的意义:设置HeapMaxSize=2^64字节是否有缺点?

SDK可能尚不支持EPC页面交换,或者可信区域代码是否必须手动触发此类交换?

修改 正如 ab。指出的那样,使用SGXv1,所有EPC页面必须在安全区执行之前进行EADD编辑。此时SDK是否仅支持SGXv1指令?

1 个答案:

答案 0 :(得分:3)

我不熟悉SGX SDK,但请注意,SGXv1分页指令(EWB / ELDU和朋友)仍然要求您首先将EADDed放在所有页面上,并保留其加密内容在某些地方,以防他们被使用。即使SDK确实支持这一点,启动时你的飞地也会花费更长的时间,并且在为所有分页页面运行时会占用大量的存储空间。

SGXv2使用EAUG / EACCEPT解决了这个问题。