EncFS
EncFS | |
---|---|
Basisdaten
| |
Entwickler | Valient Gough |
Erscheinungsjahr | 2003[1] |
Aktuelle Version | 1.9.5[2] (27. April 2018) |
Betriebssystem | Linux, FreeBSD, Mac OS X, Windows |
Kategorie | Dateisystem, Verschlüsselung |
Lizenz | LGPL |
vgough.github.io/encfs/ |
EncFS ist eine freie (unter der GPL veröffentlichte) Verschlüsselungserweiterung für beliebige Dateisysteme unixartiger Betriebssysteme und baut auf dem FUSE-Framework auf. Es verschlüsselt dabei nicht ganze Dateisysteme, sondern lediglich einzelne Dateien, sodass es ohne separate Einrichtung einer eigenen verschlüsselten Partition nachgerüstet werden kann und weiterhin herkömmliche Werkzeuge, beispielsweise zur Datensicherung, verwendet werden können.
Funktionsweise
[Bearbeiten | Quelltext bearbeiten]EncFS verwendet zwei Verzeichnisse zum transparenten Verschlüsseln der Daten. In einem der Verzeichnisse werden die zu verschlüsselnden Daten abgelegt. Die hier gespeicherten Daten werden jedoch nicht direkt auf die Festplatte geschrieben, sondern von EncFS zunächst verschlüsselt und dann im zweiten sogenannten Quellverzeichnis in verschlüsselter Form gespeichert. Die unverschlüsselte Ansicht im ersten Verzeichnis ist nur sichtbar, solange der zweite mittels EncFS in den ersten eingebunden ist. Dabei entspricht jede verschlüsselte Datei im zweiten Verzeichnis einer unverschlüsselten Datei im Ersten. Ist der Inhalt des verschlüsselten Verzeichnisses nicht eingebunden, ist das unverschlüsselte Verzeichnis leer.
Verschlüsselung
[Bearbeiten | Quelltext bearbeiten]Verschlüsselt werden die Daten dabei mit einem großen, in einer Datei vorliegenden Schlüssel, dem so genannten Volume Key. Dieser ist nochmals mit einem Passwort geschützt, um Entschlüsselung bei Kenntnis des Volume Keys zu verhindern. EncFS kann verschiedene Verschlüsselungsalgorithmen verwenden; typisch sind Blowfish und AES. Möchte man auf die verschlüsselten Daten zugreifen, so muss man also beim Einbinden das Passwort des Volume Keys eingeben.
Die Daten werden dabei in einzelnen Datenblöcken verschlüsselt. Datenblöcke werden als Ganzes verschlüsselt und können auch nur vollständig entschlüsselt werden. Wenn also nur ein einziges Byte verändert wird, muss der ganze Block neu verschlüsselt und geschrieben werden. Um dies an die vorliegenden Daten optimal anzupassen, kann daher die Blockgröße von standardmäßig 512 Bytes verändert werden.
EncFS verschlüsselt nicht nur den Inhalt der Dateien, sondern auch die Dateinamen. Man kann hierbei zwischen dem unter Umständen (abhängig vom zugrundeliegenden Dateisystem) etwas speicheraufwendigeren, aber dafür die Länge des Dateinamens verschleiernden, Blockmodus und dem speicherschonenderen Datenstrommodus wählen.
Datenintegrität
[Bearbeiten | Quelltext bearbeiten]Zusätzlich ist es mit einer Block MAC headers genannten Option EncFS möglich, Veränderungen beziehungsweise Fehler in den verschlüsselten Dateien festzustellen. Dabei wird für jeden Datenblock eine Prüfsumme von 8 Bytes erstellt. Zusätzlich können an jeden Datenblock 8 zusätzliche Bytes Zufallsdaten angehängt werden, um zu verhindern, dass Datenblöcke mit demselben unverschlüsselten Inhalt dieselbe Prüfsumme aufweisen.
Diese Option benötigt jedoch viel Rechenleistung der CPU, da bei jedem Lesezugriff zum Zweck der Integritätsprüfung und bei jedem Schreibzugriff zu ihrer Aktualisierung die Prüfsumme berechnet werden muss.
Eigenschaften
[Bearbeiten | Quelltext bearbeiten]Aufgrund seiner dateiweisen Verschlüsselung weist EncFS folgende Eigenschaften auf:
- Es belegt keine feste Größe auf dem Datenträger. Es wird nur der Platz belegt, der tatsächlich für die verschlüsselten Dateien benötigt wird. Daten können in EncFS gespeichert werden, bis das Dateisystem, in dem es sich befindet, voll ist.
- Teile des über EncFS-verschlüsselten Dateisystems können auf verschiedenen Datenträgern abgelegt sein. Zum Beispiel kann ein Verzeichnis im (verschlüsselten) Quellverzeichnis per NFS eingehängt und ein weiteres lokal vorhanden sein.
- Datensicherungsprogramme können gezielt die einzelnen veränderten verschlüsselten Dateien sichern, die sich in der Zwischenzeit geändert haben. Es muss nicht jedes Mal die gesamte Partition gesichert werden, wie es bei verschlüsselten Partitionen der Fall ist.
- Per EncFS abgespeicherte Daten weisen dieselben Beschränkungen auf, wie das Dateisystem, in dem der Quellverzeichnis liegt.
- Eine Fragmentierung der verschlüsselten Daten führt zu einer Datenfragmentierung im Quellverzeichnis.
- Die Rechteverwaltung wird nicht neu implementiert, somit kann jeder die Anzahl der Dateien, ihre Zugriffsrechte, Größe und Länge des Dateinamens (der Dateiname selber wird jedoch mitverschlüsselt) und das Datum der letzten Änderung sehen.
Sicherheitsbedenken
[Bearbeiten | Quelltext bearbeiten]Im Januar 2014 unterzog der Sicherheitsforscher Taylor Hornby EncFS einem Audit. Sein Fazit: Das Tool sei nicht sicher, es sei denn, dem potentiellen Angreifer liegt nur eine Version einer verschlüsselten Datei vor.[3] Wird EncFS dazu eingesetzt, Dateien in einem Cloud-Speicher zu verschlüsseln, liegen jedoch in der Regel mehrere Versionen einer Datei vor. Aktuell (September 2016) ist mindestens eine der identifizierten Schwachstellen noch nicht behoben, eine Korrektur ist in Zukunft für Version 2.0 geplant.[4]
Siehe auch
[Bearbeiten | Quelltext bearbeiten]Weblinks
[Bearbeiten | Quelltext bearbeiten]- EncFS-Website (englisch)
- EncFS-Anleitung im Wiki von ubuntuusers.de
- encfs4win, eine quelloffene EncFS-Portierung für Windows (englisch), veraltet, seit 2013 nicht mehr aktualisiert
- encfs4win, eine EncFS-Portierung für Windows, die regelmäßig aktualisiert wird
- EncFS MP, eine EncFS-Portierung für Windows und Mac OS X (englisch, hängt ab von einer nicht quelloffenen Bibliothek)
- Admin-Magazin: Verschlüsselte Dateien mit EncFS ( vom 16. März 2014 im Internet Archive)
- Security Audit (englisch)
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ encfs / README.md.
- ↑ Release 1.9.5. 27. April 2018 (abgerufen am 27. April 2018).
- ↑ EncFS Security Audit. In: defuse.ca. Abgerufen am 17. September 2016.
- ↑ Stream Cipher Used to Encrypt Last File Block · Issue #9 · vgough/encfs. In: GitHub. Abgerufen am 17. September 2016.