Cosa significa cifrare/criptare i propri dati
spiegazione aggiornata: Ottobre 2014
Significa codificare i dati (sul disco rigido o altrove) in modo che possano essere utilizzati solo tramite una password o una chiave.
Vantaggi e svantaggi del cifrare i propri dati
Il vantaggio è evidente: se ho un portatile e me lo rubano, se l'hard disk è criptato nessuno potrà accedere ai dati senza la password (al massimo potranno formattare il disco rigido, ma non recuperare dati di vario tipo, conti bancari, ecc.), mentre se l'hard disk non è criptato chiunque con un po' di fatica potrà accedere al 100% dei dati.
Lo svantaggio è altrettanto evidente: se l'hard disk criptato si rompe (e può succedere), è poi difficile recuperare i dati, anche conoscendo la password (se non si conosce la password è impossibile): molti programmi di cifratura hanno strumenti appositi per agevolare il recupero dati da un disco criptato, ma per esperienza personale ho visto che questo recupero è -quando possibile- lento e difficile (in genere dipende dal grado di rottura dell'hard disk), nei casi peggiori praticamente impossibile.
Software per criptare; free, shareware oppure Open Source?
Su questo la discussione è aperta: dal momento che per un programma di cifratura dati la sicurezza è tutto (in altre parole la certezza che nel software non esistano backdoor, tramite le quali sia possibile decodificare i dati anche in assenza della password), alcuni ritengono che un software Open Source, cioé con il codice sorgente liberamente consultabile da tutti, sia l'ideale per questo tipo di compito. Chiunque infatti -se ha la competenza necessaria- può osservare il codice e verificare che non siano presenti gravi vulnerabilità. I detrattori di questo ribattono che, proprio per la natura aperta del codice, è più facile che qualche malintenzionato ne scopra delle vulnerabilità e le utilizzi a suo vantaggio.
Con un programma a codice chiuso (praticamente tutti i software di cifratura a pagamento lo sono) non è possibile osservare il codice per trovarne delle vulnerabilità (o è possibile solo in misura minima), tuttavia è possibile che la società sviluppatrice del software aggiunga -per pressione di governi, enti governativi, ecc.- backdoor o simili. In questo caso ci si può solo fidare.
Come funziona un disco criptato
Ci sono due o tre tipi diversi di cifratura di un disco:
1) Si cripta direttamente un programma (o una cartella) creando un archivio con una password, come con WinZip, 7z o WinRar (o anche programmi come AxCrypt). E' il tipo di cifratura più semplice e diffusa. Se si aggiunge un file, anche piccolo, all'archivio, tutto l'archivio verrà riscritto (con archivi grandi non è una cosa per nulla pratica).
2) Si crea un volume/contenitore criptato. In questo caso si sceglie all'inizio la grandezza del volume (può essere grande quando vogliamo, anche decine o centinaia di GB) e lo si crea immediatamente. Il volume criptato verrà montato come un'unità del sistema (F:, G:, Z:, ecc.) ogni volta che lo si utilizza. Quando si aggiunge o cancella qualcosa in questo volume, solo quei dati verranno modificati: questo sistema è assai più pratico se si vuole utilizzare la cifratura con regolarità, rispetto a quello di tipo 1).
3) Si cripta un'intera partizione, o anche il volume di avvio del sistema (C:). Il funzionamento è identico a quello di tipo 2): viene prima criptata l'intera partizione e quando si aggiungerà o cancellerà qualcosa verranno modificati solo quei dati. Se qualcuno cercherà di accedere alla partizione senza la password, vedrà solo una serie di dati apparentemente casuali.
Nel caso si cripti il disco di avvio C:, si aggiunge un rischio ulteriore: se per caso un programma corrompe il sistema operativo e lo rende non più avviabile, in molti casi si dovrà prima decrittare tutta la partizione C: e successivamente tentare un ripristino.
Programmi per criptare
Tra i programmi in grado di criptare un programma o una cartella con una password troviamo tutti gli archiviatori (7z, WinRar, PeaZip, ecc.), così come tanti programmi specifici (Androsa File Protector, AxCrypt, Protectorion, ecc.).
I programmi gratuiti di tipo 2) e 3) sono invece molto più rari. Ricordo VeraCrypt, così come FreeOTFE (in grado -come TrueCrypt- di creare sia volumi criptati che partizioni criptate, ma che ha problemi con i sistemi a 64 bit) e DiskCryptor (in grado di creare partizioni criptate, ma non volumi criptati).
E per recuperare i dati criptati?
Se si ha un volume criptato con una password, ricordando la password è possibile comunque cercare di decrittare l'hard disk per recuperare i dati. Se per sicurezza ulteriore oltre alla password si è utilizzato anche un keyfile e si perde il keyfile, allora i dati saranno persi per sempre (anche se si conosce la password).
Essenzialmente i programmi di recupero password si basano su due tipo di tentivi di recupero: dizionario e forza bruta (nel primo caso vengono provati tutti i termini di un dizionario -di varie lingue- con le possibili varianti, nel secondo caso -molto più lungo- le passord vengono provate una per una).
Se si dimentica la password in un volume di TrueCrypt, esistono dei programmi in grado di tentare il recupero della stessa, come IGPRS (che utilizza anche la GPU per accelerare la ricerca); è bene però non farsi troppe illusioni, dal momento che se la password utilizzata era complessa sarà praticamente impossibile recuperarla.
I programmi di una volta utilizzavano solo la CPU per la decodifica di password, mentre i programmi più recenti utilizzano anche il processore della scheda video (GPU), il che ha permesso di aumentare la velocità di recupero di 10-15 volte (e anche più).
Se si vuole recuperare la password da un archivio criptato (.zip, .rar., .7z), esistono programmi specifici (crarK e Appnimi per citarne due tra i gratuiti, per arrivare a programmi professionali che possono costare anche mille o più euro come quelli della Passware o della Elcomsoft).
Come detto in precedenza, invece, se l'hard disk si rompe allora ci potranno essere diversi problemi per recuperare i dati (proporzionali al grado di rottura dell'hard disk).
Di quanto rallenta il pc con un'unità criptata ?
Con un processore moderno, nell'uso quotidiano con un Hard Disk tradizionale il pc non rallenta, perché la cpu è in grado di convertire i dati più in fretta di quanto l'hard disk riesca a scriverli.
Rallenta invece nei benchmark di unità SSD: la velocità di un'unità SSD criptata con TrueCrypt (misurata con un programma come CristalDiskMark) può essere inferiore anche del 30% rispetto alla stessa unità non criptata.
Con un processore vecchio di qualche anno, la velocità di tutto quello che riguarda lo scambio dati con l'hard disk (copia/lettura/spostamento file, ecc.) può peggiorare del 30% e oltre, perché il processore fa da freno alla lettura/scrittura dai sul disco rigido (peggio ancora in caso di SSD).
E la steganografia?
E' un ramo particolare della cifratura: lo scopo è quello di nascondere dei dati (possibilmente criptati) all'interno di un'immagine o di una traccia audio, di modo che all'apparenza ci si trovi di fronte ad una normale immagine o ad una traccia audio. Proprio per il tipo di cifratura è possibile nascondere solo brevi messaggi (altrimenti un occhio un po' esperto capisce immediatamente che c'è qualcosa che non va).
Esistono svariati programmi open source per la steganografia, tra i quali ricordo Silent Eye o Hide in Picture.