La Blockchain è compatibile con il progetto dell’identità digitale pubblica, sebbene una delle caratteristiche di quella tecnologia sia lo pseudo-anonimato. Lo dimostra un recente lavoro di ricerca portato a termine dal gruppo di ricerca su cybersecurity del dipartimento DIIES dell’Università Mediterranea di Reggio Calabria: ha già individuato una soluzione supera il problema dell’integrazione sicura tra identità digitale pubblica e blockchain.
Blockchain 2.0 e identità digitale
Lo pseudo-anonimato è uno dei requisiti essenziali per la realizzazione di schemi di criptovaluta, che è nei fatti la funzione per la quale è nata la prima e più famosa blockchain, la Bitcoin blockchain. Infatti, fermo restando che uno schema di criptovaluta ideale, per implementare una vera e propria moneta elettronica, dovrebbe garantire anonimato completo, e quindi anche unlinkability tra diverse transazioni, lo pseudo-anonimato delle attuali blockchain (che non sono unlinkable) offre comunque un livello di anonimato adeguato alle criptovalute e ciò ha consentito l’esplosione del fenomeno delle criptovalute.
D’altra parte, ben presto si è visto che le blockchain possono essere utilizzate per applicazioni diverse dalle criptovalute, che mimano transazioni per rappresentare scambio di valore, di token, di informazione, etc. L’avvento delle blockchain 2.0 orientate agli smart contract (prime fra tutte Ethereum), ha ulteriormente arricchito lo scenario dei domini applicativi a cui la blockchain si applica, rendendo ancora più pervasiva questa tecnologia.
Ci si può quindi facilmente rendere conto che blockchain e identità digitale non sono concetti necessariamente in antitesi, ma che vi sono diversi scenari applicativi in cui è opportuno che le parti in gioco di un workflow blockchain-based siano identificate in maniera certa e non ripudiabile, con modalità che abbiano un valore di legge, come per esempio, nei Paesi dell’Unione Europea, un sistema di identità digitale pubblica compliant con il Regolamento Europeo eIDAS (in Italia, il sistema SPID). Tale esigenza può sorgere per diversi motivi, legati all’accountability, alla trasparenza, alla non repudiabilità, che si intende richiedere nel servizio realizzato. Ciò ovviamente non riguarda solo il dominio della Pubblica Amministrazione, ma può derivare da diverse circostanze, sia legate alla compliance con la normativa vigente, sia legate alle precauzioni che le diverse organizzazioni in gioco possono voler adottare in maniera da mitigare i rischi legati alle responsabilità civili e penali derivanti da contenziosi o abusi che nascano nell’erogazione dei servizi (si pensi per esempio alle incombenze derivanti dall’adozione del nuovo Regolamento europeo sulla privacy – GDPR).
Come integrare identità digitale e blockchain
Nasce quindi un problema. Come integrare in maniera sicura identità digitale pubblica e blockchain? Un’integrazione sicura è tale che non abbassa il livello di assurance e di trust offerto dalle due tecnologie. Di fatti una soluzione immediata al problema potrebbe apparire quella di offrire un servizio di identificazione che partecipa al workflow applicativo e che fa da service provider del sistema pubblico di identità digitale pubblica. Tuttavia, questa soluzione attribuirebbe al service provider un livello di trust aggiuntivo, per escludere che nella blockchain vengano immesse transazioni falsamente identificate. Ciò ovviamente non rappresenta una soluzione ottimale.
In un recente lavoro di ricerca [1] portato a termine dal gruppo di ricerca su cybersecurity del dipartimento DIIES dell’Università Mediterranea di Reggio Calabria, viene individuata una soluzione che supera questo problema.
L’idea è quella di sfruttare la nozione di IBE (Identity-based Encryption). Gli IBE sono schemi crittografici che permettono di realizzare un sistema di cifratura a chiave pubblica in cui le chiavi pubbliche sono associate alle identità digitali e quindi calcolabili da chiunque solo sulla base della conoscenza dell’identità digitale associata. Negli schemi IBE è presente una TTP, chiamata PKG (Private Key Generator) che è l’unico soggetto del sistema in grado di calcolare la chiave privata di una data identità digitale. Un dato soggetto quindi, contattando il PKG e dimostrandogli di essere in possesso di una certa identità digitale, potrà ottenere la propria chiave privata.
Si può quindi comprendere come realizzare l’integrazione tra blockchain e identità digitale, ricordando che le transazioni sulla blockchain sono effettuate usando come destinatario un indirizzo che è derivato da una chiave pubblica. La dimostrazione del possesso del valore ricevuto (sia essa criptovaluta, un generico valore, un token, o altro) è invece fornita attraverso la firma, e cioè l’uso della chiave privata corrispondente. Pertanto, se il PKG di uno schema IBE partecipa all’ecosistema SPID nel ruolo di service provider (ma potrebbe essere lo stesso Identity Provider a esercitare il ruolo di PKG), le transazioni sulla blockchain possono essere nativamente legate alle identità digitali pubbliche, ottenendo lo scopo prefissato. Ciò consentirà non solo di effettuare transazioni (eventualmente generate o dirette da/a smart contract) tra soggetti già “registrati” nel sistema, ma anche a favore di soggetti dei quali è nota l’identità digitale pubblica, i quali ancora non hanno preso parte al sistema.
I vantaggi della miscela miscela IBE/ABE, SPID
In domini multi-organizzazione ed applicazioni crowd-based (si pensi per esempio al crowdshipping), tale requisito è particolarmente significativo, perché sono contesti inerentemente open in cui è impensabile avere la tradizionale fase preliminare di registrazione di tutti i potenziali utenti, anche perché solo alcuni di essi prenderanno di fatto parte al sistema e ciò avverrà in maniera dinamica e impredicibile. Il workflow applicativo potrà comunque avere luogo, una volta che sono note le identità digitali dei soggetti che partecipano. L’approccio appare interessante anche perché, muovendoci dagli IBE agli ABE (attribute-based encryption), e includendo gli Attribute Provider previsti nel Sistema SPID, potranno essere implementate transazioni ed azioni legate non all’identità, ma ad un insieme più generale di attributi che i soggetti in gioco dovranno dimostrare di possedere. Ciò sia per individuare i destinatari o gli autori di transazioni, sia per realizzare sistemi di controllo dell’accesso in blockchain private/permissioned.
In conclusione, è da ritenersi che la miscela IBE/ABE, SPID (o in generale identità digitale pubblica eIDAS compliant) e Blockchain possa rappresentare una significativa innovazione che abilita una serie di scenari applicativi evoluti, considerando il fatto che il livello di assurance e l’accountability dei servizi offerti stanno assumendo un ruolo sempre più importante.
____________________________________________________________
[1] Francesco Buccafurri, Gianluca Lax, Antonia Russo, Guillaume Zunino: Integrating Digital Identity and Blockchain. On the Move to Meaningful Internet Systems. OTM 2018 Conferences – Confederated International Conferences: CoopIS, C&TC, and ODBASE 2018, Valletta, Malta, October 22-26, 2018, Proceedings, Part I. Lecture Notes in Computer Science 11229, Springer 2018, pp. 568-585, ISBN 978-3-030-02609-7.