Aus LinuxUser 10/2015

Dateien verschlüsseln mit Tomb

© ximagination, 123RF

Beerdigt

Tomb erzeugt und verwaltet Crypto-Container mithilfe bewährter Bordmittel wie Dm-crypt und LUKS. Daher funktioniert das Zsh-Skript auf so gut wie jedem Linux-System.

Aktuelle Distributionen machen es leicht, zumindest das Home-Verzeichnis per Verschlüsselung gegen unbefugte Einblicke abzusichern. Doch das Verschlüsseln kompletter Partitionen bringt auch Nachteile mit sich: Zum einen sollten Sie sich schon bei der Installation des Systems dazu entscheiden, zum anderen erschwert die Verschlüsselung die Datenrettung von einem nicht mehr lauffähigen System. Auch lässt sich eine verschlüsselte Partition nicht ohne Weiteres auf einen anderen Datenträger auslagern und mitnehmen. Daher greifen viele Anwender gern auf verschlüsselte Container zurück, wie sie sich beispielsweise mit Truecrypt [1] erzeugen und einbinden lassen – oder besser ließen.

Mit dem Support-Ende von Windows XP stellten die Truecrypt-Entwickler ihre Arbeit an der Software überraschend ein. Die Begründung lautete, dass Truecrypt nicht sicher sei, da es nicht behobene Sicherheitslücken enthalten könne. Das Truecrypt-Team empfahl Windows-Nutzern den Umstieg auf die in Windows integrierte Verschlüsselung Bitlocker. Für Linux-Anwender und kritisch denkende Nutzer generell stellt eine integrierte Windows-Verschlüsselung freilich keine Option dar. Mit Tomb [2] gibt es jedoch eine interessante Alternative für ehemalige Truecrypt-Nutzer, die komplett auf etablierten Linux-Standards aufsetzt.

Tomb installieren

Tomb nutzt für seine Arbeit das in den Device Mapper des Linux-Kernels integrierte Kryptografiemodul Dm-crypt [3] sowie dessen Erweiterung LUKS [4], das den verschlüsselten Bereich um einen Header mit Informationen zur Verschlüsselung ergänzt und so den Umgang mit den verschlüsselten Daten erleichtert. Auf diese Weise können Sie beispielsweise mehrere Schlüssel erzeugen und diese bei Bedarf ändern oder löschen, ohne dass Sie die verschlüsselten Daten komplett neu schreiben müssen. Als einfaches Shellskript fasst Tomb die unterschiedlichen Aktionen in einem kleinen Programm zusammen, ohne dass das Programm die Verschlüsselung neu erfinden müsste. Die nötigen Werkzeuge bringt eigentlich jedes Linux-System mit Kernel 2.6 oder neuer von Haus aus mit.

Obwohl sich das Programm auf wenige Abhängigkeiten beschränkt, finden Sie Tomb bisher meist nicht in den Paketquellen der gängigen Distributionen. Sie müssen es also in der Regel von Hand installieren, was jedoch nicht sonderlich schwerfällt. Tomb stellt dazu auf seiner Projektseite eine englischsprachige Installationsanleitung bereit [5]; unter Arch Linux finden Sie Tomb auch im AUR [6]. Zur Installation spielen Sie die nötigen Abhängigkeiten über die Paketverwaltung ein (Listing 1 zeigt das für Debian/Ubuntu), laden dann den Quellcode des Programms in Form der Datei Tomb-Version.tar.gz auf den Rechner [7] und entpacken das Archiv (Listing 2). Anschließend sorgt ein im Code-Verzeichnis ausgeführtes make install für die Installation des Programms im System.

Listing 1

$ sudo apt-get install zsh sudo gnupg cryptsetup pinentry-curses
### Für grafische Dialoge bei der Pin-Eingabe
$ sudo apt-get install pinentry-gtk2  ### Gnome, Unity, XFCE
$ sudo apt-get install pinentry-qt4   ### KDE
### Optionale Abhängigkeiten
$ sudo apt-get install dcfldd qrencode steghide swish-e wipe

Listing 2

$ tar xf Tomb*.tar.gz
$ cd Tomb*
$ sudo make install
$ tomb -v
Tomb 2.1 - a strong and gentle undertaker for your secrets
Copyright (C) 2007-2015 Dyne.org Foundation, License GNU GPL v3+
This is free software: you are free to change and redistribute it
For the latest sourcecode go to <http://dyne.org/software/tomb>
[...]

Das Grab schaufeln

Nach der Installation bereiten Sie erst einmal eine virtuelle Gruft für Ihre Daten vor, die später die zu verschlüsselnden Daten aufnehmen soll. Im Jargon des Programms gilt es, ein Grab zu schaufeln, in Englisch also „to dig a tomb“. Rufen Sie dazu Tomb aus einem Terminal heraus mit dem Kommando dig und der Option -s Größe in MByte sowie dem Namen des zu erstellenden Crypto-Containers auf (Listing 3). Die Größe muss mindestens 10 MByte betragen. Ein Tomb lässt sich nachträglich vergrößern, es zu verkleinern gelingt jedoch nicht. Das verschlüsselte Datengrab liegt nach dieser Aktion im aktuellen Verzeichnis.

Listing 3

$ tomb dig -s 100 geheim.grab
tomb  .  Commanded to dig tomb geheim.grab
tomb (*) Creating a new tomb in geheim.grab
tomb  .  Generating geheim.grab of 100MiB
100 blocks (100Mb) written.
100+0 records in
100+0 records out
-rw------- 1 username users 100M 11. Aug 16:23 geheim.grab
tomb (*) Done digging secret
tomb  .  Your tomb is not yet ready, you need to forge a key and lock it:
tomb  .  tomb forge geheim.grab.key
tomb  .  tomb lock geheim.grab -k geheim.grab.key

Allerdings bringt der Container ohne eine Schlüsseldatei noch wenig. Diese müssen Sie mit einem zweiten Aufruf von Tomb zusammen mit dem Kommando forge schmieden (Listing 4) – die entsprechenden Hinweise gibt Tomb am Ende des Dig-Kommandos aus. Für das Anlegen der Schlüsseldatei benötigt das Programm allerdings Root-Rechte, zudem dauert der Vorgang je nach Größe des Containers und Geschwindigkeit des Systems einige Zeit. Des Weiteren weigert sich Tomb, das Kommando bei einer aktiven Swap-Partition auszuführen (Listing 5): Es lässt sich dann nicht ausschließen, dass eigentlich zu verschlüsselnde Daten im unverschlüsselten Cache des Systems landen. Schalten Sie daher mit swapoff -a den Cache ab – oder erzwingen Sie mit der Option -f das Ausführen der Aktion.

Listing 4

$ tomb forge geheim.grab.key
tomb  .  Commanded to forge key geheim.grab.key
mkdir: das Verzeichnis ?/home/username/.gnupg? kann nicht angelegt werden: Die Datei existiert bereits
tomb  .  Commanded to forge key geheim.grab.key with cipher algorithm AES256
tomb  .  This operation takes time, keep using this computer on other tasks,
tomb  .  once done you will be asked to choose a password for your tomb.
tomb  .  To make it faster you can move the mouse around.
tomb  .  If you are on a server, you can use an Entropy Generation Daemon.
256 blocks (0Mb) written.
256+0 records in
256+0 records out
tomb (*) Choose the  password of your key: geheim.grab.key
tomb  .  (You can also change it later using 'tomb passwd'.)
[GNUPG:] PROGRESS need_entropy X 60 120
[...]
[GNUPG:] PROGRESS need_entropy X 120 120
[GNUPG:] NEED_PASSPHRASE_SYM 9 3 2
[GNUPG:] BEGIN_ENCRYPTION 2 9
[GNUPG:] END_ENCRYPTION
tomb  .  Key is valid.
tomb  .  Done forging geheim.grab.key
tomb (*) Your key is ready:
-rw------- 1 username users 531 11. Aug 16:27 geheim.grab.key

Listing 5

$ tomb forge geheim.grab.key
tomb  .  Commanded to forge key geheim.grab.key
tomb  .  An active swap partition is detected...
[sudo] Passwort für username: ***********
tomb [W] This poses a security risk.
tomb [W] You can deactivate all swap partitions using the command:
tomb [W]  swapoff -a
tomb [W] [#163] I may not detect plain swaps on an encrypted volume.
tomb [W] But if you want to proceed like this, use the -f (force) flag.
tomb [E] Operation aborted.
$ sudo swapoff -a

Den Schlüssel herumdrehen

Danach verschließen Sie das Datengrab mit der frisch erstellten Schlüsseldatei; auch dazu benötigt Tomb wieder Root-Rechte. Die entsprechende Option lautet schlicht lock, als Parameter übergeben Sie den Namen des Containers und – zusammen mit dem Schalter -k – die Schlüsseldatei (Listing 6). Gewürzt wird das Ganze mit einem zusätzlichen Passwort, das Tomb über GTK- oder Qt-Fenster oder bei einem System ohne X-Server mit Ncurses von Ihnen abfragt (Abbildung 1). Anschließend formatiert Tomb den Container gleich mit Ext4 als Dateisystem. Bei Bedarf ändern Sie das Passwort später mit tomb passwd geheim.grab.key.

LinuxUser 10/2015 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: