mobilecoinfoundation / mobilecoin

Private payments for mobile devices.
Other
1.16k stars 151 forks source link

Update interfaces to pass `TrustedMeasurement` #3368

Closed nick-mobilecoin closed 1 year ago

nick-mobilecoin commented 1 year ago

Currently the interfaces pass a Verifier object. with the new implementation of https://github.com/mobilecoinfoundation/attestation for DCAP the same verifier object won't work for DCAP and EPID. We could make a wrapper verifier, but we don't know which underlying verifier we need until we get to the Report (also called Evidence) and the Report isn't seen until sometime later after the clients have provided the verifier object.

Based on initial design in, https://github.com/mobilecoinfoundation/mcips/pull/65, it may be better to create a plain old data(POD) type for the MRENCLAVE|MRSIGNER values along with the advisories, and then pass this POD down to the point where verification happens. Building a verifier at the verify() location.

Thinking of modifying https://github.com/mobilecoinfoundation/mobilecoin/blob/baac37c736d84cc7ac1a812a83f4cea749c0ff8e/attest/verifier/config/src/lib.rs#L22 to be this POD.

Initial steps:

nick-mobilecoin commented 1 year ago

interface has been updated