1.6.15

Guida pratica a LUKS

"When privacy is outlawed, only outlaws will have privacy"
Phil Zimmerman                                     

Questa e` una guida pratica all'uso di LUKS su Linux.

LUKS e` un acronimo che sta per Linux Unified Key Setup ed e` il formato standard per il disk-encryption, creato nel 2004, si distingue da molti altri formati crittografici per la particolareggiata documentazione e soprattutto per esser stato sottoposto ad auditing, ovvero il processo di controllo del codice sorgente per verificarne l'integrita`, l'efficacia e la robustezza degli algoritmi e l'assenza di backdoor o bug software critici.

Il primo passo per utilizzare LUKS e` installarlo sulla propria distribuzione, o controllare se e` gia` presente.

Preparare la partizione

In questo esempio la partizione /dev/sda1 viene formattata e sovrascritta.
# cryptsetup -y -v luksFormat /dev/sda1

WARNING!
========
This will overwrite data on /dev/sda1 irrevocably. Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Verify passphrase:
Command successful.
In questo post useremo i parametri di default che sono:
# cryptsetup -v --cipher aes-xts-plain64 --key-size 256 --hash sha1 --iter-time 1000 --use-urandom --verify-passphrase luksFormat  /dev/sda1
ed equivalgono al precedente; 
se si vuole adottare un livello di sicurezza maggiore e personalizzata si puo` eseguire
#cryptsetup benchmark
 e scegliere il cypher e l'algoritmo che si preferisce. Si ricorda che il numero relativo alla dimensione della chiave e` la meta` di quello usato da LUKS, ovvero 512 bit in questo caso.
Il prossimo comando inizializza il volume dopo aver inserito la chiave per il volume. Il terzo argomento e` il nome che si vuole scegliere per la partizione.

La password scelta non puo` esser in nessun modo recuperata.
#cryptsetup luksOpen /dev/sda1 testvolume

Enter passphrase for /dev/sda1:
Ora /dev/sda1 correttemente inizializzato viene mappato su /dev/mapper/testvolume. Per verificare lo stato del volume:

# cryptsetup -v status testvolume

/dev/mapper/testvolume is active.
type: LUKS1
cipher: aes-cbc-essiv:sha256 
keysize: 512 bits 
device: /dev/sda1 
offset: 4096
sectors size: 419426304 
sectors mode: read/write
Command successful.

Formattare la partizione

Ora ci si deve assicurare che in caso di un'analisi esterna ogni dato venga visto come una serie random di zero ed uno senza valore e assicurarsi che non ci sia un leak di informazioni relative all'uso del disco:
# dd if=/dev/zero of=/dev/mapper/testvolume
Ora si deve creare un filesystem In questo caso ext4
# mkfs.ext4 /dev/mapper/testvolume

 

Montare e chiudere il disco 

Per montare da /dev/mapper il disco e poterlo utilizzare digitare:
# mount /dev/mapper/testvolume /mnt/testvolume
e per chiudere il volume in maniera sicura:
#umount /mnt/testvolume
# cryptsetup luksClose testvolume

 

Cambiare password

LUKS supporta anche piu` di una password per volume quindi si procede aggiungendo una nuova password:
# cryptsetup luksAddKey /dev/sda1
Enter any passphrase:
Enter new passphrase for key slot:
Verify passphrase:
e poi rimuovendo quella precedente:
# cryptsetup luksRemoveKey /dev/sda1
Oppure in alternativa si puo` utilizzare
#cryptsetup luksChangekey /dev/sda1
Se si volesse rendere completamente inaccessibile il volume basta rimuovere la chiave attraverso il comando:
#cryptsetup luksErase /dev/sda
questa opzione non richiede password ed e` irreversibile.  

Francesco Mecca

Nessun commento:

Posta un commento

I commenti non vengono moderati. Gli autori non si ritengono responsabili dei contenuti di questa sezione. Per segnalare commenti ritenuti offensivi contattarci e verranno rimossi.