Luks HowTo
LUKS Mini HowTo
TODO: come usare lo script mount_crypt.sh
Requisiti nel Kernel
Cosa serve nel kernel?
Device Drivers ---> Multi-device support (RAID and LVM) ---> [*] Multiple devices driver support (RAID and LVM) <*> Device mapper support <*> Crypt target support
Qui va caricato il supporto per l'algoritmo che si vorrà utilizzare per criptare il filesystem, nel nostro caso "serpent"
Cryptographic options ---> <M> Serpent cipher algorithm
Software necessario
Avremo bisogno di cryptsetup, se lo compilate fatelo dopo aver installato device-mapper altrimenti non riuscirete a creare il mapper con cryptsetup.
Per formattare il filesystem e impostare la Passphrase:
# cryptsetup luksFormat /dev/hda3
Per sbloccare un filesystem:
# cryptsetup luksOpen /dev/hda3 <nome_volume>
Dopo aver sbloccato il filesystem possiamo creare il filesystem che vogliamo:
# mkfs.ext3 /dev/mapper/<nome_volume>
Ora possiamo montare il nostro filesystem:
# mount /dev/mapper/<nome_volume> /mnt/crypt
La cosa interessante e` che possiamo ora impostare diverse password e/o files di chiave per sbloccare i Filesystems. Per aggiungere una nuova password
# cryptsetup luksAddKey /dev/hda3
Per aver un file chiave possiamo creare un file con contenuto random da 128bit e darlo in paso a cryptsetup
# dd if=/dev/random of=/mnt/usbstick/keyfile count=1 # cryptsetup luksAddKey /dev/hda3 /mnt/usbpen/keyfile
Per utilizzare una chiave scritta in un file basta lanciare
# cryptsetup -d file.key luksOpen /dev/hda3 <nome_volume> # mount /dev/mapper/<nome_volume> /mnt/crypt
Mettere tutto dentro uno script
Questo script monta filesystem criptati.
Cerca prima la chiave abbinata al Filesystem in una penna USB, se non la trova è comunque possibile specificare la password a mano per sbloccare il filesystem.
Download mount_crypto.sh