Verschlüsselte Mails im Browser

Clientseitige asymmetrische Email-Verschlüsselung
  1. Clientseitige Verschlüsselung im Browser
  2. Ampelsystem um Zertifikate zu prüfen
  3. Einfache Bedienbarkeit
  4. Keine Plugins nötig, pures JavaScript

Wie implementiert man eine Verschlüsselung für Webmail?

Diesem Problem gingen wir mit diesem HdM-Projekt nach. Wir implementierten eine RSA-Verschlüsselung, ohne dass die Email-Software SquirrelMail dazu angepasst werden muss.

Der Nutzer klickt auf ein Bookmarklet und unser Interface wird in die vorhandene Webseite eingebettet. Dort kann der Benutzer sich einen neuen Schlüssel generieren, den er dann zum Download erhält, oder einen vorhandenen Schlüssel hochladen. Der Schlüssel selbst wird mit einem Benutzer-Passwort verschlüsselt.

Danach ist der Workflow fast so wie immer. Nur dass ein Button zum verschlüsselten Senden hinzugefügt wurde. Außerdem können Nachrichten, egal ob verschlüsselt oder unverschlüsselt, signiert werden.

Einkommende Emails werden automatisch entschlüsselt und die Signatur überprüft.

Sicherheit

  • AES-256 / RSA 2048 hybride Verschlüsselung
  • HTTPS-Verbindungen
  • Ausschließlich lokales Key-Management
  • Kein Klartext verlässt den Computer
  • Identität wird über Email-Inhaber überprüft

Frontend

  • Cross-Site-Injection via JS-Bookmarklet
  • Seite wird in ein iFrame geschoben, damit der JS-Code bei Seitennavigation erhalten bleibt
  • Neue Interface-Elemente werden für die erweiterte Funktionalität injiziert

Backend

  • PHP-Webserver mit prototypischer API um öffentliche Schlüssel hinzuzufügen und abzurufen
  • mySQL DB
  • SSL

Video

Um dieses Youtube-Video zu schauen müssen Sie zuerst Drittanbieter-Cookies (Youtube, Google) akzeptieren. Weitere Informationen zu diesen Google-Cookies