Un evento importantissimo nel campo della sicurezza informatica è stato l’annuncio, lo scorso 22 luglio, dei finalisti al terzo round per il processo di standardizzazione della crittografia post-quantistica da parte del National Institute of Standards and Technology (NIST), ovvero l’istituto di standardizzazione tecnologica americano.
Tra algoritmi di cifratura a chiave pubblica e algoritmi di firma digitale, sono stati in tutto quindici i candidati selezionati per il terzo round. Questo vuol dire che tali algoritmi verranno nuovamente processati, valutati e finalizzati nei prossimi anni e che potrebbero apparire nel primo standard di crittografia post-quantistica, atteso entro due-quattro anni. Cerchiamo di capire meglio che cosa comporterà per i prossimi anni a venire questo importante annuncio del NIST.
Cos’è la crittografia post-quantistica
Il crittografo Shor, con il suo algoritmo di crittanalisi, ha dimostrato all’inizio degli anni Novanta che molte delle primitive crittografiche a chiave pubblica in uso (per esempio DSA, RSA e la crittografia su curve ellittiche) sarebbero state rese insicure se quel suo algoritmo sarebbe stato lanciato da un computer quantistico. Il mondo della crittografia ha da allora cercato di trovare delle alternative crittografiche che avrebbero potuto resistere tali attacchi. Tali alternative vengono indicate come crittografia post-quantistica, denotata anche con l’acronimo PQC, dal termine inglese corrispondente post-quantum cryptography. Negli ultimi anni, l’interesse e gli sforzi consacrati alla crittografia post-quantistica sono aumentati sempre di più. Ciò è dovuto anche al fatto che, contemporaneamente, gli investimenti per lo sviluppo di un computer quantistico sono diventati sempre più significativi e, di conseguenza, i progressi fatti in questo senso sempre più evidenti.
Il processo di standardizzazione del NIST
Tale interesse per la ricerca di nuove primitive crittografiche resistenti al computer quantistico è culminato quando, nel 2017, il NIST ha annunciato il primo round del processo di standardizzazione. Nel 2017 infatti, erano già state studiate diverse tecniche (anche se teoriche) di correzione d’errore quantistico e di computazioni quantistiche fault-tolerant che lo rendono sempre più paragonabile al funzionamento di un normale computer binario. Oltre a questo, si erano riuscite a dimostrare per la prima volta architetture di computer comprendenti qubit fisici e operazioni in entanglement che, seppur di piccole dimensioni, avrebbero potuto essere sviluppate su larga scala.
In data 30 novembre 2017, il giorno della scadenza per proporre un algoritmo post-quantistico, il NIST ricevette 69 candidati validi, ovvero 69 primitive crittografiche post quantistiche che soddisfacevano i requisiti posti dal NIST stesso. Dopo un processo di revisione durato più di due anni in cui ciascuno dei candidati è stato sottoposto a un’accurata analisi rispetto alle sue performance di sicurezze che computazionali che funzionali, nel gennaio 2019 sono stati annunciati i 26 algoritmi dei 69 originari che erano stati considerati idonei a un’analisi successiva. Quelle 15 primitive crittografiche annunciate il 22 luglio non sono altro che una parte di quei 26 candidati che, dopo una seconda fase di analisi, sono stati ritenuti idonei per essere sottoposti alla terza e, si spera ultima, fase di valutazione.
I 15 candidati al terzo round si suddividono in “primitive finaliste” e in “primitive alternative” e in entrambi i gruppi troviamo sia candidati per primitive di cifratura a chiave pubblica e di key-establishment, sia candidati per primitive di firma digitale.
Tra i candidati finalisti per la standardizzazione di primitive di cifrature a chiave pubblica e di key-establishment troviamo ClassicMcEliece, Crystals-Kyber, Ntru e Saber.
Tra i candidati finalisti per la standardizzazione per algoritmi di firma digitale troviamo invece Crystals-Dilithium, Falcon e Rainbow. I candidati alternativi sono quei candidati che il NIST ha ritenuto abbiano bisogno di una terza fase di analisi molto più lunga rispetto ai candidati finalisti elencati sopra. Questo non vuol dire che questi ultimi siano più deboli da un punto di vista della sicurezza o meno performanti, ma che serve più tempo per comprenderne a fondo le caratteristiche. È infatti probabile che, tra i candidati alternativi, quelli che verranno standardizzati appariranno in una versione aggiornata dello standard stesso qualche anno più tardi rispetto agli altri finalisti. Tra i candidati alternativi per la standardizzazione di algoritmi di cifratura a chiave pubblica e di key-establishment troviamo BIKE, FrodoKEM, HQC, Ntru Prime e Sike. Tra i candidati alternativi per la standardizzazione di algoritmi di firma digitale troviamo invece GeMSS, Picnic e Sphincs+.
Il NIST da sempre è stato l’istituto mondiale di riferimento per la standardizzazione di primitive crittografiche e per la sicurezza informatica in generale ed è tipico del NIST quello di indire un concorso per annunciare un prossimo standard dove i candidati vengono valutati a più riprese. Questo è stato ad esempio il caso dell’Advanced Encryption Standard (AES), l’algoritmo di cifratura tra i più usati al momento, standardizzato dal NIST nel 2001.
Perché sono importanti gli standard NIST
Gli standard emessi dal NIST vengono pubblicati attraverso Federal Information Processing Standards (FIPS) o attraverso le così dette Special Publications (SP). Sia le pubblicazioni FIPS che le pubblicazioni SP sono gestite dal NIST, con la sola differenza che mentre gli standard FIPS si occupano di dare linee guida in campo di sicurezza informativa da un punto di vista più governativo, gli standard SP sono il risultato di un lavoro collaborativo tra industria, università ed enti governativi. Va notato che questi due tipi di pubblicazione non sono da vedersi come in contrasto tra di loro. Infatti gli algoritmi a chiave pubblica che verranno selezionati alla fine di questo concorso per la crittografia post-quantistica verranno aggiunti allo standard FIPS 186-4 per le firme digitali, ovvero il Digital Signature Standard (DSS), e anche alla terza revisione della Special Publication (SP) 800-56A, Recommendation for Pair-Wise Key-Establishment Schemes Using Discrete Logarithm Cryptography, e alla seconda revisione della SP 800-56B, Recommendation for Pair-Wise Key-Establishment Schemes Using Integer Factorization Cryptography.
Nonostante entrambi FIPS e SP siano emessi da un istituto di standardizzazione americano, è importante notare che, per quanto riguarda la crittografia, il NIST è da sempre stato lo standard di riferimento di tutti gli altri standard. Anche in Europa, ad esempio, nonostante alcuni Paesi abbiano i loro istituti di standardizzazione (per esempio il BSI tedesco), si tende comunque a prediligere e a seguire le linee guida dettate dal NIST attraverso le pubblicazioni FIPS e SP. Anzi molto spesso in questo caso, sono gli altri standard (per esempio ISO/IEC) a ripercorrere le linee guida del NIST senza discostarsene. Tenersi aggiornati sulle attività di standardizzazione del NIST e seguirne le indicazioni significa quindi anche qui in Europa adottare delle primitive crittografiche all’avanguardia e accettate e riconosciute in tutto il mondo.