Dopo questa ultima guida finalmente, avrai sufficienti informazioni per poter esplorare il resto del nostro sito e il web. 

Nelle sei guide precedenti abbiamo parlato di:

  1. La storia della SSI, ovvero la filosofia dietro questo nuovo standard di identitĂ  e la ragione storica della sua nascita.
  2. Modelli di Identity Management, ovvero i passaggi da silos model, a IDP a SSI.
  3. Decentralized Identifier (DID), ovvero i nuovi identificatori decentralizzati che abilitano l’utente a controllare completamente la propria identità.
  4. Verifiable Credential (VC), ovvero la nuova forma di credenziali digitali immaginabili come i nostri documenti custoditi dentro il portafoglio.
  5. DID Auth e DKMS, ovvero il meccanismo attraverso il quale un utente può dimostrare di possedere un DID e la rappresentazione digitale del nostro portafoglio in pelle, in quale contiene i nostri DID e VC.
  6. Il ruolo della blockchain nella SSI, ovvero il registro distribuito che viene utilizzato per dimostrare e/o revocare diritti, credenziali ed attributi. 

Abbiamo descritto come effettivamente tutti questi pezzi del puzzle, se messi insieme, possono contribuire alla realizzazione di un nuovo standard di identitĂ  digitale, che permetta agli utenti di gestire in maniera autonoma tutte le informazioni relative al proprio Io digitale (e non).

Premessa SSI

Questa ultima guida sarĂ  strutturata in due parti principali.

Il nostro obiettivo è quello di  raccontarvi passo per passo degli scenari di vita quotidiana in cui uno o più individui utilizzano questo standard tecnologico per accedere a dei servizi o dei prodotti online e offline. Questo, riprendendo gli argomenti descritti nelle precedenti guide nella maniera più intuitiva possibile (consigliamo comunque la lettura delle guide precedenti). 

Verranno utilizzati i nomi Alice e Bob che sono gli evergreen nei libri di crittografia,e immaginiamo che il protocollo SSI sia già diffuso all’interno della società immaginaria tra tutti gli attori. 

Parte 1

Alice crea un proprio account bancario 

Il seguente scenario è un perfetto business case per comprendere il valore delle verifiable credentials. Inoltre, nell’ottobre del 2018, quattro aziende – IBM, WorkDay, Alberta Trust Bank (ATB), e Evernym – hanno collaborato per dimostrare il funzionamento delle verifiable credentials per la creazione di un conto corrente, il quale (funzionamento) viene raccontato anche nel seguente video chiamato Job-Creds.

Come primo passaggio, il video mostra Alice quando ottiene una verifiable credentials governativa (la patente di guida dalla motorizzazione), poi ottiene una credenziale come impiegata a tempo indeterminato da IBM, ed infine come, grazie alle due verifiable credentials, Alice apre un conto corrente presso ATB. Tutto il meccanismo è molto semplice, poiché bastano solo i QR code e i computer per richiedere connessioni o prove di identità.

Cerchiamo di descrivere nel dettaglio il processo rappresentato nel video attraverso 9 passaggi:

  1. Alice si reca alla motorizzazione per prendere la patente B. Per potersi identificare presso il personale avrà solo bisogno del suo smartphone e di un app wallet (i.e. DKMS), all’interno della quale vi sono tutte le sue chiavi crittografiche associate ai propri DID. Al semplice click sul suo smartphone, Alice dimostra di controllare il DID che ha comunicato di voler utilizzare per ricevere la patente B e la motorizzazione le permette di accedere all’esame (i.e. DID Auth)
  2. Alice finalmente effettua l’esame per poter ottenere la patente. Lo passa senza errori e quindi la motorizzazione crea la sua patente. In questo caso, la patente non sarĂ  fisica (quindi niente plastica) ma completamente digitalizzata sotto forma di credenziale verificabile (i.e. VC). Esattamente come in quella di plastica, la VC avrĂ  dei riferimenti digitali della motorizzazione tipo data di scadenza, codice identificativo etc. Quest’ultima viene inviata dal computer dell’operatore al app wallet di Alice con un semplice QR code, semplicemente come una mail verso un indirizzo.
  3. Adesso, Alice possiede una VC, che le permette di lavorare per alcune aziende (immaginiamo che uno dei requisiti per lavorare sia avere la patente B per potersi muovere da una regione all’altra).
  4. Alice si reca all’azienda IBM per fare il colloquio. La prima richiesta del responsabile delle assunzioni, Bob, è di mostrare alcune credenziali per lavorare in quella posizione, tra cui la patente B. Alice prende il suo smartphone ed inquadra il qr code sopra il computer di Bob: avviene un collegamento e Alice dimostra di avere un DID e un VC creata dalla motorizzazione ad esso associato. Il colloquio continua ed Alice viene assunta.
  5. Qualche giorno dopo, Bob invia, tramite internet, il contratto di assuzione (sotto forma di VC) all’interno della quale vi sono i dati dell’azienda, la posizione lavorativa di Alice, il DID di Alice e la durata del contratto. Alice tramite il suo smartphone, riceve una notifica, ed accetta l’invio di questa credenziale. Quest’ultima viene aggiunta alla lista di credenziali dentro la sua app wallet. Allo scadere del contratto, Bob prenderà questa VC e la scriverà sulla blockchain così per dimostrare la sua revoca (o scadenza).
  6. Finalmente, Alice possiede tutte le VCs che le permettono di creare il proprio conto corrente in banca. (Nota bene: le condizioni per poter accedere al conto corrente sono arbitrarie per far comprendere il meccanismo.). Come può richiedere Alice alla banca di aprire un conto corrente? Semplice, o può andare direttamente in banca o inquadra con il suo smartphone un QR code all’interno di un annuncio marketing o dentro la landing page della banca. Quindi, con un semplice click, Alice potrà fare una richiesta “formale” alla banca di voler creare un collegamento (e quindi aprire un conto) e contemporaneamente la banca si ritroverà una nuova richiesta di un potenziale nuovo correntista.
  7. La banca riceve la richiesta e chiede ad Alice delle prove relative ad alcune sue credenziale, come la sua identità precisa e se possiede un lavoro stabile. Alice mostra sempre telematicamente come esiste una VC (i.e. la patente B) della motorizzazione associata al proprio DID e un VC (i.e. il contratto di lavoro) dell’azienda IBM associata al proprio DID.
  8. La banca verifica la correttezza delle VCs, Come? Cercando per esempio sulla blockchain se vi sono delle revoche. In questo scenario, Alice è onesta e la banca accetta di farla diventare una sua correntista. Alchè, la banca invia ad Alice una credenziale verificabile all’interno della quale vi sono le istruzioni per creare il proprio conto corrente ed accedervi in modo sicuro.
  9. Alice grazie alla SSI è riuscita ad ottenere un servizio dalla banca, senza rilevare tutti i suoi dati e avendo sempre il controllo sulla propria identità. Sia la banca, sia la motorizzazione, sia l’azienda non possiedono nessun dato sensibile di Alice ( se non l’identificatore decentralizzato ed alcune informazioni delle sue credenziali verificabili) ed in questo modo anche questi enti sono meno esposti ad eventuali leak ed attacchi informatici. 

In questo semplice esempio abbiamo capito come nell’effettivo vengano utilizzati i decentralized identifiers, le verifiable credentials, i did auth e i decentralized key management system. Nella seconda parte di questa guida, riporteremo un ulteriore scenario di vita quotidiana per sedimentare questi concetti.