Grazie alla crittografia omomorfa è possibile operare sui dati senza doverli prima decodificare, eliminando così la possibilità di furto dei dati.
Oggi la protezione dei dati personali è più importante che mai. È sempre più importante utilizzare metodi di crittografia per proteggere i dati a riposo e in transito. E se invece vi dicessimo che l’uso di password per salvaguardare i dati quando vengono conservati e la crittografia SSL per proteggerli quando vengono inviati non è sufficiente?
Cosa fareste se vi dicessimo che il mondo ha bisogno di un nuovo metodo di crittografia per realizzare la crittografia end-to-end? Non importa se lo accettate o meno; il fatto rimane lo stesso.
Inoltre, è stato inventato un metodo di crittografia completamente nuovo, progettato appositamente per questo obiettivo. Questo metodo si chiama crittografia omomorfa.
Table of Contents
Crittografia omomorfa: cosa vuol dire
Quando si tratta di proteggere informazioni sensibili, siamo ben consapevoli dell’importanza della crittografia. Per questo motivo, i dati vengono crittografati non solo quando vengono conservati (i cosiddetti dati a riposo), ma anche quando vengono trasferiti da un dispositivo all’altro (i cosiddetti dati in transito). Come minimo, ogni azienda che si preoccupa della sicurezza dei propri clienti lo fa. Inoltre, nella maggior parte dei casi funziona in modo efficace, poiché gli standard di crittografia odierni sono estremamente difficili da decifrare. Hanno bisogno di un’enorme quantità di potenza di elaborazione e di tempo per essere violati con metodi di attacco basati su tentativi ed errori (noti anche come brute-forcing), il che non è possibile per nessuno al giorno d’oggi.
Ciononostante, ogni sistema di crittografia è soggetto a una limitazione, che consiste nell’impossibilità di operare con i dati crittografati. Decifrarli è il primo passo da compiere in qualsiasi direzione che preveda l’esecuzione di calcoli su di essi. Una volta decriptati, però, è il momento in cui sono vulnerabili al furto da parte di qualcun altro. Questa persona potrebbe essere uno dei vostri dipendenti o un hacker esterno che è riuscito a infettare i vostri sistemi in qualche modo in modo da poter gestire i dati decriptati. In ogni caso, è responsabile della violazione.
La crittografia omomorfa è un tentativo di trovare una soluzione a questo particolare problema. Permette di operare sui dati senza doverli prima decodificare, eliminando così la possibilità di furto dei dati. I calcoli, in qualsiasi forma, vengono eseguiti sul testo cifrato stesso e il risultato è un’altra stringa cifrata. Quando il risultato viene decifrato, offre gli stessi risultati che si sarebbero ottenuti se i calcoli fossero stati eseguiti su dati in chiaro non cifrati.
Quali sono i primi sistemi di crittografia omomorfi e la loro origine
La storia dei sistemi crittografici omomorfi inizia intorno alla fine del decennio precedente. La crittografia completamente omomorfa, talvolta abbreviata in FHE, è un metodo di crittografia dei dati introdotto nel 2010 da Craig Gentry, uno studente di dottorato che riceveva finanziamenti dalla National Science Foundation degli Stati Uniti. Sulla base del suo schema iniziale è stato possibile costruire circuiti in grado di eseguire qualsiasi calcolo arbitrario, ottenendo così uno schema di crittografia completamente omomorfo. Sebbene il suo schema iniziale fosse uno schema di crittografia solo in parte omomorfico, in quanto consentiva di eseguire solo operazioni di addizione e moltiplicazione sul testo cifrato, era possibile costruire circuiti basati sul suo schema iniziale in grado di eseguire tali operazioni. Questo particolare schema viene definito FHE di prima generazione.
Da allora, la ricerca e lo sviluppo di FHE sono proseguiti e, sotto la direzione di Gentry, sono state prodotte altre due generazioni di FHE. La seconda generazione dello schema FHE è stata rilasciata nel 2012, mentre la terza generazione è stata rilasciata nel 2013. Lo schema FHE è stato ulteriormente aggiornato nel 2014 con il rilascio dello schema FHEW e nel 2016 con il rilascio dello schema TFHE.
Quali sono i diversi tipi di crittografia omomorfa e come funzionano
La crittografia omomorfa, o HE in breve, come viene più spesso chiamata, può assumere diverse forme.
Ognuna di queste categorie ha una modalità operativa un po’ diversa. Per eseguire le computazioni utilizzano un circuito aritmetico, a differenza di un circuito booleano, utilizzato in altri tipi di calcolo.Tuttavia, l’approccio fondamentale con cui operano è lo stesso.Quando si utilizza un circuito aritmetico, i dati possono essere visualizzati in formato intero anziché in formato testo. Questo è un vantaggio rispetto al formato del testo normale. I calcoli vengono quindi eseguiti utilizzando questi numeri come base. Il vostro personale potrà lavorare in questo modo senza essere a conoscenza delle specifiche dei dati da elaborare.
Questo aspetto sarà meglio compreso quando vi illustreremo il funzionamento di tre diverse varietà di crittografia omomorfa:
- Crittografia con funzioni parzialmente omeomorfe
Quando si utilizza questo tipo di crittografia omomorfa, alcune operazioni matematiche (come l’addizione, la moltiplicazione e così via) possono essere eseguite senza bisogno di decifrare i dati, ma per eseguire altre operazioni matematiche, i dati devono essere prima decifrati. - Una crittografia in qualche modo omeomorfa
Con questo tipo di crittografia è possibile eseguire un numero illimitato di operazioni matematiche sui dati crittografati.Altre funzioni, invece, possono essere eseguite solo un numero predeterminato di volte e solo fino a una determinata soglia di complessità. - Crittografia con oggetti completamente omeomorfi
Questo tipo di crittografia, come indica il nome, consente di eseguire tutte le funzioni un numero infinito di volte e fino a qualsiasi grado di complessità, senza dover prima decifrare i dati.Non esiste sul mercato un tipo di crittografia omomorfa più affidabile di questo.
Alla luce di ciò, analizziamo ora in modo più approfondito la crittografia completamente omomorfa (Fully Homomorphic Encryption, FHE).
Cosa si intende con il termine “crittografia completamente omomorfa” (FHE)
Abbiamo già fornito una semplice spiegazione di cosa sia la crittografia completamente omomorfa. Ora, tenendo conto di ciò, che ne dite di comprenderla con l’aiuto di un esempio? Immaginate di essere il proprietario di un’azienda che concede prestiti ai clienti in base alla loro storia creditizia e alla loro situazione finanziaria attuale.
Per valutare se il debitore sarà in grado di rimborsare il prestito, dovete esaminare il suo punteggio di credito e il suo reddito nel corso di un anno fiscale. Per determinare la situazione, è necessario ottenere il punteggio di credito dell’individuo da un’agenzia di credito e poi richiedere le copie delle dichiarazioni dei redditi per l’anno fiscale più recente.I dati vi vengono forniti in modo criptato e voi li salvate sui vostri dispositivi in un formato anch’esso criptato. Una buona notizia fino a questo punto. Tuttavia, i dati dovranno essere criptati prima di poter effettuare un’analisi della loro attuale situazione finanziaria.
Inoltre, non volete permettere al vostro personale di accedere a dati così sensibili come quelli finanziari dei clienti, perché questo non fa altro che creare problemi.Temete che le divulghino ai vostri rivali, che le utilizzeranno per accaparrarsi i vostri clienti. Quindi, cosa fare? La risposta può essere trovata qui:
- In un formato criptato omomorficamente, estraete il reddito del vostro cliente e il suo punteggio di credito.
- Ottenete l’importo aggregato di tutti i suoi debiti precedenti in un formato anch’esso crittografato.
- Quindi si elaborano i dati inviandoli al personale in forma criptata.
- Questi li sottopongono alle varie formule e algoritmi che la vostra organizzazione utilizza per determinare l’idoneità al prestito.
- L’algoritmo completa il suo compito e fornisce un punteggio all’interno dei parametri che avete specificato in precedenza.
- I vostri collaboratori vi forniranno il punteggio risultante, che sarà crittografato in modo omomorfico perché basato su input anch’essi crittografati in modo simile.
- L’utente decodifica il risultato con la sua chiave privata per determinare se il punteggio creato dai suoi algoritmi ha determinato l’idoneità o meno dell’individuo per il prestito.
Per tutta la durata della procedura, il vostro personale sarà all’oscuro dei dati utilizzati, delle specifiche del reddito, del punteggio di credito e della storia del prestito dell’individuo, nonché dei risultati dei calcoli effettuati dall’algoritmo. Siete gli unici ad esserne a conoscenza, il che elimina completamente ogni possibilità di furto di dati.
È possibile che a questo punto abbiate iniziato a comprendere le possibilità di questo approccio di crittografia innovativo. Ora che abbiamo stabilito questo potenziale, analizziamo alcune aree in cui può essere utilizzato.
Quali sono le implementazioni e gli usi reali della crittografia completamente omomorfa
È possibile che la crittografia completamente omomorfa (FHE) finisca per cambiare le carte in tavola in diverse applicazioni del settore informatico.
Ecco alcune delle sue potenziali applicazioni:
- Conservazione di informazioni private in un servizio di archiviazione online.
Per proteggere le proprie risorse vitali, molte aziende scelgono di archiviare i propri dati in sistemi basati su cloud. Tuttavia, la protezione dei dati archiviati sui server cloud è responsabilità di una terza parte. Sembra che non si possa fare molto al riguardo, almeno fino a questo momento.
La crittografia omomorfa, invece, può cambiare questa situazione, consentendo agli utenti di crittografare i dati autonomamente prima di salvarli nel cloud. Non sarà necessario decifrarli prima per poterli cercare o eseguire altre operazioni, poiché queste opzioni saranno comunque disponibili. - Istituti finanziari, come banche e altri
Anche altri tipi di organizzazioni finanziarie, come le banche, conservano e analizzano regolarmente una quantità significativa di dati sensibili. Se il loro personale è autorizzato a fare tutto ciò che vuole con i dati senza dover prima scoprire le informazioni finanziarie dell’utente, la situazione potrebbe cambiare per l’intero settore finanziario.
Per esempio, un impiegato della banca potrebbe essere in grado di valutare se siete idonei o meno per un prestito senza vedere le vostre informazioni finanziarie private, come il numero del vostro conto bancario o la quantità di denaro attualmente accessibile sul vostro conto. Questo può essere fatto per proteggere la vostra privacy. - Voto interamente online
La crittografia omomorfa ha il potenziale per migliorare notevolmente i sistemi di voto delle principali democrazie di tutto il mondo. I ricercatori stanno lavorando su questo tema e sono state ideate tecniche di crittografia specializzate (come lo schema Paillier) per implementare la crittografia omomorfa nei sistemi di voto elettronico.Queste sono solo tre delle numerose circostanze in cui la FHE potrebbe essere implementata per aumentare drasticamente il livello di sicurezza dei dati. Ce ne sono molte altre. I casi d’uso continueranno a moltiplicarsi di pari passo con la velocità con cui questa tecnologia sta progredendo verso il completamento.
Quali sono i vincoli imposti alla crittografia completamente omomorfa
Ci si potrebbe chiedere: se la FHE è così vantaggiosa, perché non tutte le aziende sulla faccia della terra la utilizzano per migliorare le loro operazioni? Perché non è la tecnica di crittografia utilizzata di default? A dire il vero, ogni argomento ha un punto di vista opposto.La FHE è vantaggiosa, anche se presenta due svantaggi significativi, entrambi illustrati di seguito:
- È molto faticoso.
Il primo svantaggio di FHE è che a volte è un po’ lento.A questo punto, la mancanza di rumore è tale che è impossibile farne un uso produttivo.Il tempo impiegato per eseguire calcoli sulle versioni criptate dei dati rispetto a quelle decriptate viene definito overhead computazionale. Attualmente, l’overhead computazionale di FHE è significativo.IBM ha pubblicato la versione iniziale della libreria HElib C++ nel 2016, con l’intenzione di portare FHE al pubblico; tuttavia, le fonti affermano che le sue prestazioni erano 100.000 miliardi di volte più lente rispetto ai calcoli eseguiti sul testo normale.Se qualcosa di simile viene implementato in contesti commerciali intricati, la quantità di potenza di elaborazione disponibile sulla faccia del mondo non sarà sufficiente a soddisfare i requisiti dell’implementazione. - Il supporto per più utenti è piuttosto limitato.
L’assistenza limitata che FHE fornisce a molti utenti è il secondo svantaggio di questo prodotto. È importante tenere presente che il funzionamento di qualsiasi crittosistema FHE inizia con la creazione di un database che serve non solo come base per il calcolo, ma anche come chiave per decifrare i risultati del calcolo. Infatti, se qualcuno può accedere a questo database, allora può anche scoprire il risultato di qualsiasi calcolo in chiaro una volta che è stato criptato, e quindi la sicurezza del database dipende dalla sicurezza di questo database. Ora, affinché il fornitore del sistema crittografico omomorfico possa garantire la sicurezza di questo database, una strategia che potrebbe attuare è quella di creare database individuali per ogni utente. D’altra parte, se il numero di utenti è elevato, potrebbe non essere praticabile o pratico avere un database separato per ciascuno di essi.Per questo motivo, alcuni studiosi stanno concentrando i loro sforzi sullo sviluppo di crittosistemi FHE a più chiavi. Tuttavia, questo rimarrà un ostacolo sostanziale alla diffusione di FHE fino a quando non saranno implementate le tecnologie sopra citate.
Queste limitazioni sono le ragioni principali per cui FHE non ha ancora raggiunto un’adozione diffusa come forma standard di crittografia. Ciononostante, i ricercatori si stanno impegnando a fondo per migliorarle entrambe, in modo che FHE possa diventare la tecnica di crittografia preferita negli anni a venire.
A che punto siamo con lo sviluppo e la diffusione
Avete appena esaminato le limitazioni imposte dalla FHE ed è ormai evidente che non è possibile implementare efficacemente questo tipo di crittografia. Ciononostante, non è esatto affermare che non esistono applicazioni di questo tipo in tutto il mondo.Importanti aziende tecnologiche come Microsoft, IBM e Google si stanno impegnando a fondo per accelerare lo sviluppo di FHE in modo che possa diventare la tecnica di crittografia standard in un futuro non troppo lontano.Hanno sviluppato diverse implementazioni di FHE, tra cui le seguenti:
- Microsoft ha sviluppato una libreria nota come Simple Encrypted Arithmetic Library (SEAL). Questa libreria può essere utilizzata per consentire l’esecuzione di calcoli direttamente su dati criptati.
- Private Join and Compute è uno strumento prodotto da Google, open-source, che offre un’analisi dei dati in formato criptato. Private Join and Compute è stato sviluppato da Google.
- Libreria HElib C++:È quella trattata nella sezione precedente.Anche se è stata introdotta da IBM nel 2016, gli utenti hanno segnalato che ora funziona a una velocità molto bassa.
L’ultima parolaI sistemi di crittografia completamente omomorfi possono, al momento, essere soggetti ad alcuni vincoli. Tuttavia, i ricercatori che lavorano nell’industria informatica si stanno impegnando molto per rimuovere questi vincoli.
Non c’è ombra di dubbio sul fatto che FHE sarà probabilmente il gold standard per la crittografia negli anni a venire. Dovreste tenere d’occhio la sua crescita e, quando diventerà realisticamente utile per la vostra azienda, dovreste esaminare la possibilità di utilizzarlo il prima possibile.
*NB: Le riflessioni e le analisi condivise sono da intendere ad esclusivo scopo divulgativo. Quanto esposto non vuole quindi essere un consiglio finanziario o di investimento e non va interpretato come tale. Ricorda sempre che le scelte riguardo i propri capitali di rischio devono essere frutto di ricerche e analisi personali. L’invito è pertanto quello di fare sempre le proprie ricerche in autonomia.