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 document is experimental.

Introduction

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.

Use Cases and Requirements

The following use cases outline a number of key scenarios that readers might find useful:

Example

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"
  }
}
        

Alternative Data Model Expression

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"
  }
}
      

Terminology

Concepts

TBD

The Verifiable Driver's License Vocabulary

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.

Privacy Considerations

This section details the general privacy considerations and specific privacy implications of deploying this specification into production environments.

Security Considerations

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.

Accessibility Considerations

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.

Internationalization Considerations

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.