Mit Argon2 setzen wir neue Maßstäbe in Sachen Sicherheit.

Argon2 ist die sicherste Hashing-Funktion zum Schutz von Passwörtern und Verschlüsselungscodes.

2023-08-23
Wir freuen uns, Ihnen mitteilen zu können, dass wir die Hashing-Funktion in Tutanota auf Argon2 aktualisieren - den sichersten Algorithmus. Dies ist der erste Schritt auf unserem Weg zu einem post-quantensicheren E-Mail-Anbieter, da diese Hashing-Funktion viel größere Verschlüsselungsschlüssel erzeugen kann, die zur Sicherung Ihrer Tutanota-E-Mails, -Kalender und -Kontakte verwendet werden.

Wie Sie wissen, planen wir, der erste post-quantensicehre E-Mail- und Cloud-Anbieter zu werden, und wir freuen uns sehr, Ihnen mitteilen zu können, dass wir nun den ersten Meilenstein in diesem Projekt erreicht haben!

Ihr Passwort - das zur Generierung Ihrer Verschlüsselungsschlüssel verwendet wird, mit denen alle Ihre Daten in Tutanota verschlüsselt werden - wird nach diesem Update nicht mehr mit bcrypt, sondern mit Argon2 geschützt sein: ein neuer und fortschrittlicher Algorithmus, der zu einer noch besseren Sicherheit führen wird.

Warum stellen wir auf Argon2 um?

Als Tutanota ins Leben gerufen wurde, war bcrypt die beste Möglichkeit, ein Passwort in einen kryptografischen Schlüssel zu verwandeln. Es verwandelt Ihr Passwort in 192 zufällig aussehende Bits, die wir für kryptografische Zwecke verwenden können. Das ist viel mehr Entropie, als die meisten Passwörter jemals haben werden, also ist es sicher genug, oder?

Nun, um quantensicher zu werden, wollen wir alle unsere AES-Schlüssel auf 256 Bit umstellen, denn 128-Bit-Schlüssel werden nicht mehr sicher sein, sobald ein Quantencomputer existiert, der Grovers Algorithmus ausführen kann. Die mathematisch Interessierten unter Ihnen werden jedoch feststellen, dass 256 größer als 192 ist.

** Was können wir also tun?**

Wir können diese 192 Bits strecken, indem wir sie z. B. mit SHA-256 verschlüsseln, was in den meisten Fällen gut funktionieren würde.

Aber warum sollten wir das tun, wenn es noch besser geht?

Enter Argon2

Argon2 ist der Gewinner des Passwort-Hashing-Wettbewerbs - und das aus gutem Grund. Dieser Algorithmus wird derzeit von den meisten modernen Richtlinien empfohlen, darunter auch von der OWASP Foundation.

Argon2 bietet eine Reihe von Verbesserungen gegenüber bcrypt, wie z. B. "memory-hardness" und "side-channel resistance".

Kann Argon2 in allen Clients verwendet werden?

Nachdem wir uns auf den Algorithmus geeinigt hatten, den wir verwenden wollen, stand das Problem im Raum, wie wir ihn auf allen von uns unterstützten Plattformen einsetzen können: Android, iOS, Desktop-Clients und Web. Das Hauptproblem ist, dass es keine JavaScript-Implementierung gibt, oder zumindest keine, die wir in Betracht ziehen würden. Es gibt jedoch eine Reihe von JavaScript-Bindings für die C-Referenzimplementierung, die zu WebAssembly kompiliert wurden.

WebAssembly ist eine Technologie, mit der in fast jeder Programmiersprache geschriebener Code in einem Webbrowser ausgeführt werden kann.

Wir haben uns daher für diese Technologie entschieden, aber wir haben auch unseren eigenen minimalen "Glue"-Code geschrieben, um die besten Ladezeiten mit dem saubersten Code zu erreichen.

Warum verwenden wir WebAssembly?

WebAssembly wird schon seit langem von allen wichtigen Browsern unterstützt. Deshalb haben wir uns für diese Lösung entschieden, da sie für alle Tutanota-Nutzer die besten Ergebnisse in Bezug auf Sicherheit und Geschwindigkeit bringt.

Ein kleines Problem besteht darin, dass WebAssembly zwar von allen wichtigen Browsern unterstützt wird, aber in einigen Situationen nicht zur Verfügung steht, zum Beispiel im Lockdown-Modus von iOS.

Wir haben in Erwägung gezogen, diese Anforderung vollständig zu umgehen, indem wir den C-Code in reines JavaScript (asm.js) kompilieren, aber das würde die App zu langsam machen, um verwendbar zu sein.

Wir werden jedoch native Implementierungen für die mobilen Anwendungen verwenden, wodurch wir eine schnellere Ladezeit erzielen und die genannten Anforderungen bei diesen Clients wegfallen.

Um allen die Möglichkeit zu geben, unseren neuen und sichereren Passwortschutz mit Argon2 zu nutzen, informieren wir die Nutzer aller Umgebungen, die Probleme mit WebAssembly haben könnten, aktiv über dieses Update, damit auch sie ihre Sicherheit verbessern können.

Was machen andere Anbieter?

Im Gegensatz zu Anbietern wie Google oder Outlook verwenden wir Ihr Kennwort nicht nur zur Authentifizierung, sondern auch zur Generierung des Schlüssels, der alle Ihre verschlüsselten Daten absichert. Daher benötigen wir eine kennwortbasierte Schlüsselableitungsfunktion und keine Kennwort-Hashing-Funktion oder ein kennwortbasiertes Authentifizierungsprotokoll.

Bei dieser Anforderung - wie oben erläutert - ist Argon2 bcrypt weit voraus und wird Ihre verschlüsselten Daten noch sicherer machen.

Bis heute nutzt keiner unserer Wettbewerber Argon2, so dass wir mit diesem Schritt des Upgrades auf Argon2 einmal mehr beweisen, dass wir der sicherste E-Mail-Anbieter sind.

Was müssen Sie tun?

Die meisten Nutzer müssen nichts tun; sie werden einfach von der erhöhten Sicherheit profitieren, sobald die Umstellung erfolgt ist.

Einige Benutzer, die Systeme verwenden, die Probleme mit WebAssembly haben, sehen möglicherweise eine Warnung.

Erscheint diese Warnung im Tor-Browser, können Sie:

  • zur Sicherheitsstufe Standard im Tor-Browser wechseln, oder
  • einen anderen Browser starten und die laufende Tor-Instanz als Proxy benutzen.

Wenn Sie den Lockdown-Modus auf iOS verwenden, nuzten Sie unbedingt unsere mobile App. Wenn Sie dennoch den Browser nutzen möchten, müssten Sie eine Ausnahme für Tutanota im Lockdown-Modus hinzufügen; dies ist mit der App nicht nötig.

Wenn Sie Android nutzen, aktualisieren Sie bitte WebView. Dies ist nur nötig, wenn Sie Tutanota im Browser nutzen.

Achten Sie darauf, dass Sie einen der unterstützten Browser oder den Tutanota-Desktop-Client verwenden.

Wir freuen uns, dass wir Ihr Sicherheitsniveau durch den Wechsel von bcrypt zu Argon2 erhöhen können!