Il blog di Goodcode | Software house in Ticino

Crittografia omomorfica: applicazioni al Cloud computing

Scritto da Admin | 26 apr 2022

Uno dei problemi principali della crittografia omomorfica è la velocità di esecuzione; recentemente Microsoft sembra aver raggiunto ottimi risultati in questa sfida ma i prossimi anni ci diranno se gli algoritmi FHE troveranno piena e universale implementazione nelle piattaforme Cloud.

 

I servizi web e il Cloud computing possono trovare nella crittografia omomorfica PHE uno strumento molto valido per la protezione dei dati. Poter elaborare informazioni nel Cloud senza doverle decifrare renderebbe l'intero processo molto più sicuro: l'utente potrebbe inviare una richiesta criptata al server Cloud per eseguire qualche operazione (ad esempio una query di ricerca) sui dati criptati PHE e ottenere un risultato criptato da decriptare successivamente con la propria chiave.

La crittografia omomorfica: il futuro delle tecniche crittografiche

Recentemente, nel febbraio 2016, i ricercatori Microsoft in collaborazione con il mondo accademico hanno pubblicato un documento (CryptoNets: Applying Neural Networks to Encrypted Data with High Throughput and Accuracy) dove sostengono di aver velocizzato la crittografia omomorfica.

Lo schema originale di Gentry, infatti, era 100 trilioni di volte più lento nell'eseguire calcoli su dati criptati che su dati non criptati, IBM ha migliorato notevolmente le prestazioni rendendo i calcoli 2 milioni di volte più veloci, ma ora è Microsoft che sostiene di aver fatto grandi passi in termini di velocità. I ricercatori hanno sviluppato un'intelligenza artificiale chiamata CryptoNets, una rete neurale, capace di elaborare dati criptati senza bisogno di decifrarli. Il documento spiega anche come la tecnologia può essere applicata al Cloud per elaborare dati criptati senza la necessità di una chiave di decifrazione.

La crittografia omomorfica rappresenta il futuro delle tecniche crittografiche perché permette di eseguire operazioni su dati crittografati senza la necessità di decifrarli. A trarre vantaggio dagli schemi PHE sarebbe soprattutto il Cloud che troverebbe un efficace sistema di protezione dei dati e la soluzione a importanti problemi di privacy. Si pensi, per esempio, in campo medico, alle analisi basate sul Cloud eseguite dai ricercatori su dataset di sequenze di DNA. Uno dei principali problemi della crittografia omomorfica sembra essere, per l'appunto, la velocità di esecuzione. Nonostante recentemente Microsoft sembri aver raggiunto ottimi risultati in questa sfida, saranno i prossimi anni a dirci se gli algoritmi PHE troveranno piena e universale implementazione nelle piattaforme Cloud.

La crittografia omomorfica permette all'utente di inviare i due valori cifrati, quindi il server somma i valori cifrati e invia i risultati all'utente. L'utente può quindi decodificare il risultato per ottenere la somma dei valori originali. In altre parole, nella crittografia omomorfica, la somma dei valori crittografati è la crittografia della somma dei valori originali.


CryptoNet: l'IA che elabora i dati crittografati senza decifrarli

Una CryptoNet è una rete neurale che lavora con dati codificati in modo omomorfico per produrre un risultato codificato. 

L'innovazione consiste nell'abbinare accuratamente le caratteristiche della crittografia omomorfica alla rete neurale e viceversa. La crittografia omomorfica funziona effettivamente con i polinomi, cioè codifica un polinomio. Finché la rete neurale lavora solo con i polinomi, l'elaborazione si può ottenere più velocemente usando le istruzioni SIMD.

In questo caso, sono stati utilizzati polinomi fino a 8191 per confezionare immagini in lotti di 8192. Il database MNIST di cifre scritte a mano è stato usato per addestrare la rete. È stato utilizzato un set di allenamento di 50.000 immagini e la rete ha raggiunto il 99% di accuratezza sui restanti 10.000 casi di test. Ogni immagine è 28x28 e le 8191 immagini possono essere codificate in 122 secondi. La rete può essere applicata in 570 secondi su un PC con 16 GB di RAM e uno Xeon E5 che gira a 3,5 GHz. Il risultato viene decrittato in 5 secondi. Questo dà un throughput totale di 77236 immagini all'ora, che è abbastanza pratico per un servizio commerciale.

Reti neurali e crittografia omomorfica: il match funziona?

L'idea di mescolare la complessità computazionale delle reti neurali e la crittografia omomorfica sembra un non-starter, ma i risultati iniziali sono incoraggianti. È possibile addestrare e utilizzare una rete neurale con dati criptati senza decifrarli prima.

Al momento è difficile dire se questa tecnologia stia andando da qualche parte. Non è chiaro quanto sia grande, o quanto potrebbe esserlo, la domanda di Machine Learning come servizio. Inoltre, non è chiaro quanto spesso i problemi di sicurezza dei dati renderebbero questo approccio desiderabile.

Sono ancora tante le domande legate al Machine Learning da qualsiasi punto di vista. Non è un segreto, tuttavia, che sia ormai uno strumento concreto di cui le aziende di diversi ambiti possono beneficiare per snellire i propri processi interni e ottimizzare i flussi di lavoro. La crittografia omomorfica, unita alle reti neurali, è uno strumento aggiuntivo non solo per massimizzare l'efficacia dei processi, ma anche per garantire la loro maggiore sicurezza e una migliore protezione dei dati.

Noi di GoodCode ci impegniamo per essere sempre aggiornati sulle ultime tecniche e su tutti gli sviluppi di Machine Learning e Artificial Intelligence, sviluppando software all'avanguardia che possano accompagnare la tua azienda nel suo percorso di trasformazione digitale. Hai delle domande? Contattaci.