-
Notifications
You must be signed in to change notification settings - Fork 15
Description
Section 4.3.1. Wallet Attestation Schema defines that the wallet attestation issuer's (a.k.a. wallet provider's) public key is distributed using a mechanism defined in SD-JWT VC section 5. JWT VC Issuer Metadata. The mechanism is essentially:
- Download a JSON document from an HTTPS URL.
- Get a JWK key
a. either by finding the key from the document'sjwks.keysarray
b. or by downloading another JSON document from a JWKS endpoint referenced in the original document'sjwks_urifield and finding the key fromjwks.keysarray in the second JSON document.
Presumably this key resolution is done by the credential issuer during the credential issuance process. What is lacking here is a trust model. How does the credential issuer trust the key presented in the first or the second JSON document? How does the credential issuer know that the wallet attestation is signed by a legitimate wallet provider?
An ISO/IEC 23220-3 draft defines a similar wallet attestation schema and presents a certificate chain-based trust model in one of its wallet attestation examples. In the example the wallet provider's public key is distributed along with the wallet attestation by inserting a certificate with the public key to the wallet attestation's x5c header. I suppose the idea there is that the credential issuer has a CA certificate in its trust store and can thus establish trust to the wallet provider's certificate and public key via the CA certificate.