Se avete seguito le ultime notizie, vi saranno certamente giunte all’orecchio un sacco di storie di persone che hanno avuto problemi di privacy, furto d’informazioni o spionaggio. Dato che la maggior parte delle comunicazioni avviene online o per lo meno in formato elettronico, dovreste già essere consapevoli di quanto sia importante proteggere le informazioni di valore. E non vale solo per le grandi aziende, ma per tutte quelle persone che usano regolarmente un computer. Sicuramente avrete delle informazioni che volete mantenere private e protette; con PGP, potete aggiungere un filtro di sicurezza forte e facile da usare per tutte le comunicazioni online.
Pretty Good Privacy (PGP), creato da Phil Zimmermann, è un programma che può essere usato per proteggere la privacy, per aggiungere un filtro di sicurezza alle comunicazioni e per dare autenticità ai messaggi in formato elettronico. Potete criptare ogni informazione privata e personale (sia che si tratti di e-mail, file o un intero hard-disk) rendendo difficile intercettare o rubare i contenuti originali delle comunicazioni a persone non autorizzate. Inoltre, offre una funzionalità chiamata “firma digitale”, che vi permette d’inviare messaggi verificabili dal ricevente, dandogli la sicurezza che il messaggio non è stato modificato durante il processo d’invio e che siete gli unici mittenti. Immaginiamo un mondo in cui ognuno firma i propri messaggi; in questo modo sarebbe molto difficile portare a termine un attacco di phishing. Anche le altre forme di frode o le mail contraffatte che riceviamo tutti i giorni scomparirebbero, perché ai criminali non converebbe più investire in un attacco che dà pochi frutti.
Sono passati più di 20 anni da quando è stato creato PGP e sono stati fatti molti passi in avanti da quei giorni. All’inizio, Zimmermann fu indagato dal governo degli Stati Uniti per aver “esportato ‘munizioni’ senza licenza”, dato che i prodotti di crittografia che superavano i 40 bit (PGP era un prodotto a 128 bit) erano considerati “munizioni”. Sebbene il caso venne chiuso e Zimmerman prosciolto dai capi di accusa, questo “incidente” mostrò quanto potesse essere potente uno strumento di crittografia, dato che alcuni importanti investitori avevano molto interesse nel mantenerlo sotto la propria supervisione.
Alla fine, la versione completa di PGP, con un forte sistema di crittografia, è stata resa disponibile a tutto il mondo. Free Software Foundation ha sviluppato un suo proprio programma, un’implementazione dello standard OpenPGP, chiamato GNU Privacy Guard (abbreviato GnuPG o GPG). GnuPG è gratuito, offre librerie, permette di cifrare e firmare digitalmente i propri dati e le proprie comunicazioni. S’integra facilmente con molte GUI (Graphical User Interfaces) ed è disponibile per un ampio ventaglio di sistemi operativi. PGP può essere usato da tutti e con facilità.
Dato che il codice sorgente di PGP è disponibile per il download, può essere esaminato per verificare la presenza di bug e backdoor o anche solo essere studiato. Nel caso non siate proprio ferrati in materia, c’è comunque una community di esperti (che non ha alcuna relazione con governi o aziende) che esamina continuamente il codice sorgente; in questo modo, PGP non subisce interventi ad opera di terze parti. Si tratta di un aspetto molto importante, soprattutto dopo alcune ultime rivelazioni secondo le quali alcune importanti agenzie per la sicurezza hanno provato a eludere la crittografia per i protocolli moderni di comunicazione.
A questo punto, molto probabilmente vorrete provare PGP/GPG e vedere se fa al caso vostro. Nella crittografia asimmetrica si ha bisogno di due chiavi separate, una privata (per la decifrazione o la firma digitale) e una pubblica (per criptare il testo in chiaro del messaggio o per verificare la firma digitale). Tranquilli, non è necessario capire tutto subito, man mano che prendete dimestichezza con il programma diverrete sempre più esperti. In ogni caso, in questo articolo vi daremo qualche nozione di base sulla crittografia delle chiavi pubbliche così saprete già qualcosa quando comincerete a usare tutti gli strumenti disponibili per il vostro sistema operativo.
Per chiave s’intende una stringa di testo alfanumerico; essa può essere esportata a un file o caricata su un server che custodisce altre chiavi. In questo modo potete condividerla con tutti (si tratta della chiave pubblica). Questa particolare chiave viene generata da PGP mediante una vasta gamma di algoritmi per la crittografia. Bisogna ricordare che entrambe le chiavi (pubblica e privata) sono matematicamente collegate all’algoritmo; per questo motivo è possibile condividerne una parte senza compromettere la sicurezza del sistema.
Non ci sono scuse per non provare PGP/GPG: tutti gli strumenti sono disponibili per i sistemi operativi principali. Come già abbiamo accennato, ci sono strumeni specifici per ogni sistema operativo. Ad esempio, per Mac OS X esiste GP Suite, che comprende un plugin per Apple Mail, una keychain per gestire tutte le chiavi, e funzionalità per criptare/decifrare/firmare e verificare testi, file e altro. Inoltre, c’è anche MacGPG, la versione equivalente di GnuPG. Per gli utenti Windows c’è GPG4Win, che comprende una porta per GnuPG, una keychain, plugin per i principali client di posta elettronica e tutto quanto serve per cominciare.
Da non sottovalutare un aspetto: la sicurezza della chiave non solo dipende dalla passphrase che si usa per crearla, ma anche da come si custodisce la chiave. Se qualcuno all’infuori di voi riuscisse ad avere accesso al vostro file con le chiavi e alla passphrase (ad esempio attraverso un keylogger), l’intero sistema di sicurezza verrebbe seriamente compromesso. È di fondamentale importanza, quindi, non consegnare ad altri la propria chiave privata; inoltre vi consigliamo di scegliere una passphrase che solo voi possiate ricordare ma che nel frattempo non sia facilmente decifrabile.
Quando si crea una nuova coppia di chiavi con PGP, bisogna scegliere una lunghezza adeguata della chiave e una passphrase che protegga la chiave privata. Maggiore è la lunghezza della chiave, maggiore sarà il tempo necessario per il processo di generazione della stessa. Tuttavia, dal momento che si tratta di un’operazione da fare una volta sola, vi consigliamo di scegliere una lunghezza di almento 4096 bit. Per una sicurezza a più lungo termine, l’ideale sarebbe una lunghezza di 8192 bit, anche se ci vorrà un pochino e quindi vi toccherà essere pazienti. In ogni caso, il processo di generazione delle chiavi è diverso per PGP e GPG.
Perché è così importante scegliere una lunghezza adeguata della chiave e una passphrase forte? Mettiamo il caso che qualcuno riesca ad accedere alla vostra keychain e a ottenere una copia del file contenente la chiave privata. Se questa persona non conosce la passphrase, un modo per craccare la chiave sarebbe attaccare direttamente il sistema di crittografia; con la lunghezza della chiave consigliata (4096 o 8192 bit), ci vorrebbe troppo tempo e comunque, con le tecnologie ora a disposizione, probabilmente il malintenzionato neanche ci potrebbe riuscire. Eventualmente si può pensare a un attacco a dizionario o a un attacco di forza bruta, per trovare una corrispondenza con la passphrase scelta per proteggere la chiave. La seconda opzione è sicuramente la più plausibile e la più diretta. In definitiva, creando una chiave privata lunga, viene scoraggiato qualsiasi tentativo di attacco.
Una volta ottenuta la vostra coppia di chiavi PGP, potete procedere in questo modo: date a tutti la chiave pubblica, scrivetela ad esempio in calce alle vostre email dove si trova la firma, oppure comunicatela agli amici che vi scrivono più spesso. Anche loro devono utilizzare un sistema simile PGP/GPG per criptare i loro messaggi inserendo la vostra chiave pubblica. Nessuna persona esterna potrebbe decifrare il messaggio, è impossibile farlo disponendo solo della chiave pubblica. Solo voi, con la vostra chiave privata, potrete decifrare il contenuto. Per rispondere al messaggio in forma criptata, dovrete utilizzare la chiave pubblica del vostro amico. Il meccanismo della firma digitale è esattamente l’opposto: quando inviate il messaggio, viene “firmare” con la vostra chiave privata e chiunque potrà verificare l’autenticità del messaggio mediante la vostra chiave pubblica. All’inizio può sembrare un po’ complicato; tuttavia, configurando adeguatamente il client di posta elettronica, alla fine è una questione di un paio di click:
Riassumendo, abbiamo visto le difficoltà iniziali che ha dovuto affrontare PGP; in seguito, abbiamo fatto un breve excursus delle ragioni che hanno portato alla creazione di questo sistema e infine vi abbiamo dato un paio di consigli. Speriamo che questo articolo vi spinga a provare PGP e che poi decidiate di adottarlo per criptare o firmare file e dati. Tutti dobbiamo occuparci di salvaguardare la nostra privacy nel migliore dei modi, soprattutto oggi che il mondo virtuale ha assunto grande importanza nelle nostre vite. Alcuni strumenti come PGP ci rendono la vita più facile, e la loro fondamentale importanza si apprezza nel tempo.
I governi e le agenzie di sicurezza basano la loro stessa esistenza sulla privacy, così come anche i cybercriminali. Cosa può fare un utente comune? Un tempo, prima di PGP, solo con ingenti somme di denaro si potevano ottenere sistemi di crittografia sofisticati del livello militare. Prima l’utente comune non aveva un sistema per salvaguardare le proprie comunicazioni o informazioni, né c’era interesse per l’argomento. Questa mancanza è stata colmata da PGP e per fortuna, anche dopo vent’anni, questo programma si rivela il sistema migliore per proteggere la nostra privacy e la nostra libertà.