Nicola D'Agostino (.net) - Articoli, traduzioni, grafica, web

Applicando » La macchina Enigma

Alcune tra le principali soluzioni crittografiche disponibili per Macintosh, per i propri documenti e per una comunicazione (ragionevolmente) sicura in Rete. Situazioni tipo, esempi e software da conoscere.

di Nicola D’Agostino

Privacy o sicurezza; esprimersi senza rischi che ciò che si scrive venga usato contro di noi; scambiare dati sensibili, verificare l’identità di chi scrive, evitare falsi o manipolazioni. Queste sono solo alcune delle principali ragioni dietro all’uso della crittografia, che, al di là di battaglie e rivendicazioni di carattere civile e politico, è uno strumento utile e pratico.

Vediamo insieme i principali strumenti software per la protezione dei nostri dati in locale e per la crittografia applicata alla comunicazione con gli altri.

Crittografiamo i nostri dati

Lo strumento attualmente più diffuso e più immediato disponibile per criptare i nostri dati è "Utility Disco" fornita da Apple con tutte le versioni di Mac OS X (nelle versioni precedenti alla 10.3 bisogna cercare "Disk Copy").

Una delle funzioni meno note del programma è quella di poter impostare una protezione sulle immagini disco che creiamo, facendo in modo che solo noi (o qualcuno da noi autorizzato) possa accedere a dei dati specifici. L’uso è piuttosto semplice: al momento di creare una nuova immagine disco (Archivio->Nuova->Immagine Vuota), nella finestra di dialogo oltre al nome, alla dimensione ed al formato, tra le opzioni c’è "Criptatura", traduzione di Apple dell’inglese "Encryption", in cui si può scegliere tra "nessuna" e "AES-128 (raccomandato)". L’AES, acronimo che sta per Advanced Encryption Standard, è per la cronaca una tecnica di cifratura "forte" adottata a livello internazionale, ideata da Joan Daemen e Vincent Rijmen, due ricercatori belgi.

La finestra di dialogo di Disk Copy per la creazione di un'immagine crittata con AES

La procedura da seguire è in tutto e per tutto identica a quella per un’immagine disco normale tranne che per la richiesta di inserire in due campi (per verifica) una "frase chiave". In basso nella stessa finestra è possibile anche scegliere un’opzione per cui la o le parole segrete verranno ricordate dal sistema operativo mediante l’aggiunta al portachiavi. A questo punto l’immagine viene finalizzata e montata sulla nostra scrivania. Possiamo usarla normalmente inserendo dentro dei dati, con però la piccola differenza che in futuro, ad ogni apertura dell’immagine, il programma ci chiederà l’inserimento della parola d’ordine per rendere disponibile il contenuto. Utile per archiviare i conti delle finanze personali o dati relativi agli account. Volendo, chi ne ha bisogno può usare una di queste immagini per rimpiazzare la propria cartella "Documenti" o quella della posta. La funzionalità "File Vault" introdotta da Apple con Panther non è altro che un uso esteso e trasparente di questa tecnica: l’intera cartella "Inizio", la "home" dell’utente, viene messa su un’immagine disco criptata.

La richiesta di una 'frase chiave' (passphrase) e la possibilità di aggiungere le informazioni al portachiavi

Aggiungiamo per i più esperti che tutta la procedura è possibile anche tramite il Terminale usando l’utility "hdiutil" che è il corrispettivo a caratteri di "Utility Disco". Per l’uso del comando (e per dare una scorsa alle numerose opzioni disponibili) basta digitare al prompt "man hdiutil" seguito da invio.

Un passato poco noto.

La crittografia in ambiente Mac non è però una novità recente nè tanto meno una prerogativa di OS X. Ne è la dimostrazione Stego, uno storico programmino shareware che risale al 1993. Stego, creato da un’ex impiegata Apple, implementava più di dieci anni fa una tecnica di crittografia ancora molto attuale, detta Steganografia, che non si basa sull’uso di password ma che invece nasconde i dati sensibili all’interno di altri file, nel nostro caso immagini. Stego, tuttora scaricabile seppur limitato e curioso nell’iconografia, è un esperimento interessante e perfettamente funzionante anche con i sistemi attuali grazie all’ambiente di emulazione Classic di Mac OS X.

La schermata informativa dello storico programma di steganografia Stego

Oltre a Stego esistono e sono liberamente reperibili via Internet numerosi programmi e utility.
Citiamo tra questi MacLocksmith dell’italiano Rocco Moliterno o più recenti applicativi come Ciboulette, QuickEncrypt, Crypt2 e Squash, disponibili insieme a molti altri con una ricerca sui siti-archivio come Version Tracker e Macupdate.I programmi nominati, per quanto efficaci e semplici nel funzionamento hanno però un limite evidente: la password.

La storia della crittografia ha dimostrato che la segretezza dei dati è strettamente legata a quante persone sono informate dei fatti e nello specifico del metodo di cifratura usato. Il problema sta tutto nell’esigenza di fronte a cui ci troviamo. Finché i nostri dati riservati rimangono entro i confini del nostro disco, rivolti ad un uso da parte di una sola persona, possiamo stare relativamente tranquilli. Il problema sorge quando la crittografia è usata per scambiare informazioni tra due soggetti. Questi, oltre ai dati crittografati, dovranno scambiarsi la combinazione, la "chiave" e c’è il rischio concreto che, nella trasmissione, questa venga intercettata. Per ovviare a questo problema vengono in soccorso i sistemi di crittografia asimmetrici, detti anche "chiave pubblica".

Una crittografia abbastanza buona.

La crittografia asimmetrica permette di eliminare il problema dello scambio della chiave segreta, usata in gran parte dei programmi precedenti sia per cifrare che per decifrare i messaggi. La soluzione sta nell’adozione di un sistema a doppia chiave di cui una è usata solo per le operazioni di cifratura e l’altra solo per la decifrazione.

L'utente A spedisce un messaggio cifrato all'utente B usando la chiave pubblica di quest'ultimo che decifra il messaggio grazie alla sua chiave privata

L'utente A scrive all'utente B e autentica il contenuto del suo messaggio usando la propria chiave privata. L'utente B verifica l'autenticità usando la chiave pubblica di A

Se la seconda, detta "privata", è da custodire gelosamente, l’altra è la cosiddetta "chiave pubblica", pensata per essere distribuita liberamente. La chiave pubblica è funzionale ed al tempo stesso sicura: chiunque la può usare per interagire con noi (ad esempio codificare un testo da farci avere) ma al tempo stesso da essa non si possono ricavare informazioni utili per la decodifica del messaggio.

Il metodo delle chiavi pubblica e privata si è affermato grazie al lavoro del ricercatore Phil Zimmermann ideatore di un software chiamato PGP, acronimo che sta per "Pretty Good Privacy", privacy abbastanza buona. La solidità e fortuna del lavoro di Zimmermann e della sua soluzione crittografica è stata tale che l’autore ha passato ben tre anni a difendersi in tribunale dalle accuse del governo statunitense di aver diffuso uno strumento pericoloso e assimilabile (secono la legislazione nordamericana) ad un’arma.

Phil Zimmermann, in una posa scherzosa con un Macintosh poco dopo la sua vittoria legale contro le accuse di esportazione di armi causategli dalla diffusione del PGP

Non solo: con PGP le opzioni non si riducono all’inviare messaggi crittografati "ragionevolmente" segreti (per continuare sulla stessa vena di ironica modestia di Zimmermann) ma si può ad esempio anche "firmare" le mail inviate, garantendo l’autenticità del contenuto del testo e l’identità di chi lo invia.
PGP è multipiattaforma ed è da anni disponibile per Macintosh. Il software, che ha avuto una vita tribolata, è attualmente nelle mani della PGP Corporation e esiste sia per Mac OS X che per i sistemi precedenti, con una licenza che è gratuita per usi personali e a pagamento per quelli commerciali. All’indirizzo http://www.pgpi.org/products/pgp/versions/freeware/mac/ troviamo le versioni gratuite per l’uso personale per Mac OS X (versione 8) e per Mac OS 8 e 9 (versione 6.51).

PGP in azione.

PGP 8 per OS X, diponibile in inglese, è contenuta in un file .dmg che contiene un pacchetto da installare e qualche extra, riservato agli utilizzatori di Entourage.

Il contenuto del pacchetto freeware di PGP 8 per Mac OS X

Una volta completata l’installazione, l’icona di PGP, un lucchetto arancione, sarà presente nella cartella Applicazioni e nel dock. Appena lanciato, il programma ci avviserà che non trova il portachiavi con le nostre chiavi (pubblica e privata).

La schermata di PGP che chiede di fornirgli le chiavi o di crearne di nuove

Per crearle ex novo premeremo il pulsante "Create New Keyrings" e comparirà la finestra "PGPkeys", vuota. Poi dal menù in alto sceglieremo Keys->New e comparirà una serie di schermate che ci guideranno nella procedura.

Il primo passo della procedura guidata per la creazione di nuove chiavi pivate e pubbliche in PGP

Ci verrà chiesto il nostro nome (a piacimento) ed un indirizzo e-mail (vero e funzionante) e poi la scelta di una "passphrase", cioé di una frase che fa da parola d’ordine. La passphrase è molto importante e dovrebbe essere ragionevolmente difficile da indovinare (minimo 8 caratteri, contenente anche numeri, non ovvia) ma anche relativamente facile da ricordare. Se viene dimenticata, non sarà più possibile usare PGP o accedere ai testi crittati ricevuti e bisognerà creare un nuovo paio di chiavi associato ad un altro indirizzo di posta. Una volta digitata la frase dopo pochi secondi avremo le nostre chiavi virtuali nuove di zecca.

Le chiavi appena generate (nel nostro caso fittizie) compaiono nel portachiavi di PGP

A questo punto non resterà che comunicare al mondo l’esistenza di un nuovo utente PGP, spedendo e rendendo disponibile la nostra chiave pubblica su uno dei server che fanno da archivio e da garante per noi. Per fare ciò selezioneremo nella finestra "PGPkeys" la nostra chiave e poi dal menù sceglieremo Server->Send To->(una delle voci disponibili): qualche secondo un messaggio ci confermerà l’avvenuta ricezione.

La conferma della spedizione nuove chiavi al keyserver

Adesso possiamo già usare PGP in accoppiata con il nostro programma di posta preferito. Come decrittare un messaggio arrivatoci, codificato con la nostra chiave pubblica e firmato dal destinatario? Apriremo il messaggio e copieremo l’intero il testo crittato negli appunti, passeremo quindi a PGP e selezioneremo "Decrypt/Verify Clipboard" dal menù Mail oppure lo stesso dall’icona nel dock.

Decodifica di un messaggio e contemporanea verifica della firma del mittente con richiesta da parte di PGP dell'inserimento della passphrase

Il programma si collegherà al server e ci proporrà il destinatario (dobbiamo selezionare la voce relativa alle nostre chiavi) e ci chiederà la passphrase. Se non abbiamo sbagliato nulla le finestre si chiuderanno e negli appunti avremo il testo in chiaro. Per crittare o firmare un messaggio da spedire a qualcuno dovremo fare una procedura simile ma inversa. Copieremo il testo, passaremo a PGP dove sceglieremo da Mail->Encrypt (oppure Sign oppure entrambe) e poi selezioneremo la chiave pubblica del destinatario ed eventualmente la nostra per la "firma". Se il destinatario non è disponibile nella nostra finestra PGPkeys possiamo cercarlo su uno dei server tramite Server->Search.

Decodifica di un messaggio e contemporanea verifica della firma del mittente con richiesta da parte di PGP dell'inserimento della passphrase

La procedura appena descritta funziona ma può risultare un po’ macchinosa. Purtroppo la versione di Mac OS X manca di molti dei comodi plug-in ed aggiunte presenti invece in quella "vecchia" per Mac OS 9 e precedenti. Tali aggiunte permettevano di accedere alle funzioni direttamente da Eudora, Outlook e Claris Emailer velocizzando le operazioni.GPG: a guardia della privacy. E della trasparenza.Chi ha Mac OS X ed è interessato alla crittografia a chiave pubblica ha però un’altra possibilità. Negli ultimi anni, parallelamente a PGP, è nato GPG (GNU Privacy Guard), un’implementazione dello standard ideato da Zimmermann "libera", gratuita (anche per usi commerciali) e dal codice aperto. GPG è stato creato perché per un periodo PGP era disponibile solo come eseguibile, senza che si potesse accertarne la qualità del codice e la presenza o meno di interferenze anti-privacy.

La pagina web del progetto MacGPG, a differenza di PGP disponibile solo per Mac OS X

Il progetto GPG viene dagli ambienti del software libero ed è stato sviluppato principalmente per sistemi Unix: da qui ad una versione (solo) per Mac OS X, chiamata MacGPG il passo è stato breve. Nonostante in molti punti l’installazione e l’uso siano più complessi rispetto a PGP, MacGPG è un progetto valido in virtù di un maggiore aggiornamento, più trasparenza e sopratutto una localizzazione italiana e una migliore integrazione con i programmi di e-mail di OS X.

Procedura d'installazione della prima parte di MacGPG, il 'motore' crittografico GnuPG

Per installare MacGPG la procedura è la seguente. Dall’url macgpg.sourceforge.net bisogna scaricare ed installare il pacchetto GnuPG, disponibile per le ultime tre versioni di Mac OS X. Conclusa l’installazione si può passare al secondo pacchetto disponibile sul sito, GPGkeys, che serve a generare e gestire le chiavi. Scaricato e decompresso l’archivio, si può lanciare GPGKeys che si presenta sotto forma di una finestra orizzontale molto simile a quella di PGP.

La finestra orizzontale di GPGKeys, molto simile a quella di PGP

Se si dispone già di una propria coppia di chiavi, magari create in PGP, è possibile esportarle da quest’ultimo (dal menù Keys->Export) e poi importarle in GPGkeys (Archivio->Importa).

Altrimenti è possibile creare le proprie chiavi scegliendo dal menù Chiave->Genera.

La procedura di generazione di nuove chiavi in GPGKeys, con l'apertura del Terminale e prima parte delle domande sul tipo e sui settaggi

A questo punto si aprirà una finestra del Terminale che ci guiderà per mezzo di una serie di domande. Alla prima domanda, sul tipo di chiave che si va a creare, bisogna rispondere 1. Alla seconda, sulla "lunghezza" della chiave e cioé sulla complessità (e quindi sicurezza) della medesima, va bene rispondere sia 2 che 3. La domanda successiva è sulla durata, cioé se si vuole far scadere o meno la chiave: ciò garantisce maggiore sicurezza, ma non é molto pratico. A seguire vengono richiesti un nome e un’e-mail valida. Bisogna infine scegliere la passphrase e confermarla. Il programma creerà le chiavi di cui verrà stampato un resoconto e che appariranno dopo poco nella finestra di GPGKeys. A questo punto se vogliamo aggiungere la chiave pubblica di un destinatario possiamo cercarla su uno dei server, scegliendo dal menù Chiave->Cerca Chiave. L’ultimo pezzo é costituito da GPGFileTool, anche questo da scaricare dal sito ed installare: ci servirà per cifrare, decifrare, firmare i messaggi e verificare le firme dei nostri corrispondenti.

Ancora più semplice è l’utilizzo in congiunzione con programmi quali Eudora, Entourage, Mailsmith o Mail. Per i primi tre esistono degli script di automazione delle procedure i cui url sono in fondo alla pagina di MacGPG.

Con GPGMail in Mail di Apple è possibile scegliere se firmare o critografare ogni messaggio in uscita, così come l'identità e le chiavi da usare

Per Mail il trattamento è di favore: c’é il lodato GPGMail che si integra totalmente con il mailer di Apple e addirittura permette di impostare dalle preferenze una serie di comportamenti automatici alla ricezione di mail criptate o firmate.

Le aggiunte di GPGMail alle preferenze di Mail permettono di controllare e automatizzare gran parte delle operazioni di crittografia

PGP/GPG e… Apple?

Anche Apple fa uso di crittografia a chiave pubblica/privata.
Se si visita infatti la pagina www.info.apple.com/usen/security/security_pgp.html ci si troverà davanti alle istruzioni per comunicare in maniera criptata con Cupertino tra cui la chiave pubblica dell’azienda, definita "Apple Product Security key" (e rinnovata periodicamente di anno in anno) nonché le coordinate per reperire in rete sia il software PGP che GPG.

Una versione di questo articolo è stata pubblicata su "Applicando" n. 224 del dicembre 2004