|
Indice:
Introduzione
Non
tutti sono a conoscenza del più conosciuto programma di crittografia a chiave pubblica.
Vediamo di elencarne le caratteristiche principali. Innanzi tutto si deve dire che la
crittografia viene utilizzata per tre motivi principali:
- codificare un
messaggio affinchè solo il destinatario sia in grado di leggerlo
- autenticare il
messaggio inviato affinchè il destinatario sia inequivocabilmente sicuro
dell'identità del mittente
- autenticare sia
il mittente che il messaggio affinchè il destinatario sia certo che il messaggio non
sia stato alterato
Il
problema che da sempre penalizza la crittografia è che per cifrare e decodificare un
messaggio occorre una chiave segreta in possesso sia del mittente che del destinatario.
Ovviamente se il mittente e il destinatario si trovano a grande distanza tra di loro, ciò
potrebbe diventare difficile dato che, se la trasmissione della chiave avviene attraverso
mezzi "tradizionali" come l' e-mail o la posta convenzionale, questa potrebbe
essere intercettata.
Torna
all'indice
PGP (pretty good privacy) utilizza un sistema
geniale per quanto riguarda la sicurezza: il programma crea una coppia di "chiavi"
(grazie alle quali è possibile codificare/decodificare un testo), una viene chiamata
chiave "pubblica", l'altra viene chiamata chiave privata.
Chiave pubblica: deve essere diffusa il più possibile in modo che chi
è interessato a scrivervi può utilizzala.
Chiave
privata: va conservata "in un luogo sicuro".
Premessa:
solo la chiave privata è in grado di decodificare un testo criptato con quella pubblica
corrispondente ed è matematicamente impossibile da una chiave ricavare la corrispondente.
Facciamo
un piccolo esempio:Un utente A vuole inviare un messaggio di posta elettronica
crittografato con PGP a B, in modo che nessuno possa venire a conoscenza del testo.
Pertanto A, che possiede la chiave pubblica di B, codifica il
messaggio con PGP utilizzando la chiave pubblica di B. A questo punto solo la
chiave privata di B sarà in grado di decodificare il testo e di
leggerlo.
Ovviamente
se A invia un messaggio codificato con la propria chiave privata a B, quest' ultimo, per
verificare l' autenticità del mittente, effettuarà l'operazione inversa.
Torna
all'indice
Verifica
del messaggio e del mittente: la chiave pubblica di un utente codifica il
messaggio e la propria chiave privata lo firma. Per esempio se voglio scrivere un
messaggio a B, utilizzo la sua chiave pubblica per crittografare il testo del messaggio
(quindi solo la sua privata sarà in grado di decodificarlo) e la mia chiave privata per
"firmarlo" in modo che B sarà sicuro che il messaggio lo ho scritto io.
Torna
all'indice
Il
"fingerprint" è un hash (una sorta di checksum finale) di 128 bit
che ricava da una chiave una serie di numeri. Dato che non si può essere sicuri che una
chiave non sia stata manomessa, se si è in possesso del fingerprint, si può verificare
se quello generato dalla chiave in possesso e quello di cui si era già in possesso
corrispondono. In tal caso si è sicuri che la chiave non è stata alterata.
Torna
all'indice
Installazione
PGP
è un programma Freeware, nativo in ambiente dos e per eseguire qualsiasi comando
si deve far seguire al comando Ppg le opzioni introdotte dal segno -
Cominciamo a
mettere in funzione PGP:
Una volta scaricato il programma e scompattato si devono inserire le seguenti
variabili al file autoexec.bat che si trova nella directory radice:
SET
PGPPATH=C:\PGP
SET TZ=MET-1DST
A questo punto è
possibile utilizzare PGP. Il primo comando da imparare è pgp -h che genera a
video una sorta di help con una lista dei comandi.
Torna
all'indice
Gestione chiavi
Passiamo al primo
punto importante: la creazione della coppia di chiavi:
pgp -kg
1) La prima scelta che il programma vi sottoporrà è la lunghezza delle chiavi. Le
scelte possibili sono: 512, 768 e 1024 bit. Ovviamente più elevato è il numero di bit
più sicura sarà la chiave. E possibile creare anche chiavi a 2048 bit semplicemente
digitando il numero 2048.
2) La seconda cosa
da inserire è il proprio l' User ID (l'identificativo). Questo può prendere la forma
classica Mario Rossi <rossi@rete.it> o qualunque nome vogliate.
3) Inserimento
della "pass phrase". Solo con questa speciale frase la vostra chiave privata
potrà essere utilizzata. E consigliabile utilizzare una frase lunga ma facilemente
memorizzabile.
4) Premere dei
tasti a caso in modo che PGP possa utilizzare i numeri per la creazione dell' algoritmo.
A questo punto si
è in possesso della coppia di chiavi.
Torna
all'indice
Ora analizziamo i principali comandi per la gestione delle chiavi:
-
Come estrarre una chiave dal "public ring":
pgp -kxa
<id> <outfile>
Dove ID è
l'identificativo e output file rappresenta il nome del file nel quale si vuole salvare la
chiave pubblica in questione. Per default il file che viene creato ha estensione .asc.
Torna
all'indice
- Come esaminare il contenuto
del public ring:
pgp -kv
Con
questo comando PGP darò un elenco con i nomi dei proprietari delle chiavi di cui siete in
possesso e della lunghezza della chiave (1024 bit, 2048 bit ecc.)
Torna
all'indice
- Come inserire una chiave nel
public ring:
pgp
-ka <infile>
Dove
ovviamente infile rappresenta il file nel quale è presente la chiave. Non vi preoccupate
se il documento ha altro testo; PGP ricerca automaticamente la chiave all' interno di
esso.
Torna
all'indice
- Come "firmare" una
chiave:
pgp
-ks <id>
Dove
ID rappresenta l' userd ID da firmare. Facendo ciò assicurate la veridicità di una
chiave. Fatelo solo se ne sieti sicuri.
Torna
all'indice
- Come eliminare una chiave:
pgp
-kr <id>
Dove
ID rappresenta l' User ID.
Torna
all'indice
- Come verificare le
certificazioni:
pgp
-kc <id>
Con
questo comando verrà visualizzato il contenuto del public ring e verranno verificate le
certificazioni.
Torna
all'indice
- Come modificare i parametri
della chiave privata:
pgp
-ke <id>
Con
questo comando viene chiesta innanzi tutto la pass phrase. Si possono aggiungere nuove
User ID (se per esempio si hanno più indirizzi e-mail) oppure si può modificare la pass
phrase.
Torna
all'indice
- Come vedere il Finger Print di
una chiave:
pgp
-kvc <id>
Torna
all'indice
Gestione messaggi
Ora
analizzaremo tutti i principali comandi per utilizzare le "vere" funzioni di PGP
cioè codifica e decodifica:
- Come codificare un
messaggio:
pgp
-eta <infile> <id> -o <outfile>
-e
viene utilizzato per codificare un messaggio
-t
si utilizza per indicare che <infile> è solo testo (non binario)
-a
indica che l' <outfile> deve essere in ASCII Armored
(cioè composto da caratteri ASCII da 0 a 127, il set di caratteri chiamato anche ASCII
"basso").
Torna
all'indice
- Come codificare un messaggio
con codifica normale:
pgp
-c <infile>
In
questo modo non si userà la chiave privata ma semplicemente si verrà invitati a inserire
una frase grazie alla quale il testo potrà anche essere in seguito decriptato. Verrà
quindi solo utilizzato l' algoritmo di crittografia IDEA, non l' RSA.
Torna
all'indice
- Come firmare in chiaro un
messaggio:
pgp
-sta <infile> -o <outfile>
-a
indica che l' <outfile> deve essere in ASCII Armored
(cioè composto da caratteri ASCII da 0 a 127, il set di caratteri chiamato anche ASCII
"basso")
Come
si può vedere non viene richiesto nessun User ID dato che il messaggio viene
firmato con la propria chiave privata. Quindi il destinatario, usando la vostra
chiave pubblica in suo possesso, potrà verificare l'identità del mittente e l'integrità
della mail. Il comando pgp -sb <infile> crea un certificato di firma
separato dal messaggio.
Torna
all'indice
- Come codificare e
"firmare" un messaggio:
pgp
-esta <infile> <id> -o <outfile>
Ovviamene
ID rappresente l' User ID del vostro interlocutore ossia fa riferimento alla sua chiave
pubblica.
Torna
all'indice
- Come decodificare un
messaggio:
pgp
<infile> -o <outfile>
Con
questa semplice operazione PGP codifica un messaggio:
codificato con la
vostra chiave pubblica
firmato da un
mittente di cui avete la chiave pubblica
sia codificato
che firmato
Non è
necessario specificare l' User ID dato che questa viene automaticamente cercata nel public
ring.
Torna
all'indice
- Come eliminare un messaggio decriptato: PGP consente,
utilizzando il comando pgp -w <infile> , di eliminare definitivamente
un file già decodificato in modo che nessuno possa ripristinarlo e leggerlo.
Torna
all'indice
- Il problema "a capo automatico": potrebbe
capitare che PGP dia come errore Bad signature e quindi non riuscirebbe a decodificare il
testo se è stato usato un editor con la funzione "a capo automatico" attivata
per scrivere un testo. Questi editor inseriscono dei particolari caratteri al termine di
ogni riga corrompendo così l' integrità del messaggio.
Torna
all'indice
Dove trovare PGP
Ho
pensato che, per evitare complicate ricerche, fosse opportuno permettere il download del
programma direttamente da qui. Quindi per chi è interessato a scaricare il file pgp263ii.zip
di 307 Kb può farlo da questo link
Ricordo che è disponibile anche la versione 5 che gira in ambiente Windows ma
personalmente la sconsiglio: essendo un programma shareware permette solo 4
"azioni" e dopo di che si deve chiudere e riavviare il software. Inoltre il
principiante che si avvicina per la prima volta al PGP (che gira in ambiente MS-Dos) ha
bisogno di fare esperienza prima di passare a shell più complesse.
Torna
all'indice
I principali comandi
Ecco i principali
comandi (i più utilizzati):
Gestione
chiavi:
Generare le
chiavi pgp -kg
Aggiungere una
chiave pgp -ka [pubring]
Estrarre una
chiave pgp -kx[a] [pubring]
Listare il
pubring pgp -kv[v] [id] [pubring]
Vedere il
fingerprint pgp -kvc [id] [pubring]
Dettagli del
pubring pgp -kc [id] [pubring]
Cancellare una
chiave pgp -kr [pubring]
Aggiungere un
altro userID pgp -ke [pubring]
Editare la
pass phrase pgp -ke [pubring]
Firmare una
chiave pgp -ks [-u ] [pubring]
Cancellare una
"firma" pgp -krs [pubring]
Gestione
messaggi:
Cifrare
pgp -e[t][a][w] [id2 ..] [-o ]
Firmare
pgp -s[t][a] [-u ] [-o ]
Cifrare e
Firmare pgp -es[t][a][w] [id2 ..][-u ] [-o ]
Cifratura
convenzionale pgp -c
Decifrare/verificare
firme pgp [-o ]
Opzioni:
[ a ] =
ASCII Armored
[ o ] =
per indicare il nome del file risultante
[ w ] =
per distruggere il testo da cifrare (dopo la codifica)
[ m ] =
per vedere i risultati a video e non in un file
Torna all'indice
I Keyservers
I
keyserver sono dei database di chiavi pubbliche accessibili da tutti. Un Keyserver può
essere immaginato come un enorme Public ring. Di Keyserver ce ne sono diversi ma si
aggiornano qutomaticamente tra di loro quindi è sufficente registrare la propria chiave
in uno di questi.
Torna all'indice
Cerca chiave
Dopo
aver effettuato la ricerca, per ritornare in questa pagine premere il tasto
"indietro" del browser. Per tornare all' indice dell Home Page utilizzare il
link "Pagina principale" qui a sinistra.
Mostra PGP "fingerprints" della chiave
Torna all'indice
Registra chiave
Dopo
aver effettuato la ricerca, per ritornare in questa pagine premere il tasto
"indietro" del browser. Per tornare all' indice dell Home Page utilizzare il
link "Pagina principale" qui a sinistra.
Indirizzo E-mail per risposta
automatica:
Inserisci la chiave pubblica nel
formato ASCII-armored qui sotto:
Torna all'indice
LINK
http://www.pgpi.com Tutto sul
PGP.
http://www.serve.com/nimrod/pgp.html
Introduzione al PGP
http://www.serve.com/nimrod/doc/pgpint14.txt La FAQ di
Giorgio Chinnici.
http://users.iol.it/airenzo/pgp.htm
Guida al PGP.
Torna all'indice
|