Network Working Group L. Johansson Internet-Draft Sunet Intended status: Informational B. Zundel Expires: 20 November 2026 Yubico T. Cappalli Okta 19 May 2026 A reference architecture for direct presentation credential flows draft-ietf-spice-vdcarch-latest Abstract This document defines a reference architecture for direct presentation flows of digital credentials. The architecture introduces the concept of a presentation mediator as the active component responsible for managing, presenting, and selectively disclosing credentials while preserving a set of security and privacy promises that will also be defined. Discussion Venues This note is to be removed before publishing as an RFC. Source for this draft and an issue tracker can be found at https://github.com/leifj/wallet-refarch. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 20 November 2026. Copyright Notice Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Conventions 2. Introduction 3. Terminology and Roles 3.1. Naming the elephant in the room 3.2. Terminology used in this specification 4. Actors and Entities 4.1. Subject and Presenter 4.2. Presentation Mediator (Credential Presentation User Agent) 4.3. Credential Recipient Mediator (Credential Recipient User Agent) 4.4. Credential Store 4.5. Credentials and Presentation Proofs 4.6. Issuer and Verifier 5. Presentation Flows 5.1. Direct Presentation Flow 5.2. Delegated or Assisted Presentation Flow 6. Normative Requirements 6.1. Subject control 6.2. Selective Disclosure 6.3. Issuer Binding 6.4. Mediator Binding 6.5. Non-linkability and data minimization 6.6. Revocation 7. Profiles 7.1. OpenID and SD-JWT 7.2. The Basic Profile plus W3C Verifiable Credentials 7.3. Anoncreds 7.4. The EU Digital Identity Wallet 8. Security Considerations 9. IANA Considerations 10. References 10.1. Normative References 10.2. Informative References Acknowledgments Authors' Addresses 1. Conventions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 2. Introduction Verifiable digital credentials, which assert claims about individuals, organizations, or devices, have become essential tools in modern identity systems. Whether verifying an individual's qualifications, attesting to an enterprise's compliance, or authorizing an IoT device, these credentials rely on secure, efficient, and privacy-preserving mechanisms for their use. Traditional federated identity systems often rely on intermediaries or delegation, which can compromise user privacy or introduce inefficiencies. This document presents an architecture for direct presentation flows, where credentials are presented directly to verifiers without unnecessary intermediaries, empowering the credential subject or their authorized representative to maintain control over the credential's use. At the heart of this architecture is the presentation mediator, an active software component responsible for facilitating secure and privacy-aware interactions. This mediator works in tandem with passive credential stores, verifiers, and issuers, creating a scalable and interoperable system that can adapt to diverse regulatory and operational environments. 3. Terminology and Roles Credential manager: An application, hardware device, or service which securely stores, organizes, manages, and enables presentation of credentials. Digital wallets, password managers, and passkeys managers are examples of credential managers. Issuer: The entity that cryptographically signs a verifiable digital credential, thereby asserting its claims about a subject Issuer service: The underlying platform or infrastructure service which enables an Issuer to issue a verifiable digital credential. Verifiable digital credential (VDC): A cryptographically verifiable, tamper-evident assertion of claims about a subject, signed by an Issuer. VDCs are stored in a Credential Manager. Verifier: The entity that cryptographically validates the authenticity and integrity of a verifiable digital credential. A verifier is typically, but not always, the relying party. Verifier service: The underlying platform or infrastructure service which enables a Verifier to validate a verifiable digital credential. 3.1. Naming the elephant in the room The term "digital wallet" or "digital identity wallet" is often used to denote a container for digital objects representing information about a subject. Such objects are often called "digital credentials". The use of the word "wallet" is both historic, stemming from the origin of some types of wallet in the "crypto" or digital asset community, as well as meant to make the user think of a physical wallet where digital credentials correspond to things like credit cards, currency, loyalty cards, identity cards etc. Arguably the use of the term wallet is often confusing since it may lead to assumptions about the fungibility of identity or that credentials are exchanged as part of a monetary transaction. In this specification we will use the term "presentation mediator" when traditionally the term "identity wallet" or "wallet" has been used. 3.2. Terminology used in this specification To anchor this architecture, we define key terms: * A presentation mediator is an active software component that manages the presentation of credentials to the verifier on behalf of the credential subject. * A credential store is a passive repository for securely storing credentials. It supports the presentation mediator by providing access to stored credentials without performing active operations. * The credential subject is the entity the credential pertains to, such as an individual or organization. * A presenter is the actor that delivers a credential to a verifier. While often the credential subject, the presenter could also be an authorized agent or software acting on their behalf. * A credential is a signed, structured document containing claims about a subject, issued by a trusted entity. * An attestation is a statement about a credential, often used to validate or certify its properties, such as its integrity or scope. * A presentation proof is a derived artifact that proves claims from a credential in a specific interaction with a verifier. 4. Actors and Entities 4.1. Subject and Presenter The credential subject is the entity that the credential describes, such as an individual, an organization, or even an IoT device. However, the presenter—the actor delivering the credential to the verifier—may not always be the credential subject. For example, an administrator might present credentials on behalf of an organization, or a software agent might act as a presenter in automated workflows. This distinction between the credential subject and the presenter allows the architecture to support complex use cases, such as power- of-attorney scenarios or enterprise credentialing systems. 4.2. Presentation Mediator (Credential Presentation User Agent) The presentation mediator (mediator for short) is the core active component of this architecture. It initiates and mediates credential presentations, ensuring compliance with credential subject preferences and system policies. For example, it might enforce selective disclosure, revealing only the subject's date of birth to a verifier while withholding other personal details. The presenter controls a presentation mediator. Often the presenter and subject is one and the same entity, eg a natural person controlling her own credentials. There are several situations where the presenter and subject are different entities however, for instance cases where presentation is delegated from a legal entity to an officer of a company or when care staff helps somebody with disabilities present personal credentials. Unlike a credential store, the presentation mediator is responsible for orchestrating interactions with verifiers, performing cryptographic operations, and generating presentation proofs. The mediator is used by the subject to communicate with issuers and by the presenter to communicate with verifiers. The nature of the control the presenter/subject has over the mediator varies but minimally the subject must be able to initiate the receipt of credentials from an issuer and the presenter has to be able to generation and transmission of presentation proofs to a verifier. The mediator acts on behalf of the subject when receiving credentials from an issuer and the issuance process typically involves authenticating the subject to the issuer. This can happen by the use of some delegated authentication exchange whereby the subject is represented by some other entity. 4.3. Credential Recipient Mediator (Credential Recipient User Agent) 4.4. Credential Store The credential store is a passive repository where credentials are securely stored. Its primary function is to provide the presentation mediator with access to the credentials it needs to generate presentation proofs. By separating storage from active mediation, the architecture enhances modularity and allows credential stores to be managed independently from presentation logic. 4.5. Credentials and Presentation Proofs A digital identity credential (abbreviated as 'credential' in this document) is an object representing a set of claims associated with a subject. The credential MAY contain claims that uniquely identify a single subject. A digital identity credential is typically cryptographically bound both to the issuer and to the mediator where it is stored. A presentation proof (abbreviated as 'presentation' in this document) is a proof that a particular issuer has provided a particular set of credentials to the mediator. A presentation can be verified by at least one verifier. A presentation proof can be based on data present in a single credential or in multiple or even on the result of computations based on a set of credentials. A common example is a presentation proof that a subject is legally permitted to take driving lessons. This is a binary attribute which is the result of a computation involving knowledge of both the biological age of the subject as well as legal restrictions that apply to the jurisdiction where the verifier is operating. 4.6. Issuer and Verifier An issuer is a set of protocol endpoints that allow a mediator to receive a credential. Credentials issued by the issuer are cryptographically bound to that issuer and to the receiving mediator. A verifier is a set of protocol endpoints that allow a mediator to send a presentation to a verifier. A verifier is typically a component used to provide an application with data about the subject - for instance in the context of an authentication process. 5. Presentation Flows Credential presentation flows describe how information from credentials are transmitted from the mediator to the verifier. This architecture focuses on direct presentation flows, but it also accommodates variations such as delegated and assisted presentations. 5.1. Direct Presentation Flow The basic direct presentation flows looks like this: ┌───────┐ ┌────────┐ ┌──────┐ ┌────────┐ ┌─────────┐ │Subject│ │Mediator│ │Issuer│ │Verifier│ │Presenter│ └───┬───┘ └────┬───┘ └───┬──┘ └────┬───┘ └────┬────┘ │ │ │ │ │ ╔═══════════╤═╪════════════════════════════════╪══════════════════════════════════════════════════════╪════════════════════════════════════╪══╗ │ ║ ISSUANCE │ │ │ │ │ ║ │ ╟───────────┘ <> ┌┴┐ │ │ ║ │ ║ │ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ > │ │ │ │ ║ │ ║ │ │ │ │ │ ║ │ ║ │ │ │ request credential ┌┴┐ │ ║ │ ║ │ │ │ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─>│ │ │ ║ │ ║ │ │ │ │ │ │ ║ │ ║ │ │ │ │ │ ─ ─ ┐ │ ║ │ ║ │ │ │ │ │ | <> │ ║ │ ║ │ │ │ │ │ < ─ ┘ │ ║ │ ║ │ └┬┘ └┬┘ │ ║ │ ║ │ │ credential │ │ ║ │ ║ │ │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│ │ ║ │ ╚═════════════╪════════════════════════════════╪══════════════════════════════════════════════════════╪════════════════════════════════════╪══╝ │ │ │ │ │ │ │ │ │ │ │ │ ╔══════════════╪╤═════════════════════════════════════════════════════╪════════════════════════════════════╪════════════════════╪══════════════╗ │ ║ VERIFICATION │ │ │ │ ║ │ ╟───────────────┘ request presentation │ │ ║ │ ║ │ │ <─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ ║ │ ║ │ │ │ │ │ ║ │ ║ │ │ <> │ ┌┴┐ ║ │ ║ │ │ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─>│ │ ║ │ ║ │ │ │ │ └┬┘ ║ │ ║ │ │ <