Issuer / Holder / Verifier Model

The issuer / holder / verifier model lies at the heart of wallet-based credentials.

This is meant as a high level introduction to some of the fundamentals of the model. It tries to stay agnostic to specific implementation details such as credential formats, methods of credential transportation, DIDs, etc. If you already know all about those, you won’t learn much here!

what’s this?

Key terms

card_membership
Verifiable Credential

Credentials are an encapsulation of a set of claims made about one or more subjects by an issuer. Verifiable credentials are cryptographically signed by their issuer, and as such can be verified as being authentic and not having been tampered with.

account_balance
Issuer

Issuers create verifiable credentials and transmit them to a holder.

An issuer has a set of private keys, and a related set of public keys. When issuing a credential, one of these keypairs’ private key is used to sign the credential, the associated public key is stored in a verifiable data registry.

account_balance_wallet
Holder

Holders retain verifiable credentials in a digital identity wallet. They receive presentation requests from verifiers, and send to them in response a verifiable presentation.

The holder is the pivotal role in the Issuer / Holder / Verifier model. It is their choices of which issued credentials to accept, and which presentation requests to respond to (and how) that places them at the heart of the model.

verified_user
Verifier

Verifiers make presentation requests of holders, and verify the data that the holder transmits to them in a verifiable presentation. They do this by checking the cryptographic signatures of verifiable presentations, using the public keys associated with the credentials.

Typical use-cases

Standard

Issuer, Holder and Verifier are separate entities.

At a glance Issuing authorities issue credentials to holders. Verifiers that trust those holders and wish to consume their issued credentials may do so, as long as they have access to the verifiable data registry containing the issuer’s keys and metadata.

An issuing authority is any issuer with a set of holders who desire claims signed by it, and a set of verifiers that wish to consume those claims.

Closed-Ecosystem

Issuer and Verifier are the same entity. Holder is distinct.

At a glance The issuer of the credential issues credentials which their own service(s) will request the presentation of. Access to the verifiable data registry is limited to only the issuer and their own verification services.

Particularly useful in workforce settings.

Self-Asserted

Issuer and Holder are the same entity. Verifier is distinct.

At a glance The issuer of the credential is the holder to whom the credential is issued. Most useful in the case a holder wants to make self-asserted claims about themselves, though it’s possible the subject(s) of the credential may be any person or thing.

While it’s possible to sign a self-asserted credential, verifiers have little reason to verify it (or trust it for anything more than an opinion or preference) having in effect just received it from the issuer.

Standard use-case scenario

Closed-ecosystem scenario

Self-asserted credential scenario

Ancillary terms

Subject

The person or thing that a verifiable credential is about. They are generally – though not always – the holder to whom the credential is issued.

Claim

An individual attribute pertaining to a subject. Taking the form of key-value pairs. Generally the keys are a string, and the values a string, number, date, etc.

When forming presentation requests and verifiable presentations, all claims from a given credential may be requested and presented (full disclosure), a subset of claims (partial disclosure), the choice of which claims to expose up to the holder (selective disclosure), or the result of a predicate executed across a set of claims (zero-knowledge proof).

Digital Identity Wallet

A repository for a holder’s verifiable credentials. Often taking the form of a mobile app, and/or a cloud-based service. Sometimes conflated with payment and crypto wallets.

A wallet and its operator (typically the subject of credentials stored within the wallet) perform the role of the holder. Wallets are so significant in terms of how users interact with credential that when speaking generally about the topic I use the term wallet-based credentials.

Verifiable Data Registry

The location in which public keys, and other useful data such as credential schemas, or revocation registries may be found. The accessibility of a verifiable data registry its keys, are important in determining which verifiers are able to verify credentials from a given issuer.

Presentation Request

A request that a verifier transmits to a holder, requesting the presentation of a set of credentials that fulfil some criteria.

Verifiable Presentation

The holder’s response to a presentation request. It will be formed from data derived from the verifiable credentials in the holder’s wallet.

Credential Format

A specific format of a verifiable credential. Each credential format has its own set of features, and sometimes distinct terminology.

Credential Schema

A description of the set of claims a given verifiable credential should/must/may contain, including the key names and the associated data type of the values.

Revocation Registry

A registry containing revocation information about a set of verifiable credentials issued by an issuer.

Selective Disclosure

A holder’s ability to choose which claims of a verifiable credential are returned in their verifiable presentation. Not supported by all credential formats.

Zero-knowledge proof (zkp)

Disclosing information about the contents of a credential, without exposing the claims themselves. For example, answering a request for presentation that answers the question “Are you over 18?” without exposing an actual DOB. Not supported by all credential formats.

Resources

Articles on this site that mention topics relating to the model will be categorised under wallet-based credentials.

If you’d like to learn more about how implementations of the issuer / holder / verifier model work, check out some of the links below.

General Topic Books
Self-Sovereign Identity: Decentralized digital identity and verifiable credentials by Alex Preukschat and Drummond Reed

Specifications
Credentials
ISO-18013-5 and ISO-18013-7 at ISO
The Verifiable Credentials Data Model at W3C
AnonCreds at Hyperledger

Communication and Identification
Decentralised Identifiers (DIDs) at W3C
DIDComm Messaging at DIF
OpenId for Verifiable Credentials (OID4VC) at OIDF

With thanks to Kian Momtahan, for reviewing drafts of this Fundamentals piece.