eCryptfs [1] bietet Verschlüsselung auf Dateiebene nach PGP-Art. Speichert der Anwender eine Datei in einem per eCryptfs verschlüsselten Verzeichnis, verschlüsselt eCryptfs sie transparent. Wird eine solche Datei gelesen, geschieht auch die Entschlüsselung automatisch. Das alles passiert hinter den Kulissen, wobei mit den Default-Einstellungen der Login-Schlüssel verwendet wird, was den ganzen Ablauf ohne weiteren Eingriff automatisiert.
Einer der Vorteile von dateibasierter gegenüber blockbasierter Verschlüsselung liegt darin, dass mehrere Schlüssel auf einem System möglich sind. Das bedeutet, dass Benutzer auf dem gleichen System ihre Dateien oder Verzeichnisse unabhängig voneinander verschlüsseln können. Verschiedene Benutzer können selbst im gleichen Verzeichnis ihre Dateien mit unterschiedlichen Schlüsseln ablegen.
Mit Ubuntu hat der Anwender die Möglichkeit, bei der Installation sein Home-Verzeichnis zu verschlüsseln. Wer einen neuen Benutzer anlegt, kann das ebenso mit einem verschlüsselten Home-Verzeichnis tun, wenn die
»ecryptfs-utils
«
installiert sind:
sudo adduser --encrypt-home <!-- START: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->Benutzer <!-- STOP: including template: design/standard/templates/content/datatype/view/ezxmltags/emphasize.tpl (design:content/datatype/view/ezxmltags/emphasize.tpl) -->
Leider funktioniert dieser Befehl nur unter Ubuntu. Debian unterstützt zwar eCryptfs, aber sein Adduser-Tool kennt nicht die Option
»--encrypt-home
«
. Alternativ können Sie natürlich auch eCryptfs von Hand installieren und einrichten:
ecryptfs-setup-private
Dieser Aufruf legt ein Verzeichnis
»~/Private
«
an und richtet es als verschlüsseltes Verzeichnis ein (
Abbildung 1
). Wenn Sie sich ausloggen, wird es unter dem Namen
»~/.Private
«
gespeichert, beim Neueinloggen wird es automatisch als
»~/Private
«
gemountet. Das Login-Password dient dazu, die Passphrase zum Verschlüsseln zu speichern.
Am sichersten ist es, eCryptfs selbst eine zufällige Passphrase erzeugen zu lassen, denn ein zufälliges Passwort ist meist resistenter gegen Brute-Force-Attacken als ein selbst ausgedachtes. Sie sollten die Passphrase an einem sicheren Ort speichern, falls ein Problem auftritt und Sie die Dateien wieder von Hand entschlüsseln müssen. Der folgende Befehl gibt die gespeicherte Passphrase aus:
ecryptfs-unwrap-passphrase .ecryptfs/wrapped-passphrase
Wenn Sie sich entschieden haben, welche Verzeichnisse Sie verschlüsseln möchten, verschieben Sie sie nach
»~/Private
«
und legen einen symbolischen Link zu Ihrem alten Speicherort an. Um zum Beispiel das Verzeichnis Ihrer Bankdaten zu verschlüsseln, verwenden Sie diese Befehle:
cd mv banking Private/ ln -s Private/banking banking
Wenn Sie sich ausloggen oder
»Private
«
unmounten, werden sowohl der Inhalt dieses Verzeichnisses als auch die Dateinamen verschlüsselt. Andere Benutzer können also bei einem Blick in das Verzeichnis nicht feststellen, was dort gespeichert ist. Ein anderes Verzeichnis dorthin zu verschieben, führt dazu, dass es automatisch verschlüsselt wird.
Wenn Sie nicht wollen, dass
»Private
«
beim Einloggen automatisch gemountet wird, löschen Sie
»~/.ecryptfs/auto-mount
«
(und
»~/.ecryptfs/auto-umount
«
). Bei beiden handelt es sich um leere Dateien, Sie können sie also einfach mit
»touch
«
wieder anlegen, um das Automounten wieder zu aktivieren. Wenn Sie wichtige Dateien nach
»Private
«
verschoben und Automount aktiviert haben, werden Sie vielleicht mit Fehlermeldungen konfrontiert, zum Beispiel bei wichtigen Konfigurationsdateien für den Desktop.
Wenn Sie ein anderes Verzeichnis als
»Private
«
verwenden möchten oder ein zweites verschlüsseltes Verzeichnis (zum Beispiel mit einem anderen Schlüssel), aktivieren Sie eCryptfs folgendermaßen:
mkdir ~/secret chmod 700 ~/secret sudo mount -t ecryptfs secret secret
Das Programm fragt Sie dann nach dem gewünschten Verschlüsselungsverfahren und der Schlüssellänge – verwenden Sie einfach die Defaults, wenn Sie sich nicht sicher sind. Außerdem werden Sie gefragt, ob Sie Plaintext-Passthrough verwenden möchten. Dieses Feature erlaubt es, innerhalb eines eCryptfs-Verzeichnisses unverschlüsselte Dateien abzulegen. Das mag zwar in manchen Situationen nützlich sein, aber man verliert leicht den Überblick darüber, was nun verschlüsselt ist und was nicht. Meistens ist die Default-Einstellung, es nicht zu erlauben, am besten.
Filename-Encryption bedeutet, dass nicht nur Dateiinhalte, sondern auch Dateinamen verschlüsselt werden. Dann können nur Sie die Dateinamen im verschlüsselten Verzeichnis sehen, wenn es mit eCryptfs gemountet ist. Schließlich werden Sie noch nach der Passphrase gefragt. Weil es das erste Mal ist, dass Sie diesen Mountpoint verwenden, erhalten Sie eine Warnmeldung darüber, dass Sie die Passphrase zum ersten Mal verwenden. Außerdem möchte das Tool wissen, ob Sie die Passphrase im Keyring speichern wollen, um künftige Warnmeldungen zu vermeiden.
In den Mount-Parametern steht die erste Pfadangabe für das Verzeichnis, das Sie per eCryptfs mounten wollen, die zweite für den Mountpoint. Diese beiden Pfade können sich unterscheiden, wenn sie aber gleich sind, bedeutet das, dass Sie auf Dateien im verschlüsselten Verzeichnis immer über eCryptfs zugreifen müssen. Dadurch wird der Zugriff auf diese transparent.
Wenn Sie die Arbeit mit dem Verzeichnis beenden und unmounten, sehen Sie statt der Dateinamen nur noch die verschlüsselten Versionen (jedenfalls, wenn Sie die Verschlüsselung von Dateinamen aktiviert haben). Wenn Sie einen Blick in die Dateien werfen, sehen Sie nur zufällig erscheinende Binärdaten.