Core Concepts
Core concepts for using the Rust ISO mDL library.
Last updated
Core concepts for using the Rust ISO mDL library.
Last updated
In the context of ISO 18013-5, a "Device" refers to the smartphone or mobile device of the mDL (mobile driver's license) holder. This device stores the digital version of the driver's license and runs an mDL application, such as one built using Spruce's isomdl library. The device is responsible for protecting the mDL data and managing how and when it is shared.
A "Reader" is the equipment used by a verifying party to request and access information from an mDL. This can be either a dedicated device or software running on a smartphone or tablet. Readers are used by organizations that need to verify the mDL, such as law enforcement, age-restricted venues, or service providers.
After the Device has initialized and established a secure connection with the Reader, the Reader starts the process of retrieving the data and verifying the authenticity and integrity of the mDL information. The Reader requests specific data elements from the Device, and the Device, based on the user's consent and its security policies, provides the requested information.
This exchange is secured using cryptographic protocols outlined in the standard.
The following sequence diagram illustrates the process of the Device initializing and establishing a session with a Reader to request information from the mDL, such as whether the user is over the age of 21.
In the next section we'll walk through how to implement this process using the Spruce isomdl
Rust library.