Skip to content

donnod/linux-sgx-mage

Repository files navigation

MAGE: Mutual Attestation for a Group of Enclaves without Trusted Third Parties

MAGE is an extension of Intel SGX SDK (v2.6) to support mutual attestation for a group of enclaves without trusted third parties.

The extension includes:

MAGE Library (sdk/mage):

  • Reserve a read-only data section, named .sgx_mage, to store auxiliary information for mutual attestation.
  • Provide APIs for deriving trusted enclaves' measurements from .sgx_mage.

Modified Enclave Loader (psw/urts/loader, psw/urts/parser):

  • Change the order of loading EPC pages, so that the EPC pages in .sgx_mage section are loaded after all other EPC pages.

Modified Signing Tool (sdk/sign_tool/SignTool):

  • Extract auxiliary information from enclaves.
  • Insert auxiliary information into the .sgx_mage section of enclaves.

Build Instructions

Follow the original build instructions to build the SDK linux-sgx_2.6.

Sample Code

Sample Code for three enclaves to mutually derive measurements is provided in SampleCode/MutualAttestation.

Integration with Open-Sourced SGX Application

OPERA-MAGE: Open Remote Attestation for Intel's Secure Enclaves (MAGE version)

Artifact Evaluation

This repo is an prototype implementation of the following paper:

[USENIX Security’22] MAGE: Mutual Attestation for a Group of Enclaves without Trusted Third Parties by Guoxing Chen and Yinqian Zhang

The code and instructions for reproducing the results presented in the paper can be found in sec22ae.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published