Digital identity management systems are rapidly evolving and increasingly shifting toward decentralized models. The most prominent example is the EUDI Wallet (European Digital Identity Wallet), which has become the benchmark for security, interoperability, and user privacy protection. Within this new paradigm, the Relying Party plays a pivotal role as the entity responsible for receiving, verifying, and validating the credentials presented by users. This thesis illustrates the design and development of a Relying Party (built within a Node.js/TypeScript environment) that complies with all specifications of the EUDI Wallet ecosystem, with a specific focus on the OpenID for Verifiable Presentations (OpenID4VP) protocol. The project addresses the entire lifecycle of the interaction with the Wallet, focusing primarily on two advanced technical aspects: dynamic requests and cryptographic validation. On one hand, the system implements the parsing and processing of the Dynamic Credential Query Language (DCQL), enabling the Relying Party to formulate complex, flexible, and multi-credential requests, thereby overcoming the limitations of static queries. On the other hand, the core of the project focuses on the rigorous validation of credentials by natively supporting the SD-JWT (Selective Disclosure JWT) format. This includes not only verifying issuer signatures and ensuring the correct selective disclosure of attributes (to minimize shared data), but also implementing Holder Binding through cryptographic checks (Key Binding JWT) to guarantee that the presenter is the actual holder of the credential. Furthermore, the developed Relying Party securely handles bidirectional communications, supporting the generation of signed Request Objects and the decryption of encrypted responses (JWE) originating from the Wallet. The final result is a robust, modular architectural component ready for integration into real-world digital identity scenarios, demonstrating the technical feasibility and effectiveness of the new European standards for the secure exchange of verifiable credentials.
I sistemi di gestione dell’identità digitale stanno cambiando velocemente e puntano sempre di più verso modelli decentralizzati. L’esempio più chiaro è l’EUDI Wallet, il portafoglio europeo per l’identità digitale, che ormai fa da riferimento quando si parla di sicurezza, interoperabilità e protezione della privacy delle persone. Dentro questa nuova realtà, il Relying Party ha un ruolo centrale: è l'entità che riceve, controlla e valida le credenziali che gli utenti presentano. Il presente lavoro di tesi illustra la progettazione e lo sviluppo di un Relying Party (sviluppato in ambiente Node.js/TypeScript) conforme a tutte le specifiche dell’ecosistema EUDI Wallet, con una particolare attenzione al protocollo OpenID for Verifiable Presentations (OpenID4VP). Il progetto affrotna tutto il ciclo di vita dell’interazione con il Wallet, e si focalizza soprattutto su due aspetti tecnici avanzati: le richieste dinamiche e la validazione crittografica. Da un lato, il sistema implementa il parsing e l'elaborazione del Dynamic Credential Query Language (DCQL), permettendo al Relying Party di formulare richieste complesse, flessibili e multi-credenziale, andando oltre i limiti delle query statiche. Dall'altro, il core del progetto si concentra sulla rigorosa convalida delle credenziali, supportando nativamente il formato SD-JWT (Selective Disclosure JWT). Questo include non solo la verifica delle firme dell'emittente e la corretta rivelazione selettiva degli attributi (per minimizzare i dati condivisi), ma anche l'implementazione del Holder Binding tramite controlli crittografici (Key Binding JWT) per assicurare che il presentatore sia l'effettivo titolare della credenziale. Inoltre, il Relying Party sviluppato gestisce in modo sicuro le comunicazioni bidirezionali, supportando la generazione di Request Object firmati e la decifratura di risposte criptate (JWE) provenienti dal Wallet. Il risultato finale è un componente architetturale robusto, modulare e pronto per essere integrato in scenari reali di identità digitale, dimostrando la fattibilità tecnica e l'efficacia dei nuovi standard europei per lo scambio sicuro di credenziali verificabili.
Progettazione e sviluppo di un Relying Party conforme allo standard EUDI Wallet: dal parsing di query DCQL alla convalida crittografica
MASIERO, ANDREA
2025/2026
Abstract
Digital identity management systems are rapidly evolving and increasingly shifting toward decentralized models. The most prominent example is the EUDI Wallet (European Digital Identity Wallet), which has become the benchmark for security, interoperability, and user privacy protection. Within this new paradigm, the Relying Party plays a pivotal role as the entity responsible for receiving, verifying, and validating the credentials presented by users. This thesis illustrates the design and development of a Relying Party (built within a Node.js/TypeScript environment) that complies with all specifications of the EUDI Wallet ecosystem, with a specific focus on the OpenID for Verifiable Presentations (OpenID4VP) protocol. The project addresses the entire lifecycle of the interaction with the Wallet, focusing primarily on two advanced technical aspects: dynamic requests and cryptographic validation. On one hand, the system implements the parsing and processing of the Dynamic Credential Query Language (DCQL), enabling the Relying Party to formulate complex, flexible, and multi-credential requests, thereby overcoming the limitations of static queries. On the other hand, the core of the project focuses on the rigorous validation of credentials by natively supporting the SD-JWT (Selective Disclosure JWT) format. This includes not only verifying issuer signatures and ensuring the correct selective disclosure of attributes (to minimize shared data), but also implementing Holder Binding through cryptographic checks (Key Binding JWT) to guarantee that the presenter is the actual holder of the credential. Furthermore, the developed Relying Party securely handles bidirectional communications, supporting the generation of signed Request Objects and the decryption of encrypted responses (JWE) originating from the Wallet. The final result is a robust, modular architectural component ready for integration into real-world digital identity scenarios, demonstrating the technical feasibility and effectiveness of the new European standards for the secure exchange of verifiable credentials.| File | Dimensione | Formato | |
|---|---|---|---|
|
Masiero_Andrea.pdf
accesso aperto
Dimensione
2.7 MB
Formato
Adobe PDF
|
2.7 MB | Adobe PDF | Visualizza/Apri |
The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License
https://hdl.handle.net/20.500.12608/116505