1. Verschlüsselungs- und Hash-Algorithmen von TrueCryp/VeraCrypt
Das Programm arbeitet mit den Verschlüsselungsalgorithmen Advanced Encryption Standard (AES), Twofish sowie Serpent. Der Anwender hat die Wahl, einen einzelnen Algorithmus zu wählen oder die Algorithmen hintereinander zu kaskadieren (alle Reihenfolgen sind möglich). Alle drei Verschlüsselungsmethoden gelten aktuell als absolut sicher, wobei AES auch in vielen Ländern und bei den Militärs (z.B. USA) in der Kategorie “höchste Geheimhaltungsstufe” zugelassen ist. Am sichersten erscheint uns die Kaskadierung aller drei Algorithmen.
Ferner stehen die Hash-Algorithmen SHA512, Whirlpool und RIPEMD-160, zum “Zerhacken” der zu verschlüsselnden Daten und zum Generieren der Header-Keys, zur Verfügung. Wir bevorzugen RIPEMD-160 (bit), da zu diesem bisher keine Kollisionen gefunden wurden und er sehr perfomant arbeitet. Sie können jedoch bedenkenlos den populären SHA512- oder den ebenso sicheren Whirlpool-Hash-Algorithmus verwenden.
2. Arbeitsweisen von TrueCryp/VeraCrypt
TrueCrypt verschlüsselt und entschlüsselt Dateien im Arbeitsspeicher (RAM) des Rechners on the fly (in Echtzeit) sowie transparent. Es kennt zwei Möglichkeiten der Verschlüsselung:
2.1 Verschlüsselung einer gesamten Partition (device-hosted oder Systempartition)
Wie die Überschrift schon sagt, wird eine ganze Partition verschlüsselt (sog. Vollverschlüsselung), z.B. eine komplette Festplatte (auch externe) oder ein gesamtes Laufwerk mit Daten (auch USB-Sticks, Floppy-Disks...).
Bei einer device-hosted-Partition wird von TrueCrypt zuvor in einem Dateisystem (z.B. FAT, NTFS) neu formatiert - vorsicht alle Daten der Partition werden damit gelöscht. Nach Formatierung, kann man die Partitionsinhalte (Dateien aller Formate) darauf speichern, die dann in Echtzeit im RAM ver- bzw. entschlüsselt werden. D.h. um auf die Partition zugreifen zu können, muss TrueCrypt im Hintergrund tätig sein. Bei der Verschlüsselung einer Systempartition (siehe nächsten Punkt) erfolgt hingegen keine vorhergehende Formatierung, d.h. die Verschlüsselung kann im laufenden Betrieb erfolgen.
2.1.1 (Voll-)Verschlüsselung einer Systempartition
Seit Version 5.0 ist im Programm auch ein Pre-Boot-Handler enthalten, der es ermöglicht, eine Systempartition (Win-7, -Vista, -XP, Server 2003, jeweils in 32/64-bit) oder eine komplette System-Harddisk mit allen Partitionen vollzuverschlüsseln. Dies ist die Krönung aller Verschlüsselungsarten, weil am sichersten. Alles was auf dem Computer gespeichert ist, ist absolut sicher geschützt. Eben auch alle Betriebssystemdaten mit Historien zu gestarteten Applikationen und Dateien etc. Auch der Freispeicher einer Partition, in welchem sich oft Fragmente (vor allem Dateisystem NTFS) von Dateien finden lassen, ist hierbei in die Verschlüsselung mit einbezogen.
Die Verschlüsselung kann, im Gegensatz zu einem device-hosted-Volume (siehe 2.1), während des Betriebs erfolgen, d.h. es erfolgt keine zuvorige Formatierung der Partition(en), die mit Datenverlust einhergehen würde, sprich es kann mit dem Computer wie gewohnt gearbeitet werden! Der Verschlüsselungs- oder auch Entschlüsselungs-Prozess kann jederzeit unterbrochen werden. Selbst nach einem Reboot und erneutem Anstoss des Prozesses, wird TrueCrypt an der Stelle weitermachen, wo es aufgehört hat.
Nach erfolgter Verschlüsselung der Systempartition, kann das System nur noch hochgefahren werden, wenn zuvor das Passwort im Pre-Boot-Loader, welcher sich im ersten Zylinder der Bootpartition befindet, eingegeben wurde. Ein sonstiger Zugriff auf die Festplatte (z.B. über Drittrechner) wird nur “Datenmüll” (Zufallszahlen) liefern...
Seit Version 6.0 ist auch die zusätzliche Bildung eines versteckten Klons des Systems in einem versteckten Volume möglich (dazu später mehr).
2.2 Verschlüsselung in einem Container, auch Volume genannt (file hosted)
Ein TrueCrypt-Container ist ist quasi eine virtuelle Festplatte, in Wirklichkeit eine einzelne Datei mit beliebigem Dateinamen und -endung (auch ohne Dateiendung ist möglich) sowie beliebiger Grösse, die innerhalb eines Betriebssystems gemountet (eingebunden) wird, um darauf zugreifen zu können. Windows erstellt hierzu ein virtuelles Laufwerk (das Volume kann auch als Wechseldatenträger eingebunden werden, dazu kommen wir später) und Linux hängt den Container in einen frei wählbaren Ordner ein. Innerhalb des Containers wird das gewählte Dateisystem von TrueCrypt verwaltet. Dabei werden keine entschlüsselten Daten auf der Festplatte gespeichert, sondern nur temporär im RAM (in Echtzeit). Die, in den Container kopierten oder verschobenen, Dateien werden on-the-fly bereits im RAM verschlüsselt, bevor eine Speicherung im Container erfolgt.
Bsp. für eine geöffnete verschlüsselte TrueCrypt-Volume-Datei (Ausschnitt):
TrueCrypt-Volumes können NICHT als solche erkannt werden, d.h. sie bestehen lediglich aus einer zufälligen Folge von Bits und sind deshalb von einer Datei oder Partition mit normalen Zufallszahlen nicht zu unterscheiden. Man spricht hierbei vom Konzept der “glaubhaften Bestreitbarkeit (plausible deniability) von verschlüsselten Daten”. Wenn Sie überhaupt keine Rückschlüsse auf die Existenz verschlüsselter Daten aufkommen lassen möchten, deinstallieren Sie TrueCrypt und evtl. andere Verschlüsselungssoftware wieder auf Ihrem Rechner und starten TrueCrypt statt dessen von einem USB-Stick oder Diskette (siehe Punkt 6.: Traveller Disk erstellen), um Ihre Container einzubinden (siehe Punkt 4.3).
2.2.1 Normales Volume (siehe auch Beispielgrafik)
Ein normales Volume eignet sich für sensible Daten, die vor unberechtigtem Zugriff zuverlässig geschützt werden sollen. Z.B. um das Auslesen von Daten auf einem USB-Stick bei Verlust (verloren gegangen) durch Dritte zu verhindern oder private Daten auf der Festplatte eines Computers (z.B. Mehrbenutzersystem) zu schützen.
Obwohl die Existenz eines verschlüsselten TrueCrypt-Volume nicht nachgewiesen werden kann, könnte ein findiger Ermittler oder Angreifer jedoch vage vermuten, dass es sich hierbei um verschlüsselte Daten handelt (vor allem dann, wenn die Datei sehr gross ist und dazu noch eine Verschlüsselungssoftware auf dem Rechner installiert ist), wenngleich es ihm nicht möglich sein wird, diese zu entschlüsseln.
Um auch die Existenz eines TrueCrypt-Volume komplett und absolut sicher zu verschleiern, bietet TrueCrypt den versteckten Container (siehe nächsten Punkt 2.2.2).
Sog. Hidden Volumes können innerhalb des freien Speicherplatzes eines normalen Containers (sog. outer-volume) angelegt werden. Es kann anschliessend sowohl das äussere normale Volume, als auch das innere versteckte Volume von TrueCrypt in das System eingebunden werden (allerdings nicht gleichzeitig). Welches es öffnen muss, erkennt TrueCrypt am Passwort und/oder Schlüsseldatei (aus diesem Grund müssen Outer- und Hidden-Volume durch unterschiedliche Passwörter und/oder Schlüsseldateien geschützt werden).
Seit Version 6.0 ist auch die Erstellung eines versteckten Betriebssystems innerhalb eines versteckten Volume möglich (siehe späteren Punkt 9.1). Das versteckte System wird dann nicht gemountet, sondern über den Pre-Boot-Loader gestartet.
Es ist absolut unmöglich, die Existenz eines versteckten Containers, auch bei Öffnung des äusseren Volume, nachzuweisen (da er sich verschlüsselt im freien Speicher des äusseren Volume verbirgt).
Geht der Anwender z.B. davon aus, dass er u.U. gezwungen werden könnte das Passwort für seine verschlüsselten Daten herausgeben zu müssen (z.B. durch Beugehaft), gibt er nur das Passwort für das normale Volume an, indem sich dann unwichtige Alibidaten befinden. Die wirklich schützenswerten Daten sind jedoch im versteckten Container, innerhalb des freien Speicherplatzes des normalen Volume, gespeichert und bleiben somit unentdeckt bzw. nicht nachweisbar verborgen. Siehe Grafik:
Die Grafik zeigt den Unterschied der TrueCrypt-Volume auf. Der dargestellte Speicherbereich des versteckten Volume teilt sich ebenso (wie ein normales Volume) in belegten und freien Speicher auf, abhängig von den Grössen, die bei Erstellung der Volumes (äusseres und verstecktes) vorgegeben wurde.
Die Sichtweite beim Einbinden/Mounten des äusseren Volumens entspricht dem eines normalen Volumens, d.h. das äussere Volumen hat keine Kenntnis vom versteckten Volume. Dies kann zum Überschreiben des versteckten Containers führen, wenn keine entsprechende Mountoption zum Schutz des versteckten Volume beim Einbinden des äusseren Volume aktiviert wurde (Diese Option natürlich nicht auswählen, wenn man dem Angreifer Alibidaten präsentieren will).
Um die Verwirrung komplett zu machen, kann man ein (verstecktes) TrueCrypt-Volume in einer virtuellen Maschine plazieren, eine virtuelle Maschine in einem (versteckten) TrueCrypt-Volume verbergen oder ein verstecktes Volume in einem versteckten Volume in einer VM u.s.w..... - die Möglichkeiten sind grenzenlos, solange SIE selbst den Überblick behalten!
Zum nächsten Kapitel oder über Inhaltsverzeichnis wählen: