Una nuova
frontiera per la Comunicazione
L’Essere Umano, per sua
natura, ha necessità di evolversi e comunicare.
La Comunicazione è uno degli
aspetti fondamentali nella crescita di un essere umano e questo si
riflette in ogni sua attività. Ogni attività umana necessita
di relazioni che vengono mantenute tramite il Linguaggio, di
qualunque tipo esso sia, con ogni mezzo e forma, a prescindere
dall’attività stessa o dal mezzo di comunicazione impiegato. I mezzi di comunicazione
utilizzati dall’uomo si sono evoluti nel tempo diventando sempre
più complessi, fino ad arrivare ai giorni nostri, permettendo
all’uomo di comunicare a grandi distanze e in tempo reale, grazie
alla tecnologia.
La segretezza della
comunicazione è sempre stata un fattore fondamentale, necessaria per
il buon svolgimento delle attività umane. Per garantire la segretezza
nasce la Crittografia, ovvero la Scienza che studia i metodi per
garantire che un messaggio possa essere letto esclusivamente dal
destinatario autorizzato. Questa esigenza, in realtà,
era già sentita ai tempi degli Antichi Romani, quando Giulio Cesare,
per comunicare gli ordini alle proprie truppe, utilizzava il proprio
cifrario oggi conosciuto come il “Cifrario di Cesare”.
Un cifrario è uno strumento
creato appositamente per “cifrare” e “decifrare” messaggi
attraverso l’uso di un semplice algoritmo. Il Cifrario di Cesare, per
fare appunto un esempio, si può utilizzare per cifrare un testo
“spostando” le lettere da cifrare di tre posizioni a destra, in
questo modo:La parola “CIAO”, diventa “FLDR” (di seguito,
un’immagine per spiegare lo “spostamento”).
Effettuando lo spostamento a
ritroso di tre posizioni, il testo incomprensibile “FLDR” torna
ad essere “CIAO”.
Ovviamente questo algoritmo ad
oggi risulta essere molto “vulnerabile” e facilmente decifrabile,
con un po’ di pazienza anche a mano, da semplici computer.
Ma soffermiamoci un secondo
sul concetto di “algoritmo vulnerabile”.
E’ facile intuire come,
anche dall’esempio riportato, la Crittografia ha giocato un ruolo
importante in varie Campagne Militari, in ogni Epoca.
Ovviamente due Eserciti in
guerra cercano di carpire informazioni l’un l’altro, sia per
poter prevedere ed annientare le strategie nemiche prima della
battaglia, sia per scoprirne i movimenti durante la stessa. Per sopperire a questa
esigenza è nata la “crittoanalisi”, ovvero l’insieme dei
metodi e gli studi per cercare di decifrare il messaggio senza
conoscerne la “chiave”.
Sempre facendo riferimento al
Cifrario di Cesare, la “chiave” utilizzata da Giulio Cesare era
tre (unitamente al senso orario o antiorario), ovvero il numero di
posizioni per lo “spostamento” delle lettere dell’alfabeto.
Una chiave diversa
restituisce, quindi, come risultato un testo diverso, questo vuol
dire che il mittente e il destinatario devono avere la stessa chiave,
l’uno per cifrare e spedire il messaggio, l’altro per decifrarlo
e leggerlo.
Da ciò deriva uno dei
problemi principali nell’uso di questo tipo di algoritmi
(crittografia simmetrica): la distribuzione della chiave.
Forse l’esempio più famoso
di crittoanalisi cui possiamo fare riferimento si ebbe durante la seconda
guerra mondiale, quando Alan Turing realizzò la macchina “Colossus”,
lontanissima parente dei moderni computer, designata a decifrare i
messaggi cifrati con la macchina Enigma (in realtà il suo
perfezionamento, ovvero la Lorenz SZ40 e SZ42).
Computer
Colossus: il “decodificatore di Lorenz” poteva essere configurato
dalla console a sinistra
E’ facile intuire che
tramite la Crittoanalisi, se un Esercito riesce a decifrare le
comunicazioni del nemico, può ottenere un enorme e fondamentale
vantaggio.
In pratica, nei casi estremi,
il nemico non può effettuare più nessuna mossa né approntare una
strategia in segretezza. Questa possibilità di
“rompere” gli algoritmi utilizzati per garantire la segretezza
del nemico, ha portato ad una inesorabile rincorsa tra i matematici,
con chi ha cercato di creare algoritmi sempre più complessi e chi ha
cercato di decifrarli. In quel periodo, infatti,
nacque l’unico cifrario perfetto, ovvero l’unico cifrario di cui
è stata matematicamente provata la sicurezza e l’inviolabilità,
il One Time Pad.
Il Cifrario di Vernam,
chiamato anche “One Time Pad” (taccuino monouso), è un
particolare algoritmo di cifratura, la cui sicurezza è stata
matematicamente provata da Claude Shannon, ingegnere americano
considerato il padre della Teoria dell’Informazione, nel 1949.
La sicurezza del One Time Pad
si verifica se, e solo se:
- La chiave è lunga almeno
quanto il testo da cifrare
- La chiave è “realmente
randomica”, ovvero non sono ammessi programmi che generano numeri. Questo perché i software, per
generare una sequenza di numeri casuali, utilizzano degli algoritmi
che partono da “un punto di partenza”.
Questo punto di partenza (che
può essere un numero ad esempio) fa si che la serie di numeri
generati non sia realmente casuale. Per un aggressore, potrebbe
essere possibile reperire il “punto di partenza” e con lo stesso
algoritmo generare nuovamente tutti i numeri “casuali” generati
in precedenza. Per questo motivo, i software
di generazione di numeri vengono definiti come “pseudo-casuali” o
“pseudo-random”.
- La chiave DEVE essere
utilizzata una volta sola.
Questo fa scaturire dei
problemi, in quanto è molto difficile scambiare messaggi molto
lunghi, e una volta terminati i “pad”, deve essere rigenerata una
chiave sempre realmente randomica, e scambiata con il destinatario.
Esempio di One Time Pad
Per
sopperire a queste limitazioni, è stata ideata la “Crittografia
Asimmetrica”, utilizzando dei cifrari “a chiave pubblica”.
Questo
particolare tipo di algoritmi, largamente utilizzato per il web e le
comunicazioni in tempo reale, come le chat, prevede che ad
un
individuo siano
associate due chiavi, una strettamente personale (privata) ed una da
condividere con tutti (pubblica). Un
interlocutore può cifrare un messaggio con
la chiave pubblica del destinatario, ma solo il destinatario potrà
leggere il messaggio, decifrandolo grazie alla propria “chiave
privata”. Dal
momento che tutti i cifrari a chiave pubblica basano la propria
sicurezza su funzioni matematiche complesse, per decifrare un
messaggio senza conoscerne la chiave è richiesta una potenza di
calcolo enormemente superiore alle macchine attualmente in commercio,
rivelandosi praticamente impossibile, seppur
teoricamente fattibile grazie ad un attacco brute-force (ovvero
provare tutte le combinazioni possibili) oppure utilizzando
una rete di computer che insieme cercano di forzare l’algoritmo
tramite le vulnerabilità
matematiche dello stesso.
Ad oggi la Crittografia è
presente praticamente in ogni momento della nostra vita, basti
pensare ad esempio ai siti web che mettono a disposizione il
protocollo “HTTPS”, ovvero un sistema di interscambio di dati tra
il nostro browser, il programma che usiamo per navigare in Internet,
e il sito web visitato.
Un altro esempio è la
Cifratura end-to-end (ad esempio la cifratura di WhatsApp), ovvero un
sistema di interscambio che permette solo agli interlocutori
interessati di leggere il contenuto della comunicazione.Con la
crittografia end-to-end neanche il server di Whatsapp stesso può
leggere il contenuto dei messaggi scambiati. E’ comunque doveroso
ricordare come l’applicazione Whatsapp e altre simili sono a codice
chiuso, di conseguenza non è dato sapere al pubblico le effettive
operazioni che l’applicazione fa.
E’ bene ricordare infatti,
che anche se l’applicazione è pubblicamente riconosciuta come
affidabile, non è un mistero che alcuni governi possano chiedere
alle aziende interessate l’implementazione di backdoor
(letteralmente “porte di servizio” per poter leggere i messaggi)
o protocolli come il “ghost protocol” (ovvero un “interlocutore
fantasma”, in questo caso il governo, che facendo parte della
conversazione, potrebbe leggere i messaggi senza sforzo).
E’ facile constatare che la
corsa alle tecnologie non ha freni e ciò può far pensare che
andando avanti nel tempo tali cifrari possano essere “rotti”
grazie a potenze di calcolo e processori sempre più potenti, ecco
perché si corre ai ripari aggiornando gli algoritmi o creandone di
nuovi, sempre più resistenti e sicuri.
Questo “rincorrersi”,
però, potrebbe subìre un grosso mutamento, grazie ad una nuova
tecnologia che sta nascendo in questi anni, che potrebbe davvero
cambiare il mondo della comunicazione e della crittografia, ovvero il
“Quantum Computing”.
Il Computer Quantistico è un
nuovo tipo di elaboratore, il quale sfrutta i principi della
Meccanica Quantistica per poter effettuare delle operazioni ed
elaborare informazioni. Per poter funzionare, infatti,
il Computer Quantistico non utilizza il bit ordinario, bensì il
“qubit” o “quantum bit”. Il qubit si differenzia dal
bit “classico” in quanto non è un semplice “0” o “1”,
bensì, codifica l’informazione in base allo stato dell’atomo che
si sta osservando.
Per fare un esempio, il bit
ordinario può essere rappresentato dal lancio della moneta nel
classico “testa o croce”.
Il risultato del lancio
rappresenta “0” o “1”, andando a codificare i bit.
Ora immaginate di prendere la
stessa moneta, e di farla ruotare su se stessa, e immaginate che la
moneta non si fermi mai. La moneta avrà due stati, che
possono essere rappresentati come informazione binaria “0” o “1”. La stessa moneta può
trovarsi, però, in “sovrapposizione di stati”, ovvero gli stati
“0” e “1” possono combinarsi tra loro per dar vita ad un
certo numero di nuovi stati.
Questa combinazione, ovvero il
principio di sovrapposizione degli stati, permette di ampliare la
codifica delle informazioni, permettendo di ampliare esponenzialmente
le possibilità di calcolo.
Il principio di
sovrapposizione è il primo postulato della meccanica quantistica.
Esso afferma che due o più
“stati quantici” possono essere sommati (sovrapposti), generando
uno stato quantico valido.
Ogni stato, inoltre, è la
somma (sovrapposizione) di più stati quantici.
Uno “stato quantistico”, o
“stato quantico” è la rappresentazione matematica di un sistema
fisico, ovvero una “porzione di universo” o un fenomeno, oggetto
di studio.
Basandosi sui principi della
Meccanica Quantistica, sono stati costruiti dei sistemi molto
complessi, denominati appunto “Computer Quantistici”.
La prima realizzazione di
questo sistema risale al 2001, quando IBM crea il primo computer
quantistico a 7 qubit.
Nel 2007, l’azienda “D-Wave
Systems” realizza il primo elaboratore quantistico a 16 qubit.
Sempre D-Wave Systems,
realizza nel 2011 il “D-Wave One”, ovvero un elaboratore a 128
qubit, il primo elaboratore quantistico ad essere commercializzato.
Nel 2013 viene prodotto il
“D-Wave Two”, elaboratore a 512 qubit.
Tra il 2016 e il 2019, IBM
mette a disposizione la cosiddetta “Quantum Experience” ovvero
una piattaforma in Cloud, che mette a disposizione processori e
network quantistici.
D-Wave Computer
Le due piattaforme (D-Wave e
IBM) sono molto diverse tra di loro.
In dettaglio, il D-Wave Two è
formato da circuiti di superconduttori.
Ogni superconduttore
rappresenta un qubit.
Il sistema è mantenuto alla
temperatura di -271 gradi centigradi.
All’innalzamento della
temperatura, gli elettroni possono ruotare su se stessi, con uguale
probabilità, sia in senso orario che antiorario, generando così la
sovrapposizione di stati, necessaria al funzionamento del computer
quantistico.
Processore a 128 qubits
(Dwave Systems)
IBM Quantum Experience,
invece, presenta un’infrastruttura connessa in Cloud la quale
permette di poter programmare fino a 5 qubit ed eseguire il proprio
software quantistico su di un processore quantistico, o su di un
simulatore collegato in Cloud. Il Quantum Experience permette
la creazione di software quantistici fino a 5 righe di “codice”,
una per qubit.
Esempio di Console IBM per
la programmazione di Software Quantistici
E’ facile notare come sia
iniziata una “corsa al quantistico”, ma perché questo?
Il motivo principale di tale
corsa al “quantum bit”, è da ricercarsi nell’ambito bellico,
ovvero la “conquista” dell’informazione del nemico. Chiunque abbia un interesse
bellico cerca di “rompere” i sistemi crittografici del nemico e ,
l’enorme potenza di calcolo del computer quantistico sembra
promettere miracoli. Come ogni tecnologia, però,
ogni strumento può essere utilizzato sia da chi attacca, sia da chi
difende.
Ma torniamo per un attimo al
Cifrario Perfetto, il One Time Pad.
Questo Cifrario non è
utilizzato in ambito comune, in quanto la distribuzione della chiave
è un problema non facilmente risolvibile in una normale rete
informatica. Si è passati, quindi, a
studiare tramite gli stessi principi della meccanica quantistica la
possibilità di utilizzare il One Time Pad in un modo mai visto
prima.
Due ricercatori e docenti
universitari (Geraldo A. Barbosa - University of Southern California
e Jeroen van de Graaf - Universite de ´Montreal) nel 2015 hanno
presentato un sistema di creazione e distribuzione della chiave del
One Time Pad, sfruttando il “rumore” presente in un cavo in fibra
ottica al passaggio del fotone.
Il rumore è un’interferenza,
una lieve alterazione, rispetto al segnale originario.
Il rumore è perfettamente
casuale per cui può essere utilizzato per generare un numero
illimitato di chiavi e anche per distribuirle facilmente, risolvendo
i problemi del One Time Pad finora presentati.
Sempre per l’utilizzo del
One Time Pad è stata ideata la cosiddetta “Quantum Key
Distribution” o QKD. Tramite la Quantum Key
Distribution, è possibile, tramite i principi della meccanica
quantistica, generare chiavi e distribuirle in maniera sicura,
questo perché
una qualsiasi misurazione su di un sistema quantistico ne altera lo
stato (principio di indeterminazione), di conseguenza gli
interlocutori scoprirebbero subito che qualcuno sta cercando di
captare la chiave distribuita (e ovviamente, essendo la misurazione
alterata, la chiave “catturata” non sarebbe quella corretta).
Per quanto riguarda gli
utilizzi in ambito militare, gli scenari sono in costante evoluzione.
Se nel 2016 la Cina ha
lanciato in orbita il primo satellite, il Micius, per comunicazioni
quantistiche, in tutto il mondo si stanno studiando le possibilità
di questi nuovi sistemi.
In dettaglio il satellite
Micius (nome derivante da un antico filosofo cinese) è il primo
satellite sperimentale facente parte di un progetto molto più grande
di nome “QUESS” (Quantum Experiments at Space Scale), un progetto
internazionale di ricerca nel campo della fisica quantistica. Gli obiettivi del progetto sono quelli di portare entro il 2020 una rete quantistica
cifrata tra Asia e Europa, ed entro il 2030 di estendere tale network
a livello globale.
Il progetto QUESS mira a
creare una rete non solo “crittograficamente” sicura, bensì
anche impossibile da intercettare e ciò è possibile grazie ad un
altro principio della fisica quantistica non presente nella fisica
classica, detto “entanglement”.
L’entanglement quantistico è
un fenomeno che si verifica in particolari condizioni in cui uno
“stato” quantistico non può essere studiato o descritto
singolarmente, ma solo come “sovrapposizione di stati”.
Da questo ne consegue che la
misurazione di uno stato determina simultaneamente anche il valore
degli altri.
Un gruppo di ricercatori di
Glasgow è riuscito a fotografare l’entanglement tra due fotoni:
Grazie a questo speciale
fenomeno, il progetto QUESS è riuscito ad eseguire grazie al
satellite Micius il primo teletrasporto di fotoni. Attualmente il progetto QUESS
è in fase di sviluppo, e nonostante i limiti (la rete non può
essere utilizzata con la presenza di luce solare), nel 2016 è stata
effettuata la prima video-chiamata sulla rete quantistica. Ottenere, quindi, la
supremazia in questo ambito potrebbe comportare un vantaggio enorme
sui competitor.
Data la potenza di calcolo dei computer quantistici e
il rischio effettivo che i cifrari attualmente in uso non possano resistere, i crittografi stanno
studiando degli algoritmi, appositamente creati per resistere a
questi elaboratori estremamente potenti. Da questo studio, nasce il
termine “post-quantum cryptography”.
Ci sono, tuttavia, degli
algoritmi che già possono resistere ad un attacco di un computer
quantistico, se utilizzati con una chiave sufficentemente lunga.
Uno di questi è l’AES,
ovvero l’Advanced Encryption Standard, il quale è utilizzato dal
Governo Americano per proteggere i Documenti classificati come “top
secret”, utilizzabile da chiunque ed incluso in numerosi Framework,
ovvero dei pacchetti, per sviluppatori, per creare software.
Le varie aziende, come
Microsoft e IBM, stanno rilasciando al grande pubblico anche dei
simulatori del computer quantistico, per poter imparare a programmare
su questo tipo di macchine.
Microsoft ha rilasciato anche
un linguaggio apposito, chiamato “Q#” (Q-sharp) e degli esercizi,
chiamati “Katas”, per imparare ad utilizzare questa nuova
tecnologia.
E voi, siete pronti per il
futuro?
… perché, in fondo in fondo, è già qui!
Alessandro Fiori
Per approfondire:
- https://www.dwavesys.com/home;
- https://www.research.ibm.com/ibm-q/;
- https://docs.microsoft.com/en-us/quantum/language/?view=qsharp-preview
- http://www.difesaonline.it/evidenza/cyber/difendersi-dai-computer-quantici-lapproccio-statunitense-al-problema;
- http://www.difesaonline.it/evidenza/eventi/enigma-la-macchina-cifrante-che-segnò-gli-eventi-della-2agm;
- http://www.difesaonline.it/recensioni/andrew-hodges-alan-turing-storia-di-un-enigma