Capsula del tempo informatica: messaggio illeggibile prima di una certa data

Come creare una capsula del tempo digitale che conserva i dati dell'utente in forma crittografata fino alla data di scadenza impostata. Cos'è la Timelock encryption.

Quando si parla di messaggi crittografati, facciamo generalmente riferimento alla cifratura simmetrica e asimmetrica, con le rispettive distinzioni. Sapevate, però, che è possibile creare una sorta di capsula del tempo digitale usando il sistema Timelock encryption?

Le modalità di funzionamento della tecnologia sono particolarmente stimolanti. Usando un insieme di strumenti, che cooperano reciprocamente, è di fatto possibile crittografare un messaggio fino a una certa data nel futuro, rendendolo poi pubblicamente accessibile una volta raggiunta la data di scadenza precedentemente impostata.

Come funziona la Timelock encryption e come si crea la capsula del tempo

Una capsula del tempo è un contenitore sigillato che contiene oggetti, documenti o messaggi destinati a essere aperti o scoperti in futuro. Il concetto affonda le sue radici nella pratica di seppellire oggetti significativi per le generazioni future.

Lo strumento dimostrativo Timelock encryption, accessibile tramite browser Web, si appoggia alle risorse messe a disposizione da Cloudflare e League of Entropy per offrire un sistema innovativo utile per crittografare un messaggio fino a un momento specifico nel futuro.

Cos’è la League of Entropy e cosa c’entra la generazione di numeri casuali

La League of Entropy è un consorzio di organizzazioni distribuite che collaborano per fornire una fonte di entropia affidabile e casuale per scopi crittografici. L’entropia è fondamentale nella crittografia poiché ha a che fare con l’imprevedibilità e la casualità necessarie per generare chiavi crittografiche robuste.

League of Entropy

Presentando l’iniziativa, Cloudflare scriveva “non tutti gli eroi indossano mantelli“, a sottolineare il ruolo assolutamente prezioso svolto dai partecipanti alla League of Entropy. Il protocollo usato per la generazione di numeri casuali e imprevedibili è decentralizzato ed è noto come “drand” (distributed randomness beacon). Tanti sono i nodi coinvolti: ciascuno di essi è gestito da un’organizzazione membro della League of Entropy.

Il principale obiettivo della League of Entropy (per questo Cloudflare definisce i partecipanti come degli “eroi”) è quello di attenuare i rischi associati alla generazione centralizzata di numeri casuali, eliminando così eventuali vulnerabilità o fattori in grado di influenzare negativamente il processo. In un altro articolo ci siamo soffermati sull’importanza dei generatori di numeri casuali e sul perché, in informatica, spesso si parla di numeri pseudocasuali.

Nell’ambito dell’iniziativa League of Entropy, le organizzazioni coinvolte contribuiscono a fornire una fonte di entropia affidabile e sicura, fondamentale per diversi aspetti della crittografia e della sicurezza informatica.

La crittografia Timelock per bloccare a tempo il contenuto di un messaggio

L’interfaccia Web di Timelock encryption sfrutta proprio le 18 organizzazioni separate che compongono la League of Entropy, ognuna con 22 nodi, per proteggere il messaggio fino alla data di scadenza impostata dall’utente. Essendo le chiavi di cifratura distribuite geograficamente, è possibile trarre vantaggio da un sistema sempre disponibile che elimina qualunque punto critico: se un nodo risultasse temporaneamente non funzionante o inattivo, ci sono gli altri a supplire.

La particolarità del sistema Timelock risiede nella necessità di raggiungere una soglia minima di 12 nodi per rivelare il segreto. Ciò significa che almeno 12 organizzazioni devono collaborare per ottenere accesso al messaggio criptato.

L’autore del progetto, che può essere ovviamente integrato in qualunque tipo di applicazione, ne ha pubblicato il sorgente sul repository GitHub.

Come provare la cifratura a tempo

Per provare la crittografia dei dati con scadenza, visitate il sito dell’applicazione Timelock encryption, scrivete un messaggio nel riquadro Message di sinistra quindi indicate il numero di secondi trascorsi i quali il testo cifrato sarà immediatamente decodificabile.

Ad esempio, se voleste provare a proteggere il vostro messaggio per soli 5 minuti, basta lasciare il numero 300 nel campo How many seconds to encrypt. Diversamente, ad esempio, se si volesse proteggere il messaggio per circa 5 anni, basta digitare il numero 157700000 (3600 x 24 x 365 x 5 secondi).

Capsula del tempo, Timelock encryption

Dopo aver fatto clic su Encrypt, si ottiene un messaggio cifrato che può essere facilmente copiato altrove selezionando il pulsante Copy.

Capsula del tempo: testo cifrato

Decodifica del messaggio cifrato a tempo

Copiando e incollando il messaggio cifrato nel riquadro Decrypt e provando a decodificarlo, si otterrà la comparsa dell’avviso “Unable to decrypt, you might need to wait longer“. Almeno fintanto che non si sarà raggiunta la data e l’ora di scadenza della codifica a tempo.

Decodifica messaggio crittografato a tempo

Campi applicativi della cifratura a tempo o Timelock encryption

Un ricercatore che si occupa di sicurezza informatica potrebbe criptare i dettagli di una vulnerabilità e programmare la loro divulgazione pubblica in una data futura, garantendo che le informazioni siano accessibili solo dopo aver concesso alle parti interessate il tempo per correggere il problema.

In un’asta a offerte sigillate, i partecipanti possono inviare le loro offerte in forma criptata usando proprio il sistema Timelock encryption. Le offerte rimangono segrete fino a una data e ora specifiche, quando vengono rivelate simultaneamente, garantendo trasparenza e prevenendo manipolazioni dell’asta.

Il meccanismo di cifratura a tempo, ancora, potrebbe essere sfruttato per proteggere l’integrità e la segretezza dei voti in contesti elettorali online o in altri sistemi di voto elettronico, nei giochi a quiz o in altre sfide, in cui le risposte sono rivelate solo dopo un determinato periodo di tempo, garantendo equità e scongiurando rischi di frodi.

Infine, lo stesso sistema potrebbe essere utilizzato per trasferire in modo sicuro beni digitali e password a eredi o beneficiari designati, solo dopo la morte dell’interessato.

Le possibilità, tuttavia, sono praticamente infinite e possono essere adattate a una vasta gamma di scenari e necessità. Quelli appena citati, infatti, sono soltanto alcuni tra i casi d’uso più comuni: gli scenari che si aprono sono davvero estesi.

Credit immagine in apertura: iStock.com – BlackJack3D

Ti consigliamo anche

Link copiato negli appunti