Crittografia quantum safe e crittografia omomorfica sono due degli ambiti nei quali i ricercatori che si occupano di security stanno concentrando il loro impegno. Di cosa si tratta? E, soprattutto, per quali motivi sono così importanti? ZeroUno ne ha parlato con Cecilia Boschini, Predoctoral Researcher – Lattice-based Cryptography dell’IBM Zurich Research Laboratory, con la quale analizzeremo nel dettaglio le caratteristiche di questi sistemi crittografici. Ma prima di tutto vediamo quali sono le problematiche che indirizzano.
Di questo servizio fa parte anche il seguente articolo:
- La security secondo IBM: un sistema immunitario intelligente e integrato
Il computer quantistico è una tecnologia che necessiterà ancora di alcuni anni per diffondersi, ma la sua formidabile potenza elaborativa se da un lato consentirà di fare un salto, giustappunto, “quantico” nell’elaborazione dell’enorme quantità di dati oggi a disposizione (e che non riusciamo a sfruttare pienamente), dall’altro verrà certamente utilizzata dai cybercriminali e dalle cyberspie per compromettere i sistemi di crittografia, attività che richiede grande potenza di calcolo. Da qui l’esigenza di costruire sistemi di sicurezza cosiddetti “quantum safe”.
Il secondo ambito, la crittografia omomorfica, indirizza un altro problema molto sentito, ossia la possibilità di effettuare operazioni direttamente su dati criptati collocati su server esterni all’azienda (per esempio in cloud) senza decrittarli, ma decrittando solo il risultato: una prospettiva alla quale sono interessate molte aziende perché permetterebbe di velocizzare enormemente l’elaborazione di dati criptati.
Come realizzare sistemi crittografici a prova di quantum computing
“Con crittografia quantum safe o crittografia post quantistica – spiega Boschini – intendiamo dei protocolli di sicurezza che possono essere eseguiti su un computer classico, ma che garantiscono la sicurezza anche se il nostro avversario ha un computer quantistico”.
La ricercatrice introduce il tema ricordando il procedimento base di ogni sistema crittografico: “La validità di un protocollo di crittografia si basa sulla dimostrazione matematica che un avversario, per ‘rompere’ il protocollo e quindi accedere ai dati che questo protegge, deve essere in grado di risolvere un problema matematico estremamente difficile. Se è impossibile risolvere il problema matematico è anche impossibile rompere il protocollo e, quindi, i dati sono al sicuro”.
La crittografia RSA, per esempio, si basa sulla difficoltà di fattorizzare numeri di 2048 cifre, operazione che, con i computer classici, richiede anni per essere risolta diventando, di fatto, inattaccabile (ricordiamo che in matematica la fattorizzazione è la riduzione in fattori: fattorizzare un numero intero positivo n significa trovare un insieme di numeri interi positivi a0, a1, a2, a3…. tali che il loro prodotto sia il numero originario n = a0 x a1 x a2 x a3).
“Ma nel momento in cui fosse possibile avere l’accesso a un computer quantistico molto potente con migliaia di qbit, sarebbe possibile fattorizzare questi numeri in poche ore, per questo la sicurezza è una priorità che si affianca allo sviluppo stesso del quantum computing”, spiega Boschini, che prosegue: “Quindi l’idea è di sostituire questi problemi matematici, facili da risolvere per un computer quantistico, con altri problemi impossibili da risolvere per un computer di questo tipo”.
La logica non fa una grinza, ma ovviamente la soluzione non è facile. Come produrre dunque una crittografia quantum safe?
“Ci sono diversi modi – prosegue Boschini – i problemi matematici possono essere di vario tipo, dipende dalla struttura algebrica sottostante. Quelli su cui stiamo lavorando in IBM Research sono i problemi basati su reticoli, la cosiddetta Lattice-based cryptography. I reticoli sono griglie di punti in due dimensioni sulle quali si possono costruire problemi matematici che, allo stato dell’arte, sono impossibili da risolvere per i computer quantistici in un tempo ragionevole (nel senso che li potrebbero risolvere ma avrebbero bisogno di anni per farlo)”.
I reticoli non sono l’unico tipo di problema matematico che può essere utilizzato, ce ne sono altri (dalle isogenie su curve ellittiche a sistemi di equazioni multivariate): “Il fatto che esistano diversi schemi matematici per fare crittografia quantum safe è molto importante perché un protocollo di sicurezza non deve essere solo sicuro, ci sono anche altre necessità che devono essere soddisfatte: per esempio che le chiavi segrete siano piccole per poter effettuare i calcoli anche su processori non molto potenti. Quindi si stanno creando diversi tipi di algoritmi che rispondono a diversi requirement in termini di memoria o potenza di calcolo”, dice la ricercatrice.
I principali enti internazionali di standardizzazione hanno da poco iniziato il processo di standardizzazione di questi protocolli. “Il NIST ha dato inizio a questo processo nel dicembre 2016 [Post-Quantum Cryptography Project https://csrc.nist.gov/Projects/Post-Quantum-Cryptography ndr] – racconta Boschini – chiedendo ai ricercatori di inviare le loro proposte di protocollo di sistemi di crittografia quantum safe per cifratura e firma digitale, con lo scopo di arrivare ad avere un portfolio di protocolli di crittografia per queste due tipologie di applicazioni, in modo che ogni azienda possa scegliere quello più idoneo sulla base delle proprie necessità. I protocolli dovevano essere presentati entro la fine del 2017 e il processo di standardizzazione si concluderà nel 2023: in questo periodo, i protocolli vengono messi a disposizione della community dei ricercatori per essere ‘rotti’, quelli che passeranno indenni da questo processo verranno certificati”.
IBM, insieme ad università e altri istituti di ricerca, ha presentato 3 sistemi crittografici: una coppia di algoritmi chiamati Dilithium (firma digitale) e Kyber (key encapsulation mechanism), riuniti nella suite Crystals, e un altro algoritmo di firma digitale chiamato Crystals.
Velocizzare l’elaborazione dei dati con la crittografia omomorfica
La crittografia omomorfica è un tipo di crittografia che consente di effettuare operazioni su dati criptati. Un’opportunità molto importante in ambito cloud: nonostante le infrastrutture cloud offrano oggi elevati livelli di sicurezza, ci sono particolari esigenze (anche normative) in base alle quali un’azienda decide di criptare i propri dati prima di trasferirli in cloud; però per effettuare operazioni su questi dati, è poi necessario riportare i dati in house e decrittarli, eseguire l’operazione, criptarli nuovamente e rimandarli in cloud. La crittografia omomorfica, invece, può risolvere questo problema e fare in modo che le informazioni memorizzate nel cloud non debbano mai essere decifrate per effettuarvi operazioni.
Fino al 2009 nessuno riteneva fosse possibile effettuare calcoli su dati criptati, finché il ricercatore Craig Gentry, entrato poi in IBM, ha dimostrato, in via teorica, che questo è possibile grazie a un protocollo basato sui reticoli.
“Il problema è che la crittografia omomorfica era estremamente lenta: per calcolare una semplice funzione AND tra due messaggi cifrati ci volevano 30 minuti. Questo perché era necessario effettuare un bootstrap [tecnica statistica di ricampionamento ndr] ogni ‘tot’ operazioni per rielaborare il pezzo cifrato in modo da evitare che l’accumulo di errori rendesse inutile la cifratura. Nel 2012 c’è stato un primo avanzamento con la rimozione della necessità di bootstrap e poi – spiega Boschini – abbiamo fatto un lavoro continuo sull’implementazione di questo protocollo in modo da avere calcoli sempre più rapidi, un criptosistema sempre più agile. La ricerca si è dunque focalizzata in questi anni su come eseguire queste operazioni”.
Quindi, chiediamo in conclusione, in questo ambito fino ad ora sono stati fatti importanti passi teorici più che pratici…
“Adesso stiamo iniziando progetti pilota con alcuni clienti perché abbiamo bisogno di avere un’applicazione pratica per capire come e dove migliorare l’implementazione del modello matematico”, conclude Boschini.