-
Notifications
You must be signed in to change notification settings - Fork 1
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
First commit with attestation API from PDO's pull request #501 #1
base: main
Are you sure you want to change the base?
First commit with attestation API from PDO's pull request #501 #1
Conversation
Signed-off-by: Bruno Vavala <[email protected]>
**Attestation generation.** | ||
The library exposes the `init_attestation(params)` and `attestation_blob = get_attestation(statement)` APIs. | ||
`params` is a json blob to initialize the internal state of the library for an attestation. The `statement` is a binary string which (in SGX) is hashed to generate the "report data" to be attested. | ||
```jsonc |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Question: instead of runtime selection of the attestation method, can this just be compile time (or link time)? Make each method a separate library that can be linked. It seems unlikely that the attestation method would change for a particular application at run time.
"hex_spid": "<hex encoded spid>", // only for EPID | ||
"sig_rl": "<sigrl>" // only for EPID | ||
} | ||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given that EPID has been EOL'd, is there a reason to continue to support it?
|
||
**Attestation verification.** | ||
The attestation library exposes the `verify_evidence(evidence_blob, statement, code_id)` API. In SGX, the code identity refers to the `mrenclave` value. The verification result is simply `true` or `false`, depending on the outcome. The API mainly verifies: the chain of trust of the evidence (i.e., none for the `simulated` type; up to the IAS root CA for EPID; up to the SGX Root CA for the `dcap-direct-sgx` type; up to the ITA root CA for the `dcap-sgx` type. The respective root CA certificates are all retrieved at build time and compiled into the library. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
one more request... can we differentiate between "integrity" of the evidence (meaning all the signature are valid) and "policy" for whether the evidence meets some set of requirements?
This PR adds the implementation of the attestation API (extended from Hyperledger Fabric Private Chaincode), which was initially pushed in the PDO repo and integrated with the PDO build -- see hyperledger-labs/private-data-objects#501.