Trust Architecture
This section describes the trust-related processes by detailing the entities involved, high level flows and their relationships.
The main entities involved in the EUDI Wallet ecosystem are:
- The Wallet Unit, installed and activated by the User and provided through a Wallet Solution by a Wallet Provider (WP).
- Wallet-Relying Parties (WRPs), which may be further classified as
- The Providers of Person Identification Data (PID Providers) and Attestation Providers (APs) that interact with the Wallet Unit to issue Attestations.
- The Relying Parties (RPs) and Relying Party Intermediaries (RPI) that interact with the Wallet Unit to request Attestations.
flowchart TD
WP["Wallet Provider (WP)"]
User((User))
WU["Wallet Unit <br/> [WIA]"]
subgraph WRP["Wallet Relying Parties (WRPs) [WRPAC, WRPRC]"]
direction LR
PIDP["PID Providers"]
subgraph AP["Attestation Providers"]
QEAAP["QEAA <br/>Providers"]
PubP["Pub-EAA <br/>Providers"]
EAAP["non-qualified <br/>EAA Providers"]
end
RP["Relying Parties (RPs)"]
RPI["RP <br/>Intermediaries"]
end
%% Skeleton
PIDP ~~~ RPI
RPI ~~~ AP
RP ~~~ RPI
%% Style
classDef WRP_entities fill:#ffefd5,stroke:#ffdab9;
style WRP fill:#ffffff,stroke:#ffdab9,stroke-width:2px,rx:20,ry:20
style AP fill:#ffffff,stroke:#ffdab9,stroke-width:2px,rx:20,ry:20
class QEAAP,PIDP,PubP,EAAP,RP,RPI WRP_entities;
%% Arrows
WP ---|"Provides Wallet Solution"| User
User ---|"Controls/activates"| WU
WU ---|"Interacts (issue/present <br/>PID/Attestation)"| WRP
To trust the interactions between these entities, the following trust evaluation processes are needed:
- Authentication Process: a way to authenticate the identity of an entity. To achieve this:
- The Wallet Unit needs a Wallet Instance Attestation (WIA), an object that attests its integrity and is signed by the WP.
- The WRP needs a Wallet-Relying Party Access Certificate (WRPAC) attesting its identity.
- Authorization Process: a way to check the authorization of an entity (i.e., (i) the WRP entitlements, (ii) whether an AP is eligible to issue an Attestation, and (iii) whether a RP has the right to access the data it is requesting). To achieve this:
- The intended use of a WRP is written in a signed Register, and optionally in a Wallet-Relying Party Registration Certificate (WRPRC).
- The AP may write their own Embedded Disclosure Policies (EDPs).
- Trust Anchor Validation Process: a way to check the integrity and authenticity of Trusted Lists (TL) which serve as the Authentic Source for Trust Anchors used to (a) verify signed objects such as PIDs, Attestations, WRPACs and WRPRCs, and (b) Register. To achieve this:
While these trust evaluation processes and their artifacts (i.e., the Register and its common APIs, WRPACs, WRPRCs, LoTE, TLs and EDPs) will be further detailed in the Trust Evaluation Process and Trust Artifacts sections respectively, the processes to obtain and manage these artifacts are briefly detailed below:
-
WRP Registration Process: To rely on Wallet Units for the purpose of providing a service, WRPs register at a Registrar in the Member State where they are established. Based on the type of service registered, registration includes: the attributes that the RP intends to request from Wallet Units or the Attestation type(s) the AP wants to issue to Wallet Units. The following steps are in common to all WRPs:
- Identity and Catalogue Verification: The Registrar verifies the identity of the WRP according to requirements in [ETSI TS 119 461]. The specific identity proofing level may vary based on entity type and applicable regulatory framework (e.g., Qualified Trust Service Provider (QTSP) requirements or Member State national legislation) and it is out of scope of the piloting. In this process, the Registrar may use the Catalogue of Attributes and Catalogue of Schemes for the Attestation of Attributes managed by the European Commission for evaluating the registration request.
- Registration Record Creation: The Registrar creates registration records in the national Register, made available online both in human- and machine-readable formats. Records contains at least:
- WRP identification information.
- WRP type (RP, PID Provider, QEAA Provider, PuB-EAA Provider, EAA Provider).
- Entity-specific capabilities
- WRPAC Issuance: the WRP obtains a WRPAC provided by a Provider of WRPAC.
- [optionally] WRPRC Issuance: If the Member State mandates WRPRC issuance according to [CIR 2025/848, Article 8], the Provider of WRPRC must issue a signed WRPRC containing registered capabilities. If it is not mandated, the Wallet Instance may retrieve information from Register.
flowchart TD WRP["Wallet Relying Parties <br/> (WRPs)"] subgraph MS["Member State (MS)"] MSReg[MS <br/>Registrar] ProvAC[Provider of <br/>WRPAC] ProvRC[Provider of <br/>WRPRC] Reg[/"Register(s)"/] MSReg---|"Publishes data"| Reg end subgraph EC["European Commission (EC)"] Cat[/Catalogues/] end %% Style style WRP fill:#ffefd5, stroke:#ffdab9,stroke-width:2px,rx:20,ry:20 style MS fill:#ffff,stroke:#2f4f4f,stroke-width:2px,rx:20,ry:20 style EC fill:#ffff,stroke:#abb2bf,stroke-width:2px,rx:20,ry:20 classDef blue fill:#e8f0fe,stroke:#abb2bf classDef green fill:#8fbc8f,stroke:#2f4f4f class QEAAP,PIDP,PubP,EAAP,RP,RPI WRP_entities; class ECLoTE,ECNS,Cat,LoTEs blue; class MSReg,ProvAC,ProvRC,TLs,Reg green; %% Arrows WRP ---|"Request registration"| MSReg ProvAC ---|"Issues WRPAC"| WRP ProvRC-. "Issues WRPRC" .-> WRP MSReg ---|"Checks Catalogues"| Cat -
Notification Process: the Member State sends data related to the registered entity to the European Commission. As result:
- For WPs, PID Providers, Providers of WRPAC, Providers of WRPRC, Member State Registrars, and Pub-EAA Providers: the notified entities are included in a LoTE by a European Commission LoTE Provider.
- For QEAA Providers and QTSP, the URL of the TL is added in the EU List Of Trusted Lists (LOTL).
flowchart LR subgraph MS["Member State (MS)"] MSTLP["MS <br/>Scheme Operator <br/>(SO)"] TLs[/TLs/] MSTLP ---|"publish"| TLs end subgraph EC["European Commission (EC)"] ECLoTE[EC LoTE <br/>Provider] LoTE1[/WP <br/>LoTE/] LoTE2[/PID Providers <br/>LoTE/] LoTE3[/Providers of <br/>WRPAC LoTE/] LoTE4[/Providers of <br/>WRPRC LoTE/] LoTE5[/MS Registrar <br/>LoTE/] LoTE6[/Pub-EAA Providers <br/>LoTE/] LOTL[/LOTL/] ECLoTE ---|"publish"| LoTE1 ECLoTE ---|"publish"| LoTE2 ECLoTE ---|"publish"| LoTE3 ECLoTE ---|"publish"| LoTE4 ECLoTE ---|"publish"| LoTE5 ECLoTE ---|"publish"| LoTE6 ECLoTE ---|"publish"| LOTL end LoTE1 ~~~ LoTE2 LoTE3 ~~~ LoTE4 LoTE5 ~~~ LoTE6 %% Style style EC fill:#ffff,stroke:#abb2bf,stroke-width:2px,rx:20,ry:20 style MS fill:#ffff,stroke:#2f4f4f,stroke-width:2px,rx:20,ry:20 classDef blue fill:#e8f0fe,stroke:#abb2bf classDef green fill:#8fbc8f,stroke:#2f4f4f class ECLoTE,ECNS,LoTE1,LoTE2,LoTE3,LoTE4,LoTE5,LoTE6,LOTL blue; class MSTLP,TLs green; %% Arrows EC ---|"Notification Process <br/>(Trust Anchor or <br/>URL of the TL)"| MS
The following figure adds these two processes to the previous architecture.
flowchart TD
WP["Wallet Provider (WP)"]
User((User))
WU["Wallet Unit <br/> [WIA]"]
subgraph WRP["Wallet Relying Parties (WRPs) <br/>[WRPAC, WRPRC]"]
direction LR
PIDP["PID Providers"]
subgraph AP["Attestation Providers"]
QEAAP["QEAA <br/>Providers"]
PubP["Pub-EAA <br/>Providers"]
EAAP["non-qualified <br/>EAA Providers"]
end
RP["Relying Parties (RPs)"]
RPI["RP <br/>Intermediaries"]
end
subgraph MS["Member State (MS)"]
MSReg[MS <br/>Registrar]
ProvAC[Provider of <br/>WRPAC]
ProvRC[Provider of <br/>WRPRC]
MSTLP["MS <br/>Scheme Operator <br/>(SO)"]
TLs[/TLs/]
Reg[/"Register(s)"/]
MSTLP --- TLs
MSReg--- Reg
end
subgraph EC["European Commission (EC)"]
ECLoTE[EC LoTE <br/>Provider]
Cat[/Catalogues/]
LoTEs[/LOTLs or LoTEs/]
ECLoTE --- LoTEs
end
%% Skeleton
PIDP ~~~ RPI
RPI ~~~ AP
RP ~~~ RPI
ProvAC ~~~ ProvRC
%% Style
classDef WRP_entities fill:#ffefd5, stroke:#ffdab9
style WRP fill:#ffff,stroke:#ffdab9,stroke-width:2px,rx:20,ry:20
style AP fill:#ffff,stroke:#ffdab9,stroke-width:2px,rx:20,ry:20
style EC fill:#ffff,stroke:#abb2bf,stroke-width:2px,rx:20,ry:20
style MS fill:#ffff,stroke:#2f4f4f,stroke-width:2px,rx:20,ry:20
classDef blue fill:#e8f0fe,stroke:#abb2bf
classDef green fill:#8fbc8f,stroke:#2f4f4f
class QEAAP,PIDP,PubP,EAAP,RP,RPI WRP_entities;
class ECLoTE,ECNS,Cat,LoTEs blue;
class MSTLP,MSReg,ProvAC,ProvRC,TLs,Reg green;
%% Arrows
WP ---|Provides Wallet Solution| User
User ---|Controls/activates| WU
WU ---|"Interacts (issue/present <br/>PID/Attestation)"| WRP
WRP ---|"WRP Registration Process"| MS
EC ---|"Notification Process <br/> through the EC Notification System"| MS