Was ist Zero-Knowledge-Verschlüsselung?

Wann immer wir Online-Diensten unsere persönlichen Daten anvertrauen, sind wir der Gefahr des Missbrauchs ausgesetzt. Und falls Sie kein IT-Profi sind, finden Sie es sicher auch manchmal schwer verständlich, was genau “Sicherheit” bei den verschiedenen Services bedeutet. Wenn Sie wirklich sichergehen möchten, dass Ihre privaten Daten geschützt sind, sollten Sie sich daher für Dienste mit Zero-Knowledge-Verschlüsselung entscheiden. In diesem Artikel erfahren Sie, was “Zero-Knowledge” ist, wie es funktioniert und warum wir es für die sicherste Methode halten, Ihre Informationen online zu speichern.
Auf den Punkt gebracht: Zero-Knowledge-Verschlüsselung bedeutet, dass Service-Provider nichts über die Dateien wissen, die Sie auf ihren Servern speichern. Um den Begriff jedoch besser zu verstehen, lassen Sie uns doch einen Blick darauf werfen, wie Verschlüsselung im Allgemeinen funktioniert.
Ein Besuch im Zero-Knowledge-Hotel
Alle Online-Dienste sollten mit der einen oder anderen Methode zur Verschlüsselung geschützt sein – anders gesagt, wenn wir unsere Daten auf einer Webseite oder in eine App eingeben, werden unsere Informationen so codiert, dass nur autorisierte Personen mit dem geheimen Schlüssels oder Passworts auf sie zugreifen können. Genau wie bei unterschiedlichen Türschlössern kann diese Verschlüsselung sehr leicht zu knacken oder sehr sicher sein.
Nehmen wir einmal an, wir befinden uns auf einer Geschäftsreise. Wir haben die Nase voll von billigen Hostels, in denen der Schlüssel nicht nur unser Zimmer, sondern auch die anderer Gäste öffnet. Deshalb haben wir uns für ein gutes Hotel mit soliden Sicherheitsmaßnahmen entschieden, checken ein, lassen die gute Spiegelreflex auf unserem Zimmer, verschließen die Tür und machen uns auf zum Meeting. Wir sind optimistisch, dass die Kamera sicher verwahrt ist, da wir den Hotelbetreibern vertrauen und wissen, dass unsere Tür gut verschlossen ist.
Lassen Sie uns dieses Beispiel auf unsere Online-Nutzung übertragen:
- Die Kamera sind die vertraulichen Dateien, die wir in die Cloud hochladen.
- Das Hotelzimmer ist unser Nutzerkonto.
- Das Türschloss ist das Verschlüsselungssystem, das unsere Daten schützt.
- Der Schlüssel, der das Türschloss öffnet, ist unser Passwort.
- Das Hotel ist unser Service-Provider.
Dank Verschlüsselung sind die “Schlösser”, die von vielen cloud-basierten Diensten verwendet werden, so sicher, dass es extrem aufwendiger Rechenleistung bedarf, um auch nur einen einzelnen Schlüssel zu identifizieren. Was aber, wenn der Dieb oder Hacker nicht versucht, das Schloss zu knacken, sondern stattdessen die Rezeption im Auge hat, um sich dort Zugriff auf den Generalschlüssel zu verschaffen?
Hier haben wir schon die Schwachstelle, die zum Datendiebstahl führt. Denn wenn der Schlüssel, der alle Hotelzimmer öffnet, von der Rezeption gestohlen werden kann, dann ist es völlig egal, wie sicher die Türschlösser sind.
Jetzt kommt nun die sogenannte Zero-Knowledge-Verschlüsselung ins Spiel. Wenn wir unsere privaten Dokumente (oder unsere wertvolle Kamera) schützen möchten, müssen wir ein Hotel wählen, das keine Kopie unseres Zimmerschlüssels besitzt – genauso, wie wir uns für Online-Service-Provider mit null Wissen – auf Englisch “zero knowledge” – über unsere Passwörter entscheiden müssen.
Was ist ein Zero-Knowledge-Beweis?
Um sich bei einem Web-Server anzumelden, müssen Sie nachweisen, dass Sie ein autorisierter Nutzer sind, indem Sie Ihren Schlüssel oder Ihr Passwort eingeben. Im Normalfall besitzt der Server bereits eine codierte Version Ihres Schlüssels und bei Übereinstimmung öffnet sich die Tür und Sie haben Zutritt. Aber dabei gibt es ein Problem: Der Server hat damit Kenntnis über Ihren Schlüssel. Daher hängt die Sicherheit Ihrer Daten davon ab, dass der Server nicht kompromittiert wird.In den 80er Jahren arbeiteten die MIT-Forscher Shafi Goldwasser, Silvio Micali und Charles Rackoff an einer Methode, mit der jemand (ein “Beweiser”) jemand anderem (einem “Verifizierer”) beweisen muss, dass er die Antwort auf ein bestimmtes mathematisches Problem (das Passwort) kennt, ohne diese dabei preiszugeben. Heutzutage ist dieser komplexe (aber mögliche) Prozess unter dem Namen Zero-Knowledge-Beweis oder ZK-Protokoll bekannt.
Laut Goldwasser, Micali und Rackoff muss der Zero-Knowledge-Beweis die folgenden Kriterien erfüllen:
- Vollständigkeit: Falls der Beweiser das korrekte Passwort bereitstellt, kann der Verifizierer davon ausgehen, dass es sich um das richtige Passwort handelt.
- Zuverlässigkeit: Der Verifizierer wird nur dann überzeugt werden können, wenn der Beweiser tatsächlich das korrekte Passwort eingibt.
- Zero-Knowledge-Eigenschaft: Der Verifizierer hat trotzdem zu keinem Zeitpunkt Kenntnis über das Passwort.
Aber wie können wir nachweisen, dass wir das korrekte Passwort besitzen, ohne dass die Service-Administratoren es kennen? Kompliziert ausgedrückt: Das “private” Passwort des Beweisers und das “public” Passwort des Verifizierers sind mathematisch aneinander gekoppelt. So kann der Verifizierer prüfen, ob sie zusammen gehören, ohne mit diesem Wissen das private Passwort zurückverfolgen oder ermitteln zu können.
Zu kompliziert? Kehren wir noch einmal in unser Zero-Knowledge-Hotel zurück. Deren Lösung ist etwas einfacher: Wenn Sie in das Hotel einchecken, würde man Ihnen keinen Schlüssel übergeben. Stattdessen weist die Rezeption Ihnen nur ein Zimmer zu und bittet Sie zu Ihrer eigenen Sicherheit, ein eigenes, extrem sicheres Vorhängeschloss mitzubringen, um das Zimmer zu verschließen.
Auf diese Weise hat jeder Hotelgast ein privates Schloss, die Rezeption besitzt keine Kopien der Schlüssel und niemand muss sich darauf verlassen, dass der Schlüssel sicher am Empfang verwahrt wird. Denn das Hotel weiß, dass Ihre Wertsachen am besten geschützt werden, wenn wirklich niemand Zugriff hat – selbst das vertrauenswürdigste Hotelpersonal. Falls Hacker jemals versuchen sollten, die Schlüssel zu stehlen, werden sie nur eine leere Schublade vorfinden.
Sicherheit ist keine Vertrauenssache.
Wenn ein Hotel eine Kopie Ihres Schlüssels am Empfang hinterlegt, müssen Sie dem Personal vertrauen, dass es den Zugang zu Ihrem Zimmer nicht missbraucht, ihn sicher schützt und niemals an Dritte weitergibt. Wie wir alle wissen, können wir uns dessen niemals hundertprozentig sicher sein.
Wir bei Tresorit sind deshalb der Überzeugung, dass Sicherheit keine Vertrauenssache sein sollte. Obwohl es eine große technische Herausforderung ist, nutzt Tresorit Zero-Knowledge-Protokolle, um Ihre Daten zu schützen. Im Gegensatz zu anderen Anbietern können unsere Ingenieure garantieren, dass unser Dienst durch Zero-Knowledge-Verschlüsselung geschützt ist, von wo auch immer Sie auf Ihre Daten zugreifen – selbst über Ihren Browser. Das macht es für andere Personen unmöglich, auf Ihre privaten Dokumente Zugriff zu nehmen. Niemand außer Ihnen besitzt den Schlüssel, nicht einmal die Tresorit-Administratoren. Anders ausgedrückt: Wir wissen, dass wir nichts wissen.
Mit der Zero-Knowledge-Methode ist unsere Ende-zu-Ende-Verschlüsselung noch stärker, da wir weder Zugang zu lesbaren Formaten der Nutzerdateien noch des Zugangsschlüssels haben. Es ist die sicherste Methode, Ihre Privatsphäre zu schützen. Nun wissen Sie, warum Sie bei der Wahl eines Online-Dienstes immer nach einer Alternative mit Zero-Knowledge-Verschlüsselung Auschau halten sollten. Ihre Dateien und Informationen gehören Ihnen und Sie sollten deshalb die einzige Person sein, die auf sie zugreifen kann.
Nachweise:
- “Zero-Knowledge-Beweise: Eine illustrierte Einführung” http://blog.cryptographyengineering.com/2014/11/zero-knowledge-proofs-illustrated-primer.html
- “Wie Sie Ihren Kindern Zero-Knowledge-Protokolle erklären” http://pages.cs.wisc.edu/~mkowalcz/628.pdf
- Zero-Knowledge-Beweis – Wikipedia https://de.wikipedia.org/wiki/Zero-Knowledge-Beweis