Questo sito web utilizza cookie tecnici e, previo Suo consenso, cookie di profilazione, nostri e di terze parti. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsente all'uso dei cookie. Leggi la nostra Cookie Policy per esteso.OK

iot e dlt

Identità digitale su internet delle cose, grazie a blockchain: ecco come

L’accoppiata tra Internet delle cose e le Distributed Ledger Technologies come la blockchain abilita un interessante modello di identità digitale per IoT. Vediamo, tra i tre modelli di riferimento per l’identità digitale, qual è quello che garantisce un’identità digitale persistente

27 Ago 2019

Andrea Vesco

Head of Cybersecurity Research Area, LINKS Foundation


Il connubio tra Internet delle cose (IoT) e le nuove Distributed Ledger Technolgies (DLT), come ad esempio le tecnologie blockchain o tangle/DAG, apre nuove strade per l’implementazione e la messa in sicurezza dei sistemi IoT.

Concentrando la nostra attenzione sul tema della sicurezza e in particolare sul tema del Trust alla base dell’interoperabilità, l’accoppiata abilita un interessante modello di Identità Digitale per IoT, ma procediamo per gradi.

Cominciamo col ricordare che il progressivo aumento di oggetti, connessi secondo il paradigma dell’Internet delle cose (IoT) pone interessanti sfide tecnologiche per garantire l’interoperabilità e la sicurezza in questo campo.

Con il termine IoT, in questo articolo, intendiamo identificare una vasta classe di oggetti che vanno dal semplice dispositivo connesso fino a sistemi più complessi per l’implementazione delle cosiddette infrastrutture critiche delle moderne Smart City (e.g. trasporto intelligente, produzione di energia, acquedotti).

Quando parliamo di identità digitale, invece, siamo interessati ad un’identità digitale persistente, ovvero riconosciuta universalmente per comunicare con un qualunque altro sistema, non falsificabile, verificata e verificabile con semplicità senza l’intervento di autorità terze, ed efficace, ovvero che:

  • abiliti l’autenticazione della sorgente,
  • sia strumentale ad implementare ulteriori meccanismi di autorizzazione a servizi e applicazioni
  • garantisca la riservatezza delle comunicazioni e delle informazioni scambiate.

Tre modelli di riferimento per l’identità digitale

In linea di principio, esistono tre diversi modelli di identità digitale:

  • Centralized identity prevede una relazione univoca con un server che eroga l’accesso autenticato ad una serie di servizi e applicazioni. Tale modello si basa sul concetto di account; ogni soggetto si identifica con una coppia univoca username e password oppure un access token, che facilita l’accesso al server. Per rendere sicure le comunicazioni sono stati sviluppati protocolli e standard come ad esempio Secure Sockets Layer (SSL) e Transport Layer Security (TLS). Al di là degli aspetti implementativi questo modello non fornisce un’identità digitale persistente, perché quello stesso account non può essere utilizzato per l’autenticazione su altri sistemi se non quello presso cui account è registrato. Il soggetto non è dunque univocamente identificabile tramite quell’account sull’intera rete costringendolo ad avere credenziali diverse per ogni server.
  • Federated identity. Ogni soggetto ha una identità centralizzata presso un Identity Provider (IDP), che può utilizzare per interagire con tutti i sistemi federati con esso. L’esempio più semplice, nel mondo dell’identità digitale per le persone, è il Single Sign-On (SSO) o anche detto social login, ovvero l’uso delle credenziali di uno dei social network esistenti per autenticarsi e accedere ad altri sistemi. L’implementazione di questo modello ha richiesto un grosso lavoro di sviluppo e standardizzazione di protocolli per l’autenticazione e autorizzazione sicura quali: Security Assertion Markup Language (SAML), Open Authorization 2 (OAuth2) e OpenID. Il modello nasce con l’intento di semplificare l’accesso a diversi sistemi e servizi ma nuovamente non fornisce una identità persistente.
  • Self-sovereing identity (SSI) sviluppato dalla Sovrin Foundation. SSI basa il funzionamento sul concetto di relazione, secondo il classico schema peer-to-peer. Un soggetto non ha dunque un account presso un server, ma entra in relazione con il server o un qualunque altro oggetto IoT. Il modello SSI definisce peer la controparte con la quale si vuole entrare in relazione. La verifica dell’identità è alla base della relazione e a fronte della verifica si stabilisce una connessione tra i peer. Quindi, due peer, mutuamente autenticati possono comunicare attraverso una connessione univoca, sicura e riservata.

Il modello SSI

Questo modello è abilitato dall’uso contemporaneo delle DLT e dalla crittografia asimmetrica. La crittografia è alla base del trust tra le parti e il ledger distribuito permette di verificare in modo decentralizzato l’identità attraverso il classico schema di verifica del possesso della chiave privata associata ad una chiave pubblica salvata sul ledger distribuito. Il modello SSI è agnostico rispetto alla specifica tecnologia di implementazione del ledger distribuito. L’insieme dei processi e delle tecnologie implementative compongono dunque una Distributed Public Key Infrastructure (DPKI) per la verifica dell’identità.

Alla base del funzionamento del modello SSI ci sono quattro blocchi funzionali e, in un prossimo futuro quattro relativi open standard:

  • Decentralized Identifier (DID) è l’identificativo dell’identità digitale sul ledger distribuito – per semplificare è l’indirizzo sul ledger dove è salvata la chiave pubblica associata all’identità più un’altra serie di informazioni come, ad esempio, il tipo di verifica supportato e l’end-point a cui collegarsi per la verifica dell’identità.
  • Decentralized Key Management System (DKMS) definisce come mantenere e gestire le chiavi private associate ai DID ed i metodi possibili per la recovery delle chiavi.
  • DID Authentication (DID Auth) definisce come avviene l’autenticazione (mutua) tra peer per mezzo dei rispettivi DID; in linea di principio implementato tramite un protocollo sfida/risposta.
  • Verifiable Credential (VC) sono attributi, caratteristiche aggiuntive che arricchiscono l’identità digitale. Open standard relativo definisce il formato delle credenziali, i metodi per ottenerle da parte di altri peer (issuers) ed i metodi per mostrare e verificare crittograficamente le credenziali da parte di altri peer (verifiers). I peer scambiano le credenziali sul canale sicuro e riservato aperto a fronte della verifica dell’identità.

Identità digitale per IoT

Il modello SSI è un candidato ideale per l’implementazione di un’identità digitale per IoT, così come definita all’inizio di questo articolo. L’identità digitale risultante è sicuramente persistente, nel senso che è gestita, in autonomia, da ogni singolo oggetto IoT ed è riconosciuta universalmente su Internet.

La verifica dell’identità, con mutua autenticazione tra gli oggetti IoT è sicura grazie ai meccanismi classici della crittografia asimmetrica. A fronte di una corretta autenticazione, gli oggetti IoT possono anche scambiare informazioni in modo riservato. Il modello SSI non affronta il tema dell’integrità delle informazioni scambiate, ma è comunque possibile implementarla con tecniche collaudate (message digest). Infine, l’applicazione delle verifiable credential è strumentale all’implementazione dei meccanismi di autorizzazione ai servizi offerti dai sistemi IoT.

@RIPRODUZIONE RISERVATA

Articolo 1 di 4