Per mantenere le informazioni al sicuro sul proprio sistema si può optare per realizzare una partizione del disco protetta da cifratura, in maniera tale che le informazioni vengano cifrate prima di essere memorizzate su di essa e decifrate quando vengono lette da essa. Tale operazione può essere effettuata per mezzo di appositi software che consentono l’accesso alla partizione stessa effettuando le operazioni di cifratura e decifratura in maniera del tutto trasparente per l’utente. Ovviamente il sistema richiederà la chiave di cifratura per poter effettuare il mount della partizione stessa.
Su GNU/Linux esiste dm-crypt9, il successore di cryptoloop, ...
Prima di creare una partizione cifrata è opportuno (anche se non necessario) riempire la partizione in oggetto con dei valori casuali. Ciò può essere fatto con il seguente comando:
# dd if=/dev/urandom of=device
dove device è il nome della partizione (es. /dev/hda3 se si tratta della terza partizione del
primo disco ATA). Il dispositivo /dev/urandom genera devi valori pesudocasuali che vengono
utilizzati per scrivere sulla partizione device.
|
La generazione di valori pseudocasuali di /dev/urandom è piuttosto buona. Quella di /dev/randomè migliore, ma impiega un tempo circa 50 000 volte superiore del precedente. |
[da completare ...]
# cryptsetup create mapper_name device
A questo punto cryptsetup richiede l’inserimento della passphrase (la chiave utilizzata da
AES per la cifratura/decifratura delle informazioni che verranno scritte/lette sulla/dalla
partizione.
Quindi si può procedere all’inizializzazione del filesystem (es. ext3) che deve essere contenuto all’interno della partizione. Questo lo si può fare con il comando
# mkfs.ext3 /dev/mapper/mapper_name
La partizione può dunque essere montata in un mount point. Ad esempio, se la si vuol
montare nel mount point /mnt/encrypted si crei, con l’utente superuser, detta directory, con
il comando
# mkdir /mnt/encrypted
quindi si modifichi il file /etc/passwd inserendo la riga relativa al mount del nuovo
dispositivo, ovvero analoga a quella riportata di seguito
/dev/mapper/mapper_name /mnt/encrypted ext3 noauto,noatime 0 0
A questo punto si può montare la partizione con il comando
# mount /dev/mapper/mapper_name /mnt/encrypted
ed utilizzare /mnt/encrypted come una qualunque directory. Ovviamente le operaizioni
sulla partizione cifrata saranno leggermente più lente rispetto a quelle sulle partizioni non
cifrate, dovute alle opportune operazioni di cifratura/decifratura che deve effettuare il
sistema sulle informazioni, ma la differenza di prestazioni non sembra essere molto
evidente.
Ovviamente, ogni volta che si riavvierà il sistema i sarà la necessità di montare la partizione cifrata con i seguenti comandi:
# cryptsetup create mapper_name device
# mount /dev/mapper/mapper_name /mnt/encrypted
È possibile smontare la partizione con i comandi seguenti:
# umount /mnt/encrypted
# cryptsetup remove mapper_name