Peters Spickzettel: Crypto (Filesystem, Partition), PMT, 4.1.05, 19.8.05, 9.4.2006 Das ganze geht wohl auch ohne losetup, nämlich so # Crypt-Device einrichten $ sudo cryptsetup -c aes-cbc-essiv:sha256 -y -s 256 luksFormat /dev/hdaX # Crypt-Device öffnen $ sudo cryptsetup luksOpen /dev/hda6 egal $ sudo mount /dev/mapper/egal /media/egal # Crypt-Device schließen $ sudo umount /media/egal $ sudo cryptsetup luksClose egal ########## Festplattenverschlüsselung mit DM-Crypt und Cryptsetup-LUKS Doku: Linux Magazin 8/05, S. 29ff DM-Crypt Homepage: http://www.saout.de/misc/dm-crypt/ DM-Crypt-Wiki: http://www.saout.de/tikiwiki/tiki-index.php Wikipedia: http://de.wikipedia.org/wiki/Dm-crypt Kernel(-Modul) konfigurieren: $ make menuconfig Device Drivers | Multi-device support | Device mapper support Crypt target support Unter "Code maturity level options" muss "Prompt for developement and/or incomplete code/drivers" ausgewählt sein, andernfalls bleibt das Crypt-Target verborgen. Cryptographic Options | Cryptographic API einen Algorithums auswählen (AES cipher algorithms) cryptsetup-luks ist derzeit nicht in Debian, der folgende Eintrag in /apt/sources.list hilft deb http://einsteinmg.dyndns.org/debian unstable/ deb-src http://einsteinmg.dyndns.org/debian unstable/ $ apt-get install cryptsetup-luks # Einrichten einer verschlüsselten Partition $ losetup /dev/loop0 /dev/sda1 # /dev/sda1 wird als Loop-device zur Verfügung gestellt $ cryptsetup -y luksFormat /dev/loop0 # formatierung der Partition für die Verschlüsselung $ cryptsetup luksOpen /dev/loop0 geheim # Mapping zwischen realen und virtuellem Blockdevice anlegen # (erreichbar unter /dev/mapper/geheim $ mkfs.ext3 /dev/mapper/geheim # Erzeugt ein ext3-Dateisystem auf der Partition $ mount /dev/mapper/geheim /mnt/geheim # Mounten der Partition, sie kann jetzt benutzt werden $ umount /mnt/geheim $ cryptsetup luksClose geheim # Entfernt das Mapping $ losetup -d /dev/loop0 # Entfernt das Loop-Device # Benutzen der verschlüsselten Partition $ losetup /dev/loop0 /dev/sda1 $ cryptsetup luksOpen /dev/loop0 geheim $ mount /dev/mapper/geheim /mnt/geheim $ $ umount /mnt/geheim $ cryptsetup luksClose geheim $ losetup -d /dev/loop0 # Kennworte ändern (es können bis zu 8 Kennworte vergeben und wieder gelöscht werden) $ losetup /dev/loop0 /dev/sda1 $ cryptsetup luksAddKey /dev/loop0 $ cryptsetup luksDelKey /dev/loop0 0 # 0 ist einer von 8 Key-Slots, der Key-Slot eines Kennworts # wird beim luksOpen ausgegeben # Skript zum einfacheren Handling (z. B. als mount-mob unter /usr/local/bin speichern) # --------------- snip ------------- #!/bin/bash if [ -z $2 ]; then DEVICE="sda1" else DEVICE=$2 fi case $1 in start) /sbin/losetup /dev/loop0 /dev/$DEVICE /sbin/cryptsetup luksOpen /dev/loop0 mob /bin/mount /dev/mapper/mob /mnt/mob cd /mnt/mob ls ;; stop) /bin/umount /mnt/mob /sbin/cryptsetup luksClose mob /sbin/losetup -d /dev/loop0 echo "ls /mnt/mob: " ls /mnt/mob ;; *) echo "Usage: sudo $0 start|stop [sda1]" ;; esac # --------------- snip ------------- ########## !!! nicht mehr verwenden !!! ########## Cryptofs wird vom Debian-Maintainer nicht mehr gepflegt, weil veraltet ########## auf 2 Rechnern konnte ich (einmal nach einem dist-upgrade, beim anderen ########## Rechner handelt es sich um Ubuntu) eine (mobile) Partition nicht mehr ########## einbinden (Kennwort wurde nicht akzeptiert) !!! ########## Doku: http://www.siebelt.org/computer/linux_howtos/cryptofs/ 2.6.x Kernel mit folgenden aktiven Optionen: - Loopback device support (Device Drivers|Block Devices), - Cryptoloop Support (Device Drivers|Block Devices) und von den - "Cryptographic Options" ein passender Crypto-Algorithmus, z.B. Blowfish, Twofish oder AES # es werden aktuelle Versionen von mount, losetup usw. gebraucht: apt-get -t unstable install mount util-linux util-linux-locales # einbinden einer Partition (Beispiel: /dev/hdc4) über das Loop-Device # die Eingabe fragt ein Kennwort ab, nur _einmal_, daher testen # bevor wichtige Daten drauf geschrieben werden!!! /sbin/losetup /dev/loop0 /dev/hdc4 -e twofish # Formatieren der Partition /sbin/mkfs.ext3 /dev/loop0 # Mounten der Partition mkdir /mnt/crypto # nur einmal :-) /sbin/losetup /dev/loop0 /dev/hdc4 -e twofish mount /dev/loop0 /mnt/crypto # Unmounten der Partition umount /mnt/crypto /sbin/losetup -d /dev/loop0 # Wenn man in /etc/fstab das Folgende einträgt, kann man sich # die losetup-Befehle sparen, mount bzw. umount reicht dann. /dev/hdc4 /mnt/crypto ext2 encryption=twofish,user,noauto,rw,loop 0 0