-
Notifications
You must be signed in to change notification settings - Fork 15
Description
ISO/IEC SC17/JTC1 WG10 had an in-person meeting in Korea in late June where a demo of the Digital Credentials API was provided (also including cross-device). WG10 asked OIDF if they can help with the following:
Since the browser API requires the specification of an additional protocol, at minimum WG10 needs to identify requirements for such a protocol.
Ideally, there should be only one protocol.At the same time, time is of the essence and it was shared that the test event in October 2024 intends to already test and learn from browser API solutions. The meeting agreed to compile requirements for a protocol that runs on top of a browser API, share this with the OIDF, and ask them to expedite the development of their protocol. At the same time, WG10 members can compile a simple protocol (meeting the requirements) for the test event to learn from, to check if the requirements are complete, and to further inform the OIDF work. It was also pointed out that, as with the browser API, if a solution is being developed in another standards body there always is a risk that it may not fully do what is needed.
The meeting identified the following requirements for any protocol that runs on top of a browser API:
- Must be functionally the same as the existing (i.e. in ISO/IEC 18013-5 and amendment) device request and device response (i.e. nothing less and nothing more). This specifically includes the following:
- Device response structure must be included in the response as specified in ISO/IEC 18013-5.
- Response must be encrypted by the mdoc to a key provided by the RP, and all the details required to have interoperability need to be specified. (Already in B.4.3 of ISO/IEC 18013-7.)
- To protect against certain phishing attacks, response encryption and mdoc authentication must be bound to the origin, e.g. RP URL.
- There must be an option for the app to authenticate the key received from the RP to be used for response encryption. Mechanisms to be supported are:
- Key in a certificate.
- A key signed with a key that is authenticated by a certificate.
- Must be fully specified (i.e. no allowed options that, when exercised in any way, could lead to non-interoperability).
The intent with the “nothing more” requirement is to prevent a situation where the protocol has many options that do not add value for the “mdoc over browser API” case but have to be implemented in order to comply with the protocol specification.
The protocol can have the following features:
- There can be an option to sign the request.
As a member of WG10 (I'm not speaking on their behalf) and OIDF/DCP, I would support this ask, especially to facilitate harmonization between OIDF and ISO.
Before jumping into the detailed requirements and how to address them, I think OIDF/DCP should think about: 1) are we going to support this ask (I do), 2) and how to address this structurally. Structurally, it could be done in the following way but feedback welcome:
Option 1:
- try to address the requirements in the Digital Credential API profile Annex of OID4VP directly.
Option 2:
- keep working on the Digital Credential API profile Annex of OID4VP (allows by design more options)
- start working on a new ISO mdoc-specific profile for the Digital Credential API that makes choices similar to what HAIP does for SD-JWT VC, and try to address the requirements that ISO WG10 provided. The scope is probably smaller in this case, since issuance and presentation using HTTP-channels don't not have priority for now. The goal is that ISO WG10 can reference this profile in ISO 18013-7 2nd edition without having to define extra things.
Beyond the above, we can think about harmonization between HAIP and this new mdoc-specific profile, especially wrt the Digital Credentials API profile which I assume HAIP will also want to make some choices in the future. But I see this not as something we necessarily have to decide right away.
@Sakurann @jogu @tlodderstedt @martijnharing @tplooker @paulbastian @GarethCOliver @davidz25 @sbahloul