TrueCrypt è un software in grado di costituire volumi crittografati in cui salvare dati sensibili o riservati. La crittografia viene effettuata on-the-fly, ovvero i dati vengono automaticamente crittografati e decrittografati solo al momento del salvataggio o del caricamento.
Il sistema protegge le informazioni crittografando interamente il file system che le contiene, mantenendolo illeggibile fino all'inserimento di un'apposita password o di altre credenziali di autenticazione. Ogni aspetto del file system risulta protetto ad accessi non autorizzati: file e cartelle, contenuti di ogni tipo, meta dati e spazio su disco libero.
Chiaramente i file, conoscendo la password, possono essere copiati da/verso il volume crittografato ed eseguiti senza utilizzare alcun altro supporto o software aggiuntivo. Anche l'elaborazione necessaria per crittografare e decrittare le informazioni risulta assolutamente accettabile, soprattutto se si possiede una macchina abbastanza recente e si utilizza la versione più aggiornata di TrueCrypt, che introduce delle nuove funzionalità atte a migliorare l'esperienze dell'utente con tale software.
La recente versione di TrueCrypt, la numero 6, porta infatti con se alcune novità significative, soprattutto in termini di miglioramento delle performance e crittografia del sistema operativo.
In termini di performance, è stata introdotta una miglioria applicativa che permette di sfruttare al meglio le capacità di elaborazione parallela dei processori multi-core, ottenendo un più rapido processo di crittografia e decrittografia. In altre parole se si dispone di un computer con una CPU quad-core la procedura di crittografia potrà essere fino a quattro volte più veloce rispetto all'equivalente single-core CPU.
La stessa TrueCrypt Foundation dimostra questa novità con i risultati dei benchmark effettuati su una macchina dotata di processore Intel® Core™ 2 Quad Q9450 2.66 GHz.
L'applicazione pratica di TrueCrypt non si limita tuttavia alla sola protezione di dischi e volumi di dati o backup, ma interviene anche nella componente operativa di un computer, agendo sulle funzionalità del sistema operativo.
Un sistema operativo nascosto
Dal punto di vista di sistema, infatti, TrueCrypt 6 rende possibile la generazione e la relativa esecuzione di un sistema operativo completamente nascosto, invisibile anche alla sola identificazione da parte di un agente esterno e non autorizzato. Il disco eseguibile nascosto, che chiameremo hidden volume, è particolarmente utile quando si vogliono mettere al riparo dati estremamente sensibili, per i quali un disco crittografato nel modo classico potrebbe non essere sufficiente.
Praticamente sul disco rigido del nostro computer saranno presenti due volumi e due sistemi operativi, così come mostrato dalla seguente figura.
Durante la fase di avvio del computer l'utente disporrà di due password, una prima necessaria a lanciare il "decoy operating system", mentre una seconda da utilizzare per lanciare l'"hidden operating system". Il primo sistema può essere utilizzato per la gestione delle operazioni quotidiane e in tutti quei casi in cui non vengono eseguite operazioni critiche, mentre il secondo deve essere dedicato al contesto dei dati sensibili e strettamente privati.
TrueCrypt 6, in funzione della password inserita dall'utente avvia uno dei due sistemi, non rivelando semplice l'identità e la presenza dell'hidden volume se non espressamente richiesto.
In questo modo anche se gli utenti fossero costretti ad indicare la password di boot del sistema operativo potrebbero tentare di dissuadere l'attaccante fornendogli la password del decoy operating system, lasciando totalmente invisibili e quindi raggiungibili i dati memorizzati nel sistema operativo nascosto.
Inoltre è disponibile una terza password, dedicata all'ambiente nascosto in grado di celare ulteriormente l'hidden operating system (HOS). In pratica per accedere realmente al sistema operativo nascosto l'utente dovrà inserire due password consecutivamente, una prima per scegliere tra decoy operating system e outer volume, mentre una seconda (che non si tratta di una pre-boot authentication password, ma di una TrueCrypt volume password) per accedere realmente all'hidden operating system.
Al di là della necessaria teoria, il processo pratico di creazione di un HOS è estremamente semplice ed attuabile per mezzo di una semplice wizard, accessibile dal menu System alla voce Create Hidden Operating System.
L'unico prerequisito è quello di predisporre la partizione che dovrà ospitare il nostro HOS utilizzando un software di terze parti o quello integrato in Windows. Nello specifico la partizione deve essere posizionate immediatamente dopo quella nella quale è istallato il sistema operativo di partenza e deve essere almeno il cinque per cento più grande rispetto alla partizione di sistema. Per l'esattezza va evidenziato che se l'outer volume viene formattato come NTSF, allora la partizione dell'HSO deve essere ancora più grande, precisamente almeno 2.1 volte più capiente rispetto alla partizione di sistema.
Detto questo, una volta individuata la partizione il wizard genera due volumi TrueCrypt volumes, l'outer e l'hidden. Quest'ultimo conterrà l'HSO e verrà costituito della stessa dimensione della partizione di sistema, o meglio sarà una sorta di clone della stessa.
TrueCrypt infatti copierà il contenuto della partizione sistema all'interno dell'hidden volume crittografando on-the-fly le informazioni con una chiave differente rispetto a quella utilizzata per la stessa operazione sul decoy operating system.
Questo passo è sicuramente il più lungo di tutta la procedura e non deve spaventare utenti al primo approccio con questo software. La durata della copia e della crittografia, effettuata in un ambiente pre-boot, può infatti protrarsi per diverse ore o addirittura per giorni in funzione della dimensione della partizione da crittografare e delle caratteristiche hardware della macchina utilizzata. In ogni caso in questa fase il computer potrà essere spento e il processo interrotto, per essere poi ripreso in un secondo momento.
Il risultato finale sarà quindi un sistema operativo nascosto e un decoy operating system entrambi crittografati. Il decoy sarà utilizzato, come detto, come un normale sistema operativo per la gestione dei dati non sensibili. Aggiungiamo che per ragioni di sicurezza, durante l'esecuzione del hidden operating system TrueCrypt abiliterà in sola lettura tutti gli altri filesystem non crittografati e lo stesso volume non nascosto.
Le altre novità
Le novità introdotte con questa nuova versione di TrueCrypt non si riducono tuttavia a quanto sino ad ora illustrato. Sono infatti disponibili almeno due nuove caratteristiche che non possono passare inosservate.
La prima riguarda la possibilità sui sistemi Windows Vista and Windows 2008 di crittografare l'intero disco di sistema, anche se contenente partizioni estese o logiche. Per Windows XP invece, nonostante la possibilità di crittografare l'intero disco, rimane la limitazione che impone al drive TrueCrypt di contenere solamente partizioni primarie.
La seconda costituisce un livello di recovery in più rispetto a quanto disponibile in passato. Ogni volume creato con TrueCrypt 6 conterrà infatti, alla fine del rispettivo volume, un header di backup contenente una copia della master key crittografata. Questo perché per questioni legate al processo di crittografia risulta impossibile montare un volume nel caso in cui il suo header sia danneggiato o mancante. Pertanto l'aggiunta di un header di backup riduce significativamente il rischio di perdere tutti i dati memorizzati, ricordando che in ogni caso l'header di riserva non rappresenta una copia esatta dell'header originale in quanto viene crittografato utilizzando una chiave differente.
In caso di necessità e quindi di criticità riguardanti l'header principale TrueCrypt stesso notificherà il problema all'utente, indicandogli la strada da percorrere per ripristinare la situazione attraverso l'header di backup.
Infine concludiamo con una piccola nota riguardante gli altri sistemi operativi non-Windows disponibili sul mercato. TrueCrypt è infatti disponibile anche per Mac OS X e Linux, per i quali la versione 6 ha introdotto alcune migliorie, come quella degli hidden volumes, in grado di predisporre un sistema per la salvaguardia dei dati anche fuori dal mondo Microsoft.
Nello specifico Linux, TrueCrypt 6 può vantare l'utilizzo dei servizi di crittografia nativi del kernel per i volumi crittografati in modalità XTS. Questo, se rispettati alcuni accorgimenti, incrementa notevolmente la velocità di lettura/scrittura dei dati, anche senza l'utilizzo di alcuni componenti software sino ad ora necessari come il driver FUSE.