Two weeks ago I gave a talk about the mobile driver’s license
standard at IIW XXXVII, the 37th meeting of
the Internet Identity
Workshop, which took place as usual at the Computer History
Museum in Mountain View.
One of the great things about IIW is that the agenda is created each
day. That makes it possible for people interested in the same topic
to merge their sessions. When I announced the session that I wanted
to convene, Andrew Hughes “hijacked my session”, as he said, to
present a progress update on the series of ISO driving license
standards, which was a perfect introduction to the details of part 5
of the series that I discussed in the second half of the session.
Andrew is a member of the committee that wrote ISO/IEC 18013-5, and
other committee members came to the combined session. The notes of
the session, taken by Dan Bachenheimer, will eventually be in the
Book of Proceedings, and can now be found
here.
My slides
were based in part on an early
draft of a chapter of a book on Foundations of Cryptographic
Authentication that I am coauthoring with Sukhi Chuhan and Veronica
Wojnas.
The mDL standard has many interesting innovations and privacy features.
One innovation, explained in slide 26, is the inclusion of
self-asserted (device-signed) and certified (issuer-signed) data
elements in the same credential. One wouldn’t expect to find
self-asserted claims in a driver’s license, and Section 8.3.2.1.2.2
explicitly says that the structure containing the device-signed
elements may be empty. But the mDL standard is in fact a general
purpose standard for mobile credentials, which competes with
verifiable credentials as discussed in
this UL
white paper.
Both kinds of data elements are retrieved in an encrypted session
established by an ECDH key agreement where both parties use
ephemeral key pairs and therefore neither party is authenticated.
After the session has been established, the mobile device that
carries the credential authenticates as a side-effect of signing the
list of self-asserted data elements requested by the reader, whether
or not it is empty!
Another innovation, explained in slide 28, is a clever use of an
asymmetric key pair to produce a repudiable symmetric signature (an
“ECDH-agreed MAC”), and a third innovation, explained in slide 29,
is a clever adaptation of OpenID Connect to a use case where it
would not seem to be applicable.
Privacy features include declaration by the relying party of the
intent to retain some of the data elements, data minimization using
selective disclosure, and proof of age without revealing the
birthdate by means of age attestations.
Selective disclosure is implemented by means of cryptographic
hashing, as explained in slide 11. Full unlinkability (protection
against tracking by collusion of the issuer and the relying parties)
is not provided, but selective disclosure based on hashing combined
with age attestations provides the key benefits of data minimization
and proof of age in a simpler way than anonymous credentials.
Alternative implementations of selective disclosure, based on hash
functions or proofs of knowledge, are described in slides
12-23.
On the other hand, the mDL standard also has privacy drawbacks and
vulnerabilities to unauthorized access and man-in-the-middle
attacks. The vulnerabilities are discussed in slides 30-39, with an
example of a man-in-the-middle attack shown in slide 37. They are
also discussed in Section 13.1.9 of
the book chapter, along with
proposed mitigations in the current or future versions of the
standard. Privacy is discussed in slides 40-42 and in Section
13.1.10 of the book chapter.
The vulnerabilities and the privacy drawbacks have two independent
root causes.
Continue reading “Overview of ISO/IEC 18013-5: Innovations and Vulnerabilities in the mDL Standard”