![]() |
Philip Zimmermann |
![]() |
![]() Prefazione dell'autore del libro: "PGP Source Code and Internals"Pubblicato da The MIT Press, 1995. ISBN 0-262-24039-4. Questo libro contiene l'intero codice sorgente in linguaggio C del pacchetto software chiamato PGP (Pretty Good Privacy). PGP è il più diffuso ed utilizzato software nel mondo per la codifica della posta elettronica. Esso utilizza la crittografia con la chiave pubblica per farti comunicare in modo sicuro con persone che non hai mai incontrato, senza l'obbligo di dover scambiare le chiavi su dei canali di trasmissione sicuri. Perché pubblicare un intero libro (peraltro assai voluminoso) comprendente in gran parte un noioso codice sorgente per un programma di computer? Bene, ci sono diverse buone ragioni per aver fatto questo. Ciò riguarda le tue libertà civili e richiede un po' di spiegazione, ma in questo periodo si tratta di una storia assai interessante. La crittografia è sorprendentemente una tecnologia politica. Negli anni recenti, è divenuta ancora di più tale, con la controversia che riguarda il Clipper chip del Governo, la legislazione per le intercettazione telefoniche della FBI, i controlli d'esportazione del software crittografico, e l'equilibrio del potere tra il Governo e il suo popolo. Storicamente, la crittografia è stata principalmente utilizzata dai governi nelle relazioni militari e diplomatiche. Ma con il sopravvenire dell'età dell'informazione, degli onnipresenti personal computer, modem, ed apparecchi teletrasmettenti, ciò sta cambiando. Con un'emergente economia globale dipendente sempre di più dalla comunicazione digitale, le persone e le imprese hanno bisogno della crittografia per proteggere le proprie comunicazioni quotidiane. Le autorità e le agenzie intelligence vogliono accedere a tutte le nostre comunicazioni, per catturare le persone che trasgrediscono la legge, ed individuare le minacce alla Sicurezza Nazionale. I fautori delle libertà civili vogliono mantenere il Governo fuori delle comunicazioni private, per proteggere la nostra privacy e serbare una sana democrazia. PGP è un software libero. Chiunque può scaricarlo da internet e dalle Bulletin Board Systems. Esso ha sollecitato diverse controversie, perché è divenuto lo standard universale de facto per la codifica della posta elettronica, nonostante le restrizioni delle esportazioni statunitensi. Inizialmente pubblicato negli Stati Uniti, questo pacchetto si è propagato grazie alla diffusione che è comune ai pacchetti software liberi, con il suo sapore "proibito" che gli ha dato quella spinta in più a livello popolare. Stranamente, il Governo statunitense può aver inavvertitamente contribuito alla diffusione del PGP, rendendolo più popolare proprio per il mio caso. Sono sotto un'indagine criminale che il Governo ha avviato in violazione delle restrizioni alle esportazioni, perché PGP si è diffuso oltremare. Il mio caso ha catturato molto l'attenzione dei media, in parte perché i giornalisti capiscono che se un Americano può essere imprigionato per aver pubblicato qualcosa d'elettronico negli Stati Uniti, allora gli stessi giornalisti sarebbero in pericolo nel mondo di domani dei giornali elettronici nell'autostrada dell'informazione. Un'altra ragione per cui i media sono così interessati al mio caso riguarda i tentativi da parte del Governo di impedire l'accesso pubblico alla crittografia avanzata. L'amministrazione Clinton sta cercando di far mettere alle compagnie telefoniche uno speciale dispositivo codificatore in ciascun telefono. Essa prevede che ci vogliano diversi anni prima di completare quest'operazione. Quando questo "Clipper chip", come è stato chiamato, sarà fabbricato dal Governo, essi installeranno un'unica chiave di codifica in ciascun chip, e salveranno una copia delle chiavi in un vasto database del Governo, per scopi d'intercettazione telefonica. Il tuo telefono sarà un giorno controllato dal Big Brother. Il Governo spera che il pubblico americano accetti la crittografia controllata, e sta scoraggiando altre forme di crittografia che non può controllare. Uno dei modi per scoraggiarle è attraverso l'uso di restrizioni all'esportazione dei software di crittografia. Ciò ha trascinato PGP sotto il riflettore dei media. Il Dipartimento di Stato ha una lista di elementi che non possono esportati senza licenza. La lista delle Munizioni. Si tratta in gran parte di armi, ma vi è incluso anche il software per la crittografia. Il software per la crittografia non può essere esportato senza licenza e quella licenza è difficile che arrivi se il software utilizza delle tecniche avanzate di crittografia che il Governo non può facilmente decifrare. Software appunto come PGP. Il Dipartimento di Stato permette ad alcuni prodotti della lista delle munizioni di essere esportati se essi concordano ad una Commodities Jurisdiction (CJ), che permette all'esportazione di essere gestita dal Dipartimento del Commercio invece che da quello dello Stato. Una CJ permette al prodotto di essere legalmente esportato dagli Stati Uniti. Sarebbe difficile politicamente per un Governo proibire l'esportazione di un libro che chiunque potrebbe trovare in una biblioteca pubblica o in una libreria. Il Diparimento di Stato ha già concordato una CJ per un altro libro contenente un codice sorgente di un programma di crittografia, Bruce Schneier's "Applied Cryptography". Di conseguenza, stiamo mettendo il codice sorgente di PGP in un libro cossicché può essere scanerizzato tramite un software OCR. E stiamo contrattando per avere una CJ. Sarà interessante vedere dove questo processo condurrà. PGP utilizza i migliori algoritmi di codifica disponibili nella letteratura accademica accessibile -- gli algoritmi che hanno sostenuto le riesamini più equee, e che sono radicati nel miglior disegno dei principi della moderna crittografia. La versione PGP 2.6.2. utilizza RSA per la gestione della chiave e delle firme digitali, l'IDEA cipher per la codifica dei dati popolari, e MDA5 per un miscuglio sicuro unidirezionale delle firme digitali. Oltre a ciò, il PGP comprime i dati prima di codificarli, utilizzando l'algoritmo ZIP. PGP fu sviluppato in circostanze difficili, senza fondi, in una gara contro il tempo nel 1991 per terminarlo prima che divenisse illegale pubblicare software di questo tipo. Il disegno di legge del Senato 266, il progetto di legge anti - criminine del 1991, contennero un provvedimento che faceva prevedere la forma delle cose in futuro. Ciò era difatti implicito nella risoluzione del Congresso, che affermava che i sistemi implementori di comunicazioni avrebbero dovuto farsì che il Governo fosse in grado di ottenere il contenuto totale del traffico. La risoluzione fu sconfitta poco dopo che PGP fu pubblicato, a causa dell'indignazione pubblica suscitata dai gruppi per le libertà civili. PGP fu pubblicato come freeware, nello sforzo di anticipare la possibilità che il Governo potesse sopprimere questa tecnologia in seguito. Esistono altri libri nella sezione informatica della tua libreria che contengono esempi di codice sorgente di vari algoritmi. Questi libri insegnano un buono stile di programmazione poiché forniscono buoni esempi di codici sorgente. Questo libro non è proprio come quelli. Sebbene contenga degli esempi istruttivi su come implementare determinati algoritmi, qualcuno potrebbe osservare che il corpo del codice sorgente non è il miglior esempio di una modularità chiara. Il codice sorgente è nel modo in cui è fatto. Le condizioni sperimentali dello sviluppo del PGP costrinsero ad utilizzare espedienti, qualche volta a costo dell'eleganza. Le variabili globali sono utilizzate molto di più di quanto dovrebbero essere utilizzate, ci sono molti casi di codice ridondante, e ci sono molte dipendenze tra i moduli. Come altri ingegneri software del mondo hanno contribuito con i loro sforzi allo sviluppo del PGP, dopo la versione 1.0 pubblicata nel 1991, essi hanno ereditato un nucleo di cristallo non ancora formato nel quale accumulare altro codice sopra, ed hanno modificato e rimodificato il codice sotto pressione dell'espediente. Pochissimo del mio codice originale è rimasto in PGP, gran parte comprendente la libreria multiprecisione degli interi, che scrissi per la prima volta nel tardo 1986. E' una sfortuna che esempi più chiari di codice dalla mia carriera ventennale come ingegnere software non siano serviti come base per ciò che sarebbe in seguito potuto diventare un corpo di codice sorgente diffuso al quale altri programmatori avrebbero potuto attingere. Nonostante l'ineleganza del codice, la qualità della crittografia e la gestione della chiave è molto buona. Buono abbastanza da lasciare un segno nel mondo in un modo che nessun altro software di crittografia abbia mai fatto, facendo irritare qualche elemento del Governo statunitense e di altri governi stranieri. PGP non sarebbe dove è oggi senza gli sforzi volontari di molti programmatori con talento di tutto il mondo. Peter Gutmann e Branko Lankester hanno contribuito con grande sforzo allo sviluppo del PGP. Jean-loup Gailly ha contribuito con le sue routines di compressione ZIP. Molti altri hanno contribuito al codice e sono nominati nei commenti del codice sorgente. Altre persone hanno contribuito (ma non al codice), incluso il mio team di avvocati, tra cui Phil Dubios, Eben Moglen, Ken Bass e Curt Karnow. Altri avvocati che hanno offerto consulenza legale sono Tom Nolan e Chuck Marson. Sto scrivendo parte di questa prefazione in volo tra Bucarest e Budapest, per un tour da portavoce riguardo la privacy nell'epoca dell'informazione. A Bucarest, ho osservato la politica tremenda di un sistema disegnato da uomini che bramano, senza confidare nel popolo e nella libertà individuale. Questi uomini amerebbero il Clipper chip. Le persone del luogo sono adesso contente di avere la loro libertà e comprendono la mia preoccupazione riguardo al potere del Governo. Essi lo hanno già subito -- e non capiscono come noi Americani non lo abbiamo capito. Un libro comprendente soltanto migliaia di linee di codice sorgente sembra tedioso. Ma in seguito esso rende un indefinito frammento concreto -- a meno che non accada di essere un pezzo del Muro di Berlino, che molte persone portano sui propri mantelli, come simbolo di libertà che si è aperto a milioni di individui. Forse nella lunga corsa, questo libro aiuterà i confini statunitensi ad ottenere un libero flusso di informazioni. Philip R. Zimmermann |