Saltar al contenido principal
it/blog/chat-control/criptografia-homorfica/

Crittografia omomorfica — Promesse, limiti e finzione nel rilevamento di CSAM

Di Xscriptor — Óscar Preciado7 min di lettura
TecnologiaCrittografiaPrivacyRicercaFHEcrittografia omomorficacrittografiaprivacyscansioneCSAMChat ControlXscriptorÓscar Preciado
Crittografia omomorfica — Promesse, limiti e finzione nel rilevamento di CSAM

Se puoi calcolare su dati crittografati senza decifrarli, hai la crittografia omomorfica. Se puoi farlo alla scala di WhatsApp, hai un miracolo. E i miracoli non sono una base solida per la legislazione.



Nel dibattito su Chat Control, la crittografia completamente omomorfica (FHE, dall'inglese) appare frequentemente come la soluzione tecnica che permetterebbe di conciliare scansione e privacy. L'idea è seducente: un server potrebbe eseguire un classificatore di CSAM su messaggi crittografati senza decifrarli, ottenendo solo un risultato binario —"sospetto" o "non sospetto"— senza accedere al contenuto.

La promessa è reale. La fattibilità pratica, tuttavia, è un'altra storia.

Cos'è la crittografia omomorfica?

Uno schema di crittografia omomorfica permette di eseguire operazioni aritmetiche su dati crittografati. Formalmente:

Dato un crittogramma E(m1)=c1E(m_1) = c_1 e E(m2)=c2E(m_2) = c_2, esiste un'operazione \oplus tale che:

c1c2=E(m1m2)c_1 \oplus c_2 = E(m_1 \circ m_2)

dove \circ è un'operazione aritmetica (somma o moltiplicazione) sui testi in chiaro.

Tipi

Tipo Operazioni Esempio Prestazioni
PHE (Parziale) Solo somma o solo moltiplicazione RSA (moltiplicativo), Paillier (additivo) ~1-10× più lento
SHE (Un po' omomorfico) Somma e moltiplicazione con limiti BGV, BFV ~10³-10⁶× più lento
FHE (Completamente omomorfico) Somma e moltiplicazione illimitate CKKS, Gentry, TFHE ~10⁶-10⁹× più lento

La differenza cruciale tra SHE e FHE è il bootstrapping: una tecnica che "ravviva" il rumore accumulato nella crittografia dopo ogni operazione, consentendo calcoli arbitrariamente profondi. Senza bootstrapping, il rumore cresce con ogni operazione fino a rendere il messaggio indecifrabile.

Crittografia FHE:  m → E(m) → [rumore iniziale = ε]
Somma:             E(m₁) ⊕ E(m₂) → E(m₁+m₂) → [rumore ≈ 2ε]
Moltiplicazione:   E(m₁) ⊗ E(m₂) → E(m₁·m₂) → [rumore ≈ ε²]
Bootstrapping:     E(m) → E(E(m)) → decifratura omomorfica → E(m) pulito

Il problema delle prestazioni

L'ostacolo fondamentale dell'FHE sono le prestazioni. Le operazioni su dati crittografati sono tra 6 e 9 ordini di grandezza più lente che su testo in chiaro. Per farsi un'idea:

Operazione Testo in chiaro FHE (stima 2026) Fattore
Somma di 2 interi a 32 bit ~0.3 ns ~10 μs 30.000×
Moltiplicazione di 2 interi ~0.5 ns ~1 ms 2.000.000×
Confronto (> / <) ~0.3 ns ~10 ms 30.000.000×
Classificatore CNN (un'immagine) ~1 ms ~10⁶-10⁹ s Imp fattibile
Rete neurale completa (inferenza) ~10 ms ~10⁷-10¹⁰ s Imp fattibile

WhatsApp elabora circa 100 miliardi di messaggi al giorno (~1,16 milioni al secondo). Un classificatore FHE per una singola immagine richiederebbe, nel migliore dei casi, ore di calcolo. Per la scala della messaggistica globale, l'FHE è diversi ordini di grandezza più lento del necessario.

E se il classificatore fosse semplice?

Un argomento che a volte si sente è che un classificatore di CSAM non ha bisogno di essere una rete neurale complessa. Potrebbe essere un semplice confronto con un database di hash percettivi. Questo sarebbe calcolabile con FHE... in teoria.

Il problema è che il rilevamento di CSAM non è un confronto di hash. Il contenuto CSAM non è etichettato con un hash noto finché non viene identificato e segnalato. La maggior parte del materiale che i sistemi attuali rilevano è nuovo materiale non classificato precedentemente, il che richiede classificatori basati sul contenuto (reti neurali) che analizzino l'immagine o il video per determinare se contiene materiale sospetto.

Un classificatore di questo tipo richiede:

  • Vari strati convoluzionali
  • Funzioni di attivazione non lineari (ReLU, sigmoide)
  • Strati di pooling
  • Strati completamente connessi
  • Confronto con embedding

Ognuna di queste operazioni è ordini di grandezza più costosa in FHE. Le funzioni non lineari sono particolarmente problematiche perché l'FHE supporta solo operazioni aritmetiche lineari (somma, moltiplicazione), e le non linearità devono essere approssimate tramite polinomi, il che aggiunge ancora più profondità di calcolo e richiede più bootstrapping.

Il paradosso del classificatore

Anche se le prestazioni fossero risolte (diciamo, tramite hardware specializzato o progressi crittografici significativi), rimarrebbe un problema concettuale più profondo:


Per classificare contenuto crittografato come CSAM, il classificatore deve sapere cos'è CSAM. Ma per definire CSAM, il classificatore deve vedere esempi di CSAM.


Ciò significa che il classificatore —e quindi l'entità che lo addestra, aggiorna e distribuisce— contiene la conoscenza di ciò che cerca. Questa conoscenza può essere:

  • Un database di hash: che può essere ampliato per includere altri contenuti
  • Un modello di rete neurale: che può essere messo a punto per rilevare altre categorie
  • Un insieme di regole: che può essere espanso per mandato legale

La porta non è posteriore. È strutturale. Il meccanismo che permette di rilevare CSAM permette, con la stessa architettura, di rilevare qualsiasi altra cosa che l'autorità decida di includere.

FHE (ideale):     E(m) → [classificatore FHE] → sì/no
                  Nessuno vede m. Solo il verdetto.

FHE (reale):      E(m) → [classificatore FHE] → sì/no + confidenza
                  La confidenza rivela informazioni su m.
                  Se il classificatore viene aggiornato, il VERDETTO CAMBIA.
                  L'autorità può iterare classificatori su dati passati.

Quest'ultimo punto è critico e poco discusso. Se i messaggi vengono memorizzati crittografati (e la piattaforma li conserva), un futuro ordine che aggiorni il classificatore permetterebbe di riesaminare retrospettivamente tutto lo storico delle comunicazioni. L'FHE non impedisce questo: il classificatore viene eseguito sui dati crittografati memorizzati, e l'autorità ottiene nuovi verdetti senza aver mai visto il contenuto originale.

Lo stato dell'arte

A luglio 2026, l'FHE ha ottenuto progressi notevoli in laboratorio:

  • Reti neurali piccole (∼10 strati, ∼1000 neuroni): inferenza in minuti per campione
  • Confronto di hash: fattibile per database piccoli (∼10⁶ voci)
  • Bootstrapping ottimizzato: TFHE può eseguire una porta logica in ∼10 ms

Ma il divario tra ciò che è fattibile in laboratorio e ciò che richiede la messaggistica di massa rimane di diversi ordini di grandezza:

Requisito FHE 2026 Necessario per CSAR Divario
Classificare 1 immagine ~10³-10⁶ secondi < 0.1 secondi 10⁴-10⁷×
1B immagini/giorno Imp fattibile ~10⁵ immagini/secondo Insormontabile
Classificare video Anni per minuto Tempo reale Insormontabile
Privacy del classificatore Possibile Non è il problema

Conclusione tecnica

La crittografia omomorfica non è la soluzione che la Commissione Europea cerca, per tre ragioni:


  1. Prestazioni: l'FHE non può elaborare la scala della messaggistica globale con classificatori sofisticati, e non ci sono indicazioni che possa farlo nel prossimo decennio. I progressi nell'hardware accelerato (FPGA, ASIC) potrebbero ridurre il divario, ma non colmarlo.



  2. Classificazione retrospettiva: l'FHE non impedisce la riesamina storica delle comunicazioni memorizzate, creando un rischio di sorveglianza differita che la proposta non affronta.



  3. Espandibilità del classificatore: il meccanismo che permette di rilevare CSAM permette, con lo stesso progetto, di rilevare qualsiasi contenuto classificabile. L'FHE non risolve il problema della china scivolosa; lo sposta solo sul piano algoritmico.


L'FHE è una tecnologia promettente per applicazioni dove la quantità di dati è moderata e il calcolo è semplice (query a database crittografati, calcolo multiparte, privacy nei modelli di ML). Ma come base per un sistema di sorveglianza di massa obbligatoria, è una soluzione che cerca un problema che non può risolvere.


Documenti correlati: