Breve introduzione a PGP |
|
Torna alla Home Page
Introduzione |
IntroduzioneL'utilizzo della posta elettronica (E-mail) in campo medico è, almeno in Italia, agli inizi. Se, però, si riproducesse l'evoluzione osservata in altri paesi quali gli USA, la comunicazione tra i medici e tra medici e pazienti via posta elettronica potrebbe aumentare in modo esponenziale. Si riproporrebbe allora il problema della sicurezza dei dati che già ora si propone per le transazioni commerciali.Nell'interazione medico-paziente via E-mail sono due le necessità di sicurezza che si impongono:
La E-mail è un mezzo di comunicazione rapido e per certi versi più comodo di quello telefonico; uno dei suoi svantaggi principali, però, è la mancanza intrinseca di privacy, imposta dalla struttura stessa di Internet: il messaggio di posta elettronica non differisce sostanzialmente da una cartolina che può essere letta senza problemi in uno qualsiasi dei passaggi cui è sottoposta nel tragitto da mittente a destinatario. Dando un'occhiata agli headers (intestazioni) di qualsiasi messaggio di E-mail ci si rende subito conto che questo, prima di arrivare a destinazione, transita attraverso numerosi nodi: in ognuno di questi il messaggio può venire intercettato e letto (oltre che copiato e archiviato senza che mittente e destinatario ne sappiano nulla!).
|
Crittografia |
Crittografia |
La crittografia non è un mezzo per nascondere messaggi particolarmente riservati; si tratta semplicemente dell'equivalente elettronico di inserire il messaggio in una busta, per evitare che il postino e qualsiasi impiegato dell'ufficio postale possano facilmente leggere la vostra corrispondenza.
I sistemi di crittografia classici si basano sul concetto di crittografia a chiave segreta: il messaggio da crittografare viene sottoposto ad un algoritmo e la chiave per svelarne il significato deve essere tenuta segreta e consegnata soltanto ai destinatari del messaggio. Applicando questo sistema alla E-mail si verrebbe a creare il problema di come consegnare al destinatario la chiave segreta: la trasmissione della chiave segreta per E-mail comporterebbe di nuovo il problema della facile intercettazione con totale inaffidabilità del sistema.
La soluzione dell'enigma sta nell'uso di un sistema di crittografia a chiave pubblica. Il più noto sistema a chiave pubblica è l'RSA (Rivest-Shamir-Adleman), originariamente sviluppato dal governo degli Stati Uniti.
Eliminando la necessità di trasmettere la chiave pubblica si riducono quasi a zero i rischi di frode: è stato stimato che, usando chiavi a 1024 bit, una rete di un milione di computers riuscirebbe a ricavare la chiave segreta da una chiave pubblica in circa 1010 (10 miliardi) di anni! Con questo sistema ogni persona a cui si vogliano inviare i messaggi dispone di due chiavi crittografiche: una segreta e una pubblica. La chiave pubblica, così chiamata perché deve essere diffusa, serve al mittente per crittografare il messaggio: una volta criptato il messaggio potrà essere decifrato soltanto dal possessore della chiave segreta e da nessun altro. L'autore del programma è stato processato negli Stati Uniti (e recentemente assolto) per aver reso disponibile fuori dal territorio statunitense questo tipo di crittografia, che è il più avanzato esistente e che è considerato di grande importanza militare; tanto è vero che a tutt'oggi è illegale, per un utente europeo, prelevare il programma da un sito americano, e viceversa, in quanto si compirebbe un reato di esportazione illegale di segreti militari. Sempre per i suddetti problemi legali, gli utenti non statunitensi possono utilizzare legalmente solo le versioni con un numero che termina per i: la più recente è la 2.6.3i.
|
Uso di PGP |
Uso di PGP |
La versione 2.6.3i per MS-DOS di PGP è un programma freeware facilmente
disponibile in numerosi siti di Internet. Chi non ne avesse già una copia può scaricarla dalla International PGP Home Page di Stale Schumacher clickando sulla voce Download PGP. Per l'installazione vanno seguite le istruzioni contenute nel file SETUP.DOC incluso nel pacchetto. Essenzialmente bisogna creare una directory per il programma (in genere C:\PGP) e inserire nel file AUTOEXEC.BAT le due linee:
1. Creare una coppia di chiaviLa prima cosa da fare per usare PGP è generare la coppia di chiavi - la chiave segreta e quella pubblica - utilizzando il comando:
Il programma chiede all'utente se vuole generare una chiave a 512, 768 o 1024 bits (il formato con un maggior numero di bits aumenta la sicurezza in caso di tentativo di manomissione). La versione 2.6.3i permette di creare anche chiavi a 2048 bits ma la scelta non compare nel menu iniziale; si deve digitare direttamente: Per generare la chiave segreta il programma chiede di digitare una passphrase (parola d'ordine composta da una frase di lunghezza desiderata che può contenere qualsiasi tipo di carattere). La passphrase deve essere utilizzata ogni volta che si vuole decifrare un messaggio criptato con la propria chiave pubblica; è quindi importante che non venga dimenticata (anche perché il programma, per ovvii motivi di sicurezza, non dispone di nessuna opzione per il recupero della passphrase).
Finite le operazioni che richiedono qualche minuto, il programma genera due files binari: PUBRING.PGP Il primo è il portachiavi contenente la chiave segreta, mentre il secondo contiene la chiave pubblica appena generata. Nel file PUBRING.PGP verranno archiviate anche tutte le chiavi pubbliche che l'utente vuole utilizzare per criptare i propri messaggi. Per aggiungere al portachiavi una nuova chiave pubblica basta usare il comando:
dove [nomefile] indica il file che contiene la chiave da aggiungere (il file può contenere anche altro testo, in quanto pgp riconosce le chiavi dai caratteri di inizio e di fine). La vostra chiave pubblica va poi distribuita a chi vuole inviarvi messaggi criptati. Per estrarla dal portachiavi si usa il comando:
Il programma genera un file ASCII contenente la chiave pubblica; il file può essere inviato per E-mail oppure ad un keyserver, un deposito di chiavi a cui chiunque può richiedere l'invio automatico della chiave pubblica di una persona. L'invio della vostra chiave pubblica a un keyserver non è obbligatorio, ma permette a chiunque voglia comunicarvi di recuperare la vostra chiave in modo semplice. Per aggiungere la propria chiave al keyserver dell'università di Milano basta inviare a pgp-public-keys@dsi.unimi.it una mail avente come subject il comando ADD e la vostra chiave pubblica nel corpo del messaggio. I keyservers sono diffusi in tutto il mondo, ma non è necessario inviare la vostra chiave a ognuno di loro in quanto provvedono loro stessi ad aggiornarsi automaticamente.
Esempio di chiave pubblica PGP estratta in formato ASCII:
-----BEGIN PGP PUBLIC KEY BLOCK-----
Fingerprint. PGP dispone di un sistema di certificazione delle chiavi pubbliche che permette a chi vuole usare una chiave di essere certo della sua autenticità.
Il programma estrae dalla chiave un valore di lunghezza fissa (32 cifre esadecimali), detto fingerprint (impronta digitale), che la identifica in modo univoco.
Il possessore della chiave pubblica può diffondere facilmente il proprio fingerprint per permettere ai mittenti di verificare che una certa chiave sia effettivamente la sua.
2. Crittografare un messaggioPer crittografare un messaggio si utilizza il comando:
Il programma chiede l'ID della chiave pubblica da utilizzare: si può indicare solo una parte dell'ID. Per esempio se la mia chiave pubblica ha come ID:
posso indicare solo Gilberto, oppure Lacchia oppure glacchia@eponet.it oppure "Gilberto Lacchia" (tra virgolette perchè contiene spazi) oppure 436C919D. Tenete presente che solo l'ID numerico esadecimale identifica univocamente una chiave, negli altri casi il programma utilizzerà la prima chiave che trova con ID corrispondente (possono esserci più chiavi con ID Gilberto o Lacchia, ecc.) Dopo che gli viene fornito l'ID il programma crea un file ASCII con desinenza .ASC. Il file così creato potrà essere decifrato solo dal possessore della chiave segreta corrispondente.
3. Firmare in chiaroOltre a crittografare un messaggio, PGP consente anche di verificarne l'autenticità'. Se volete inviare a qualcuno un messaggio facendo in modo che il destinatario sia in grado di verificare che il messaggio provenga effettivamente da voi, dovrete salvare il file in formato testo e quindi utilizzare il comando:PGP creerà un file denominato filename.asc, che e' in pratica il vostro messaggio originario (in chiaro, cioè non criptato) con l'aggiunta di un blocco di caratteri finale che rappresenta la "firma" elettronica ottenuta attraverso la vostra chiave segreta. Il destinatario del messaggio lo sottoporrà a pgp che verificherà con quale chiave è stato firmato il messaggio. Oltre a verificare il mittente pgp segnala anche se il messaggio ha subito modifiche dopo essere stato firmato. In questo modo il destinatario, è certo dell'identità del mittente, e può anche essere certo che il contenuto del messaggio corrisponde in tutto e per tutto a quello scritto dal mittente.
Naturalmente è possibile combinare i due comandi -e (cifrare) e -s (firmare) per ottenere un messaggio cifrato e firmato:
|
Configurazione |
Appendice |
A. Modifica del file CONFIG.TXTIl file CONFIG.TXT contiene le opzioni che PGP carica all'avvio. Aprendo il file con un normale text editor si ottiene qualcosa di simile:
# Sample config.txt file for PGP 2.6.3i. Le voci di configurazione che sono precedute da # sono disattivate; per attivarle bisogna togliere # e modificare il valore numerico o il flag on/off dopo il segno di =. Le opzioni sono numerosissime e vengono precedute da una breve spiegazione; per conoscere in dettaglio la funzione di ognuna va consultata la documentazione ufficiale di PGP.
Ci sono alcune opzioni che può essere utile attivare:
|
Comandi Principali |
B. Sommario dei comandi principali di PGP |
||||||||||||||||||||||||||||||||||
|
[ a ] = Per produrre files ASCII |
[ o ] = Per indicare il nome del file risultante [ w ] = Per distruggere il testo da cifrare (dopo la codifica) [ m ] = Per vedere il testo in chiaro solo a video [-@] = Per specificare destinatari addizionali quando si cifra |
Keyservers |
C. Keyservers |
||||||||||||||||
In Italia esiste il keyserver dell'università di Milano (pgp-public-keys@dsi.unimi.it) gestito da David Vincenzetti (vince@dsi.unimi.it).
Altri keyservers sono:
pgp-public-keys@uit.no
Sul World Wibe Web potete anche raggiungere il keyserver del MIT all'indirizzo: https://pgp.mit.edu/. |
Crittografia e legge |
D. Crittografia e legge italiana |
In alcuni paesi la crittografia è espressamente vietata dalla legge (Francia, Russia, Iran, Iraq). In Italia la legge regola soltanto l'uso della della crittografia nella tutela del segreto di Stato. In questo campo è regolamentato l'uso degli algoritmi crittografici, la loro esportazione e distribuzione (leggi 185/90 e 222/92). La crittografia usata per impieghi privati e governativi non correlati alla tutela del segreto di stato non è nè vietato nè controllato. La Telecom Italia non pone limiti all'impiego da parte degli utenti di sistemi di cifratura sia per fonia sia per trasmissione dati. L'unica restrizione potrebbe essere individuata nel collaudo delle apparecchiature per l'omologazione che sono tenute ad adottare sistemi di cifratura che non incidano negativamente sulla funzionalita' della rete. |
PGP in Windows |
E. Utilities per usare PGP in Windows |
PGP per PC funziona come programma per DOS fino alla versione 2.6.3i. L'unico programma che funziona in ambiente Windows con le funzioni di PGP completamente integrate è quello
distribuito dalla Pretty Good Privacy, Inc. ed è una versione a pagamento.
Per utilizzare PGP in modo più semplice con un programma che funziona in ambiente Windows (come Eudora) esistono delle applicazioni dette front-end che permettono di rimanere in Windows e di interfacciare PGP senza necessariamente passare al DOS per digitare i comandi. Chi utilizza Eudora 3.0 per la posta elettronica può trovare anche numerosi programmi che funzionano su Eudora come plug-ins (piccole applicazioni che aggiungono funzioni ai menu di Eudora). La Qualcomm, che produce Eudora, ha annunciato da poco (17 giugno 97) che da luglio sarà disponibile, integrata in Eudora, la crittografia PGP. Il numero di programmi front-end esistenti è sterminato; ne esistono sia freeware che shareware. Qui di seguito ne elenco alcuni. Ulteriori informazioni si possono trovare alla International PGP Home Page clickando sulla voce Products & services.
|
Per saperne di più | D. Per saperne di più |
Su Internet l'argomento PGP è trattato estesamente (fin troppo!). Consiglio alcuni siti da cui è possibile ottenere tutte le informazioni necessarie sull'argomento:
The International PGP Home Page (in inglese)
MIT distribution site for PGP (in inglese)
Nimrod PGP (in italiano)
Manuale di PGP (in italiano)
Newsgroups che trattano di PGP:
Alt.security.pgp
Altri newsgroups sono:
Comp.security.pgp.announce |
|
Torna all'inizio Ultimo aggiornamento 24-Ago-98 |
Testo a cura di Gilberto Lacchia (glacchia@eponet.it) |