Verstecktes TC-Laufwerk
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Diese Seite gehört zu dem Beitrag Archiv/TrueCrypt. Sie beschreibt das Erstellen eines versteckten TC-Laufwerks sowie das Ein- und Aushängen dieses Laufwerks in die Verzeichnisstruktur.
Worum geht es?¶
TrueCrypt kennt so genannte "hidden volumes", also versteckte Laufwerke, die sich innerhalb eines TrueCrypt-Laufwerks verbergen und durch ein eigenes Passwort geschützt sind. Jedes normale TrueCrypt-Laufwerk kann ein verstecktes Laufwerk beinhalten.
Kennt jemand nur das Passwort für das äußere TC-Laufwerk, so sieht es für ihn so aus, als würde kein verstecktes Laufwerk existieren. Er kann also auch den gesamten Speicherplatz des Containers beschreiben.
Wer nur das Passwort für das versteckte Laufwerk kennt, kann nur auf dieses zugreifen.
Schließlich kann jemand, der das Passwort für äußeres und inneres Laufwerk kennt, das äußere Laufwerk unter Berücksichtigung des inneren Laufwerks mounten, und somit verhindern, dass das versteckte Laufwerk überschrieben wird.
Der Sinn des Ganzen liegt in der glaubhaften Bestreitbarkeit 🇩🇪 : Die Existenz eines TrueCrypt-Laufwerks lässt sich schwer leugnen - insbesondere dann, wenn die Software auf dem betroffenen Rechner installiert ist. Wird man gezwungen, das Passwort preiszugeben, so kann man trotzdem glaubhaft bestreiten, dass innerhalb des TC-Laufwerks ein weiteres, verstecktes Laufwerk existiert, da letzteres nicht nachzuweisen ist.
Siehe auch: Diskussion "Nicht erkennbare Verschlüsselung" im Forum.
Voraussetzungen¶
Zunächst benötigt man ein äußeres TrueCrypt-Laufwerk, also eine TrueCrypt-Partition oder eine TrueCrypt-Containerdatei. Zu deren Erstellung geht man vor wie im Artikel Archiv/TrueCrypt/TC-Laufwerk beschrieben.
Hinweis:
Zur Vereinfachung wird nun im Folgenden davon ausgegangen, dass eine TrueCrypt-Partition /dev/sdb1 existiert. Es ist also jeweils /dev/sdb1
durch die korrekte Bezeichnung der TrueCrypt-Partition bzw. durch den Dateinamen des Containers zu ersetzen.
Erstellung¶
Äußeres Laufwerk mappen¶
Zunächst stellt man sicher, dass kein TrueCrypt-Laufwerk gemappt ist:
truecrypt -d truecrypt -l
Man erhält die Ausgabe
No volumes mapped
Nun mappt man das TC-Laufwerk, das als Container für das versteckte Laufwerk dienen soll:
truecrypt -N 1 /dev/sdb1 truecrypt -l
Die Rückmeldung sollte dabei lauten:
/dev/mapper/truecrypt1 /dev/sdb1
Inneres Laufwerk einrichten¶
Jetzt folgt die eigentliche Erstellung des versteckten Laufwerks:
sudo truecrypt --type hidden -c /dev/sdb1
Wie bei der Erstellung des äußeren Laufwerks folgen daraufhin einige Abfragen von TrueCrypt. Wenn man nicht FAT als Dateisystem haben möchte, beantwortet man die erste Frage mit 2 , die Formatierung kann man dann später manuell durchführen (s.u.)
Die restlichen Abfragen kann man mit ⏎ (Default) beantworten. Ausnahme ist natürlich das Passwort, welches gemäß Sicherheits 1x1 gewählt werden sollte. Es darf nicht das gleiche Passwort sein, das für das äußere Laufwerk gewählt wurde!
Wenn alle Angaben gemacht sind, ist anhand einer Fortschrittsanzeige zu sehen, wie das verschlüsselte Laufwerk erstellt wird. Dies geht in der Regel sehr viel schneller als die Erstellung des äußeren Laufwerks.
Verstecktes Laufwerk formatieren¶
Dieser Schritt ist nur dann notwendig, wenn bei der Einrichtung nicht FAT gewählt wurde.
Zunächst muss das versteckte Laufwerk gemappt werden. Hierzu führt man exakt die gleichen Schritte durch wie beim Mappen des äußeren Laufwerks (s.o.). Der einzige Unterschied ist, dass man nun das Passwort des versteckten Laufwerks eingibt.
Anschließend kann man mit
sudo mkfs.ext3 /dev/mapper/truecrypt1
die Formatierung durchführen, wobei ext3
natürlich durch ext2
oder reiserfs
etc. ersetzt werden kann.
Header sichern¶
Zu guter Letzt sollte man unbedingt eine Sicherung des Headers durchführen. Der Header ist ein Bereich innerhalb des TC-Laufwerks, der absolut unverzichtbar für die Entschlüsselung der Daten ist. Wird auch nur ein einziges Bit des Headers verändert - z.B. durch einen Datenträgerfehler - so wird unter Umständen das komplette TC-Laufwerk unbrauchbar. Dann hilft nur eine Rücksicherung des Headers.
Die Erstellung der Sicherung geschieht mit dem Befehl
truecrypt --backup-headers /NAME/DER/SICHERUNGS.DATEI /dev/sdb1
Es werden stets Header von äußerer und versteckter Partition gleichzeitig gesichert.
Spuren verwischen¶
Ein Verstecktes Laufwerk macht keinen Sinn, wenn man seine Existenz anhand der eingegebenen Befehle erkennen kann. Daher empfiehlt es sich, den Verlaufsspeicher zu bereinigen. Hierzu schließt man zunächst das Terminal, und entfernt anschließend mit einem Editor [2] die betreffenden Befehle aus der Datei ~/.bash_history. Außerdem bereinigt man mit Root-Rechten die Datei /var/log/auth.log.
Hinweis:
Dies erübrigt sich, wenn man zur Erstellung des versteckten TrueCrypt-Laufwerks eine Live-CD verwendet.
Verwendung¶
Es gibt nun drei Möglichkeiten, das TrueCrypt-Laufwerk zu verwenden:
Passwort des äußeren Laufwerks ist bekannt¶
Wie bereits erwähnt, ist das versteckte Laufwerk für Benutzer unsichtbar, die nur das Passwort des äußeren Laufwerks kennen. In diesem Fall wird mit
truecrypt /dev/sdb1 ~/irgendwo
das äußere Laufwerk in voller Größe eingehängt. Hierbei erscheint das versteckte Laufwerk wie leerer Speicherplatz, und kann daher überschrieben werden. Für normales Arbeiten ist diese Methode also ungeeignet.
Passwort des versteckten Laufwerks ist bekannt¶
In diesem Fall kann man mit
truecrypt /dev/sdb1 ~/irgendwo
das versteckte Laufwerk mounten. Man gibt bei der Passwortabfrage einfach das Passwort des versteckten Laufwerks an. Das äußere Laufwerk wird dabei nicht eingehängt, und die Daten, die sich außerhalb des versteckten Laufwerks befinden, werden nicht überschrieben.
Passwort beider Laufwerke ist bekannt¶
Für normales Arbeiten mit dem äußeren Laufwerk sollte man den Befehl
truecrypt -P /dev/sdb1 ~/irgendwo
verwenden. Dabei werden beide Passwörter abgefragt. Das äußere Laufwerk wird dann unter Berücksichtigung des versteckten Laufwerks eingehängt. Ein versehentliches Überschreiben des versteckten Laufwerks wird verhindert.
Achtung!
Im Verlaufsspeicher der Shell kann man nach Eingabe dieses Befehls erkennen, wo sich ein verstecktes Laufwerk befindet. Es empfiehlt sich daher, den Befehl truecrypt -P
auf die schwarze Liste des Verlaufsspeichers zu setzen.
Illustration¶
Zur Verdeutlichung soll hier anhand von Skizzen gezeigt werden, wie sich die Situation für verschiedene Benutzer darstellt:
Legende | |||
Grau: Datenträger | Blau: Äußeres TC-Laufwerk | Gelb: Verstecktes TC-Laufwerk | Rot: Nicht zugänglicher Bereich |