Le informazioni che trasmettiamo via Internet non sono sicure. Pensiamo al caso più comune: quello che riguarda la spedizione di una e-mail. Prima di avviare a destinazione la nostra e-mail passa attraverso una “catena” più o meno lunga di computer collegati in Rete: è sufficiente che un malintenzionato la intercetti per leggerne il contenuto.
Quando è necessario spedire via Internet documenti importanti, per i quali è bene assicurarsi che venga conservata l’assoluta riservatezza, la soluzione migliore è quella di affidarsi ad appositi programmi che permettano di crittografare i propri dati. La crittografia è infatti una tecnica che permette di codificare le informazioni, di qualunque tipo esse siano, affinché solo le persone autorizzate possano entrarne in possesso. Le funzionalità standard per la protezione dei documenti (password di Microsoft Office, di WinZip, dei file PDF) sono facilmente aggirabili: gli algoritmi utilizzati offrono una protezione piuttosto scarsa (è sufficiente operare qualche ricerca in Rete per rendersene conto). Abbiamo scelto per voi tre programmi gratuiti – AxCrypt, Bfacs e GnuPG – che permettono di crittografare tutti i vostri file più importanti in sicurezza.
AxCrypt e Bfacs sono software che utilizzano la soluzione a chiave simmetrica mentre GnuPG, degno sostituto del più famoso PGP, adotta la soluzione a chiave pubblica.
Chiave simmetrica e chiave pubblica
La crittografia è la scienza che si occupa di proteggere delle informazioni rendendole incomprensibili a chi le dovesse intercettare, in modo che possano essere lette e comprese solo dal destinatario. Il testo “in chiaro” (ossia il messaggio originale da proteggere) viene opportunamente trasformato (cifrato) con un apposito “algoritmo di cifratura” in modo da risultare incomprensibile. Questo passaggio richiede un parametro indispensabile: una chiave (una password, una parola segreta). La trasformazione da messaggio in chiaro a messaggio cifrato è soltanto un procedimento che, per essere attuato, necessita di un’ulteriore informazione (la chiave) dalla quale dipende fortemente il risultato. Per decifrare il messaggio non basta conoscere, quindi, l’algoritmo di cifratura utilizzato, ma è necessaria anche la chiave. In genere nello studio degli algoritmi crittografici e della loro sicurezza si ipotizza che l’algoritmo sia noto a tutti e che ciò che non è noto sia esclusivamente la chiave: questo perché oggi si considera inaffidabile un sistema crittografico la cui sicurezza si basi sulla segretezza dell’algoritmo. I sistemi crittografici tradizionali impiegano una chiave segreta, nota solo a mittente e destinatario, necessaria sia per cifrare che per decifrare il messaggio originale. In questo caso si parla di crittografia a chiave simmetrica (utilizzata in programmi come AxCrypt e Bfacs). Un noto algoritmo di questo tipo è il DES (Data Encryption Standard). Tutto funziona perfettamente ma c’è un problema di fondo che riguarda la distribuzione delle chiavi: nel caso della crittografia a chiave simmetrica, infatti, mittente e destinatario debbono accordarsi in qualche modo sulla chiave, per esempio, vedendosi di persona. Pensiamo al caso di un’e-mail: supponiamo di aver cifrato un file e di spedirlo ad un nostro contatto. Questi, se non conosce la chiave, non sarà in grado di decifrare il file. Ma non è possibile, per ovvi motivi, inviare la chiave – nella stessa e-mail – insieme con il file cifrato (è necessario mettersi d’accordo sulla chiave usando altri canali).
Il problema è stato risolto negli anni settanta con l’invenzione della crittografia a chiave pubblica. In questo caso ogni interlocutore deve disporre di due chiavi: una pubblica (da distribuire a tutti coloro con cui si desidera comunicare) ed una privata (da mantenere segreta). Un messaggio cifrato con una certa chiave pubblica (chiunque può cifrare con la chiave pubblica di un’altra persona) può però essere decifrato solo con la chiave privata corrispondente (ossia solo dal proprietario della chiave pubblica con la quale un messaggio è stato cifrato). All’atto pratico, per comunicare con una persona in modo sicuro è sufficiente cifrare il messaggio originale con la sua chiave pubblica e spedirglielo. Costui (e solo lui) sarà in grado di decifrare il messaggio ricorrendo all’uso della propria chiave privata. L’algoritmo a chiave pubblica (asimmetrica) più noto è forse RSA. Programmi come PGP e GnuPG fanno uso proprio della crittografia a chiave pubblica.
Usare AxCrypt e BFacs: chiave simmetrica
Il punto di forza di AxCrypt è certamente la facilità d’uso e la leggerezza (pesa appena 300 KB): per installare il programma è sufficiente fare doppio clic sull’eseguibile. Alla fine della procedura, AxCrypt ricorda che per cifrare un file basta fare clic col tasto destro del mouse su di esso e scegliere il comando AxCrypt, Cifrare. In questo caso è necessario inserire una password a protezione dell’archivio (dovrà essere digitata due volte, per motivi di sicurezza). Come più volte abbiamo già sottolineato, la password scelta deve essere adeguatamente complessa. Esistono infatti numerosi software che utilizzando attacchi brute force (sono in grado di provare migliaia di password al secondo) o dictionary attack (provano ad utilizzare parole di uso comune) riescono a scovare, in tempi rapidi, le password più semplici. Il consiglio è quindi quello di scegliere una password che contenga lettere, numeri e magari anche qualche carattere speciale. Una password composta di sole lettere può considerata adeguata se lunga almeno 22 caratteri; una invece quale W_x75mT8
(composta di soli 8 caratteri) è considerabile già sicura.
Cliccando su OK, i file selezionati verranno automaticamente cifrati, a ciascuno di essi verrà aggiunta l’estensione .axx ed attribuita l’icona propria di AxCrypt. A questo punto, il contenuto di ciascun file cifrato sarà consultabile unicamente da coloro che sono a conoscenza della password scelta in precedenza.
Per decifrare un file .axx è sufficiente fare doppio clic su di esso oppure scegliere il comando Decifrare contenuto nel menù contestuale (il menù che compare usando il tasto destro del mouse). L’opzione Apri consente di visualizzare il contenuto del file senza doverlo decifrare (in questo modo si eviterà, per esempio, di cifrare nuovamente il documento). E’ importante evidenziare che AxCrypt conserva in memoria le password utilizzate per cifrare e decifrare i vari file (se avete un insieme di file protetti con la medesima password, il programma eviterà così di doverla riscrivere ogni volta). Spegnendo o riavviando il sistema, ovviamente, tali password andranno perse tuttavia, qualora vi allontanaste per qualche minuto dal personal computer, qualche utente potrebbe approfittarne per aver accesso ai vostri file cifrati. Per ripulire la “cache” delle password è sufficiente cliccare su un qualsiasi file quindi selezionare, dal menù di AxCrypt, il comando Elimina la memoria delle password. La voce Cancella e rimuove completamente (attivabile su qualunque file memorizzato su disco) consente di sovrascrivere più volte il file selezionato in modo da renderne impossibile il recupero (wiping; ved. più avanti) da parte di utenti interessati a visionare i vostri dati. Come ciliegina sulla torta, potete copiarvi tutto il contenuto della cartella di AxCrypt su un semplice floppy disk: in questo modo potrete utilizzare il programma ovunque vi troviate, senza dover avviare l’installazione.
Anche Bfacs è un programma open source, gratuito, molto leggero (può essere anch’esso memorizzato su floppy) che consente di crittografare file con numerosi algoritmi (tra i quali Blowfish, Twofish, Rijndael, Cobra128, CAST, Idea, Mars, PC1, triple-DES) e di effettuare anche la cancellazione sicura di file e cartelle (wiping). Il menù Tools, Options, permette di configurare tutte le impostazioni chiave di BFacs. La scheda Security consente di selezionare l’algoritmo da usare per crittografare i dati (Encrypt Algorithm) e quello per la cancellazione sicura dei dati (Wipe Method).
Cliccate sulla scheda Miscellaneous. Noi consigliamo di attivare le caselle Associate file types e Context menu extensions quindi di premere il pulsante Update. In questo modo, Windows sarà in grado di riconoscere i file crittografati con BFacs (estensione bfa) e di consentirne l’apertura con lo stesso programma. Inoltre, la seconda opzione permetterà di integrare le funzionalità di crittografia di BFacs nella shell di Windows. Sempre all’interno della scheda Miscellaneous, è possibile – agendo sul pulsante Make key disk – creare un floppy disk chiave: anziché associare manualmente una password di nostra scelta ad un file crittografato, può farlo BFacs facendo uso di una chiave generata in modo del tutto casuale (quindi impossibile da identificare). Tale chiave viene memorizzata su un floppy disk. Attenzione però: conservate il floppy in un luogo sicuro e createne più copie in modo da scongiurare la possibilità che, con il tempo, si danneggi. Senza il floppy disk chiave vi sarà infatti impossibile recuperare i vostri dati! Nella finestra successiva scegliete la grandezza della chiave (valore predefinito: 32 bit) e muovete ripetutamente il mouse per circa un minuto.
Una volta generata la chiave potete crittografare un qualunque file usando la funzione File, Encrypt. Per usare il disco fisso spuntate la casella Use key disk, in caso contrario è necessario specificare manualmente una password.
GnuPG: crittografia a chiave pubblica
A differenza dei software sin qui presentati, GnuPG utilizza un approccio differente basato sulla crittografia a chiave pubblica (asimmetrica). Il programma è stato sviluppato per funzionare unicamente da riga di comando rendendone l’utilizzo piuttosto scomodo e difficoltoso. Fortunatamente è stata successivamente rilasciato GPGshell, un’interfaccia che permette di interagire con GnuPG da ambiente Windows. Supponiamo di aver estratto i file contenuti nell’archivio di GnuPG all’interno della cartella C:\GnuPG_temp
. Avviando il setup di GPGshell, viene richiesta la cartella d’installazione (esempio: C:\GPGshell
) quindi viene visualizzata la finestra Select components. Spuntate, dall’elenco, la voce Default language: Italian: in questo modo l’intero programma verrà “tradotto” in italiano. Dopo il riavvio del personal computer, richiesto al termine dell’installazione, verrà mostrata una finestra di dialogo: il programma proporrà di utilizzare la cartella specificata come “home directory”. Premete il pulsante Sì.
Nella finestra successiva cliccate sul pulsante Installa GnuPG dalla distribuzione ufficiale in formato ZIP. Nella casella Cartella in cui è stato estratto l’archivio ZIP, è necessario specificare la cartella ove avete estratto i file di GnuPG (nel nostro caso, C:\GnuPG_temp
). Nel box Cartella in cui sarà creata la vostra GnuPG-HomeDir indicate C:\GnuPG
, premete il pulsante Avanti quindi OK. Apparirà una finestra DOS: premete un tasto qualunque per continuare.
Cliccate, a questo punto, su Start, Programmi, GPGshell, GPGtray. Facendo clic con il tasto destro sull’icona raffigurante un lucchetto di colore verde (mostrato nella traybar di Windows) si accederà ad un menù popolato di numerose voci. Per creare la vostra prima chiave con GPGshell, cliccate su Avvia, GPGkeys e rispondete Sì alla visualizzazione del message box. Comparirà una finestra DOS ove si richiede quale tipo di chiave deve essere creato. Premete il tasto 1 quindi Invio per scegliere l’opzione di default. Sarà quindi necessario specificare la dimensione della chiave in bits (esempio 768, 1024, 2048, 4096): 2048 è più che sufficiente. Successivamente, digitando il tasto 0, la chiave creata non avrà una scadenza. Infine, è possibile indicare il vostro nome, l’indirizzo e-mail ed un commento. Per confermare le vostre scelte premete il tasto “O” quindi Invio. Come ultimo passo, è necessario inserire una parola chiave (passphrase). Al solito, usate una password abbastanza lunga e complessa. Dopo aver digitato nuovamente la passphrase, inizierà la generazione della vostra chiave (durante il processo è bene muovere ripetutamente il mouse, aprire file e cartelle: in questo modo renderete la chiave generata ancor più “casuale”). Nella finestra di GPGkeys troverete la chiave appena creata: cliccando con il tasto destro del mouse su di essa accederete a tutta una lista di funzioni. Cliccando su Esporta, ad esempio, potete memorizzare in formato testo, sul disco fisso, sia la vostra chiave pubblica (da inviare a tutti i vostri interlocutori) sia la vostra chiave privata. Per aggiungere la chiave pubblica comunicatavi da un vostro contatto, fate riferimento al comando Importa contenuto nel menù Chiave/i.
Supponiamo di voler cifrare un messaggio contenuto in una finestra: fate clic con il tasto destro del mouse sull’icona di GPGshell nella traybar, selezionate Finestra corrente, Cifra. GPGshell mostrerà l’elenco delle chiavi a vostra disposizione: scegliete il destinatario del messaggio cifrato e premete OK. Il testo contenuto nella finestra selezionata verrà automaticamente cifrato. Potete ora inviarlo in modo sicuro via e-mail. Per decifrare un testo o un file è necessario usare l’apposita funzione accessibile dal menù di GPGtray.
Concludiamo evidenziando come tutti i file memorizzati sul disco fisso, anche quando vengono eliminati utilizzando i comandi “tradizionali” messi a disposizione dal sistema operativo, continuino a lasciare delle tracce sul disco fisso. Sarebbe inutile, quindi, cifrare un file su disco fisso (per esempio, con chiave simmetrica) se il file originale, non cifrato, può in qualche modo essere recuperato. Molto spesso, infatti, nel caso in cui la cancellazione di un file sia avvenuta di recente, è possibile recuperarlo completamente facendo uso di apposite utilità (alcuni esempi? Le utilità EasyRecovery di OnTrack e PCInspector File Recovery).
BFacs mette a disposizione una interessante funzione che consente di impedire il recupero delle informazioni memorizzate in passato sul disco. In questo modo è possibile evitare che un malintenzionato possa recuperare documenti personali già eliminati. Per avviare l’operazione di wiping è sufficiente accedere al menù Tools, Clear empty disk space. In alternativa, vi proponiamo tre interessanti software. Sure Delete</b< si compone di due moduli separati – SD Disk e SD File -: l’uno permette di rendere non più recuperabili file cancellati in precedenza (ciò è possibile sovrascrivendo più volte tutti i cluster del disco marcati come spazio libero), l’altro consente di cancellare file e cartelle in modo sicuro impedendone da subito eventuali successivi tentativi di ripristino. Il software risulta di immediato utilizzo, grazie ai wizard che guidano passo-passo l’utente. Sure Delete propone l’algoritmo SFS (Gutmann) mentre per un utilizzo normale ci si può accontentare di un DoD Method a tre passate.
Ultrawipe vuol distinguersi dalla “concorrenza” offrendo funzionalità per la pulizia dai file temporanei e da “file-spazzatura”, oltre al wiping standard.
Eraser consente addirittura di creare un Nuke Book Disk per provvedere al wiping dell’intero disco fisso (utile qualora si dovesse consegnare l’hard disk a terzi, in modo che questi non possano recuperare le vostre informazioni personali).