Truecrypt und der Nachfolger (Fork) Veracrypt sind faszinierende Verschlüsselungssoftware und beste Wahl für mobile Rechner und Datenträger. Dieser Beitrag erklärt den Umgang und plädiert für das KISS-Prinzip („Keep it simple, stupid“).
Die jüngsten Versionen von Ubuntu und allen Abkömmlingen haben die Nachfrage nach einer zuverlässigen Verschlüsselungssoftware wieder schlagartig erhöht. Seit das Home-Verzeichnis nicht mehr standardmäßig ab Installation durch Ecryptfs geschützt werden kann, muss vor allem auf mobilen Notebooks eine Alternative her. Auch USB-Datenträger, die persönliche Daten enthalten und viel unterwegs sind, brauchen Verschlüsselungsschutz. Der Truecrypt-Nachfolger Veracrypt ist hierfür allererste Wahl.
Veracrypt im Kurzporträt
Veracrypt ist Open-Source-Software und kann daher keine geheimen Hintertüren für Geheimdienste verbergen. Es eignet sich für große und sehr große Datenmengen, allerdings nicht für den Transfer in die Cloud, da auch bei geringen Datenänderungen immer der Transport eines gesamten Volumes („Container“) notwendig wäre. Die Verschlüsselungstechniken und nebenbei auch die Benutzeroberfläche, stehen überwiegend auf der Basis des eingestellten Vorgängers Truecrypt, der als praktisch unüberwindbar eingestuft wurde. Das mysteriöse Ende von Truecrypt im Jahr 2014 wurde damals mit angeblichen Sicherheitslücken begründet, die jedoch nie nachgewiesen wurden. Dies lässt bis heute Gerüchte blühen, dass Truecrypt keineswegs fehlerhaft, sondern im Gegenteil zu gut war, um noch länger von staatlicher Exekutive und/oder Wirtschaft geduldet zu werden.
In der Tat geht der Anspruch von Truecrypt und dem Nachfolger Veracrypt deutlich über so harmlose Datenschutzmotive hinaus, Mitarbeiteradressen oder Gehaltstabellen zugriffssicher zu verschlüsseln. Truecrypt/Veracrypt haben das Potential, auch die Daten von strafrechtlich oder politisch Verfolgten zu schützen, die mit professionellen Computerforensikern als Gegner rechnen müssen.
Für „normale“ Nutzer mit legitimen Ansprüchen auf Privatsphäre ist diese Komplexität von Veracrypt durchaus ein Problem: Container, Volume, Partition, Standard/Versteckt, Verschlüsselungsalgorithmus, Hash-Algorithmus, Passwort, PIM, Keyfiles, Dateisysteme, Header-Daten, Cache-Daten – das sind anspruchsvolle und in Veracrypt überall präsente Begriffe. Da muss man erst den Überblick gewinnen, was nun wirklich relevant ist oder doch eher in die Paranoia-Ecke gehört. Der Nutzer sollte sich auf das für ihn Notwendige konzentrieren. Wer mit Veracrypt-Optionen leichtfertig spielt, erzielt schnell maximalen Datenschutz – indem er sich selbst aussperrt.
Wie jede Software ist auch Veracrypt nicht fehlerfrei. 2016 wurde ein Bug bekannt, durch den sich versteckte Volumes nachweisen lassen (zu versteckten Volumes siehe gleichnamigen Kasten). Dieser Bug ist seit Version 1.18a behoben, aktuell ist Version 1.22. Eine weitere Anfälligkeit ist akademisch und betrifft außerdem ausschließlich die Komplettverschlüsselung von Festplatten oder sogar der Systempartition (nur in der Windows-Variante). Die theoretische Lücke kann bei physischem Zugriff einer Fremdperson nach einer Speicheranalyse die Passwortlänge preisgeben.
Weitere theoretische Angriffsszenarien sind nicht spezifisch, sondern gelten generell für jedes kryptografische Verfahren: Die Kennworteingabe kann auf kompromittierten Rechnern durch Keylogger bespitzelt werden. Ferner beherrschen Forensiker Kaltstartattacken, bei welchen nach einem Neustart mit einem Minimalsystem der RAM-Speicher ausgelesen wird, der für kurze Zeit noch den gesamten Inhalt inklusive Kennwörter preisgeben kann.
Noch zwei allgemeine Hinweise:
1. Der Einsatz von Veracrypt erfordert immer wieder Geduld: Das Laden („Mount“), mehr noch das Entladen („Dismount“) ist häufig zäh, sollte Sie aber keinesfalls veranlassen, den Vorgang durch ein „Auswerfen“ des Datenträgers mit Betriebssystem-Werkzeugen oder durch schlichtes Abziehen eines USB-Medium zu unterbrechen.
2. Beim Hantieren mit Veracrypt-Containern werden Sie zusätzlich zum Container-Passwort auch nach dem sudo-Kennwort gefragt werden, das mit dem Veracrypt-Passwort nichts zu tun hat und vermutlich anders lautet.
Plattformen und Installation
Anlaufstelle ist die Projektseite https://www.veracrypt.fr/en/Downloads.html. Veracrypt gibt es für Linux (auch Free BSD, Raspbian), Windows und Mac OS. Somit steht einer plattformübergreifenden Nutzung nichts im Wege. Für Windows gibt es sogar neben der installierbaren eine portable Variante, was die Mitnahme der Veracrypt-Software parallel zu den verschlüsselten Daten auf USB ermöglicht. Generell ist Veracrypt für Windows nochmal deutlich komplexer, da es auch Systempartitionen verschlüsselt und für externe Datenträger eine In-Place-Verschlüsselung anbietet – also die Verschlüsselung bestehender Datenträger ohne Datenverlust.
Unter Mac OS ist neben Veracrypt das zusätzliche OSXFUSE erforderlich, um Veracrypt-Container mit Benutzerrechten laden zu können. Unter Ubuntu, Mint & Co. ist die Installation über die genannte Webseite zwar möglich, der deutlich bequemere Weg führt jedoch über das PPA:
sudo add-apt-repository ppa:unit193/encryption
sudo apt-get update
sudo apt-get install veracrypt
Im Unterschied zur Windows-Version bietet Veracrypt unter Linux keine deutsche Übersetzung, weswegen wir uns bei den nachfolgenden Menübezeichnungen an die englischsprachigen halten.
Veracrypt ist ein Tool für PCs und Notebooks. Smartphone und Tablets mit Android und iOS werden nicht direkt unterstützt. Die nachfolgend der Vollständigkeit halber genannten Apps sollten zumindest das Öffnen und Lesen von Veracrypt-Volumes ermöglichen. Mit technischen Limits und Komforteinschränkungen ist jedoch überall zu rechnen. Für Android finden Sie im Google Play Store das Tool EDS (Encrypted Data Store) in einer kostenlosen Lite-Version: (goo.gl/Ce6wmg) und der Vollversion für 7,49 Euro (siehe goo.gl/1gsakw). Die Lite-Version hat gravierende Beschränkungen (siehe http://www.sovworks.com). Für iOS gibt es den Crypto Disks & File Explorer (goo.gl/vT4yNJ) und Disk Decipher (goo.gl/QGdkdq) für je einen Euro.
Datencontainer oder Datenträger?
Veracrypt für Linux kann mit verschlüsselten Containerdateien arbeiten oder komplette (externe) Datenträger verschlüsseln. Die erste Variante ist die technisch einfachere und auch vom Assistenten („Creation Wizard“) die stets empfohlene.
Datenträgerverschlüsselung: Da Veracrypt unter Linux einen Datenträger oder eine Partition komplett löschen und neuformatieren muss, um ihn danach verschlüsselt anzubieten, gibt es nur einen nennenswerten Grund für die Komplettverschlüsselung interner oder mobiler Laufwerke: Der Datenträger soll sich wie ein unformatiertes Laufwerk verhalten. Ein Veracrypt-Laufwerk präsentiert sich unter Linux nämlich als unbekanntes Dateisystem, und Windows will es umstandslos sofort formatieren. Nur Veracrypt selbst kann das Laufwerk laden.
Ist dies gewünscht, dann verwenden Sie im Veracrypt-Assistenten nach „Create Volume“ die Option „Create a volume within a partition/drive“, danach „Standard VeraCrypt volume“ und wählen dann mit „Select Device“ den Datenträger. Das Gerät selbst, etwa /dev/sdc, können Sie nur verwenden, wenn der Datenträger im Rohformat ohne jede Partition vorliegt. Typischerweise ist eine Partitionsangabe wie /dev/sdc1 die richtige Wahl. Wenn nur eine Partition vorliegt, ist das Resultat von /dev/sdc und /dev/sdc1 dasselbe. Wenn der Datenträger keine unverschlüsselte Partition enthalten soll, sorgen Sie vorab mit Gparted oder Gnome-Disks dafür, dass keine oder nur eine Partition vorliegt. Alle weiteren Optionen der Einrichtung unterscheiden sich nicht vom Anlegen eines einfacheren Containers, das nachfolgend genauer beschrieben ist. Für das Mounten verschlüsselter Datenträger verwenden Sie im Veracrypt-Hauptfenster statt „Select File“ (für Container) die Schaltfläche „Select Device“.
Datencontainer: Um eine neue Containerdatei anzulegen, klicken Sie im Hauptfenster auf „Create Volume“, dann auf „Create an encrypted file container“ und auf “Standard VeraCrypt volume“. Hier geben Sie Pfad und Namen einer bisher nicht existierenden Datei an. Unter „Encryption Options“ belassen Sie alles auf den Standardvorgaben. Danach geben Sie die Größe der Containerdatei an. Diese sollte großzügig ausfallen, weil die Kapazität nicht mehr zu ändern ist. Veracrypt verwaltet auch sehr große Container mühelos, andererseits bedeuten viele kleine Container erhöhten Verwaltungsaufwand und die Gefahr, Einstellungen und Passwörter zu vergessen.
Danach kommt die Passwortvergabe. Speziellere Optionen bei diesem Schritt sind im nächsten Punkt beschrieben. Für die meisten Szenarien ist ein komplexes Passwort völlig ausreichend. Die anschließenden „Format Options“ gelten für das innere Dateisystem des Containers und sind wichtig: Wählen Sie am besten FAT oder NTFS, wenn Sie die Daten auch unter Windows brauchen. Mit anderen Worten: Ein USB-Stick, den Sie unter allen Systemen nutzen möchten, muss nicht nur selbst ein allgemein kompatibles Dateisystem haben, sondern auch der Veracrypt-Container muss mit einem solchen formatiert sein. Im Allgemeinen kann man bei der Container-Formatierung mit NTFS nichts falsch machen. FAT genügt auch, sofern der Container keine Dateien größer als 4 GB aufnehmen muss.
Die nächste Option lautet „Cross-Platform Support“. Hier muss die obere Einstellung aktiviert werden, wenn ein Container auch in anderen Betriebssystemen genutzt werden soll („I will mount the volume on other platforms“). Beachten Sie aber, dass es sich hier nur um ein zusätzliches Container-Flag handelt, das nichts nützt, wenn das Dateisystem des Datenträgers plus das Dateisystem des Containers nicht kompatibel sind (siehe oben).
Zur Schlüsselerstellung auf Basis des Passworts erwartet Veracrypt danach Mausbewegungen im eigenen Fenster. Schließen Sie den Vorgang am Ende mit „Format“ ab. Damit ist der Container einsatzbereit.
Um Container zu verwenden, navigieren Sie mit „Select File“ im Hauptdialog zur Containerdatei. Mit Klick auf „Mount“ wird diese im Dateimanager geöffnet (falls nicht, lässt sich das unter „Preferences -> System Integration“ einstellen). Linux mountet Container nach „/media/veracrypt[nummer]“, Windows auf freie Laufwerkbuchstaben. Auf diesen Datenträgern lesen und arbeiten Sie wie auf einem normalen Laufwerk. Mit „Dismount“ im Hauptdialog entladen Sie den Container, der somit wieder geschützt ist.
Anspruchsvollere Passwort-Optionen
Bei der Passwortvergabe haben wir im vorangehenden Abschnitt zwei Optionen übergangen, weil wir sie für die Basisbenutzung von Veracrypt nicht empfehlen. Interessant sind sie durchaus, aber sie erhöhen Komplexität und Verwaltungsaufwand.
Container mit Passwort und PIM: Beim Erstellen des Containers gibt es im Dialog der Passwort-Definition die zusätzliche Option „Use PIM“. Hier kann eine Zahl eingetragen werden. Geschieht dies, so genügt das richtige Kennwort zum Öffnen dieses Containers nicht mehr. Hier ist dann zusätzlich die exakte PIM-Zahl erforderlich. Vereinfacht gesagt, handelt es sich um ein zusätzliches Kennwort für deutlich erhöhten Schutz. Technisch definiert der Personal Iterations Multiplier die Anzahl der Wiederholungen von Hashfunktionen, die dann beim genauen angegebenen PIM-Wert den Entschlüsselungsheader generieren. Beachten Sie, dass ein hoher PIM-Wert den Mount-Vorgang eines Volumes deutlich verzögert. Das einmal geladene Volume ist dann aber so schnell wie gewohnt.
Container mit Passwort und Keyfile: Der Passwortdialog hält noch eine weitere interessante Möglichkeit parat – nämlich die „Keyfiles“, Schlüsseldateien. Dabei kann es sich um eine beliebige Datei handeln, die Veracrypt zum Öffnen des Containers zusätzlich zum Passwort benötigt. Entscheidend für die Schlüsselfunktion dieser Datei sind deren erste 1024 Bytes, nicht Pfad oder Dateiname. Das heisst, dass sich der Inhalt dieser Schlüsseldatei keinesfalls ändern darf, das Verzeichnis oder der Dateiname jedoch durchaus. Ideale Kandidaten für Schlüsseldateien sind Binärdateien, PDFs oder ISO-Images, die normalerweise nie geändert werden. Ein Keyfile ist wie die PIM-Zahl additiv: Es ersetzt nicht das Passwort, sondern muss zusätzlich vorliegen. Es ist ein guter Schutz gegen Keylogger, weil das Kennwort alleine nicht mehr ausreicht. Das Keyfile kann ferner auch ein schwächeres Kennwort rechtfertigen und die Kennworteingabe verkürzen. Für mobile USB-Laufwerke ist die Keyfile-Methode nicht geeignet. Möglich wäre aber ein geschützter USB-Stick, für welchen das Keyfile sowohl zu Hause wie im Büro vorliegt – aber keinesfalls auf dem Stick selbst.
Container mit Keyfile, aber ohne Passwort: Sie können Veracrypt-Container auch mit leerem, also ohne Kennwort anlegen und sie nur durch Angabe einer Schlüsseldatei öffnen. Das ist aber nicht nur unsicherer, sondern wahrscheinlich auch organisatorisch aufwändiger als sich ein Kennwort zu merken.
Schaltfläche „Volume Tools“: Für einen geladenen Container lassen sich alle bisherigen Einstellungen nachträglich ändern (unter Windows muss der Container ausgewählt, darf aber nicht geladen sein). Das erledigen Sie im Hauptfenster über „Volume Tools“. Sie können ein neues Passwort vergeben oder Keyfiles hinzufügen oder entfernen. Beachten Sie, dass die Aktion in jedem Fall noch einmal eine korrekte Anmeldung mit den bisherigen Daten erfordert (obwohl der Container bereits gemountet ist). Durchaus kompliziert ist etwa die Definition einer neuen Schlüsseldatei („Add/Remove Keyfiles“). Dazu müssen Sie nämlich für die Anmeldung „Use keyfiles“ aktivieren und die bisherige Datei angeben, unter „New“ erneut „Use keyfiles“ aktivieren und dort das neue definieren.
Versteckte Veracrypt-Volumes
Im zweiten Fenster des Assistenten kann man mit „Hidden VeraCrypt Volume“ einen versteckten Container innerhalb eines sichtbaren Containers anlegen. Der Vorgang beginnt zunächst mit dem „Outer Volume“. Nach Erstellung, Kennwortvergabe und Bestückung mit Dateien (was auch später geschehen kann), führt der Assistent automatisch weiter zum „Hidden Volume“, das im äußeren Container untergebracht wird. Wichtig ist, dass dieser zweite Container ein völlig anderes Kennwort erhält. Nutzt man beim späteren Mounten der Containerdatei das erste Kennwort, so öffnet sich das äußere Volume. Gibt man hingegen das zweite Kennwort ein, öffnet dies das innere, versteckte Volume. Laut Hersteller ist das innere Volume auch bei geöffnetem äußeren Volume und genauer Datenanalyse nicht nachweisbar.
Natürlich sind versteckte Container eine reichlich paranoide Methode, wenn es nur um den Datenschutz einiger Tabellen oder Texte geht. Das Prinzip „Plausible Deniability“ (glaubhafte Abstreitbarkeit) soll dem Datenbesitzer unter Erpressung oder Folter die Möglichkeit geben, ein Passwort preiszugeben – aber eben nicht das entscheidende. Wer tatsächlich mit solcher Situation rechnen muss, sollte im „Outer Volume“ zumindest scheinbar interessante Daten bereithalten.