This monograph is the first in a two-part survey and analysis of the state of the art in secure processor systems, with a specific focus on remote software attestation and software isolation. It first examines the relevant concepts in computer architecture and cryptography, and then surveys attack vectors and existing processor systems claiming security for remote computation and/or software isolation. It examines, in detail, the modern isolation container (enclave) primitive as a means to minimize trusted software given practical trusted hardware and reasonable performance overhead. Specifically, this work examines the programming model and software design considerations of Intel’s Software Guard Extensions (SGX), as it is an available and documented enclave-capable system. This work advocates a principled, transparent, and well-scrutinized approach to secure system design, and argues that practical guarantees of privacy and integrity for remote computation are achievable at a reasonable design cost and performance overhead. See also: Secure Processors Part II: Intel SGX Security Analysis and MIT Sanctum Architecture Part II (ISBN 978-1-68083-302-7). Part II of this survey a deep dive into the implementation and security evaluation of two modern enclave-capable secure processor systems: SGX and MIT’s Sanctum. The complex but insufficient threat model employed by SGX motivates Sanctum, which achieves stronger security guarantees under software attacks with an equivalent programming model.

This monograph is the second of a two-part survey and analysis of the state of the art in secure processor systems, with a specific focus on remote software attestation and software isolation. The first part established the taxonomy and prerequisite concepts relevant to an examination of the state of the art in trusted remote computation: attested software isolation containers (enclaves). This second part extends Part I’s description of Intel’s Software Guard Extensions (SGX), an available and documented enclave-capable system, with a rigorous security analysis of SGX as a system for trusted remote computation. This part documents the authors’ concerns over the shortcomings of SGX as a secure system and introduces the MIT Sanctum processor developed by the authors: a system designed to offer stronger security guarantees, lend itself better to analysis and formal verification, and offer a more straightforward and complete threat model than the Intel system, all with an equivalent programming model. This two-part work advocates a principled, transparent, and well scrutinized approach to system design, and argues that practical guarantees of privacy and integrity for remote computation are achievable at a reasonable design cost and performance overhead. See also: Secure Processors Part I: Background, Taxonomy for Secure Enclaves and Intel SGX Architecture (ISBN 978-1-68083-300-3). Part I of this survey establishes the taxonomy and prerequisite concepts relevant to an examination of the state of the art in trusted remote computation: attested software isolation containers (enclaves).