Immer wenn wir einen Dienst entwickeln, ist es unser Ziel sicherzustellen, dass er zu keiner Zeit und niemandem, auch nicht uns selbst, Informationen preisgibt oder auslaufen lässt. Das ist ein radikal anderer Ansatz als bei den meisten Big-Tech-Angeboten, wo Datensammlung der eigentliche Zweck des Dienstes ist. Dieser Ansatz bedeutet auch, dass wir oft ganz neue Rahmenwerke entwickeln müssen, um das zu bewältigen, was sonst wie eine einfache Funktion erscheinen könnte.
In diesem Artikel erklären wir, wie Proton Drive deine Dateien herunterlädt, damit du sie schnell erhältst, während wir sicherstellen, dass deine Informationen privat und verschlüsselt bleiben, selbst vor uns.
Wie andere Cloud-Speicherdienste deine Dateien herunterladen
Bevor wir erklären können, wie Proton Drive deine Dateien herunterlädt, müssen wir uns anschauen, wie die meisten Cloud-Speicherdienste Dateien herunterladen.
In den Anfangstagen des Internets übernahmen Server den Großteil der „Arbeit“ (Datenverarbeitung, Verschlüsselung usw.), und Web-Apps taten relativ wenig, außer Informationen an den Nutzer weiterzuleiten.
Mit der Entwicklung des Internets wurden Anwendungen komplexer und übernahmen mehr Verarbeitungsaufgaben selbst auf den Geräten der Nutzer. Obwohl dies mehr Funktionalität ermöglicht, hat es auch einen Nachteil. Statt die massive Menge an Speicher und Rechenleistung eines Servers in einem Rechenzentrum nutzen zu können, ist die Anwendung durch die Menge an Speicher, Funktionen und Rechenleistung des Geräts, auf dem sie läuft, begrenzt.
Die aktuelle App-Entwicklung ist ein Balanceakt zwischen den Aufgaben, die der Server übernimmt, und den Aufgaben, die der Client (oder die App) übernimmt.
Damit kommen wir zu deinem Standard-Cloud-Speicherdienst. Der einfachste Weg, eine verschlüsselte Datei abzurufen, ist:
- Der Frontend-Client, wie dein Browser, initiiert eine Anfrage und der Backend-Server bearbeitet sie.
- Der Backend-Server findet die Dateien, erstellt ein Archiv (falls nötig) und sendet alles zurück an deinen Browser als Dateidownload.
In diesem Beispiel erledigt der Backend-Server deines Cloud-Speicherdienstes den Großteil der Arbeit. Dein Browser empfängt lediglich die Datei.
Dieses System, obwohl effizient und direkt, erfordert, dass der Server in der Lage ist, deine Dateien zu entschlüsseln. Das entspricht einfach nicht dem Datenschutzstandard von Proton.
Proton Drive entschlüsselt Dateien lokal und hat keinen Zugriff auf deine Daten
Unser Fokus auf Privatsphäre bedeutet, dass wir keine unverschlüsselten Daten an unsere Server senden möchten. Dementsprechend übernimmt unser Client die Rechenarbeit, die andere Cloud-Speicherdienste an ihre zentralisierten Server delegieren können.
Folglich sieht die Art und Weise, wie Proton Drive Dateien abruft, komplexer aus. Wenn die herunterzuladende Datei klein ist, verwendet Proton Drive den folgenden Prozess:
- Der Frontend-Client (dein Browser) initiiert die Anfrage.
- Proton Drive holt alle zugehörigen Daten ab und sendet sie in verschlüsseltem Zustand an deinen Browser.
- Dein Browser (der Client) entschlüsselt die Daten, puffert sie im Speicher und erstellt ein Archiv, das dann als klassischer Download ausgegeben wird.
Auf diese Weise interagiert der Proton-Server niemals mit unverschlüsselten Daten oder den unverschlüsselten Schlüsseln, die es uns ermöglichen würden, deine Daten zu entschlüsseln. Dein Client (dein Browser) übernimmt diesen gesamten Prozess. Diese Lösung ist schnell, robust und unkompliziert, und das Nutzererlebnis ist fast wie bei einem Standard-Download.
Obwohl dieses System zum Abrufen von Dateien funktioniert, ist es nicht skalierbar. Wir machen das nur mit kleinen Dateien, weil die Größe der Datei, die du herunterladen kannst, durch den Speicher des Geräts begrenzt ist, der von Gerät zu Gerät variieren kann. Wenn du versuchst, 10 GB Dateien auf einem Gerät herunterzuladen, das nur 8 GB Speicher hat, wird es einfach nicht funktionieren.
Proton Drive „streamt“ verschlüsselte Daten, um Speicherbeschränkungen zu vermeiden
Wenn du eine große Datei (oder viele Dateien gleichzeitig) herunterladen möchtest, verwendet Proton Drive einen anderen Ansatz: eine Streaming-Lösung mit Service-Workern, die eine Art Web-Worker sind. Ein Web-Worker ist eine Web-Technologie, die verwendet wird, um Arbeiten im Hintergrund auszuführen. Sie ermöglichen es Browsern, schwere Datenverarbeitungen durchzuführen, ohne einzufrieren oder hängen zu bleiben.
Ein Service-Worker ist eine spezielle Art von Web-Worker, der ebenfalls im Hintergrund läuft, aber eine wichtige Fähigkeit hat: Er kann als Proxy agieren, im Wesentlichen eine „mittlere“ Schicht, die für das Zwischenspeichern verwendet werden kann. Wie bereits erwähnt, kann ein Browser ohne Speicherung der gesamten Datei im Gerätespeicher keinen Stream erstellen und herunterladen. Die Verwendung von Service-Workern ermöglicht es uns, diese Einschränkung zu umgehen. Der Prozess des Herunterladens einer großen verschlüsselten Datei (oder vieler verschlüsselter Dateien auf einmal) von Proton Drive sieht folgendermaßen aus:
- Der Client (dein Browser) initiiert die Anfrage.
- Proton Drive holt alle zugehörigen Daten ab und sendet sie in verschlüsseltem Zustand an einen Web-Worker in deinem Browser.
- Der Web-Worker empfängt jedes Datenstück, entschlüsselt es, überprüft die Signatur der Datei(en), erstellt ein Archiv (wenn es mehrere Dateien sind) und sendet es in einem Stream an einen Service-Worker weiter. Zu keinem Zeitpunkt wird der gesamte Download zusammengestellt oder gepuffert, daher spielt es keine Rolle, wie viel Speicher dein Gerät hat.
- Die Daten durchlaufen dann den Service-Worker in einer Streaming-Manier und werden als Standard-Download an deinen Browser gesendet.
Dieser Prozess ist deutlich komplexer als normale Datei-Downloads, aber wir haben diesen zusätzlichen Aufwand betrieben, weil wir uns deiner Privatsphäre verpflichtet fühlen. Die Verwendung von verschlüsselten Datenströmen ist eine zusätzliche Komplexität, aber eine wichtige, denn sie ermöglicht es Proton Drive, viel größere Dateien zu verarbeiten als die meisten anderen Ende-zu-Ende-verschlüsselten Cloud-Speicherlösungen. Tatsächlich ist das einzige Limit für die Größe deines Downloads die Menge an Speicherplatz, die mit deinem Proton Drive-Tarif kommt (und natürlich die Speicherkapazität deines Geräts).
Dieses System führte zu einer längeren Entwicklungszeit für Proton Drive, ermöglicht aber ein nahtloseres Nutzererlebnis, wobei das Download-Erlebnis praktisch nicht von unverschlüsselten Cloud-Speicherdiensten zu unterscheiden ist.
Sicherheit auf die nächste Stufe heben mit digitalen Signaturen
Bei Proton Drive verschlüsseln wir nicht nur deine Daten — wir signieren sie auch. Wir haben mehrere Signaturen, um unsere Nutzer vor möglichen MITM-Angriffen zu schützen, einschließlich vor uns selbst. Diese Signaturen beweisen, dass die Daten nicht verändert, abgefangen oder ersetzt wurden. Die Überprüfung dieser Signaturen ist ebenfalls Teil des Streaming-Download-Prozesses.
Wenn wir ein Problem feststellen, wie zum Beispiel eine fehlende oder falsche Signatur (die zu einer unlesbaren Datei führen könnte oder ein Zeichen für eine manipulierte Datei ist), pausieren wir den Download und zeigen dir ein Pop-up-Fenster, das dich fragt, ob du fortfahren möchtest.
Proton Drive – Besserer Cloud-Speicher für ein besseres Internet
Wie du siehst, nutzt Proton Drive nicht einfach die gleiche Technologie wie herkömmliche Cloud-Speicherdienste. Unser Bestreben, sicherzustellen, dass du jederzeit die Kontrolle über deine Daten behältst, und gleichzeitig einen nahtlosen, schnellen Service zu bieten, bedeutet, dass wir unseren eigenen Prozess von Grund auf neu aufbauen müssen. Das kann die Entwicklung zwar knifflig machen, ist aber notwendig, um den weltweit sichersten und privatsten Cloud-Speicher zu erschaffen.
Wie immer freuen wir uns über deine Kommentare und Vorschläge auf Facebook(neues Fenster), Twitter(neues Fenster) oder Reddit(neues Fenster).