Privacy elettronica in pratica
di Marco A. Calamari


Dopo le molte informazioni che sono state pubblicate riguardo alla crittografia applicata al mondo delle comunicazioni e della telematica (si veda a proposito della situazione attuale l'ultimo intervento di Philippe Queau sul numero di Dicembre '94 di Virtual), è giunto il momento di mettere in pratica, almeno per coloro che usano realmente la posta elettronica, l'utilizzo delle tecniche crittografiche. Esiste infatti un software freeeware, PGP (Pretty Good Privacy - riservatezza piuttosto buona), che permette a coloro che sentono il problema della riservatezza delle proprie comunicazioni, di tutelarla con mezzi praticamente inattaccabili.

Questa introduzione, che riassumerà i punti principali del problema della crittografia applicata alla telematica, sarà quindi molto schematica, pretendendo di offrire una completa panoramica dei punti salienti e fornendo i mezzi per porre rapidamente in pratica quanto esposto.

Perché può essere necessario utilizzare le tecniche crittografiche ? Un messaggio di posta elettronica offre la stessa privacy di una cartolina; chiunque si trovi sulla rete di comunicazione o sui computer attraversati da essa può leggere il contenuto di qualunque mail. Una E-mail è poi ancora più alterabile di una cartolina; è semplice per un intercettatore alterare il messaggio, sopprimerlo od addirittura creare un messaggio nuovo a vostro nome.

È quindi necessario risolvere tre problemi

1) Garantire che il messaggio possa essere letto solo dal destinatario (riservatezza).

2) Garantire che il destinatario sia sicuro che il messaggio proviene dal mittente e che non è stato alterato (firma).

3) Permettere di gestire in maniera semplice l'affidabilità di tutti i corrispondenti coinvolti (fiducia).

Il programma Pgp offre strumenti per risolvere tutti questi problemi, a seconda delle varie esigenze; può essere infatti necessario firmare una E-mail lasciando il testo in chiaro, oppure crittografarla senza firmarla, od infine fare tutte e due le cose insieme. Si noti che Pgp non è un programma di posta elettronica, ma solo un accessorio per elaborare i messaggi; questi ultimi al limite potrebbero poi essere trasmessi anche con un semplice dischetto!

Come posso procurarmi il programma per la mia macchina ? Pgp esiste per tutte le principali piattaforme (Pc, Mac, Unix) anche a livello di codice sorgente, è assolutamente compatibile tra piattaforme diverse e può essere scaricato da vari siti Internet via anonymous ftp (ad esempio dal nodo ftp.informatik.uni-hamburg.de, directory pub/pgp, file pgp261.zip). Per note ragioni di ordine legale, che non ripetiamo in questa sede, è reato per un cittadino americano esportarlo dagli Stati Uniti; è questo il motivo per cui è molto più facile trovarlo nei siti Internet fuori dagli USA.

Dopo averlo scaricato, il file deve essere decompresso con il classico Pkunzip (ci riferiamo qui alla versione per Pc, ma lo stesso è vero con poche modifiche anche per le altre piattaforme). Tenete presente che è perfettamente inutile avere un sofisticato ed inattaccabile sistema di crittografia se poi lo si compromette lasciando in giro i testi in chiaro o copie della vostra chiave privata, anche come file cancellati sull'hard disk (che possono essere facilmente recuperati da malintenzionati). Per questo motivo è consigliabile conservare ed utilizzare Pgp su di un unico floppy, con una copia di sicurezza ben custodita da qualche altra parte.

Per prima cosa devono essere generate una tantum le chiavi personali, pubblica e privata; per far questo, dopo esservi posizionati nella directory in cui avete decompresso il file, dovete lanciare il comando

pgp -kg

il programma vi chiederà la lunghezza della chiave da usare (1024 byte è quella più sicura), il vostro identificativo (completo di indirizzo di E-mail), una frase di riconoscimento per l'accesso, ed infine di generare alcuni bit random tamburellando sulla tastiera. Al termine del processo il programma avrà generato due file pubring.pgp e secring.pgp (letteralmente portachiavi pubblico e segreto) che conterranno in forma binaria le chiavi pubblica e privata. La frase di riconoscimento vi verrà chiesta automaticamente dal programma tutte le volte che verrà compiuta una operazione che richiede riservatezza.

Ricordate, voi siete voi solo se sapete (a memoria) la frase di riconoscimento; essa deve essere scelta non banale e facilmente memorizzabile (all'occorrenza può anche essere modificata).

Poi è necessario creare una copia leggibile e trasmettibile della vostra chiave pubblica, con il comando

pgp -kxa il_vostro_nome pubblica.asc pubring.pgp 

che creerà il file pubblica.asc, che dovrà essere trasmesso a tutti i vostri corrispondenti, ed a cui deve essere data la massima pubblicità; c'è la possibilità di inserirla in uno dei key server esistenti (computer che forniscono a richiesta le chiavi pubbliche registrate), insieme a quelle di Clinton e Gore. Per fare questo ottenere le istruzioni relative mandando una mail con la parola "help" nel soggetto e nella prima riga di testo al mail-server pgp-public-keys@pgp.mit.edu.

Ora è necessario inserire altre chiavi pubbliche nel vostro file pubring.pgp; alcune chiavi, comprese quella dell'autore di Pgp, sono nel file keys.asc

pgp -ka keys.asc pubring.pgp

con lo stesso comando dovrete inserire poi le chiavi dei vostri corrispondenti abituali.

Adesso è il momento di preparare una mail di prova (nel file prova.txt), e di decidere se crittografarla senza firmarla, col comando

pgp -ea prova.txt nome_del_ricevente

oppure firmarla senza crittografarla con il comando

pgp -sa prova.txt

oppure fare ambedue le cose con il comando

pgp -esa prova.txt nome_del_ricevente

in ogni caso verrà prodotto il file prova.asc contenente il messaggio elaborato.

Questo messaggio verrà poi trasmesso con i consueti mezzi telematici.

Supponiamo ora che siate voi i destinatari del file prova.asc; il vostro lavoro è molto più semplice di quello del mittente. Infatti, posto che abbiate la chiave pubblica del mittente nel vostro pubring.pgp tutto quello che dovete fare è dare il comando

pgp prova.asc

penserà poi il programma a compiere le operazioni necessarie cioè darvi conferma dell'integrità del messaggio e dell'identità del mittente e/o salvare in chiaro (nel file prova.) il contenuto del messaggio.

Tutto chiaro fino qui ? Abbiamo in realtà risolto solo i primi due problemi posti all'inizio, ci resta il più banale e noioso, ma che è in realtà la chiave per la gestione efficace della comunicazione privata; la gestione della fiducia fra i corrispondenti.

Nel caso più semplice, quello cioè in cui la comunicazione avviene solo fra utenti che si conoscono e che si sono personalmente scambiate le loro rispettive chiavi pubbliche la fiducia è assoluta, ma cosa avviene se riceviamo una mail firmata da una persona di cui non abbiamo la chiave e/o che non conosciamo di persona (è il caso certamente più probabile) ?

Altri programmi di crittografia (come ad esempio Ripem) richiedono l'esistenza di una autorità centrale di certificazione delle chiavi, che si assume l'onere di gestire la segretezza delle stesse e di assicurare a tutti la corrispondenza fra chiave e identità del possessore; è ovvio che questo sistema, che deve riscuotere la fiducia di tutti è il punto debole dell'intera catena.

Esiste un'alternativa ? Si, il sistema della rete di affidabilità (web trust) implementato in Pgp. Il suo funzionamento è semplice; quando incontriamo una persona di cui riscuotiamo la fiducia, ci facciamo certificare la nostra chiave pubblica.

In pratica gliela forniamo in un file (generato come precedentemente mostrato) miapub.txt; questa persona ce la certificherà eseguendo, con la sua copia di Pgp, i seguenti comandi

pgp -ka miapub.txt 
pgp -ks il_mio_nome -u il_suo_nome 
pgp -kxa il_mio_nome miapubce.asc

Il file miapubce.asc verrà poi da noi utilizzato come nuova chiave pubblica, inserito nel nostro file pubring.pgp, e pubblicizzato al posto del precedente.

Chi riceverà poi una nostra mail, anche se non ci conosce personalmente, potrà fidarsi della nostra firma se si fida di quella di chi ce l'ha certificata; quindi per avere una chiave autorevole è necessario farla certificare dal maggior nomero possibile di persone ben note sulla rete e fuori (le certificazioni di Di Pietro, Berlusconi, Bill Gates, Giovanni Paolo II e Bill Clinton sarebbero probabilmente sufficienti per essere giudicati immediatamente attendibili).

Si noti comunque che la certificazione di una chiave prova solo che quella chiave corrisponde proprio alla persona fisica nota con quel nome, e non che la persona merita la nostra stima od è onesta e leale. È comunque consigliabile che ognuno certifichi solo le firme di persone che conosce, e questo possibilmente durante un incontro non telematico ma personale, telefonico od epistolare, al fine di mantenere l'integrità del sistema della rete di affidabilità.

In ogni caso, Pgp fornisce anche un metodo per valutare il "peso" delle certificazioni possedute da una chiave; per maggiori dettagli rimandiamo alla lettura dell'ottimo manuale fornito in forma elettronica insieme al software.

Una parola di lode merita l'autore del programma, lo statunitense Philip R. Zimmermann, che, per il fatto di aver fornito la comunità Internet di un valido strumento per la tutela dell'individuo, sta passando i guai suoi negli Stati Uniti, essendo sotto indagine per la (laggiù) gravissima accusa di esportazione di sofware strategico; il manuale fornisce anche le indicazioni su come dargli (se lo si ritiene utile) un aiuto. Chi desideri maggiori particolari può trovare informazioni ai seguenti URL:

Philip Zimmermann Legal defense fund (http://www.fv.com/pzldf.html)

War on the Internet (http://www.netresponse.com:80/zldf/)

In attesa che questi metodi vengano integrati nei normali sistemi di posta elettronica, rendendo la vita più semplice a tutti, in caso di problemi connessi all'uso di Pgp (e solo dopo un'attenta lettura dei manuali!) l'autore di questa miniguida può essere contattato all'indirizzo marcoc@dada.it.

Coloro invece che fossero pronti per un ulteriore passo, possono cimentarsi nello scaricamento di Pgp versione 3.0 (dovrebbe ormai essere disponibile per quando leggerete questo articolo), oppure provare ad installare le interfacce grafiche disponibili per "umanizzare" Pgp.

In quest'ultimo caso fate un search, utilizzando i nomi Winpgp oppure Privete Idaho, sul vostro Web search engine od Archie preferito.

Se l'argomento interessera' piu' di zero netsurfer, la prossima puntata si intitolerà "Johnny Mnemonics survival guide, ovvero come e perché Netscape Navigator registra a loro insaputa tutti gli utenti quando viene lanciato per la prima volta. E' giusto oppure la Netscape Communication si avvia ad usare i metodi di Prodigy, Microsoft e del Grande Fratello? Si puo' e si deve fare qualcosa ?"