Innere Werte

Datenverschlüsselung mit Truecrypt

01.12.2006
Sensible Daten gehören in den Datensafe: Truecrypt verschlüsselt nicht nur ganze Partitionen, sondern verbirgt sogar deren Existenz.

Beinahe schon fahrlässig behandeln viele Anwender sensiblen Daten auf dem Rechner, auch Firmen machen in dieser Hinsicht häufig keine Ausnahme. Getreu der Devise: "Es wird schon nichts passieren" trägt man wichtige Unternehmensinterna auf dem Laptop spazieren. Als aktuelles Beispiel dafür können die bei VW entwendeten Laptops dienen, die Informationen über die Bauweise von gepanzerten Regierungslimousinen enthielten [1].

Dabei gibt es inzwischen ebenso effiziente wie einfach zu bedienende Möglichkeiten, um die Daten auf dem Rechner vor Unbefugten zu schützen. Als wahrer Allrounder entpuppt sich in dieser Hinsicht Truecrypt [2], das nicht nur Partitionen verschlüsselt, sondern auch verschlüsselte "Container" erstellt. Diese bestehen aus einer Datei, die das verschlüsselte Dateisystem enthält und die man wie eine normale Partition in das System einhängt. Als Verschlüsselungsalgorithmus stehen AES, Blowfish, Twofish, Triple-DES, CAST5 und Serpent zur Auswahl, optional auch in Kombination.

Truecrypt wurde ursprünglich für Windows entwickelt, und auch die Linux-Variante basiert auf dieser Implementation. Allerdings fehlen bislang einige Features wie die grafische Oberfläche oder die dynamische Größenanpassung von Containern. Sowohl unter Linux als auch unter Windows erstellte verschlüsselte Container und Partitionen mountet Truecrypt anstandslos auch auf dem jeweils anderen Betriebssystem, sofern dieses das verwendete Dateisystem unterstützt.

Truecrypt einrichten

Die Heft-CD enthält den Quelltext von Truecrypt sowie passende Archive für viele gängige Distributionen. Die RPM-Pakete installieren Sie mit dem Aufruf rpm -ivh truecrypt.rpm, DEB-Archive mit dem Befehl dpkg -i truecrypt.deb.

Da Truecrypt ein Kernelmodul einrichtet, kommt es vor, dass die Installation scheitert, wenn ein modifizierter oder aktualisierter Kernel zum Einsatz kommt. In diesem Fall kompilieren und installieren Sie das Programm aus dem Quelltext. Sie benötigen dafür folgende Programme und Dateien auf Ihrem Rechner: make, gcc, ld, strip sowie die Kernel-Quellen. Zur Installation gehen Sie wie folgt vor:

  • Extrahieren Sie das Quellpaket mit dem Aufruf sudo tar xvfz truecrypt-4.2a-source-code.tar.gz -C /usr/src/.
  • Wechseln Sie in das neue Verzeichnis /usr/src/truecrypt-4.2.a/Linux
  • Starten Sie den Kompiliervorgang mit dem Aufruf sudo ./build.sh.
  • Rufen Sie abschließend die Installationsroutine mit dem Befehl sudo ./install.sh auf.

Unter Umständen müssen Sie die Prozedur nach einem Kernel-Update wiederholen, damit Truecrypt die benötigten Module neu einrichtet.

Objekte erstellen

Wie eingangs beschrieben handelt es sich bei Truecrypt derzeit um ein reines Kommandozeilenprogramm. Die Entwickler sehen jedoch für das nächste Release ein grafisches Frontend vor. Der Aufruf truecrypt ohne weitere Parameter gibt die Hilfeseite des Programms aus. Detailliertere Informationen liefert die Manpage des Programms (man truecrypt).

Zum Erstellen eines verschlüsselten Objektes tippen Sie truecrypt -c Dateiname.Dieser Aufruf startet eine Schritt-für-Schritt-Abfrage (Abbildung 1), die mit der Art des Volumes (Hidden oder Normal) beginnt. "Hidden" bedeutet hier, dass Sie innerhalb eines bestehenden verschlüsselten Objektes ein zweites erstellen, dessen bloße Existenz für Unbefugte später nicht nachweisbar ist.

Abbildung 1: Die sequentielle Abfrage erleichtert das Anlegen von verschlüsselten Containern und Partitionen.

Im nächsten Schritt legen Sie das Dateisystem des Objektes fest. Möchten Sie ein anderes als FAT verwenden, wählen Sie hier none und formatieren den Container später wie im Kasten "Virtuelle Laufwerke formatieren" beschrieben per Hand.

TIPP

Befindet sich der Truecrypt-Container auf einem Journaling-Dateisystem wie Ext3 oder ReiserFS, hält das Journal unter Umständen Daten über den Container vor, die es erlauben, diesen – beispielsweise nach einem Passwortwechsel – mit dem alten Passwort zu mounten. Dieses potentielle Sicherheitslücke umgehen Sie, indem Sie den Container auf einem Dateisystem ohne Journal, beispielsweise Ext2, aufbewahren.

Virtuelle Laufwerke formatieren

Truecrypt bietet zum Formatieren lediglich das Dateisystem FAT an. Das erweist sich im täglichen Betrieb jedoch nicht immer als stabil genug; bei Abstürzen während der Arbeit mit Truecrypt etwa gehen oft Zuordnungen verloren. Daher empfiehlt es sich, beim Anlegen eines Objektes als Dateisystem none zu wählen und die Partition im Anschluss wie folgt zu formatieren:

  • Mappen Sie das Laufwerk als Benutzer root mit dem Befehl truecrypt -N Nummer Container (zum Beispiel # truecrypt -N 1 filesafe.tc). Die Nummer hinter -N gibt an, mit welcher Zahl Truecrypt das Device versieht (zum Beispiel truecrypt1).
  • Formatieren Sie danach das Device mit dem Dateisystem Ihrer Wahl. Für Ext3 lautet der Aufruf mkfs.ext3 /dev/mapper/truecryptNummer.
  • Um es zu nutzen, hängen Sie das Device im Anschluss mit dem Befehl mount /dev/mapper/truecryptNummer Mountpunkt in Ihr Verzeichnis ein. Dafür stehen Ihnen alle Optionen zur Verfügung, die mount bietet.
  • Da Truecrypt das Mappen und Einhängen in einem Arbeitsgang erledigt, reicht zukünftig der Aufruf truecrypt Objekt Mountpunkt.

Danach geben Sie an, wie groß der Container werden soll. Erstellen Sie eine Partition, nutzt Truecrypt diese immer komplett. Anschließend stellen Sie ein, welchen Hashalgorithmus Truecrypt zur Integritätssicherung verwendet. Zur Auswahl stehen RIPMED-160, SHA-1 und Whirlpool.

Im nächsten Schritt legen Sie fest, mit welchem Algorithmus Truecrypt den Inhalt der Objekte verschlüsselt. Die spätere Geschwindigkeit der Schreib- und Lesezugriffe auf diese Laufwerke hängt maßgeblich von der Auswahl des Verschlüsselungsalgorithmus ab.

Die Tabelle "Benchmark" gibt Auskunft über die Geschwindigkeit der verschiedenen Algorithmen. Als Dateisystem diente jeweils Ext3; die Volumes bestanden jeweils aus einem 300 MByte großen Container, in den eine 260 MByte große Datei kopiert wurde. Dabei diente RIPMED-160 als Hashalgorithmus. Besonders, wenn Sie später häufig schreibend auf die Partition zugreifen möchten, sollten Sie darauf zu achten, einen möglichst leistungsfähigen Algorithmus wie Serpent oder Twofish zu verwenden.

Benchmark

Verschlüsselungsalgorithmus Schreiben (MByte/s) Lesen (MByte/s)
Unverschlüsselt 9,2 33,3
Twofish 7,9 26,0
Serpent 7,6 24,8
Blowfish 7,4 22,0
AES 6,8 21,0
Twofish-Serpent 6,8 15,6
Serpent-AES 6,7 14,7
CAST5 6,5 14.9
Serpent-Twofish-AES 5,8 10,9
Triple-DES 5,4 10,8
AES-Twofish 4,7 14,4
AES-Twofish-Serpent 4,6 11,1

In den letzten beiden Abfragen geben Sie optional ein Passwort, einen Schlüssel oder beides an, die Truecrypt einzeln oder in Kombination zum Öffnen der Laufwerke verwendet. Als Schlüssel kann jede auf dem System vorhandene Datei dienen, aus Sicherheitsgründen sollte diese aber mindestens 16 Byte groß sein. Abschließend generiert Truecrypt als internen Schlüssel ein zufälliges Bitmuster aus Mausbewegungen oder einer Tastatureingabe. Danach ist Ihr verschlüsseltes Laufwerk einsatzbereit.

Einen Schwachpunkt der Truecrypt-Container stellt ihr Header dar: Schon eine Störung einzelner Bits darin macht das Mounten des verschlüsselten Volumes unmöglich. Daher empfiehlt es sich, diesen Header mit dem Befehl truecrypt --backup-header Sicherungsdatei Volume zu sichern. Der Aufruf truecrypt --restore-header Sicherungsdatei Volume stellen die die Kopfdateien im Schadensfall wieder her.

TIPP

Mit dem Aufruf truecrypt -C Container ändern Sie nachträglich die Art der Authentifizierung für einen Container oder ein verschlüsseltes Laufwerk.

Laufwerke einbinden

Das Einhängen eines Laufwerks oder Containers vollzieht sich in zwei Schritten: Zuerst legt Truecrypt ein virtuelles Device namens truecryptZahl im Verzeichnis /dev/mapper an. Danach hängt das Programm das Device an eine beliebige Stelle im Dateisystem ein (Abbildung 2).

Abbildung 2: Vor dem Einhängen in das Dateisystem mappt Truecrypt die Datei oder Partition als physikalisches Gerät (Device).

Normalerweise erledigen Sie mit einem Aufruf beides: truecrypt Container /Pfad/zum/Mountpoint mountet das Objekt an der gewünschten Stelle im Dateisystem. Möchten Sie ein Objekt lediglich mappen, ohne es einzuhängen, tippen Sie truecrypt -N Zahl Container. Das Kommando truecrypt Container mappt die Partition oder den Container mit einer automatisch zugewiesenen, fortlaufenden Devicenummer.

Der Aufruf truecrypt -l zeigt eine Übersicht aller gemappten Container. Um die Zuordnungen aufzuheben, tippen Sie entweder truecrypt -d, um alle gemappten Verbindungen zu lösen, oder truecrypt -d Device, um die Zuweisung eines einzelnen Laufwerks aufzuheben.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

title_2014_08

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...
Öhm - wozu Benutzername, wenn man dann hier mit Klarnamen angezeigt wird?
Thomas Kallay, 03.07.2014 20:30, 1 Antworten
Hallo Team von Linux-Community, kleine Zwischenfrage: warum muß man beim Registrieren einen Us...
openSUSE 13.1 - Login-Problem wg. Fehler im Intel-Grafiktreiber?
Thomas Kallay, 03.07.2014 20:26, 8 Antworten
Hallo Linux-Community, habe hier ein sogenanntes Hybrid-Notebook laufen, mit einer Intel-HD460...
Fernwartung für Linux?
Alfred Böllmann, 20.06.2014 15:30, 7 Antworten
Hi liebe Linux-Freunde, bin beim klassischen Probleme googeln auf www.expertiger.de gestoßen, ei...