Identità digitale: il modello della Self Sovereign Identity

Articolo di Marco Del Fungo del 08/07/2022

Condividi su FacebookCondividi su LinkedinCondividi su Twitter

Ai modelli tradizionali di gesitione dell'identità digitale, se ne affianca uno innovativo nel quale  ogni utente è completamente sovrano di se stesso e della propria identità: la Self Sovereign Identity.

A Mister Lex questo modello sembra molto interessante.

Ce lo spiega l'avv. Marco Del Fungo in un nuovo capitolo sull'argomento.

***

La Self Sovereign Identity è un nuovo modello (il terzo) di gestione dell’identità digitale ed è centrato sull’individuo e sul potere di controllo del medesimo sui propri dati. Il concetto di SSI è “centrico” verso l’utente, che è l’unico ed indipendente possessore della propria identità digitale e di tutti i dati ad essa associati.

Rispetto ai due approcci sopra descritti, la SSI si basa sull’idea di una connessione peer to peer (architettura in cui tutti i computer connessi svolgono la funzione sia di client che di server) e non di tipo account-based.

Come abbiamo visto, i precedenti modelli di identità generano un’interazione frammentata rendendo necessario in ciascun dominio ripetere quelle attività volte a definire e verificare gli attributi di identità di un soggetto con evidenti problemi in termini di fiducia e di sicurezza.

L’obiettivo della SSI è quello di sviluppare un ecosistema collaborativo ed integrato. La creazione dell’ecosistema, deve permettere di fornire un flusso di informazioni in grado di dare una rappresentazione digitale completa dell’identità di un soggetto.

I primi due modelli di identità descritti utilizzano un “centralized name system” per la risoluzione in indirizzi IP dei nomi dei nodi della rete. Il servizio viene realizzato tramite un database tendenzialmente costituito dai server DNS – Domain Name System - come base dati per la conservazione delle varie informazioni relative alle identità. L’esistente sistema di Domain Name System risulta vulnerabile agli attacchi dei malintenzionati proprio per la sua natura solo in parte decentralizzata.

La SSI sostituisce il DNS nella sua versione centralizzata con la blockchain, creando un nuovo modello “decentralized name system” ove “le informazioni sull’identificazione” sono realmente decentralizzate e replicate sulla intera rete connessa in modalità peer-to-peer, con evidenti vantaggi come vedremo sia in termini di sicurezza informatica e sia di riappropriazione da parte dell’utente del controllo della propria identità.

I Decentralized Identifier (DID)

La “Self-Sovereign Identity” (SSI), si basa come detto sull’utilizzo di un distributed ledger e sull’impiego di tecniche più tradizionali per l’implementazione di un sistema ove l’utente divenga completamente “padrone” dei propri dati. Come vedremo uno degli strumenti cardine del nuovo sistema di identità è il cd. wallet crittografico – inteso come programma software, piattaforma online o dispositivo hardware - ove conservare le chiavi necessarie per essere come vedremo identificabile.

Tra gli standard necessari per il funzionamento del modello SSI il primo è rappresentato dai decentralized identifiers (DID), un nuovo tipo di “identificatore”. Un DID è un elemento costitutivo di un nuovo livello di identità decentralizzata che gode di 4 proprietà:

  • Persistenza
  • Risolvibilità
  • Crittografia
  • Decentralizzazione

In accordo con la definizione del W3C (Organizzazione non governativa che ha quale principale attività lo stabilire standard), un DID è un nuovo tipo di identificatore: ovvero nient’altro che una stringa alfanumerica che identifica una risorsa.

Per risorsa intendiamo qualsiasi oggetto che può essere identificato, da una pagina Web a una persona, a un pianeta. Questa stringa assomiglia molto a qualsiasi altro indirizzo Web, che inizia però per “did:” e non per “https:” o “http:”.

Su un piano strettamente tecnico, un DID è una tipologia di URI (Uniform Resource Identifier), ovvero una stringa di caratteri che identifica una risorsa astratta o concreta in un formato specifico ed unico.

All’interno dell’insieme degli URI vi sono gli URL (Uniform Resource Locator) e gli URN (Uniform Resource Name).

Un URL è una sottoclasse di URI che viene utilizzato per individuare una risorsa tramite la sua locazione nel Web. Ogni pagina Web, file, immagine, video, ha un proprio URL. Gli indirizzi visualizzati nella barra degli indirizzi del browser sono generalmente URL. Il fattore importante è che questi identificatori possono cambiare.

La seconda sottoclasse di identificatori sono definiti come URN e vengono utilizzati per individuare una risorsa tramite il suo “nome”. Un esempio di URN è il codice ISBN: questo identifica univocamente un libro, ma non ci dà alcuna informazione sulla locazione dello stesso o dove esso sia collocato in rete. Il fattore importante è che tale identificatore non può cambiare nel tempo.

URI - sequenza di caratteristiche che identifica universalmente ed univocamente una risorsa. Sono esempi di URI: un indirizzo web (URL), un documento, un'immagine, un file, un servizio, un indirizzo di posta elettronica, il codice ISBN di un libro, un numero di telefono.

URL - una sequenza di caratteri che identifica univocamente l'indirizzo di una risorsa su una rete di computer, come ad esempio un documento, un'immagine, un video, tipicamente presente su un host server e resa accessibile a un client.

URN – una sequenza di caratteri che identifica una risorsa mediante un “name” (nome) in un particolare dominio di nomi che viene detto “namespace”. Un URN può essere utilizzato per descrivere una risorsa senza lasciare intendere la sua ubicazione o su come ottenerne una rappresentazione

In buona sostanza un DID è un URN che può essere “cercato-risolto” per ottenere un insieme standardizzato e persistente di informazioni sulla risorsa che è identificata dal DID. Per risorsa, possiamo pensare ad una persona, ad una associazione/enti collettivi o ad un oggetto. Quindi le informazioni relative al DID sono informazioni relative a persone, associazioni/enti collettivi o oggetti.

Una ulteriore caratteristica dei DID è quella relativa alla crittografia. Un DID è associato ad una coppia di chiavi crittografiche (chiave pubblica e chiave privata) ed il possessore della chiave privata (conservata nel proprio wallet) può dimostrare di essere il controllore del DID.

Queste chiavi private e pubbliche utilizzano la blockchain come “fonte di verità condivisa” per dimostrare a terzi il proprio controllo sui dati, senza appoggiarsi in registri centralizzati.

Un DID non è nient’altro che un codice alfanumerico che rappresenta una risorsa generica. Io avrò un DID e tu avrai un DID diverso dal mio. Questo codice ha uno schema ben preciso ed è formato da 3 parti, quali “Method”, “DID Method” e “Method Specific-Identifier”.

1. La prima parte si chiama Scheme-Method e  non è nient’altro che il prefisso “did:”

2. La seconda parte viene definito come DID Method ed è molto importante perché identifica il registro decentralizzato o la blockchain sulla quale tale DID è stato risolto. Per esempio, se viene risolto sulla blockchain di Bitcoin sarà così espresso “did:btcr”.

3. La terza parte viene definita come Method Specific-Identifier ed è l’estensione (stringa) che caratterizza il DID per la specifica risorsa (il mio DID, il tuo DID). Per esempio, il mio specifico DID per bitcoin potrebbe essere il seguente did:btcr:13n29cn30cn3ncr84dc.

Un DID completamente generico viene riportato come: did:example:123456789abcdefghi

Ogni DID viene registrato in modo autonomo, direttamente dal proprietario all’interno di blockchain permissionless e/o permissioned. Non ci sono intermediari, ed è per questo che viene definita Self-Sovereign Identity. Ogni utente è completamente sovrano di se stesso e della propria identità.

La SSI si basa sull’idea che un individuo possa aprire diversi canali di comunicazioni privati con terze parti quali persone, enti collettivi ed oggetti. E’ opportuno specificare che esistono diverse tipologie di DID, proprio perché, come abbiamo visto in precedenza, quest’ultimo è un identificatore generico.

Per esempio, esiste un DID che viene definito come “DID Subject” e un DID che viene definito “DID Controller”. Un esempio che permette di spiegarne la differenza potrebbe essere il seguente: quando un genitore controlla un DID che identifica come proprio figlio. Il “DID Subject” è il figlio ma il “DID Controller” (almeno fino a quando il figlio ha raggiunto la maggiore età) è il genitore.

Tuttavia, quando il figlio diventa maggiorenne diventerà contemporaneamente “DID Subject” e “DID Controller”.

Inoltre, queste informazioni (ovvero chi controlla o chi è il soggetto) vengono inserite all’interno di un particolare documento che viene definito “DID Document”. Ogni DID ha un proprio “DID Document” dove all’interno vi è una struttura di dati standardizzata che fornisce le specifiche ed i metadati (quali informazioni necessarie affinchè il documento informatico possa essere correttamente formato, gestito e conservato nel tempo) associati al DID. I DID Document possiamo immaginarli come dei libretti di istruzioni che accompagnano i DID, all’interno dei quali vi sono come detto metadati che aiutano le controparti ad identificare la controparte durante una connessione.

Un ruolo fondamentale nel nuovo modello di identità qui in esame è svolto dalle Verifiable Credentials (VCs), che esamineremo nel prossimo articolo.

>> CONTINUA

©2022 misterlex.it - [email protected] - Privacy - P.I. 02029690472