Saltar al contenido principal
it/blog/chat-control/pruebas-conocimiento-cero/

Proof a conoscenza zero — Applicazioni e limiti nel rilevamento di CSAM

Di Xscriptor — Óscar Preciado5 min di lettura
TecnologiaCrittografiaPrivacyRicercaZKPproof a conoscenza zeroPSIintersezione privatacrittografiaprivacyCSAMChat ControlXscriptorÓscar Preciado
Proof a conoscenza zero — Applicazioni e limiti nel rilevamento di CSAM

"Posso dimostrarti che conosco la combinazione della cassaforte senza aprirla né dirti il numero."

— Questa è la promessa. Quello che non posso fare è dimostrarti che dentro la cassaforte non c'è niente di rubato senza aprirla. E questo è il problema.



Le proof a conoscenza zero (Zero-Knowledge Proofs, ZKP) sono, insieme all'FHE, l'altra grande promessa tecnica che appare nei dibattiti su Chat Control. L'idea è che un utente potrebbe dimostrare che il suo messaggio non contiene CSAM senza rivelare il contenuto del messaggio.

Sembra perfetto. Il diavolo è nei dettagli.

Cos'è una proof a conoscenza zero?

Una ZKP è un protocollo crittografico che permette a un dimostratore (prover) di provare a un verificatore (verifier) che un'affermazione è vera, senza rivelare alcuna informazione aggiuntiva oltre alla validità dell'affermazione.

Formalmente, un protocollo ZKP per un linguaggio L\mathcal{L} deve soddisfare:

  1. Completezza: se l'affermazione è vera, il dimostratore onesto convince il verificatore
  2. Solidità: se l'affermazione è falsa, nessun dimostratore disonesto può convincere il verificatore (con probabilità non trascurabile)
  3. Conoscenza zero: il verificatore non apprende nulla oltre alla validità dell'affermazione
Prover: "Ho una prova che M ∉ B (CSAM)"
                │
                │  ███████████████████████
                │  █ Protocollo ZKP ███████
                │  ███████████████████████
                │
                ▼
Verifier: ✓ "M non è in B" (senza vedere M)

Intersezione privata di insiemi (PSI)

Una variante rilevante è l'intersezione privata di insiemi (Private Set Intersection, PSI), dove due parti possono determinare l'intersezione dei loro insiemi senza rivelare gli elementi non condivisi.

Nel contesto di CSAR, l'idea sarebbe:

  • Utente: ha un insieme di messaggi M\mathcal{M}
  • Piattaforma/autorità: ha un insieme di hash di CSAM noto H\mathcal{H}
  • PSI: determina se MH\mathcal{M} \cap \mathcal{H} \neq \emptyset senza che nessuna parte riveli il proprio insieme completo
Utente: M₁, M₂, M₃, ... Mₙ
                    \
                    PSI → Intersezione non vuota? → sì/no
                    /
Autorità: h₁, h₂, h₃, ... hₖ (hash di CSAM)

Se sì → l'utente ha almeno un messaggio CSAM (ma non si sa quale)
Se no → l'utente non ha nessun messaggio CSAM

I problemi pratici

1. CSAM non noto non viene rilevato

Il PSI rileva solo corrispondenze con un database preesistente. Ma la maggior parte del CSAM che viene rilevato oggi è materiale nuovo —immagini e video che non erano in nessun database perché non erano stati segnalati in precedenza.

Un sistema basato su PSI:

  • Rileva CSAM già noto (hash esistenti)
  • Non rileva CSAM nuovo (non si può fare l'hash di ciò che non si conosce)
  • Richiede aggiornamento costante del database

2. Il classificatore non è un hash

Il rilevamento di CSAM nuovo richiede classificatori basati sul contenuto (reti neurali, embedding percettivi). Un classificatore di questo tipo non è una funzione che può essere eseguita efficientemente all'interno di una ZKP.

Le ZKP moderne (zk-SNARKs, zk-STARKs, Bulletproofs) possono provare calcoli complessi, ma il costo di generare una prova per una rete neurale di medie dimensioni rimane proibitivo:

Tipo di prova Costo di generazione Costo di verifica Applicabile a CNN
zk-SNARK O(log n) O(1) Sì, ma costo enorme
zk-STARK O(n log n) O(log² n) Sì, prove grandi
Bulletproofs O(n) O(n) Solo calcoli piccoli
PSI (ECDH) O(n) O(n log n) Solo hash

3. Il problema dell'aggiornamento

Anche se fosse fattibile eseguire un classificatore all'interno di una ZKP, rimarrebbe il problema dell'aggiornamento del classificatore. Se l'autorità può aggiornare remotamente il modello di classificazione, allora:

Istante t:    Classificatore C₁ → ZKP → "M non è CSAM"
Istante t+1:  Classificatore C₂ → ZKP → "M è CSAM" (per lo stesso M)

L'utente non può sapere se il nuovo classificatore cerca CSAM o qualsiasi altra cosa. E poiché le prove sono verificabili, l'autorità può rivalutare messaggi passati con nuovi classificatori.

4. Falsi positivi e privacy

Un falso positivo in un sistema ZKP è qualitativamente diverso da un falso positivo in un sistema tradizionale. In un sistema tradizionale, l'operatore esamina manualmente il contenuto e scarta il falso positivo. In un sistema ZKP:

  • Se la ZKP dice "CSAM rilevato", l'operatore non può esaminare il contenuto (è crittografato)
  • L'operatore deve fidarsi della ZKP o chiedere la chiave di decifratura per verificare
  • Se chiede la chiave, la ZKP diventa irrilevante
  • Se non chiede la chiave, accetta come veri tutti i verdetti del classificatore
ZKP dice "CSAM rilevato":
    ├→ Chiedere chiave → M viene decifrato → non c'è più privacy
    └→ Fidarsi della ZKP → accettare il verdetto → e se è falso positivo?

Il vicolo cieco

Le ZKP e il PSI sono strumenti crittografici potenti per problemi ben definiti:

Problema ZKP/PSI lo risolve
Dimostrare che conosci un hash senza rivelarlo Perfetto
Dimostrare che un messaggio non è in una lista di hash Fattibile
Dimostrare che un'immagine non contiene CSAM nuovo No
Classificare un'immagine con rete neurale senza rivelare nulla Tecnicamente possibile, non fattibile
Prevenire la sorveglianza retrospettiva No
Evitare l'espansione del classificatore No

La conclusione è simile a quella dell'FHE: le ZKP non possono risolvere il problema del rilevamento di CSAM in comunicazioni crittografate senza rompere la privacy, perché:

  1. Non possono rilevare materiale non catalogato (che è la maggior parte del CSAM)
  2. Non possono eseguire classificatori complessi su larga scala
  3. Non impediscono la rivalutazione retrospettiva
  4. Non risolvono il problema dell'espansione del classificatore

Il paradosso di fondo è che la crittografia può dimostrare qualsiasi cosa tranne che un contenuto che non è stato visto è sicuro. E questa è, precisamente, la dimostrazione che la legge richiede.


Documenti correlati: