Ende-zu-Ende-Verschlüsselung in der Cloud: Verschlüsselung ist nicht gleich Verschlüsselung

Für den durchschnittlichen Endanwender ist es oftmals nicht leicht zu verstehen, vor wem er seine Daten mit einer bestimmten Verschlüsselungstechnik eigentlich schützt. Dabei spielen die konkreten Bedürfnisse eine große Rolle.

Dieser Artikel wurde ebenfalls auf LinkedIn und TecChannel veröffentlicht.

Cloud-Anwendungen sind in aller Munde. Dies gilt für Heimanwender wie Firmennutzer gleichermaßen. Die Vorteile liegen auf der Hand: Hochverfügbarkeit und Kostenersparnis. Der Betrieb eigener Server wird eingespart, der Installationsaufwand entfällt, Ausfälle werden durch redundante Systeme seitens der Cloud-Betreiber minimiert, und die eigenen Daten sind auf allen Geräten jederzeit abrufbar.

Auf der anderen Seite gibt es die Cloud-Skeptiker, und auch hier gibt es gute Argumente: Eine gute Internetverbindung ist stets erforderlich, ein Wechsel zwischen Cloud-Diensten ist oftmals nur sehr beschwerlich und – die eigenen Daten sind für jeden jederzeit abrufbar. Die letzte Aussage mag überspitzt formuliert sein, Meldungen aus der Nachrichtenwelt zum Thema Edward Snowden und NSA lassen viele jedoch skeptisch und unsicher zurück. Als Experte auf dem Gebiet der IT-Sicherheit kann man festhalten: Die Skepsis ist nicht unberechtigt.

„Ich habe ja nichts zu verbergen“

Am Satz „Ich habe ja nichts zu verbergen“ scheiden sich vermutlich die Geister der aktuellen IT-Ära. Dies gilt zumindest für den durchschnittlichen Privatanwender, bei deutschen Unternehmen finden zumindest die allgemeinen Datenschutzgesetze Anwendung. Unter anderem die Einhaltung des BDSG (Bundesdatenschutzgesetz) geht in vielen Unternehmen so weit, dass interne Richtlinien die Nutzung von Cloud-Diensten außerhalb Deutschlands zu bestimmten Zwecken schlicht verbieten. Im Gegensatz dazu veröffentlicht so mancher im Privatbereich ungebremst Fotos oder Meinungsaussagen in Social Networks, die zu einer Kündigungen des Jobs oder Strafanzeigen führen.

Den Stellenwert der eigenen Privatsphäre muss letztendlich jeder für sich entscheiden. Solange andere nicht betroffen sind oder geschädigt werden, bleibt dies auch Sache des Einzelnen. Dennoch sollte sich jeder fragen, inwieweit ihm eine ungewollte Veröffentlichung von eigenen Daten aus bestimmten Cloud-Diensten „egal“ ist. Als einfaches Beispiel seien die Fotos der letzten Familienfeier in der Cloud genannt, die nur hochgeladen wurden, um sie einfach mit der ganzen Familie teilen zu können. Auf diese Frage wird jeder eine andere Antwort geben. Andere Beispiele sind Cloud-Backups der letzten Steuererklärung, des Kaufvertrags für das neue Auto oder Ähnliches.

Verschlüsselt ja, aber wie?

Eine funktionierende IT-Sicherheit zu gewährleisten, ist Hauptaufgabe der entsprechenden Anbieter von Web- und Cloud-Diensten. Hier gibt es diverse Standards nach denen man sich richten muss und zwar nicht nur auf dem Papier sondern auch praktisch. Wer sich darauf als Anwender nicht verlassen will, setzt zusätzlich auf Verschlüsselung.

Es gibt viele Arten der Verschlüsselung, sie zu unterscheiden ist für den normalen Verbraucher meist unmöglich. Einige werden ohne Wissen automatisch genutzt. HTTPS-Verbindungen über TLS (früher SSL) beispielsweise werden zum Beispiel beim Homebanking oder Online-Shopping verwendet, so dass der Transportweg der Daten zum Server im Internet verschlüsselt ist. Dies ist glücklicherweise heute zum Quasi-Standard geworden, zumindest bei wichtigen Daten. Viele Internetnutzer sind hierzu sensibilisiert.

Doch was nützt die verschlüsselte Übertragung der Daten, wenn Hacker diese am Server durch eine Sicherheitslücke wieder abgreifen? Ein anderes Beispiel: Auch heute noch kann nicht sichergestellt werden, dass eine E-Mail über ausschließlich verschlüsselte Transportwege seinen Empfänger erreicht. Seit die großen Internetprovider in Deutschland TLS zwangsweise als sichere Verbindung zwischen Mailclients (Desktop, mobil) und Mailservern durchgesetzt haben, ist der E-Mail-Verkehr in Deutschland zwar erheblich sicherer geworden, aber dies gilt nicht überall.

Für den Fall E-Mail existieren mindestens zwei gängige Lösungen und dies schon ziemlich lange: S/MIME und PGP bzw. OpenPGP. Hier spricht man von Ende-zu-Ende-Verschlüsselung. Der Sender einer E-Mail verschlüsselt diese und nur der Empfänger kann sie entschlüsseln. Dies gilt zwar nur für den Nachrichteninhalt, nicht die Metadaten (wie den Betreff, Mailadressen oder Zeitstempel), aber zumindest dieser wird so auch über unverschlüsselte Transportwege sicher geschützt. Eine digitale Signatur schützt die E-Mail zusätzlich vor Veränderung auf einem gegebenenfalls ungeschützten Transportweg.

Datenverschlüsselung in der Cloud

Daten in Cloud-Diensten zu verschlüsseln ist weitaus schwieriger. Die Datenverarbeitung findet beim Diensteanbieter statt, d.h., eine echte Ende-zu-Ende-Verschlüsselung ist beinahe unmöglich falls der Diensteanbieter dies nicht explizit unterstützt.

Ich möchte hier zwei konkrete Klassen von Ende-zu-Ende-Verschlüsselung definieren:

Klasse 1) „Echte“ Ende-zu-Ende-Verschlüsselung

Die Daten werden auf dem Endgerät des Anwenders verschlüsselt. Der zur Verschlüsselung genutzte Schlüssel wird lokal auf dem Endgerät erzeugt und gespeichert. Ein Upload des Schlüssels in die Cloud erfolgt nicht. Der Anwender muss zur Vermeidung von Datenverlusten selbst für ein Schlüssel-Backup sorgen. Die eigentlichen Daten werden vor dem Upload in die Cloud durch das Endgerät verschlüsselt, entsprechend erfolgt die Entschlüsselung nur auf dem Gerät.

Klasse 2) Passwort-basierte Ende-zu-Ende-Verschlüsselung

Der Dienst erzeugt den zur Verschlüsselung genutzten Schlüssel direkt oder indirekt aus dem Passwort des Anwenders. Das Passwort wird nicht gespeichert, sondern beim Login in die Applikation wird nach Industriestandards durch eine sichere Hashwert-Berechnung der Verschlüsselungsschlüssel wiederhergestellt. Die Ver- und Entschlüsselung der Daten erfolgt in der Applikation auf dem Server des Diensteanbieters. Da das Passwort und die Daten erst auf dem Server verschlüsselt werden, ist eine funktionierende Transportverschlüsselung (HTTPS) erforderlich.

Sollten Sie der Verschlüsselung der Klasse 2) vertrauen, ist die Frage nach dem Fall des Passwortverlustes zusätzlich interessant. Ist es dem Anbieter möglich ihre Daten auch bei Passwortverlust wiederherzustellen, so erfolgt eine zusätzliche Verschlüsselung ihrer Daten mit einem Masterkey oder einer vergleichbaren Lösung. Hierfür gibt es verschiedene Implementierungsmöglichkeiten, welche die Stärke der Verschlüsselung massiv abschwächen können.

Unterschiedlichste Cloud-Dienste

Wenn in diesem Artikel von Cloud-Diensten die Rede ist, so stellt sich natürlich die Frage, welche Dienste überhaupt gemeint sind. Natürlich funktioniert ein ERP- oder CRM-System auf Cloud-Basis völlig anders als ein einfacher Dateispeicher. Entsprechend sind auch die Realisierungsmöglichkeiten für eine Datenverschlüsselung sehr unterschiedlich.

Wie zuvor erwähnt, gestaltet es sich mitunter schwierig, selbst für die Verschlüsselung zu sorgen. Dies gilt insbesondere für Applikationen, die über den einfachen Datenspeicher hinausgehen und selbst keine Verschlüsselung verwenden. Für den Typ Dienste wie ERP oder CRM existieren Lösungen wie CipherCloud. Hierbei handelt es sich um eine Appliance, die man zwischen sich und dem genutzten Cloud-Dienst installiert. Unterstützt werden zahlreiche Cloud-Dienste, darunter zum Beispiel auch Salesforce. Die Trennung zwischen dem eigentlichen Dienste-Anbieter und dem Lieferanten der Verschlüsselungslösung ist aus Sicherheitssicht natürlich positiv zu bewerten. Da es sich hierbei allerdings um eine transparente Verschlüsselung handelt, also beispielsweise Salesforce nichts von der Existenz der Verschlüsselung weiß, müssen spezielle Verfahren seitens der Verschlüsselungslösung eingesetzt werden, die teilweise nicht offen liegen. Des Weiteren können aus offensichtlichen Gründen nicht immer alle Datenbankfelder unterstützt werden und bei neuen Versionen des Cloud-Dienstes muss die Verschlüsselungslösung sicherstellen, neue wie alte Datenbankfelder explizit zu unterstützen.

Im Falle des einfachen Online-Datenspeichers oder des Online-Datenspeichers mit Gruppenfunktion sieht die Sache hingegen besser aus. Hier existieren verschiedenste Lösungsansätze wie zum Beispiel Boxcryptor oder der Support von TrueCrypt-Containern im Dropbox-Client. (TrueCrypt selbst sollte jedoch nicht mehr verwendet werden.)

Sicherheitsmerkmale der Verschlüsselung

Wenn man über die Verwendung eines Cloud-Dienstes nachdenkt, so zwingt sich die Frage nach der Langfristigkeit der Lösung auf. Möchte man beispielsweise dauerhaft einen Online-Speicher als sichere Remote-Backup-Lösung verwenden, so muss die Verschlüsselungslösung ebenfalls langfristig funktionieren. Zieht man für die Realisierung der Verschlüsselung ebenfalls einen Cloud-basierten Dienst heran, so darf die langfristige Verfügbarkeit der Entschlüsselung des Backups nicht alleine von der Existenz oder Verfügbarkeit dieses Dienstes abhängen. Dem schließt sich die Frage nach der Zahlungsbereitschaft für einen solchen Dienst an, da Kosten und Preise über die Jahre angepasst werden können.

Auf der anderen Seite stehen Überlegungen über die Kontrolle und die Sicherheitsmerkmale der Verschlüsselungslösung. Hier muss die Frage beantwortet werden, vor wem man seine Daten eigentlich schützen möchte. Geht es um private Daten, Angst vor Industriespionage oder gar Geheimdiensten. Vielleicht möchte man auch als Privatanwender seine Daten vor staatlichen Institutionen geschützt wissen. Datenverluste aufgrund von Unachtsamkeit, Sicherheitslücken seitens des Dienste-Anbieters und Hacker-Attacken sind weitere Befürchtungen. Daneben steht das Vertrauen in den Dienste-Anbieter selbst. Die Gegenwehr von Google oder Apple gegen die zunehmenden Forderungen amerikanischer Strafverfolgungsbehörden nach dem Datenzugriff auf Nutzeraccounts wurde auch zuletzt wieder öffentlich diskutiert. Unter welchen Umständen werden meine Daten ausgelesen, wer kontrolliert dies, werde ich darüber informiert?

Bei echter Ende-zu-Ende-Verschlüsselung der Klasse 1) nach obiger Definition hat man die vollständige Kontrolle über die Verschlüsselung in eigener Hand. Selbst der Dienste-Anbieter kann auf Verlangen von Behörden die Daten nicht wiederherstellen, da sie verschlüsselt „abgeliefert“ werden. Natürlich ist der Realisierungsaufwand entsprechend höher. Man muss Zusatzsoftware installieren und benötigt eine Schlüsselverwaltung über alle gewünschten Geräte hinweg.

Zur Unterscheidung bzw. Einordnung in die beiden zuvor definierten Klassen gibt es eine einfache Faustregel. Jede Applikation, die mit einem vergleichbaren Slogan derart „Verschlüsselung ohne Installation“ wirbt, also ausschließlich webbasiert arbeitet, ist keine echte Ende-zu-Ende-Verschlüsselung sondern fällt in Klasse 2).

Angriffsmöglichkeiten

Wie schon beschrieben, muss jeder für sich entscheiden, welches Sicherheitsniveau er über seine Daten auch im Falle von Verschlüsselung erreichen möchte. Als Beispiel zur besseren Einordnung möchte ich kurz auf den Fall „Lavabit“ eingehen. Die Verschlüsselung von Lavabit fiel in die Klasse 2). Es handelte sich um einen US-amerikanischen Internetdienst, der verschlüsselten Mailverkehr realisierte und zwar rein webbasiert. Nach den wenigen öffentlichen Informationen wurde dieser Dienst offenbar von Edward Snowden genutzt. Forderungen amerikanischer Behörden an den Dienste-Anbieter zur Offenlegung der Verschlüsselung bzw. aller Nutzerdaten führten letztendlich zur Stilllegung des Dienstes durch den Betreiber selbst.

Obwohl die Verschlüsselung der Klasse 2) durchaus als sehr stark zu bewerten ist, gibt es verschiedene Abhängigkeiten zum Dienste-Anbieter, die die Verschlüsselung schwächen können. Da das Passwort die Basis für die rein webbasiert Verschlüsselung ist, ist es auch das Ziel eines jeden Angriffs auf diese Verschlüsselung. Da der Server die Berechnung der kryptographischen Schlüssel vornimmt, wird das Passwort zunächst an den Server übertragen. Erfolgreiche Angriffe auf die HTTPS-Verbindung, also die verschlüsselte Übertragung des Passworts, können also die Verschlüsselung selbst brechen. Eine einfache Möglichkeit für Behörden, die HTTPS-Verbindung zu brechen, ist die Einforderung der privaten Schlüssel des Servers vom Betreiber. Die Verwendung von „Perfect Forward Secrecy“ schafft hier zumindest gegen nachträgliche Entschlüsselung des HTTPS-Verkehrs Abhilfe.

Wer meint, eine einfache Alternativlösung sei es, das Passwort gar nicht zu übertragen sondern per JavaScript im Browser des Nutzers zu hashen und nur den abgeleiteten kryptographischen Schlüssel zu übertragen, dem wird schnell klar, dass in diesem Szenario dann der übertragene Schlüssel Ziel des Angriffs ist. Einen Schritt weitergedacht, könnte man eine Technik entwickeln, die die Verschlüsselung selbst in JavaScript löst. Kann ein Angreifer jedoch in den HTTPS-Verkehr eingreifen, so wäre es ihm auch möglich, das vom Server gesendete JavaScript entsprechend zu manipulieren.

Dies führt auch zur zweiten Angriffsmöglichkeit auf Dienste aus Klasse 2), nämlich die Manipulation der Software auf dem Server. Hierbei spielt es keine Rolle, ob der Betreiber selbst – zum Beispiel behördlich – zur Manipulation gezwungen wird oder ob es durch Sicherheitslücken auf dem Server Hackern gelungen ist, die eigentliche Applikation zu manipulieren. Durch die Manipulation ließen sich ebenfalls das Nutzerpasswort und die erzeugten kryptographischen Schlüssel stehlen. Wenn der Angreifer bereits Serverzugriff erlangt hat, kann er damit auch nachträglich die verschlüsselten Daten entschlüsseln.

Um es deutlich zu unterstreichen: Fällt die Verschlüsselung in Klasse 2) ohne Verwendung eine Master- oder Backup-Keys seitens des Betreibers, so erfordern alle diese Angriffe ein erneutes Login des angegriffenen Nutzers!

Übrigens gibt es auch in Deutschland vergleichbare Anbieter, so ist zum Beispiel Posteo zu nennen.

Angriffe gegen Verschlüsselungslösungen der Klasse 1) hingegen erfordern immer einen Zugriff auf das entsprechende aktive Endgerät des Anwenders. Auch dies ist selbstverständlich nicht unmöglich, jedoch in der Regel wesentlich schwieriger.

Fazit

Jeder muss selbst entscheiden, welche Daten er in die Cloud legt, ob er eine Verschlüsselung nutzen möchte oder nicht. Dies gilt für Heimanwender wie Unternehmen gleichermaßen. Die Frage nach der Art und Weise der gewünschten Verschlüsselung sollte gut durchdacht beantwortet werden. Die in diesem Artikel definierten Klassen von Verschlüsselung geben dem geneigten Leser entsprechende Entscheidungshilfen.

Für den Durchschnittsanwender kann die Unterscheidung der beiden Klassen trotz Faustregel in der Praxis schwierig sein. Dies liegt an der zunehmenden Verschmelzung von Techniken und Diensten. Beispielsweise fällt E-Mail-Verschlüsselung mit PGP in Klasse 1). Wenn nun der eigene Mailprovider PGP-Verschlüsselung im Webmailer anbietet, liegen die privaten Schlüssel aber ebenfalls auf dem Server des Providers, womit diese Lösung in Klasse 2) fällt.

Ohne Frage ist eine Lösung der Klasse 1) natürlich wesentlich aufwendiger zu realisieren und eine rein webbasiert Verschlüsselungslösung zu nutzen ist weitaus besser als gar keine.

Über den Autor

Hißen IT ist ein hochspezialisiertes Kleinunternehmen mit dem Fokus IT-Security-Softwareentwicklung und -Beratung. Inhaber Dipl.-Inform. Frank Hißen blickt auf über 15 Jahre Erfahrung in verschiedenen Positionen als Security-Experte in Entwicklungs- und Beratungsprojekten zurück. Er wurde dabei hauptsächlich für große aber auch für mittelständische Unternehmen tätig. Herr Hißen ist spezialisiert auf angewandte bzw. technische IT-Sicherheitsarbeit.

Kategorien: IT-Sicherheit Hintergrundartikel Programmieren/Java

Kommentare

Eigenen Kommentar hinzufügen

Teilen / Weiterempfehlen

Wenn Sie diese Seite gut finden, teilen Sie es doch ihren Kontakten mit:



reddit Digg StumbleUpon XING