Kategorien
Computer Software

TrueCrypt im Alltagseinsatz

Man kann eine externe USB-Festplatte mit frei zugänglichen Mitteln auf einen beachtlichen Sicherheitslevel bringen. Eins der Hauptprobleme bei den Kauflösungen ist die mangelnde Portabilität. Bei allen vorgestellten Lösungen ist man auf Windows als Betriebssystem festgelegt. Was aber, wenn man statt dessen Linux oder Mac OS X benutzt oder Daten sicher zwischen den drei genannten OS-Welten hin und her bewegen möchte?
Dafür bietet sich TrueCrypt an. TrueCrypt ermöglicht das Arbeiten mit Verschlüsselung auf zwei Arten. Man kann eine verschlüsselte Datei erstellen, in der ein eigenes Dateisystem existiert (FAT, NTFS, Ext2, EXT3, je nach Host-Betriebssystem). Diese Datei wird dann mittels TrueCrypt gemountet, so dass man damit wie mit einem Netzlaufwerk arbeiten kann. Oder man verschlüsselt eine komplette Partition oder einen ganzen Datenträger. TrueCrypt verschlüsselt mittels AES, Serpent oder Twofish sowie mit Kombinationen davon.

truecrypt-logoPer Hardware verschlüsselte externe Festplatten wurden in (iX 1/2009, Seite 90-91) vorgestellt und verglichen. Natürlich kann man eine externe USB-Festplatte auch mit frei zugänglichen Mitteln auf einen vergleichbaren Sicherheitslevel bringen. Thematisch passend hat Jürgen Pabel auf der 25C3-Konferenz in Berlin einen interessanten Vortrag über FDE (Full Disk Encryption) gehalten. Eins der Hauptprobleme bei den Kauflösungen ist die mangelnde Portabilität. Bei allen vorgestellten Lösungen ist man auf Windows als Betriebssystem festgelegt. Was aber, wenn man statt dessen Linux oder Mac OS X benutzt oder Daten sicher zwischen den drei genannten OS-Welten hin und her bewegen möchte?

truecrypt-headerDafür bietet sich TrueCrypt an. TrueCrypt ermöglicht das Arbeiten mit Verschlüsselung auf zwei Arten. Man kann eine verschlüsselte Datei erstellen, in der ein eigenes Dateisystem existiert (FAT, NTFS, Ext2, EXT3, je nach Host-Betriebssystem). Diese Datei wird dann mittels TrueCrypt gemountet, so dass man damit wie mit einem Netzlaufwerk arbeiten kann. Oder man verschlüsselt eine komplette Partition oder einen ganzen Datenträger. TrueCrypt verschlüsselt mittels AES, Serpent oder Twofish sowie mit Kombinationen davon.
In der aktuellen Version 6.1 unterstützt es Windows (2000, XP, Vista), Linux und Mac OS X (10.4 und 10.5). Für etwaige Ports zu Solaris oder BSD steht der Quellcode zur freien Verfügung, TrueCrypt ist in großen Teilen Open Source, steht allerdings nicht unter der GPL, sondern unter der TrueCrypt Collective License.
Ein Vorteil gegenüber den Fertiglösungen ist damit herausgearbeitet, die Portabilität. Ein zweiter Vorteil liegt in der Tatsache, dass der Quellcode offen liegt. D.h. es sind keinerlei Hintertürchen für regierungsseitigen Wissensdurst vorhanden. Jeder kann den Quellcode einsehen und sich ggf. sein eigenes Programmpaket kompilieren, um ganz sicher zu gehen. Bei den gekauften Fertiglösungen muss man sich auf die Versicherung der Hersteller verlassen.

Externe Festplatte verschlüsseln

Hierzu bieten sich zwei Modi an. Ist man sicher, dass die Festplatte grundsätzlich immer an Rechnern betrieben wird, auf denen TrueCrypt schon installiert ist, kann man die komplette Festplatte per TrueCrypt verschlüsseln. Daten, die sich evtl. noch auf der externen Festplatte befinden, müssen auf ein anderes Medium gesichert werden, da während der Verschlüsselung der externen Festplatte selbige komplett neu formatiert wird!
Ausgehend von Version 6.1 und Windows als Betriebssystem geht die Vollverschlüsselung einer externen Festplatte in folgenden Schritten vor sich. Zuerst wählt man im Wizard den Punkt „Create a volume within a non-system partition/device„. Um einfach nur eine externe Festplatte zu verschlüsseln, wählt man in der nächsten Dialogbox „Standard TrueCrypt volume„.
Als nächstes muss man die zu verschlüsselnde Festplatte auswählen. Gerade hier sollte man unbedingt die nötige Sorgfalt wahren. Ansonsten kommt es zu Datenverlusten, wenn man sich bei der Auswahl der Festplatte irrt.

Auswahl der zu verschlüsselnden Partition
Auswahl der zu verschlüsselnden Partition

Um ganz sicher zu gehen, sollte man sich die nun erscheinende Warnbox gründlich durchlesen. Da das Ziel diesmal die komplette Verschlüsselung der Festplatte ist, geht es nun mit den „Encryption Options“ weiter. Für den ersten Versuch kann man es bei den Standardeinstellungen belassen, AES als Verschlüsselungsalgorithmus und RIPEMD-160 als Hash-Algorithmus. Die Volume Size, d.h. die Größe der zu verschlüsselnden Festplatte wird automatisch ausgelesen und hier nochmal angezeigt. Dies ist die letztmalige Gelegenheit, zu überprüfen, ob man wirklich das richtige Ziel für die Verschlüsselung ausgewählt hat.
Nächster Punkt ist die Vergabe eines starken Passworts. Dazu ist schon viel geschrieben worden, ich rate hier zu einem Passwort von deutlich mehr als acht Zeichen, das man sich merken kann, ohne es aufzuschreiben und das mindestens Groß- und Kleinschreibung sowie Zahlen und Sonderzeichen enthält. Ich persönlich verwende eines mit zwanzig Stellen! Vorsicht! Hat man das Passwort irgendwann vergessen, gibt es absolut keinen Weg mehr, an den Inhalt des verschlüsselten Bereichs heranzukommen.
Die nächste Dialogbox fragt ab, ob man ggf. Dateien größer als 4 GB innerhalb des verschlüsselten Bereichs speichern will. Das hat natürlich auswirkungen auf das innerhalb des Containers zu verwendende Dateisystem. Generell kann Truecrypt nur die Dateisysteme innerhalb des Containers anlegen und nutzen, die vom darunterliegenden Betriebssystem zur Verfügung gestellt werden. D.h. für Windows werden NTFS und FAT unterstützt, für Linux FAT, EXT2 und EXT3 und für Mac OS X FAT und HFS+. TrueCrypt macht entsprechende Vorschläge für das zu wählende Dateisystem. Soll die zu verschlüsselnde Festplatte später von verschie3denen Betriebssystemen beschreibbar sein, muss man FAT als kleinsten gemeinsamen Nenner wählen. NTFS eignet sich mittlerweile für den Datenaustausch zwischen Windows und Linux, für Macs nur eingeschränkt, da ohne Zusatztreiber nur lesender Zugriff auf NTFS-Partitionen möglich ist.

Auswahl des zu verwendenden Filesystems
Auswahl des zu verwendenden Filesystems

Da die Verschlüsselung in diesem Beispiel unter Windows Vista passiert, stehen nur NTFS und FAT zur Auswahl. TrueCrypt schlägt folgerichtig NTFS vor. Während man hier herumrätselt, kann man schon einmal die Maus unkontrolliert über das Fenster bewegen, um den Random Pool zu füllen, der im Anschluß für die eigentliche Verschlüsselung benutzt wird. Ein Mausklick auf „Format“ setzt nun unwiderruflich die Verschlüsselungsformatierung in Gang, d.h. ab jetzt sind etwaige noch auf dem Datenträger vorhanden gewesene Altdaten gelöscht. Die Formatierung und Verschlüsselung der 40 GB Festplatte dauert ca. 40 min.
Nachdem die Festplatte fertig formatiert und verschlüsselt ist, muss sie noch ins System eingehängt werden. Windows hat die Platte auf dem Testsystem als Laufwerk G: erkannt, aber so bekommt man den verschlüsselten Speicherbereich nicht zu sehen. Man muss die Festplatte zusätzlich unter einem noch nicht belegten Laufwerksbuchstaben per TrueCrypt einhängen, auf dem Testsystem H:. Unter Linux und Mac OS X werden TrueCrypt-Container und Devices unter /media/truecryptN eingehängt, wobei N von 1 bis 32 reicht.
Unter Windows wählt man einen freien Laufwerksbuchstaben in TrueCrypt und klickt entweder auf die Schaltfläche „Auto-Mount Devices„, dann sucht TrueCrypt nach einem noch nicht eingebundenen verschlüsselten Gerät oder auf „Select Drive„, dann muss man das Gerät selbst angeben, was üblicherweise schneller geht. Das war’s fast schon.
vor dem Trennen der Kabelverbindung zwischen USB-Festplatte und System sollte man tunlichst erst in TrueCrypt das entsprechende Gerät per „Dismount“ aushängen, da sonst Datenverlust droht. Bei einem Test mit einem 1 GB USB-Stick waren die gerade auf den verschlüsselten Stick kopierten Daten nicht mehr vorhanden, nachdem der Stick einfach vom System getrennt wurde, ohne ihn vorher per Dismount freizugeben.

Will man nicht extra einen zusätzlichen (unverschlüsselten) USB-Stick mit den nötigen Installationsdateien herum tragen, bietet es sich an, die externe Festplatte in zwei Partitionen aufzuteilen, eine kleine unverschlüsselte, auf der sich die TrueCrypt- Installationsdateien für Linux, Windows und Mac OS X befinden, sowie eine große verschlüsselte. Alternativ kann man auf die Partitionierung verzichten und einfach einen sehr großen TrueCrypt-Container auf der Festplatte erzeugen.
Natürlich geht all das auch mit eine USB-Stick. Handelsübliche Exemplare haben mittlerweile 8-16 GB und ein Ende ist nicht abzusehen. In der Praxis hat es sich bewährt, den Stick nicht komplett zu verschlüsseln, sondern als Träger für TrueCrypt-Containerdateien zu benutzen. Das hat den Vorteil, dass man die TC-Container auf andere Medien sichern kann, ohne sie dafür zu mounten.

Neben der Verschlüsselung eines ganzen Datenträgers bietet TrueCrypt darüber hinaus noch einige Features, die die Fertiglösungen naturgemäß nicht bieten können. Genannt sei hier z.B. das Erstellen von Hidden Volumes, die nachträgliche Verschlüsselung einer kompletten Windows-Installation oder die Benutzung von Keyfiles.
Zu all dem kommt noch die vom TrueCrypt Projekt hervorgehobene „Plausible Deniability“, d.h. das man TrueCrypt so betreiben kann, dass man glaubhaft abstreiten kann, überhaupt irgendwo verschlüsselte Daten zu halten.

Hidden Volume

Dabei wird in einer verschlüsselten Datei/Partition/Festplatte ein weiteres, vollkommen unsichtbares Hidden Volume innerhalb des freien Speicherbereichs eingerichtet. Mountet man den so präparierten TrueCrypt-Container mit dem normalen Passwort, bekommt man diesen versteckten Bereich nie zu sehen. Er verbirgt sich im freien Teil des TC-Containers und taucht nicht einmal als Dateiname im „offenen“ Container auf. Mountet man den TC-Container statt mit dem „offenen“ Passwort mit einem zweiten für das Hidden Volume, wird stattdessen der versteckte Container geöffnet. Sollte tatsächlich das Szenario entstehen, dass man gezwungen ist, die Existenz eines TrueCrypt-Containers zuzugeben und darüber hinaus gezwungen ist, dass Passwort für diesen Container anzugeben, gibt man das offene Passwort an. Dem Container ist nicht anzusehen, dass er einen zweiten, verborgenen Container enthält. Ggf. kann dieser zweite Bereich überschrieben werden, wenn das Hidden Volume nicht geschützt wurde. Einsehbar ist er für nicht Eingeweihte jedenfalls nicht.

Verschlüsselung einer schon bestehenden Windows-Installation

Das Verschlüsseln einer Windows-Systempartition setzt zwingend das Brennen einer Rescue-Disk voraus. Die Verschlüsselungsroutine fragt diese Rescue Disk ab, man kommt also nicht darum herum. Natürlich ist das auch sehr sinnvoll, denn ohne diese Rescue Disk kommt man im Ernstfall nicht mehr an die verschlüsselte Installation, falls etwas schief gegangen ist.
Danach wird durch die Migrationsroutine ein Test durchgeführt, bei dem zwar schon das TrueCrypt-Passwort nötig ist, die eigentliche Systempartition aber noch nicht verschlüsselt wurde. Das passiert erst nach erfolgreichem Test und zwar on-the-fly. Von nun an muss man bei jedem Neustart oder Reboot des Systems zuerst das TrueCrypt-Passwort eingeben, dann erst startet Windows. Im Laufenden Betrieb ist dann von der Verschlüsselung nichts mehr zu bemerken. Es ist auch keine signifikante Geschwindigkeitsänderung wahrnehmbar.

Authorisierung mittels Keyfiles

Wem die Sicherheit durch das Passwort noch nicht reicht, kann einen Schritt weiter gehen und zusätzlich Keyfiles mit angeben, die zumMounten eines TrueCrypt-Cpontainers zusätzlich eingetragen werden müssen. Dann reicht zum Öffnen des TC-Containers nicht mehr allein das Passwort, man muss auch die richtigen Keyfiles zur Hand haben. Diese Keyfiles kann man mittels TrueCrypt erzeugen oder man definiert einfach vorhandene Dateien, Bilder, Videos, PDfs etc. Wichtig ist nur, dass die Keyfiles nicht mehr verändert werden dürfen, nachdem sie einem TrueCrypt-Container zugeordnet wurden.

Glaubhaftes Abstreiten

Plausible Deniability ist eins der Features von TrueCrypt, für das man selbst ein wenig tun muss. Einer TrueCrypt-Containerdatei sieht man nicht an, dass sie eine ist, auch dann nicht, wenn man den Hex-Code durchforstet. Das setzt natürlich voraus, dass man seine TC-Container nicht mit Dateinamen wie „ultrageheim.tc“ etc. versieht. Überhaupt sollte, wer den Betrieb von TrueCrypt verschleiern will, auf die Endung *.tc verzichten und, zumindest für Windows, die Traveller-Version von TrueCrypt einsetzen, da sie nicht installiert werden muss, sondern von einem USB-Stick betrieben werden kann.
Zusätzlich sollte im TrueCrypt Hauptfenster das Häckchen bei „Never save history“ gesetzt sein“. Unter „Settings -> Preferences“ sollte man sich die Auto-Dismount Optionen genau anschauen und die richtige Balance zwischen Benutzerfreundlichkeit und Geheimhaltungswillen für sich finden. Den Passwort-Cache sollte man ggf. auch abschalten.
Idealerweise versteckt man einen TrueCrypt-Container zwischen zahlreichen anderen etwa gleich großen. Und wenn diese Container dann nicht genau 100 MB groß sind und evtl. auch noch ein Hidden Volume enthalten, ist man der Plausible Deniability so nah, wie irgend möglich.

Praktischer Einsatz

Ich habe TrueCrypt seit zwei Jahren auf meinem Firmennotebook im Einsatz. Alles, was sich normalerweise in „Eigene Dateien“ befindet, steckt auf dem Notebook in einem TrueCrypt-Container. Dieser Container wird im Büro regelmäßig komplett auf ein Netzlaufwerk gesichert. Zusätzlich habe ich meist noch eine Version auf USB-Stick dabei. Sollte der Ernstfall eintreten und das Firmennotebook auf Reisen „verschwinden“, ist es zwar um die Hardware schade, die sensitiven Informationen sind aber vor dem Zugriff durch Dritte geschützt.

Fazit

TrueCrypt bietet ohne Zusatzkosten ein hohes Maß an Verschlüsselungsfunktionalität und ist auch für Einsteiger einfach anzuwenden. Gegenüber fertigen Hardwareprodukten hat es den Vorteil, neben Windows auch Linux Und Mac OS X zu unterstützen. Erkauft wird das durch eine etwas umständlichere Handhabung, die im Alltagsbetrieb aber keinen sonderlich hohen Mehraufwand bedingt.

Links

Schreibe einen Kommentar