LUKS

Da Andreabont's Wiki.

Preparazione della partizione

Eliminare ogni traccia di dati precedenti riempiendo la memoria con dati casuali. E' consigliato usare dati casuali, anche se più lento, in modo da rendere impossibile capire quali sono le zone allocate. Infatti usando algoritmi che passano il test di casualità i dati crittografati sono indistinguibili dai dati casuali.

dd if=/dev/urandom of=/dev/sdb1

Inizializzare la partizione con LUKS:

cryptsetup --verbose --cipher aes-xts-plain64 --hash sha512 --key-size 512 --verify-passphrase --use-random luksFormat /dev/sdb1

Potete verificare che l'inizializzazione sia avvenuta correttamente con:

cryptsetup luksDump /dev/sdb1

Montare la partizione per la prima volta:

cryptsetup luksOpen /dev/sdb1 encr-sdb

Formattare la partizione con un filesystem a piacere:

mkfs.ext4 /dev/mapper/encr-sdb

Usare una partizione

Montare una partizione

cryptsetup luksOpen /dev/sdb1 encr-sdb
mount /dev/mapper/encr-sdb1 /mnt

Smontare una partizione

umount /mnt
cryptsetup luksClose encr-sdb

Risoluzione dei problemi

Se non si riesce a smontare un device cifrato, potrebbe essere ancora in uso da qualche programma, occorre trovare il suo ID tramite:

>> dmsetup ls
luks-*************************       (254:0)

Usabile poi per cercare i programmi che stanno ancora usando il device:

>> lsof | grep 254,0
sudo       4581             root  cwd       DIR              254,0      4096     130319 /

Tutti i programmi vanno terminati prima di poter rimuovere il device.

Gestire la chiavi

Aggiungi una chiave nel primo slot libero:

cryptsetup luksAddKey /dev/sdb1

Cancella una chiave nello slot voluto:

cryptsetup luksKillSlot /dev/sdb1 1

Benchmark degli algoritmi

cryptsetup benchmark

Così è possibile vedere gli algoritmi supportati:

less /proc/crypto