DCQL spiegato: come un verificatore chiede a un wallet esattamente ciò che gli serve
DCQL, il Digital Credentials Query Language, è il modo condiviso con cui un'organizzazione comunica a un wallet quali credenziali le servono e quali dati al loro interno. È ciò che trasforma una richiesta come "dimostra che la tua azienda è registrata nei Paesi Bassi" in qualcosa che ogni wallet conforme comprende, senza un'integrazione separata per ciascun wallet.
Il problema che DCQL risolve
Un business wallet contiene credenziali di molti tipi, emesse da enti diversi in paesi diversi e conservate in formati tecnici diversi. Un'organizzazione che deve solo confermare un numero di registrazione e una denominazione legale non ha un modo portabile per chiedere esattamente quello. Finisce per prendere l'intera credenziale, con tutto ciò che contiene, oppure per costruire un'integrazione separata per ogni wallet che incontra.
DCQL risolve il lato della richiesta. Un'unica richiesta standard indica le credenziali volute e i dati specifici voluti da ciascuna. Il wallet la confronta con quello che il titolare possiede davvero, mostra al titolare che cosa viene chiesto e rilascia solo quello. Il verificatore ottiene una risposta prevedibile indipendentemente dal wallet usato dal titolare.
1. Verificatore
Chiede esattamente le credenziali e i dati che gli servono
2. Wallet
Individua quali credenziali salvate corrispondono alla richiesta
3. Titolare
Vede che cosa viene chiesto e approva il rilascio solo di quello
4. Verificatore
Riceve i dati approvati, e nulla di più
Che cosa può chiedere un verificatore
Una richiesta è un breve elenco di ciò che serve. Può indicare una credenziale o più di una, e per ciascuna può indicare i dati specifici voluti invece dell'intero contenuto. Tre opzioni aggiuntive coprono quasi ogni caso reale: alternative, combinazioni e un limite su quali emittenti sono accettabili.
- Quali credenziali servono e quali dati all'interno di ciascuna.
- Alternative accettabili, in ordine di preferenza, per i titolari che non hanno tutto.
- Combinazioni, così una richiesta può esigere una credenziale e una a scelta fra altre due.
- Una restrizione agli emittenti presenti su una trusted list ufficiale, così le credenziali di chiunque altro non vengono mai proposte.
Chiedere un'alternativa
Non tutti i titolari hanno la stessa credenziale. Un verificatore può indicare che cosa preferirebbe e che cosa accetterebbe comunque, in ordine, e il wallet usa l'opzione migliore che il titolare è davvero in grado di soddisfare. Così si evita un secondo giro di richieste e si evita di respingere un cliente a cui manca soltanto il dettaglio più desiderabile.
1. Preferito
Usato quando la credenziale contiene entrambi
2. Alternativa
Usato solo quando la prima opzione non è soddisfatta
Qui il verificatore preferirebbe un numero di registrazione insieme alla denominazione legale, ma accetterà la sola denominazione legale quando la credenziale del titolare non contiene un numero di registrazione.
Combinare più credenziali in un'unica richiesta
I controlli di onboarding raramente si basano su un solo documento. Un verificatore può richiedere una credenziale e accettarne insieme una a scelta fra altre due, tutto in un'unica richiesta, così il titolare approva una volta sola e il verificatore ottiene una risposta completa in un solo passaggio.
Obbligatorio
Registrazione dell'impresa
Uno tra
Partita IVA
Uno tra
Attestazione del conto bancario
È obbligatoria una registrazione d'impresa. In aggiunta va bene una registrazione IVA oppure un'attestazione di conto bancario, e al titolare basta averne una delle due.
Accettare solo emittenti affidabili
Un verificatore può restringere una richiesta alle credenziali il cui emittente compare su una trusted list ufficiale. Le credenziali di chiunque altro non vengono nemmeno proposte al titolare, quindi un'imitazione auto-emessa non arriva neppure al controllo.
Il verificatore dice: solo da emittenti presenti su una trusted list ufficiale dell'UE
Credenziale di registrazione da un emittente in lista
L'emittente compare sulla trusted list
✓ Proposta al titolare
Credenziale di registrazione da un emittente non in lista
L'emittente non compare sulla trusted list
✗ Non proposta al titolare
Questo è un filtro nel wallet, non una garanzia di per sé. Il verificatore verifica comunque l'emittente sulla trusted list quando convalida ciò che ha ricevuto.
A che punto è DCQL oggi
- DCQL fa parte della specifica OpenID4VP stessa e non è un documento separato, e ha sostituito una precedente dipendenza da DIF Presentation Exchange.
- L'Architecture and Reference Framework dell'EUDI Wallet indica OpenID4VP come protocollo di presentazione e DCQL insieme a esso, quindi ci si aspetta che i wallet e i verificatori dell'ecosistema lo supportino.
- I wallet e i verificatori di riferimento del programma EUDI Wallet hanno convergito su DCQL, quindi un'integrazione di business wallet avviata oggi dovrebbe basarsi su questo e non sull'alternativa precedente.
Che cosa significa per te
Verificatore
Un unico formato di richiesta copre ogni wallet e ricevi solo i dati che hai chiesto, quindi meno dati da conservare, proteggere e giustificare.
Titolare
Vedi esattamente che cosa ti viene chiesto prima di approvare, e nulla oltre a quello esce dal tuo wallet.
Emittente
Le credenziali che emetti restano utili per controlli parziali, così una sola credenziale può servire a molti scopi diversi.
Approfondimento tecnico
Questa pagina spiega che cosa fa la tecnologia e chi riguarda. La nostra documentazione per sviluppatori copre l'implementazione vera e propria: i messaggi, i campi e gli esempi concreti di cui ha bisogno un team di integrazione.
Leggi la documentazione tecnicaTermini correlati
Domande frequenti
In cosa DCQL differisce da DIF Presentation Exchange?
Entrambi sono modi con cui un verificatore descrive che cosa vuole da un wallet. Presentation Exchange è il più vecchio e il più ampio dei due, pensato per funzionare con diversi protocolli. DCQL è volutamente più ristretto ed è definito all'interno di OpenID4VP stesso. L'ecosistema EUDI Wallet ha scelto DCQL come standard, quindi è su questo che bisogna impostare i piani per il mercato europeo.
Una sola richiesta può riguardare più di una credenziale?
Sì, ed è una delle ragioni per cui esiste. Un verificatore può chiedere una registrazione d'impresa e un'attestazione di conto bancario in un'unica richiesta, oppure accettare una fra due alternative, e il titolare approva tutto in un solo passaggio invece di ricevere due richieste.
Che cosa succede se il titolare non ha tutto quello che è stato chiesto?
Il verificatore può indicare le alternative accettabili, in ordine di preferenza, e il wallet usa la migliore che il titolare è davvero in grado di soddisfare. Un verificatore può quindi chiedere un numero di registrazione preciso dove esiste e accontentarsi della denominazione legale dove non esiste, senza inviare una seconda richiesta né respingere il titolare.
DCQL è specifico dell'EUDI Wallet?
No. DCQL fa parte di OpenID4VP e qualsiasi implementazione di quel protocollo può usarlo. L'ecosistema EUDI Wallet è un adottante di rilievo: l'Architecture and Reference Framework indica OpenID4VP con DCQL come modalità di presentazione delle credenziali, ed è per questo che conta per chiunque sviluppi per il mercato europeo.
Aiuta a rispettare la minimizzazione dei dati prevista dal GDPR?
Rende esplicito il minimo necessario. La richiesta indica quali dati servono, il titolare vede quell'elenco prima di approvare e il wallet non rilascia nulla oltre a quello. Così la minimizzazione dei dati passa da una promessa a un limite imposto dallo scambio stesso, molto più facile da dimostrare.
Fonti
Questa pagina ha scopo informativo e non costituisce consulenza legale. Per indicazioni autorevoli rivolgersi direttamente alla OpenID Foundation e alla Commissione europea.