Egal ob privat oder geschäftlich: Sensible Daten gehören in sichere Verwahrung. Das kostenlose Programm Truecrypt verwandelt Ihre Festplatte in einen Datensafe.
Vertrauliche Daten offen auf dem Rechner abzulegen, ist keine übertrieben gut Idee. Das gilt speziell für Notebooks, die all zu oft durch Unachtsamkeit, manchmal durch kriminelle Energie in fremde Hände gelangen. Aber auch auf Desktops lagern oft Daten, die der Besitzer Dritten nicht unbedingt zur Lektüre bereitstellen will – seinen es nun geschäftliche oder private Aufzeichnungen.
In dieser Situation hilft Truecrypt [1]. Es erstellt verschlüsselte Containerdateien, die Sie wie normale Laufwerke ins Dateisystem einbinden. Alternativ verschlüsseln Sie damit sogar komplette Partitionen, Festplatten oder Wechseldatenträger – etwa USB-Sticks. Soll es mal ganz geheim sein, erzeugt das Programm so genannte Hidden Volumes. Dabei handelt es sich um Bereiche in verschlüsselten Laufwerken, deren bloße Existenz nicht nachzuweisen ist. Als Verschlüsselungsverfahren verwendet Truecrypt AES, Blowfish, CAST5, Serpent, Triple DES oder Twofish, teilweise sogar in Kombination.
Zugriff auf derart gesicherte Datenträger erhalten Sie ausschließlich mit dem korrekten Passwort oder Keyfile. Die Chiffrierung geschieht dabei im laufenden Betrieb: Sie hängen den verschlüsselten Datenträger unter Angabe des Passworts in ein Verzeichnis ein und arbeiten dann wie gewohnt mit den enthaltenen Dateien. Die Ver- und Entschlüsselung übernimmt Truecrypt automatisch im Hintergrund. Ein kleines Manko des Programms: Trotz entsprechender Ankündigungen seitens der Entwickler enthält die Linux-Variante von Truecrypt auch in der aktuellen Version 4.3a nach wie vor keine grafische Oberfläche (siehe Kasten “Grafisches”).
Grafisches
Im Gegensatz zur Windows-Version fehlt dem Linux-Pendant bislang die grafische Oberfläche. Mittlerweile existiert mit der Truecrypt-GUI [2] jedoch eine erste, inoffizielle GUI. Zum Redaktionsschluss blockierte die Webseite des Maintainers allerdings den Zugriff. Im Moment ist unklar, ob es sich um einen technischen Defekt oder das Ende des Projektes handelt.
Truecrypt-GUI benötigt Python sowie die wxWidgets-Bibliotheken. Nach dem Start mit python TrueCryptGUI-v0.5.py erscheint das Hauptfenster (Abbildung 1). Über das Register Create erstellen Sie ein neues Volume. Die dort abgefragten Einstellungen entsprechen denen von truecrypt -c. Alle vorhandenen Volumes verwaltet das Registerblatt Manage. Über Select File wählen Sie die Datei aus, über Select Mount Point das Verzeichnis, in dem Truecrypt das Volume einhängt und klicken anschließend auf mount. In der oberen Liste erscheint dann ein entsprechender Eintrag. Um das Volume wieder auszuhängen, genügt ein Klick auf Dismount.
Damit ist der Funktionsumfang von Truecrypt-GUI allerdings schon vollständig erschöpft. Wer mehr will, muss wieder zur Kommandozeile zurückkehren. Zudem wird auf dem Register Create das Passwort nur einmal abgefragt, was Volumes bei Tippfehlern unbrauchbar macht.

Abbildung 1: Die inoffizielle Truecrypt-GUI gibt sich noch reichlich spartanisch und ist somit noch kein vollwertiger Ersatz für die Kommandozeile.
Historie
Truecrypt blickt auf eine recht bewegende Geschichte zurück. Sein direkter Vorgänger hört auf den Namen “Encryption for the Masses”, kurz E4M. Dessen Lebensende war pünktlich zum Jahrtausendwechsel erreicht, als sein Schöpfer Paul Le Roux einen Job in der Kryptographie-Industrie antrat. Vier lange Jahre vergingen, bis das Verschlüsselungsprogramm unter dem neuen Namen Truecrypt ein furioses Revival feierte – und prompt in einen kleinen Lizenzstreit schlitterte. Die etwas verhackstückte Weiterentwicklung führte dazu, dass verschiedene Teile von Truecrypt unterschiedlichen Lizenzen unterstehen. Mittlerweile ist das Programm bei Version 4.3a angelangt (siehe Kasten “Neuheiten”), eine Besserung der Ausgangslage scheint jedoch nicht in Sicht. Dies beweist unter anderem der recht lange Lizenztext [3]. Glücklicherweise müssen Sie sich als reiner Anwender keine all zu großen Gedanken darüber machen, das Lizenzwirrwarr betrifft lediglich Programmierer.
Neuheiten
Gegenüber der Version 4.2 [4] halten sich die Neuerungen in Truecrypt 4.3a gerade für Linux-Anwender in Grenzen:
- Einige veraltete Verschlüsselungsverfahren wurden entfernt. Die noch mit ihnen erstellten Volumes lassen sich aber weiterhin verwenden.
- Die Entwickler passten die Rechteverwaltung so an, dass ein Volume nur noch von einem Administrator oder dem Benutzer ausgehängt werden kann, der es auch zuvor eingebunden hat.
- Ein Truecrypt Volume wird nun automatisch ausgehängt, sobald der Benutzer das zugehörige Speichermedium, wie etwa einen USB-Stick, entfernt.
- Truecrypt unterstützt nun auch Datenspeicher mit Sektorgrößen über 512 Byte. Dazu zählen beispielsweise große Festplatten, DVD-RAMs und einige MP3-Player.
- Die maximal erlaubte Größe von FAT32-Volumes liegt nun bei 2 TByte.
Installation
Auf der Truecrypt-Homepage [1] sowie der Heft-CD finden Sie Programmpakete für Open Suse 10.2 sowie Ubuntu 6.10 und 7.04. Es genügt, das passende Archiv mit dem hauseigenen Paketmanager einzuspielen. Sollte Truecrypt später die Fehlermeldung FATAL: Module truecrypt not found. zeigen, passt der mit installierte Kerneltreiber nicht. In diesem Fall gilt es, das Programm von Hand zu kompilieren. Dies gilt auch für Besitzer anderer Distributionen.
Installieren Sie dafür zunächst über Ihren Paketmanager die zum Kernel passenden Quellen sowie die zum Kompilieren notwendigen Hilfswerkzeuge. Unter Suse Linux genügen dazu die beiden Pakete kernel-source und gcc, Benutzer von Debian oder eines Ubuntu-Derivats installieren gcc, build-essential, dmsetup und linux-source. Danach gilt es, in einem Terminalfenster das Archiv der Kernelquellen mit dem Befehl sudo tar xvjf linux-source-Version.tar.bz im Verzeichnis /usr/src/ zu entpacken. Sofern noch nicht vorhanden, setzten Sie mit sudo ln -s linux-source-Version linux den benötigten Softlink.
Im Anschluss entpacken Sie das Quellcode-Archiv von Truecrypt und wechseln im Terminalfenster in das neue Verzeichnis. Dort starten Sie den Kompiliervorgang mit sudo ./build.sh. Die erscheinende Frage beantworten Sie mit y. Da Truecrypt umständlich den gesamten Linux-Kernel neu erstellt, nimmt der Übersetzungsvorgang abhängig von der Performance Ihres Rechners einige Zeit in Anspruch. Danach verankert der Aufruf sudo ./install.sh das übersetzte Truecrypt im System. Die ersten drei Fragen des Installers bestätigen Sie über die Eingabetaste, die letzte mit y. Truecrypt spielt danach neben dem eigentlichen Verschlüsselungsprogramm noch ein spezielles Kernelmodul ein, welches das Programm zum Einhängen der chiffrierten Datenträger benötigt.
Hinter Gittern
Um Daten aller Art sicher zu verwahren, bietet Truecrypt drei ganz unterschiedliche Methoden an:
- Das Verschlüsseln eines physikalischen Speichermediums, beispielsweise einer Partition, Festplatte oder eines angeschlossenen USB-Sticks. Die darauf gespeicherten Daten löscht Truecrypt;
- das Erstellen von Containerdateien, die das Programm wie eine Partition ins Dateisystem einhängt;
- und das Verstecken von Volumes in einem anderen, um dessen Existenz zu verschleiern.
Nur der Besitzer des Passworts kommen wieder an die verschlüsselten Inhalte. Truecrypt überwacht im Hintergrund alle Aktionen und kümmert sich automatisch um das Ver- und Entschlüsseln der enthaltenen Daten. Der Vorteil der Containervariante liegt unter anderem in der Flexibilität: Bei Bedarf kopieren Sie die Datei auf einen anderen Rechner, um sie danach wie gewohnt zu verwenden.
Zum Erzeugen einer Containerdatei tippen Sie truecrypt -c. Dieser Befehl startet eine interaktive Abfrage, über die in mehreren Schritten das so genannten Truecrypt-Volume (Abbildung 2) entsteht. Zunächst geben Sie den Volumen-Typ an, wobei sie die Wahl zwischen Normal und Hidden haben. Der Typ Hidden erstellt innerhalb eines Volumes ein zweites verstecktes Volume. Danach wählen Sie den Dateinamen für die neuen Containerdatei, beispielsweise volume.tc. Verwenden Sie an dieser Stelle einen Gerätenamen wie /dev/hda5, so bereitet Truecrypt dieses Device aufs Verschlüsseln vor. Doch Vorsicht: Alle darauf befindlichen Daten gehen dabei unwiederbringlich verloren.

volume.tc und mit einer maximalen Kapazität von 10 MByte.” width=”226″ height=”300″ />
Abbildung 2: Dieses Beispiel erzeugt ein neues, verschlüsseltes Volume unter dem Dateinamenvolume.tc und mit einer maximalen Kapazität von 10 MByte. Nun geben Sie das zu verwendende Dateisystem an. Die Voreinstellung FAT ist vor allem dann zweckmäßig, wenn sie den Container auch unter Windows oder als Wirt für ein verstecktes Volume nutzen möchten. Detaillierte Informationen zum Formatieren mit anderen Dateisystemen finden Sie im Artikel “Innere Werte” ([4], auch auf Heft-CD). Als nächstes erfragt Truecrypt die Containergröße: Hier geben Sie etwa 10M für 10 MByte an. Nun steht die Wahl des zu verwendenden Verschlüsselungsverfahren an: Als erstes wählen Sie den Hash-Algorithmus zur Integritätssicherung, danach den Algorithmus für das eigentliche Verschlüsselungsverfahren, mit dem Truecrypt die komplette Container-Datei chiffriert.
Abschließend fehlt nur noch das Passwort, mit dem Sie Zugang zu den verschlüsselten Daten erhalten. Alternativ oder simultan zum Password verwenden Sie ein so genanntes Keyfile als Schutz. Das erstellen Sie entweder mit dem Befehl
truecrypt --keyfile-create Datei
oder Sie verwenden eine beliebige andere Datei. Tritt im Headerbereich eines Truecrypt-Volumes etwa durch ein “umgekipptes Bit” ein Defekt auf, lässt es sich die verschlüsselte Datei nicht mehr öffnen. Deswegen empfiehlt es sich, präventiv nach dem Erstellen eines Volumes mit dem Befehl
truecrypt --backup-header SicherungsdateiVolume
eine Sicherungsdatei des Headers anzulegen. Das komplementäre Kommando
truecrypt --restore-header SicherungsdateiVolume
stellt im Falle eines korrupten Headers die funktionierende Kopie wieder her und ermöglicht so den erneuten Zugriff auf das Volume.
Rumhängen
Um Dateien in das Volume zu kopieren, gilt es, dieses zunächst mithilfe des Befehls
truecrypt VolumeMountpunkt
ins Dateisystem einzuhängen, also etwa mit truecrypt volume.tc /home/tim/mnt. Führen Sie Truecrypt als nicht privilegierter Benutzer aus, öffnet das Programm das Volume nur im Lesemodus. Nach der Abfrage des Passworts hängt Truecrypt den Container im gewählten Verzeichnis ein. Einen Überblick aller gemounteten Volumes zeigt der Befehl truecrypt l. Um einen gemounteten Container wieder auszuhängen, tippen Sie truecrypt -d Mountpoint oder truecrypt -d Volume, also beispielsweise truecrypt -d volume.tc.
In geheimer Mission
Das Verschlüsselungsprogramm ist in der Lage, am Ende eines Containers ein zweites Volume zu verstecken (Abbildung 3). Während das äußere, normale Volume unverfängliche Dateien enthält, versteckt Truecrypt die sensiblen Informationen im geschützten Bereich. Beide Volumes erhalten jeweils ein eigenes Passwort.

Abbildung 3: Truecrypt versteckt ein weiteres, virtuelles Laufwerk (“hidden volume”) innerhalb eines herkömmlichen. Die Dateien 1 und 2 stellen Alibi-Dateien dar, während sich die wichtigen Informationen (Dateien 3 und 4) im versteckten Bereich befinden.
Sollten Sie in die Zwangslage geraten, das Passwort preisgeben zu müssen, verwenden Sie jenes des äußeren Volumes. Truecrypt entschlüsselt damit aber nur die unwichtigen Alibi-Dateien, sowohl die Existenz des versteckten Volumes als auch die enthaltenen Daten bleiben geheim. Dieses Sicherheitskonzept bezeichnet man als glaubwürdiges Abstreiten (“Plausible Deniability”): Solange Sie die Existenz des versteckten Volumes leugnen, kann Ihnen niemand das Gegenteil beweisen.
Um einen versteckten Bereich in einem Container zu erstellen, muss der stets größer ausfallen, als das versteckte Volume – dafür sorgt Truecrypt automatisch beim Erstellen. Außerdem muss der umgebende Container mit dem Dateisystem FAT formatiert werden. Die in unserem Beispiel erstellte Containerdatei volume.tc erfüllt diese Bedingung bereits.
Der weitere Ablauf folgt dem bereits bekannten Schema: Nach der Eingabe von truecrypt -c beantworten sie die erste Frage mit 2 (“hidden volume”) und geben danach die schon vorhandene Containerdatei volume.tc an. Daraufhin erstellt Truecrypt innerhalb von volume.tc den versteckten Bereich, für den Sie im Folgenden alle weiteren Eckdaten festlegen (Abbildung 4). Zunächst kommt das Dateisystem an der Reihe: Welches Sie für das versteckte Volume wählen, ist Truecrypt einerlei. Der Einfachheit halber genügt hier FAT.
Im nächsten Schritt legen Sie die Größe fest. Die Alibi-Daten sollen maximal 2 MByte umfassen, es verbleiben folglich 8 MByte für das versteckte Volume. Der korrekte Wert lautet folglich 8M. Die restlichen Punkte bestehen wieder aus der bekannten Wahl der Verschlüsselungsverfahren. Die restlichen Einrichtungschritte sind mit denen eines normalen Volumes identisch, jedoch gilt es, als Passwort ein anderes als das für das Container-Volume zu verwenden.
Am Ende enthält der fertig präparierte Container zwei Volumes. Welches von den beiden Truecrypt mountet, bestimmt das dabei eingetippte Passwort. Allerdings gibt es diesbezüglich noch einen kleinen Haken: Das versteckte Volume befindet sich stets am Ende der Containerdatei. Damit ein Angreifer das versteckte Volume nicht anhand des belegten Speicherplatzes enttarnen kann, verwendet Truecrypt ohne weitere Angaben für das äußere Volume immer den kompletten Speicherplatz, im Beispiel also die ganzen 10 MByte.
Falls Sie nun einfach gedankenlos damit beginnen, das äußere Volume mit den Alibi-Daten zu füllen, könnten Sie dabei möglicherweise einen Teil des versteckten Volumes überschreiben. Um das zu verhindern, mounten Sie das äußere Volume mit dem Parameter --protect-hidden. Im Hintergrund mountet Truecrypt einfach beide Volumes gleichzeitig und schützt somit den versteckten Part vor Korruption.
Fazit
Truecrypt bietet eine einfache und schnelle Verschlüsselung von Partitionen und ganzen Datenträgern. Da die Truecrypt-Container vom Betriebssystem unabhängig sind, lassen sie sich sowohl unter Windows als auch unter Linux verwenden.
Die Implementation als Kernel-Moduls macht die Installation allerdings relativ kompliziert und langwierig, da Truecrypt stets den ganzen Kernel neu übersetzt kompiliert. Hier bedarf es dringend einer Vereinfachung und Verschlankung. Zudem wäre eine Integration in den Desktop wünschenswert, um beispielsweise Containerdateien wie unter Windows mit nur einem Mausklick einzuhängen und Dateien per Drag & Drop auf die verschlüsselten Laufwerke zu ziehen.
[1] Truecrypt: http://www.truecrypt.org/
[2] Grafische Oberfläche für Truecrypt: http://code.google.com/p/truecryptgui/
[3] Die Truecrypt-Lizenz: http://www.truecrypt.org/license.php
[4] Truecrypt 1.4.2: T. Leichtenstern, “Innere Werte”, LinuxUser 12/2006, S. 65, http://www.linux-user.de/ausgabe/2006/12/065-truecrypt/






