- Home
- Cybersecurity
- Una blockchain per domarli tutti
Una blockchain per domarli tutti
| Simona Venuti | Cybersecurity
Una tecnologia che sta rivoluzionando interi processi produttivi
La tecnologia blockchain è stata inventata nel 2008, insieme al bitcoin, come metodo sicuro di trasferimento di moneta elettronica da una persona ad un’altra. Ma questo nuovo concetto ha un impatto sul mondo talmente elevato che sta rivoluzionando tutti i settori della produzione e in parte anche della società.
Simona Venuti
Servizio GARR CERT
Sebbene possa sembrare una tecnologia di nicchia, utilizzata soltanto in ambienti dove si scambiano criptovalute, è in realtà un sistema già largamente utilizzato in ambiente finanziario e sta permeando moltissimi altri settori, dalla distribuzione di contenuti multimediali, agli ambienti governativi, a quelli industriali, fino anche alla cybersecurity.
A blockchain to bind them all
The blockchain technology was ideated in 2018, together with bitcoin, as a secure means to transfer electronic money from a person to another. But the concept behind it is revolutioning all productive sectors, and has an impact on society at large. Cybersecurity is no exception.
La definizione operativa e scientifica di blockchain non è ancora univoca e tendenzialmente dipende dal campo in cui la andiamo ad utilizzare. Inoltre esistono molti modelli diversi di blockchain, con regole diverse, focalizzate su aspetti e campi di interesse particolari: ci sono blockchain volte a garantire anonimato e privacy, mentre altre si preoccupano di assicurare robustezza o stabilità; molte differiscono per il modo in cui i vari nodi partecipanti stabiliscono il consenso su una transazione.
Dal punto di vista teorico possiamo dire che la blockchain è: un meccanismo decentralizzato per ottenere il consenso sulla validità di una transazione; un registro (o libro mastro) condiviso e distribuito di transazioni; una struttura di dati, formata da una lista di transazioni o di oggetti in genere, in cui ogni transazione è collegata alla sua precedente mediante hash invece che normali puntatori. Dal punto di vista tecnico-pratico e semplificando i concetti, possiamo dire che una blockchain è un registro distribuito peer-to-peer, crittograficamente sicuro, immutabile, a cui si possono soltanto concatenare nuove voci una volta ottenuto il consenso fra tutti i peer che partecipano alla condivisione della catena. In taluni casi sono previsti degli incentivi a chi partecipa al processo di validazione di un blocco.
Le blockchain sono state inventate fondamentalmente per due cose: registrare degli eventi in maniera sicura, affidabile e più o meno anonima; e assicurarsi che quella registrazione non venga mai cancellata. Inoltre, sono spesso utilizzate per impedire che esista un single point of failure, un registro unico e centralizzato di tutte le transazioni.
IL POTENZIALE DELLE BLOCKCHAIN PER LA CYBERSECURITY È ENORME
Sono particolarmente utili quando due persone vogliono stabilire un accordo ma non si fidano l’una dell’altra, e non si fiderebbero neanche di un eventuale intermediario che si occupasse di scrivere il contratto per entrambe, come per esempio una banca o un agente immobiliare.
Blockchain per la cybersecurity
Come abbiamo visto la blockchain è una piattaforma dove i nodi possono scambiarsi valuta o dati in genere, usando transazioni affidabili e sicure senza l’intervento di un’autorità centralizzata a garantirne la validità.
Il potenziale enorme di un simile approccio per la cybersecurity è evidente se immaginiamo la blockchain come un sistema per immagazzinare dati, affidabile e sicuro, dove ogni dato viene aggiunto alla catena in modo distribuito, senza che vi sia un solo possessore di un database centralizzato.
Integrità dei dati
Una proprietà che salta subito all’occhio è che, non esistendo un server centrale da manomettere o attaccare, i malintenzionati non possono semplicemente prendere il controllo di un singolo nodo che condivide una catena ed effettuarne modifiche, perché le informazioni contraffatte sarebbero scartate da tutti gli altri grazie al meccanismo del consenso. Un attacco del genere, per poter essere effettuato con successo, dovrebbe compromettere almeno la metà + 1 dei nodi facenti parte della catena. Se utilizzassimo per immagazzinare i nostri dati sensibili la blockchain pubblica di bitcoin per esempio, che conta circa 9.000 nodi, dovrebbero venire compromessi 4.501 nodi per poter agire sui nostri dati.
Un altro possibile campo di interesse è l’immutabilità di una catena. Ci vengono subito in mente i log di sistema, no? Potrebbe essere molto efficiente ed efficace immagazzinare i propri log di sistema in blockchain, in modo che risultino praticamente inalterabili per sempre. L’immutabilità deriva dal fatto che se si volesse modificare un evento già registrato, si dovrebbe richiedere il consenso a tutti i nodi per tutti gli eventi di quel blocco. Il tempo macchina per effettuare questa attività sarebbe così tanto che nessuno (almeno per ora) potrebbe permettersi la potenza di calcolo necessaria.
Confidenzialità dei dati
Non solo: una volta che l’attaccante riesca ad accedere ad una transazione sui nostri dati, essa gli risulterà illeggibile, dal momento che i dati in blockchain sono criptati tramite un meccanismo a chiave asimmetrica: per poterlo modificare o anche solo leggere, quindi, dovrebbe anche essere in possesso delle chiavi. Risulta chiaro che in un sistema del genere l’integrità del dato e la confidenzialità sono praticamente impossibili da forzare.
Disponibilità
Abbiamo visto che una blockchain non può essere compromessa a partire da un singolo nodo: ogni nodo contiene infatti una copia di tutta la catena, pertanto il sistema continuerebbe a funzionare, anche se più nodi dovessero scollegarsi. Questo sistema permette quindi di avere dati che restano disponibili anche in caso di attacchi di tipo DoS e DDoS.
Per esempio, come reazione ai DoS e DDoS sempre più frequenti che utilizzano principalmente DNS o servizi di questo tipo, si stanno sviluppando sistemi di DNS “diffuso”, che eliminano i bersagli singoli in favore di un modello in cui i domini sono sotto il controllo dei proprietari senza nessuna autorità gerarchica e attaccabile.
Altri utilizzi
La blockchain è stata usata per implementare un sistema PKI dove la Certification Authority è distribuita, in modo che ogni nodo possa partecipare alla validazione di un certificato. Ma si è fatto molto di più: è stato sviluppato un sistema a chiave asimmetrica KSI (Keyless, al posto di PKI), in cui non esiste proprio nessuna CA, e i nodi sono in grado di produrre e verificare certificati senza nessuna autorità garante.
Infine la blockchain renderà il sistema classico di login con username e password completamente obsoleto: ci sono già in produzione prodotti che forniscono semplicemente un certificato i cui dati sono gestiti in blockchain che li rende inaccessibili a qualsiasi tipo di attacco, senza dover costringere gli utenti a ricordarsi password impossibili: semplicemente non avranno più password! Ulteriori e ancor più strabilianti tipi di utilizzo di blockchain nell’ambito della sicurezza, sono ancora solo teorici, ma molto promettenti.
Ovviamente il sistema non è immune da debolezze, sia nel protocollo che nell’implementazione, a causa di minacce di vario tipo e possibili attacchi, non tanto alla blockchain in sé, quanto al sistema di accesso (per esempio i wallet) o l’errato utilizzo di chiavi pubbliche/private da parte di utenti non sufficientemente accorti: i problemi dell’educazione all’utenza rimangono sempre fondamentali.
Purtroppo lo spazio a disposizione è finito, sicuramente sentiremo ancora parlare di blockchain per molto tempo, e ci sarà occasione per approfondirne gli aspetti relativi alla sicurezza informatica.
Dai un voto da 1 a 5, ne terremo conto per scrivere i prossimi articoli.
Voto attuale:
Ultimi articoli in rubrica
-
di Simona Venuti
-
di Carlo Volpe
-
di Simona Venuti
-
di Simona Venuti
-
di Simona Venuti
-
di Luigi Rebuffi