Una delle soluzioni più indicate per difendere documenti e file personali da “occhi indiscreti” consiste nell’utilizzo di TrueCrypt, un software opensource del quale abbiamo spesso parlato che permette di crittografare il contenuto di gruppi di file, di partizioni od, addirittura, di interi dischi fissi.
Per quanto concerne la cifratura di singoli file e cartelle, TrueCrypt utilizza un approccio che consiste nella creazione e nella successiva gestione di volumi crittografati. Si tratta di veri e propri “contenitori” protetti che possono essere generati utilizzando uno qualsiasi tra i vari algoritmi crittografici supportati da TrueCrypt. Tali volumi, visibili al sistema operativo ed alle applicazioni installate come una qualunque unità disco o partizione “fisica”, possono ospitare qualunque tipologia di file. E’ un po' come avere a disposizione una sorta di disco fisso aggiuntivo, delle dimensioni preferite, che però si occupa di crittografare in tempo reale qualunque file vi si memorizzi al suo interno.
TrueCrypt effettua una cifratura “on-the-fly” (“al volo”, in italiano). Ciò significa che i dati vengono automaticamente crittografati e decifrati prima di essere caricati o memorizzati, senza alcun intervento aggiuntivo da parte dell’utente. Nessun dato, memorizzato in un volume cifrato con TrueCrypt, può essere letto senza conoscere la password corretta e/o senza disporre dell’appropriato “file chiave”.
I file possono essere copiati da e verso il volume crittografato TrueCrypt così come se si trattasse di un qualunque altro disco tradizionale (ad esempio, servendosi della classica operazione di trascinamento). Ogni file viene poi automaticamente decifrato in memoria RAM allorquando si avvii un’operazione di lettura o di copia dal volume crittografato.
Come spiegano gli autori di TrueCrypt questo non significa che tutto il file oggetto di un’operazione di decifratura (sempre svolta, lo ricordiamo, in maniera del tutto trasparente) venga “spostato” in RAM.
Supponiamo ad esempio di avere a che fare con un corposo file .avi memorizzato in un volume crittografato con TrueCrypt.
Come primo passo, l’utente, fornendo la password corretta (e/o il “keyfile” appropriato) accederà al contenuto del volume cifrato. A questo punto, il volume sarà “montato” ovvero reso visibile al sistema operativo. Facendo doppio clic sul file .avi contenuto nell’unità crittografata, il sistema operativo lancerà l’applicazione configurata per l’apertura del formato di file (in questo caso, presumibilmente, il riproduttore multimediale). Il riproduttore multimediale inizierà a leggere una piccola porzione di dati dal volume cifrato per porla in RAM. Durante l’operazione di lettura, TrueCrypt si farà carico di decifrare la porzione di dati al momento richiesta in modo che poi possa essere riprodotta dal programma.
Questo processo si chiama “on-the fly encryption/decryption” e funziona per qualunque genere di file, non solo per i file video.
TrueCrypt non memorizza mai dati in forma decifrata sul disco fisso ma provvede solo a memorizzarli temporaneamente in RAM: anche quando il volume crittografato risulta “montato”, tutte le informazioni in esso contenute sono sempre cifrate. Al riavvio del sistema operativo od allo spegnimento del personal computer, il volume sarà “smontato” ed i file da esso conservati resi nuovamente inaccessibili da parte delle persone non autorizzate.
In questo articolo ci proponiamo di illustrare la procedura che è possibile mettere in pratica per mettere in sicurezza, in forma crittografata il contenuto di una chiavetta USB. Capita infatti sempre più di frequente di avere la necessità di portare sempre con sé file personali e progetti di lavoro. Le chiavette USB rappresentano un’ottima soluzione ma, allo stesso tempo, possono essere perse o facilmente sottratte.
Per evitare che informazioni importanti possano cadere nelle mani sbagliate, è possibile orientarsi su una soluzione qual è TrueCrypt.
Quando si connette una chiavetta USB al personal computer, a questa il sistema operativo associa immediatamente una lettera di unità (ad esempio I:
). All’interno della chiavetta USB, utilizzando TrueCrypt, si creerà un volume cifrato: anche a questa unità sarà associata, una volta “montata”, una lettera identificativa (ad esempio L:
). I file esistenti memorizzati nella chiavetta USB non saranno crittografati dal momento che verranno conservati nel volume TrueCrypt.
Chi si impossessasse della chiavetta USB realizzerà che alcuni dati in essa presenti sono cifrati (notando la presenza del volume creato con TrueCrypt) ma non sarà in grado di leggerli non conoscendo la password corretta.
Dopo aver scaricato il file d’installazione di TrueCrypt, è possibile scegliere se installare il software sul sistema in uso oppure se estrarre solamente i file necessari per il suo funzionamento. Questo secondo approccio consente di far diventare TrueCrypt un’applicazione “portabile” inseribile, appunto, in una comune chiavetta USB o su qualunque altra unità di memorizzazione rimovibile.
All’avvio del file TrueCrypt Setup 6.xx.exe
, prelevabile facendo riferimento a questa scheda, dopo aver accettato le condizioni della licenza d’uso (I accept and agree to be bound by license terms), si potrà optare per l’installazione completa del pacchetto sul disco oppure per l’estrazione dei file essenziali.
Nel nostro caso scegliamo Extract e clicchiamo sul pulsante Next.
Come osservazione generale, è bene sottolineare che selezionando Extract si otterrà un’applicazione “portabile”, utilissima per il nostro scopo. In questo caso, non trattandosi di un’installazione vera e propria, TrueCrypt non inserirà alcunché nel registro di sistema né aggiungerà file alle cartelle di Windows. Avviando TrueCrypt, il programma opererà – in questo caso – nella cosiddetta modalità “traveler”.
La schermata seguente richiede di indicare una cartella all’interno della quale si desiderano memorizzare i file necessari per il corretto funzionamento di TrueCrypt. Lasciando spuntata la casella Open the destination location when finished, la directory di destinazione sarà automaticamente aperta al termine dell’estrazione dei file.
Cliccando su Extract verrà avviata la procedura di estrazione dei file che compongono TrueCrypt: l’operazione richiede appena pochissimi istanti.
A questo punto è necessario connettere al sistema la propria chiavetta USB ed attendere che in Risorse del computer le sia assegnata una lettera identificativa di unità.
Il passo successivo consiste nell’eseguire il file TrueCrypt Format.exe
. Selezionando le voci Create an encrypted file container e Standard TrueCrypt volume si richiederà la creazione di un volume crittografato che sarà poi memorizzato all’interno dell’unità USB (optando per Encrypt a non-system partition/drive, TrueCrypt consente comunque, in alternativa, di cifrare tutto il contenuto dell’unità rimovibile).
Nel nostro esempio abbiamo scelto Standard TrueCrypt volume. In alternativa, però, il software mette a disposizione l’opzione Hidden TrueCrypt volume. Cosa significa? Selezionando questa seconda modalità di creazione del volume cifrato, TrueCrypt creerà una seconda unità cifrata usando, come contenitore, un altro volume creato sempre con TrueCrypt. La password per il volume nascosto dovrà essere ovviamente differente da quella dell'”unità-contenitore”. Nel caso in cui qualcuno dovesse provare ad estorcere all’utente la password per l’accesso al volume protetto, questi potrà fornire – messo alle strette – solamente quella del “contenitore” evitando così che la persona non autorizzata possa accedere all’unità nascosta (“hidden”) e, di conseguenza, ai dati importanti in essa conservati.
E’ ovvio, come suggerimento generale, che nel volume “contenitore” si dovrà aver cura di salvare comunque dei dati “civetta” per non insospettire il malintenzionato qualora dovesse trovarsi dinanzi ad un unità apparentemente vuota.
Creazione del volume crittografato
Alla comparsa della finestra Volume location, si dovrà indicare la lettera di unità associata alla chiavetta USB e specificare un nome da attribuire al volume TrueCrypt.
Nel nostro caso, lavori
sarà il volume TrueCrypt che ospiterà i nostri file cifrati.
Il passo seguente consiste nella scelta dell’algoritmo di codifica (AES, Serpent, Twofish o loro combinazioni) e di quello hash da impiegare. AES e RIPEMD-160 forniscono un buon compromesso tra velocità e sicurezza. Agendo sui menù a tendina è comunque possibile optare anche su algoritmi alternativi. La scelta migliore da operare è funzione della tipologia dei dati memorizzati sul sistema in uso, dell’importanza degli stessi e delle performance che ci si aspetta di ottenere.
Ovviamente, se si opta per l’utilizzo, in cascata, di più algoritmi di crittografia, il livello di sicurezza sul quale si potrà fidare sarà estremamente più elevato ma si dovrà mettere in conto un decadimento prestazionale.
Il pulsante Benchmark offre la possibilità di avviare una serie di test “pratici” sul proprio sistema per verificare il “transfer rate” dei dati cifrati garantito nelle diverse configurazioni.
E’ bene osservare come le varie misurazioni (“benchmark”) vengano effettuate appoggiandosi alla memoria RAM: le performance su disco saranno, ovviamente, molto più ridotte.
Come algoritmi di hash, TrueCrypt offre tre alternative: RIPEMD-160, SHA-512 e Whirlpool.
Un algoritmo di hash calcola una rappresentazione digitale di lunghezza fissa (nota come “message digest”) di una sequenza di dati in ingresso (il “messaggio”), di lunghezza qualunque. Un algoritmo di hash è detto “sicuro” quando è praticamente impossibile, a livello computazionale, individuare un messaggio che corrisponda ad un dato “message digest” oppure trovare due messaggi distinti che producano lo stesso “message digest”.
Attraverso la finestra successiva, è possibile indicare il quantitativo di spazio da destinare al volume cifrato in corso di creazione. La scelta dovrà essere effettuata tarando il valore inserito con lo spazio disponibile sull’unità USB e con la tipologia di dati che il volume dovrà ospitare.
Infine, TrueCrypt richiederà di inserire una password da utilizzare a protezione del contenuto del volume cifrato. La scelta di una password “adeguata” è un passo che riveste un’importanza a dir poco essenziale. La password indicata nella finestra Volume password deve essere piuttosto complessa in modo da far sì che non possa essere individuata per tentativi, ad esempio con attacchi “brute-force” o basati sull’uso di dizionari. Una password considerabile come “sicura” dovrebbe contenere lettere e numeri oltre, possibilmente, a qualche carattere “speciale”.
Opzionalmente, TrueCrypt consente anche l’uso di un “file chiave” o “keyfile”. Si tratta di un qualunque tipo di file (ad esempio .mp3, .jpg, .zip, .avi,…) che può essere impiegato per rafforzare le difese nei confronti degli attacchi sferrati da chi tentasse di violare il volume crittografato. Il primo megabyte del “file chiave” specificato sarà usato da TrueCrypt, in combinazione con la password scelta, per proteggere il volume in corso di generazione. Come “file chiave” è possibile indicare qualunque file: si tenga presente comunque che verranno usati solo i primi 1.048.576 bytes dello stesso.
Ovviamente è bene tenere presente due aspetti: in fase di decifratura del volume, TrueCrypt richiederà sia di introdurre la password scelta, sia di indicare il “file chiave” selezionato in precedenza. Se si dovesse perdere il “keyfile” o il primo megabyte del suo contenuto dovesse risultare modificato o danneggiato, non sarà più possibile accedere al volume crittografato con TrueCrypt.
Da ultimo, è bene osservare come sia possibile usare più “keyfile” o richiedere la generazione di “file chiave” direttamente a TrueCrypt (pulsante Generate random keyfile).
Per il nostro esempio pratico di utilizzo, faremo affidamento solo sull’impiego della password (TrueCrypt suggerisce l’impiego di una password lunga almeno venti caratteri).
La schermata seguente permette di specificare il file system da usare e di preparare (un clic sul pulsante Format) il volume cifrato.
La fase di creazione del volume crittografato all’interno dell’unità USB potrebbe richiedere qualche minuto di tempo, a seconda delle scelte operate in precedenza (algoritmo da usare e dimensioni).
Alla comparsa della finestra Volume created, è possibile uscire da TrueCrypt cliccando sul pulsante Exit.
Ovviamente è possibile creare, nella medesima unità USB, più volume crittografati: è sufficiente ripetere la procedura sin qui illustrata.
Per completare la procedura, è necessario fare doppio clic sul file TrueCrypt.exe
quindi scegliere Traveler disk setup dal menù Tools.
Nella casella Create traveler disk files at (traveler disk root directory) è necessario introdurre la lettera di unità corrispondente alla chiavetta USB.
Per fare in modo che il volume crittografato venga automaticamente “montato” ad ogni connessione della chiavetta USB, è possibile optare per la voce Auto-mount TrueCrypt volume. Nella sottostante casella TrueCrypt volume to mount (relative to traveler disk root) si deve indicare il volume crittografato appena creato e memorizzato nell’unità USB (nel nostro esempio, lavori
).
Un clic su Create ed il gioco è fatto: a questo punto è possibile chiudere tutte le finestre ed estrarre la chiavetta USB.
D’ora in poi, collegando la stessa chiavetta USB ad un qualunque sistema, dovrebbe attivarsi automaticamente la funzionalità “autorun” (od “autoplay” che dir si voglia) con la conseguente comparsa della finestra di TrueCrypt che invita all’inserimento della password scelta all’atto della creazione del volume cifrato. Ovviamente la finestra apparirà solo se la funzione “autorun” di Windows non sia stata disabilitata.
I più smaliziati possono esaminare il contenuto del file autorun.inf che TrueCrypt ha creato nella directory radice dell’unità USB. E’ immediato accorgersi di quale operazione venga avviata alla connessione della chiavetta USB (open=TrueCrypt\TrueCrypt.exe /q background /e /m r m /v “lavori”
). Le altre opzioni, aggiunte al menù contestuale (shell
) consentono di “smontare” rapidamente il volume crittografato.
Prima di rimuovere la chiavetta USB è sempre necessario provvedere a “smontare” il volume creato con TrueCrypt e memorizzato nell’unità rimovibile.
E’ bene ricordare, inoltre, che nella versione “travel” TrueCrypt deve essere necessariamente avviato da un account utente dotato di diritti amministrativi.