Zur Verschlüsselung bietet sich das LUKS Projekt an. Dieses ist transparent für das darüber liegende Dateisystem. Außerdem können bis zu acht verschiedene Schlüssel für eine Partition erstellt werden. Dies ist praktisch wenn zum Beispiel mehrere Benutzer den Laptop nutzen und jeder sein eigenes Passwort haben soll.
Als erstes braucht man den device-mapper. Ich verwende die Version 1.02.28, diese kann zum Beispiel von ftp://sources.redhat.com/pub/dm/ runter geladen werden. Je nach Distribution ist der device-mapper schon installiert, wenn nicht:
root@pd6000:~ # cd /usr/src root@pd6000:/usr/src # tar xfz /von/wo/auch/immer/device-mapper.1.02.28.tgz root@pd6000:/usr/src # cd device-mapper.1.02.28 root@pd6000:/usr/src/device-mapper.1.02.28 # ./configure root@pd6000:/usr/src/device-mapper.1.02.28 # make root@pd6000:/usr/src/device-mapper.1.02.28 # make installAls nächstes braucht man die LUKS Tools von http://code.google.com/p/cryptsetup/downloads/list. Verwendet habe ich die Version 1.2.0:
root@pd6000:/usr/src/device-mapper.1.02.28 # cd .. root@pd6000:/usr/src # tar xfj /von/wo/auch/immer/cryptsetup-luks-1.2.0.tar.bz2 root@pd6000:/usr/src # cd cryptsetup-luks-1.0.4 root@pd6000:/usr/src/cryptsetup-luks-1.2.0 # ./configure root@pd6000:/usr/src/cryptsetup-luks-1.2.0 # make root@pd6000:/usr/src/cryptsetup-luks-1.2.0 # make installWeiter geht es mit dem Kernel, da ohne seine Unterstützung nichts läuft. Verwenden tue ich dafür die Version 2.6.23.17. Wie man seinen Kernel konfiguriert, sollte jeder selbst wissen. Folgende Optionen müssen aktiviert werden, damit LUKS funktioniert:
Device Drivers ---> Multi-device support (RAID and LVM) ---> [*] Multiple devices driver support (RAID and LVM) <*> Device mapper support <*> Crypt target supportNach der Installation und Booten mit dem neuen Kernel kann es los gehen. Im Idealfall hat man schon eine Partition parat, die verschlüsselt werden soll. Man sollte sich vergewissern, das man eventuell vorhandene Daten vorher sichert. Beim erstellen einer LUKS Partition werden alle vorhandenen Daten überschrieben! Bei mir soll /dev/hda2 mit 256 Bit verschlüsselt werden:
root@pd6000:~ # cryptsetup -y -s 256 luksFormat /dev/hda2Mit folgenden Befehl kann man gucken, was eigentlich angelegt wurde:
WARNING! ======== This will overwrite data on /dev/hda2 irrevocably.
Are you sure? (Type uppercase yes): YES Enter LUKS passphrase: Passwort, nicht zu kurz usw... Verify passphrase: zur Sicherheit noch mal
root@pd6000:~ # cryptsetup luksDump /dev/hda2 LUKS header information for /dev/hda2Damit die Partition auch gemountet werden kann, muß sie als Gerät bereit stehen:
Version: 1 Cipher name: aes Cipher mode: cbc-plain Hash spec: sha1 Payload offset: 2056 MK bits: 256 MK digest: 11 3f 17 bf c9 ea b8 95 0c 47 88 a2 08 ab 6d 35 d4 1c a8 14 MK salt: 1f 4a a5 08 7e 76 32 3f 17 fb 9c ea 5a ab 6d 11 a5 27 5c c9 cf 00 11 a8 bf a5 08 7e 76 32 3f 28 MK iterations: 10 UUID: 4a5633ac-c487-423f-814a-ca93e22bd760
Key Slot 0: ENABLED Iterations: 20921 Salt: c0 47 3e 8f 11 71 99 b5 d7 dd 2e f4 f8 cf 6d 1a 10 b4 b1 f0 42 95 8a af 85 eb b8 5b ea b8 95 01 Key material offset: 8 AF stripes: 4000 Key Slot 1: DISABLED Key Slot 2: DISABLED Key Slot 3: DISABLED Key Slot 4: DISABLED Key Slot 5: DISABLED Key Slot 6: DISABLED Key Slot 7: DISABLED
root@pd6000:~ # cryptsetup luksOpen /dev/hda2 verschluesselt Enter LUKS passphrase: das Passwort key slot 0 unlocked.Ein Dateisystem braucht die Partition auch:
root@pd6000:~ # mke2fs /dev/mapper/verschluesseltNun kann die Partition normal gemountet werden:
root@pd6000:~ # mount /dev/mapper/verschluesselt /mntDie Daten können nun normal gelesen und geschrieben werden in /mnt.
Will man die Partition wieder schliessen, geht man wie folgt vor:
root@pd6000:~ # umount /mnt root@pd6000:~ # cryptsetup luksClose /dev/mapper/verschluesseltZum Mounten und Unmounten empfiehlt es sich, ein kleines Script zu schreiben um die Tipparbeit zu ersparen.
zurück zur Linuxübersicht
Letzte Aktualisierung dieser Seite: 1. März 2011