Achter de schermen: overzicht van de architectuur
Dropbox is opgebouwd met meerdere beveiligingslagen, zoals veilige gegevensoverdracht, versleuteling, netwerkconfiguratie en controles op toepassingsniveau, die over een schaalbare, beveiligde infrastructuur zijn verspreid.
Bestandsinfrastructuur
Dropbox-gebruikers kunnen op elk gewenst moment bestanden en mappen openen via verschillende interfaces, zoals de desktoptoepassing, webtoepassing of mobiele apps, of via toepassingen van derden die aan Dropbox zijn gekoppeld. Elk van deze interfaces is voorzien van beveiligingsinstellingen en -functies die de gebruikersgegevens beschermen, maar er tegelijkertijd voor zorgen dat ze gemakkelijk toegankelijk blijven. Al deze clients zijn via beveiligde servers verbonden voor de toegang tot bestanden, het delen van bestanden met anderen en het bijwerken van gekoppelde apparaten wanneer bestanden worden toegevoegd, gewijzigd of verwijderd.
Onze bestandsinfrastructuur bestaat uit de volgende onderdelen:
Metagegevens-servers
Bepaalde basisinformatie over gebruikersgegevens, ook wel metagegevens, wordt in een afzonderlijke opslagservice bewaard en fungeert als index voor de gegevens in gebruikersaccounts. Metagegevens omvatten basisinformatie over accounts en gebruikers, zoals e-mailadressen, namen en apparaatnamen. Metagegevens omvatten ook basisinformatie over bestanden, zoals bestandsnamen en -typen, die functies als versiegeschiedenis, herstel en synchronisatie, helpt ondersteunen.
Metagegevens-databases
Metagegevens over bestanden worden opgeslagen in een MySQL-gebaseerde databaseservice en worden waar nodig gefragmenteerd en gerepliceerd om te voldoen aan de prestatie- en beschikbaarheidsvereisten.
Blokservers
Standaard biedt Dropbox een uniek beveiligingsmechanisme voor de bescherming van gebruikersgegevens dat verder gaat dan traditionele versleuteling. Blokservers verwerken bestanden van de Dropbox-toepassingen door elk bestand in blokken te verdelen, elk bestandsblok te versleutelen met een sterke coderingsmethode en alleen de blokken te synchroniseren die tussen revisies in zijn aangepast. Wanneer een Dropbox-toepassing een nieuw bestand ontdekt of detecteert dat er iets aan een bestaand bestand is gewijzigd, brengt de toepassing de blokservers op de hoogte van die verandering en worden nieuwe of aangepaste bestandsblokken verwerkt en verzonden naar de opslagservers. Daarnaast worden blokservers gebruikt om bestanden en voorbeelden naar gebruikers te sturen.
Blokopslagservers
De inhoud van bestanden van gebruikers wordt met de blokopslagservers opgeslagen in versleutelde blokken. De inhoud van bestanden van gebruikers wordt met de blokopslagservers opgeslagen in versleutelde blokken. Voordat bestanden worden verzonden, worden ze door de Dropbox-client opgesplitst in bestandsblokken ter voorbereiding op de opslag. De blokopslagservers fungeren als een CAS-systeem, wat staat voor Content-Addressable Storage, waarbij elk afzonderlijk versleuteld bestandsblok wordt opgehaald aan de hand van de hashwaarde.
Voorbeeldservers
De voorbeeldservers zijn verantwoordelijk voor het genereren van bestandsvoorbeelden. Voorbeelden zijn een weergave van het bestand van een gebruiker in een andere bestandsindeling die geschikter is voor een snelle weergave op het apparaat van een eindgebruiker. Bestandsblokken worden door voorbeeldservers van de blokopslagservers opgehaald om voorbeelden te genereren. Wanneer een bestandsvoorbeeld wordt aangevraagd, wordt het voorbeeld uit de cache opgehaald van de voorbeeldopslagservers en naar de blokservers overgedragen. Vervolgens worden de voorbeelden door blokservers aan gebruikers getoond.
Voorbeeldopslagservers
Voorbeelden in cache worden in een versleutelde indeling in de voorbeeldopslagserves opgeslagen.
Meldingsservice
Dit is een aparte service die uitsluitend controleert of er wijzigingen zijn aangebracht in Dropbox-accounts. Er worden geen bestandsgegevens of metagegevens opgeslagen in of overgedragen naar deze service. Elke client brengt een 'long poll'-verbinding tot stand met de meldingsservice en wacht. Bij een verandering aan een bestand in Dropbox geeft de meldingsservice een wijziging door aan de relevante client(s) door de long poll-verbinding te sluiten. Het sluiten van de verbinding is een signaal dat de client een veilige verbinding moet maken met de metagegevensservers om wijzigingen te synchroniseren.
Dropbox Paper-infrastructuur
Dropbox-gebruikers kunnen Paper-documenten op elk gewenst moment openen in onze webapp en mobiele apps, of via apps van derden die aan Dropbox zijn gekoppeld. Al deze clients zijn verbonden met beveiligde servers om toegang tot Paper-documenten te bieden, het delen van documenten met anderen mogelijk te maken, en gekoppelde apparaten bij te werken wanneer documenten worden toegevoegd, gewijzigd of verwijderd.
De Dropbox Paper-infrastructuur bestaat uit de volgende onderdelen:
Paper-toepassingsservers
De Paper-appservers verwerken aanvragen van gebruikers, geven de uitvoer van bewerkte Paper-documenten weer aan de gebruiker en voeren meldingsservices uit. Paper-appservers schrijven bewerkingen van gebruikers naar de Paper-databases, waar ze in permanente opslag worden geplaatst. Communicatiesessies tussen de Paper-appservers en Paper-databases worden versleuteld met een sterke codering.
Paper-databases
De feitelijke inhoud van Paper-documenten van gebruikers, alsmede bepaalde metagegevens over deze Paper-documenten, worden in permanente opslag versleuteld in de Paper-databases. Hiertoe behoort informatie over een Paper-document (bijvoorbeeld titel, gedeeld lidmaatschap, machtigingen en project- en mapkoppelingen), maar ook inhoud uit het Paper-document zelf, waaronder opmerkingen en taken. De Paper-databases worden waar nodig gefragmenteerd en gerepliceerd om te voldoen aan de prestatie- en beschikbaarheidsvereisten.
Metadataservers
Voor Paper worden dezelfde metagegevensservers gebruikt als degene die worden beschreven in het diagram van de Dropbox-infrastructuur om informatie te verwerken over Paper-documenten, zoals de bestandsrevisiegeschiedenis van Paper-documenten en wie er aan een gedeelde map kunnen werken. Dropbox beheert de metagegevensservers rechtstreeks. Deze staan in datacenters van derden.
Metagagevensdatabases
Voor Paper worden dezelfde metagegevensservers gebruikt als degene die in het diagram van de Dropbox-infrastructuur om informatie te bewaren over Paper-documenten, zoals de bijbehorende deelrechten, machtigingen en mappen van een Paper-document en wie er aan een gedeelde map kunnen werken. Metagegevens van Paper-documenten worden opgeslagen in een MySQL-databaseservice en worden waar nodig opgesplitst en gerepliceerd om te kunnen voldoen aan de vereisten op het gebied van prestaties en hoge beschikbaarheid.
Paper-afbeeldingsopslagservers
Afbeeldingen geüpload naar Paper-documenten worden opgeslagen en in rust gecodeerd op de Paper-afbeeldingsopslagservers. Verzending van gegevens van afbeeldingen tussen de Paper-toepassing en de Paper-afbeeldingsopslagservers vindt plaats via een gecodeerde sessie.
Voorbeeldservers
De voorbeeldservers genereren voorbeelden voor zowel afbeeldingen die naar Paper-documenten worden geüpload, als ingesloten hyperlinks in Paper-documenten. Voor afbeeldingen die naar Paper worden geüpload, halen de voorbeeldservers via een versleuteld kanaal afbeeldingsgegevens op die in de opslagservers voor Paper-afbeeldingen zijn opgeslagen. Voor hyperlinks die in Paper zijn ingesloten, halen de voorbeeldservers afbeeldingsgegevens op en genereren ze een voorbeeld van de afbeelding via codering, zoals opgegeven door de bronlink. Vervolgens worden de voorbeelden door blokservers aan gebruikers getoond.
Voorbeeldopslagservers
Paper gebruikt dezelfde voorbeeldopslagservers als degene die worden beschreven in het diagram over de Dropbox-infrastructuur om afbeeldingsvoorbeelden in de cache op te slaan. Onderdelen van voorbeelden in cache worden in een versleutelde indeling in de voorbeeldopslagserves opgeslagen.
Zowel speciaal hiervoor opgestelde interne beveiligingsteams als externe beveiligingsspecialisten beschermen deze services middels het identificeren en verkleinen van risico's en kwetsbaarheden. Deze groepen voeren regelmatig toepassings-, netwerk- en andere beveiligingstests en -audits uit om de beveiliging van ons backend-netwerk te garanderen. Daarnaast willen wij met ons beleid voor verantwoorde openbaarmaking het opsporen en melden van beveiligingsrisico's bevorderen.
Datacenters
De ondernemings- en productiesystemen van Dropbox bevinden zich in gegevenscentra van externe subdienstverleners en providers van beheerde services in de Verenigde Staten. Deze externe dienstverleners zijn verantwoordelijk voor de fysieke, omgevings- en operationele beveilingsmaatregelen aan de buitengrenzen van de Dropbox-infrastructuur. Dropbox is verantwoordelijk voor de logische, netwerk- en toepassingsbeveiliging van onze infrastructuur die zich in datacenters van derden bevindt.
Versleuteling
Dropbox-bestanden en Dropbox Paper-documenten in rust worden versleuteld met 256-bits AES-versleuteling (Advanced Encryption Standard). Voor de bescherming van gegevens die worden verzonden tussen de Dropbox-apps (momenteel desktopapp, mobiele apps, API-app of webapp) en onze servers, maakt Dropbox gebruik van SSL/TLS (Secure Sockets Layer/Transport Layer Security). Hiermee wordt een veilige tunnel tot stand gebracht die wordt beschermd door 128-bits AES-versleuteling (Advanced Encryption Standard) of hoger. Gegevens die worden verzonden tussen een Paper-app (mobiele app, API-app of webapp) en de gehoste services worden ook versleuteld via SSL/TLS.
Certificaten pinnen
Dropbox pint certificaten op onze desktop- en mobiele clients voor bestandssynchronisatie en delen. Het pinnen van certificaten is een extra controle om ervoor te zorgen dat onze clients alleen verbinding maken met servers met digitale certificaten van een geautoriseerde lijst van certificeringsinstanties. We gebruiken het om je te beschermen tegen aanvallers in natiestaten die de controle hebben over een frauduleuze certificeringsinstantie en om je te beschermen tegen lokale malware die mogelijk je verbindingen hijacken.
Perfect Forward Secrecy
Voor de eindpunten die we beheren (desktop en mobiel) en moderne browsers gebruiken we een sterke versleuteling en ondersteunen we Perfect Forward Secrecy. Met Perfect Forward Secrecy zorgen we ervoor dat onze privésleutel voor certificering niet kan worden gebruikt om internetverkeer uit het verleden te ontcijferen. Zo voegen we extra bescherming toe aan versleutelde berichten met Dropbox, waarbij elke sessie wordt losgekoppeld van alle vorige sessies. Bovendien markeren we op het internet alle authenticatiecookies als veilig en activeren we HSTS (HTTP Strict Transport Security).
Sleutelbeheer
De Dropbox-infrastructuur voor sleutelbeheer is ontworpen met operationele, technische en procedurele beveiligingstechnieken met zeer beperkte directe toegang tot sleutels. Het genereren, uitwisselen en opslaan van versleutelingssleutels wordt verspreid uitgevoerd voor een gedecentraliseerde verwerking.
Dropbox beheert de bestandsversleuteling namens gebruikers om de complexiteit te reduceren en geavanceerde productfuncties en sterke cryptografische controle mogelijk te maken. Bestandsversleutelingssleutels worden gemaakt, opgeslagen en beschermd door beveiligingsfuncties en het beveiligingsbeleid van de infrastructuur van het productiesysteem. De toegang tot productiesystemen wordt beperkt met unieke SSH-sleutelparen. Volgens het beveiligingsbeleid en de beveiligingsprocedures is bescherming van SSH-sleutels vereist. Een intern systeem beheert de uitwisseling van openbare sleutels, en privésleutels worden veilig opgeslagen.
Zie de whitepaper van Dropbox over beveiliging voor meer informatie over onze controle- en zichtbaarheidsfuncties.