Dietro le quinte: panoramica dell'architettura
Dropbox è stato progettato con più livelli di protezione, inclusi il trasferimento sicuro dei dati, la crittografia, la configurazione di rete e controlli a livello di applicazione, che sono distribuiti attraverso un'infrastruttura sicura e scalabile.
Infrastruttura dei file
Gli utenti di Dropbox possono accedere a file e cartelle in qualsiasi momento da diverse interfacce, tra cui i client desktop, web e mobili, o tramite le applicazioni di terze parti collegate a Dropbox. Tutte le interfacce hanno impostazioni e caratteristiche di sicurezza che elaborano e proteggono i dati degli utenti assicurando al contempo la facilità di accesso. Tutti questi client si collegano a server sicuri per consentire l'accesso ai file, permettere la condivisione dei file con altri utenti e aggiornare i dispositivi collegati quando i file vengono aggiunti, modificati o eliminati.
La nostra infrastruttura dei file comprende i seguenti componenti:
Server di metadati
Alcune informazioni di base sui dati dell'utente, chiamate metadati, vengono conservate in un servizio di archiviazione separato che funge da indice per i dati degli account degli utenti. I metadati includono informazioni di base su account e utenti, come indirizzo email, nome e nomi dei dispositivi. I metadati includono anche informazioni di base sui file, ad esempio i nomi e i tipi di file, che consentono di supportare funzioni quali la cronologia delle versioni, il ripristino e la sincronizzazione.
Database di metadati
Tutti i metadati dei file vengono archiviati in un servizio di database basato su MySQL, che viene frammentato e replicato secondo necessità per rispondere ai requisiti relativi a prestazioni ed elevata disponibilità.
Server a blocchi
A livello di progettazione, Dropbox fornisce un meccanismo di sicurezza unico, che va oltre la tradizionale crittografia per proteggere i dati degli utenti. I server a blocchi elaborano i file dalle applicazioni Dropbox dividendoli in blocchi, criptando ciascun blocco di file utilizzando un codice robusto e sincronizzando soltanto i blocchi che sono stati modificati tra una revisione e l'altra. Quando un'applicazione Dropbox rileva un nuovo file o una modifica a un file esistente, l'applicazione invia una notifica ai server a blocchi. I blocchi di file nuovi o modificati sono quindi elaborati e trasferiti ai server di archiviazione a blocchi . I server a blocchi, inoltre, vengono utilizzati per distribuire file e anteprime.
Server archiviazione a blocchi
I contenuti effettivi dei file degli utenti vengono archiviati in blocchi crittografati all'interno dei server di archiviazione a blocchi. I contenuti effettivi dei file degli utenti vengono archiviati in blocchi crittografati all'interno dei server di archiviazione. Prima della trasmissione, il cliente Dropbox suddivide i file in blocchi per prepararli per l'archiviazione. I server di archiviazione a blocchi funzionano come un sistema Content-Addressable Storage (CAS), in cui ogni singolo blocco del file crittografato viene recuperato sulla base del suo valore hash.
Server di anteprime
I server di anteprima servono per produrre le anteprime dei file. Le anteprime consistono in un rendering dei file di un utente in un formato file diverso, più adatto a una visualizzazione rapida sul dispositivo dell'utente finale. I server di anteprime recuperano i blocchi di file dai server di archiviazione a blocchi per generare le anteprime. Quando viene richiesta l'anteprima di un file, i server di anteprime recuperano l'anteprima memorizzata nella cache dai server di archiviazione di anteprime e la trasferiscono al server a blocchi. Le anteprime vengono infine mostrate agli utenti tramite i server a blocchi.
Server di archiviazione di anteprime
Le anteprime memorizzate nella cache vengono archiviate in un formato crittografato nei server di archiviazione delle anteprime.
Servizio di notifica
Questo è un servizio separato dedicato al monitoraggio delle modifiche agli account Dropbox. Qui non vengono archiviati né trasferiti dati di file o metadati. Ogni cliente stabilisce una connessione long poll con il servizio di notifica e attende. Quando viene apportata una modifica a un file di Dropbox, il servizio di notifica informa i clienti pertinenti dell'avvenuta modifica chiudendo la connessione long poll. La chiusura della connessione segnala al cliente che deve collegarsi in modo sicuro al server di metadati per sincronizzare le modifiche.
Infrastruttura di Dropbox Paper
Gli utenti di Dropbox possono accedere i documenti di Paper in qualsiasi momento da client, web e mobili o tramite le applicazioni di terze parti collegate all'app di Dropbox Paper. Tutti questi client si collegano a server sicuri per consentire l'accesso ai documenti di Paper, permettere la condivisione dei documenti con altri utenti e aggiornare i dispositivi collegati quando i documenti vengono aggiunti, modificati o eliminati.
L'infrastruttura di Dropbox Paper comprende i seguenti componenti:
Application server di Paper
Gli application server di Paper elaborano le richieste degli utenti, eseguono il rendering dell'output dei documenti di Paper modificati per l'utente ed eseguono servizi di notifica. Gli application server di Paper scrivono le modifiche degli utenti nei database di Paper, che sono disposti in uno spazio di archiviazione persistente. Le sessioni di comunicazione tra gli application server di Paper e i database di Paper vengono crittografati con un codice robusto.
Database di Paper
I contenuti effettivi dei documenti di Paper degli utenti, così come determinati metadati relativi a tali documenti, vengono crittografati in uno spazio di archiviazione persistente nei database di Paper. Tali contenuti comprendono informazioni su un documento di Paper (ad esempio titolo, iscrizioni e autorizzazioni condivise, associazioni di progetti e cartelle e altre informazioni), nonché contenuti all'interno del documento di Paper stesso, compresi commenti e attività. I database di Paper vengono condivisi e replicati secondo le necessità per rispondere ai requisiti relativi a prestazioni ed elevata disponibilità.
Server di metadati
Paper utilizza gli stessi server di metadati descritti nel diagramma dell'infrastruttura Dropbox per elaborare le informazioni sui documenti Paper, come la cronologia delle revisioni dei documenti Paper e la partecipazione alle cartelle condivise. Dropbox gestisce direttamente i server di metadati, che sono ubicati in data center di terze parti condivisi.
Database di metadati
Paper usa gli stessi database dei metadati descritti nel diagramma dell'infrastruttura Dropbox per memorizzare le informazioni relative ai documenti Paper, quali condivisioni, autorizzazioni e associazioni di cartelle. Tutti i metadati dei file vengono archiviati in un servizio di database basato su MySQL, che viene frammentato e replicato secondo necessità per rispondere ai requisiti relativi a prestazioni ed elevata disponibilità.
Server di archiviazione di immagini di Paper
Le immagini caricate nei documenti di Paper vengono archiviate e crittografate nei server di archiviazione di immagini di Paper. La trasmissione di dati delle immagini tra l'applicazione di Paper e i server di immagini di Paper avviene in una sessione crittografata.
Server di anteprime
I server di anteprime forniscono un'anteprima sia delle immagini caricate su documenti di Paper, sia dei collegamenti ipertestuali incorporati nei documenti di Paper. Per le immagini caricate in documenti di Paper, il server di anteprime recupera i dati dell'immagine memorizzati nei server di archiviazione per le immagini di Paper tramite un canale crittografato. Per i collegamenti ipertestuali incorporati nei documenti di Paper, il server di anteprime recupera i dati dell'immagine ed esegue il rendering di un'anteprima dell'immagine tramite crittografia, come specificato dal collegamento di origine. Le anteprime vengono infine mostrate agli utenti tramite i server a blocchi.
Server di archiviazione delle anteprime
I server di archiviazione delle anteprime di Paper utilizza gli stessi server di archiviazione di anteprima descritti nel diagramma dell'infrastruttura di Dropbox per archiviare le anteprime delle immagini salvate nella cache. Le anteprime memorizzate nella cache vengono archiviate in un formato crittografato nei server di archiviazione delle anteprime.
Team interni dedicati ed esperti di sicurezza indipendenti proteggono questi servizi identificando e correggendo rischi e vulnerabilità. Questi gruppi eseguono test e audit periodici su applicazioni, rete e altre funzioni per garantire la sicurezza della nostra rete di back-end. Inoltre, le nostre norme sulla divulgazione responsabile promuovono la scoperta e la segnalazione delle vulnerabilità della sicurezza.
Data center
I sistemi aziendali e di produzione di Dropbox sono ospitati in data center di organizzazioni di sub-servizi di terze parti e provider di servizi gestiti terzi, ubicati negli Stati Uniti. Questi provider di servizi terzi sono responsabili dei controlli di sicurezza fisici, ambientali e operativi dei confini dell'infrastruttura di Dropbox. Dropbox è responsabile della sicurezza logica, di rete e applicativa della nostra infrastruttura ospitata in data center di terze parti.
Crittografia
I file di Dropbox e i documenti di Dropbox Paper archiviati sono crittografati con Advanced Encryption Standard (AES) a 256 bit. Per proteggere i dati in transito tra le app Dropbox (al momento, desktop, dispositivi mobili, API e Web) e i nostri server, Dropbox utilizza la tecnologia Secure Sockets Layer (SSL)/Transport Layer Security (TLS) per il trasferimento dei dati, creando un tunnel sicuro protetto da crittografia Advanced Encryption Standard (AES) a 128 bit o superiore. Allo stesso modo, i dati in transito tra un cliente Paper (mobile, API o web) e il servizio in hosting è crittografato mediante SSL/TLS.
Pinning dei certificati
Dropbox utilizza il pinning dei certificati sui nostri client per desktop e dispositivi mobili per la sincronizzazione e condivisione dei file. Il pinning dei certificati è un controllo aggiuntivo per garantire che i nostri clienti si connettano solo ai server con certificati digitali da un elenco autorizzato di autorità di certificazione. Lo utilizziamo per difenderci da aggressori di stati-nazione al controllo di un'autorità di certificazione non autorizzata, nonché da malware locali che potrebbero dirottare le tue connessioni.
Forward secrecy perfetta
Per i punti finali che controlliamo (desktop e dispositivi mobili) e i browser più recenti, utilizziamo un solido algoritmo di cifratura e supportiamo la forward secrecy perfetta. Abbiamo implementato la forward secrecy perfetta per impedire che la chiave privata del certificato possa essere utilizzata per decrittare il traffico Internet passato. Questa funzione aggiunge ulteriore protezione alle comunicazioni crittografate con Dropbox. In pratica scollega ciascuna sessione da tutte le sessioni precedenti. Inoltre, sul Web contrassegniamo tutti i cookie di autenticazione come sicuri e abilitiamo la HTTP Strict Transport Security (HSTS).
Infrastruttura di gestione delle chiavi
L'infrastruttura di gestione delle chiavi di Dropbox è progettata con controlli di sicurezza operativi, tecnici e procedurali che prevedono un accesso diretto molto limitato alle chiavi. La generazione, lo scambio e l'archiviazione di chiavi sono distribuiti per decentralizzare l'elaborazione.
Dropbox gestisce la crittografia dei file per conto degli utenti per rimuovere la complessità, supportare funzionalità avanzate dei prodotti e consentire un robusto controllo crittografico. Le chiavi di crittografia dei file vengono create, archiviate e protette mediante controlli di sicurezza dell'infrastruttura del sistema di produzione e norme di sicurezza. L'accesso ai sistemi di produzione è limitato mediante coppie di chiavi SSH uniche. Le norme e le procedure di sicurezza richiedono la protezione delle chiavi SSH. Un sistema interno gestisce il processo protetto di scambio di chiavi pubbliche e le chiavi private vengono memorizzate in modo sicuro.
Per ulteriori dettagli sulle nostre funzionalità relative al controllo e alla visibilità, consulta il Libro bianco sulla sicurezza di Dropbox.