computerseite-spezial.de

handverlesene Infos zu Linux, FreeBSD und OpenSolaris

  • Full Screen
  • Wide Screen
  • Narrow Screen
  • Increase font size
  • Default font size
  • Decrease font size

Geheimniskrämerei

Dieser Beitrag ist erschienen in freiesMagazin (Link) 01/2010 / Lizenz: GNU Free Documentation License (GNU FDL) (Link) / Autor: Ralf Hersel.

Wenn Sie diesen Artikel weiterverwenden möchten, beachten Sie bitte die Lizenzbedingungen. Vielen Dank.

 

Geheimniskrämerei

von Ralf Hersel


J
eder hat seine kleinen und größeren Geheimnisse. Seien es Kontoauszüge, persönliche Texte oder die Bilder der ersten Liebe - nicht alles ist für fremde Augen bestimmt. Dieser Artikel befasst sich mit den Möglichkeiten, diese Geheimnisse unter Linux vor ungewollten Blicken zu schützen. Dabei werden gute und weniger geeignete Verfahren betrachtet und zum Schluss eine praxistaugliche Lösung vorgestellt.

Als Anordnung für diesen Test dient ein Ubuntu 9.10 mit ein paar Beispieldateien in einem Verzeichnis mit dem Namen tresor. Diese sollen ohne viel Aufwand verschlüsselt und vor fremden Augen versteckt werden.

Verschlüsseln per Kontextmenü

Als erste Maßnahme kommt einem der Befehl „Verschlüsseln“ aus dem Kontextmenü eines Verzeichnisses in den Sinn. Damit kann man ganze Verzeichnisse oder einzelne Dateien mittels GnuPG verschlüsseln. Voraussetzung ist, dass man bereits einen GnuPG-Schlüssel erzeugt hat. Leser, die auf Ubuntu 9.10 aktualisiert haben, wundern sich vielleicht darüber, dass der Befehl „Verschlüsseln“ im Datei-Browser nicht mehr vorhanden ist. Um diesen Befehl wieder hervorzuholen, muss das Paket seahorse-plugins installiert werden. Mehr Informationen findet man im Wiki von ubuntuusers.de [1]

Wendet man nun den Befehl „Verschlüsseln“ auf das Verzeichnis tresor an, so muss zuerst der Schlüssel gewählt und entschieden werden, ob jede Datei einzeln verschlüsselt wird oder ein verschlüsseltes Paket erstellt wird.

BILD 1: Die Grafik zeigt ein Kontextmenü.
Wenn Sie die Grafik sehen möchten, klicken Sie bitte auf diesen Link: (Link Bild 1)
Bildunterschrift: Einzelne Dateien werden verschlüsselt.


Während der Verschlüsselung muss das Passwort für den GnuPG-Schlüssel für jede Datei einzeln eingegeben werden. Die Originaldateien werden nach dem Verschlüsseln nicht gelöscht, das muss man selbst erledigen. Fügt man dem Verzeichnis eine neue Datei hinzu, so muss diese auch wieder verschlüsselt werden; dies geschieht nicht automatisch.

Man erkennt hier schnell, dass dieses Verfahren nicht den gewünschten Zweck erfüllt; zu viele Schritte sind nötig, um zum Ziel zu kommen. Das Verschlüsseln aus dem Kontextmenü einer Datei oder eines Verzeichnisses ist zum einmaligen Chiffrieren gedacht - und nicht um ein transparent verschlüsseltes Verzeichnis zu erzeugen.

Verschlüsseln beim Komprimieren

Da man aus Fehlern lernen soll, greift der zweite Versuch eine Erfahrung aus dem ersten auf. Beim Verschlüsseln wurde angeboten, die Dateien in ein Paket (Archiv) zu stecken. Diese Idee wird nun getestet.


BILD 2: Die Grafik zeigt ein Kontextmenü.
Wenn Sie die Grafik sehen möchten, klicken Sie bitte auf diesen Link: (Link Bild 2)
Bildunterschrift: Ein verschlüsseltes Archiv wird erstellt.

Wenn man aus dem Kontextmenü eines Verzeichnisses den Befehl „Komprimieren“ wählt, erscheint ein Dialog. Dort gibt es die Möglichkeit, ein Passwort für die Verschlüsselung einzugeben; man beachte die angekreuzte Option „Dateiliste ebenfalls verschlüsseln“. Als Ergebnis erhält man ein ZIP-Archiv, das die Dateien des Verzeichnisses tresor in verschlüsselter Form enthält.

So weit, so gut. Was geschieht aber, wenn dem Archiv weitere Dateien hinzugefügt werden sollen? Zieht man eine neue Datei mit der Maus in das Archiv („Datei zum Archiv hinzufügen“), so wird die Datei unverschlüsselt in das Archiv gepackt. Um zusätzliche Dateien beim Einfügen verschlüsseln zu lassen, muss zuerst das Archiv geöffnet werden. Dort gibt man im Menü „Bearbeiten“ das Passwort für das Archiv ein. Erst dann werden Neuzugänge im Archiv verschlüsselt.

Wie beim ersten Versuch ist auch hier die gewünschte Unterstützung noch nicht optimal. Man darf nicht vergessen, die Originaldateien zu löschen, nachdem sie in das Archiv gelegt wurden. Außerdem muss der Archivmanager als zusätzliches Werkzeug bedient werden. Entgegen der Vermutung wird die Archivliste nicht verschlüsselt; dadurch kann jeder die Dateinamen im Archiv lesen. Einen Vorteil hat die Archivmethode gegenüber dem ersten Verfahren: Die Dateien werden nicht nur verschlüsselt, sondern auch komprimiert.

Verschlüsseln per EncFS

Auf der Suche nach der besten Methode zur Verschlüsselung von Verzeichnissen fand sich schließlich EncFS. Das „Encrypted File System“ [2] ist eine Verschlüsselungserweiterung für unixartige Dateisysteme. Mit EncFS kann ein Benutzer innerhalb kürzester Zeit und ohne großen Aufwand verschlüsselte Verzeichnisse erstellen. Verschlüsselte Bereiche werden mit Passwörtern geschützt und in versteckten Ordnern abgelegt.

EncFS kann aus der Paketverwaltung installiert werden, dazu werden die Pakete encfs und evtl. cryptkeeper benötigt. Nach der Installation muss man überlegen, ob man das verschlüsselte Verzeichnis bei jeder Sitzung oder nur gelegentlich braucht. Im ersten Fall empfiehlt es sich, Cryptkeeper in die Startprogramme mit aufzunehmen, ansonsten kann man sich im Menü oder Panel einen Starter erzeugen, der das Programm cryptkeeper ausführt. Dadurch erhält man im Panel ein Schlüsselsymbol, das das Öffnen und Schließen eines EncFS-Verzeichnisses ermöglicht.

Die Steuerung der EncFS-Verzeichnisse erfolgt mittels Cryptkeeper. Hier können nun die verschlüsselten Verzeichnisse geöffnet bzw. geschlossen werden, man kann bestehende EncFS-Verzeichnisse importieren oder neue erstellen. Im Beispiel wurde das bestehende Verzeichnis tresor importiert.

Wird ein neues EncFS-Verzeichnis erstellt („New encrypted folder“), gibt man als Erstes einen Namen für das Verzeichnis ein, klickt auf „Forward“, gibt dann zweimal ein Passwort ein und sieht anschließend das geöffnete Verzeichnis in der Dateiverwaltung.

BILD 3: Die Grafik zeigt ein Kontextmenü.
Wenn Sie die Grafik sehen möchten, klicken Sie bitte auf diesen Link: (Link Bild 3)
Bildunterschrift: Ein neues EncFS Verzeichnis ist eingehangen.

Cryptkeeper zeigt durch den Haken vor dem Verzeichnispfad an, dass crypt nun geöffnet ist. Das Schließen bzw. Aushängen des Verzeichnisses muss über cryptkeeper geschehen (Haken vor dem Verzeichniseintrag abwählen), da ein Aushängen in der Dateiverwaltung aufgrund fehlender Root-Rechte scheitert.

Aber was geschieht hier im Hintergrund? EncFS erzeugt in Wirklichkeit zwei Verzeichnisse: crypt und .crypt_encfs, also ein sichtbares und ein verstecktes Verzeichnis. Im versteckten Verzeichnis befinden sich die verschlüsselten Dateien, während im sichtbaren Verzeichnis die entschlüsselten Dateien zu sehen sind, wenn .crypt_encfs eingehängt ist. cryptkeeper entfernt das Verzeichnis, wenn .crypt_encfs ausgehängt wird.

Für Übervorsichtige oder Vergessliche hält cryptkeeper noch ein besonderes Schmankerl parat: Es kann eingestellt werden, nach wie vielen untätigen Minuten das Verzeichnis automatisch ausgehängt wird. Ob das leere Verzeichnis danach gelöscht wird oder nicht, kann man auch hier angeben.

BILD 4: Die Grafik zeigt ein Kontextmenü.
Wenn Sie die Grafik sehen möchten, klicken Sie bitte auf diesen Link: (Link Bild 4)
Bildunterschrift: Cryptkeeper-Einstellungen.

Individualisten oder Konsolenfreunde können auf cryptkeeper getrost verzichten. Wer nur das Paket encfs installiert, kann die Geheimniskrämerei auch über die Konsole oder über ein kleines Shellskript steuern, so wie es im folgenden Beispiel gezeigt wird.

#!/bin/bash
# mount or unmount the encfs folder .tresor to tresor
#
# check if it is already mounted or not

a=$(mount | grep tresor | wc -l )

if [ $a -eq 0 ]; then
    echo "mounting tresor, enter: y, y, p, password"
    encfs ~/.tresor ~/tresor
else
    echo "unmounting tresor"
    fusermount -u ~/tresor
fi


Listing: Encfs-mount.sh


Das Skript ermittelt in Zeile 5, wie viele Verzeichnisse mit dem Namen „tresor“ eingehangen sind. In Zeile 6 wird geprüft, ob überhaupt ein solches Verzeichnis eingehängt ist. Falls noch nichts eingehängt wurde, wird in Zeile 8 das EncFS-Verzeichnis .tresor in tresor eingehängt. Falls dies bereits der Fall ist, wird in Zeile 11 das Verzeichnis ausgehängt.

Verbindet man dieses Skript mit einem Starter, kann mit einem Mausklick der Tresor geöffnet bzw. geschlossen werden.

Der Name „tresor“ steht natürlich stellvertretend für einen beliebigen Verzeichnisnamen. Im Gegensatz zu cryptkeeper wird das ausgehängte Verzeichnis nicht entfernt, es ist einfach leer. In dieses leere Verzeichnis darf man jedoch keine Dateien hinein kopieren, sonst weigert sich EncFS, das versteckte Verzeichnis einzuhängen. Wer außerdem das automatische Aushängen einschalten möchte, benutzt die Option --idle=n in Zeile 8, wobei n für die Minuten steht.


Fazit

Der dritte Versuch zeigt ein Verfahren auf, mit dem Verzeichnisse transparent verschlüsselt werden können. Die Verwendung des Encrypted File Systems in Verbindung mit Cryptkeeper oder einem einfachen Shellskript erlaubt das bequeme Öffnen und Schließen eines verschlüsselten Verzeichnisses. Weder müssen die Originaldateien nachträglich gelöscht werden noch muss man für jede einzelne Datei ein Passwort eingeben. Die Methode folgt der simplen Metapher „Tresor auf, Dateien rein, Tresor zu“. Damit ist es für den alltäglichen Umgang mit sensiblen Daten bestens geeignet.


Links

  1. http://wiki.ubuntuusers.de/Seahorse

  2. http://wiki.ubuntuusers.de/EncFS

 

Autoreninformation:

Ralf Hersel war seit 2007 Autor des Yalm-Magazins. Seine Artikel richten sich in erster Linie an Ein- und Umsteiger auf Linux. Dadurch möchte er seinen Beitrag zur Verbreitung von offener Software leisten.



You are here: