Open hlozi opened 1 week ago
I think there's 3 separate points that are probably being mixed together here:
As discussed on DCP Call, currently the JARM encrypts the vp_token
, which is a JSON structure. A possible (breaking) optimization could be to only encrypt individual Credentials, that could enable passing the encrypted credential to a SecureElement without it doing any JSON parsing.
As discussed on the WG call today, I'd propose to initially add a small note in the JARM section that clarifies the different options from JOSE and explicitly points to HPKE as one such option.
Switching from the current variant to encryption on the level of individual credentials is something that needs a bit more discussion and also has some dependencies on features currently getting discussed like wallet attestation as part of the authorization response (and where exactly it resides).
To illustrate, currently we do:
Auth Response -> JARM JWE -> vp_token -> credential
-> credential
The suggestion is to:
Auth Response -> vp_token -> JARM JWE -> credential
-> JARM JWE -> credential
The encryption for The Digital Credential Response should be specified in detail to ensure interoperability. Since the API is one-shot and doesn’t allow for negotiation, there should be a single encryption method. Negotiation would lead to privacy leaks.
Why HPKE ?