Vai al contenuto
HexaTransfer
Torna al blog
Approfondimenti tecnici

Zero-Knowledge Proof in Trasferimento file Systems

Esplora how zero-knowledge proofs enhance file transfer privacy. Verify file integrity without exposing contents to intermediaries.

Il Garante per la protezione dei dati personali ha chiarito che il GDPR si applica a qualsiasi dato personale trasmesso tramite servizi di terze parti, inclusi i provider di trasferimento file. Le prove a conoscenza zero (ZKP) offrono una risposta tecnica concreta: dimostrare la validità di un'affermazione senza rivelare i dati sottostanti. Formalizzate da Goldwasser, Micali e Rackoff nel 1985 e oggi pratiche grazie a zk-SNARKs (Groth16, PLONK) e zk-STARKs, le ZKP stanno passando dalle criptovalute ai sistemi di trasferimento file privacy-preserving.

Cosa Significa "Zero-Knowledge" nel Trasferimento File

Due accezioni si sovrappongono nel mercato. La prima è quella crittografica formale: un protocollo interattivo o non-interattivo che prova la conoscenza di un witness senza rivelarlo, definito dall'euristica di Fiat-Shamir e dalle moderne costruzioni zk-SNARK come Groth16 (2016) e PLONK (2019). La seconda è quella commerciale: il provider di servizi non può decifrare i dati utente perché non possiede le chiavi, come avviene con Proton, Tresorit e Sync.com. Entrambe sono valide, ma risolvono problemi diversi. L'accezione commerciale è essenzialmente crittografia end-to-end lato client; quella crittografica apre flussi di lavoro impossibili con la sola E2EE.

Prove di Integrità dei File Senza Divulgazione

Immaginate uno scenario di discovery legale. La parte rispondente consegna file cifrati e vuole dimostrare la completezza, che nulla è stato omesso, senza rivelare i contenuti. Un impegno su albero di Merkle combinato con una prova a conoscenza zero può dimostrare che ogni file in un indice concordato è presente, hashato correttamente e cifrato con la chiave condivisa. Il destinatario verifica la prova in millisecondi senza vedere i contenuti fino alla decifratura. Strumenti costruiti su Halo 2, Circom e Plonky2 permettono ai circuiti che esprimono queste affermazioni di girare lato client nel browser tramite compilazione WebAssembly.

Divulgazione Selettiva per la Conformità Normativa

Un medico che invia lo studio DICOM di un paziente per una seconda opinione potrebbe voler dimostrare, senza rivelare l'identità, di essere un medico abilitato presso un ente coperto dal GDPR. Una prova di credenziale a conoscenza zero usando il W3C Verifiable Credentials Data Model v2.0 con firme BBS+ può farlo. Il destinatario verifica le credenziali del mittente senza vederne il nome o l'istituzione. Lo stesso schema si applica alla conformità per il controllo delle esportazioni: dimostrare che il paese di destinazione del file è approvato senza divulgare il file o l'esatta destinazione, utile per i flussi di controllo ITAR o EAR privacy-preserving.

Proof-of-Upload Senza Fiducia nel Server

Un problema comune nel trasferimento file: il mittente carica un file, il server dichiara di averlo ricevuto, ma come può il mittente dimostrare lato server cosa è stato effettivamente memorizzato? I protocolli basati su proof-of-retrievability (PoR) e proof-of-data-possession (PDP), formalizzati da Juels-Kaliski (2007) e Ateniese et al. (2007), permettono al server di dimostrare di detenere il file completo rispondendo a sfide casuali con prove crittografiche. Lo storage decentralizzato come Filecoin usa questi meccanismi per dimostrare che i provider di storage detengono i dati dichiarati. Per un servizio di trasferimento centralizzato, PoR dà al mittente sicurezza senza fiducia nei log di audit.

Private Set Intersection per la Deduplicazione

I servizi di trasferimento file deduplicano spesso i file identici lato server per risparmiare storage. Fatto ingenuamente, questo perde informazioni: due utenti che caricano lo stesso file si scoprono a vicenda. I protocolli Private Set Intersection (PSI) usando oblivious pseudorandom functions (OPRF) o cifratura con filtri di Bloom permettono al server di rilevare duplicati crittograficamente mentre nessuna delle parti né il server apprende quali file specifici corrispondevano. Le librerie PSI come APSI di Microsoft e l'implementazione PSI di Google girano nel browser via WASM. Questo conta per i sistemi E2EE dove la deduplicazione lato server altrimenti romperebbe il modello di minaccia.

Dimostrare la Conformità alle Policy Senza Rivelare il Contenuto

I sistemi di trasferimento enterprise eseguono spesso scansioni DLP (Data Loss Prevention) per bloccare upload contenenti codici fiscali, numeri di carta di credito o marchi proprietari. Una prova ZK di DLP permetterebbe al mittente di dimostrare: "Questo file non contiene stringhe a 16 cifre corrispondenti a pattern Luhn-validi di carte di credito", senza rivelare il file al server DLP. I circuiti in Circom o Noir possono esprimere questi controlli. Le prestazioni sono il collo di bottiglia: dimostrare che un file da 100 MB soddisfa una policy complessa può richiedere minuti e produrre prove di megabyte. La ricerca su GKR e gli schemi di folding come Nova (2022) stanno riducendo significativamente i tempi di dimostrazione.

zk-SNARKs vs. zk-STARKs per i File

I zk-SNARKs (Succinct Non-interactive Arguments of Knowledge) come Groth16 e PLONK producono prove minuscole (200-500 byte) verificabili in millisecondi ma richiedono una cerimonia di setup fidato. I zk-STARKs (Scalable Transparent Arguments of Knowledge), usati nei sistemi di produzione di StarkWare, non richiedono setup fidato e si basano solo su funzioni hash, rendendoli sicuri post-quantum, ma le prove sono più grandi (50 KB - svariati MB). Per il trasferimento file, le prove SNARK si adattano bene agli header HTTP o ai piccoli campi di metadati, mentre le prove STARK sono più voluminose ma evitano assunzioni di fiducia. I sistemi pratici spesso mescolano entrambi a seconda della proprietà da dimostrare.

Budget di Prestazioni per la Generazione di Prove nel Browser

Generare una prova che un file da 1 MB corrisponde a un hash specifico richiede circa 100 ms - 2 secondi in un browser usando Halo 2 o snarkjs compilato in WASM, a seconda della dimensione del circuito e del dispositivo. Per le prove di integrità al momento del trasferimento, questo è accettabile. Per affermazioni più complesse come la conformità alle policy su file di grandi dimensioni, la generazione della prova potrebbe richiedere l'offload a un server o l'esecuzione in worker in background usando OffscreenCanvas e Service Workers. La Web Crypto API gestisce le primitive hash standard a velocità nativa, ma i circuiti ZK personalizzati pagano ancora l'overhead di interpretazione WASM.

Pattern di Integrazione con la E2EE Esistente

Le ZKP si stratificano bene sopra la E2EE piuttosto che sostituirla. Un pattern tipico: il mittente cifra il file con AES-256-GCM, calcola un hash SHA-256 del plaintext e genera una prova che si impegna su quell'hash. Il server memorizza il ciphertext, l'impegno e la prova. Il destinatario recupera tutti e tre, decifra, rihasha il plaintext e verifica la prova. Questo rileva le manomissioni e fornisce anche un'asserzione di integrità trasferibile che il destinatario può mostrare a terzi, come il Garante per la protezione dei dati personali o l'ACN, senza rivelare il file. HexaTransfer usa crittografia end-to-end AES-256-GCM per gestire il modello di minaccia comune senza la complessità dei circuiti ZKP.

Dove le ZKP si Adattano Oggi e Dove No

Oggi le ZKP si adattano bene per asserzioni compatte di integrità e autenticità, deduplicazione senza divulgazione e accesso basato su credenziali agli endpoint di trasferimento. Non si adattano ancora ai controlli di contenuto general-purpose su file di grandi dimensioni: i tempi di dimostrazione e le dimensioni delle prove non sono ancora adeguati. I progetti che implementano ZKP nei flussi di file includono Iden3 e Polygon ID per la verifica delle credenziali, Aleo per lo stato privato degli smart contract e Mina Protocol per lo stato blockchain succinto. Le implementazioni specifiche per file sono ancora a livello di ricerca ma in progressione. Si prevede che le prime funzionalità di trasferimento file ZK in produzione arriveranno tra il 2027 e il 2028, probabilmente iniziando con le prove di integrità e la deduplicazione basata su PSI piuttosto che la piena conformità alle policy.

Scopri come funziona la crittografia end-to-end applicata al trasferimento file su https://hexatransfer.com — gratuito, senza account, massimo 10 GB.

Invia file di grandi dimensioni in modo sicuro con crittografia end-to-end

Trasferisci file fino a 10 GB gratuitamente con crittografia end-to-end. Nessun account necessario. I tuoi file vengono crittografati nel browser prima del caricamento — nessun altro può leggerli.

Invia un file