Nachrichten signieren | Blog

Release v0.8: Code-Basis analysiert und Sicherheit verbessert.

9. April 2014

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.

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.