Wiki

TrueCrypt

ubuntuusers.de » Wiki » TrueCrypt

TrueCrypt

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Hinweis:

Dieser Artikel beschreibt die Bedienung von TrueCrypt per GUI. Ein Artikel über die Bedienung per Konsole befindet sich im Archiv.

Logo.png TrueCrypt {en} dient zur Verschlüsselung von Festplatten, Teilen davon oder anderen Speichermedien wie USB-Sticks. Lauffähig ist es unter Windows, Linux und Mac OS X. Die Verfügbarkeit der Software für verschiedene Betriebssysteme ermöglicht es, dass z.B. eine verschlüsselte (Container-)Datei plattformübergreifend genutzt werden kann. Obwohl der Quellcode des Programms einsehbar ist, gelten spezielle Lizenzbedingungen {en}. Diese ungewöhnliche Vorgehensweise hängt mit der Entwicklungsgeschichte von TrueCrypt zusammen.

Bei solchen Verschlüsselungsmethoden muss man sich bewusst sein, dass Daten aus dem verschlüsselten Container im Betrieb auf andere Bereiche der Festplatte gelangen können; beispielsweise in den Auslagerungsspeicher, oder in das Verzeichnis des Druckerspoolers. Sofern die betreffenden Partitionen nicht ebenfalls verschlüsselt sind, können dort eventuell Dateien gelesen oder Reste gelöschter Dateien extrahiert werden.

Funktionen

Algorithmen

TrueCrypt bietet AES, Twofish und Serpent als Verschlüsselungsalgorithmen an. Nebst der Wahl eines einzelnen Algorithmus gibt es die Möglichkeit, die Algorithmen zu kombinieren.

Container

TrueCrypt kennt zwei Arten, wie es mit verschlüsselten Daten umgehen kann:

Wiki/Icons/package.png

Container

Ein Container ist von außen gesehen eine ganz normale Datei, die - wie andere Dateien auch - kopiert, verschoben, auf CD gebrannt oder einfach gelöscht werden kann. Der Container beinhaltet allerdings ein verschlüsseltes virtuelles Laufwerk, das nach dem Einbinden mit TrueCrypt wie jedes andere Laufwerk zum Speichern von Daten genutzt werden kann. Der Vorteil einer Containerdatei ist neben dem einfachen plattformunabhängigen Zugriff mit verschiedenen Betriebssystemen auch die problemlose Sicherung bzw. Wiederherstellung eines Containers.

Wiki/Icons/hd.png

Partitionen

Eine komplette Partition oder auch eine ganze Festplatte wird mittels TrueCrypt verschlüsselt. Dazu zählen auch Floppy-Disks, USB-Sticks oder andere Datenträger. Das Verschlüsseln einer ganzen Partition ist weniger flexibel als der Container, da das verschlüsselte Laufwerk an den Datenträger gebunden ist, aber dafür ist die Performance besser.

Man muss sich vorab für eine dieser beiden Varianten entscheiden. Für beide Typen gilt, dass die Größe des Laufwerkes im nachhinein nicht mehr verändert werden kann. Gegebenenfalls muss man dann ein neues, größeres Laufwerk erstellen und die Daten von dem alten in das neue Laufwerk kopieren bzw. verschieben. Außerdem muss man sich noch für eine Art der Einbindung entscheiden:

Volumetypen

Standard Volume

Diese Partition ist zwar verschlüsselt, wird aber in der Dateistruktur angezeigt. Linux markiert das Volume als nicht lesbar, Windows zeigt an, dass die Partition formatiert werden muss.

Hidden Volume

Hier werden zwei Laufwerke erstellt, ein äußeres und ein inneres. Das äußere dient dazu, nur so zu tun als wären wichtige Dateien darin enthalten. Im äußeren Laufwerk aber ist noch ein Laufwerk versteckt, von dessen Existenz nur der Benutzer selbst weiß. Wird man zur Herausgabe des Passworts gezwungen, kann man das Passwort des äußeren Volumes angeben und die Daten des inneren Volumes sind immer noch gesichert.

Installation

Hinweis!

Fremdpakete können das System gefährden.

Falls TrueCrypt bereits in einer älteren Version auf den System installiert ist, müssen zuerst sämtliche Dateien dieser Installation gelöscht werden [1].

Auf der TrueCrypt-Website werden Installationspakete, unter anderem für Ubuntu, als .tar.gz-Datei bereitgestellt.

  1. Von truecrypt.org {en} kann das Paket für Ubuntu (32bit und 64bit) heruntergeladen werden.

  2. Das Paket entpacken [2].

  3. Die entpackte Datei im Terminal [3] ausführen. (Ggf. auch mit Doppelklick und "Im Terminal ausführen" möglich)

  4. Ein grafischer Assistent wird gestartet - den Instruktionen folgen.

Im grafischen Assistenten hat man auch die Möglichkeit, ein .tar.gz-Archiv zu "extrahieren". Dieses befindet sich anschließend im Verzeichnis /tmp.

Nach erfolgreicher Installation ist das Programm unter "Anwendungen -> Sonstige -> TrueCrypt" zu finden bzw. ab Karmic Koala unter "Anwendungen -> Zubehör -> TrueCrypt"

Konfiguration

Das System kann noch konfiguriert werden, um alle Möglichkeiten von TrueCrypt verwenden zu können. Dabei geht es insbesondere um das Einhängen von den verschlüsselten Geräten in das Dateisystem, was normalerweise nur ein Administrator-Konto darf bzw. Root-Rechte erfordert. TrueCrypt fragt hier dann automatisch nach dem Passwort des Administrators.

Wenn ein Nutzer TrueCrypt nutzen will, aber keine Root-Rechte besitzt, kann eine Gruppe truecrypt angelegt werden. Ihr fügt man sämtliche Benutzer hinzu, die TrueCrypt benutzen dürfen. Wie das geht, ist im Artikel Benutzer und Gruppen erklärt. Man sollte sich bewusst machen, dass mit diesen Rechten TrueCrypt auch missbraucht werden kann, um Daten zu vernichten, die so privilegierten Nutzer sollten also vertrauenswürdig sein.

Nun muss die /etc/sudoers-Datei bearbeitet werden [4]. Hinweise dazu findet man im Artikel sudo/Konfiguration. Darin wird folgende Zeile angefügt:

%truecrypt ALL=(root) NOPASSWD: /usr/bin/truecrypt

Diese Zeile bestimmt, dass die Gruppe truecrypt das Programm TrueCrypt mit Root-Rechten ohne jegliche Passwortabfrage benutzen darf.

Anwendung

Nachfolgend werden die wesentlichen Operationen von TrueCrypt erläutert. Dazu gehören an erster Stelle das Anlegen eines verschlüsselten Laufwerkes, sowie das Ein- und Aushängen des Laufwerkes in die vorhandene Verzeichnisstruktur.

TrueCrypt.png

TrueCrypt kann auch mit dem Befehl truecrypt gestartet werden. Es öffnet sich ein grafisches Programm (Front-End), das einem bei der Verwaltung und Nutzung der verschlüsselten Laufwerke hilft. Einmal geöffnet, nistet es sich als TrueCrypt-48x48.png Tray-Icon in den Hintergrund ein und benachrichtigt den Benutzer bei bestimmten Ereignissen oder hängt automatisch Laufwerke aus, falls der Computer heruntergefahren wird.

Container erstellen und verschlüsseln

Hier wird ein Dateisystem in einem Ordner erstellt und verschlüsselt, was die Benutzung einer eigenen Partition unnötig macht. "Create Volume" öffnet den Assistenten. Ausgewählt wird "Create a file container". Beim nächsten Schritt muss zwischen einem normalen Laufwerk und einem versteckten Laufwerk gewählt werden.

Partition verschlüsseln

Zuerst muss man natürlich eine Partition erstellen, die verschlüsselt werden soll. Instruktionen dazu findet man im Artikel Partitionierung. Wie bei einem Container klickt man auf den Button "Create Volume" und startet damit den Assistenten.

Nun wählt man "Create a volume within a partition/device" und klickt auf "Next". Nun muss man sich zwischen einem versteckten Volume oder einem normalen Volume entscheiden. Hat man sich entschieden, klickt man wieder auf "Next".

Nun muss man den Namen der Partition angeben, beispielsweise /dev/sdb2. Die korrekte Bezeichnung erfährt man im Partionierungsprogramm. Hat man den Namen ausgewählt, klickt man abermals auf "Next" und wählt im nächsten Fenster den Verschlüsselungs- und Prüfsummenalgorithmus, zum Beispiel die doppelte Verschlüsselung mit "AES-Twofish" und dem Prüfsummenalgorithmus "SHA-512". Hat man sich entschieden, klickt man wieder auf "Next" und wählt nun das Passwort. Die empfohlene Länge liegt bei 20 Zeichen. Abermals klickt man auf "Next" und falls man das Standard Volume gewählt hat, kann man nun noch entscheiden, ob die schnelle oder die normale Formatierung benutzt werden soll.

Tipps und Tricks

Partitionen beim Systemstart einbinden lassen

Um die TrueCrypt Partitionen gleich nach dem Systemstart einbinden zu lassen und die Passwort-Eingabe auf ein Minimum zu beschränken kann man folgendes tun

Achtung!

Dem Programm diese Rechtevergabe zu geben kann unter Umständen eine Sicherheitslücke darstellen und ist somit von Hause aus auch nicht so eingestellt. Allerdings ist es für einen Angreifer mit physikalischem Zugang zur Festplatte, der unbefugt die Daten entschlüsseln möchte, unerheblich: Er schließt die Platte einfach an seinen PC an und verwendet seine eigene TrueCrypt-Installation. Das TrueCrypt-Passwort muss er sich in beiden Fällen anderweitig beschaffen.

Dem eigenen User vollen Zugriff auf TrueCrypt geben: In einer shell

sudo visudo 

ausführen, und dort am Ende folgenden Eintrag hinterlassen ("BENUTZERNAME" anpassen):

BENUTZERNAME ALL=(ALL) NOPASSWD: /usr/bin/truecrypt

Damit beim Systemstart schon die Eingabe für das/die TrueCrypt-Volume(s) auftauchen, können in TrueCrypt die gewünschten Volumes als Favoriten markiert werden. Dann erstellt man ein Skript [5] (z.B. ~/bin/mount_truecrypt-favorits.sh) mit folgendem Inhalt:

1
2
3
#!/bin/bash
# automount of the favorite truecrypt-volumes
truecrypt --auto-mount=favorites --load-preferences;

Dieses ausführbar [6] machen:

chmod +x ~/bin/mount_truecrypt-favorits.sh 

Letztendlich muss dieses Skript noch zum Autostart hinzugefügt werden[7].

Das Skript kann nur zuverlässig funktionieren, wenn die Geräte immer am selben Punkt unter /dev erscheinen. Dazu ist es erforderlich, die udev-Regeln zu erweitern: udev

Nachdem die Regeln erstellt und die Geräte neu verbunden worden sind, dann erscheinen diese unter /dev.

Ein weiteres Problem besteht jetzt noch darin, dass Truecrypt diese Geräte in seiner Auswahlliste nicht anbietet. Dazu muss man die Geräte einmal von Hand einbinden und danach in Truecrypt als Favorit hinzufügen:

Vorher ist darauf zu achten, dass das im folgenden Beispiel verwendete Ziel (/media/USB-Stick) existiert. Ansonsten ist es mit Root-Rechten

sudo mkdir /media/USB-Stick 

anzulegen und mit

sudo chmod go+w /media/USB-Stick/ 

zugreifbar [5] zu machen. Danach könnte das Laufwerk mit

truecrypt /dev/USB-Stick /media/USB-Stick 

eingehängt und zu den Truecrypt-Favoriten hinzugefügt werden. Momentan bindet Truecrypt beim ersten Start Laufwerke nicht automatisch ein, wenn symbolische Links verwendet werden. Bindet man das Laufwerk erst mit dem originalen Namen (z.B. /dev/sdc1) ein und löst diese Bindung wieder, kann man danach auch den symbolischen Link verwenden.

Laufwerke beim Anstecken per mounttruecrypt anmelden

Um per TrueCrypt verschlüsselte Laufwerke automatisch beim Anstecken anzumelden, kann das Programm mounttruecrypt verwendet werden. Das Programm kann im Launchpad als DEB heruntergeladen werden: DEB für mounttruecrypt {de}

Hinweis!

Fremdpakete können das System gefährden.

Hinweis:

TrueCrypt setzt voraus, dass die Ziele der einzubindenden Laufwerke bereits angelegt sind. Diese Verzeichnisse werden von mounttruecrypt automatisch erzeugt und beim Abmelden des Laufwerkes wieder entfernt.

Die udev-Regel könnte folgendermaßen aussehen (/etc/udev/user.rules):

Hinweis:

In anderen Distributionen ist es möglich, dass /etc/udev/user.rules nicht angelegt ist. In diesem Fall ist diese Datei von Hand anzulegen und in /etc/udev/rules.d/ ein symbolischer Link auf /etc/udev/user.rules zu definieren.

sudo touch /etc/udev/user.rules
sudo ln -sv  /etc/udev/user.rules /etc/udev/rules.d/80-user.rules 

/etc/udev/user.rules

1
BUS=="usb", KERNEL=="sd?1", ATTRS{serial}=="5A08092298331", SYMLINK+="Backup", RUN+="/usr/bin/mounttruecrypt -u [Benutzer] /dev/[Inhalt von SYMLINK]"

Der Wert für SYMLINK+ kann frei gewählt werden. Der Wert für ATTRS{serial} kann mit unten stehendem Befehl ermittelt werden. Dabei muss /dev/sdc an die eigenen Gegebenheiten angepasst werden.

udevadm info -a -p `udevadm info -q path -n /dev/sdc` | grep ATTRS{serial} 

Beispiel

Für den Benutzer "heinz", der die entschlüsselte Partition nach /media/tc-320 gemountet haben möchte, sähe /etc/udev/user.rules folgendermaßen aus:

1
BUS=="usb", KERNEL=="sd?1", ATTRS{serial}=="5A08092298331", SYMLINK+="tc-320", RUN+="/usr/bin/mounttruecrypt -u heinz /dev/tc-320"

Nach dem Neustart von udev wird beim Einstecken eines Gerätes sollte der TrueCrypt Passwort Dialog angezeigt werden. udev wird per sudo /etc/init.d/udev reload neugestartet.

UTF8-Codierung verwenden

Wenn man einen Container oder Partitionen einbindet, die gelegentlich auch unter Windows verwendet werden, dann kann es vorkommen, dass Umlaute und Sonderzeichen falsch dargestellt werden. Abhilfe schafft hier, den Container oder Partition mit UTF8-Codierung einzubinden. Je nachdem, ob man TrueCrypt über die grafische Oberfläche oder über das Terminal benutzt, muss man hier unterschiedlich vorgehen.

In der grafischen Oberfläche fügt man unter "Settings -> Preferences -> Mount Options -> Filesystem -> Mount Options" das Wort utf8 ein.

Bei der Benutzung im Terminal verwendet man die Option --fs-options="utf8". Beispielsweise so

truecrypt --fs-options="utf8" /Pfad/zum/Container /Pfad/zum/Einhängepunkt 

Weitere Hilfe

TrueCrypt ist noch viel komplexer und funktionsreicher, als in diesem Artikel beschrieben. Das ausführliche und gut bebilderte englische Handbuch TrueCrypt User Guide findet man unter /usr/share/truecrypt als PDF. Über Strg + H kann es im Programm aufgerufen werden - alternativ kann die Online-Version {en} konsultiert werden.

Diese Revision wurde am 1. September 2010 um 15:28 Uhr von BartS erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet: Sicherheit

Passwort vergessen?