Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

geth-sgx-gramine remote attestation flow #19

Open
sbellem opened this issue May 10, 2023 · 0 comments
Open

geth-sgx-gramine remote attestation flow #19

sbellem opened this issue May 10, 2023 · 0 comments

Comments

@sbellem
Copy link
Contributor

sbellem commented May 10, 2023

Te goal of this issue is to properly understand the remote attestation flow in geth-sgx-gramine.

See https://github.com/flashbots/geth-sgx-gramine#how-does-the-attestation-work for an introduction.

geth-sgx-gramine leverages gramine's ra-tls interface, documented in https://gramine.readthedocs.io/en/stable/attestation.html#mid-level-ra-tls-interface. A minimal example is provided by gramine at https://github.com/gramineproject/gramine/tree/master/CI-Examples/ra-tls-mbedtls.

It's important to note that gramine's ra-tls flow supports both EPID and ECDSA-based attestations. However, as per their documentation, geth-sgx-gramine only supports DCAP (ECDSA). It seems that it's possible to support EPID as well though by making small modifications to geth-sgx-gramine/attest.c (@njeans did this work).

For both EPID and DCAP, communication with a trusted entity is necessary to verify the SGX quote. In the case of EPID it's IAS (Intel Attestation Service), and in the case of DCAP, it's some attestation infrastructure, like PCCS.

If we are using EPID, we can just keep on using IAS, which we know how.

If we are to use DCAP, then we could use PCCS. We currently know how to run a PCCS server, in a docker container, such that it could be integrated with our docker based setup. A more thorough understanding of the overall flow is necessary.

Links

@sbellem sbellem changed the title Understanding the remote attestation flow geth-sgx-gramine remote attestation flow May 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant