一句话:提出可变元数统一树 VAULT,压缩 SGX 完整性验证并降低 EPC 分页开销,性能提升 3.7 倍。
Intel SGX 通过将敏感页放入容量有限的 EPC 来提供机密性、完整性与认证,但 EPC 仅 128 MB,导致敏感页频繁换入换出;每次换页约 40K 周期,平均可拖慢系统 5 倍。若将 EPC 扩展到物理内存并同时容纳非敏感页,又受到完整性树深度、缓存能力以及树和 MAC 空间开销的制约。本文提出可变元数统一树 VAULT,以更紧凑、更低深度的树组织降低内存带宽开销,并结合 MAC 共享与压缩减少验证空间开销。模拟结果表明,该方案可消除 SGX 内存访问的大部分低效,相对 SGX 基线整体性能提升 3.7 倍,而内存容量开销仅为 4.7%。
Intel's SGX offers state-of-the-art security features, including confidentiality, integrity, and authentication (CIA) when accessing sensitive pages in memory. Sensitive pages are placed in an Enclave Page Cache (EPC) within the physical memory before they can be accessed by the processor. To control the overheads imposed by CIA guarantees, the EPC operates with a limited capacity (currently 128 MB). Because of this limited EPC size, sensitive pages must be frequently swapped between EPC and non-EPC regions in memory. A page swap is expensive (about 40K cycles) because it requires an OS system call, page copying, updates to integrity trees and metadata, etc. Our analysis shows that the paging overhead can slow the system on average by 5×, and other studies have reported even higher slowdowns for memory-intensive workloads. The paging overhead can be reduced by growing the size of the EPC to match the size of physical memory, while allowing the EPC to also accommodate non-sensitive pages. However, at least two important problems must be addressed to enable this growth in EPC: (i) the depth of the integrity tree and its cacheability must be improved to keep memory bandwidth overheads in check, (ii) the space overheads of integrity verification (tree and MACs) must be reduced. We achieve both goals by introducing a variable arity unified tree (VAULT) organization that is more compact and has lower depth. We further reduce the space overheads with techniques that combine MAC sharing and compression. With simulations, we show that the combination of our techniques can address most inefficiencies in SGX memory access and improve overall performance by 3.7×, relative to an SGX baseline, while incurring a memory capacity over-head of only 4.7%.