Schließfach Datenträger: Verschlüsselung mit TrueCrypt

Crypt-Container unter Linux

Unter Linux können verschlüsselte Container ebenfalls mit TrueCrypt erstellt werden. Fertige Pakete gibt es für OpenSuSE 10.2 sowie für Ubuntu 6.06 und 7.04. Diese können wie die Windows Version unter http://www.truecrypt.org/downloads.php heruntergeladen werden. Für andere Distributionen steht der Source-Code zur Verfügung.

Es ist allerdings auch möglich, mit Linux-eigenen Bordmitteln einen solchen Container zu erstellen. Grundvoraussetzung hierfür ist ein Kernel mit Crypto-Unterstützung sowie das Kryptographie-Modul des Linux Device Mappers dm_crypt. Um nun unter Linux einen verschlüsselten Container zu erstellen laden wir zuerst das Kernelmodul loop sowie die Module, die uns die gewünschten Verschlüsselungsalgorithmen bereitstellen. Diese können zum Beispiel twofish, sha256 oder aes_i586 sein. Haben wir dies mit modprobe <Modulname> erledigt, erstellen wir unsere Container-Datei mit dem Befehl dd aus Zufallszahlen. Der Befehl hierzu könnte so aussehen: dd if=/dev/urandom of=./testcontainer bs=1M count=230. Mit diesem Befehl erstellen wir einen 230 MB großen Container im aktuellen Verzeichnis.

Um nun unseren Container verschlüsseln zu können müssen wir diesen als Loop-Device mit dem Befehl losetup /dev/loop0 ./testcontainer einbinden. Die Verschlüsselung erfolgt mit dem Befehl cryptsetup-luks -c aes -y luksFormat /dev/loop0, wobei wir in diesem Beispiel den Verschlüsselungsalgorithmus AES wählen. Nun müssen wir den Vorgang noch bestätigen und werden daraufhin zur zweimaligen Eingabe eines Passworts aufgefordert. Haben wir dies gemacht, öffnen wir nun unseren Container und vergeben einen Mapping-Namen, durch den wir später unter /dev/mapper auf unsere Daten zugreifen können. Dies erledigen wir durch die Eingabe von cryptsetup-luks luksOpen /dev/loop0 geheim. "Geheim" ist hierbei der Name, der uns später unter /dev/mapper angezeigt wird und über den wir Zugriff haben. Nun formatieren wir den Container mit einem Dateisystem, zum Beispiel mit Ext3 , durch die Eingabe von mkfs.ext3 /dev/mapper/geheim. Ist dies erledigt so binden wir den Container durch Eingabe von mount -t ext3 /dev/mapper/geheim /mnt in unser Dateisystem unter /mnt ein. Den Container schließen wir dies durch die Eingabe folgender Befehle:

umount /mnt
cryptsetup-luks luksClose geheim
losetup -d /dev/loop0

Um den Container wieder einzubinden gehen wir wie folgt vor:

losetup /dev/loop0 <Containername>
cryptsetup-luks luksOpen /dev/loop0 <Mapper-Name>
<Eingabe des Passworts>
mount /dev/mapper/<Mapper-Name> <mountpoint>

Alles in allem ist das Erstellen eines Verschlüsselten Containers unter Linux eine Sache, die zwar kompliziert aussieht, aberdennoch recht schnell vonstatten geht; vorausgesetzt alle Module wie auch Programme sind installiert. Auch wenn der Vorgang etwas undurchsichtig und kompliziert anmutet wird man feststellen, dass es nach zwei bis dreimaliger Verwendung ganz einfach von der Hand geht.