Ogni volta che sviluppiamo un servizio, il nostro obiettivo è garantire che non vengano mai divulgati o esposti i tuoi dati a nessuno, noi inclusi. Questo approccio è radicalmente diverso rispetto alla maggior parte delle offerte delle Big Tech, dove la raccolta dei dati è lo scopo principale del servizio. Questo approccio significa anche che spesso dobbiamo creare nuovi framework per gestire ciò che altrimenti potrebbe sembrare una funzione semplice.
In questo articolo, spieghiamo come Proton Drive scarica i tuoi file in modo che tu li riceva rapidamente assicurandoci che le tue informazioni rimangano private e criptate, anche da noi.
Come altri servizi di archiviazione cloud scaricano i tuoi file
Prima di poter spiegare come Proton Drive scarica i tuoi file, dobbiamo osservare come la maggior parte dei servizi di archiviazione cloud scarica i file.
Nei primi giorni di internet, i server gestivano la maggior parte del “lavoro” (elaborazione dei dati, criptazione, ecc.), e le app web facevano relativamente poco oltre a trasmettere informazioni all’utente.
Con lo sviluppo di internet, le applicazioni sono diventate più complesse e hanno iniziato a gestire più elaborazioni direttamente sui dispositivi degli utenti. Sebbene ciò permetta una maggiore funzionalità, comporta anche degli svantaggi. Invece di poter utilizzare l’enorme quantità di memoria e potenza computazionale di un server in un data center, l’applicazione è limitata dalla memoria, funzionalità e potenza computazionale del dispositivo su cui è in esecuzione.
L’attuale sviluppo delle app è un equilibrio tra i compiti gestiti dal server e quelli gestiti dal client (o app).
Ciò ci porta al tuo servizio di archiviazione cloud standard. Il modo più semplice per recuperare un file criptato è:
- Far sì che il client frontend, come il tuo browser, inizi una richiesta e che il server backend se ne occupi.
- Il server backend trova i file, crea un archivio (se necessario) e invia tutto al tuo browser come download di un file.
In questo esempio, il server backend del tuo servizio di archiviazione cloud fa la maggior parte del lavoro. Il tuo browser semplicemente riceve il file.
Questo sistema, sebbene efficiente e diretto, richiede che il server possa decifrare i tuoi file. Questo semplicemente non soddisfa lo standard di privacy di Proton.
Proton Drive decifra i file localmente e non ha accesso ai tuoi dati
Il nostro focus sulla privacy significa che non vogliamo che nessun dato non criptato venga inviato ai nostri server. Di conseguenza, facciamo sì che il nostro client gestisca il lavoro computazionale che altri servizi di archiviazione cloud possono delegare ai loro server centralizzati.
Di conseguenza, il modo in cui Proton Drive recupera i file appare più complesso. Se il file che stai scaricando è di piccole dimensioni, il download su Proton Drive utilizza il seguente processo:
- Il client frontend (il tuo browser) inizia la richiesta.
- Proton Drive recupera tutti i dati correlati e li invia in stato criptato al tuo browser.
- Il tuo browser (il client) decifra i dati, li bufferizza in memoria e crea un archivio che viene poi inviato come un download classico.
In questo modo, il server di Proton non interagisce mai con dati non crittografati o con le chiavi non crittografate che ci permetterebbero di decifrare i tuoi dati. Il tuo client (il tuo browser) gestisce l’intero processo. Questa soluzione è veloce, robusta e diretta, e l’esperienza utente è quasi identica a un download standard.
Sebbene questo sistema di recupero dei file funzioni, non è scalabile. Utilizziamo questo metodo solo con file di piccole dimensioni perché la grandezza del file che puoi scaricare è limitata dalla memoria del dispositivo, che può variare da un dispositivo all’altro. Se stai cercando di scaricare 10 GB di file su un dispositivo che ha solo 8 GB di memoria, semplicemente non funzionerà.
Proton Drive “trasmette” dati crittografati per evitare i limiti di memoria
Se vuoi scaricare un file di grandi dimensioni (o molti file contemporaneamente), Proton Drive utilizza un altro metodo: una soluzione di streaming con service workers, che sono un tipo di web worker. Un web worker è una tecnologia web utilizzata per eseguire lavori in background. Permettono ai browser di elaborare dati complessi senza congelare o bloccarsi.
Un service worker è un tipo speciale di web worker che funziona anche in background, ma ha una capacità importante: può agire come un proxy, essenzialmente uno strato “intermedio” che può essere utilizzato per la memorizzazione nella cache. Come discusso in precedenza, un browser non può creare e scaricare uno stream senza memorizzare l’intero file nella memoria del dispositivo. L’utilizzo dei service workers ci permette di superare questo limite. Il processo di scaricamento di un grande file crittografato (o di molti file crittografati contemporaneamente) da Proton Drive è il seguente:
- Il client (il tuo browser) inizia la richiesta.
- Proton Drive recupera tutti i dati correlati e li invia in stato crittografato a un web worker sul tuo browser.
- Il web worker riceve ogni bit di dati, lo decifra, verifica la firma sui file, crea un archivio (se si tratta di più file) e lo invia in uno stream a un service worker. In nessun momento l’intero download viene compilato o memorizzato, quindi non importa quanta memoria ha il tuo dispositivo.
- I dati poi passano attraverso il service worker in modalità streaming e vengono inviati al tuo browser come un download standard.
Questo processo è chiaramente più complesso rispetto ai normali download di file, ma abbiamo realizzato questo ulteriore lavoro di ingegneria perché ci impegniamo per la tua privacy. L’uso di flussi di dati crittografati è una complessità aggiuntiva, ma importante perché permette a Proton Drive di gestire file molto più grandi rispetto alla maggior parte delle altre soluzioni di archiviazione cloud crittografate end-to-end. Infatti, l’unico limite alla dimensione del tuo download è la quantità di spazio di archiviazione inclusa nel tuo piano Proton Drive (e, ovviamente, la capacità di archiviazione del tuo dispositivo).
Questo sistema ha portato a un tempo di sviluppo più lungo per Proton Drive, ma consente un’esperienza utente più fluida, con un’esperienza di download virtualmente indistinguibile dai servizi di archiviazione cloud non crittografati.
Portare la sicurezza al livello successivo con le firme digitali
Con Proton Drive, non ci limitiamo a crittografare i tuoi dati — li firmiamo anche. Abbiamo diverse firme per proteggere i nostri utenti da possibili attacchi MITM, inclusi da parte nostra. Queste firme dimostrano che i dati non sono stati alterati, intercettati o sostituiti. Verificare queste firme al volo fa parte anche del processo di download in streaming.
Se scopriamo un problema, come una firma mancante o errata (che potrebbe portare a un file corrotto o è segno di un file manomesso), metteremo in pausa il download e ti mostreremo un pop-up che chiede se vuoi continuare.
Proton Drive – Un archiviazione cloud migliore per un internet migliore
Come puoi vedere, Proton Drive non utilizza semplicemente la stessa tecnologia dei servizi di cloud storage standard. Il nostro impegno a garantire che tu rimanga in controllo dei tuoi dati ad ogni passo, desiderando allo stesso tempo offrire un servizio veloce e senza interruzioni, significa che dobbiamo costruire il nostro processo da zero. Questo può rendere lo sviluppo complicato, ma è ciò che è necessario per costruire il servizio di cloud storage più sicuro e privato al mondo.
Come sempre, accogliamo con piacere i tuoi commenti e suggerimenti su Facebook(nuova finestra), Twitter(nuova finestra) o Reddit(nuova finestra),