This specification describes an experimental vocabulary for expressing a Verifiable Driver's License, which is intended to be fully conformant with the ISO 18013 Mobile Driver's License data model.
This specification describes an experimental vocabulary for expressing a Verifiable Driver's License, which is intended to be fully conformant with the ISO 18013 Mobile Driver's License data model.
The following use cases outline a number of key scenarios that readers might find useful:
The following examples are provided ...
{ "@context": [ "https://www.w3.org/2018/credentials/v1", "https://w3id.org/vdl/v1" ], "type": [ "VerifiableCredential", "Iso18013DriversLicense" ], "issuer": "did:key:z6MkjxvA4FNrQUhr8f7xhdQuP1VPzErkcnfxsRaU5oFgy2E5", "issuanceDate": "2018-01-15T10:00:00.0000000-07:00", "expirationDate": "2022-08-27T12:00:00.0000000-06:00", "credentialSubject": { "id": "did:example:12347abcd", "license": { "type": "Iso18013DriversLicense", "document_number": "542426814", "family_name": "TURNER", "given_name": "SUSAN", "portrait": "/9j/4AAQSkZJRgABAQEAkACQA...gcdgck5HtRRSClooooP/2Q==", "birth_date": "1998-08-28", "issue_date": "2018-01-15T10:00:00.0000000-07:00", "expiry_date": "2022-08-27T12:00:00.0000000-06:00", "issuing_country": "US", "issuing_authority": "CO", "driving_privileges": [{ "codes": [{"code": "D"}], "vehicle_category_code": "D", "issue_date": "2019-01-01", "expiry_date": "2027-01-01" }, { "codes": [{"code": "C"}], "vehicle_category_code": "C", "issue_date": "2019-01-01", "expiry_date": "2017-01-01" }], "un_distinguishing_sign": "USA", }, }, "proof": { "type": "Ed25519Signature2020", "created": "2021-06-20T00:17:01Z", "verificationMethod": "did:key:z6MkjxvA4FNrQUhr8f7xhdQuP1VPzErkcnfxsRaU5oFgy2E5 #z6MkjxvA4FNrQUhr8f7xhdQuP1VPzErkcnfxsRaU5oFgy2E5", "proofPurpose": "assertionMethod", "proofValue": "z4zKSH1WmuSQ8tcpSB6mtaSGhtzvMnBQSckqrpTDm3wQyNfHd6rctuST2 cyzaKSY135Kp6ZYMyFaiLvBUjJ89GP7V" } }
The ISO 18013 Mobile Driver's License data model and W3C Verifiable Credentials data model during design had different requirements, meaning the optimal way to model a drivers license within each standard is different. The above model is aimed to preserve the ISO 18013 Mobile Driver's License data model when expressed as a W3C Verifiable Credential, whereas the below expresses the same information conveyed in a ISO 18013 Mobile Driver's License, however modelled in a way that is in keeping with the W3C Verifiable Credentials standard.
{ "@context": [ "https://www.w3.org/2018/credentials/v1", "https://w3id.org/vdl/v1" ], "type": [ "VerifiableCredential", "Iso18013DriversLicense" ], "issuer": "did:key:z6MkjxvA4FNrQUhr8f7xhdQuP1VPzErkcnfxsRaU5oFgy2E5", "issuanceDate": "2018-01-15T10:00:00.0000000-07:00", "expirationDate": "2022-08-27T12:00:00.0000000-06:00", "credentialSubject": { "id": "did:example:12347abcd", "familyName": "TURNER", "givenName": "SUSAN", "portrait": "/9j/4AAQSkZJRgABAQEAkACQA...gcdgck5HtRRSClooooP/2Q==, "birthDate": "1998-08-28", "licenseDetails": { "type": "Iso18013DriversLicense", "documentNumber": "542426814", "issuingCountry": "US", "issuingAuthority": "CO", "drivingPrivileges": [ { "codes": [{"code": "D"}], "vehicleCategoryCode": "D", "issueDate": "2019-01-01", "expiryDate": "2027-01-01" }, { "codes": [{"code": "C"}], "vehicleCategoryCode": "C", "issueDate": "2019-01-01", "expiryDate": "2017-01-01" }], "unDistinguishingSign": "USA", }, }, "proof": { "type": "Ed25519Signature2020", "created": "2021-06-20T00:17:01Z", "verificationMethod": "did:key:z6MkjxvA4FNrQUhr8f7xhdQuP1VPzErkcnfxsRaU5oFgy2E5 #z6MkjxvA4FNrQUhr8f7xhdQuP1VPzErkcnfxsRaU5oFgy2E5", "proofPurpose": "assertionMethod", "proofValue": "z4zKSH1WmuSQ8tcpSB6mtaSGhtzvMnBQSckqrpTDm3wQyNfHd6rctuST2 cyzaKSY135Kp6ZYMyFaiLvBUjJ89GP7V" } }
TBD
This vocabulary assumes all terms specified in the base Verifiable Credentials [[VC-DATA-MODEL]] context. In addition, the following classes are available for specifying information related to ISO18013 data model compatible Driving Licenses.
Identifier | Field Name | Field Description |
---|---|---|
family_name | Family name | Last name, surname, or primary identifier, of the licence holder. |
given_name | Given names | First name(s), other name(s), or secondary identifier, of the licence holder. |
birth_date | Date of birth | Day, month, year on which the licence holder was born. If unknown, approximate. |
issue_date | Date of Issue | Date licence document was issued. |
expiry_date | Date of Expiry | Date licence document expires. |
issuing_country | Issuing country | Country code as alpha 2 code, defined in ISO 3166-1, which issued the mDL or within which the licensing authority is located. |
issuing_authority | Issuing authority | Name of licensing authority, or issuing country if separate licensing authorities have not been authorized. |
document_number | Licence number | The number assigned or calculated by the issuing authority. |
administrative_number | Administrative number | An audit control number assigned by the licensing authority |
driving_privileges | Categories of vehicles/restrictions/conditions | Driving privileges the licence holder is authorized to drive. It consists of category issue date, expiry date, restriction/condition sign code, restriction/condition sign and restriction/condition value. |
un_distinguishing_sign | UN distinguishing sign | Distinguishing sign of the issuing country according to 18013-1 annex F NOTE this field is added for purposes of the UN conventions on driving licences. |
gender | Gender | Licence holder’s gender: M for male, F for female, X for not specified |
height | Height (cm) | A Licence holder’s height in centimetres. |
weight | Weight (kg) | A Licence holder’s weight in kilograms O F3N uint |
eye_color | Eye colour | Licence holder’s eye colour: blue, brown, black, hazel, green, grey, pink, dichromatic. |
hair_color | Hair colour | Licence holder’s hair colour: brown, black, blonde, grey, red, auburn, sandy, white, bald. |
birth_place | Place of birth | Country and municipality or state/province where the licence holder was born. |
resident_address | Permanent place of residence | The place where the licence holder resides and/or may be contacted (street/house number, municipality etc.) |
portrait | Portrait of mDL Holder | A reproduction of the licence holder’s portrait. |
portrait_capture_date | Portrait image timestamp | Date when picture was taken. |
age_in_years | Age attestation: How old are you (in years)? | The age of the mDL Holder. |
age_birth_year | Age attestation: In what year were you born? | The year when the mDL Holder was born. |
issuing_jurisdiction | Issuing jurisdiction | Country subdivision code as defined in clause 8, ISO 3166-2. The first part of the code shall be the same as the value for issuing_country. This element is intended to be used in cases where the issuing jurisdiction is different from the issuing authority. |
nationality | Nationality | Nationality of the mDL Holder as two letter country code (alpha-2 code) defined in ISO 3166-1. |
resident_city | Resident city | The city where the mDL Holder lives. |
resident_state | Resident state/province/district | The state/province/district where the mDL Holder lives. |
resident_postal_code | Resident postal code | The postal code of the mDL Holder. |
name_national_character | Full name of holder in full UTF-8 character set | The full name of the mDL Holder in his/her national characters. |
signature_usual_mark | Signature / usual mark | Image of the signature or usual mark of the mDL Holder. |
This section details the general privacy considerations and specific privacy implications of deploying this specification into production environments.
There are a number of security considerations that implementers should be aware of when processing data described by this specification. Ignoring or not understanding the implications of this section can result in security vulnerabilities.
While this section attempts to highlight a broad set of security considerations, it is not a complete list. Implementers are urged to seek the advice of security and cryptography professionals when implementing mission critical systems using the technology outlined in this specification.
There are a number of accessibility considerations implementers should be aware of when processing data described in this specification. As with any web standards or protocols implementation, ignoring accessibility issues makes this information unusable to a large subset of the population. It is important to follow accessibility guidelines and standards, such as [[WCAG21]], to ensure all people, regardless of ability, can make use of this data. This is especially important when establishing systems utilizing cryptography, which have historically created problems for assistive technologies.
This section details the general accessibility considerations to take into account when utilizing this data model.
There are a number of internationalization considerations implementers should be aware of when publishing data described in this specification. As with any web standards or protocols implementation, ignoring internationalization makes it difficult for data to be produced and consumed across a disparate set of languages and societies, which would limit the applicability of the specification and significantly diminish its value as a standard.
This section outlines general internationalization considerations to take into account when utilizing this data model.