[Openid-dcp] Notes from DCP WG Hybrid Meeting 8th May 2025
Joseph Heenan
joseph at authlete.com
Sun May 11 15:22:10 UTC 2025
Thanks to Jan & Timo for taking these notes!
DCP WG Hybrid Meeting 8th May 2025
Attendees
Joseph Heenan
Timo Glastra
Kristina Yasuda
Christian Bormann
Shigeya Suzuki
Jan Vereecken
John Bradley
Nat Sakimura
Steve Venema
Daniel Fett
Martijn Haring
Bjorn Hjelm
Brian Campbell
Aders Mellqvist
Mirko Mollik
Filip Skokan
Gareth Oliver
Lee Campbell
Shigeya Suzuki
Oliver Terbu
Klaus Roehrle
Kaliya
Mirko Mollik
Paul Bastian
Peter Sorotokin
Notes
OpenID4VP / PR592
https://github.com/openid/OpenID4VP/pull/592
Clarification is accepted by the WG
OpenID4VP / PR593
https://github.com/openid/OpenID4VP/pull/593
Looking for more approvals (3-4 more needed)
Christian brings up “If empty, no specific constraints are placed on the metadata or validity of the requested”
Martijn finds this approach different from elsewhere in the spec where if empty it should be omitted
Daniel thinks this is better than conditionally making this required
Looking for approvals
OpenID4VP / PR509 make the meta parameter required
https://github.com/openid/OpenID4VP/pull/509
Looking for reviewers.
Christian wonders if a better place to add this is HAIP for example.
Martijn brings up that there are two ways to review:
1/ Is the text correct (MUSTS, SHOULDS etc)
2/ Is this the correct place (which is more difficult to decide)
OpenID4VP / Issue 569
https://github.com/openid/OpenID4VP/issues/569
Kristina introduces the issue
The type attribute is not part of JSON-LD, so there is no need to specify a relationship with vct. It would introduce a dependency
No strong objections to keep in unspecified
Closing issue.
OpenID4VP / Issue 575
https://github.com/openid/OpenID4VP/issues/575
Martijn comments that there is no requirement for cryptographic key binding (for holder).
The default is that it is required though
The idea here is to make sure that OpenID4VP isn’t blocking this in the future
Issue closed
OpenID4VCI / Issue 202 Security Issue with untrusted Issuer Metadata
https://github.com/openid/OpenID4VCI/issues/202
Paul introduces the issue
In essence Paul argues that either all metadata is signed or not. Now some parts might
Daniel comments we should have a use case for this
Christian says the unsigned part could be more dynamic and the signed part is more static
Kristina says this what put in as a compromise
Joseph: should we just return a jwt instead of a json with a jwt inside
Kristina: against it, as it would also change the media/content type
Paul: http allows negotiation to accept certain media type
Joseph: Not all CDNs have good support for this
Different options described in the issue.
Consensus on “option 3: both application/jwt and application/json depending on signed or unsigned”.
Paul will create a PR
OpenID4VCI / Issue 202 Improve references to security BCP
https://github.com/openid/OpenID4VCI/issues/291
It is not about the references, it is about the content
Need to go through the security BCP and make sure that all of it is integrated
Alternative is to use FAPI2
Consensus on either using BCP or FAPI2.
FAPI2 is a concrete list of actionable items
Some items on FAPI2 would not need to be implemented, so need an exception list.
OpenID4VCI / Issue 370 incomplete parameter definition in Credential Format Profiles
https://github.com/openid/OpenID4VCI/issues/370
Joseph will review if this is still needed.
OpenID4VCI / Issue 339 Support Credential Request application-layer encryption
https://github.com/openid/OpenID4VCI/issues/339
Kristina introduces the issue
Discussion on the design of this feature where request is encrypted.
WG agrees that communication between wallet and wallet backend is not standardised
There are some hypothetical scenarios where this could break down, but WG agrees there is no concrete case for this.
Paul: who decides whether to encrypt, the wallet or the issuer
John: if the issuer provides a key you should encrypt
Mirko: What if you don’t support alg. Fallback?
John: No, you’re not compatible, otherwise open yourself up to downgrade attacks
Kristina: brings up that in response this is also a MUST for the issuer response
Martijn: brings up that if it is required for credential response which is an issue for him
Martijn to create an issue that provides an example of which attributes in the response would not need to be encrypted
Martijn to check and confirm if the encryption of the request is okay
OpenID4VCI / Issue 207 Add section on processing of metadata
https://github.com/openid/OpenID4VCI/issues/207
Daniel: this is linked to https://github.com/openid/OpenID4VCI/issues/202
PR for issue 202 will need to contain processing/validation rules
Kristina: this is more generic issue
Joseph to create a PR for this
OpenID4VCI / Issue 491 Evolution of the nonce fetching
https://github.com/openid/OpenID4VCI/issues/491
Lots of challenges around nonce for key attestations/credential request, ended up with nonce endpoint
Now also considering nonce endpoint for authorization server, can be used for DPoP and wallet attestations. (added to the wallet/client attestation spec)
If both AS and issuer run on same url, they could use the same nonce endpoint
How many nonces do you have?
AS: Wallet attestation
AS: DPoP
Issuer: c_nonce (already in spec)
Issuer: DPoP (PR open to return it in the nonce endpoint)
DPoP error is flawed, want to use DPoP in nonce endpoint
You can allow DPoP to be returned in any responses (success and error), so just require it to always be returned, no need for a new endpoint.
But we need a nonce endpoint anyway, so then we can just piggy beg on it
We need to make sure that the different nonces are correctly distinguished
Nonce endpoint would be in the IETF wallet attestations spec, as wallet attestations can also be used outside of
Concern that having it defined in IETF can cause divergence between nonce endpoint in VCI and IETF
Discussion on whether wallet attestations spec should be part of OID4VCI, some suggestions going other way that even Key attestations should be a different spec
Agreement that nonce endpoint is useful in wallet attestations spec, will add it there first (in next two weeks) and then reference it in OID4VCI
Nonce is not a good word, it should not have been called nonce in DPoP, and it should probably also not be called nonce in wallet attestation.Should we also rename c_nonce to challenge (issue 496)?
OpenID4VCI / Issue 61 Redirect-URI for OpenID4VCI
https://github.com/openid/OpenID4VCI/issues/61
We have this in OpenID4VP, it can improve the flow, so you can continue the journey after the credential is issued.
There is the challenge you’re ending up in the same browser tab
Could it be added to 1.1?
Issues with e.g. refresh where the wallet will do the refresh in the background, so you don’t want to redirect in that case
We should not conflate redirect_uri, something like completion_uri?
Where to put it?
Putting it in Credential offer? -> is not authenticated, so that could introduce phishing attacks
Extend notification endpoint?
Credential response? Should not add it to the credential response due to e.g. batch/multi issuance
New completion endpoint
Some pushback, as issuers might rely on it
Issuer should not rely on it (seems to be agreement on)
Only a problem in same-device
Pushback against completion_uri
Wallet will be free to ignore this
There is also interest in redirection even if credential is not issued immediately (e.g. deferred issuance)
The completion uri could also be used to add extra information for the user (not session related), so e.g. after you got an mdl a page where it’s described what you can do with it.
What about the option that the wallet closes itself?
Does it work on iOS?
Issue contains 5 different options
Consensus to get some implementation experience
It might make sense to return it in the credential response if it’s deferred?
Inform the user about how long it’s going to take
Option also raised to send an email to inform the user of this
Two use cases
After done with all flows in wallet return to the issuer and continue flow
For the issuer to provide more information
WG agrees that the continuing the flow use cases is most important
What if the issuance failed, do we also want to redirect in this case
Question whether we should optimize for deferred flow
WG needs more time to think about it, option 3 (new completion endpoint) is preferred
OpenID4VCI / PR 492 / PR 490
https://github.com/openid/OpenID4VCI/issues/492
https://github.com/openid/OpenID4VCI/issues/490
Shortly discussed, PRs need to be reviewed
OpenID4VCI / Issue 430
https://github.com/openid/OpenID4VCI/issues/430
WG does not see a good reason to change this, also since it’s a breaking change
Might just need a clarification and remove the reference to RFC 6750 for the error response structure, as it’s the same structure, but separate definitions
OpenID4VCI / Issue 228 Single signed metadata does not scale
https://github.com/openid/OpenID4VCI/issues/228
Do we need OpenID4VP-like multi-rp functionality for signed metadata?
Assumption is that the issuer knows which trust framework it will operate in for a specific credential, if you need multiple ways to authenticate you can use multiple issuer urls
No clear use case, can be added later
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openid.net/pipermail/openid-specs-digital-credentials-protocols/attachments/20250511/0ae04e00/attachment-0001.htm>
More information about the Openid-specs-digital-credentials-protocols
mailing list