Le Verifiable Credentials

Nelle ultime guide abbiamo trattato diversi argomenti: dai modelli di identità digitale, alla nascita della Self Sovereign Identity (SSI), e ad uno dei primi pilastri, i DID.

Come già affrontato, il concetto di Self Sovereign Identity è basato su tre principali “pilastri”:

  • I Decentralized Identifiers (DID)
  • Le Verifiable Credentials
  • La tecnologia Blockchain

Questa guida ha l’obiettivo di analizzare e spiegare il secondo dei tre pilastri, ovvero le Verifiable Credentials.

Il termine inglese non deve spaventarci: il concetto che c’è dietro alle Verifiable Credentials è comprensibile per tutti, e sicuramente una delle grandissime innovazioni nei modelli attuali di identità e certificazioni digitali.

Le Verifiable Credentials sono un modo di rappresentare gli attributi che tutti noi associamo alla nostra identità. In generale, gli attributi possono essere di qualunque tipo: un certificato di salute, che ad esempio certifica il fatto che io abbia o meno una patologia, o anche semplicemente un certificato rilasciato da un qualsiasi ente!

Ecco, questi attributi, nell’ambito dell’identità vengono chiamati “Credenziali”. Nell’ambito invece della Self Sovereign Identity, le Credenziali sono denominate Verifiable Credentials.

Pensiamo alle credenziali “fisiche” che noi tutti possediamo ed utilizziamo oggi: la nostra carta d’identità, la patente, il nostro certificato di nascita, piuttosto che la nostra laurea appesa alla parete. Noi tutti siamo abituati a detenere tali credenziali in maniera fisica: all’interno del nostro portafoglio, piuttosto che in un cassetto. Quando ci vengono richieste (ad esempio il passaporto in aeroporto), possiamo presentarle, e colui che le legge è in grado di verificarne la veridicità (ad esempio verificando che il passaporto sia stato emesso da un’autorità competente).

Esse sono dunque un modo per rappresentare i certificati che siamo abituati a conoscere come “fisici” in una maniera totalmente digitale.

Le Verifiable Credential sono per la loro natura una radicale innovazione: un cittadino è in grado di detenere qualunque attributo che lo riguardi all’interno del suo smartphone, in maniera totalmente digitale. È pur vero che i certificati digitali esistono da ormai diversi anni: le Verifiable Credentials sono strutturate in maniera diversa, grazie a delle caratteristiche che le rendono sicure, non modificabili, e sono verificabili in maniera indipendente. Come è possibile? Le Verifiable Credentials possono essere pensate alla stregua di “oggetti” che un utente riceve da un emettitore, che le firma in maniera digitale. Proprio come nel caso di un certificato fisico, una volta che un utente ha ricevuto una Verifiable Credential, è in grado in maniera totalmente indipendente di gestirla e mostrarla quando meglio crede (proprio come una tessera all’interno dei nostri portafogli, firmata dall’emettitore e successivamente in nostro unico possesso).

Le Verifiable Credentials possono essere detenute direttamente all’interno dei propri smartphone, e possono essere mostrate per la verifica delle stesse, ricreando il modello “fisico” all’interno del mondo digitale

In questo modo, tramite le Verifiable Credential i cittadini e gli utenti sono in grado di interagire con il mondo digitale: è possibile inoltre creare un sistema di trust decentralizzato all’interno di un mondo dove fino ad oggi i dati digitali non sono mai riusciti veramente a tornare in totale possesso degli utenti.

 

Verifiable Credentials: il workflow e gli attori

 

Lo schema seguito per l’emissione e la gestione delle Verifiable Credentials permette agli utenti di essere completamente indipendenti nella gestione delle stesse: questo abilita la self-sovereignity dei dati che sono detenuti dai cittadini.

Le stesse dunque ricadono totalmente all’interno dei componenti che permettono di abilitare la Self-Sovereign Identity. Un workflow esemplificativo che descrive l’emissione e la gestione delle Verifiable Credentials può essere il seguente:

All’interno dello schema mostrato sopra, come si può notare, esistono principalmente tre ruoli nell’emissione, gestione e scambio di Verifiable Credentials:

  • Un emettitore (Issuer) di credenziali: un emettitore può essere qualunque entità, da un ministero ad esempio, fino ad un famigliare. Le credenziali che possono venire emesse sono di qualunque tipo, e offrono diversi livelli di sicurezza a seconda di chi è l’emettitore di tale credenziale. L’emettitore invia direttamente le credenziali all’utente, anche chiamato Holder.
  • Un utente (Holder) riceve credenziali firmate digitalmente da uno o più Issuer. Una volta che la credenziale viene inviata all’Holder, quest’ultimo è in grado di gestire tale credenziale in maniera del tutto autonoma: può difatti presentarla a coloro che glielo richiedono, senza che l’ente che ha emesso la credenziale sia mai coinvolto. Ed è per questo motivo che le Verifiable Credentials ricalcano il mondo delle credenziali fisiche, in un ambito digitale!
  • Un verificatore (Verifier) può essere qualunque entità che si occupi di “verificare” delle Credentials che gli sono mostrate da parte di un utente. La Credential contiene tutti i dati necessari alla verifica della stessa, come ad esempio chi è l’Issuer, a chi è intestata la Credenziale, ed il fatto che essa sia o meno stata modificata nel tempo.
  • La tecnologia Blockchain (o il Verifiable Data Registry) viene utilizzata per controllare la validità della credenziale in possesso all’Holder.

 

Verifiable Credentials: un esempio pratico

Proviamo ora a immaginare lo schema in ottica di un utilizzo reale.

Una credenziale che la maggior parte di noi si trova giornalmente ad utilizzare (detenendola e mostrandola) è la patente.

Supponendo che l’emissione delle patenti possa essere svolta tramite emissione di Verifiable Credential, il workflow della soluzione potrebbe essere il seguente:

Riprendendo il workflow mostrato in precedenza, in questo caso il funzionamento del sistema potrebbe essere il seguente:

  1. Un cittadino sostiene l’esame di guida, ed è in possesso di un portafoglio digitale (i.e. crypto wallet) che si basa sugli standard di Self Sovereign Identity.
  2. Una volta superato l’esame di guida, la Motorizzazione rilascerà, tramite il proprio sistema, una Verifiable Credential che rappresenta la patente. All’interno della Verifiable Credential sarà definito il nome del possessore, la validità della patente, ed altre informazioni utili.
  3. Il cittadino a questo punto riceve la patente e la detiene sotto forma di Verifiable Credential all’interno del proprio portafoglio digitale.
  4. Un poliziotto ferma il cittadino per un controllo: il cittadino può mostrare la sua patente sotto forma di Verifiable Credential. Il poliziotto, tramite le proprietà crittografiche della Credential, può verificarne il possessore, e facendo un controllo sulla Blockchain può controllare che quest’ultima sia ancora valida.

Nell’esempio sopra mostrato, il cittadino è stato in grado di mostrare un proprio attributo ad un Verificatore, in maniera totalmente privacy preserving.

Le Verifiable Credential sono difatti in grado di abilitare quella che viene definita come selective disclosure: è possibile per un Holder mostrare solamente i dati necessari al Verificatore, senza dovere mostrare tutti i dati contenuti nella Verifiable Credential.

Un esempio? Il cittadino che viene fermato dal poliziotto è potenzialmente in grado di dimostrare al Verificatore di essere in possesso di una licenza di guida senza nemmeno mostrargli il proprio nome. Tutto ciò grazie alle proprietà crittografiche delle Verifiable Credential.

Cosa prospetta il futuro?

Il tema di Verifiable Credential sarà trattato a lungo all’interno del nostro blog [Inserire Link alla home], anche attraverso guide che mirino a spiegare ancor più nel tecnico come queste funzionano e come sono composte.

Sicuramente le Verifiable Credential sono una delle maggiori innovazioni recenti in ambito di identità digitale, e sono un modo attraverso il quale è possibile abilitare ancora una maggiore Self-Sovereignity rispetto ai dati degli utenti.

Al momento il concetto di Verifiable Credential è in fase di standardizzazione da parte di un Gruppo di Lavoro portato avanti dal W3C, una delle entità più importanti del mondo digitale. Il lavoro sulle Verifiable Credentials può essere visionato a questo link https://www.w3.org/TR/vc-data-model/, in attesa che queste ultime diventino finalmente parte della nostra vita di tutti i giorni, dove i nostri diplomi di laurea, patente ed altre credenziali digitali saranno finalmente in nostro completo possesso.