Skip to content

Wallet Provider Specifications

The following are considered necessary capabilities of the EUDI Wallet reference implementation for the mDL Use Case:

mDL Verifiable Credentials

Specification Optionality Description and Reference
ISO/IEC 18013-5 (CBOR) Mandatory [4th Driving License Directive] Annex I, Part C
[ARF], High Level Requirement:  mDL_01
[ARF] "Annex 3.02 - mDL Rulebook"
mDL Data Model Mandatory As above

Attestation Issuance Interface (AII)

Specification Optionality Description and Reference
Credential Issuance API according to OpenID4VCI v1.0 specification Mandatory Refer to Issuer relevant specification

Issuance Initiation

Specification Optionality Description and Reference
Issuer-initiated Optional Refer to Issuer relevant specification
Wallet-initiated Mandatory Refer to Issuer relevant specification

Issuer Authorization

Specification Optionality Description and Reference
Pre-Authorized Code Flow Optional Refer to Issuer relevant specification
Authorization Code Flow Mandatory Refer to Issuer relevant specification

Number of VCs per issuance request

Specification Optionality Description and Reference
One verifiable credential per issuance request Mandatory Refer to Issuer relevant specification
Multiple same verifiable credentials per issuance request (Batch Issuance) Mandatory Refer to Issuer relevant specification

Time of Issuance

Specification Optionality Description and Reference
Immediate Issuance Optional (1) Refer to Issuer relevant specification
Deferred Issuance Optional (1) Refer to Issuer relevant specification

Additional issuance flows

Specification Optionality Description and Reference
Dynamic Issuance (synchronous or just-in-time) Optional Refer to Issuer relevant specification
Re-issuance Mandatory Refer to Issuer relevant specification

Topology for Issuance (issuer-initiated) flows

Specification Optionality Description and Reference
Same device Optional Refer to Issuer relevant specification
Cross device Optional Refer to Issuer relevant specification

Issuance Trust Relationships

Specification Optionality Description and Reference
Authenticate mDL Issuer using the access certificate (IACA) Mandatory ARF section 6.6.2.1 point 1 and section 6.6.2.2
Verify authenticity of mDL Mandatory ARF section 6.6.2.1 point 5 and section 6.6.2.5
Download the mDL Issuer Access CA Trusted List(s) from the relevant Trusted List Provider(s) Mandatory ARF section 6.6.2.2
Checks registration certificate or the online service of the Registrar indicated in the access certificate Mandatory ARF section 6.6.2.2 specifies that "Wallet Unit checks the registration information contained in the registration certificate (if available in the Issuer metadata) or in the online service of the Registrar indicated in the access certificate."

mDL Presentation Policy

Specification Optionality Description and Reference
Store locally the mDL presentation policy Mandatory ARF section 6.6.2.1 point 7 and section 6.6.2.7

Presentation Interface (PI)

Specification Optionality Description and Reference
Proximity Flow: Presentation Request (of verifiable credentials according to ISO/IEC 18013-5 standard) Mandatory Refer to Proximity Verifier relevant specification
Remote Flow: Presentation Request (of verifiable credentials) according to ISO 18013 -7 Annex B (OpenID4VP specification) Mandatory Refer to Remote Verifier relevant specification
OpenID4VP version 1.0 will be supported instead of Draft 18 which is specified in ISO 18013-5 Annex B.
Remote Flow: Presentation Request (of verifiable credentials) according to ISO 18013 -7 Annex C Optional Refer to Remote Verifier relevant specification
ARF section 4.4.3.1 states that "The use of this API by Wallet Units and Relying Parties is optional."
Remote Flow: Presentation Request (of verifiable credentials) according to OpenID4VP specification in combination with the Digital Credentials API Optional Refer to Remote Verifier relevant specification
ARF section 4.4.3.1 states that "The use of this API by Wallet Units and Relying Parties is optional."

Topology for Presentation Flow

Specification Optionality Description and Reference
Cross device (for proximity and remote flows) Mandatory Refer to Remote Verifier relevant specification
Refer to Proximity Verifier relevant specification
Same device (for remote flow) Mandatory Refer to Remote Verifier relevant specification

Presentation Flows

Specification Optionality Description and Reference
Remote Mandatory Refer to Remote Verifier relevant specification
Proximity Mandatory Refer to Proximity Verifier relevant specification

Initialization for Proximity Presentation Flow

Specification Optionality Description and Reference
mDL reader using NFC Optional Refer to Proximity Verifier relevant specification

Device Engagement Technologies for Proximity Presentation Flow

Specification Optionality Description and Reference
NFC Conditional (1) According to Table 1 in ISO/IEC 18013-5
QR Code Conditional (1) According to Table 1 in ISO/IEC 18013-5

NFC Device engagement technology support for Proximity Presentation Flow

Specification Optionality Description and Reference
Static Handover Conditional (2) According to section 6.3.2.3 in ISO/IEC 18013-5, if the EUDI Wallet supports NFC for device engagement then it shall support Static Handover, Negotiated Handover, or both.
Negotiated Handover Conditional (2) As above

Data Retrieval Methods for Proximity Presentation Flow

Specification Optionality Description and Reference
Offline (device) retrieval Mandatory Refer to Proximity Verifier relevant specification
Online (server) retrieval N/A This method does not apply to the EUDI Wallet.

Message Encoding for Proximity Presentation Flow

Specification Optionality Description and Reference
mdoc Request/Response messages encoded with CBOR Mandatory Refer to Proximity Verifier relevant specification

Data Transmission/ Device Retrieval for Proximity Presentation Flow

Specification Optionality Description and Reference
NFC Conditional (1) According to Table 2 in ISO/IEC 18013-5
BLE Conditional (1) According to Table 2 in ISO/IEC 18013-5
Wi-Fi Aware Optional According to Table 2 in ISO/IEC 18013-5

Data Device Retrieval using BLE for Proximity Presentation Flow

Specification Optionality Description and Reference
mdoc central client mode Optional Section 8.3.3.1.1.1 in ISO/IEC 18013-5 implies that this mode is optional.
mdoc peripheral server mode Optional As above
BLE L2CAP Optional Refer to Proximity Verifier relevant specification

Security Mechanism and Trust Relationships for Device Retrieval for Proximity/Remote (DC API) Presentation Flow

Specification Optionality Description and Reference
Session Encryption Mandatory (assumed) for proximity
Conditional for remote
For offline interactions, a session-based encryption mechanism directly encrypts the mDL response.
Issuer data authentication Mandatory According to ISO/IEC 18013-5, section 9.1.2, the purpose of issuer data authentication is to confirm that the mdoc data is issued by the issuing authority and that it has not changed since issuance. Section 9.3.1 also applies, specifying this as a mandatory capability.
Issuer data authentication is implemented by way of a digital signature over mDL data, using a public-private (asymmetric) key pair.
mdoc authentication (device binding) Mandatory According to section 9.1.3 in ISO/IEC 18013-5 the security objective of mDL authentication is to prevent cloning of the mDL and to mitigate man in the middle attacks.
mdoc Reader authentication Mandatory for proximity
Optional for remote
According to section 9.1.4 in ISO/IEC 18013-5, mDL Reader authentication uses information stored in the mDL Reader to confirm that the mDL Reader and the mDL Reader Request are authenticated.
Section 7.1.2 states that "An mDL may require mdoc reader authentication (see 9.1.4) before releasing data elements not marked as mandatory in Table 5. An mDL shall not require mdoc reader authentication as a precondition for the release of any of the mandatory data elements. An mDL may offer functionality to the mDL holder to pre-authorise the release of mandatory data elements selected by the mDL holder to mDL readers using mdoc reader authentication."

Disclosure Options

Specification Optionality Description and Reference
Selective Disclosure Mandatory Refer to Proximity Verifier relevant specification
Digital Credentials Query Language (DCQL) Mandatory OpenID4VP v1.0 chapter 6 specifies a JSON-encoded query language that allows the Verifier to request Presentations that match the query.
OpenID4VP introduced DCQL in Draft 22. Therefore, DCQL is not supported in Draft 18.

Authorization Response for Remote Presentation Flow

Specification Optionality Description and Reference
Support encrypted Authorization Response Mandatory Refer to Remote Verifier relevant specification
End-User authentication using SIOP v2 Excluded / Not Supported Refer to Remote Verifier relevant specification

Policy-based Checks

Specification Optionality Description and Reference
Revocation (of mDL) Mandatory ARF in Annex 2 VCR_19 states that "A Wallet Unit SHOULD regularly check the revocation status of its PIDs, attestations, and WUAs, and notify the User if a PID, attestation, or WUA (i.e. the Wallet Unit itself), is revoked."

Digital Credentials API for Remote Presentation Flow

Specification Optionality Description and Reference
Device Request Optional Refer to Remote Verifier relevant specification DC API is optional according to ARF section 4.4.3.1
Device Response Optional Refer to Remote Verifier relevant specification
Refer above for optionality
HPKE single shot encryption /decryption Optional Refer to Remote Verifier relevant specification
Refer above for optionality
Session Transcript Optional Refer to Remote Verifier relevant specification
Refer above for optionality
SerializedOrigin in Session Transcript Optional Refer above for optionality
Annex C.5 in ISO/IEC 18013-57 states that the mdoc (wallet) shall use the origin received from the user agent to determine the SerializedOrigin value. If the mdoc (wallet) does not receive the origin from the user agent, it shall abort the transaction.

(1) Support for at least one of these methods is mandatory

(2) Support for one of the handover methods or both