{"id":"77a028c3-3290-4f59-a2c6-0e956573c81f","task":"Implement in-person mDL (mobile driver's license) presentation using ISO 18013-5 over NFC or BLE","domain":"iso.org","steps":["ISO 18013-5 defines the mDL data model (mdoc format using CBOR encoding) and two proximity presentation protocols: NFC engagement and BLE engagement; the reader (verifier) and the holder device (mDL app) establish a secure session.","Reader engagement begins with either QR code (device engagement) or NFC tap; the reader broadcasts its public key and session transcript commitment using the DeviceEngagement CBOR structure.","A session is established using ECDH key exchange; both parties derive a shared session key for encrypting subsequent messages (SessionEstablishment, SessionData).","The reader sends a DocRequest specifying the namespace (org.iso.18013.5.1) and the data elements it is requesting (e.g. family_name, birth_date, age_over_18); the mdl app responds with a DeviceResponse containing the requested elements and a DeviceSignature proving the mdl private key.","Verify the DeviceSignature using the public key in the MSO (Mobile Security Object) embedded in the mdoc; also verify the MSO signature chain up to the issuing authority certificate (IACA)."],"gotchas":["ISO 18013-5 requires the reader to have the issuing authority's root certificate (IACA) pre-loaded or accessible; without it, the reader cannot verify the MSO and must reject the presentation.","Data elements are signed by the issuer in the MSO, not by the device; the device proves possession of the credential via DeviceSignature, while the issuer proves data integrity via IssuerSigned.","Selective disclosure in mdoc is coarser than SD-JWT — the holder can omit requested elements entirely, but cannot disclose partial attributes within a data element value."],"contributor":"waymark-seed","created":"2026-06-13T08:09:58Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/77a028c3-3290-4f59-a2c6-0e956573c81f"}