Firefox Send: Dateien verschlüsselt teilen

Mozilla hat Firefox Send als eigenständiges Produkt gestartet. Send erlaubt es, kostenlos und verschlüsselt Dateien an andere Anwender zu übertragen. Dabei nutzt es ein von Mozilla im RFC 8188 entwickeltes Verschlüsselungsverfahren für HTTP.

Mit Send lassen sich Dateien von bis zu 2,5 GByte von Browser zu Browser verschicken, für angemeldete Nutzer. Unangemeldet dürfen User immerhin 1 GByte große Dateien schicken. Dabei legt der Versender fest, wie lange die Datei online stehen soll (in Tagen) oder nach wie vielen Downloads er sie wieder vom Netz nehmen möchte. Der Upload der Datei erzeugt einen Link, der sich an andere Anwender verschicken lässt. Auch das Schützen der Datei mit einem Passwort ist möglich.

Mozilla scheint sich der Sicherheit des Dienstes gewiss zu sein. Der Blogpost zu Send schlägt als Beispiel vor, Schufa-Dokumente per Send zu verschicken. Für die Verschlüsselung setzt Mozilla dabei auf ein Verfahren, das hausintern entwickelt und im RFC 8188 standardisiert wird. Dabei geht es darum, die Payloads in HTTP-Streams zu verschlüsseln. Das ist ein Unterschied zu TLS, das den Channel zwischen Client und Server chiffriert. Schneidet jemand den HTTP-Traffic mit, findet er die Daten nur verschlüsselt vor.

Hin und Her

Wie die File Encryption von Firefox Send im Detail funktioniert, verrät eine Seite auf Github. Demnach setzt Send auf ein Web Crypto API mit einer 128-Bit AES-GCM-Verschlüsselung. Aus einem Secret Key werden über HKDF SHA-256 drei Schlüssel abgeleitet und lokal generiert. Zwei (AES-GCM), um die Datei und ihre Metadaten zu chiffrieren, ein Signing Key (HMAC SHA-256) für die Authentifizierung der Anfrage. Verschlüsselte Dateien und der Signing Key landen dann auf Mozillas Servern. Die liefern einen Owner Token und eine Share URL zurück. Lokal wird dann noch der Secret Key als URL-Fragment angehängt.

Da der Link nun auch den geheimen Schlüssel enthält, ist es wichtig, ihn über einen sicheren Kanal an das Gegenüber zu schicken. Bekommt ein Dritter den Link in die Hände, kann dieser die Datei ebenfalls herunterladen.

Der Empfänger ruft dann die URL auf Mozillas Webserver, die eine Authentifizierungs-Nonce enthält, über den Link auf. Aus dem URL-Fragment generiert Send auf der Empfängerseite abermals die drei Schlüssel. Mit einem davon, dem Signing Key, signiert der Browser die Authentification Nonce und fragt zunächst nach den Metadaten. Die erscheinen entschlüsselt im Browser, der dann nach einer weiteren authentifizierten Anfrage die verschlüsselte Datei holt und anbietet, sie zu speichern.

Setzen Sender und Empfänger auf ein geheimes Passwort, löscht der mit Firefox Send eingesetzte Mechanismus den oben erwähnten Signing Key und generiert auf Basis des Passworts und der Share URL über PBKDF2 einen neuen. Der landet dann auf Mozillas Servern und ein entsprechendes Passwort-Flag begleitet die Datei.

Wie sicher ist das Ganze?

Weil die amerikanischen Regierung AES 256 für hochgeheime Dokumente empfiehlt, darf es als sicher gelten. Jedenfalls aktuell. Krypto-Experten sehen in diesem Fall eher den Browser und bösartiges Javascript auf der Send-Webseite als potenzielle Schwachstellen.

Darüber, wie sicher Browser-Verschlüsselung heute insgesamt ist, scheinen aber die Meinungen auseinander zu gehen. Wer nicht gerade hochsensibles Material mit anderen tauschen möchte, kann wohl auf jeden Fall zu Send greifen. Nutzer mit leichtem Hang zur Paranoia sollten einfach abwarten, ob sich in nächster Zeit Schwachstellen in dem Dienst offenbaren.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben