You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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 togeth-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
The text was updated successfully, but these errors were encountered: