Intro to Intel® Software Guard Extensions (Intel® SGX) directional enclave argument pointers. Sample code for passing data between enclave and application.
How does a software developer detect Intel SGX support on a system for application and installer support? Learn the details behind Intel SGX CPU support, management, and reporting.
Enclaves are isolated memory regions of code and data that are highly secure. Application code can be put into an enclave via special instructions and software via the Intel® SGX SDK. SGX Enclaves are hardened by CPU-based security mechanisms and can be remotely provisioned and attested.
There are 18 types of instructions and 13 types of data structures available in Intel® SGX. Get a quick overview of this foundation architecture of the platform.
In part 3 of this series, you'll learn how to design an application to take advantage of Intel® Software Guard Extensions (Intel® SGX). You'll examine the overall structure of an application, and then create a class model that prepares the app for enclave design and integration. Source code is included.
In part 5 of this tutorial series, we complete the interface for the Password Manager DLL. Source code is included. Your application must function on systems both with and without Intel® SGX support, and that means you must create two versions: one intended for use in enclaves, and one for use in untrusted memory.
Part 6 of this tutorial series shows how to create dual code paths to support hosts with and without Intel® SGX capability. Source code is included.
Learn about the Intel® SGX enclave APIs and how proxy functions are used to marshall data between protected and unprotected memory space. Source code is included.
In Part 8 we integrate the GUI with the back end. We examine implications of mixing managed code with enclaves and how to mitigate the potential for undermining security gained from Intel® SGX.
Learn how to extend the functionality of GNU Autoconf to build software that makes use of Intel® SGX. Includes a download with templates and a sample application source tree.