EncFS – Dateien in der Cloud verschlüsseln

Aufgrund bestehender und anhaltend ungelöster Sicherheitsprobleme mit EncFS empfiehlt es sich auf Alternativen wie beispielsweise Cryptomator auszuweichen.

EncFS ist eine Open Source Lösung zur dateibasierten Verschlüsselung und funktioniert theoretisch betriebssystemübergreifend. Besonders gut unterstützt sind gegenwärtig Linux und Android. Durch die dateibasierte Verschlüsselung ist EncFS besonders gut für den Cloudeinsatz geeignet, da immer nur die geänderte Datei hochgeladen werden muss und nicht der gesamte Verschlüsselungs-Container.

Sicherheit von EncFS

EncFS 1.7.4 wurde am 14. Januar 2014 einer Sicherheitsprüfung, einem so genannten Security Audit, unterzogen. Dabei kamen einige Schwachstellen zum Vorschein und es wurde grundsätzliche Kritik geübt.

“This audit finds that EncFS is not up to speed with modern cryptography practices”

Für den Einsatzzweck in der Cloud ist vor allem folgende Passage des Sicherheitsberichts von Bedeutung:

“EncFS is probably safe as long as the adversary only gets one copy of the ciphertext and nothing more. EncFS is not safe if the adversary has the opportunity to see two or more snapshots of the ciphertext at different times. EncFS attempts to protect files from malicious modification, but there are serious problems with this feature.”

Der Einsatz in der Cloud bringt es leider zwangsläufig mit sich, dass ein Angreifer mehr als eine Kopie der Datei erreichen kann. EncFS ist damit nur dort sicher, wo es nicht benötigt wird – im lokalen Einsatz – und in seinem Haupteinsatzbereich unsicher.

Die Probleme sind nach wie vor nicht grundlegend behoben. Eine Liste der offenen Sicherheitsprobleme kann diesem Bugreport entnommen werden.

EncFS installieren und konfigurieren

EncFS ist in den Paketverzeichnissen aller großen Linux-Distributionen enthalten, es lässt sich deshalb einfach aus diesen installieren. Anwender von macOS können EncFS via Homebrew installieren.

Danach muss man noch sicherstellen, dass der eigene Benutzer Mitglied der Gruppe fuse ist.

# gpasswd -a <benutzername> fuse

EncFS arbeitet mit zwei Verzeichnissen. Eines ist das Verzeichnis in eurem Cloud-Ordner, in dem die verschlüsselten Dateien liegen und eines in eurem Homeverzeichnis, das als Mountpoint dient. Im Fall von eines lokalen Verzeichnisses “Cloud” sähe das beispielsweise so aus.

$ encfs ~/Cloud/Privates ~/Cloud-Privates

Mit diesem Befehl erstellt man einen Ordner Privates im lokalen Cloud-Ordner und einen Mountpoint Cloud-Privates im Homeverzeichnis. Wichtig ist die Abfragen mit “y” zu bestätigen, selbst wenn “j” vorgeschlagen wird. Es spricht bei der Wahl des Modus nichts dagegen den Paranoia-Modus zu wählen.

Danach existiert ein Verzeichnis ownCloud-Privates, in das wir unsere zu verschlüsselnden Dateien kopieren. In Cloud/Privates kann man dann die verschlüsselten Dateien sehen, die so auch in die Cloud übertragen werden.

Nach einem Neustart lässt sich das Verzeichnis mit demselben Befehl einbinden, mit dem es auch erstellt wurde, d.h.:

$ encfs ~/Cloud/Privates ~/Cloud-Privates

Grafische Oberflächen

Es gibt verschiedene grafische Oberflächen für EncFS. Einige davon wurden hier im Blog bereits behandelt: