-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Documentation
Examples
- https://software.intel.com/content/www/us/en/develop/articles/code-sample-intel-software-guard-extensions-remote-attestation-end-to-end-example.html (source code: https://github.com/intel/sgx-ra-sample)
More involved examples, with remote attestation:
Both examples are based on the paper Integrating Remote Attestation with Transport Layer Security.
Also, see the secret provisioning example at https://github.com/cloud-security-research/sgx-ra-tls/tree/master/apps/secret-provisioning-example.
Remote Attestation in different Frameworks
- Occlum ...
- https://github.com/alibaba/inclavare-containers ...
- https://docs.microsoft.com/en-us/azure/attestation/ ...
- https://github.com/openenclave/openenclave
- ...
Look at each one and see how they get the "trusted configuration" aka "MRENCLAVE, MRSIGNER, etc". The being here that at some point someone, some entity must establish what the trusted config is, and that establishment event, can only (one could argue), be based on the "trusted source code". Leaving aside how the source code becomes "trusted" (e.g. through audits, reviews, battle tested, etc), we want any party to be able to reproduce the trusted configuration from the trusted source code. To be able to reproduce the trusted configuration from the trusted source code, require reproducible builds. Going back to the different SDKs, frameworks etc, the question is then for a given enclave built, how can one reproduce that build?
First thing to find out is whether these frameworks all depend on the SGX SDK (linux-sgx for linux OS)