staging.inyokaproject.org

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:

(vermeintliche) Datenträgerbelegung
Szenario mit verstecktem Laufwerk zum Vergleich:
ohne verstecktes Laufwerk
Reale Situation ./real.png ./container.png
Kein Passwort bekannt ./unbekannt.png ./unbekannt.png
Äußeres Laufwerk eingehängt, Passwort des versteckten Laufwerks unbekannt ./container.png ./container.png
Verstecktes Laufwerk eingehängt ./versteckt.png -
Äußeres Laufwerk eingehängt, Passwort des versteckten Laufwerks eingegeben ./container-schutz.png -
Legende
Grau:
Datenträger
Blau:
Äußeres TC-Laufwerk
Gelb:
Verstecktes TC-Laufwerk
Rot:
Nicht zugänglicher Bereich

Diese Revision wurde am 7. März 2009 15:30 von BigMc erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Sicherheit, ungetestet