Aus LinuxUser 03/2016

Verschlüsseln mit Veracrypt (Seite 2)

Abbildung 5: Wählen Sie als <code>Volume Type</code> den Punkt <code>Hidden VeraCrypt volume</code>, erzeugt der Assistent in einem Durchlauf sowohl den äußeren als auch einen versteckt eingebetteten inneren Container.
Abbildung 5: Wählen Sie als Volume Type den Punkt Hidden VeraCrypt volume, erzeugt der Assistent in einem Durchlauf sowohl den äußeren als auch einen versteckt eingebetteten inneren Container.

Nun folgt immer das Erstellen eines normalen, äußeren Containers. Dazu benennen Sie einen Dateipfad, in dem die Software den Container erstellen soll, oder das Device-File einer Festplattenpartition (etwa /dev/sda3). Bei der folgenden Auswahl des Encryption Algorithm bieten die Standardeinstellungen AES sowie SHA-512 gute Laufzeit-Performance bei aus heutiger Sicht tadelloser Sicherheit.

Alternative Verschlüsselungsalgorithmen (Abbildung 6) stehen schon wegen der in der Kryptografie gängigen Praxis bereit, alle sicherheitskritischen Komponenten austauschbar zu halten. Sollten künftig neue Angriffsvektoren die nach heutigem Stand sicheren Verfahren kompromittieren, können Sie so den Algorithmus wechseln und die gewohnte Software trotzdem weiter nutzen.

Abbildung 6: Veracrypt lässt Ihnen die Wahl zwischen verschiedenen bewährten Verschlüsselungsalgorithmen.
Abbildung 6: Veracrypt lässt Ihnen die Wahl zwischen verschiedenen bewährten Verschlüsselungsalgorithmen.

Nach Eingabe der gewünschten Volumengröße tippen Sie Ihr Passwort zweimal ein oder wählen eine oder mehrere Keyfiles aus, die aus beliebigen Dateien bestehen dürfen. Für das Dateisystem verwendet Veracrypt in der Grundeinstellung den systemübergreifenden Standard FAT, die ausgereifteren Dateisysteme NTFS und Ext2/3/4 stehen ebenfalls zum Einsatz bereit. Nutzen Sie Letztere, geben Sie allerdings die Kompatibilität zu Windows auf. Im letzten Dialogfenster starten Sie mit einem Klick auf Format das eigentliche Erzeugen des Containers.

Schlüsselfunktion

Zum Mounten eines Volumes genügt es, die Containerdatei oder das Device-File einer Festplattenpartition über den Auswahldialog Select File… beziehungsweise Select Device… anzusteuern. Dann wählen Sie im Listenfeld in der oberen Fensterhälfte einen Slot. Unter Linux bestimmen Sie darin eine Slot-Nummer im Mountpoint /media/veracryptNr, unter Windows einen Laufwerksbuchstaben. Möchten Sie das Objekt in einem anderen Verzeichnis einhängen, klicken Sie im Mount-Dialog auf Options und geben unter Mount at directory: den Pfad dorthin an.

Dann geben Sie nur noch das Passwort respektive die Schlüsseldatei an. Ob Sie den äußeren Container einhängen oder – sofern vorhanden – den inneren, entscheiden Sie dabei allein durch Passwort und Schlüsseldatei. Wie im Kasten „Glaubhafte Abstreitbarkeit“ erläutert, nutzen Sie im täglichen Betrieb stets das innere Volume. Mounten Sie dagegen einen äußeren Container mit einem eingebetteten inneren, dann klicken Sie auf Options, aktivieren das Kästchen Protect hidden Volume und geben zusätzlich das Passwort des inneren Containers ein (Abbildung 7).

Abbildung 7: Nur wenn Sie die Passwörter sowohl des äußeren als auch des verstecken Containers kennen, lässt sich der geschützte Modus aktivieren, der den inneren Container vor dem Überschreiben bewahrt.
Abbildung 7: Nur wenn Sie die Passwörter sowohl des äußeren als auch des verstecken Containers kennen, lässt sich der geschützte Modus aktivieren, der den inneren Container vor dem Überschreiben bewahrt.

Ein Klick auf Unmount hängt Objekte wieder aus. Dabei löscht Veracrypt das Passwort explizit aus dem Arbeitsspeicher. Daneben bietet Veracrypt einen Dismount All-Button, der sämtliche offenen Container schnellstmöglich schließt. Da die Software im laufenden Betrieb das Passwort ständig benötigt, lässt sich nicht verhindern, dass es für aktive Container dort verbleibt. Dies gilt jedoch gleichermaßen für die Linux-Bordlösungen.

Sollte das System mit geöffneten Containern abstürzen, so besteht ein Restrisiko: Bekanntlich lagert das Betriebssystem bei Speicherknappheit Teile des Hauptspeichers auf die Festplatte in eine Swap-Datei aus. Unter Umständen landet dann dort auch das Passwort aktiver Veracrypt-Volumes und überlebt damit ein Ausschalten des Systems – bei einem Suspend to Disk passiert das sogar in jedem Fall. Das erweist sich allerdings meist nur dann als Risiko, wenn sich Forensik-Profis mit entsprechenden Kenntnissen des Systems annehmen.

Sie vermeiden dieses Risiko durch eine vollständige Systemverschlüsselung, wie sie der Linux-Installer beispielsweise von Ubuntu einrichtet, da diese auch die Auslagerungspartition verschlüsselt.

Systematisch verborgen

Unter Windows gehen die Fähigkeiten von Veracrypt noch erheblich weiter: In die versteckten inneren Container lässt sich ein zweites Windows als verstecktes, in seiner Existenz nicht nachweisbares Betriebssystem installieren (Abbildung 8). Der dafür genutzte spezielle Bootloader funktioniert mit Linux nicht; ein Posting aus dem Veracrypt-Forum legt nahe, dass sich das auch nicht so schnell ändern dürfte [13].

Abbildung 8: Für Windows unterstützt Veracrypt das Verschlüsseln eines kompletten Betriebssystems in einer versteckten, abstreitbaren Partition. Für Linux fehlt eine solche Funktion bislang.
Abbildung 8: Für Windows unterstützt Veracrypt das Verschlüsseln eines kompletten Betriebssystems in einer versteckten, abstreitbaren Partition. Für Linux fehlt eine solche Funktion bislang.

Doch freie Betriebssysteme bieten bekanntlich viele Möglichkeiten: Cryptsetup, das Tool, das bei der von vielen Linux-Installern angeboten vollständigen Systemverschlüsselung zum Einsatz kommt, sperrt seit Version 1.6.7 vom Frühjahr 2015 auch Veracrypt-Volumes auf. Allerdings bringen sowohl Ubuntu 15.10 als auch OpenSuse 42.1 lediglich ältere Versionen mit, nur Arch Linux nutzt bereits das aktuelle Cryptsetup-Release. Es setzt zum Entsperren des Root-Dateisystems auf ein in der Initial RAM-Disk eingebettetes Shell-Skript.

Für die Kooperation mit Veracrypt-Volumes gilt es, die Standard-Version dieses Skripts zu erweitern – für Shell-Kundige eine allenfalls mittelschwere Aufgabe. Die Start-RAM-Disks anderer Distributionen [14] funktionieren ähnlich wie jene von Arch, weswegen sich das Verfahren prinzipiell auf diese übertragen lässt [15].

Listing 1 zeigt den Ausschnitt aus dem Shellskript /usr/lib/initcpio/encrypt, der so lange nach einem Passwort fragt, bis das Root-Dateisystem erfolgreich entsperrt ist. Zeile 5 zeigt den Aufruf von Dmcrypt mit dem Parameter --type luks. Luks dient unter Linux als gebräuchlichstes Format zum Verschlüsseln von Partitionen.

Listing 1

if [ ${dopassphrase} -gt 0 ]; then
  echo ""
  echo "A password is required to access the ${cryptname} volume:"
  #loop until we get a real password
  while ! eval cryptsetup open --type luks ${resolved} ${cryptname} ${cryptargs} ${CSQUIET}; do
    sleep 2;
  done
fi

Um statt Luks Veracrypt zu verwenden, genügt es, den Parameter --type luks durch --type tcrypt --veracrypt für einen Truecrypt-Container mit dem Unterformat Veracrypt zu ersetzen. Damit die Verschlüsselung mit Luks weiterhin funktioniert, hilft eine simple If-Klausel, die die Existenz des Bootparameters vera=1 prüft und den Container-Typ in einer Variablen ablegt (Listing 2).

LinuxUser 03/2016 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: