TrueCrypt ( http://www.truecrypt.org) e' un software opensource disponibile per Windows e Linux.
TrueCrypt serve per cifrare intere partizioni (su hard disk o su penne USB) o per creare unita' disco virtuali criptate all'interno di un file (file container).
Dopo aver digitato la password posta a protezione dei dati, si potra' accedere alle unita' virtuali come se fossero normali unita' disco.
Tutte le operazioni crittografiche verranno realizzate al volo da TrueCrypt in modo trasparente per l'utente.
Per diverse distribuzioni esistono i pacchetti, oppure potete scaricare dal sito ufficiale i sorgenti per poi compilarli.
Una volta scaricati i sorgenti dovete compilarli, le seguenti operazioni andranno quindi svolte con i permessi di root.
# tar -zxvf truecrypt-4.3a-source-code.tar.gz
# cd truecrypt-4.3a-source-code/Linux
# ./install.sh
A questo punto truecrypt e' pronto per essere usato da linea di comando.
Se il vostro sistema non carica automaticamente il modulo del kernel date un
# modprobe truecrypt
e inserite il modulo truecrypt nella lista dei moduli caricati automaticamente all'avvio (come farlo dipende dalla vostra distribuzione di linux).
Normalmente truecrypt puo' essere utilizzato solo da root,
ma con sudo anche gli utenti normali possono utilizzarlo.
Creiamo il gruppo truecrypt:
# groupadd truecrypt
e poi diciamo a sudo che tutti gli utenti di questo gruppo possono utilizzare truecrypt:
# visudo
e aggiungete questa riga:
%truecrypt ALL=(root) NOPASSWD:/usr/bin/truecrypt
Ricordatevi di rifare il login in modo che il vostro utente venga riconosciuto come appartenente al gruppo truecrypt.
L'utilizzo da linea di comando puo' essere fatto come utente normale,
non e' necessario essere root.
Per cominciare creiamo un file container:
$ truecrypt -c volume.tc
in questo modo diciamo semplicemente a truecrypt di creare un file di
nome volume.tc, sara' poi lui a farci una serie di domande:
Volume type:
1) Normal
2) Hidden
Select [1]:
Qui' vi chiede se volete creare un volume normale, o un volume nascosto
dentro un altro volume. Per ora selezionate 1 per creare un volume
normale.
Filesystem:
1) FAT
2) None
Select [1]:
Questa opzione vi chiede se volete formattare il volume come FAT (che
puo' essere letto sia con linux che con windows) oppure se per ora
non lo volete formattare (potete comunque farlo in seguito se volete
creare una partizione ext3 o altre).
Io ho avuto qualche problema con partizioni ext3 e la possibilita' di usare truecrypt come utente, quindi vi consiglio di creare volumi FAT, tanto poi solo l'utente avra' i permessi per accere al mount point.
Enter volume size (bytes - size/sizeK/sizeM/sizeG):
Indicate la dimensione del file container, es 10M per 10 megabyte.
Hash algorithm:
1) RIPEMD-160
2) SHA-1
3) Whirlpool
Select [1]:
Qui' e' possibile scegliere l'algoritmo di hashing, se non sapete cos'e'
lasciate pure la scelta di default per ripemd-160.
Encryption algorithm:
1 ) AES
2 ) Blowfish
3 ) CAST5
4 ) Serpent
5 ) Triple DES
6 ) Twofish
7 ) AES-Twofish
8 ) AES-Twofish-Serpent
9 ) Serpent-AES
10 ) Serpent-Twofish-AES
11 ) Twofish-Serpent Select [1]:
Qui' invece potete scegliere l'algoritmo di cifratura, anche qui' se
non conoscete le differenze scegliete tranquillamente il primo, AES.
Enter password for new volume volume.tc:
press [Enter] if you dont want any password
Inserite la password, vi chiedera' di reinserirla una seconda volta
per verificare che non facciate errori.
Enter keyfile path [none]: here enter a full path to the key or
leave empty if you dont have any key
E' possibile proteggere il volume anche con una chiave che sta
dentro un file, se vi basta la password come livello di sicurezza
lasciate pure vuoto questo campo.
TrueCrypt will now collect random data.
Is your mouse connected directly to the computer where TrueCrypt is running?
Truecrypt ha bisogno di dati casuali per creare il volume, se non avete il
mouse direttamente collegato al PC rispondete [n]. Sul mio portatile anche
se rispondo [y] il mouse e' come se non lo vedesse, se capita anche a voi
rispondete [n] e molto semplicemente vi chiedera' di pigiare tasti a caso
sulla tastiera per un po'.%dollar truecrypt --type normal --encryption AES --hash RIPEMD-160 --size 10M --filesystem NONE -c volume.tc
Ora formattiamo il volume:
Per mappare il volume basta dare il comando:
$ truecrypt volume.tc
inserite la password come richiesto, e poi potete verificare un po' di cose con il comando:
$ truecrypt -vl
/dev/mapper/truecrypt0:
Volume: /tmp/volume.tc
Type: Normal
Size: 10485248 bytes
Encryption algorithm: AES
Mode of operation: LRW
Read-only: No
Hidden volume protected: No
come si vede il volume e' mappato su /dev/mapper/truecrypt0
ora possiamo formattarlo (in questo caso come ext3):
(se avete scelto in fase di creazione di creare un volume FAT questo
passaggio non e' necessario).
$ mkfs.ext3 /dev/mapper/truecrypt0
ora che l'abbiamo formattato e' pronto per essere montato e utilizzato, prima togliamo il mapping:
$ truecrypt -d /dev/mapper/truecrypt0
Una delle caratteristiche migliori di truecrypt e' quella di nascondere
volume crittato dentro un altro volume crittato.
Se vi interessa utilizzare questa funzione con questo comando
creiamo un volume nascosto di 5Mb dentro
il volume normale che abbiamo creato prima.
$ truecrypt --type hidden --size 5M -c volume.tc
Rispondete alle domande come avete fatto prima (ovviamente scegliete una password diversa da quella del container normale).
ora formattate il volume nascosto:
(se avete creato il volume come FAT in fase di creazione questo passaggio
non e' necessario.)
$ truecrypt volume.tc
$ mkfs.ext3 /dev/mapper/truecrypt0
$ truecrypt -d /dev/mapper/truecrypt0
Adesso avete un volume normale e dentro questo un volume nascosto.
E l'esistenza del volume nascosto non puo' essere provata, nemmeno guardando lo spazio utilizzato.
Per prima cosa il volume normale va montato in una directory, ad esempio creiamo la directory /mnt/truecrypt:
$ mkdir /mnt/truecrypt
$ truecrypt -u -P volume.tc /mnt/truecrypt
Il -u serve a montare il container in modo che l'utente normale possa accedervi. Il -P serve a proteggere il volume nascosto in modo che potete aggiungere files nel volume normale senza intaccare il volume nascosto. Se non avete creato un volume nascosto non usate il -P. Ovviamente come password dovete inserire quella che avete scelto per il volume normale.
Ora potete mettere roba dentro /mnt/truecrypt e tutto quello che ci metterete sara' criptato e una volta smontato il volume non sara' piu' visibile.
Al termine dell'utilizzo ricordatevi di smontare il volume:
$ truecrypt -d /mnt/truecrypt
(Puo' essere comodo inserire il comando per montare il volume all'avvio del sistema in qualche script di avvio, e negli script di shutdown del sistema inserire la riga per smontare il volume)
Se invece volete lavorare sul volume nascosto lanciate truecrypt con questa sintassi:
$ truecrypt -u volume.tc /mnt/truecrypt
e quando vi chiede la password inserite la password che avete
scelto per il volume nascosto, quindi sostanzialmente
se inserite la password del volume normale sara' montato
il volume normale, se invece inserite la password del volume
nascosto verra' montato il volume nascosto.
State attenti a non confondere le password perche' se inserite
la password del volume normale senza usare il -P rischiate di
perdere il volume nascosto.
In attesa che gli sviluppatori rilascino un'interfaccia grafica
anche per linux, esiste un'interfaccia grafica ancora in fase sperimentale
per interagire con truecrypt.
L'utilizzo e' molto semplice, l'unico inconveniente e' che non prevede
il comando [-u] e quindi utilizzarla come utente normale non e' molto utile.
Potete scaricarla da qui':
http://onekript.sourceforge.net)
Per utilizzarlo e' necessario avere installato il Kommander, un pacchetto per kde, se non usate kde come window manager per lanciarlo basta usare la sintassi:
# kmdr-executor onekript.kmdr