-----BEGIN PGP SIGNED MESSAGE----- [Nota: questa e' la documentazione originale della versione 2.6.2 del MIT, inclusa qui senza modifiche. Per una spiegazione delle differenze tra PGP 2.6.2i e 2.6.2 si legga il file readme.1st.] Phil's Pretty Good Software Presenta ======= PGP(tm) ======= Pretty Good(tm) Privacy Crittografia a chiave pubblica per tutti -------------------------- Manuale d'uso del PGP(tm) Volume I: funzioni essenziali -------------------------- di Philip Zimmermann Ultima revisione 11 Ottobre 94 Tradotto in Italiano da: Marco Giaiotto PGP Versione 2.6.2 - 11 Ott. 94 Software di Philip Zimmermann, e molti altri. Sinopsi: PGP(tm) utilizza la crittografia a chiave pubblica per proteggere e-mail e file di dati. Comunicate in modo sicuro con persone che non avete mai visto, senza bisogno di canali sicuri per lo scambio delle chiavi. PGP ha molte funzioni ed e' veloce, con un sofisticato sistema di gestione delle chiavi, un sistema di firma digitale, comprime i dati ed ha un progetto ergonomica- mente valido. Software e documentazione (c) Copyright 1990-1994 Philip Zimmermann. Tutti i diritti riservati. Per informazioni sulla licenza d'uso di PGP, la distribuzione, il copyright, i brevetti, i marchi, le limi- tazioni ed i controlli sulle esportazioni, vedere la sezione "Aspetti Legali" nel "Manuale D'uso del PGP Volume II - Funzioni avanzate". Distribuito dal Massachusetts Institute of Technology. "Qualunque cosa voi facciate sara' insignificante, ma e' molto importante che voi la facciate." -Mahatma Gandhi Indice ====== Vista d'insieme Perche' vi serve PGP? Come funziona Installazione di PGP Uso di PGP Vedere un indice delle funzioni Criptare un messaggio Criptare un messaggio per diversi destinatari Firmare un messaggio Firmare e quindi criptare Usare solo la crittografia convenzionale Decrittare e controllare le firme Gestire le chiavi Generazione della chiave RSA Aggiungere una chiave al vostro portachiavi Togliere una chiave od un ID dal vostro portachiavi Estrarre (copiare) una chiave dal vostro portachiavi Vedere il contenuto del vostro portachiavi Come proteggere il vostro portachiavi pubblico dalle manomissioni Come fa PGP a tener traccia delle chiavi valide? Come proteggere il portachiavi segreto dall'apertura Revocare una chiave pubblica Cosa fare se perdete la vostra chiave segreta? Funzioni avanzate Invio di testo cifrato via e-mail: il formato Radix-64 Variabile di ambiente per il percorso (path) Impostare parametri nel file di configurazione di PGP Vulnerabilita' Attenzione all'"olio di serpente" Nota per gli utilizzatori di Macintosh Guida rapida di PGP Aspetti legali Riconoscimenti Notizie sull'autore Vista d'insieme =============== Pretty Good(tm) Privacy (PGP), di Phil's Pretty Good Software, e' un applicativo software di crittografia di elevata sicurezza per MSDOS, Unix, VAX/VMS e altri computers. PGP permette alle persone di scambiare files e messaggi con riservatezza, sicurezza di autenticita' e comodita'. Riservatezza significa che solo le persone a cui e' diretto il messaggio possono leggerlo. Sicurezza di autenticita' significa che il messaggio che sembra provenire da una particolare persona puo' solo essere stato inviato da quella persona. Comodita' significa che riservatezza e sicurezza di auten- ticita' sono raggiunte senza il fastidio di dover gestire le chiavi associate al software di crittografia convenzionale. Non e' richiesto nessun canale sicuro per lo scambio delle chiavi fra gli utenti, per cui PGP e' molto piu' facile da usare. La ragione e' che PGP e' basato su di una nuova potente tecnologia chiamata crittografia "a chiave pubblica". PGP associa la comodita' del sistema di crittografia a chiave pubblica Rivest-Shamir-Adleman (RSA) con la velocita' della crittografia conven- zionale, l'adattamento dei messaggi per la firma digitale, un buon progetto ergonomico ed un sofisticato sistema di gestione delle chiavi. PGP svolge le funzioni associate alle chiavi pubbliche piu' velocemente di molti altri applicativi software. PGP e' la crittografia a chiave pubblica per tutti. PGP non prevede nessuna funzione interna per la gestione di modems. Dovrete usare per questo un prodotto software separato. Questo documento, "Volume I: funzioni essenziali", si limita a spiegare i concetti essenziali per l'uso di PGP, e dovrebbe essere letto da tutti gli utilizzatori. Il "Volume II - funzioni avanzate" spiega le possibilita' avanzate di PGP ed altre funzioni speciali, e puo' essere letto dagli utilizzatori di PGP piu' evoluti. Nessuno dei due documenti spiega i dettagli della tecnologia di fondo degli algoritmi di critto- grafia, o la struttura dei dati. Perche' vi serve PGP? ===================== E' personale. E' privato. E non sono affari di nessuno tranne vostri. Voi potreste pianificare una campagna politica, discutere delle vostre tasse, o avere una relazione clandestina. Oppure potreste fare qualcosa che sentite che non dovrebbe essere illegale, ma lo e'. Qualunque cosa sia, voi non volete che la vostra posta elettronica privata (e-mail) o i vostri documenti confidenziali vengano letti da altri. Non c'e' niente di sbagliato nel voler affermare il proprio diritto alla riservatezza. La riservatezza e' parte della nostra vita come la Costituzione. Forse potreste pensare che la vostra e-mail sia sufficientemente legittima da non richiedere cifratura. Ma se siete cittadini rispettosi della legge senza nulla da nascondere, perche' non spedite sempre la vostra posta usando le cartoline? Perche' non vi sottoponete ai test antidroga su semplice richiesta? Perche' richiedere un mandato se la polizia vuole perquisire la vostra casa? State cercando di nascondere qualcosa? Dovete essere dei sovversivi o dei trafficanti di droga se nascondete la vostra posta nelle buste. O forse paranoici. Che bisogno hanno i cittadini rispettosi della legge di cifrare la propria e-mail? Cosa succederebbe se tutti pensassero che i cittadini rispettosi della legge dovrebbero usare le cartoline per la propria posta? Se qualche spirito coraggioso tentasse di difendere la propria riservatezza usando una busta attirerebbe i sospetti. Forse le autorita' aprirebbero la sua posta per vedere cio' che nasconde. Per fortuna, non viviamo in questo tipo di mondo, perche' tutti proteggono la maggior parte della propria posta con le buste, cosi' nessuno attira sospetti facendo la stessa cosa. C'e' sicurezza nei grandi numeri. Analogamente, sarebbe bello se tutti usassero regolarmente la crittografia per la propria e-mail, innocente o meno, di modo che nessuno attirerebbe sospetti difendendo la propria riservatezza. Pensate a questo come ad una forma di solidarieta'. Oggi, se il Governo vuole violare il diritto alla riservatezza dei cittadini ordinari, deve impegnare una certa quantita' di denaro e di lavoro per intercettare, aprire col vapore e leggere la posta, e ascoltare e possibilmente trascrivere le conversazioni telefoniche. Questo tipo di sorveglianza ad alto impegno lavorativo non e' pratica se applicata su larga scala. Questo viene fatto solo in casi importan- ti, quando sembra che valga la spesa. Una parte sempre crescente delle nostre comunicazioni private si sta dirigendo verso i canali elettronici. La posta elettronica sta gradualmente rimpiazzando la posta tradizionale. I messaggi e-mail sono semplicemente troppo facili da intercettare e controllare ricercando parole significative. Puo' essere fatto semplicemente, regolarmente, automaticamente e senza essere scoperti su vasta scala. I cablogrammi internazionali sono gia' controllati in questo modo su larga scala dalla NSA [National Security Agency, N.d.T.] Ci stiamo muovendo verso un futuro in cui la nazione sara' attraversata da reti dati in fibra ottica ad alta capacita' che collegheranno fra loro tutti i nostri sempre piu' diffusi personal computers. L'e-mail sara' normale per tutti, non una novita' come oggi. Il Governo proteggera' la nostra posta con protocolli di crittografia progettati dal Governo stesso. Probabilmente la maggior parte delle persone accettera' una simile situazione. Ma forse qualche persona preferira' le proprie misure di protezione personali. Il progetto di legge 299 del senato, una proposta anti crimine multifunzionale del 1991, conteneva un provvedimento nascosto sconvolgente. Se questa risoluzione non vincolante fosse entrata in vigore, avrebbe costretto i produttori di sistemi di comunicazioni sicure ad inserire delle speciali "trappole" nei loro prodotti, di modo che il Governo potesse leggere i messaggi cifrati di chiunque. Il testo era: "E' volonta' del Congresso che i fornitori di servizi di comunicazione elettronica assicurino che i sistemi permettano al Governo di ottenere il testo in chiaro di voce, dati ed altre comunicazioni quando adeguatamente autorizzato dalla legge." Questa misura venne ritirata dopo rigorose proteste di singoli libertari e gruppi industriali. Nel 1992 fu presentata al Congresso la proposta di sorveglianza della telefonia digitale dell'FBI. Questa avrebbe richiesto a tutti i produttori di sistemi di comunicazione di includervi speciali "porte" di sorveglianza remota che avrebbero permesso all'FBI di controllare dai propri uffici tutte le forme di comunicazione elettronica. Sebbene la proposta non abbia attratto nessun sostenitore al Congresso nel 1992 a causa dell'opposizione dei cittadini, essa fu ripresentata nel 1994. Piu' allarmante di tutto e' la baldanzosa nuova politica sulla crittografia della Casa Bianca, sviluppata dalla NSA sin dall'inizio dell'amministrazione Bush, e rivelata il 16 aprile 1993. Il punto centrale di questa iniziativa e' un dispositivo di crittografia costruito dal Governo, chiamato "Clipper", contenente un nuovo algoritmo segreto di crittografia della NSA. Il Governo spinge l'industria privata ad utilizzare il Clipper in tutti i propri prodotti di comunicazione sicura, come telefoni, Fax, ecc. AT&T sta utilizzando il Clipper nei propri prodotti sicuri per trasmissione di voce. Il punto chiave: Al momento della produzione ogni Clipper viene programmato con una sua chiave unica, ed il Governo deve riceverne una copia, che viene tenuta al sicuro. Nessuna preoccupazione comunque-- il Governo promette che usera' quelle chiavi per decifrare le vostre comunicazioni solo quando debitamente autorizzato dalla legge. Naturalmente il logico passo successivo per rendere il Clipper assolutamente efficace sarebbe quello di rendere illegali le altre forme di crittografia. Se la propria riservatezza e' fuorilegge, solo i fuorilegge avranno riservatezza. Le agenzie di spionaggio hanno accesso a sistemi di crittografia ottimi, cosi' come i trafficanti di armi e droga, i fornitori della Difesa, le compagnie petrolifere ed altri giganti industriali. Le persone comuni e le organizzazioni politiche minori non hanno generalmente avuto accesso a tecnologie di crittografia a chiave pubblica di "livello militare" a costi abbordabili. Fino ad oggi. PGP da' alle persone il potere di avere la propria riservatezza nelle proprie mani. C'e' un bisogno sociale crescente di questo. Ecco perche' l'ho scritto. Come funziona ============= Sarebbe piu' semplice se voi aveste gia' una conoscenza dei concetti della crittogrfia in generale e di quella a chiave pubblica in particolare. Comunque, ecco alcune note introduttive sulla crittografia a chiave pubblica. Per cominciare, un po' di terminologia. Supponiamo che io voglia inviarvi un messaggio che solo voi possiate leggere. Posso "criptarlo" o "cifrarlo", ovvero posso modificarlo in un modo terribilmente complicato, rendendolo illeggibile per chiunque tranne voi, il destinatario del messaggio. Io creo una "chiave" crittografica per cifrare il messaggio, e voi dovete usare la stessa chiave per decifrarlo o "decrittarlo". Almeno, il sistema convenzionale a chiave singola funziona cosi'. Nei sistemi convenzionali, come il DES (US Federal Data Encryption Standard), si usa una sola chiave per cifrare e decifrare. Questo significa che la chiave deve essere trasmessa prima attraverso canali sicuri, in modo che i due corrispondenti la conoscano prima di inviare messaggi cifrati attraverso canali insicuri. Questo puo' essere scomodo. Poi, se avete un canale sicuro per scambiarvi le chiavi, perche' vi serve la crittografia? Nei sistemi a chiave pubblica, ognuno possiede due chiavi complementari, una conosciuta pubblicamente ed una segreta (spesso chiamata privata). Ogni chiave sblocca il codice che l'altra crea. La conoscenza della chiave pubblica non vi aiuta a dedurre la chiave segreta corrispondente. La chiave pubblica puo' essere distribuita in modo capillare attraverso una rete di comunicazione. Questo protocollo assicura riservatezza senza richiedere l'uso di canali sicuri come quelli necessari per i sistemi di codifica convenzionali. Chiunque puo' usare la chiave pubblica di una persona per cifrare ed inviare un messaggio, e il destinatario usera' la chiave privata corrispondente per decifrarlo. Nessuno oltre al destinatario potra' decifrarlo, perche' nessuno ha accesso alla chiave segreta. Neppure la persona che ha cifrato il messaggio sara' in grado di decifrarlo. Si possono anche autenticare i messaggi. La chiave segreta del mittente puo' essere usata per cifrare un messaggio, e quindi "firmarlo". Questo crea nel messaggio una firma digitale che il destinatario (o chiunque) puo' verificare usando la corrispondente chiave pubblica. E' la prova che il mittente e' effettivamente la fonte del messaggio, e che il messaggio non e' stato modificato successivamente da altri, perche' solo il mittente possiede la chiave segreta che ha generato la firma. E' impossibile falsificare un messaggio firmato, ed il mittente non puo' successivamente negare di averlo firmato. Questi due processi possono essere combinati per assicurare la riservatezza e l'autenticita', prima firmando il messaggio con la vostra chiave segreta, e quindi cifrandolo con la chiave pubblica del destinatario. Il destinatario inverte questo processo, decifrando il messaggio con la propria chiave e controllando la firma con la vostra chiave pubblica. Questi passi sono svolti automaticamente dal software del destinatario. Siccome l'algoritmo di crittografia a chiave pubblica e' molto piu' lento di un metodo convenzionale, la cifratura e' effettuata meglio usando un metodo convenzionale veloce e di alta qualita' per cifrare il messaggio. Il messaggio originale non cifrato e' chiamato "testo in chiaro". In un processo non visibile all'utilizzatore, una chiave casuale temporanea viene generata, ed usata solo per questa cifratura, per cifrare convenzionalmente il testo in chiaro. Quindi la chiave pubblica del destinatario viene usata per cifrare la chiave temporanea. Questa chiave cifrata viene inviata assieme al testo cifrato al destinatario. Il destinatario usa la propria chiave segreta per ricuperare la chiave temporanea, e quindi la usa con l'algoritmo veloce di cifratura convenzionale a chiave singola per decifrare il messaggio originale. Le chiavi pubbliche sono conservate in "certificati di chiave" che comprendono l'ID del proprietario (ovvero il suo nome), il momento (tempo) in cui la chiave e' stata generata e la chiave stessa. I certificati pubblici contengono le chiavi pubbliche, mentre i certificati segreti contengono le chiavi segrete. Ogni chiave segreta e' anche cifrata con la propria frase chiave, nel caso venisse rubata. Un file di chiavi, o "portachiavi" contiene uno o piu' di questi certificati. Il portachiavi pubblico contiene certificati pubblici ed il portachiavi segreto contiene certificati segreti. Le chiavi sono anche indicate nel portachiavi con il loro "id di chiave", che e' un'abbreviazione della chiave pubblica (i 64 bits meno significativi). Quando questo id di chiave e' mostrato, per ulteriore semplicita' si usano solo gli ultimi 32. Mentre molte chiavi possono avere lo stesso ID (nome del proprietario), a tutti i fini pratici non ci sono due chiavi con lo stesso id di chiave. PGP usa una "selezione del messaggio" per creare le firme. Una selezione del messaggio e' una funzione del messaggio formata da 128 bits. E' qualcosa di simile ad un checksum o al codice di controllo per gli errori di CRC. In essa PGP "rappresenta il messaggio", e serve per controllare se sono avvenuti cambiamenti. A differenza del CRC, pero', non e' pensabile che un estraneo riesca a sostituire il messaggio con un'altro che produca la stessa selezione. La selezione del messaggio viene cifrata con la chiave segreta per formare la firma. I documenti sono firmati facendoli precedere dai certificati di firma, che contengono l'id di chiave della chiave usata per produrli, una selezione del messaggio firmata con la chiave segreta e il tempo in cui la firma e' stata fatta. L'id di chiave viene usato dal destinatario per trovare la chiave pubblica del mittente e controllare la firma. Il software del destinatario trova automaticamente la chiave pubblica e l'id di chiave nel portachiavi pubblico. I file cifrati sono preceduti dall'id di chiave della chiave pubblica usata per cifrarli. Il destinatario usa questo id di chiave per trovare la chiave segreta richiesta per decifrare il messaggio. Il suo software la trova automaticamente nel portachiavi segreto. Questi due tipi di portachiavi sono i metodi principali di conserva- zione e gestione delle chiavi pubbliche e private. Invece di tenere le singole chiavi in files separati, esse sono raccolte in portachiavi per facilitarne la ricerca automatica per id di chiave o ID. Ogni utilizzatore possiede la sua coppia di portachiavi. Una singola chiave pubblica e' tenuta in un file separato il tempo necessario per inviarla ad un vostro corrispondente che la aggiungera' al suo portachiavi. Installazione di PGP ==================== Il pacchetto di PGP rilasciato per MSDOS e' compresso in un file archivio del tipo PGPxx.ZIP (ogni versione ha un numero diverso al posto di "xx"). Per esempio, il pacchetto relativo a PGP 2.6.2 si chiama PGP262.ZIP. L'archivio puo' essere decompresso usando il software shareware PKUNZIP per MSDOS, o con il comando "unzip" per Unix. Quando il pacchetto e' decompresso, ne escono molti files. Uno di essi, chiamato README.DOC, dovrebbe sempre essere letto prima di procedere all'installazione. Questo file contiene le notizie dell'ultimo minuto sulle novita' di quella versione, come pure informazioni sugli altri files compresi nel pacchetto. Se avete gia' una versione precedente di PGP, dovreste rinominarla o cancellarla, per evitare conflitti . Per i dettagli completi sull'installazione di PGP, si veda la guida dedicata, nel file SETUP.DOC incluso nel pacchetto di questa versione. Essa descrive dettagliatamente come devono essere preparati la directory che conterra' PGP ed il vostro file AUTOEXEC.BAT, e come utilizzare PKUNZIP per effettuare l'installazione. Verra' dato qui un breve sommario, nel caso siate troppo impazienti per leggere subito il manuale dettagliato. Per installare PGP sul vostro sistema MSDOS, dovete copiare il file compresso PGPxx.ZIP nel vostro hard disk, in una directory che si presti alla bisogna (come c:\PGP)e decomprimerlo con PKUNZIP. Per ottenere risultati migliori dovreste anche modificare il vostro file AUTOEXEC.BAT, come descritto altrove in questa guida, ma potrete farlo piu' tardi, dopo aver provato PGP per un po' ed aver letto qualcosa in piu' in questo manuale. Se non avete mai usato PGP in precedenza, il primo passo dopo l'installazione (e la lettura di questo manuale), e' la generazione di una coppia di chiavi per voi stessi. Viene effettuata con il comando "pgp -kg". Leggete prima la sezione "Generazione della chiave RSA" del manuale. L'installazione in ambiente Unix o VAX/VMS e' generalmente simile a quella in MSDOS, ma potreste prima dover compilare il codice sorgente. Un makefile Unix e' fornito a questo scopo con il pacchetto del sorgente. Uso di PGP ========== Vedere un indice delle funzioni - ------------------------------- Per vedere un indice veloce delle funzioni di PGP, battete: pgp -h Criptare un messaggio - --------------------- Per criptare un file in chiaro con la chiave pubblica del destinatario, battete: pgp -e filetesto dest_ID Questo comando produce un file cifrato chiamato filetesto.pgp. Per esempio: pgp -e lettera.txt Alice or: pgp -e lettera.txt "Alice S" Il primo esempio cerca nel vostro portachiavi pubblico "pubring.pgp" un certificato di chiave che contenga la stringa "Alice" nella sezione degli ID. Il secondo esempio cerchera' "Alice S". Non e' possibile usare spazi nelle stringhe, a meno che non le chiudiate fra virgolette. La ricerca non tiene conto di maiuscole/minuscole. Se viene trovata una chiave che corrisponda all'ID, PGP la usa per cifrare il file "lettera.txt" e produrre il file "lettera.pgp". PGP tenta di comprimere il file in chiaro prima di cifrarlo, migliorando la resistenza alla criptoanalisi. Quindi e' probabile che il file cifrato sia piu' corto di quello in chiaro. Se volete inviare questo messaggio cifrato per e-mail, convertitelo in formato ASCII "radix-64" aggiungendo l'opzione -a, come descritto piu' avanti. Criptare un messaggio per diversi destinatari - --------------------------------------------- Se volete spedire lo stesso messaggio a piu' persone, potete indicare diversi destinatari, ognuno dei quali potra' decifrare lo stesso testo. Per fare questo basta aggiungere altri ID alla linea di comando. Cosi': pgp -e lettera.txt Alice Bob Carol Questo creera' il file cifrato lettera.pgp che potra' essere letto da Alice o Bob o Carol. Puo' essere indicato un numero qualunque di destinatari. Firmare un messaggio - -------------------- Per firmare un file in chiaro con la vostra chiave segreta, battete: pgp -s filetesto [-u mio_ID] Si noti che le [parentesi] indicano che un parametro e' opzionale, quindi non inseritele nel comando. Questo comando genera un file firmato chiamato filetesto.pgp. Esempio: pgp -s lettera.txt -u Bob PGP cerchera' un certificato di chiave nel vostro portachiavi segreto che contenga la stringa Bob nel campo ID. Naturalmente vi dovete chiamare Bob... La ricerca non tiene conto di maiuscole/minuscole. Se una chiave segreta corrispondente e' trovata, la si usa per firmare "lettera.txt" e produrre un file firmato "lettera.pgp". Se non mettete il vostro ID, verra' usata la prima chiave del vostro portachiavi segreto. PGP tenta di comprimere il messaggio dopo averlo firmato. E' quindi probabile che il file firmato sia piu' piccolo dell'originale, il che e' utile per le applicazioni di archivio. Pero', questo rende il file illeggibile anche se il messaggio originale era in chiaro. Sarebbe bello poter generare un file firmato, ma leggibile. Soprattutto se volete spedire un messaggio firmato via e-mail. Per firmare un messaggio e-mail, dove e' probabile che vogliate sia leggibile, e' probabilmente meglio usare la funzione CLEARSIG, spiegata piu' avanti. Questo permette che la firma sia apposta in forma leggibile alla fine del testo, e disabilita la compressione. Il testo e' quindi leggibile anche se il destinatario non usa PGP per controllare la firma. Questa funzione e' spiegata in dettaglio nella sezione "CLEARSIG - Messaggi firmati inseriti come testo in chiaro" nel "Volume II - Funzioni avanzate". Se non potete attendere di aver letto quella sezione, potete vedere il risultato con questo esempio: pgp -sta lettera.txt PGP creera' un messaggio cifrato nel file "lettera.asc" con il testo originale leggibile ed un certificato di firma ASCII. Il messaggio potra' essere spedito per e-mail. Questo esempio suppone che usiate le impostazioni normali per abilitare il flag CLEARSIG nel file di configurazione. Firmare e quindi criptare - ------------------------- Per firmare un file in chiaro con la vostra chiave segreta, e poi cifrarlo con la chiave segreta del destinatario: pgp -es filetesto dest_ID [-u mio_ID] Si noti che le [parentesi] indicano che un parametro e' opzionale, quindi non inseritele nel comando. Questo esempio produce un file annidato chiamato filetesto.pgp. La vostra chiave segreta per firmare e' trovata automaticamente nel portachiavi segreto. La chiave pubblica del destinatario e' trovata automaticamente nel portachiavi pubblico. Se non inserite il dest_ID nel comando, vi sara' richiesto. Se non inserite il vostro ID, verra' usata la prima chiave del vostro portachiavi segreto. Si noti che PGP tentera' di comprimere il testo prima di cifrarlo. Se volete inviare questo messaggio cifrato via e-mail, convertitelo in formato ASCII "radix-64" aggiungendo l'opzione -a, come descritto piu' avanti. Se volete spedire lo stesso messaggio a piu' persone, potete indicare diversi destinatari, ognuno dei quali potra' decifrare lo stesso testo. Usare solo la crittografia convenzionale - ---------------------------------------- A volte vi serve solo cifrare un file con i vecchi sistemi, con la crittografia a chiave singola. Puo' essere utile per proteggere i vostri archivi che non verranno spediti a nessuno. Sara' la stessa persona che ha cifrato i files a doverli decifrare, quindi non servira' un sistema a chiave pubblica. Per cifrare un file in chiaro con il sistema convenzionale, battere: pgp -c filetesto PGP creera' un file cifrato chiamato filetesto.pgp, senza usare crittografia a chiave pubblica, portachiavi, ID, o altre cose simili. Vi chiedera' una frase chiave da usare come chiave convenzionale. Non e' necessario che questa frase chiave sia la stessa che protegge la vostra chiave segreta (in effetti dovrebbe essere diversa). Si noti che PGP tentera' di comprimere il testo prima di cifrarlo. PGP non cifrera' lo stesso testo due volte nello stesso modo, anche se userete sempre la stessa frase chiave. Decrittare e controllare le firme - --------------------------------- Per decifrare un file cifrato, o per verificare l'integrita' della firma: pgp filecifrato [-o filechiaro] Si noti che le [parentesi] indicano che un parametro e' opzionale, quindi non inseritele nel comando. PGP assume che il file cifrato abbia estensione di default ".pgp". Il nome opzionale del file di uscita, specifica dove salvare il risultato decifrato. Se non e' specificato un nome, verra' usato il nome del file cifrato senza estensione. Se all'interno del file esiste una firma, questa e' decifrata e verificata, e viene visualizzato l'ID completo del mittente. Si noti che l'"apertura" del file cifrato e' completamente automatica, sia che il file sia firmato, o cifrato, o ambedue le cose. PGP usa l'id di chiave che precede il testo cifrato per trovare la chiave segreta nel vostro portachiavi. Se c'e' una firma annidata, PGP usa l'id di chiave per trovare la chiave corrispondente nel vostro portachiavi pubblico. Se vengono trovate tutte le chiavi non e' richiesto nessun intervento, eccetto per l'inserimento della vostra frase chiave. Se il file e' cifrato convenzionalmente PGP richiede la frase chiave per decifrarlo convenzionalmente. Gestire le chiavi ================= Dai tempi di Giulio Cesare, la gestione delle chiavi e' sempre stata la parte piu' difficile della crittografia. Una delle caratteristiche che distinguono PGP e' la sua gestione sofisticata delle chiavi. Generazione della chiave RSA - ---------------------------- Per generare la vostra coppia di chiavi pubblica/segreta di un formato specifico, battete: pgp -kg PGP vi presenta una scelta dei formati principali (sicurezza commerciale di basso livello, commerciale di alto livello, "militare") e vi chiede di scegliere il vostro formato, fino a 1024 bits. Piu' lunga e' la chiave, piu' siete al sicuro, ma pagate in velocita'. Quindi vi chiede un ID, il vostro nome. E' buona norma usare il vostro nome completo, perche' ci sono meno rischi che altre persone usino una chiave pubblica errata nel cifrare messaggi per voi. Si possono usare spazi e punteggiatura. Sarebbe utile che voi inseriste il vostro indirizzo e-mail fra dopo il vostro nome, cosi': Luigi Verdi Se non avete un indirizzo e-mail, usate il vostro numero di telefono, o qualunque altra informazione che renda il vostro ID unico. PGP vi chiede quindi una "frase chiave" che proteggera' la vostra chiave segreta se cadra' nelle mani sbagliate. Nessuno puo' usare la vostra chiave segreta senza frase chiave. La frase chiave e' come una parola chiave, solo che puo' essere una frase completa di spazi, punteggiatura o qualunque altra cosa. Non perdete la frase chiave, perche' non c'e' nessun modo di recuperarla. Questa frase vi servira' ogni volta che dovrete usare la vostra chiave segreta. La frase tiene conto di maiuscole/minuscole, e non dovrebbe essere troppo corta o facile da indovinare. Non e' mai mostrata sullo schermo. Non lasciatela scritta in posti dove altri potrebbero vederla, e non memorizzatela nel vostro computer. Se non volete una frase chiave (pazzi!) premete solo enter quando vi viene richiesta. La coppia di chiavi pubblica/segreta e' derivata da numeri molto casuali generati principalmente misurando l'intervallo fra le vostre battute con un timer veloce. PGP vi chiedera' di battere dei tasti a caso per permettergli di accumulare dei bits casuali per le chiavi. Quando vi verra' richiesto, dovrete battere alcuni tasti, ad intervalli ragionevolmente casuali, e non guasterebbe scegliere i caratteri irregolarmente. Parte della casualita' proviene dall'imprevedibilita' di cio' che batterete. Quindi non ripetete sequenze fisse di caratteri. Si noti che la generazione di chiavi RSA e' un processo lento. Potra' richiedere pochi secondi per una chiave piccola su di un processore veloce, o alcuni minuti per una chiave lunga su di un IBM PC/XT. PGP vi indichera' la situazione della generazione in corso. La coppia di chiavi generata sara' inserita nei vostri portachiavi pubblico e segreto. Voi potrete poi utilizzare il comando -kx per estrarre (copiare) la vostra nuova chiave pubblica dal portachiavi e piazzarla in un file per distribuirla ai vostri corrispondenti, che la inseriranno nei loro portachiavi. Naturalmente terrete la chiave segreta per voi e la dovreste inserire nel vostro portachiavi segreto. Ogni chiave segreta in un portachiavi e' protetta dalla sua specifica frase chiave. Non date a nessuno la vostra frase segreta, e per lo stesso motivo non generate coppie di chiavi per i vostri amici. Ognuno dovrebbe generare le proprie. Mantenete sempre il controllo materiale della vostra chiave segreta e non rischiate di esporla mettendola in un computer remoto con piu' utilizzatori contemporanei. Tenetela nel vostro personal computer. Se PGP non trova questa guida sul vostro computer e rifiuta di generare le chiavi, non agitatevi. Leggete la spiegazione del parametro NOMANUAL nella sezione "Preparare i parametri di configurazione" nel "Volume II - - Funzioni avanzate". Aggiungere una chiave al vostro portachiavi - ------------------------------------------- Volete aggiungere al vostro portachiavi una chiave che qualcuno vi ha dato sotto forma di file. Per aggiungere il contenuto di un file di chiavi al vostro portachiavi pubblico o segreto (le [parentesi] indicano campi opzionali): pgp -ka filechiavi [portachiavi] L'estensione di default per il file di chiavi e' ".pgp". Il nome di default del portachiavi e' "pubring.pgp" o "secring.pgp", secondo il contenuto del file di chiavi. Voi potete specificare un portachiavi diverso, con estensione di default ".pgp" Se la chiave e' gia' nel vostro portachiavi, PGP non la aggiungera' di nuovo. Tutte le chiavi presenti nel file saranno aggiunte, eccetto i duplicati. Piu' avanti nel manuale verra' spiegato il concetto di certificazione di chiavi con le firme. Se la chiave da aggiungere ha delle firme collegate che la certificano, queste verranno aggiunte al portachiavi. Se la chiave e' gia' presente nel portachiavi, PGP aggiungera' le eventuali firme di certificazione che ancora non avete. PGP e' stato progettato originalmente per maneggiare piccoli portachiavi. Se volete maneggiare quelli molto grandi, leggete la sezione "Maneggiare portachiavi molto grandi" del "Volume II - Funzioni avanzate" Togliere una chiave od un ID dal vostro portachiavi - --------------------------------------------------- Per rimuovere una chiave od un ID dal vostro portachiavi pubblico: pgp -kr ID [portachiavi] PGP cerca l'ID specificato nel vostro portachiavi e lo rimuove. Ricordatevi che e' sufficiente anche solo una parte dell'ID per trovarlo. Si assume che il nome del portachiavi sia "pubring.pgp". Puo' essere omesso, potete inserire "secring.pgp" se volete eliminare una chiave segreta, o potete inserire il nome di un altro portachiavi. L'estensione di default e' ".pgp". Se' esiste piu' di un ID per la chiave specificata, vi verra' richiesto se volete rimuovere solo quell'ID e lasciare gli altri e la chiave. Estrarre (copiare) una chiave dal vostro portachiavi - ---------------------------------------------------- Per estrarre (copiare) una chiave dal vostro portachiavi: pgp -kx ID filechiavi [portachiavi] PGP copia, senza distruggerle, le chiavi specificate dall'ID dal vostro portachiavi pubblico/segreto al file di chiavi specificato. E' particolarmente utile quando volete dare ad altri copia della vostra chiave pubblica. Se la chiave ha delle firme di certificazione allegate, queste sono copiate assieme alla chiave. Se volete che la chiave sia estratta in caratteri ASCII adatti ad essere spediti via e-mail, usate l'opzione -kxa. Vedere il contenuto del vostro portachiavi - ------------------------------------------ Per vedere il contenuto del vostro portachiavi: pgp -kv[v] [ID] [portachiavi] PGP mostra qualunque chiave del vostro portachiavi che contenga la stringa specificata nel campo ID. Se omettete l'ID, le mostra tutte. Si assume che il nome del portachiavi sia "pubring.pgp". Puo' essere omesso, potete inserire "secring.pgp" se volete vedere una chiave segreta, o potete inserire il nome di un altro portachiavi. L'estensione di default e' ".pgp". Piu' avanti nel manuale verra' spiegato il concetto di certificazione delle chiavi con le firme. Per vedere tutte le firme di certificazione, usate l'opzione -kvv: pgp -kvv [ID] [portachiavi] Se volete specificare un nome di portachiavi, ma vedere tutte le chiavi contenute, provate questa alternativa: pgp filechiavi Senza specificare opzioni, PGP mostra tutte le chiavi in filechiavi.pgp, e cerca di aggiungerle al vostro portachiavi, se non sono gia' presenti. Come proteggere il vostro portachiavi pubblico dalle manomissioni - ----------------------------------------------------------------- In un sistema di crittografia a chiave pubblica, non dovete proteggere le chiavi pubbliche dall'esposizione. In effetti e' meglio che siano diffuse capillarmente. E' importante pero' proteggere le chiavi dalla manomissione, per essere sicuri che una chiave pubblica appartenga realmente al suo supposto proprietario. Questo puo' essere il punto piu' vulnerabile del sistema a chiave pubblica. Ipotizziamo un potenziale disastro, e poi vediamo come evitarlo con PGP. Supponiamo che vogliate mandare un messaggio ad Alice. Vi procurate la sua chiave pubblica da una BBS. Cifrate la vostra lettera e la inviate via e-mail. Sfortunatamente, senza che voi od Alice lo sapeste, un altro utente di nome Charlie si e' infiltrato nella BBS ed ha generato una sua chiave pubblica usando l'ID di Alice. Di nascosto ha sostituito la sua chiave a quella di Alice. Quindi voi avete la chiave generata da Charlie e pensate sia di Alice. Tutto sembra normale, poiche' la chiave fasulla ha l'ID di Alice. Ora Charlie puo' decifrare il messaggio diretto ad Alice perche' ha la chiave segreta associata. Potrebbe anche ricifrarlo con la vera chiave pubblica di Alice e rimandarglielo. Nessuno potrebbe sospettare alcunche'. Ancora peggio, Charlie potrebbe produrre delle firme di Alice apparentemente valide, perche' tutti userebbero la chiave pubblica fasulla per verificarle. L'unico modo per prevenire questo disastro, e' quello di impedire a chiunque di manomettere le chiavi pubbliche. Se voi ricevete la chiave pubblica di Alice direttamente da Alice, nessun problema. Potrebbe pero' essere complicato se Alice abitasse a 1000 km di distanza, o non fosse comunque raggiungibile subito. Forse potreste ricevere la chiave pubblica di Alice da un comune amico fidato, David, che sa di averne una copia autentica. David potrebbe firmare la chiave di Alice, garantendone l'integrita'. David creerebbe la firma con la propria chiave segreta. Questo creerebbe un certificato di chiave pubblica firmato, e mostrerebbe che la chiave di Alice non e' stata manomessa. Naturalmente voi dovete avere una copia valida della chiave di David per controllare la sua firma. Forse David puo' anche fornire ad Alice una copia firmata della vostra chiave pubblica. David e' il "presentatore" tra voi ed Alice. Il certificato di chiave pubblica firmato di Alice puo' essere caricato da David o da Alice nella BBS, e voi potete ritrovarlo piu' tardi. Poi potete controllare la firma con la chiave pubblica di David ed essere sicuro che sia veramente la chiave pubblica di Alice. Nessun impostore puo' indurvi ad accettare una chiave fasulla di Alice, perche' nessuno puo' falsificare la firma di David. Una persona notoriamente fidata potrebbe perfino specializzarsi in questo servizio di "presentazione" tramite certificati di chiave pubblica firmati. Questa persona sarebbe un "gestore di chiavi", o un'"Autorita' di Certificazione". Ogni certificato di chiave pubblica recante la firma del gestore di chiavi potrebbe essere considerato come veramente appartenente al proprietario dichiarato. Tutti gli utilizzatori interessati avrebbero solo bisogno di una copia autentica della chiave pubblica del gestore di chiavi, per poter verificare la sua firma. Un gestore di chiavi fidato centralizzato o un'Autorita' di Certificazione e' particolarmente appropriato per grandi, impersonali organizzazioni controllate dal centro, o per le istituzioni governative. Alcuni ambienti istituzionali usano delle gerarchie di Autorita' di Certificazione. Per ambienti piu' decentralizzati e terra terra, stile "guerriglia", probabilmente funzionerebbe meglio permettere a qualunque utente di garantire per i propri amici. PGP tende ad enfatizzare questo approccio organico non istituzionale e decentralizzato. Riflette maggiormente il modo in cui gli esseri umani interagiscono fra loro nei normali rapporti sociali, e permette alle persone di scegliere quali sono le persone di cui si fidano per la gestione delle chiavi. Questo grosso problema della protezione delle chiavi pubbliche dalle manomissioni e' il problema piu' importante nell'applicazione pratica del sistema. E' il tallone di Achille della crittografia a chiave pubblica, e buona parte della complessita' del software e' dovuta alla necessita' di affrontarlo. Bisognerebbe usare una chiave pubblica solo quando si e' sicuri che sia originale e non manomessa, ed appartenga veramente al proprietario dichiarato. Potete essere sicuri di questo se ricevete la chiave direttamente dal proprietario, o se porta la firma di qualcuno di cui vi fidate e di cui gia' possedete una chiave pubblica sicura. Inoltre l'ID dovrebbe contenere il nome completo del proprietario della chiave, e non solo il nome di battesimo. Non importa quanto siate tentati-- e sarete tentati-- : mai, MAI cedere e fidarvi di una chiave pubblica ricevuta da una BBS se non e' firmata da qualcuno di cui vi fidate. Una chiave pubblica non certificata puo' essere stata manomessa da chiunque, forse perfino dall'amministratore della BBS. Se vi viene chiesto di firmare la chiave pubblica di qualcuno, assicuratevi che appartenga veramente al proprietario dichiarato nell'ID. Questo perche' con la vostra firma garantite personalmente che la chiave e' genuina. Altre persone che si fidano di voi accetteranno quella chiave perche' porta la vostra firma. Sarebbe sbagliato fidarvi di un "sentito dire". Non firmate quella chiave fino a quando non avrete prove indipendenti e di prima mano che sia genuina. Possibilmente dovreste firmarla solo se l'avete ricevuta direttamente dal proprietario. Per firmare una chiave pubblica, dovete essere molto piu' sicuri della sua autenticita' di quando volete solo usarla per cifrare un messaggio. Per essere convinti della genuinita' di una chiave abbastanza da usarla, dovrebbero essere sufficienti le firme di certificazione di persone fidate che la accompagnano. Per firmarla voi pero', dovreste ottenere una vostra conoscenza personale di prima mano di questa genuinita'. Forse potreste telefonare al proprietario e (naturalmente essendo sicuri di parlare con la persona giusta) leggergli la chiave per ottenerne conferma. Per i dettagli vedere la sezione "Verifica di una chiave attraverso il telefono" del "Volume II - Funzioni avanzate". Tenete in mente che la vostra firma sulla chiave pubblica di una persona non garantisce l'integrita' di quella persona, bensi' l'integrita' (la proprieta') della sua chiave. Voi non rischiate la vostra credibilita' firmando la chiave di uno psicopatico, se avete piena conoscenza che la chiave appartiene a lui. Altre persone accetteranno quella chiave come appartenente a lui perche' voi l'avete firmata, ma non si fideranno di lui. Fidarsi di una chiave non significa automaticamente fidarsi del suo proprietario. La fiducia non e' necessariamente trasferibile; io ho un amico fidato e so che non mente. E' una persona influenzabile che crede che il Presidente non menta. Questo non significa che io creda che il Presidente non menta. E' solo questione di buon senso. Se io mi fido della firma di Alice su una chiave, ed Alice si fida della firma di Charlie su una chiave, questo non implica che io mi debba fidare della firma di Charlie su una chiave. Sarebbe buona cosa tenere la vostra chiave pubblica assieme ad una buona collezione di firme di certificazione di diversi "presentatori", nella speranza che la maggioranza delle persone si fidera' di almeno uno fra coloro che garantiscono la validita' della chiave. Voi potrete distribuire la vostra chiave assieme a questa collezione di firme nelle varie BBS. Se firmerete la chiave di altri, rispeditela con la vostra firma, cosi' che i proprietari possano aggiungerla alla propria collezione di credenziali. PGP tiene conto di quali chiavi nel vostro portachiavi pubblico sono adeguatamente certificate con firme di presentatori di cui vi fidate. Tutto cio' che dovete fare e' dire a PGP di quali persone vi fidate come presentatori e certificare voi stessi le loro chiavi con la vostra firma. PGP da qui' validera' automaticamente tutte le chiavi firmate da questi presentatori. Naturalmente potete anche firmare voi direttamente delle chiavi. Altri dettagli piu' avanti. Siate sicuri che nessun altro possa manomettere il vostro portachiavi pubblico. Il controllo di un certificato di chiave firmato, alla fine dipende dall'integrita' della chiave pubblica fidata che appare gia' nel vostro portachiavi. Mantenete il controllo fisico del vostro portachiavi pubblico, preferibilmente tenendolo nel vostro PC piuttosto che in un sistema remoto con piu' utilizzatori contemporanei, proprio come dovreste fare con la vostra chiave segreta. Nel caso del portachiavi pubblico pero', si tratta di proteggerlo dalla manomissione, non dall'apertura. Tenete una copia di backup sicuramente valida dei vostri portachiavi su di un supporto protetto da scrittura. Siccome la vostra propria chiave pubblica e' l'autorita' suprema che, direttamente od indirettamente, certifica tutte le altre chiavi del vostro portachiavi, essa e' la chiave piu' importante da proteggere dalla manomissione. Per rilevare ogni manomissione su di essa, PGP puo' essere predisposto per compararla con una copia di backup su supporto protetto da scrittura. Per i dettagli vedere la descrizione del comando "-kc" nel "Volune II - Funzioni avanzate". PGP in generale presume che voi manteniate la sicurezza fisica del vostro sistema, dei vostri portachiavi e del PGP stesso. Se un abusivo puo' manomettere il vostro disco, in teoria puo' manomettere lo stesso PGP, disabilitando i controlli che esso puo' fare per verificare la manomissione delle vostre chiavi. Un sistema in un certo senso complicato per proteggere il vostro portachiavi pubblico dalle manomissioni puo' essere quello di firmarlo con la vostra chiave segreta. Potete creare un certificato di firma staccato del portachiavi pubblico, firmandolo con l'opzione "-sb" (si veda la sezione "Firme separate dai messaggi" nel "Volume II - Funzioni avanzate"). Sfortunatamente, dovrete sempre tenere una copia fidata separata della vostra chiave pubblica per poter verificare la vostra firma. Non potete fidarvi della vostra chiave pubblica presente nel portachiavi pubblico per verificare il portachiavi pubblico stesso. Esa fa parte di cio' che volete verificare. Come fa PGP a tener traccia delle chiavi valide? - ------------------------------------------------ Prima di leggere questa sezione dovete aver letto quella precedente: "Come proteggere il vostro portachiavi pubblico dalle manomissioni" PGP tiene conto di quali chiavi pubbliche nel vostro portachiavi sono adeguatamente certificate da firme fidate. Tutto cio' che dovete fare e' dire a PGP quali sono le persone di cui vi fidate come presentatori, e certificare voi stessi le loro chiavi con la vostra firma. PGP quindi valida tutte le chiavi firmate da queste persone. Ovviamente voi stessi potete firmare delle chiavi. Esistono due criteri separati che PGP usa per giudicare l'utilita' di una chiave pubblica. Attenzione a non confonderli: 1) La chiave appartiene veramente al proprietario dichiarato? In altre parole, e' certificata da una firma fidata? 2) Appartiene a qualcuno di cui vi fidate come presentatore? Mentre PGP puo' ricavare la risposta alla prima domanda, siete voi a dover fornire la risposta alla seconda. Avendo la risposta alla domanda 2, PGP puo' ricavare la risposta 1 per le chiavi firmate da persone indicate come fidate. Le chiavi certificate da presentatori fidati sono considerate valide da PGP. Le chiavi appartenenti a presentatori fidati devono esse stesse essere certificate da voi o da altri presentatori fidati. PGP vi da' anche la possibilita' di assegnare vari gradi di affidabilita' ai presentatori. La vostra fiducia in un proprietario di chiave per agire come presentatore non riflette semplicemente la vostra stima dell'integrita' di quella persona-- deve anche considerare la vostra valutazione della sua competenza nel capire la gestione delle chiavi e decidere se firmarle. Voi potete dire a PGP che una persona e' sconosciuta, non fidata, abbastanza fidata o completamente fidata per cio' che riguarda la certificazione di chiavi. Questa informazione e' conservata nel vostro portachiavi assieme alle chiavi corrispondenti, ma quando copiate delle chiavi dal vostro portachiavi pubblico queste informazioni non vengono estratte, perche' le vostre opinioni personali sono confidenziali. Quando PGP calcola la validita' di una chiave, esamina il livello di affidabilita' di tutte le firme collegate. Calcola un punteggio pesato di validita'-- 2 firme abbastanza fidate sono considerate credibili come una firma completamente affidabile. Lo scetticismo di PGP e' regolabile-- per esempio, potreste richiedere 2 firme completamente affidabili o 3 parzialmente affidabili per validare una chiave. La vostra chiave e' "assiomaticamente" valida per PGP, e non richiede firme per essere considerata valida. PGP sa qual e' la vostra chiave pubblica perche' trova quella segreta corrispondente nel vostro portachiavi segreto. PGP presume che voi vi fidiate di voi stessi come certificatori di altre chiavi. Col passare del tempo accumulerete chiavi di altre persone, e vorrete poterle indicare come presentatori fidati. Cosi' faranno tutti gli altri utenti. Quindi ognuno gradualmente accumulera' e distribuira' una collezione di certificati della propria chiave, nella speranza che ogni persona che la ricevera' si fidera' almeno di una o due firme fra quelle presenti. Questo causera' lo sviluppo di un sistema decentralizzato di fiducia per tutte le chiavi pubbliche. Questo approccio popolare contrasta fortemente con gli schemi standard di gestione delle chiavi pubbliche del Governo, come il PEM (Privacy Enhanced Mail), che sono basati sul controllo centrale e sulla fiducia centralizzata obbligatoria. Gli schemi standard si basano su di una gerarchia di Autorita' di Certificazione che vi impongono le persone di cui dovete fidarvi. Il metodo probabilistico decentralizzato di PGP per determinare la legittimita' delle chiavi pubbliche e' l'elemento centrale della sua gestione delle chiavi. PGP permette solo a voi di decidere di chi vi fidate, mettendovi al vertice della vostra propria piramide di certificatori. PGP e' per le persone che preferiscono piegare personalmente il proprio paracadute. Come proteggere il portachiavi segreto dall'apertura - ---------------------------------------------------- Proteggete attentamente la vostra chiave segreta e la vostra frase chiave. Molto, molto attentamente. Se la vostra chiave segreta viene compromessa spargete subito la voce fra tutte le persone interessate (buona fortuna) prima che qualcuno usi la vostra chiave per firmare a vostro nome. Per esempio potrebbero usarla per firmare delle chiavi pubbliche fasulle, creando problemi per molte persone, soprattutto se la vostra firma e' ritenuta fidata da molti utenti. Inoltre la compromissione della vostra chiave segreta renderebbe naturalmente vulnerabili tutti i messaggi che vi vengono inviati. Per proteggere la vostra chiave segreta potete cominciare col mantenerne il controllo fisico. Tenerla nel vostro PC a casa va bene, cosi' come nel notebook che vi portate appresso. Se dovete usare un PC sul lavoro e non ne avete il controllo fisico continuo, tenete la chiave in un floppy disk protetto da scrittura, e non lasciatelo in giro quando lasciate l'ufficio. Non e' una buona idea lasciare la vostra chiave in un sistema remoto con piu' utenti contemporanei, come una rete Unix. Qualcuno potrebbe sorvegliare la vostra linea e catturare la vostra frase chiave, quindi ottenere la vostra chiave segreta dal sistema remoto. Dovreste usare la vostra chiave segreta solo su di una macchina su cui mantenete il controllo fisico. Non scrivete la vostra frase chiave da nessuna parte sul computer che contiene il vostro portachiavi segreto. Mettere chiave segreta e frase chiave nello stesso computer sarebbe come scrivere il numero segreto della tessera Bancomat sulla tessera stessa. Voi non volete che qualcuno possa accedere ad un disco che contenga frase chiave e chiave segreta. Sarebbe piu' sicuro se memorizzaste la frase chiave e non la registraste da nessuna parte che non sia il vostro cervello. Se ritenete di doverla scrivere, proteggetela bene, forse meglio del portachiavi segreto. Tenete copie di backup del vostro portachiavi segreto-- ricordatevi che ne possedete l'unica copia, e perderla renderebbe inutili tutte le copie della vostra chiave pubblica che avete distribuito per il mondo. L'approccio decentralizzato non istituzionale di PGP alla gestione delle chiavi pubbliche ha i suoi vantaggi, ma implica purtroppo il non poter fare riferimento ad una lista centralizzata di chiavi compromesse. Questo rende un po' piu' difficile contenere il danno provocato da una chiave segreta compromessa. Potete solo spargere la voce e sperare che tutti la sentano. Nella situazione peggiore-- chiave segreta e frase chiave entrambe compromesse (si spera che in qualche modo ve ne accorgiate)-- dovrete generare un certificato di "chiave compromessa". Questo certificato serve ad avvisare le altre persone di smettere di usare la vostra chiave pubblica. Potete creare questo certificato con PGP usando il comando "-kd". Dovrete in qualche modo inviare questo certificato a tutti gli utilizzatori, o almeno agli amici, agli amici degli amici, ecc.. Il loro PGP installera' questo certificato nel loro portachiavi pubblico e impedira' automaticamente l'uso accidentale della vostra chiave pubblica per sempre. Voi potrete poi generare una nuova coppia di chiavi pubblica/segreta e pubblicare la nuova chiave pubblica. Potreste anche distribuire un pacchetto contenente la vostra nuova chiave pubblica ed il certificato di compromissione di quella vecchia. Revocare una chiave pubblica - ---------------------------- Supponete che la vostra chiave segreta e la vostra frase chiave siano entrambe compromesse. Dovete spargere la voce nel resto del mondo, in modo che tutti smettano di usare la vostra chiave pubblica. Per fare questo dovete generare un certificato di "chiave compromessa" o "chiave revocata" per revocarla. Per generare un certificato di revoca della vostra chiave, usate il comando -kd: pgp -kd mio_ID Questo certificato reca la vostra firma fatta con la chiave che volete revocare. Dovreste distribuirlo capillarmente appena possibile. Altre persone che lo riceveranno potranno aggiungerlo al proprio portachiavi pubblico e PGP impedira' loro di usare ancora accidentalmente la vostra vecchia chiave. A questo punto potrete generare una nuova coppia di chiave pubblica/segreta. Potreste decidere di revocare la vostra chiave per ragioni diverse dalla compromissione della chiave segreta. Usate lo stesso procedimento. Cosa fare se perdete la vostra chiave segreta? - ---------------------------------------------- Normalmente, se volete revocare la vostra chiave, potete usare il comando "-kd" per generare un certificato di revoca firmato con la stessa chiave (si veda "Revocare una chiave pubblica). Cosa potete fare se avete perso la vostra chiave segreta o se e' stata distrutta? Non potete revocarla voi, perche' dovreste usare proprio quella chiave, e non ne siete piu' in possesso. Una versione futura di PGP offrira' un metodo piu' sicuro per revocare chiavi in queste circostanze, permettendo ai presentatori fidati di dichiarare che una chiave e' stata revocata. Per ora dovrete spargere la voce con qualunque mezzo informale conosciate, chiedendo agli utilizzatori di "disabilitare" la vostra chiave nei loro portachiavi pubblici. Gli altri utilizzatori possono disabilitare la vostra chiave pubblica nei propri portachiavi pubblici con il comando "-kd". Se si specifica un ID che non corrisponde ad una chiave segreta nel portachiavi segreto, il comando -kd cerca l'ID nel portachiavi pubblico e contrassegna la chiave come disabilitata. Una chiave disabilitata non puo' essere usata per cifrare messaggi e non puo' essere estratta con il comando -kx. Puo' ancora essere usata per controllare una firma, ma viene visualizzato un richiamo. Se l'utilizzatore cerca di aggiungere di nuovo la stessa chiave al proprio portachiavi pubblico, non gli e' permesso perche' la chiave disabilitata e' gia' presente. Queste funzioni combinate aiutano a limitare la successiva diffusione di una chiave disabilitata. Se la chiave pubblica specificata e' gia' disabilitata, il comando -kd vi chiedera' se volete riabilitarla. Funzioni avanzate ================= La maggior parte delle "Funzioni avanzate" e' descritta nel "Volume II - - Funzioni avanzate". Eccone pero' alcune che meritano di essere citate qui. Invio di testo cifrato via e-mail: il formato Radix-64 - ------------------------------------------------------ Molti sistemi di posta elettronica accettano solo testo ASCII, e non i dati binari ad 8 bits che costituiscono il testo cifrato. Per superare il problema, PGP supporta il formato ASCII radix-64 per testi cifrati, simile al formato PEM (Privacy Enhanced Mail) per Internet, cosi' come al formato Internet MIME. Questo formato speciale rappresenta i dati binari utilizzando solo caratteri ASCII stampabili, sicche' e' utile per trasmettere file cifrati binari tramite canali a 7 bits o per inviare dati binari come testo di e-mail. Questo formato si comporta come una forma di "armatura di trasporto" che protegge il testo contro i danni causati dal viaggio attraverso i vari sistemi od Internet. PGP aggiunge anche un CRC per verificare eventuali errori di trasmissione. Il formato radix-64 converte il testo espandendo gruppi di 3 bytes binari da 8 bits in 4 caratteri ASCII stampabili, sicche' il file cresce di circa il 33%. Questa espansione non e' cosi' grave, poiche' il file e' gia' stato probabilmente compresso di piu' prima di essere cifrato. Per produrre un file cifrato in formato ASCII radix-64, aggiumgere l'opzione "a" quando si cifra o si firma un messaggio, cosi': pgp -esa lettera.txt dest_ID Questo esempio produce un file cifrato "lettera.asc" contenente dati in formato ASCII radix-64 simile al MIME. Questo file puo' essere maneggiato da qualunque editor di testo per essere trasmesso via e-mail. La decifrazione di un messaggio con armatura di trasporto radix-64 e' uguale a quella normale. Esempio: pgp lettera PGP cerca automaticamente il file ASCII "lettera.asc" prima di cercare "lettera.pgp". Riconosce che il file e' in formato radix-64 e lo riconverte in binario prima di processarlo normalmente, producendo un file cifrato temporaneo ".pgp". Il risultato finale e' un file in chiaro, esattamente come il messaggio originale "lettera.txt". La maggior parte dei servizi e-mail su Internet proibisce l'invio di messaggi piu' lunghi di 50000 o 65000 bytes. I messaggi piu' lunghi devono essere spezzati in blocchi piu' piccoli da spedire separatamente. Se il vostro messaggio e' molto lungo e voi richiedete il formato radix-64, PGP lo spezza in blocchi sufficientemente piccoli da poter essere spediti. I blocchi sono posti in files con estensione ".as1", ".as2", ".as3", ecc. Il destinatario dovra' concatenare questi files nel giusto ordine in un unico file piu' grande. Durante la decifrazione, PGP ignorera' tutto il testo estraneo non compreso nei blocchi di messaggio radix-64. Se volete inviare una chiave pubblica a qualcuno usando il formato radix-64, aggiungete l'opzione -a quando estraete la chiave dal portachiavi. Se dimenticate di usare l'opzione -a quando cifrate un testo o estraete una chiave, potete ancora convertire il file in radix-64 semplicemente usando l'opzione -a da sola, senza richiedere nessuna cifratura. PGP convertira' il vostro file in un file ".asc". Se firmate un testo in chiaro senza cifrarlo, PGP lo comprimera' dopo averlo firmato, rendendolo illeggibile. Questo va bene per applicazioni di archiviazione di files firmati. Se pero' volete inviare il file per e-mail, ed il file e' in formato testo (non binario); e' possibile inviarlo senza comprimerlo ed applicare l'armatura ASCII solo alla firma. Questo rende possibile al destinatario leggere il messaggio senza l'aiuto di PGP. Naturalmente PGP servira' per controllare la firma. Per maggiori informazioni su questa funzione, si veda la spiegazione del parametro CLEARSIG nella sezione "Preparare i parametri di configurazione" nel "Volume II - Funzioni avanzate". Se voleste inviare un file binario per e-mail senza cifrarlo o firmarlo, potreste utilizzare uuencode, come fanno molti. PGP puo' anche svolgere questa funzione, usando l'opzione -a da sola, e svolge un lavoro migliore di uuencode. Per i dettagli, si veda la sezione "Usare PGP come un uuencode migliore, nel "Volume II - Funzioni avanzate." Variabile di ambiente per il percorso (path) - -------------------------------------------- PGP utilizza per il suo funzionamento diversi files speciali, come i vostri portachiavi, il file di numeri casuali "randseed.bin", il file di configurazione "config.txt" (o "pgp.ini", o ".pgprc"), ed il file di traduzione "language.txt". Questi files possono essere tenuti in qualsiasi directory, inserendone il nome nella variabile di ambiente "PGPPATH". Per esempio in ambiente MSDOS, il comando: SET PGPPATH=C:\PGP dice a PGP che il nome del vostro portachiavi pubblico e' "C:\PGP\pubring.pgp". Ovviamente se questa directory esiste. Usate il vostro editor di testo preferito per modificare il vostro file AUTOEXEC.BAT in MSDOS in modo che assegni automaticamente il valore giusto della variabile all'avviamento del sistema. Se PGPPATH non e' definita, PGP cerchera' i files speciali nella directory corrente. Impostare parametri nel file di configurazione di PGP - ----------------------------------------------------- PGP ha dei parametri impostabili dall'utente che possono essere definiti in uno speciale file di configurazione chiamato "config.txt", situato nella directory definita in PGPPATH. Questo file permette all'utente di definire diversi flags e parametri che verranno utilizzati da PGP senza dover sempre essere immessi nella linea di comando. Per poter essere compatibile con i diversi sistemi operativi, il file puo' anche essere chiamato ".pgprc" in ambiente Unix, o "pgp.ini" in ambiente MSDOS. Con questi parametri di configurazione, potete ad esempio stabilire dove PGP salvera' i suoi files temporanei, che lingua PGP utilizzera' per dare istruzioni e messaggi, oppure potrete stabilire il livello di scetticismo di PGP nel determinare la validita' di una chiave dalle firme di certificazione. Per maggiori dettagli su questo file di configurazione, si veda la sezione relativa nel "Volume II - Funzioni avanzate. Vulnerabilita' - -------------- Nessun sistema di sicurezza e' inviolabile. PGP puo' essere reso non efficace in molti modi. Le vulnerabilita' potenziali di cui dovreste tener conto, comprendono la compromissione della vostra chiave segreta o della vostra frase chiave, la manomissione della vostra chiave pubblica, i files che dopo essere stati cancellati esistono ancora da qualche parte sul disco, i virus ed i cavalli di Troia, le falle nel vostro sistema di sicurezza, le emissioni elettromagnetiche, l'esposizione tipica dei sistemi multiutente, l'analisi del traffico, e forse anche l'analisi crittografica. Per un'analisi dettagliata di questi punti, si veda la sezione "Vulnerabilita'" nel "Volume II - Funzioni avanzate" Attenzione all'"olio di serpente" ================================= Quando si esamina un programma di crittografia, rimane sempre la domanda: perche' dovrei fidarmi di questo prodotto? Anche se esaminate direttamente il codice sorgente, non tutti abbiamo un'esperienza sufficiente in crittografia per poter giudicare il livello di sicurezza. Anche se siete un crittografo esperto, possono ancora sfuggirvi delle piccole debolezze degli algoritmi. Quando ero al college all'inizio degli anni 70, sviluppai quello che credevo fosse uno schema brillante di crittografia. Una serie di numeri pseudo casuali veniva aggiunta al testo in chiaro per creare il testo cifrato. Questo avrebbe presumibilmente ingannato qualunque sistema di analisi in frequenza del testo cifrato, e sarebbe stato inviolabile anche dalle agenzie di Informazione Governative piu' ricche di risorse. Ero cosi' compiaciuto della mia realizzazione. Cosi' stupidamente sicuro. Anni dopo, scoprii lo stesso schema in diversi testi introduttivi alla crittografia. Che bello. Altri crittografi avevano pensato allo stesso schema. Sfortunatamente lo schema era presentato come un semplice esercizio su come utilizzare le tecniche di analisi crittografica elementare per violarlo in modo triviale. Il mio brillante schema. Da questa esperienza mortificante imparai quanto fosse facile cadere in un falso senso di sicurezza fidandosi di un algoritmo di crittografia. La maggior parte delle persone non capisce quanto sia difficile sviluppare un algoritmo che possa affrontare un attacco prolungato e determinato da parte di un avversario ricco di risorse. Molti sviluppatori software di grido hanno realizzato schemi di crittografia ingenui come il mio (spesso proprio lo stesso), ed alcuni di loro lo hanno inserito in pacchetti software commerciali di crittografia e venduto per denaro a migliaia di utilizzatori fiduciosi. E' come vendere cinture di sicurezza per automobile che sembrano ottime ma si strappano in occasione del piu' piccolo urto. Dipendere da loro puo' essere peggio che non indossare del tutto le cinture. Nessuno sospetta che siano inaffidabili fino al primo incidente. Dipendere da un software crittografico debole puo' portarvi a mettere a rischio senza saperlo informazioni importanti. Non l'avreste fatto se non aveste avuto del tutto un software crittografico. Addirittura potreste non scoprire mai che i vostri dati sono stati compromessi. A volte i pacchetti commerciali usano il DES (Federal Data Encription Standard), un algoritmo commerciale abbastanza buono raccomandato dal Governo per l'uso commerciale (ma non per le informazioni classificate, stranamente-- hmmm). Ci sono diversi "modi operativi" nel DES, alcuni migliori di altri. Il Governo raccomanda specificamente di non usare il modo piu' semplice e debole, l'ECB (Electronic Codebook). Raccomanda invece di usare i piu' robusti e complessi CFB (Cipher Feedback) e CBC (Cipher Block Chaining). Sfortunatamente la maggior parte dei pacchetti commerciali di crittografia che ho visto usa il modo ECB. Parlando con gli autori di queste implementazioni, ho saputo che non avevano mai sentito nominare CBC o CFB, e non sapevano niente della debolezza dell'ECB. Il fatto che essi non avessero imparato abbastanza sulla crittografia per conoscere questi concetti elementari non e' rassicurante. A volte gestiscono anche le chiavi in maniera impropria o insicura. In piu' questi pacchetti contengono spesso un secondo algoritmo piu' veloce da utilizzare al posto del piu' lento DES. L'autore del pacchetto spesso crede che il suo algoritmo sia sicuro come il DES, ma dopo poche domande, di solito scopro che e' solo una variazione del mio brillante schema dei tempi del college. A volte non mi rivelano neppure come il loro algoritmo funziona, ma mi assicurano che e' uno schema brillante e che devo fidarmi. Io sono sicuro che loro credano che l'algoritmo sia brillante, ma come posso saperlo senza vederlo? In tutta franchezza devo sottolineare che nella maggior parte dei casi questi prodotti terribilmente deboli non sono venduti da societa' specializzate in tecnologia crittografica. Perfino i pacchetti di software veramente buoni, che usano il DES nel modo corretto, hanno ancora dei problemi. Il DES standard utilizza una chiave di 56 bits, troppo pochi per gli standard odierni, che puo' essere violata facilmente con metodi di ricerca intensiva e macchine ad alta velocita'. Il DES ha raggiunto la fine della sua vita utile, e cosi' e' per ogni software basato su di esso. Una ditta di nome AccessData (87 East 600 South, Orem, Utah 84058, tel. +1-800-658-5199) vende per 185$ un pacchetto che viola gli schemi di crittografia usati da WordPerfect, Lotus 1-2-3, MS Excel, Symphony, Quattro Pro, Paradox e MS Word 2. Esso non si limita ad indovinare la parola chiave, ma esegue una vera analisi crittografica. Alcune persone lo comprano dopo aver dimenticato la parola chiave per accedere ai propri files. Le forze di Polizia comprano lo stesso pacchetto per poter leggere i files che sequestrano. Ho parlato con Eric Thompson, l'autore, e mi ha detto che il programma impiega una frazione di secondo per rompere il codice, ma che lui ha inserito dei ritardi per non farlo sembrare troppo facile. Mi ha anche detto che la parola chiave opzionale di PKZIP puo' spesso essere violata facilmente, e che le forze di Polizia hanno usufruito sovente di questo servizio fornito da un altro venditore. In un certo senso, la crittografia e' come un farmaco. La sua integrita' e' fondamentale. La penicillina guasta ha lo stesso aspetto di quella buona. Voi potete giudicare se il vostro programma di contabilita' sbaglia, ma come potete dire se il vostro programma di crittografia e' debole? Il testo cifrato prodotto da un algoritmo debole ha lo stesso aspetto di quello prodotto da un algoritmo forte. C'e' un mucchio di olio di serpente in vendita. Un mucchio di cure "miracolose". Solo che, a differenza dei venditori di medicine dei vecchi tempi, gli sviluppatori di software normalmente non sanno che cio' che usano e' olio di serpente. Possono essere degli ottimi tecnici, ma di solito non hanno letto niente della letteratura accademica sulla crittografia. Pero' pensano di poter scrivere del buon software crittografico. E in fondo, perche' no? Dopo tutto sembra intuitivamente facile, ed il loro software sembra funzionare bene. Chiunque pensi di aver sviluppato uno schema di cifratura inattaccabile, puo' essere un genio incredibilmente raro, oppure e' ingenuo ed inesperto. Sfortunatamente devo trattare a volte con degli aspiranti crittografi che vogliono apportare "miglioramenti" a PGP aggiungendo degli algoritmi di cifratura sviluppati da loro. Ricordo una conversazione con Brian Snow, un crittografo di alto livello della NSA. Mi disse che non si sarebbe mai fidato di un algoritmo di cifratura sviluppato da qualcuno che non si fosse fatto le ossa spendendo un mucchio di tempo a violare codici. Questo ha molto senso. Io osservai che praticamente nessuno sviluppatore commerciale poteva qualificarsi secondo questo criterio. "Esatto" mi rispose sorridendo, "e questo rende il nostro lavoro alla NSA molto piu' semplice". Un pensiero raggelante. Neanche io sono qualificato. Anche il Governo ha distribuito olio di serpente. Dopo la seconda guerra mondiale, gli Stati Uniti hanno venduto le macchine cifratrici tedesche Enigma ad alcuni governi del terzo mondo. Non e' stato pero' detto loro che gli Alleati avevano gia' violato il codice Enigma durante la guerra, fatto che e' rimasto classificato per molti anni. Ancora oggi molti sistemi Unix in tutto il mondo usano la cifratura Enigma per i files, in parte anche perche' il Governo ha creato ostacoli legali all'uso di algoritmi migliori. Hanno anche tentato di impedire la prima pubblicazione nel 1972 dell'algoritmo RSA. Inoltre hanno di fatto spento sul nascere qualunque sforzo commerciale volto a sviluppare telefoni effettivamente sicuri per l'uso generale. Il lavoro principale della NSA consiste nella raccolta di informazioni (si veda il libro di James Bamford, "The Puzzle Palace"). La NSA ha accumulato capacita' e risorse per violare codici. Se le persone non possono accedere a sistemi crittografici di qualita' per proteggere se' stesse, il lavoro della NSA e' molto piu' facile. La NSA e' anche responsabile per la raccomandazione e l'approvazione degli algoritmi di cifratura. Qualche critico sostiene che questo sia un conflitto di interessi, come mettere la volpe a guardia del pollaio. La NSA ha cercato di promuovere un algoritmo di crittografia convenzionale di suo sviluppo, senza dire a nessuno come funziona perche' e' classificato. Essi vogliono che altri si fidino di esso e lo usino. Qualunque crittografo pero', potra' dirvi che un algoritmo valido non ha bisogno di essere classificato per rimanere sicuro. Solo la chiave necessita di protezione. Come si fa a sapere se l'algoritmo della NSA e' veramente sicuro? Non e' cosi' difficile per la NSA progettare un algoritmo di cifratura violabile solo da loro se nessuno puo' vederlo. Che stiano deliberatamente vendendo olio di serpente? Sono tre i fattori principali che hanno minato la qualita' del software crittografico prodotto negli Stati Uniti. Il primo e' la mancanza di competenza virtualmente universale degli sviluppatori del software crittografico commerciale (sebbene questo abbia iniziato a cambiare dopo la pubblicazione di PGP). Ogni tecnico software pensa di essere un crittografo, e questo ha portato alla proliferazione di software molto scadente. Il secondo fattore e' la soppressione deliberata e sistematica da parte dell'NSA di tutte le tecnologie crittografiche commerciali di valore, per mezzo dell'intimidazione legale e della pressione economica. Parte di questa pressione e' esercitata applicando stringenti controlli alle esportazioni del software crittografico, il che, nell'economia di mercato, ha l'effetto diretto di sopprimere anche il mercato interno. Il terzo metodo di soppressione deriva dal concedere i diritti di utilizzo di tutti gli algoritmi di crittografia a chiave pubblica ad una sola azienda, dovendo cosi' controllare un solo punto critico per frenare la diffusione di questa tecnologia. L'effetto di tutto questo e' che prima della pubblicazione di PGP non c'era praticamente nessun software di crittografia di alta sicurezza per uso generale disponibile negli Stati Uniti. Io non sono sicuro della sicurezza di PGP come lo ero del mio brillante software di crittografia del college. Se lo fossi sarebbe un cattivo segno. Sono pero' abbastanza sicuro che PGP non contenga vistose debolezze (sebbene possa contenere errori). L'algoritmo di crittografia e' stato sviluppato da persone di alto livello nel mondo accademico della crittografia civile, ed e' stato sottoposto a controlli intensivi da esperti loro pari. Il codice sorgente e' disponibile per facilitare questo tipo di verifica e per aiutare a dissolvere le paure di alcuni utenti. E' stato sottoposto ad indagini ragionevolmente accurate, ed ha richiesto anni di sviluppo. Inoltre io non lavoro per la NSA. Spero che per fidarvi di PGP non vi sia richiesto un "atto di fede" troppo impegnativo. Nota per gli utilizzatori di Macintosh ====================================== PGP e' stato sviluppato originalmente per macchine MSDOS e Unix. C'e' anche una versione per Apple Macintosh. Questo manuale e' scritto per la versione MSDOS/Unix, che usa un'interfaccia a linea di comando per richiamare tutte le funzioni di PGP. Sul Mac, tutte le funzioni sono richiamate da menu' a tendina e finestre di dialogo. C'e' un help on-line e dovrebbe esserci della documentazione aggiuntiva a questo manuale specifica per il Mac nel pacchetto dedicato. Quasi tutti i buoni applicativi per Mac sono stati scritti da capo, e non semplicimente adattati partendo da altri sistemi operativi. Sfortunatamente questo non e' il caso dell'attuale versione di PGP per Mac. Essa e' stata portata su Mac da MSDOS/Unix da Zbigniew Fiedorwicz. Non essendo la versione MSDOS/Unix progettata per il GUI (Graphical User Interface), l'adattamento a Mac non e' stato un lavoro semplice, e ci sono ancora degli errori. E' in corso di sviluppo una versione completamente nuova, progettata per adattarsi facilmente al GUI. Da questo nuovo codice sorgente di PGP verra' sviluppata una nuova versione per Mac. Sara' piu' in "stile Mac" e piu' affidabile. Nonostante gli errori della versione attuale di MacPGP, e' importante notare che se Zbigniew avesse aspettato che questa versione di PGP completamente nuova fosse sviluppata, il mondo sarebbe stato privato di una versione Mac per veramente troppo tempo. Guida rapida di PGP =================== Ecco una guida rapida ai comandi di PGP. Per cifrare un testo in chiaro con la chiave pubblica del destinatario: pgp -e filetesto dest_ID Per firmare un testo in chiaro con la vostra chiave segreta: pgp -s filetesto [-u mio_ID] Per firmare un testo in chiaro con la vostra chiave segreta, e produrre un messaggio in chiaro firmato adatto ad essere spedito via e-mail: pgp -sta filetesto [-u mio_ID] Per firmare un testo in chiaro con la vostra chiave segreta, e poi cifrarlo con la chiave pubblica del destinatario: pgp -es filetesto dest_ID [-u mio_ID] Per cifrare un testo in chiaro con la crittografia convenzionale: pgp -c filetesto Per decifrare un file, o per controllare l'integrita' di un file firmato: pgp filecifrato [-o filechiaro] Per cifrare un messaggio per un numero qualunque di destinatari: pgp -e filetesto dest1_ID dest2_ID dest3_ID ....... - --- Comandi di gestione delle chiavi: Per generare la vostra coppia di chiavi pubblica/segreta: pgp -kg Per aggiungere il contenuto di un file di chiavi pubbliche/segrete al vostro portachiavi pubblico/segreto: pgp -ka filechiavi [portachiavi] Per estrarre (copiare) una chiave dal vostro portachiavi pubblico o segreto: pgp -kx ID filechiavi [portachiavi] or: pgp -kxa ID filechiavi [portachiavi] Per vedere il contenuto del vostro portachiavi pubblico: pgp -kv[v] [ID] [portachiavi] Per vedere l'"impronta digitale" di una chiave pubblica, per verificarla al telefono con il suo proprietario: pgp -kvc [ID] [portachiavi] Per vedere il contenuto e verificare le firme del vostro portachiavi pubblico: pgp -kc [ID] [portachiavi] Per modificare l'ID o la frase chiave della vostra chiave segreta: pgp -ke ID [portachiavi] Per modificare i parametri di affidabilita' di una chiave pubblica: pgp -ke ID [portachiavi] Per rimuovere una chiave od un ID dal vostro portachiavi pubblico: pgp -kr ID [portachiavi] Per firmare e certificare una chiave altrui nel vostro portachiavi pubblico: pgp -ks suo_ID [-u mio_ID] [portachiavi] Per rimuovere delle firme da un ID in un portachiavi: pgp -krs ID [portachiavi] Per revocare permanentemente la vostra chiave, rilasciando un certificato di compromissione: pgp -kd mio_ID Per disabilitare o riabilitare una chiave pubblica nel vostro portachiavi pubblico: pgp -kd ID - --- Comandi esoterici: Per decifrare un messaggio e lasciarne la firma intatta: pgp -d filecifrato Per creare un certificato di firma separato dal documento: pgp -sb filetesto [-u mio_ID] Per staccare il certificato di firma da un messaggio firmato: pgp -b filecifrato - --- Opzioni di comando da usare in combinazione con altre (formando a volte parole interessanti!) Per produrre un file cifrato in formato ASCII radix-64, aggiungere l'opzione -a quando lo si cifra, lo si firma, o si estrae una chiave: pgp -sea filetesto dest_ID or: pgp -kxa ID filechiavi [portachiavi] Per cancellare il testo in chiaro dopo averlo cifrato, aggiungere l'opzione -w (wipe) quando lo si cifra o lo si firma: pgp -sew lettera.txt dest_ID Per specificare che un testo in chiaro contiene solo testo ASCII, non binario, e che dovra' essere convertito in testo dal destinatario, aggiungere l'opzione -t (text) alle altre: pgp -seat lettera.txt dest_ID Per vedere il testo decifrato sullo schermo senza salvarlo in un file, come con il comando "more", usare l'opzione -m (more) quando si decifra: pgp -m filecifrato Per specificare che il destinatario potra' SOLO vedere il testo decifrato, e non salvarlo su disco, aggiungere l'opzione -m: pgp -steam lettera.txt dest_ID Per recuperare il nome originale del file di testo quando lo si decifra, aggiungere l'opzione -p: pgp -p filecifrato Per usare un filtro tipo Unix, leggendo da uno standard input e scrivendo in uno standard output, aggiungere l'opzione -f: pgp -feast dest_ID outputfile Aspetti legali ============== Per informazioni dettagliate su licenza, distribuzione, diritti di copia, brevetti, marchio, limitazioni di responsabilita' e controlli sull'esportazione di PGP(tm), si veda la sezione "Aspetti legali" del "Volume II - Funzioni avanzate". PGP impiega un algoritmo a chiave pubblica protetto dal brevetto U.S. #4,405,829. I diritti di licenza esclusiva di questo brevetto appartengono ad una societa' di nome Public Key Partners (PKP), e voi potreste violare questi diritti usando PGP in USA senza licenza. Queste questioni sono dettagliate nel Volume II, e nella licenza RSAREF allegata alla versione freeware di PGP. PKP ha concesso ad altri lo sfruttamento del brevetto. Tra essi la societa' ViaCrypt, di Phoenix, Arizona. ViaCrypt vende una versione con licenza piena di PGP, e puo' esser raggiunta per telefono al 602-944-0773. PGP e' un freeware stile "guerriglia", e non mi dispiace se lo distribuite abbondantemente. Solo, non chiedetemi di mandarvene una copia. Piuttosto, potete cercarvela da soli in molte BBS, ed in molti siti FTP su Internet. Prima di distribuire il software, e' pero' essenziale che comprendiate bene le regole ed i controlli degli Stati Uniti sull' esportazione del software di crittografia. Riconoscimenti ============== Per fermare PGP sono stati schierati ostacoli formidabili e forze potenti. Alcune persone impegnate stanno aiutando a superare questi ostacoli. PGP e' diventato conosciuto come "software sommerso", e il portarlo "in superficie" come freeware provvisto di licenza ha richiesto pazienza e perseveranza. Vorrei specialmente ringraziare Hal Abelson, Jeff Schiller, Brian LaMacchia e Derek Atkins del MIT per la determinazione dei loro sforzi. Vorrei anche ringraziare Jim Bruce e David Litster dell'amministrazione del MIT, Bob Prior e Terry Ehling dell'ufficio stampa, sempre del MIT. E infine vorrei ringraziare l'intero gruppo dei miei difensori legali, il cui lavoro non e' ancora finito. Io raccontavo un mucchio di barzellette sugli avvocati, prima di incontrare tanti esempi positivi fra gli avvocati del mio collegio di difesa, molti dei quali lavorano gratis. Lo sviluppo di PGP si e' trasformato in un fenomeno sociale di rilievo, la cui attrazione di carattere politico ha ispirato gli sforzi collettivi di un numero di programmatori volontari sempre crescente. Vi ricordate la storia infantile chiamata "la zuppa di pietre"? Vorrei ringraziare le persone seguenti per il loro contributo alla creazione di PGP. Sebbene io sia l'autore della versione 1.0, la maggior parte del contenuto delle versioni seguenti e' stata sviluppata con uno sforzo di collaborazione internazionale che ha coinvolto un gran numero di persone, sotto la mia guida di progetto. Branko Lankester, Hal Finney e Peter Gutmann hanno speso una quantita' enorme del loro tempo ad aggiungere funzioni a PGP 2.0, e lo hanno adattato a Unix. Hugh Kennedy lo ha adattato al VAX/VMS, Lutz Frank all'Atari ST, Cor Bosman e Colin Plumb al Commodore Amiga. La traduzione di PGP dall'Inglese e' stata fatta da Jean-Loup Gailly in Francia, Armando Ramos in Spagna, Felipe Rodriguez Svensson e Branko Lankester in Olanda, Miguel Angel Gallardo in Spagna, Hugh Kennedy e Lutz Frank in Germania, David Vincenzetti in Italia (per la versione 2.3; N.d.T.), Harry Bush e Maris Gabalins in Lettonia, Zygimantas Cepaitis in Lituania, Peter Suchkow e Andrew Chernov in Russia, e Alexander Smishlajev in Esperanto. Peter Gutman ha offerto di scrivere la traduzione in Inglese Neozelandese, ma si e' deciso che puo' andare bene in Inglese Americano. Jean-Loup Gailly, Mark Adler e Richard B. Wales hanno pubblicato il codice di compressione ZIP, ed hanno permesso di includerlo in PGP. Le routines MD5 sono state sviluppate e rese di pubblico dominio da Ron Rivest. La cifratura IDEA(tm) e' stata sviluppata da Xuejia Lai e James L. Massey all'ETH di Zurigo, ed e' usata in PGP col permesso della Ascom-Tech AG. Charlie Merrit e' stato il primo ad insegnarmi come sviluppare dell'aritmetica decente applicata alla crittografia a chiave pubblica, e Jimmy Upton ha contribuito con un suo algoritmo a modulo di moltiplicazione piu' veloce. Thad Smith ha implementato un algoritmo modmult ancora piu' veloce. Zhahai Stewart ha contribuito con molte idee utili sul formato dei files di PGP ed altro, compresa l'idea di avere piu' di un utente per chiave. L'idea dei presentatori l'ho avuta da Whit Diffie. Kelly Goen ha svolto la maggior parte del lavoro di pubblicazione elettronica di PGP 1.0. Vari contributi al lavoro di programmazione sono stati dati da Colin Plumb, Derek Atkins e Castor Fu. Altri contributi in sforzi, programmazione o altro sono arrivati da Hugh Miller, Eric Hughes, Tim May, Stephan Neuhaus, e troppi altri per poterli ricordare tutti adesso. Zbigniew Fiedorwicz ha fatto il primo adattamento a Macintosh. Fin dalla pubblicazione di PGP 2.0, molti altri programmatori hanno inviato rappezzi e soluzioni di errori, cosi' come soluzioni di problemi degli adattamenti per altri computers. Sono troppi per poterli ringraziare individualmente qui. Proprio come nella storia della "zuppa di pietre", sta diventando difficile guardare attraverso la zuppa diventata spessa per vedere al fondo la pietra che io lanciai per iniziare tutto questo. Notizie sull'autore =================== Philip Zimmermanm e' un consulente tecnico software con 19 anni di esperienza, specializzato in sistemi "embedded real-time", crittografia, autenticazioni e trasmissione dati. La sua esperienza include il progetto e l'implementazione di sistemi di autenticazione per reti di informazioni finanziarie, sistemi di sicurezza per reti dati, protocolli di gestione di chiavi, sistemi embedded real-time multiprocesso, sistemi operativi e reti locali. E' possibile ottenere da Zimmermann versioni dedicate di prodotti di autenticazione e crittografia come il NIST DSS, oltre a servizi di sviluppo di prodotti specifici. L'indirizzo della sua azienda di consulenza e': Boulder Software Engineering 3021 Eleventh Street Boulder, Colorado 80304 USA Phone: 303-541-0140 (10:00am - 7:00pm Mountain Time) Fax: Prendere accordi per telefono Internet: prz@acm.org -----BEGIN PGP SIGNATURE----- Version: 2.6.2i Comment: Requires PGP version 2.6 or later. iQCVAwUBMCTqJfCO75U2Gw0pAQHoUwP/e6lKbTXaCjCK+Obd2scaNk9p7VfPxrMQ O8mnInYbxjnxbpJHVTclmO1Lf1GrsvpvFtPlsOVENqWWZGlUCNuTzxTHkF8P5+NJ heAcZsiXlnMuanTYkt/hAQdOSghApRsDFK3mBwrqIMFg4I7AWzqnCuhtM1clFbeR BgJ9O3Cbqs0= =MNVZ -----END PGP SIGNATURE-----