L'evoluzione della crittografia quantistica e post-quantistica
Nel
primo articolo abbiamo introdotto quali siano i principali problemi
della crittografia moderna, o meglio, quali siano le limitazioni
matematiche che vengono esposta dal mondo del quantum computing. Il
problema è complesso e negli ultimi anni la ricerca ha tentato di
risolvere il dilemma definendo metodi crittografici che offrissero
una sorta di resistenza quantistica. Questa seconda parte
approfondisce proprio questi aspetti, introducendo il tema della
crittografia quantistica e post-quantistica e in particolare la
tecnologia della Quantum Key Distribution (QKD) che rappresenta una
tecnologia particolare in questo contesto, in grado di offrire la
cosiddetta perfect secrecy.
Crittografia
quantistica
La
crittografia quantistica funziona su computer quantistici ed è
“sicura” sia contro gli attacchi classici che quantistici, nel
senso di attacchi condotti tramite computer quantistici. Questa forma
di crittografia è sicura sulla base delle leggi della fisica
quantistica. Ciò significa che, i computer quantistici sono sia il
problema (cioè possono essere usati per “rompere” la
crittografia), sia la soluzione (cioè possono essere usati per
"fare" la crittografia). Tuttavia, ci sono degli aspetti
problematici nell'uso della crittografia quantistica, se paragonati
alla crittografia “classica” a chiave pubblica. La crittografia
quantistica richiede che entrambe le parti abbiano accesso a un
computer quantico e può essere al momento molto costosa, poco
praticabile e quindi inefficiente. La crittografia quantistica è già
in fase di sviluppo e di utilizzo, tuttavia, dati gli attuali costi,
è improbabile che possa sostituire tutti gli attuali casi di
utilizzo della crittografia, soprattutto nel prossimo futuro.
Crittografia
Post-Quantistica
La
crittografia post-quantistica è una forma di crittografia classica
(cioè che non necessita di computer quantistici) che si basa su
fondamenta matematiche a resistenza
quantistica e funziona sugli attuali
computer. In sostanza, la crittografia post-quantistica è un sistema
che si basa su computer non quantistici, proprio come la attuale
crittografia a chiave pubblica, ma su principi matematici differenti,
non facilmente risolvibili nemmeno da un computer quantico. È
importante rimarcare la distinzione perché spesso si usa il termine
"post-quantum" intendendo invece "quantistico" e
viceversa. La differenza è che la crittografia quantistica usa un
computer quantistico, e la crittografia post-quantistica non lo fa.
Tuttavia, nonostante i ricercatori abbiano sviluppato cifrari che
sono resistenti all’algoritmo di Shor la
crittografia post-quantistica però non è altrettanto robusta
rispetto alla crittografia quantistica (non ha l’attributo di
unconditional computational security):
non è possibile dimostrare che gli algoritmi sviluppati non sono
attaccabili in un tempo polinomiale. Questo
comporta che non ci siano ancora prove formali sulla reale sicurezza
di questi metodi, similmente a quanto accade per la attuale
crittografia a chiave pubblica.
Vista
la complessità della crittografia quantistica è comunque di grande
interesse studiare anche altre soluzioni, non basate su tecnologie
quantistiche, che aumentino il grado di sicurezza rispetto
all’attuale crittografia a chiave pubblica. Questo rende necessario
avere sistemi di crittografia resistenti agli attacchi, condotti da
computer quantistici, che possano funzionare su computer non
quantistici (i.e., il caso peggiore in cui l’attaccante ha a
disposizione un computer quantistico è l’attaccato no).
Quantum
computing ed applicazioni alla crittografia simmetrica
È
fondamentale sottolineare che, quanto detto fino ad ora, parlando
degli attacchi alle forme di crittografia asimmetriche, a chiave
pubblica e privata, non si applica alla crittografia simmetrica (che
fa uso della stessa chiave condivisa fra le parti comunicanti).
Shannon nel 1949 ha dimostrato che con la crittografia simmetrica
esistono le condizioni per ottenere la sicurezza perfetta (perfect
secrecy) o incondizionata.
Prima
di tutto un breve riepilogo. La crittografia a chiave pubblica, o
crittografia asimmetrica, garantisce la riservatezza. Supponiamo che
una parte (Alice) voglia inviare ad un'altra parte (Bob) un messaggio
segreto. Alice cripta il suo messaggio con la chiave pubblica di Bob,
creando un testo cifrato incomprensibile, che invia a Bob. Bob
decifra il testo cifrato per scoprire il messaggio originale. Si noti
che la comunicazione è unidirezionale o "asimmetrica";
Alice non può decifrare i messaggi di Bob poiché non possiede la
chiave privata. La cifratura a chiave pubblica è asimmetrica ed è
generalmente più lenta rispetto agli schemi di cifratura simmetrica
come l'AES. Per questo motivo, la cifratura a chiave pubblica è
principalmente utilizzata per stabilire una chiave segreta condivisa
tra le parti. Cioè, il messaggio segreto inviato da Alice a Bob è
una chiave segreta, e questa chiave segreta viene poi utilizzata per
cifrare e decifrare i dati in modo efficiente utilizzando la
cifratura simmetrica.
|
Figura
1 – Una versione semplificata del
Protocollo di scambio chiavi asimmetriche
Alice
e Bob hanno bisogno di un metodo sicuro per condividere la loro
chiave simmetrica, questa fase prende il nome di Key
Establishment Mechanism (KEM). La
cifratura a chiavi asimmetriche viene quindi utilizzata nella fase di
inizializzazione del canale di comunicazione, per permettere ad Alice
e Bob di condividere una chiave simmetrica senza interferenze (questo
schema, inizialmente proposto da Diffie-Hellman,
è poi diventato la base del protocollo di comunicazione SSL).
Cos'è
la Quantum Key Distribution?
Come
detto nel paragrafo precedente, esistono le condizioni per rendere la
crittografia simmetrica un metodo di cifratura incondizionatamente
sicuro, sempre nell’ipotesi che un attaccante non venga a
conoscenza della chiave. Il problema è quindi quello di distribuire le chiavi
senza che vengano intercettate. Questo problema porta alla nascita
della Quantum Key Distribution (QKD), che è un sistema basato su un
“canale quantistico” (fibre ottiche oppure tratte “free
space” satellitari) per distribuire
chiavi simmetriche in modo non intercettabile.
Come già anticipato ad inizio articolo, la
QKD è una tecnologia imparentata con il quantum computing per via
del fatto che usa la stessa “terminologia” matematica: si può
dire che in questo caso si parla di “quantum” senza l’attributo
“computing”.
La
QKD in particolare utilizza le proprietà quantistiche dei fotoni
(i.e., scarsa interazione con la materia e capacità di mantenere il
proprio stato quantico in un mezzo adeguato, ad esempio una fibra
ottica, per qualche microsecondo, sotto forma di fase o momento
angolare) per effettuare lo scambio di una chiave crittografica
simmetrica, che può essere utilizzata per criptare i messaggi che
poi vengono scambiati tramite un canale “tradizionale”. La
sicurezza di QKD si basa su fondamentali leggi della natura, che sono
insensibili all’aumentare della potenza di calcolo, di nuovi
algoritmi di attacco o di computer quantistici.
La
sicurezza della QKD si basa su una caratteristica fondamentale della
meccanica quantistica: a causa del principio di indeterminazione di
Heisenberg, a seguito del quale non si può misurare una quantità
fisica senza interferire con essa, l'atto di misurare lo stato di un
quanto di luce lo distrugge. Con questo tipo di sistemi, la sicurezza
deriva proprio dal fatto che un eventuale attore malevolo, che cerchi
di intercettare uno scambio di informazioni, lascerà inevitabilmente
tracce rilevabili sotto forma di errori della chiave trasmessa. A
questo punto le due parti Alice e Bob possono decidere di usare una
nuova chiave simmetrica o interrompere la trasmissione.
La
QKD formalmente ha anche un secondo vantaggio, essendo possibile
dimostrare che è un sistema sicuro dal punto di vista della
teoria dell'informazione (information-theoretically
secure). La sua sicurezza deriva
esclusivamente dalla teoria dell'informazione, cioè, non si basa
sulla presunta difficoltà dei problemi matematici usati, ed è
quindi sicuro anche quando l'avversario ha una potenza di calcolo
illimitata.
Un’altra
importante caratteristica operativa della QKD, quando viene
utilizzata in sequenza per produrre chiavi di cifratura successive, è
la proprietà chiamata "forward-secrecy"
delle chiavi: le
chiavi successivamente scambiate su un QKD
link, sono indipendenti l'una dall'altra. Pertanto, la potenziale
compromissione di una di esse non può portare alla compromissione
delle altre. Questa è una caratteristica particolarmente
apprezzabile sia per le reti ad elevata sicurezza, che per la
memorizzazione a lungo termine dei dati (everlasting
security).
Un'implementazione
QKD include tipicamente i seguenti componenti:
|
Figura
2 - Alice e Bob sono collegati attraverso
un QKD Link (composto dalla coppia di connessioni Ethernet e su fibra
ottica) e si scambiano chiavi crittografiche simmetriche, per poi
instaurare una connessione sicura cifrata simmetricamente. Eve è in
ascolto sul QKD link e cerca di intercettare la chiave o il flusso
cifrato |
Un
canale di trasmissione su fibra ottica per inviare quanti di
informazione (qubit) tra il trasmettitore (Alice) e il ricevitore
(Bob).
Un
collegamento di comunicazione tradizionale e pubblico ma autenticato
tra le due parti per eseguire le fasi di post-scambio-chiave
Un
protocollo di scambio chiave che sfrutta le proprietà quantistiche
per garantire la sicurezza, rilevando le intercettazioni o gli
errori, e calcolando la quantità di informazioni che sono state
intercettate o perse.
Enrico Frumento*,
Nadia Fabrizio*,
Paolo Maria Comi+
* CEFRIEL Politecnico di Milano, Viale Sarca
226 – 20126 Milano
+ Italtel, Via Reiss Romoli – loc.
Castelletto – 20019 Settimo Milanese (Mi)
Per approfondire:
[1]
|
CSO
Insiders, “What is quantum cryptography? It’s no silver
bullet, but could improve security,” 12 3 2019. [Online].
Available:
https://www.csoonline.com/article/3235970/what-is-quantum-cryptography-it-s-no-silver-bullet-but-could-improve-security.html.
|
[2]
|
T.
Laarhoven, M. Mosca and J. v. d. Pol, “Solving the Shortest
Vector Problem in Lattices Faster Using Quantum Search,”
Post-Quantum Cryptography, pp. 83-101, 2013.
|
[3]
|
O.
Regev, “Quantum Computation and Lattice Problems,” SIAM
Journal on Computing, vol. 33, no. 3, pp. 738-760, 2004.
|
[4]
|
Research
Institute, “A Guide to Post-Quantum Cryptography,” 16 5 2019.
[Online]. Available:
https://medium.com/hackernoon/a-guide-to-post-quantum-cryptography-d785a70ea04b.
|
[5]
|
C.
Shannon, “Communication Theory of Secrecy Systems,” Bell
System Technical Journal, vol. 28, no. 4, pp. 656-715, 1949.
|
[6]
|
W.
Diffie and M. Hellman, “New directions in cryptography,” IEEE
Transactions on Information Theory, vol. 22, pp. 644-654,
1976.
|
[7]
|
Akamai,
“Enterprise Security - SSL/TLS Primer Part 1 - Data Encryption,”
2016. [Online]. Available:
https://blogs.akamai.com/2016/03/enterprise-security---ssltls-primer-part-1---data-encryption.html.
|
[8]
|
R.
Alléaume, C. Branciard, J. Bouda, T. Debuisschert, M. Dianati, N.
Gisin, M. Godfrey, P. Grangier, T. Länger, N. Lütkenhaus, C.
Monyk, P. Painchault, M. Peev, A. Poppe, T. Pornin, J. Rarity, R.
Renner, G. Ribordy, M. Riguidel, L. Salvail, A. Shields, H.
Weinfurter and A. Zeilinger, “Using quantum key distribution for
cryptographic purposes: A survey,” Theoretical Computer
Science, vol. 560, pp. 62-81, 2014.
|
[9]
|
W.
Diffie, P. v. Oorschot and M. Wiener, “Authentication and
Authenticated Key Exchanges,” in Designs, Codes and
Cryptography 2, Kluwer Academic, 1992, pp. 107-125.
|
[10]
|
CSA
Cloud Security Alliance, “What is Quantum Key Distribution?,”
in Quantum-Safe Security Working Group.
|