giovedì 15 luglio 2010

debian: creazione di una chiavetta usb cifrata

Con alcuni piccoli accorgimenti si può creare una chiavetta usb protetta, cifrata utile al salvataggio dei nostri dati personali in totale riservatezza.
Per trasformare la nostra chiavetta usb in una piccola cassaforte ci serviremo del comado cryptsetup.

apriamo il nostro terminale è verifichiamo se abbiamo abilitato nel nostro kernel il modulo dm-crypt, ci serviremo del comando dmsetup, se non presente nella nostra macchina installiamolo.

sudo apt-get install dmsetup

installato dmsetup lanciamolo è verifichiamo se presente il modulo dm-crypt

sudo dmsetup targets

se non presente carichiamo il modulo con modprobe.

sudo modprobe dm-crypt

ricontrolliamo se risulta tra i moduli caricati.

lsmod | grep dm

dm_crypt 9127 0

rilanciamo il comando dmsetup il risultato dovrebbe cambiare, segnalandoci la presenza del pacchetto crypt.

sudo dmsetup targets

crypt v1.7.0
mirror v1.12.0
striped v1.3.0
linear v1.1.0
error v1.0.1

abilitiamo l'algoritmo di crittografia aes.

sudo modprobe aes


per verificare se l'algoritmo viene caricato nel sistema utilizziamo il comando cat, in linea di massiva dovremmo vedere i vari protocolli abilitati tra cui aes.

cat /proc/crypto

name : aes
driver : aes-asm
module : aes_i586
priority : 200
refcnt : 1
selftest : passed
type : cipher
blocksize : 16
min keysize : 16
max keysize : 32

name : aes
driver : aes-generic
module : aes_generic
priority : 100
refcnt : 1
selftest : passed
type : cipher
blocksize : 16
min keysize : 16
max keysize : 32

name : ecb(arc4)
driver : ecb(arc4-generic)
module : ecb
priority : 0
refcnt : 3
selftest : passed
type : blkcipher
blocksize : 1
min keysize : 1
max keysize : 256
ivsize : 0
geniv :

name : arc4
driver : arc4-generic
module : arc4
priority : 0
refcnt : 3
selftest : passed
type : cipher
blocksize : 1
min keysize : 1
max keysize : 256

name : stdrng
driver : krng
module : kernel
priority : 200
refcnt : 1
selftest : passed
type : rng
seedsize : 0

name : md5
driver : md5-generic
module : kernel
priority : 0
refcnt : 1
selftest : passed
type : shash
blocksize : 64
digestsize : 16

continuiamo installando il programma cryptsetup, che ci servirà per configurare la nostra chiavetta usb cifrata.

sudo apt-get install cryptsetup

i pacchetti necessari per cifrare un filesystem protetto o una chiavetta usb sono stati installati, adesso bisogna formattare la chiavetta, io nel mio caso mi sono servito del programma gparted.

sudo apt-get install gparted


lanciate il software è formattate la chiavetta in ext2, o ext3 a voi la scelta.

espellete la chiavetta ed reinseritela, verificate con il comando dmesg il nome assegnato dal sistema, nel mio caso sdb1.

create un punto di mount dentro la cartella mnt, io come nome ho scelto cifrata.

sudo mkdir /mnt/cifrata


adesso finalmente dopo aver preparato il sistema siamo pronti per creare la nostra chiavetta usb cifrata è montarla dentro la cartella /mnt/cifrata.

per indicare al sistema che la partizione della chiavetta nel nostro caso sdb1 dovrà essere cifrata e referenziata con il nome chiave_cifrata usare il comando cryptsetup.

sudo cryptsetup -y create chiave_cifrata /dev/sdb1

il comando creerà un volume cifrato dentro /dev/mapper di nome chiave_cifrata, inserite le password che vi serviranno ogni volta per entare nella chiavetta usb protetta.

Per inizializzare la partizione con filesystem ext2 servitevi del comando mkfs.

sudo mkfs.ext2 /dev/mapper/chiave_cifrata

ora è possibile montare il volume cifrato /dev/mapper/chiave_cifrata dentro il punto di montaggio /mnt/cifrata.

utilizzate il comando mount.

sudo mount /dev/mapper/chiave_cifrata /mnt/cifrata

entriamo dentro la nostra chiavetta usb.

cd /mnt/cifrata

possiamo scrivere o copiare i nostri file .

per uscire dalla chiavetta dopo aver finito di copiare i nostri file bisogna scrivere:

cd
sudo umount /mnt/cifrata

sudo cryptsetup remove chiave_cifrata


adesso possiamo staccare la chiavetta in tutta tranquillità, se in seguito vogliamo lavorare con la nostra pen drive protetta, inseriamola ed eseguiamo i seguenti passaggi in successione.

eseguiamo il comando dmesg per verificare il nome assegnato dal sistema, nel mio caso sdb1.

dmesg

carichiamo i moduli dm-crypt, aes.

sudo modprobe dm-crypt
sudo modprobe aes


inizializzamo il volume cifrato /dev/mapper/chiave_cifrata, bisogna mettere la password.

sudo cryptsetup -y create chiave_cifrata /dev/sdb1

montiamo il volume cifrato con il comando mount.

sudo mount /dev/mapper/chiave_cifrata /mnt/cifrata

per smontare la chiavetta usb rilasciando il volume cifrato, scrivete:


cd
sudo umount /mnt/cifrata

sudo cryptsetup remove chiave_cifrata