Mailvelope

Neben den vielen technischen Änderungen, die durch die Anpassung von Mailvelope an Firefox Quantum notwendig wurden, hat uns während des letzten Jahres vor allem die Frage nach einer vereinfachten und verbesserten Benutzerführung für Mailvelope beschäftigt.

Welche Erfahrungen macht der Nutzer in der Interaktion mit Mailvelope? Wo gibt es besondere Hürden für Neueinsteiger? Im Rahmen des USABLE Projects von Internews konnten wir dieser Frage nachgehen und auf die gesammelten Erfahrungen von Security-Trainern zurückgreifen. Häufige Kritikpunkte betrafen das bisherige Mailvelope Hauptmenü und Schwierigkeiten von Neueinsteigern beim Einrichtungsprozess.

In enger Zusammenarbeit mit dem Team des Passwort-Managers passbolt wurde daher in Version 2.1 und 2.2 die Benutzerführung nach der Installation neu strukturiert und zentrale UI-Elemente neu designt.

Eine Landing-Page weist nun direkt nach der Installation der Extension auf das neu hinzugekommene Icon im Browser hin.

Einstiegsseite von Mailvelope

Außerdem wird dem Nutzer nun direkt nach dem ersten Start von Mailvelope der Einstieg in den Einrichtungsprozesses mit der Erzeugung von Schlüsseln angeboten.

Einstieg in die Konfiguration von Mailvelope

Nach der Konfiguration zeigt das mit neuen Icons versehene Hauptmenü dann die für die alltägliche Nutzung am häufigsten benötigten Funktionen an.

Hauptmenü von Mailvelope
Alle wichtigen Funktionen von Mailvelope sind mit einem Klick erreichbar

Zusätzlich bietet Mailvelope eine neu gestaltete Übersichtsseite an.

Übersichtsseite von Mailvelope
Das neue Mailvelope-Dashboard

Texte können in Mailvelope jetzt auch direkt in der Hauptapplikation ver- und entschlüsselt werden. Somit kann die Nutzung von PGP auch losgelöst von einem Mail Provider erfolgen.

Texte verschlüsseln

Weitere Verbesserungen der Benutzeroberfläche, wie eine Guided-Tour, befinden sich derzeit noch in der Testphase und werden nach und nach in die kommenden Versionen mit aufgenommen.

Mit Version 2.0 ist Mailvelope wieder ein Stück sicherer, schneller und komfortabler geworden.

Schon vor dem Erscheinen von Firefox 57 (Ende November) sind wir auf WebExtensions, die neue, verbesserte Architektur für Add-ons in Firefox vorbereitet. Add-ons werden ab Firefox 57 besser voneinander isoliert und können nicht mehr auf tiefer liegende Schichten des Browsers zugreifen. Die im Mai bekannt gewordene Sicherheitsproblematik im Zusammenspiel von Mailvelope und dem beliebten Open-Source Browser wird damit gelöst sein.

Aber nicht nur die Sicherheit hat profitiert: Mailvelope nutzt jetzt die neueste Version v2.5 von OpenPGP.js. Dadurch hat sich zum einen die Performance bei Verschlüsselungsoperationen erhöht und zum anderen wird so auch eine bessere Kompatibilität zum OpenPGP Standard erreicht. Damit sollten weniger Fehler beim Nachrichten- oder Schlüsselaustausch mit anderen PGP Applikationen auftreten.

Auch die Benutzeroberfläche wurde in Mailvelope 2.0 verbessert. Große Teile davon wurden mit der React UI Bibliothek neu geschrieben. Mit dieser Migration wird die geplante Weiterentwicklung von Mailvelope auch leichter von größeren Entwicklerteams betreut werden können. Ein weiteres Plus von Mailvelope 2.0: Die UI Komponenten von Mailvelope werden nun effizienter in die Seiten der benutzten Webmailer eingeblendet. Die Bedienung von Mailvelope macht damit insgesamt einen deutlich flüssigeren Eindruck.

Als Entwickler einer hochgradig sicherheitsrelevanten Browser-Erweiterung sind wir auf die solide Sicherheitsarchitektur der von uns unterstützten Browser angewiesen. Die Umstellung auf WebExtensions durch Firefox wird daher von unserer Seite sehr begrüßt.
Indem Mozilla mit WebExtensions und Google mit Chrome Extensions für Entwickler eine nahezu deckungsgleiche Umgebung liefern, wird sich nicht nur die Entwicklung von Mailvelope, sondern auch die der Extensions anderer Entwickler deutlich vereinfachen und beschleunigen.
Für den Nutzer bedeutet das: Schnellere Updates und eine zügige Weiterentwicklung von neuen Features, da Mailvelope nun nicht mehr umständlich an die unterschiedliche Architektur von zwei verschiedenen Browsern angepasst werden muss.

Der Großteil der mit Mailvelope 2.0 erfolgten Änderungen ist technischer Art und wird dem Nutzer auf dem ersten Blick nicht sofort auffallen. Neuerungen in Punkto Bedienbarkeit und eine vereinfachte Benutzerführung bei der Einrichtung und dem Betrieb von Mailvelope, werden vor allem die kommenden Versionen bringen. Deutliche Verbesserungen bringt Mailvelope 2.0 jedoch für alle, die oft große Dateianhänge zu versenden haben. Das Größenlimit für die Verschlüsselung von Dateianhängen wurde auf 50 MB angehoben. Zudem unterstützt Mailvelope nun das GPG binär Format (*.gpg Dateien) bei Ver- und Entschlüsselung.

Update: Mit dem Erscheinen von Mailvelope 2.0 ist Mailvelope auf die neue Sicherheitsarchitektur von Firefox vorbereitet.

Ein uns vorliegendes, vom E-Mailanbieter Posteo beauftragtes und von Cure53 durchgeführtes Sicherheits-Auditing hat ergeben, dass die Sicherheitsarchitektur von Firefox derzeit keine ausreichend sichere Umgebung für die Mailvelope Browsererweiterung bieten kann.

Wie bereits seit längerem bekannt, schottet die Firefox-Architektur Add-ons nicht genügend voneinander ab. Dass im Extremfall sogar private Schlüssel eines Mailvelope-Nutzers durch einen gezielten Angriffen in Firefox kompromittiert werden können, war bisher jedoch nicht belegt worden. Cure53 konnte jetzt nachweisen, dass so ein Angriff möglich ist: der Nutzer muss entweder dazu gebracht werden ein schadhaftes Add-on zu installieren oder dem Angreifer gelingt es ein bereits installiertes Add-on zu übernehmen.

Mailvelope ist naturgemäß von der Sicherheit der zugrundeliegenden Browser Plattform abhängig. In dem hier aufgezeigten Fall können wir selbst keine Korrektur anbieten. Allerdings arbeitet Mozilla bereits an einer grundlegenden Verbesserung des Add-on Systems. Im November 2017 wird Firefox endgültig auf eine überarbeitete Add-on Architektur umsteigen, die dann ausreichenden Schutz für die gezeigten Angriffe bieten wird.

Eine Mailvelope-Version für die neue, verbesserte Firefox-Architektur ist bereits in Entwicklung.

Bis Mozilla die Architektur angepasst hat, gelten folgende Sicherheits-Empfehlungen:

  • Verwenden Sie ein eigenes Firefox-Profil für Mailvelope in dem Sie keine weiteren Add-ons installieren.
  • Wählen Sie außerdem ein möglichst sicheres Passwort für Ihren PGP-Schlüssel.
  • Achten Sie darauf, nicht versehentlich weitere Add-ons in diesem Profil zu installieren, über die Sie angegriffen werden könnten.

Das Sicherheits-Audit brachte aber auch positive Ergebnisse zu Mailvelope. Posteo schreibt hierzu:

Es wurde geprüft, ob E-Mail-Provider, für die Mailvelope genutzt wird, auf den im Browser gespeicherten privaten Schlüssel der Mailvelope-Nutzer zugreifen können: Dies war nicht möglich. Alle anderen Versuche der Sicherheits-Ingenieure, als Betreiber von Dritt-Webseiten oder Man-in-the-Middle-Angreifer auf die in Mailvelope gespeicherten privaten Schlüssel zuzugreifen, waren ebenfalls nicht erfolgreich.

Security Audits wie das von Posteo durchgeführte sind für uns ein wichtiger Indikator, um zu sehen, wie wir Mailvelope weiter verbessern können. An dieser Stelle, vielen Dank an Posteo für die Durchführung des Audits und dem damit geleisteten Beitrag zum Mailvelope Projekt.

Die kürzlich veröffentlichte Version 1.4 von Mailvelope kommt mit Neuerungen im Bereich der Dateiverschlüsselung. Über eine Suchfunktion können PGP Schlüssel auch von öffentlichen Schlüsselservern importiert werden.

Dateiverschlüsselung

Mit der Dateiverschlüsselung von Mailvelope können Dateien auf der Festplatte mit dem PGP Verfahren verschlüsselt werden. Dabei wird analog zur E-Mail Verschlüsselung die Datei mit dem öffentlichen Schlüssel des Empfängers verschlüsselt.

Verschlüsselung von Dateien

Weitere Details in der Dokumentation Dateiverschlüsselung.

Verschlüsselte Email Anhänge

Für E-Mail Anbieter die Mailvelope direkt in ihre E-Mail Applikation eingebunden haben, werden verschlüsselte Dateianhänge automatisch unterstützt. Bei E-Mail Anbietern wie Gmail™, Yahoo™ oder Outlook.com™ können Dateianhänge prinzipbedingt nicht direkt im Mailvelope Editor angehängt werden. Mit der nun verfügbaren Dateiverschlüsselung bietet Mailvelope eine Alternative: E-Mail Anhänge können hiermit manuell ver- und entschlüsselt werden.

Suchfunktion für Schlüssel

Mit dem Suchfeld in der Mailvelope Schlüsselverwaltung wird die Suche auf öffentlichen Schlüsselservern vereinfacht. Schlüssel können direkt aus den Suchergebnissen des Servers importiert werden.

Suchfeld Key Server

Weitere Informationen zur Suchfunktion in der Dokumentation Schlüsselverwaltung.

Die beiden größten deutschen E-Mail Provider GMX und WEB.DE haben heute die Verfügbarkeit von PGP Verschlüsselung basierend auf Mailvelope angekündigt. Viel Entwicklungsarbeit ist in den letzten 12 Monaten aus der Kooperation von 1und1 und der Mailvelope GmbH in das Mailvelope Open Source Projekt geflossen, und ab heute können die 30 Millionen Kunden von GMX und Web.de erstmals die integrierte Ende-zu-Ende Verschlüsselung nutzen.

Die Benutzer im Fokus

Die innovative Verzahnung von Browser Erweiterung und Webapplikation erreicht ein bisher unerreichtes Maß an Nutzerfreundlichkeit, ohne die Sicherheit zu kompromittieren. Mailvelope leistet so einen wichtigen Beitrag dazu, sichere Kommunikation für normale Menschen praktikabel und attraktiv zu machen.

Über eine Mailvelope API (Programmierschnittstelle) die prinzipiell auch für andere Provider nutzbar ist, werden sichere Container innerhalb der Mail Clients von GMX und Web.de geschaffen, in denen die PGP Nachrichten (und Dateianhänge) gelesen und erzeugt werden können. Zu jedem Zeitpunkt kann der Benutzer über einen individuellen Sicherheitshintergrund die Mailvelope Container identifizieren und zu keinem Zeitpunkt gelangen vertrauliche Daten unverschlüsselt zum Mail Provider.

Ende-zu-Ende Verschlüsselung

Hier setzt sich Mailvelope deutlich von serverseitigen PGP-Lösungen wie OX Guard / mailbox.org ab. Diese mögen zwar zu einer weiteren Verbreitung von PGP beitragen, können aber nicht als Ende-zu-Ende Verschlüsselung bezeichnet werden: der private Schlüssel befindet sich auf dem Server, die Nachrichten werden direkt beim Anbieter ver- und entschlüsselt und, somit muss der Benutzer grundsätzlich dem Server und Anbieter vertrauen. Das Argument, dies schütze vor unsicheren Endgeräten, geht am Problem vorbei, da in jedem Fall auch bei diesem Ansatz beim Lesen die Nachricht und Dateien unverschlüsselt auf dem Endgerät landen und somit die Sicherheit der Daten immer auch von der Qualität des Endgerätes abhängt. Der serverseitige Ansatz schafft zentrale Strukturen, die potentiell lohnenswerte Ziele für einen Angriff darstellen.

Schlüsselverteilung

Mailvelope löst das Problem der Verteilung des privaten Schlüssels auf mehrere Endgeräte über einen generierten 26-stelligen Wiederherstellungscode. Dieser wird bei der Ersteinrichtung in einem optionalen Schritt erzeugt und dann auf allen weiteren Geräten vom Nutzer eingegeben. Anschließend kann der private Schlüssel aus der Cloud synchronisiert werden. Das Paket mit dem privaten Key besitzt eine starke Verschlüsselung (AES-256) und kann nur mit Hilfe des 26-stelligen zufälligen Passwortes geöffnet werden. Diese Verschlüsselung besitzt ein sehr hohes Sicherheitsniveau und ist nach derzeitigem Wissen auch über 2030 hinaus nicht zu brechen. Nach einhelliger Meinung sind die Schwachpunkte eines Systems zur sicheren Kommunikation auch nicht bei aktuellen Algorithmen wie AES zu suchen, oder um es mit Snowden zu sagen: „Encryption works“.

Nutzung mobiler Geräte

Somit können nach einem Ersteinrichtungsschritt auch mobile Geräte, wie die iOS und Android App von GMX und WEB.DE, für die Verschlüsselung mit PGP verwendet werden. Dabei werden auch die Kontakte (öffentliche Schlüssel) zwischen den Geräten des Nutzer synchronisiert. Ein einmal hinzugefügter Kontakt (mit optionalem Fingerprint-Vergleich) in Mailvelope wird so automatisch auf andere Geräte verteilt. Hierzu setzt Mailvelope auf anbieterübergreifende Formate.

Die Möglichkeiten, Kryptographie im Browser umzusetzen, haben sich in den letzten Jahren stark erweitert. Folgende Artikel liefern eine Einschätzung der aktuellen Entwicklung und sind auf JavaScript basierte Browser Erweiterungen wie Mailvelope übertragbar: "JS crypto goto fail?", Google end-to-end threat model.

Die beiden deutschen Telekommunikationsanbieter Deutsche Telekom und United Internet (1und1, Web.de, GMX.de) gaben heute bekannt, Benutzern von De-Mail künftig eine End-to-End-Verschlüsselung anzubieten. Die Browser-Erweiterung Mailvelope wird in den Webmail-Client von De-Mail integriert und für alle PGP-bezogenen Verschlüsselungsdienste verwendet. In den letzten Monaten haben 1und1 und die Deutsche Telekom an dieser Integration gearbeitet, um die Verwendung von PGP in einer Webmail-Umgebung zu verbessern und gleichzeitig die Verbindung von Browser-Erweiterung und dem Webserver von De-Mail zu stärken.

Browser-Erweiterung für PGP

Die Mailvelope Browser-Erweiterung ist seit 2012 für Google Chrome verfügbar. In ihrer derzeitigen Version werden PGP-Funktionen zum Frontend der unterstützten Webmail-Anbieter hinzugefügt. Diese Vorgehensweise bietet den Vorteil, dass alle verschlüsselungsrelevanten Dienste und der Schlüsselspeicher in einer lokal installierten Browser-Erweiterung eingeschlossen sind, die vom Webmail-Client isoliert ist.

Mailvelope Client-API

Für die Einbindung in das De-Mail-System entwickelte Mailvelope eine Client API, die die Benutzerfreundlichkeit weiter verbessert und Funktionen wie verschlüsselte Anhänge hinzufügt. Die sicheren Komponenten der Benutzeroberfläche von Mailvelope können problemlos in die Web-Anwendungen eingebettet werden. Die API ist offen, dokumentiert und kann über unser GitHub Repository abgerufen werden.

Wir freuen uns auf die Zusammenarbeit mit der DE-Mail-Allianz und darauf, End-to-End-Verschlüsselung einem breiteren Benutzerkreis verfügbar zu machen.

Mailvelope v0.8.0 basiert heute auf der neuen Version von OpenPGP.js und beinhaltet eine umfassend neu gestaltete Bibliothek. Mit dem modularen Design, einer neuen leistungsstarken API, einer verbesserten Kompatibilität mit dem OpenPGP-Standard und weiteren Verbesserungen haben wir eine solide Grundlage für die künftige Weiterentwicklung von Mailvelope geschaffen.

Sicherheitsprüfung von OpenPGP.js

Im Februar 2014 führte Cure53 eine Prüfung der kompletten Code-Basis von OpenPGP.js durch. Im Penetrationstest konnten insgesamt 26 Probleme festgestellt werden. Alle kritischen, ernsten und mittelschweren Probleme wurden inzwischen behoben. Der vollständige Bericht und der Status der Fehlerbehebung können im OpenPGP.js-Wiki eingesehen werden. Wir werden auch weiterhin die Ergebnisse aller Sicherheitsprüfungen offenlegen, um eine möglichst große Transparenz in unserem Entwicklungsprozess zu gewährleisten. Siehe auch die Erklärung des OTF über "Bringing Openness to Security" (Transparenz im Bereich Sicherheit).

Auswirkungen entdeckter Schwachstellen

Spoofing signierter Klartextnachrichten: Mailvelope unterstützte bisher keine Verifizierung von signierten Klartextnachrichten und war in Bezug auf diese Art Angriffe daher nie gefährdet.

EME-PKCS1-v1_5 Padding mit schwachen Zufallszahlen: Nachrichten, die vor v0.8.0 mit Mailvelope verschickt wurden, sind durch "Known Padding" (auch als "Stereotyped Message" bezeichnet) gefährdet. Ein Angriff, in dem versucht wird, die verschlüsselte Nachricht wiederherzustellen, ist mit der Coppersmith-Methode möglich. Allerdings ist ein solcher Angriff nur dann realisierbar, wenn der verwendete RSA-Schlüssel bestimmte "Gefährdungs"-Bedingungen erfüllt:

Eine RSA-Verschlüsselung wird als gefährdet bezeichnet, wenn ihre Modulgröße >= dem 256-fachen des öffentlichen Exponenten ist. Diese Bedingung wird durch die meisten PGP-Schlüssel nicht erfüllt. Wahrscheinlich können nur weniger als 1/1000 PGP-Schlüssel als "unsicher" bezeichnet werden.Trevor Perrin, OTF Red Team

Die vollständige Analyse des EME-PKCS1-v1_5 Padding-Bug ist im Wiki von Mailvelope verfügbar.

Mit Mailvelope erzeugte Schlüssel haben einen höheren Exponenten und gelten daher als "sicher". Die ermittelten Zahlen lassen zudem darauf schließen, dass RSA-Schlüssel, die mit der modernsten Software nach dem Jahr 2000 erzeugt wurden, nicht als gefährdet betrachtet werden müssen.

Dieses Risiko wird außerdem dadurch reduziert, dass bei Mailvelope für Google Chrome eine Wiederherstellung des Padding nur für Nachrichten möglich ist, die in derselben Browser-Sitzung erstellt werden. In Bezug auf eine Zielnachricht mit einem "gefährdeten" Schlüssel bedeutet dies, dass ein Angreifer das Padding einer zweiten regulär entschlüsselten Nachricht benötigt, die in derselben Browser-Sitzung als Zielnachricht generiert wurde.

Signieren von Klartextnachrichten

Der Editor von Mailvelope ermöglicht jetzt das Signieren von Nachrichten.

Signierte Klartextnachricht

Geringfügige änderungen

Fertigen Sie jetzt mit der Funktion Export all keys (Alle Schlüssel exportieren) eine Sicherheitskopie Ihres kompletten Schlüsselsatzes an.

Wir danken allen, die einen Beitrag zum Release v0.8.0 geleistet haben, insbesondere dem Open Technology Fund (RFA) für die finanzielle Unterstützung des Projekts, dem Team von Cure53 für die gründliche Prüfung und die damit verbundenen änderungen an OpenPGP.js und auch Trevor Perrin für seine weitere Sicherheitsanalyse und Unterstützung.

Seit unserem letzten großen Release sind mehr als sieben Monate vergangen. Umso mehr freut es uns, dass wir heute die Veröffentlichung von Mailvelope v0.7.0 bekannt geben können.

Verbesserung für Schlüsselraster und Schlüsselimport

Die Leistung des Schlüsselrasters wurde optimiert, um die anfängliche Ladezeit zu reduzieren und die Handhabung einer großen Anzahl von Schlüsseln zu ermöglichen. Die Schlüsselimportfunktion wurde komplett umgestaltet und bietet nun einen besseren Protokollmechanismus für Warnungen und Fehler, die im Importprozess auftreten.

Erkennung öffentlicher Schlüssel im E-Mail-Körper

Schlüssel können beispielsweise per E-Mail ausgetauscht werden. Wenn der öffentliche Schlüssel als geschützter Text Teil des E-Mail-Körpers ist, kann Mailvelope den Schlüssel erkennen und - wie bei verschlüsselten Nachrichten - mit einem Overlay markieren:

Schlüsselimport mit einem Mausklick

Durch Anklicken wird das Optionsdialogfeld von Mailvelope geöffnet und der Schlüssel automatisch importiert.

Firefox Add-on fast fertiggestellt

Die Arbeit an einer Firefox-Version von Mailvelope ist gut vorangekommen, und die Funktionen stimmen inzwischen fast mit der Erweiterung für Chrome überein. Aufgrund technischer Einschränkungen ist derzeit lediglich die Inline-Verschlüsselung noch nicht umsetzbar. Stattdessen zeigt das Firefox Add-on entschlüsselte Nachrichten immer in einem Pop-up-Fenster an. Bevor das Firefox Add-on offiziell veröffentlicht werden kann, muss zudem die Leistung weiter verbessert werden.

Das neueste Paket für beide Plattformen finden Sie im Abschnitt "Releases" auf GitHub.

Weitere Verbesserungen und Fixes

Mailvelope generiert inzwischen u. a. standardmäßig RSA-Schlüssel mit 2048 Bit, korrigiert die falsche Kodierung von ASCII-fremden Zeichen in Nachrichten und fügt einen Verweis auf Mailvelope in die PGP-Kopfzeile ein. Eine vollständige Liste der änderungen finden Sie unter Changelog.

Mailvelope v0.7.0 für Chrome ist jetzt im Chrome Web Store verfügbar.

Mailvelope v0.6 wurde heute mit umfassenden änderungen veröffentlicht, die vorwiegend die Sicherheit betreffen. Ende Dezember 2012 begann Cure53 mit der Durchführung einer Prüfung und bewertete die Umsetzung der Sicherheit und Aspekte des Sicherheitsdesigns bei Mailvelope. Im Laufe von zwei Monaten erarbeiteten wir mit Cure53 neue Konzepte, die darauf zielten, den Verlust vertraulicher Benutzerdaten zu verhindern, ohne dabei die Benutzererfahrung zu gefährden. Der vollständige Penetrationstestbericht kann hier eingesehen werden.

Die Highlights dieses neuen Release sind u. a.:

  • Mailvelope beinhaltet jetzt einen externen Editor für die Erstellung von Nachrichten. Das Verfassen und Verschlüsseln der E-Mails erfolgt damit vollständig isoliert vom E-Mail-Anbieter.
  • In allen Dialogfenstern wird ein Sicherheitstoken angezeigt, über den die Herkunft des Dialogs klar zugeordnet werden kann.
  • Zwei Optionen für die Anzeige verschlüsselter Nachrichten: auf der Seite des E-Mail-Anbieters oder in einem separaten Pop-up-Fenster.
  • Passwörter für private Schlüssel können im Speicher abgelegt werden, wodurch der Prozess der Entschlüsselung beschleunigt wird.

Weitere Einzelheiten können Sie dem Abschnitt "Sicherheit" der Dokumentation entnehmen.

Wir möchten uns beim Open Technology Fund (RFA) für die finanzielle Unterstützung für die Sicherheitsprüfung bedanken. Ohne diese Mittel wären die Optimierungen im neuen Release von Mailvelope nicht möglich gewesen. Wir bedanken uns ebenfalls bei Mario Heiderich und Krzysztof Kotowicz von Cure53 für ihre Unterstützung.