9.1.2. Wallet Solution Components

Note

Tests related to the Wallet Solution components (Wallet Backend, and Wallet Unit) are summarized in WP_012, and WP_013, accordingly.

9.1.2.1. Wallet Backend

9.1.2.1.1. Frontend Component

The Frontend Component MUST provide a web-based User interface for Wallet Instance management, offering functionality to:

  • Display and verify Wallet Instances and their status.

  • Manage Wallet Instance lifecycle (e.g., revocation).

  • Provide User support and documentation.

9.1.2.1.2. API Interface

This component MUST:

  • forward the request from the Frontend Component or the Wallet Instance to the Wallet Instance Lifecycle Management component.

  • use PDND according to rules in Section e-Service PDND to be notified by the PID/IT-Wallet ID Provider of the need to revoke the Wallet Instance and delete the User's account due to the User's death.

9.1.2.1.3. Wallet Instance Lifecycle Management

This component MUST handle:

9.1.2.1.4. Trust & Security Component

This component MUST ensure security through:

  • Key and certificate management.

  • Audit logging.

  • Security monitoring and incident response.

  • Compliance with IT-Wallet Federation security requirements.

9.1.2.2. Wallet Unit

9.1.2.2.1. User Interface

The User Interface is the point of interaction and communication between the User and the Wallet Instance.

9.1.2.2.2. Wallet Instance Lifecycle Management Component

Interacting with the Wallet Backend, this component MUST handle:

Based on the status of the Wallet Instance and the User request, this component interact with the other Wallet Instance components.

9.1.2.2.3. Issuer Component

Following the OpenID4VCI specification and the implementation profile in Section Digital Credential Issuance, this component MUST implement the Digital Credential issuance protocols and flows to request Digital Credentials to Credential Issuers.

9.1.2.2.4. Presentation Component

Following the implementation profile in Section Digital Credential Presentation, this component MUST be compliant with remote flows based on OpenID4VP and proximity flow based on ISO18013-5.

9.1.2.2.5. Backup and Restore Component

For each device-bound Digital Credential other than the PID and the IT-Wallet ID, this component MUST add to the backup file the data necessary to request issuance of that Digital Credential during restore. The data are specified in Section Backup Flow.

This component MUST keep the migration object specified in Migration to a Different Wallet Solution.

Note

Restore of the backup file does not request issuance of the PID or the IT-Wallet ID. The migration object includes references to any PID or IT-Wallet ID present in the source Wallet Instance, enabling the receiving Wallet Instance to request their fresh issuance.

9.1.2.2.6. Dashboard and Transaction Log

This component MUST provide the Wallet Unit dashboard and transaction log functionality. In particular, this component MUST:

  • provide a user-accessible interface enabling the User to access transaction transparency information.

  • maintain a transaction log of transactions executed through the Wallet Unit, including non-completed transactions.

  • support User interaction with transaction records, including viewing, export, and deletion.

9.1.2.2.7. Keystore

The Wallet Instance MUST use this component to securely generate, store, and use cryptographic keys for all Digital Credentials. The Keystore relies on the device's OEM hardware-backed cryptographic environment (Strongbox or TEE on Android, and Secure Enclave on iOS). The Keystore is attested via the OEM Key Attestation APIs. The Keystore is the default secure storage mechanism for all Wallet Instance operations and Digital Credentials.

9.1.2.2.8. WSCA/WSCD Interface

For PID issuance and management at Level of Assurance High, the Wallet Instance MUST interact with a WSCA operating within a Remote WSCD implemented as a remote Hardware Security Module (remote HSM) operated server-side. This component provides the interface to the WSCA and the Remote WSCD. This component ensures that PID private keys are generated and managed in a tamper-resistant remote hardware environment meeting the requirements for Level of Assurance High.

The Wallet Provider performs key attestation for the Remote WSCD. After the WSCA generates the PID key pair within the Remote WSCD (remote HSM), the Wallet Provider attests to the properties of both the WSCA and the Remote WSCD. The attestation uses the attestation information (Public Key Confirmation) provided by the Remote WSCD (remote HSM). The Wallet Provider issues a Key Attestation (KA) that is presented to the PID Provider during PID issuance. The KA for the Remote WSCD differs from the Keystore-based KA. The KA for the Remote WSCD describes the remote HSM's security properties rather than the OEM device hardware. That description provides the higher certification level required for Level of Assurance High.

9.1.3. Wallet Solution Interaction Patterns

The Wallet Solution supports these interaction patterns:

  1. User to Wallet Backend Frontend: Web-based interactions for Wallet Instance management.

  2. Wallet Instance to Wallet Backend API: for Wallet Instance registration, Wallet Instance Attestation and Key Attestation issuance.

  3. PID/IT-Wallet ID Provider to Wallet Backend API: Secure API calls to request Wallet Instance revocation.

  4. User to Wallet Instance User Interface: for Digital Credential management (issuance, presentation, backup, restore, deletion).

  5. Wallet Instance to Relying Party: for Digital Credential presentation.