Algoritmi crittografici progettati per resistere all’attacco di un computer quantistico che potrebbe essere in grado di “romperli”: un progetto per superare le criticità di sicurezza che gli attuali sistemi di protezione basati sull’uso della crittografia hanno nei confronti delle tecnologie quantistiche che garantiscono elevate potenze di calcolo in grado di decifrare in breve tempo le chiavi di codifica.
In questo contesto riveste un importante significato l’annuncio del NIST, il National Institute of Standards and Technology degli Stati Uniti che lo scorso 5 luglio 2022 ha comunicato di aver selezionato i primi quattro algoritmi crittografici in grado di resistere alla computazione quantistica.
L’annuncio è stato dato dal Segretario al Commercio Gina M. Raimondo, in quanto il NIST dipende dal Department of Commerce (DoC) USA, mentre il direttore del NIST, Laurie E. Locascio, ha dichiarato: “Il nostro programma di crittografia post-quantistica ha sfruttato le migliori menti della crittografia per produrre questo primo gruppo di algoritmi resistenti ai quanti che porteranno a uno standard e aumenteranno significativamente la sicurezza delle nostre informazioni digitali”.
I quattro algoritmi di crittografia selezionati entreranno a far parte dello standard crittografico post-quantistico del NIST, che dovrebbe essere finalizzato tra circa due anni.
Altri quattro algoritmi, progettati per la crittografia generale, sono in fase di valutazione per l’inclusione nello standard e il NIST prevede di annunciare i finalisti di questa seconda tornata in una data futura non ancora definita.
Il quantum computing diventerà un problema di sicurezza? Le sfide che ci attendono
Indice degli argomenti
I dettagli dei quattro algoritmi crittografici
I primi quattro algoritmi crittografici resistenti ai computer quantistici sono stati scelti per due differenti tipologie di utilizzo:
- Public-key Encryption and Key-establishment Algorithms: crittografia generale, utilizzata per proteggere le informazioni scambiate attraverso una rete pubblica;
- Digital Signature Algorithms: firme digitali, utilizzate per l’autenticazione dell’identità.
Per la crittografia generale a chiave pubblica il NIST ha scelto l’algoritmo CRYSTALS-Kyber.
Kyber è un meccanismo di incapsulamento delle chiavi (key encapsulation mechanism: KEM) la cui sicurezza si basa sulla difficoltà di risoluzione del problema definito “learning-with-errors” (LWE).
Kyber presenta tre set di parametri con tre diversi livelli di sicurezza. In particolare:
- Kyber-512 mira a una sicurezza approssimativamente equivalente all’attuale AES-128;
- Kyber-768 mira a una sicurezza approssimativamente equivalente a AES-192;
- Kyber-1024 mira a una sicurezza approssimativamente equivalente a AES-256 (quello che oggi è lo standard utilizzato dal governo USA per i documenti classificati top secret).
Per le firme digitali, utilizzate per verificare l’identità durante una transazione digitale o per firmare un documento in remoto, il NIST ha selezionato i tre algoritmi:
- CRYSTALS-Dilithium;
- FALCON;
- SPHINCS+ (“Sphincs plus”).
I primi due algoritmi (e anche CRYSTALS-Kyber) si basano su una famiglia di problemi matematici chiamati reticoli strutturati.
Il NIST raccomanda CRYSTALS-Dilithium come algoritmo principale: esso si basa sulla tecnica “Fiat-Shamir with Aborts” di Lyubashevsky su reticolo.
FALCON si basa sulla struttura teorica di Gentry, Peikert e Vaikuntanathan per gli schemi di firma basati su reticoli NTRU ed è consigliato dal NIST per le applicazioni che richiedono firme più piccole di quelle che Dilithium può fornire, perché le firme sono sostanzialmente più corte rispetto a qualsiasi altro schema di firma basato su reticoli, pur mantenendole stesse garanzie di sicurezza.
FALCON risulta anche molto rapido, nell’ordine delle migliaia di firme al secondo su un comune computer, con un utilizzo ridotto della RAM (meno di 30 kilobyte). Per questo Falcon è dichiarato compatibile con i dispositivi embedded di piccole dimensioni e con memoria limitata, nell’ambito della Light-Weight Cryptography (LWC).
L’ultimo algoritmo, SPHINCS+, è un po’ più grande e più lento degli altri due e si basa su un diverso approccio matematico rispetto agli altri tre selezionati, in quanto utilizza funzioni hash.
Il progetto è un’evoluzione dello schema di firma SPHINCS, presentato a EUROCRYPT 2015, aggiornato con diversi miglioramenti, mirati in particolare a ridurre le dimensioni della firma.
Per una panoramica delle modifiche apportate da SPHINCS a SPHINCS+ si può consultare l’articolo di Andreas Hülsing. Il documento propone tre diversi schemi di firma:
- SPHINCS+-SHAKE256
- SPHINCS+-SHA-256
- SPHINCS+-Haraka
In questa pagina del NIST sono elencati e descritti i quattro algoritmi selezionati.
Il progetto NIST per una Post-Quantum Cryptography
L’annuncio di questi giorni fa seguito a uno sforzo di sei anni gestito dal NIST, che nel 2016 ha invitato i crittografi di tutto il mondo a ideare e poi verificare metodi di crittografia in grado di resistere a un attacco da parte di un computer quantistico molto più potente delle macchine disponibili oggi. La selezione costituisce l’inizio delle fasi finali del progetto di standardizzazione della crittografia post-quantistica del NIST.
Da sempre il NIST è il principale istituto al mondo che promuove la ricerca e la standardizzazione nel campo della crittografia.
Ricordiamo, per esempio, che l’algoritmo di crittografia asimmetrica che oggi rappresenta lo standard mondiale di fatto, l’Advanced Encryption Standard (AES) è nato nel 2000 grazie al concorso promosso nel 1997, quando il NIST decise di cercare un successore per gli oramai superati standard di crittografia DES e 3DES.
L’algoritmo che vinse la selezione fu chiamato Rijndael ed era stato sviluppato da due crittografi belgi, Joan Daemen e Vincent Rijmen: il 2 ottobre 2000 è diventato l’Advanced Encryption Standard (AES), definito nella norma FIPS Pub 197 del 26 novembre 2001.
Anche i principali algoritmi di hash sono stati sviluppati dal NIST: il più recente è lo SHA-3 Standard, definito nella FIPS 202.
Come abbiamo premesso, il progetto di Post-Quantum Cryptography fu annunciato dal NIST il 20 dicembre 2016, nella consapevolezza che “i computer quantistici avrebbero potuto potenzialmente rompere i codici di crittografia utilizzati per proteggere la privacy nei sistemi digitali”.
Sebbene i computer quantistici fossero allora in una fase ancora prototipale, la loro realizzazione – che si basa su concetti scientifici molto diversi da quelli dei computer convenzionali – avrebbe consentito di violare alcuni degli algoritmi crittografici comunemente utilizzati.
Il NIST si proponeva di testare e infine realizzare nuovi algoritmi meno suscettibili all’attacco di un computer quantistico.
La prima fase di raccolta si doveva concludere entro il 30 novembre 2017.
Una volta raccolti gli algoritmi post-quantistici, questi sarebbero stati sottoposti a controlli di crittoanalisi.
Secondo il matematico del NIST Dustin Moody, la preoccupazione principale dovrebbe riguardare i nuovi algoritmi per la crittografia a chiave pubblica, un metodo usato per proteggere le informazioni elettroniche sensibili, compresi i siti web sicuri su cui navighiamo, le e-mail che inviamo, le firme digitali e molto altro.
La crittografia a chiave pubblica (lo standard più diffuso è RSA) utilizza la fattorizzazione di coppie di numeri primi molto grandi come chiavi per decifrare il messaggio (algoritmo Diffie-Hellman).
Questa crittografia risulta attualmente inattaccabile per un computer convenzionale.
Tuttavia, un computer quantistico sufficientemente potente e dotato di un elevato numero di Qubit, basato su una tecnologia diversa da quella dei computer convenzionali di cui disponiamo oggi, potrebbe risolvere rapidamente questi problemi matematici, rompendo i sistemi di crittografia asimmetrica e di firma digitale basati sulla teoria dei numeri (RSA, DSA, Diffie-Hellman, ElGamal e le loro varianti a curva ellittica).
Per contrastare questa minaccia, i quattro algoritmi resistenti alla computazione quantistica si basano su problemi matematici che sia i computer convenzionali che quelli quantistici dovrebbero avere difficoltà a risolvere, sia oggi che in futuro.
Moody dichiarò allora: “Stiamo cercando di sostituire tre standard crittografici e linee guida del NIST che sarebbero i più vulnerabili ai computer quantistici (riferendosi a FIPS 186-4, NIST SP 800-56A e NIST SP 800-56B, ndr). Si tratta di crittografia, creazione di chiavi e firme digitali, che utilizzano tutte forme di crittografia a chiave pubblica“.
Oggi, dopo quasi sei anni, assistiamo alla pubblicazione dei primi risultati.
Quantum Key Distribution: cos’è e perché è utile a rendere inattaccabili i sistemi di cifratura
Chi è e cosa fa il NIST
Ricordiamo che il National Institute of Standards and Technology è un’agenzia del governo degli Stati Uniti d’America che si occupa della gestione delle tecnologie e fa parte del DoC, Department of Commerce (Ministero del Commercio).
Il NIST è nato nel 1901 con il nome di National Bureau of Standards (NBS). Nel 1988 ha assunto l’attuale denominazione di NIST. È uno dei più antichi laboratori di scienze fisiche degli Stati Uniti ed ha come compito istituzionale quello di di sviluppare standard tecnologici.
Ovviamente gli standard definiti dal NIST non sono cogenti in Europa, tuttavia per la loro autorevolezza sono considerati un punto di riferimento a livello mondiale e per questo largamente adottati e/o utilizzati.
L’Italia, per esempio, ha creato il suo Framework Nazionale per la Cyber Security e la Data Protection, che è la trasposizione quasi identica (in italiano) del NIST CSF.