Immer mehr Unternehmen und Privatpersonen entscheiden sich für die Cloud, aber die Sicherheit ist immer noch das größte Hindernis für die Einführung der Cloud. Die am häufigsten geäußerte Sorge betrifft den Verlust der Kontrolle über die eigenen Daten, insbesondere wenn der Cloud-Anbieter (Cloud Service Provider, CSP) ein ausländischer Anbieter ist, wie es bei den Public-Cloud-Giganten Amazon (AWS), Microsoft (Azure) und Google (GCP) der Fall ist.
Die gefürchteten Ereignisse sind vielfältig: Beschlagnahme der Daten durch die US-Regierung (siehe Cloud Act, NSA), Kompromittierung der Cloud durch einen feindlichen Staat (siehe Cyberangriffe aus Russland oder Nordkorea), Verletzung der Vertraulichkeit durch CSP-Personal usw. Die meisten dieser Ereignisse sind jedoch nicht auf die Cloud beschränkt.
Dieser Artikel untersucht den einfachsten Anwendungsfall: die Nutzung der Cloud für die Speicherung von Dateien, bei der der Kunde ein SaaS-Angebot vom Typ "Drive" (OneDrive, Google Drive, Dropbox) oder vom Typ "Object Storage" (AWS S3, Azure Blob Storage) konsumiert.
Wie kann man die Vertraulichkeit von Daten angesichts der erwähnten Bedrohungen schützen? Die Antwort liegt natürlich in der Verschlüsselung, aber nicht auf jede beliebige Art und Weise!
Betrachten wir mehrere Alternativen in aufsteigender Reihenfolge der Sicherheit.
Daten im Klartext: Lassen Sie uns das schnell überspringen, das bietet keine Sicherheit, nicht einmal vor einem neugierigen Systemadministrator beim Anbieter.
Serverseitige Verschlüsselung (Server Side Encryption, SSE) mit vom CSP verwalteten Verschlüsselungsschlüsseln: In diesem Fall verschlüsselt der Cloud-Host die Daten beim Speichern selbst mit seinen eigenen Schlüsseln, ohne dass der Nutzer mehr tun muss als ein Häkchen zu setzen (AWS), wenn es nicht sogar von vornherein aktiviert ist (Azure). Dies schützt vor einigen grundlegenden Bedrohungen, wie der Wiederverwendung von Speichermedien eines Kunden A für einen Kunden B oder dem Diebstahl von Festplatten in einem Rechenzentrum. Es ist jedoch klar, dass dies, da der Anbieter die Schlüssel verwaltet, nur begrenztes Vertrauen schafft.
Serverseitige Verschlüsselung (SSE) mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln: Diese Methode, die sonst als Bring Your Own Key (BYOK) bezeichnet wird, bietet meiner Meinung nach keine wirkliche zusätzliche Sicherheit im Vergleich zur vorherigen Methode. Zwar erklären die CSPs in diesem Fall, dass sie die von den Kunden bereitgestellten Schlüssel nicht speichern, aber technisch gesehen könnten sie dies tun, wenn sie wollten oder dazu gezwungen würden.
Clientseitige Verschlüsselung (Client Side Encryption, CSE): Auch als Zero-Knowledge bekannt, ist diese Alternative zweifellos die sicherste. Der Kunde verschlüsselt die Daten mit seinem eigenen Schlüssel, bevor er sie in die Cloud auslagert; der CSP hat zu keinem Zeitpunkt Kenntnis von diesem Schlüssel. In diesem Fall könnte selbst ein Angreifer, dem es gelingt, die gesamte Cloud zu kompromittieren, nur verschlüsselte, unverständliche Daten wiederherstellen. Die Vertraulichkeit der Daten ist gewährleistet, solange der Endpunkt des Kunden nicht selbst kompromittiert wird.
Kein Zweifel: Clientseitige Verschlüsselung ist *die* Lösung, um Ihre Daten in der Cloud zu schützen.
Einige Anbieter bieten dies bereits kostenlos oder kostenpflichtig an: Sync, pCloud, Mega, Icedrive, SpiderOak. Beachten Sie, dass Icedrive nicht einmal AES vertraut, da sie es für verdächtig halten und stattdessen Twofish von Bruce Schneier bevorzugen.
Abgesehen davon hebt der CSE noch nicht ab und beschränkt sich hauptsächlich auf den Anwendungsfall einer Sicherung in die Cloud. Warum ist das so?
Seine Schwäche ist die Kehrseite seiner Stärke: Da der Server die Daten nicht im Klartext sieht, ist er nicht in der Lage, sie zu indizieren und ihren Wert zu extrahieren. Dies schränkt die geschäftliche Nutzung stark ein: Selbst eine einfache Suche nach einem Schlüsselwort in einer Datei wird serverseitig zum Problem. Die Indizierung erfolgt schließlich durch eine Spiegelung der Daten auf der Clientseite, auf seiner lokalen Kopie im Klartext, was nicht wirklich im Sinne der Cloud ist.
Sind wir also gezwungen, die Rechenleistung der Cloud-Server zu opfern und das "Heavy-lifting" auf der Client-Seite zu realisieren?
Anscheinend nicht, denn es tauchen neue Techniken auf, die es dem Server ermöglichen, direkt auf den verschlüsselten Daten eine Suche durchzuführen. Eine sehr vielversprechende Methode wird in dem Papier erläutert, das Sie unter [1] herunterladen können: Sie basiert auf der Erzeugung eines verschlüsselten Index durch den Client, der es dem Server ermöglicht, die entsprechenden Dokumente wiederzugeben, ohne deren Inhalt oder auch nur das gesuchte Schlüsselwort zu kennen.
Diese Forschung wird wahrscheinlich weitergehen und gibt uns echte Hoffnung, dass wir die Macht der Cloud mit dem Schutz der Daten verbinden können.
[1] https://info.ionic.com/hubfs/IonicDotCom/Resources/Assets/Securing%20the%20Cloud%20with%20Client-Side%20Encryption.pdf