“Abbiamo l’esigenza di scambiarci messaggi segreti senza che nessuno li possa comprendere, scoprite come“.
Questa richiesta è stata sempre rivolta agli esperti, soprattutto matematici, in modo piuttosto pressante per tutta la storia delle civiltà umane: si ritiene che siano stati compiuti tentativi di offuscamento di messaggi già nel terzo millennio a.C. in Egitto ed è facile ripercorrere un lungo elenco di risorse che gli uomini hanno inventato nei secoli a questo scopo, come la scitala lacedemonica, il codice di Atbash, il codice di Cesare, fino ad arrivare al disco di Leon Battista Alberti.
Il codice di Cesare costituisce una significativa innovazione perché è di fatto uno dei primi esempi di “cifrario monoalfabetico” che si differenzia dai sistemi di offuscamento per essere un vero e proprio algoritmo.
Offuscare, infatti, significa semplicemente nascondere i dati e questo può avvenire in numerosi modi, come ad esempio scrivendo un messaggio segreto in un posto dove normalmente non si andrebbe a cercare, oppure spezzettandolo in segmenti che vanno ricomposti. La cifratura, invece, è una forma di offuscamento molto più raffinata perché implica che il testo originale venga sostituito con un altro testo connesso al primo; la connessione avviene secondo “regole” matematiche, delle tipologie più diverse, applicate secondo “algoritmi”. Essenziale, in questo caso, perché il messaggio possa essere recuperato è che sia fornito un ulteriore dato, cioè una “chiave”. Naturalmente, la cifratura, non ha mai sostituito l’offuscamento, poiché ciascuno dei due sistemi ha caratteristiche e potenzialità sfruttabili in modi diversi.
Lo scopo della crittografia, la disciplina che si occupa di studiare i sistemi di cifratura, è quasi sempre strettamente connesso a temi militari o economici e ha come obiettivo il mantenimento di un qualche “segreto”, che è alla base della salvaguardia di un certo “potere”. L’informazione, dunque, è il bene prezioso da difendere e gli strumenti crittografici il mezzo utilizzato a questo scopo. In epoche recenti molti Paesi, tra i quali gli Stati Uniti e i membri della NATO, hanno a lungo regolamentato l’uso della crittografia in termini di sicurezza nazionale, assimilandolo all’uso di armi.
La questione della sicurezza delle informazioni e lo sfruttamento di strumenti crittografici forti ha molteplici e dirette implicazioni nell’ambito della sicurezza personale e nazionale, della privacy e delle libertà civili. Proprio per questo esistono argomentazioni corrette e più o meno logicamente sostenibili per tutta una serie di posizioni che spaziano dal considerare la crittografia strumento assolutamente necessario in ogni attività di comunicazione o di memorizzazione di informazioni o, per contro, a sostegno della necessità di indebolirne appositamente l’efficacia per garantire la possibilità di esercitare controlli autorizzati e mirati. A seconda della propria sensibilità e della conoscenza dell’argomento, la politica, l’economia, la ricerca scientifica, la società civile, gli organi di controllo e le Forze dell’Ordine di vari Paesi hanno tentato di proporre normative sul tema. Il dibattito, inoltre, si ripropone con vigore ad ogni nuova scoperta matematica o tecnologica che abbia impatto sulla crittografia, sia quando ne rafforzi l’efficacia, sia qualora dimostri l’obsolescenza ed il superamento di alcune tecnologie.
Nell’ambito della sicurezza delle informazioni, la necessità di una continua innovazione, è sempre stata soddisfatta da esperti di crittografia, matematici e ricercatori. Alla fine dello scorso anno, però, Google ha iniziato sperimentazioni sul tema della crittografia con un approccio decisamente inedito. Il progetto del Google Brain Team ha infatti portato avanti uno studio sfruttando le risorse e le potenzialità dell’Intelligenza Artificiale (IA) e inaugurando, di fatto, una metodologia che apre a scenari del tutto nuovi.
Il Google Brain Team è anche andato oltre, con propri sistemi di (IA). In particolare, ha realizzato tre sistemi d’intelligenza artificiale che vengono definiti “agenti razionali” ed ha immaginato e implementato un ambiente virtuale ad hoc nel quale attivarli. Gli agenti razionali sono tecnicamente dei sistemi d’intelligenza artificiale basata su reti neurali artificiali (artificial neural network – ANN), vale a dire su modelli matematici che tentano di emulare il funzionamento del cervello animale ed umano.
La vera sfida, per il Team di Google, è stata quella di realizzare un sistema in cui gli agenti razionali fossero in grado di sviluppare, autonomamente, strategie per mantenere sicure le proprie comunicazioni. L’esito, di cui se ne possono scorgere le importanti implicazioni, è stata la generazione di un nuovo algoritmo di cifratura, sviluppato da motori d’intelligenza artificiale in modo non supervisionato.
Per ognuno degli agenti razionali utilizzati nel progetto sono stati immaginati compiti, fissati degli obiettivi e sono state definite le loro reciproche possibili interazioni che prevedevano che due potessero lavorare in modo collaborativo e il terzo fosse il loro antagonista. Il team di Google ha di fatto quindi realizzato in un’infrastruttura software, uno scenario di crittografia che può essere definito “da manuale”. Esattamente come nel più classico degli esempi riportato nei manuali di crittografia, infatti, i tre agenti razionali hanno assunto i ruoli dei personaggi che partecipano ad una comunicazione e ai quali, per convenzione, si attribuiscono i nomi Alice, Bob ed Eve.
Le reti neurali di Alice e Bob hanno avuto il compito di scambiarsi dei messaggi in modo sicuro, mentre quella di Eve, che era sempre in grado di intercettare i messaggi scambiati, ha dovuto contrapporsi alla sicurezza di questa comunicazione, per scoprirne il contenuto. Ai singoli agenti razionali non è stata fornita alcuna informazione riguardo algoritmi di cifratura esistenti e ciò li ha costretti ad inventarne di propri.
Ad Alice e Bob è stato inoltre consentito di condividere un’informazione segreta perché la utilizzassero come meglio avessero ritenuto. Un qualunque studente di crittografia, umano, sa che questa informazione è la base di uno schema di cifratura definito “simmetrico”. Questo metodo prevede infatti che esista una “chiave” che deve essere utilizzata sia per cifrare i messaggi che per poterli rileggere in chiaro. Ciò implica che tale chiave debba essere conosciuta da tutti i partecipanti alla comunicazione, uno dei quali la utilizzerà per cifrare e tutti gli altri per decifrare il messaggio. Alle reti neurali coinvolte nell’esperimento non è stato dato alcun genere di conoscenza pregressa, crittografica o matematica, nemmeno riguardo alla funzione della chiave. In sostanza, Bob e Alice possedevano l’informazione segreta comune, cioè la chiave di cifratura, ma non erano stati istruiti su cosa fosse, né su come usarla. Hanno dovuto quindi scoprirne un uso efficace.
Nel tentativo di comunicare con Bob, Alice ha iniziato a mescolare i propri testi con la chiave per generare una versione cifrata del messaggio da spedire. Dal canto suo, Bob ha cercato una strategia per comprendere quanto ricevuto, utilizzando la propria copia della chiave. Per ogni tentativo di comunicazione, Eve ha potuto intercettare il messaggio cifrato col compito di capirci qualcosa.
All’inizio della sperimentazione, come era facile immaginare, Alice e Bob non sono riusciti neppure a comprendersi fra loro, ma con l’incremento dei tentativi, le reti neurali sono riuscite a migliorarsi. L’aumento dell’efficacia delle loro tecniche di comunicazione è il risultato di un meccanismo di valutazione estremamente semplice: un premio o una penalità sono stati loro assegnati in base alla qualità del lavoro svolto. Il destinatario della comunicazione, Bob, ha ricevuto penalità in base alla propria incapacità di scoprire, nonostante la conoscenza della chiave pre-condivisa col mittente, il messaggio originale nascosto. Un simile trattamento punitivo/premiante è stato riservato anche ad Eve nel suo tentativo di capire il messaggio nascosto nella comunicazione intercettata. Alice, infine, ha ricevuto penalità in base all’incapacità di nascondere il contenuto del proprio messaggio originale.
Con una semplice architettura di questo tipo i ricercatori hanno implementato un modello che viene definito “Generative adversarial networks” (GAN) il quale consente alle reti neurali di migliorare la propria performance, senza alcuna forma di supervisione esterna. Molto rapidamente ogni rete neurale si è specializzata nel proprio compito e questo ha consentito alle prime due di comunicare in modo sempre più sicuro, senza essere scoperte dalla terza.
I ricercatori non hanno eseguito un’analisi crittografica esaustiva del metodo escogitato dalle reti neurali per cifrare e decifrare i messaggi, ma sono certi che l’algoritmo inventato non sia banale. Inoltre è stato possibile verificare che possiede due caratteristiche molto interessanti: non dipende direttamente dall’uso di singole chiavi di cifratura e non è semplicemente il risultato dell’applicazione di una singola operazione matematica di base. Si tratta effettivamente di un metodo che le reti neurali hanno prodotto senza supervisione umana.
Il progetto è stato realizzato effettuando molteplici ripetizioni dell’esperimento, per verificare diverse modalità di evoluzione delle reti neurali degli agenti. I risultati numerici diffusi da Google dimostrano che in una di queste ripetizioni, dopo un numero davvero esiguo di messaggi scambiati (meno di 15.000), Alice e Bob sono riusciti a comprendersi senza che Eve fosse in grado di decifrare la comunicazione. Quello che Eve è stata in grado di interpretare è statisticamente pari a tirare ad indovinare.
Tra i dettagli tecnici della documentazione è riportata esplicitamente l’indicazione che l’intero progetto è stato realizzato utilizzando una base di software open-source della stessa Google per l’apprendimento automatico chiamata “TensorFlow” e già rilasciata al pubblico alla fine del 2015 ed il cui utilizzo è piuttosto diffuso. Dal punto di vista delle risorse hardware, nel progetto si fa riferimento all’impiego di una singola workstation. Sono state rilasciate open-source, tra l’altro, diverse versioni del software realizzato per l’esperimento, perché ogni ricercatore o appassionato possa replicarne ed approfondirne lo studio o derivarne nuovi progetti.
Per la realizzazione di questo articolo, abbiamo recuperato ed iniziato a lavorare sul software pubblicato. Ci è stato così possibile ripetere lo studio con risultati simili a quelli dichiarati dal team di Google, impiegando tempi di elaborazione medi di poco più di un paio d’ore, pur utilizzando semplicemente i nostri abituali computer di lavoro.
Una seconda fase della sperimentazione ha introdotto nuovi obiettivi per ciascuna rete neurale. Questa volta il compito era capire che cosa cifrare e anche scoprire se venivano scambiati messaggi cifrati. Ciò significa che un diverso approccio può essere utilizzato per spingere agenti razionali ad implementare o a riconoscere meccanismi diversi di offuscamento delle informazioni quali ad esempio la steganografia, che nasconde un secondo livello di comunicazione, cifrata in una palese.
La ricerca si conclude con indicazioni molto interessanti: questi primi approcci probabilmente non sono in grado di generare algoritmi così robusti da essere resistenti alle attuali (ed umane) tecniche di crittoanalisi; con certezza, però, si è dimostrata la capacità di agenti d’intelligenza artificiale di apprendere come proteggere le proprie comunicazioni.
Le modeste risorse hardware utilizzate, il tipo di software necessario per la realizzazione del progetto, i ritmi di crescita di queste tecnologie e il continuo progresso delle capacità nell’ambito dell’intelligenza artificiale e del deep learning, inducono a prevedere che molto rapidamente questi scenari potranno essere considerati maturi. Inoltre, è molto facile immaginare che la pubblicazione faccia riferimento ad un singolo primo progetto, ma che la ricerca di Google in questa direzione stia continuando. Si devono considerare, quindi, gli attuali risultati più che altro dimostrativi ed è verosimile che i prossimi saranno sbalorditivi.
La lettura della documentazione rilasciata a seguito dell’esperimento ha infatti il duplice effetto di far immaginare scenari esaltanti e, allo stesso tempo, distopici, lasciando presagire il rapido arrivo del momento in cui forme di intelligenza artificiale saranno in grado di comunicare in modo autonomo, nascondendo il contenuto informativo che si stanno scambiando. Ancor più destabilizzante è inoltre figurarsi uno scenario in cui la comunicazione tra agenti razionali e robot non sia palese ma nascosta in altre forme di comunicazione che potrebbero passare del tutto inosservate a soggetti esterni, umani o meno. Lo studio alimenta quindi i molti interrogativi su come sarà possibile affrontare e gestire le problematiche legate alla generazione “artificiale” di nuovi algoritmi non direttamente e umanamente comprensibili.
————-
(Foto: Mirage / Ralf Baecker (DE) by Ars Electronica from Flickr)
————-