Ende-zu-Ende-Verschlüsselung

Verschlüsselung ist nicht gleich Verschlüsselung

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 Mail-Verkehr realisierte, und zwar rein webbasiert. Nach den wenigen öffentlichen Informationen wurde dieser Dienst offenbar von Edward Snowden genutzt. Forderungen amerikanischer Behörden an den Diensteanbieter zur Offenlegung der Verschlüsselung beziehungsweise 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 vom Diensteanbieter, die die Verschlüsselung schwächen können. Da das Passwort die Basis für die rein webbasierte Verschlüsselung ist, ist es auch das Ziel eines jeden Angriffs auf diese Verschlüsselung. Da der Server die Berechnung der kryptografischen Schlüssel vornimmt, wird das Passwort zunächst an den Server übertragen. Erfolgreiche Angriffe auf die HTTPS-Verbindung, das heißt 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 eine 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 kryptografischen 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 kryptografischen 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 eines 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.