Un sistema ibrido
PGP 8.0 è un valido alleato per difendere la nostra privacy e i dati che vogliamo
proteggere. PGP è un sistema crittografico ibrido, che combina
alcune delle migliori qualità del sistema simmetrico e del sistema
a chiave pubblica. Dal primo eredita la velocità di esecuzione
(circa 1000 volte superiore rispetto alla crittografia asimmetrica).
Del secondo sistema implementa il meccanismo a doppia chiave, che risolve
il problema della trasmissione e delle intercettazioni.
Esistono varie versioni del programma che differiscono per quantità
di strumenti e plugin: noi analizzeremo la nuova versione 8.0.3 Freeware,
utilizzabile liberamente per scopi non commerciali. Possiamo effettuare
il download accettando le condizioni di licenza presenti in questa pagina:
http://www.pgp.com/products/freeware.html.
La versione 8.0 è la prima che integra un pieno supporto per
i sistemi Windows XP. Alcuni componenti delle versioni precedenti (come
PGPnet e PGPfire) non funzionavano su XP e non sono più compresi
nell'installazione della versione Freeware.
Se siamo interessati a una versione per l'utilizzo professionale, possiamo
verificare le differenze fra i vari prodotti Enterprise e Personal tramite
la tabella comparativa che troviamo sul sito ufficiale: http://www.pgp.com/products/comparison.html.
Dopo aver scaricato il file e decompresso l'archivio ZIP, facciamo doppio
click sul file PGP8.exe per avviare il Setup. Proseguiamo con Next; dopo
aver letto le condizioni di licenza e il file Readme dovremo specificare
se siamo già in possesso delle chiavi da utilizzare oppure se siamo
nuovi utenti di PGP (Fig. 2.1).
Dopo aver fatto click su Next, decidiamo il percorso di installazione
per i file del programma e i singoli componenti da installare (Fig. 2.2).
Fra i plug-in troviamo PGPDisk Volume Security e PGPMail
che si integra con applicazioni differenti: Outlook, Outlook Express,
ICQ, Eudora ecc. Selezioniamo quelli che ci interessano e proseguiamo
(normalmente il setup riconosce in modo automatico i programmi installati
sul nostro pc e seleziona i plug-in di conseguenza).
Una volta terminata l'installazione, ci verrà richiesto di riavviare
il computer. Assicuriamoci di aver chiuso tutte le applicazioni con le
quali eventualmente stavamo lavorando e di aver salvato, quindi facciamo
click su Finish. Dopo il riavvio del computer si aprirà una popup
dove potremo inserire i dati della nostra licenza, qualora ne avessimo
acquistata una. In caso contrario premiamo su "Later" per continuare
la valutazione della versione Freeware.
Si attiverà ora il dialogo per la generazione della coppia di chiavi,
pubblica e privata. Premiamo su "Expert" per avere un maggior
controllo durante questo processo. Prima di tutto è necessario
inserire i parametri per la generazione: nome completo, indirizzo di posta
elettronica, tipo di chiave (a scelta fra Diffie-Hellman/DSS,
RSA, RSA Legacy) e peso in bit della chiave (Fig. 2.3). Le chiavi RSA
possono avere una grandezza massima di 2048 bit. Naturalmente una chiave
più grande richiederà più tempo per essere generata
e per gestire i processi di codifica, ma al tempo stesso garantirà
una migliore sicurezza contro eventuali tentativi di cracking.
Facciamo click su "Avanti" e scegliamo una password per proteggere
la nostra chiave privata (Fig. 2.4). Questa potrà contenere caratteri
alfanumerici e caratteri speciali, così da essere il più
sicura possibile. A partire da un minimo di 8 caratteri, una barra di
avanzamento visualizzerà la qualità della nostra parola
chiave (anzi, si può parlare proprio di frase chiave): questa si
basa sulla lunghezza della medesima, ma non è molto indicativa
(una frase di 200 caratteri tutti uguali rispetta i requisiti di qualità,
ma sarebbe una protezione ridicola). In realtà basta tenere a mente
le nozioni elementari per la scelta di una password: lunga quanto basta,
deve contenere maiuscole e minuscole, numeri, caratteri speciali, deve
essere una parola che non si trova sul dizionario...e naturalmente non
dobbiamo scriverla su un post-it da attaccare al monitor!
Il testo scritto nei campi della frase chiave viene nascosto, per proteggerla
da occhi indiscreti. Confermiamo la frase nel campo sottostante e proseguiamo.
Dopo la generazione della chiave, che potrebbe richiedere tempo, facciamo
click su Avanti e quindi su Fine. A questo punto, abbiamo tutti gli strumenti
necessari per iniziare a proteggere i nostri file e le nostre e-mail.
PGP parte sotto forma di servizio all'avvio di Windows. Il menu principale
da cui si accede a tutte le funzioni e ai moduli del programma è
collocato accanto all'orologio: si chiama PGPTray e si
riconosce dall'icona a forma di lucchetto. Facciamo click sull'icona per
esaminare l'interfaccia (Fig. 3.1).
Il menu Clipboard gestisce tutte le operazioni che possiamo effettuare
sul contenuto degli appunti di Windows. Se per esempio abbiamo copiato
un testo crittografato che desideriamo decifrare, basterà selezionare
Clipboard > Decrypt & Verify per avere il testo in chiaro.
Fra le altre opzioni troviamo Encrypt & Sign per cifrare e firmare
un messaggio contenuto nel clipboard, Edit per modificare gli appunti
e Empty per svuotarli. Il menu è molto simile anche per la voce
Current Window, che permette di eseguire le stesse funzioni,
ma sul contenuto della finestra attiva.
I moduli che utilizzeremo in seguito sono PGPmail, una
raccolta di strumenti per l'accesso alle funzioni di crittografia e di
eliminazione dei files, e PGPkeys che coordina la gestione
delle chiavi. Il modulo PGPdisk è attivabile solamente con una
licenza superiore.
Configurazione
Selezioniamo Options dal menu principale per esaminare la configurazione
di PGP. La scheda "General" si compone dei pannelli Options,
Single Sign-on e File Wiping (Fig. 3.2). Vediamo le opzioni principali:
- Always encrypt to default key; i file vengono cifrati
sia con la chiave pubblica del destinatario, sia con la nostra: in
questo modo saremo sempre in grado di decifrare un documento che abbiamo
inviato. - Faster key generation; velocizza la generazione
di chiavi Diffie-Hellman/DSS tramite un set predefinito di numeri
primi già calcolati. - Show PGPtray icon; visualizza l'icona di PGPtray
vicino all'orologio. - Cache passphrase for..; la password viene memorizzata
per un certo periodo di tempo (2 minuti per default) in modo da non
doverla ripetere più volte in caso di più file da cifrare. - Number of passes; la cancellazione sicura dei files
prevede che questi vengano sovrascritti un certo numero di volte.
Il numero preimpostato di 3 passaggi rientra nelle specifiche definite
dal Dipartimento della Difesa USA. - Warn before user-initiated wiping; avvisa prima
di eseguire la cancellazione. - Automatically wipe on delete; esegue automaticamente
la cancellazione sicura dei files quando svuotiamo il cestino di Windows.
La scheda successiva, "Files", consente di selezionare i file
contenenti la chiave pubblica e la chiave privata, se salvati in un percorso
diverso da quello predefinito. La scheda "Email" (Fig. 3.3)
contiene varie opzioni riguardanti il plugin per la posta elettronica.
Fra queste ricordiamo Encrypt new messages by default e Sign
new messages by default che, se attivate, abilitano le funzionalità
di crittografia e di firma digitale per tutti i messaggi in uscita. Potremmo
anche abilitare Automatically decrypt/verify when opening messages
per velocizzare le operazioni di decifrazione e verifica dei messaggi
in arrivo, che avviene così in automatico.
Una menzione particolare è d'obbligo per l'opzione Always use
Secure Viewer when decrypting che possiamo attivare se abbiamo timore
di attacchi particolarmente raffinati, come quello evocato nei più informati dalla dicitura Tempest. In tal caso la finestra di visione del documento
decifrato utilizzerà un particolare font e non permetterà
il salvataggio del file.
Dopo aver analizzato e, se necessario, modificato le opzioni principali
di PGP possiamo dedicarci alla gestione delle chiavi, passaggio fondamentale
per comprendere i meccanismi di funzionamento del programma.
Selezioniamo PGPkeys dal menu principale per attivare
il gestore delle chiavi (Fig. 4.1). Nella finestra che compare possiamo
effettuare alcune importanti operazioni con le chiavi pubbliche in nostro
possesso.
Al momento l'unica chiave presente è quella che abbiamo generato
durante l'installazione del programma. Facciamo click sulla chiave con
il tasto destro del mouse e selezioniamo Key Properties (Fig.
4.2) per visualizzarne le caratteristiche. Il Fingerprint
è una lista di parole (oppure un codice esadecimale) che identifica
univocamente la chiave. Serve per verificare l'autenticità della
chiave (per esempio contattando il proprietario e confrontando il suo
fingerprint con quello in nostro possesso).
La validità della nostra chiave pubblica è definita automaticamente
(Implicit Trust). Tramite questa schermata possiamo anche cambiare la
frase chiave e gestire le Subkeys. Se utilizziamo un
algoritmo Diffie-Hellman/DSS abbiamo una chiave DSS utilizzata per la
firma (Master Signing Key) e una chiave Diffie-Hellman utilizzata per
la cifratura. Le Subkeys per la cifratura possono essere revocate o aggiunte
mantenendo comunque valida la firma della chiave principale.
Prima di continuare nell'analisi di PGPkeys, è consigliabile salvare
un backup della propria coppia di chiavi su un supporto esterno (floppy,
cd). Se per qualsiasi motivo non potessimo più accedere alla chiave
privata salvata sul disco fisso, non saremmo più in grado di decifrare
i nostri documenti. Dal menu Keys selezioniamo Export,
mettiamo il segno di spunta a "Include Private Key" e salviamo
in un posto sicuro.
Pubblicazione
Viste le nozioni di crittografia asimmetrica, appare evidente che per
poter comunicare in modo sicuro con altri soggetti dobbiamo essere in
possesso della loro chiave pubblica (e, viceversa, gli altri devono poterci
mandare messaggi crittografati con la nostra chiave pubblica).
Per facilitare la trasmissione delle chiavi e per garantirne la massima
visibilità, PGP ci offre un servizio di pubblicazione sul proprio
archivio (keyserver.pgp.com). Facciamo click con il tasto destro
sulla nostra chiave e selezioniamo Send to > Domain server (Fig.
4.3) . In pochi secondi la chiave verrà inviata e salvata nel server
remoto, pronta per essere scaricata da tutti coloro che ne faranno richiesta.
Possiamo effettuare ricerche sull'intero contenuto del keyserver tramite
il pannello che troviamo in Server > Search
(Fig. 4.4). La ricerca è molto versatile e permette di impostare
molti criteri diversi. Proviamo a inserire il nostro indirizzo email (oppure
quello di qualche altro utilizzatore di PGP) come criterio User ID e premiamo
il tasto di ricerca.
Nel caso volessimo eliminare la nostra chiave dall'archivio del server,
basterà selezionarla e tramite il menu del tasto destro premere
su Delete from server. Per effettuare questa operazione dovremo
digitare anche la frase chiave. Se invece vogliamo importare la chiave
pubblica di qualcuno (necessaria per inviargli messaggi crittografati)
selezioniamo la chiave trovata e premiamo su Import to local keyring.
Selezioniamo PGPmail dal menu principale (Fig. 5.1).
Vogliamo provare a cifrare un documento e apporre la nostra signature
(firma). Premiamo la quarta icona (Encrypt & Sign) e selezioniamo
tramite la finestra di dialogo il documento da proteggere. La finestra
successiva ci consente di selezionare le chiavi pubbliche dei destinatari.
Per questa prova, selezioniamo la chiave del destinatario e trasciniamola
nella metà inferiore della schermata: se si tratta della nostra
chiave di default non è necessario, perchè è già
presente nella scheda Recipients (Fig. 5.2). Possiamo selezionare l'opzione
Secure Viewer per forzare la visualizzazione sicura del documento
una volta decifrato.
Dopo aver dato l'ok, PGP ci domanderà di inserire la nostra password
(o frase chiave) associata alla chiave privata. Se sbagliamo a inserirla
veniamo avvisati tramite un effetto visivo ormai tipico di PGP, ossia
un tremore del campo in questione. Infine creerà il file crittografato.
Notiamo che l'icona del lucchetto vicino all'orologio è cambiata:
abbiamo digitato la password e questa è stata memorizzata (per
il tempo che abbiamo definito durante la configurazione). Il lucchetto
è aperto: per due minuti, quindi, il programma riconoscerà
automaticamente la password.
Ora proviamo con il procedimento inverso: facciamo click con il tasto
destro sul file cifrato e selezioniamo PGP > Decrypt & Verify.
Dopo il processo di decodifica (Fig. 5.3), verremo avvisati che il documento
è solo per i nostri occhi: attenti dunque ai vicini curiosi! Diamo
dunque l'ok e vediamo il frutto del nostro lavoro: il file decifrato appare
nel Secure Viewer (Fig. 5.4).
Una cifratura "al volo" può anche essere fatta tramite
l'utilizzo del clipboard: copiamo il testo da cifrare (con il menu del
mouse oppure con CTRL-C) e selezioniamo dal menu principale
Clipboard > Encrypt & Sign. Il risultato è simile
alla Fig. 5.5 (possiamo incollarlo in un file di testo o decifrarlo dal
medesimo menu).
Per velocizzare queste operazioni quando vogliamo inviare una mail cifrata,
i plug-in di PGP ci vengono incontro: proviamo ad esempio a creare un
nuovo messaggio con Outlook Express. Vedremo che nella finestra sono presenti
alcuni nuovi pulsanti: Encrypt Message, Sign Message e PGPkeys. Selezionando
uno dei primi due, o entrambi, quando premeremo il bottone Invia vedremo
PGP attivarsi per cercare le chiavi pubbliche dei destinatari del nostro
messaggio e quindi effettuare la cifratura.
Allo stesso modo, aprendo un messaggio di posta in arrivo potremo selezionare
(se l'opzione non è già stata attivata durante la configurazione)
Decrypt PGP Message e assistere alla decifrazione automatica.
Attenzione: le funzionalità dei plug-in sono attivabili a partire
dalla licenza Personal.