Aktualisierungen als RSS-Feed oder im Changelog.

Privacy-Handbuch

Mailvelope ist ein Add-on für die Browser Mozilla Firefox und Google Chrome, das OpenPGP Verschlüsselung im Webinterface bietet und immer populärer wird. Es wird von WEB.de, GMX.de und Posteo.de als sichere Lösung für Ende-zu-Ende Verschlüsselung im Browser beworben und auch vom BSI empfohlen. (Hmmm - das BSI hat manchmal seltsame Empfehlungen.) mailbox.org weist als einziger Unterstützer von Mailvelope die Nutzer auf die Schwächen hinsichtlich der Sicherheit hin.

Mailvelope 3.0 (Release Dez. 2018) bietet die Möglichkeit, eine lokale Installation von GnuPG zu verwenden statt der traditionelle Variante mit der OpenPGP.js Implementierung. Damit vermeidet man die unten genannten Schwächen 1. und 2. von OpenPGP.js (ob die Mailprovider weiterhin Zugriff auf die Schlüssel haben, weiß ich noch nicht). Die Verwendung von OpenPGP Smart­cards ist bei der Kombination mit GnuPG ebenfalls möglich.

Hinweis: die Verwendung von GnuPG mit Mailvelope wird nicht funktionieren, wenn man unter Linux den Firefox Prozess unter Kontrolle von apparmor oder SELinux laufen lässt, wie von uns empfohlen. Alle apparmor Profile für Browser verhindern den Zugriff auf GnuPG und SSH Schlüssel als wesentliches (und sinnvolles) Sicherheitsfeature.

OpenPGP.js hat konzeptuell bedingt einige Schwächen in der Sicherheit und bietet nur "hinreichende Sicherheit". Auch der Hauptentwickler von Mailvelope stimmt darin überein, dass Mailvelope mit OpenPGP.js nicht für hohe Sicherheitsanforderungen geeignet ist.

Konzeptuell hat die OpenPGP.js Implementierung folgende Schwächen:
  1. Unsichere Speicherung der Schlüssel: Die Schlüssel werden im HTML5 Storage des Browsers gespeichert. Im HTML5 Security Cheat Sheet wird vom OWASP empfohlen, keine sensitiven Informationen im Local Storage des Browsers zu speichern, da diese Daten mit XSS-Angriffen kompromittiert werden könnten. Auch die Security Analyse zu Mailvelope (PDF) weist auf das Risiko von XSS-Angriffe hin, obwohl die Entwickler sich bemühen, das Risiko zu reduzieren.

    Hinweis: Um bei Nutzung von Mailvelope in Firefox das Risiko von XSS-Angriffen zu verringern, sollte man unbedingt das Add-on NoScript in Kombination mit Mailvelope nutzen, da Firefox keinen XSS-Schutz enthält.
  2. Javascript ist für starke Krypto nicht geeignet: Javascript wurde nicht als Programmiersprache für Krypto-Anwendungen entworfen. Best Practices für die Implementierung von Krypto sind mit Javascript nicht umsetzbar.
    • Javascript bietet keine Möglichkeiten, bei der Programmierung identische Ausführungszeiten für Code Verzweigungen zu erzwingen. Duch Seiten­kanal­angriffe ist es damit möglich, die Reihenfolge der Nullen und Einsen im privaten Schlüssel durch Beobachtung bei der Codeausführung zu rekonstruieren. In modernen Krypto-Bibliotheken ist das ein Securitybug (z.B. CVE-2016-7056 ECDSA P-256 timing attack key recovery, OpenSSL).

      Seitenkanalangriffe auf Browser sind einfach, da der Rechner nicht kompromittiert werden muss. Das Script für den Angriff kann von einer beliebigen Webseite geladen werden, wie Forscher in The Spy in the Sandbox -- Practical Cache Attacks in Javascript (PDF) gezeigt haben.
    • Mit Javascript is es nicht möglich, einen geheimen Schlüssel nach der Benutzung aus dem Hauptspeicher zu löschen (Overwriting memory - why?). Das normale Verhalten von Mailvelope wurde bei Tor Onion Router als Security Bug eingestuft.
    Was in anderen Krypto-Implementierungen als schwerer Bug gilt, wird bei Mailvelope einfach als Javascript Limitierung hingenommen.
  3. Zugriff auf private Schlüssel durch E-Mail Provider: Mit Zustimmung des Nutzers hat der E-Mail Provider über die API Zugriff auf die privaten OpenPGP Schlüssel. Web.de und GMX.de bewerben dieses Feature für die Synchronisation zwischen den Browsern, bei mailbox.org dient es als Backup... das BSI hat keine Einwände dagegen.

    Die privaten Schlüssel werden an den E-Mail Provider nur mit einem extra Passwort verschlüsselt übertragen, trotzdem ist dieser Zugriff bedenklich. Das Feature ist über­flüssig für die Ver- und Entschlüsselung und wurde nur auf Wunsch von Web.de und GMX.de implementiert. Einige andere Provider verschweigen es dezent.

    Diese Funktion zum Zugriff auf den privaten Schlüssel wird insbesondere dann bedenklich, wenn das Mailvelope Add-on vom E-Mail Provider bereitgestellt wird, wie bei Web.de und GMX.de. Besser ist es, das Add-on aus einer vertrauenswürdigen, unabhängigen Quelle zu installieren.
Hier im Privacy-Handbuch empfehlen wir deshalb, für die Ende-zu-Ende Verschlüsselung einen E-Mail Client mit GnuPG Support zu nutzen. Diese Lösung ist für hohe Sicherheits­anforderungen geeigent. Wer höchste Sicherheits­anforderungen braucht, der sollte außerdem eine OpenPGP Smartcard für den privaten Schlüssel verwenden, um eine Kompromittierung auch bei gezielten Angriffen zu vermeiden.

Außerdem empfehlen wir u.a. aus Sicherheitsgründen, grundsätzlich eine E-Mail Client zu bevorzugen, statt die E-Mails im Webinterface des Providers zu verwalten.
Lizenz: Public Domain