Mailvelope ist ein Add-on für die Browser Mozilla Firefox und Google Chrome, das OpenPGP Verschlüsselung im Webinterface der E-Mail Provider ermöglicht.
Das Tutorial vom Mailvelop Team erläutert die Verwendung zur E-Mail Verschlüsselung.
Mailvelope kann die interne OpenPGP.js Implementierung nutzen oder eine externe GnuPG Installation. OpenPGP.js hat konzeptuell bedingt einige Schwächen und ist nicht für hohe Sicherheitsanforderungen geeignet. Konzeptuelle Schwächen von OpenPGP.js sind:Javascript bietet keine Möglichkeiten, bei der Programmierung identische Ausführungszeiten für Code Verzweigungen zu erzwingen. Duch Seitenkanalangriffe 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).
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 The Spy in the Sandbox -- Practical Cache Attacks in Javascript (PDF) gezeigt hat.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.
In den FAQ von Mailvelope wird darauf hingewiesen, dass die geheimen Schlüssel durch das Senden eines Speicherabbildes in Absturzberichten an die Entwickler bei Mozilla oder Google kompromittiert werden könnten. Deshalb sollte man diese Funktion im Browser deaktivieren, wenn man Mailvelope verwendet.Mailvelope bietet die Möglichkeit, eine lokale Installation von GnuPG zu verwenden statt der traditionelle Variante mit der OpenPGP.js Implementierung. Damit vermeidet man die oben genannten Schwächen von OpenPGP.js. Auch das Mailvelope Team empfiehlt in den FAQ die Verwendung von GnuPG zur Verbesserung der Sicherheit. Die Verwendung von OpenPGP Smartcards ist nur Kombination mit GnuPG möglich und nicht mit OpenPGP.js.
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.