26 febbraio 2021 6 min di lettura

Il Sacro Graal della crittografia

La necessità di proteggere i dati da accessi non autorizzati è ormai comune nel mondo digitale: l'uso della crittografia non serve solo a proteggere le comunicazioni militari ma più in generale per proteggere i dati digitali nella loro complessità.

Le informazioni che risiedono nei computer e in altri dispositivi elettronici o che passano attraverso le reti sono considerate un vero e proprio bene di immenso valore economico, capace di attirare più di un interesse illecito (ad esempio il furto di identità, gli attacchi informatici, ecc.).
La crittografia ha reso più efficace la protezione dei dati, ma ha ancora una grande e comune debolezza: i dati criptati che risiedono su una macchina di calcolo devono sempre essere decifrati prima di poter essere elaborati e analizzati, diventando così visibili alla macchina che li elabora e a tutti coloro che controllano quella macchina.

 

Cos'è la crittografia omomorfica e perché dovresti usarla per proteggere i tuoi dati sensibili

Per risolvere il problema di elaborare dati criptati senza doverli prima decifrare (e quindi renderli vulnerabili), gli informatici e i matematici hanno lavorato a lungo sulla crittografia omomorfica, un concetto introdotto per la prima volta da Rivest, Adleman e Dertouzos nel 1978. L'aggettivo "omomorfico" indica uno schema crittografico che permette di effettuare calcoli direttamente su dati criptati senza doverli prima decifrare. In altre parole, eseguendo un'operazione su due dati cifrati si ottiene un risultato cifrato che se decifrato è uguale al risultato che si otterrebbe eseguendo la stessa operazione sui due dati non cifrati.

 

La forza della crittografia omomorfica

È evidente: chiunque debba delegare il trattamento di dati sensibili ad altre entità (come spesso accade, ad esempio, con i servizi di Machine Learning sul Cloud) può farlo senza doverli decifrare e renderli visibili ad un'entità terza.

 

Crittografia parzialmente e completamente omomorfica

La crittografia omomorfica può essere "parzialmente omomorfica" (Partially Homomorphic Encryption) che - come ad esempio lo schema Paillier - supporta l'aggiunta di valori cifrati e la moltiplicazione di un valore cifrato con uno scalare in chiaro, oppure può essere "totalmente omomorfica" (Fully Homomorphic Encryption), quindi molto più sicura.

Il primo schema di crittografia totalmente omomorfico (FHE) è stato sviluppato dal ricercatore americano Craig Gentry nel 2009. Uno schema FHE supporta operazioni scelte arbitrariamente (permette un numero illimitato di operazioni di addizione e moltiplicazione) ed è quindi più potente di un cosiddetto schema PHE che supporta solo l'aggiunta o la moltiplicazione dei dati (o XOR e AND come operazioni logiche), ma non entrambe allo stesso tempo.

crittografia_omomorfica

Attualmente molte pubblicazioni propongono nuovi primitivi crittografici e nuovi protocolli utilizzando strutture matematiche come le "curve ellittiche" e lo schema completamente omomorfico di Craig Gentry è stato poi definito dai suoi critici come troppo lento e complesso per essere realmente utilizzato nel Cloud. La crittografia comporta calcoli complessi che a loro volta richiedono tempo per essere eseguiti rallentando la velocità dei processi: l'idea di base è che una crittografia più veloce non appesantisca i servizi e che quindi i web provider potrebbero utilizzarla per tutti i dati che passano attraverso Internet.

 

Una nuova era per la crittografia omomorfica?

Nel febbraio 2016, i ricercatori di 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.

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 FHE sarebbe soprattutto il Cloud che troverebbe un efficace sistema di protezione dei dati e la soluzione a importanti problemi di privacy si pensi ad esempio, in campo medico, alle analisi basate sul Cloud eseguite dai ricercatori su dataset di sequenze di DNA, ai campi governativi e di e-voting così come ad eventuali algoritmi di machine learning proprietari che devono essere eseguiti su una infrastruttura di terze parti.