EncFS | |
---|---|
Entwickler: | Valient Gough |
Aktuelle Version: | 1.4.2 (13. April 2008) |
Betriebssystem: | Linux, FreeBSD, MacOS X |
Kategorie: | Dateisystem |
Lizenz: | GPL |
http://www.arg0.net/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 verschü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.
Inhaltsverzeichnis |
EncFS verwendet zwei Verzeichnisse zum transparenten Verschlüsseln der Daten. In dem einen Verzeichnis 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 Ordner ist nur solange sichtbar, solange der zweite mittels EncFS in den ersten "gemountet" ist. Ist der Inhalt des verschlüsselten Ordners nicht gemountet, ist der unverschlüsselte Ordner leer. Im gemounteten Zustand entspricht hierbei jede verschlüsselte Datei im zweiten Ordner einer unverschlüsselten Datei im ersten.
Verschlüsselt werden die Daten dabei mit einem großem, in einer Datei vorliegenden Schlüssel, dem so genanntem 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 Mounten 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.
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.
Aufgrund seiner dateiweisen Verschlüsselung weist EncFS einige Vorteile gegenüber anderen Kryptodateisystemen auf:
Aufgrund dieses Ansatzes ergeben sich jedoch auch einige Nachteile: