Partizioni criptate su chiavetta USB

Partizioni criptate su chiavetta USB

La crittografia è un punto di partenza imprescindibile per difendere la vostra privacy su qualsiasi tipo di supporto magnetico. Molti usano tenere un elenco di password/dati confidenziali sull’inseparabile chiave USB, che può però essere facilmente persa/rubata/lasciata incustodita, creando diversi tipi di ovvi problemi nel caso cada in altrui mani.

Vediamo com’è possibile, in modo facile e per nulla complicato, ovviare ai suddetti inconvenienti.

Crittografare una chiave USB

I. Prerequisiti

Assumeremo di lavorare con una macchina GNU/Linux (che sappiate minimamente usare), nella fattispecie Debian (o una qualsiasi Debian-based)

Se utilizzate una distro diversa da Debian i passaggi sono i medesimi, i pacchetti li installate col vostro gestore. Niente di nuovo insomma 🙂 ).

II. Requisiti

Controlliamo di avere caricati i moduli corretti nel kernel: in caso contrario vanno caricati/compilati se non li abbiamo.

# cat /boot/config-`uname -r` | less
[…] CONFIG_CRYPTO_DEV_PADLOCK=m
CONFIG_CRYPTO_DEV_PADLOCK_AES=y
[…]

CONFIG_CRYPTO=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_AES_586=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_TEST=m

Installiamo inoltre le librerie necessarie, libgcrypt e libdevmapper, oltre al tool cryptsetup:

# apt-get install libgcrypt
#apt-get install libdevmapper
#apt-get install cryptsetup

Quindi carichiamo i moduli necessari:

# modprobe dm-crypt

  1. modprobe aes

Ovviamente potete sostituire AES con il vostro algoritmo preferito.

III. Partizioni

Creiamo le nostre partizioni sulla chiavetta, o se vogliamo dedicarci tutto lo spazio (come nell’esempio) creiamone una sola e installiamoci un filesystem:

# fdisk /dev/sda
[…]

  1. mkfs.ext2 /dev/sda1

A questo punto dobbiamo usare cryptsetup precedentemente installato, in un modo simile a questo:

# man cryptsetup

(leggere il manuale per una breve spiegazione dei comandi)

# cryptsetup -y -c aes -s 256 create secure /dev/sda1
Enter passphrase:
Verify passphrase:

Ovviamente potete sostituire aes con qualsiasi algoritmo (purchè compilato come modulo nel kernel), e potete usare una chiave di dimensioni diversa da 256 bit, sempre a seconda dell’algoritmo.

Inseriamo la nostra brava password e creiamo un nuovo filesystem sul dm, chiamato “secure” (e’ un esempio):

# mkfs.ext2 /dev/mapper/secure

Consiglio: usare ext2 è una buona scelta. Non credo abbiate bisogno del journaling su una chiave usb, quindi usare ext3, reiserFS, XFS o simili è solo uno spreco di spazio 🙂

Creiamo un punto di mount, montiamo e proviamo a scriverci qualcosa dentro:

# mkdir /mnt/securekey

  1. mount /dev/mapper/secure /mnt/securekey
  2. echo “ASDASDASD” > /mnt/securekey/prova

 

Per verificare lo stato della partizione possiamo usare l’opzione (ma va?) status del solito cryptsetup; questo è l’output generato sulla mia chiave:

# cryptsetup status /dev/mapper/secure
/dev/mapper//dev/mapper/secure is active:
cipher: aes-cbc-plain
keysize: 256 bits
device: /dev/sda1
offset: 0 sectors
size: 255950 sectors
mode: read/write

IV. Utilizzo

D’ora in avanti, una volta inserita la chiave USB per utilizzarla sono necessari questi semplici passi (dopo aver caricato i moduli):

# cryptsetup create secure /dev/sda1
Enter passphrase:

  1. mount /dev/mapper/secure /mnt/securekey/
  2. ls /mnt/securekey/

lost+found prova

E quando abbiamo smesso di usarla:

  1. umount /mnt/skey
  2. cryptsetup remove secure

IV. End

Concludendo, so che sembra uno sbatti ma non lo è affatto. In pochi minuti potrete avere la vostra chiavetta crittografata, e per usarla in futuro senza il fastidio di dover digitare ogni volta i comandi bastano due righe di bash da associare a un’icona sul desk.

E i vantaggi, davvero, sono innumerevoli.

La crittografia non è una paranoia, ma una necessità.

[ fonte: maiosyet]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *