![]() |
![]() |
![]() |
Gestione delle chiavi
La prima cosa che un nuovo utente di PGP deve fare, è la generazione
della sua coppia di chiavi pubblica e privata. PGP offre la possibilità
di scegliere fra diversi formati e due diversi algoritmi usati per la
generazione:
PGP usa due key-ring [1] che contengono le chiavi pubblica e privata dell'utente e le chiavi pubbliche delle persone che fanno uso di PGP. I key-ring sono due strutture:
Campi | Descrizione sintetica |
---|---|
TIMESTAMP | Indica l’ora in cui è stata generata la chiave. |
KEY ID | 64 bit meno significativi della chiave pubblica. |
PUBLIC KEY | Chiave pubblica. |
PRIVATE KEY | Chiave privata cifrata con la passphrase. |
USER ID | Proprietario della chiave. |
tabella 1.3
Public key-ring: è usato per memorizzare le chiavi pubbliche delle persone note all’utente, i campi sono illustrati nella tabella 1.4:
Campi | Descrizione sintetica |
---|---|
TIMESTAMP | Indica l’ora in cui è stata generata o inserita la chiave. |
KEY ID | 64 bit meno significativi della chiave pubblica. |
PUBLIC KEY | Chiave pubblica. |
OWNER TRUST | Fiducia nel proprietario della chiave |
KEY LEGITIMACY | Fiducia nella chiave |
FIRMA | Firma per la chiave |
SIGNATURE TRUST | Fiducia nella firma |
tabella 1.4
Dopo aver generato la coppia di chiavi, PGP chiede all'utente di digitare una passphrase per proteggere la chiave privata. Tutte le volte che si vorrà usare la chiave segreta bisognerà digitare la passphrase. Quest'ultima è la versione estesa di una password, e in teoria, più sicura; può contenere spazi, numeri, caratteri e punteggiatura, al fine di essere praticamente impossibile da individuare, con una ricerca esaustiva, ma deve essere facile da ricordare. Nella figura 1.5 viene mostrato come PGP calcola l’indice di bontà della passphrase mentre viene digitata, è normale che la qualità di una passphrase aumenta se sono digitati caratteri che non hanno dipendenza gli uni con gli altri.
Figura 1.5
La minima lunghezza richiesta da PGP per una passphrase è di 8 caratteri, se l'utente dovesse digitarne un numero inferiore, sarà visualizzato un messaggio in cui si avverte l'utente che non ha inserito il numero di caratteri richiesto, e che quella inserita non è una buona passphrase.
Successivamente, PGP chiede all'utente se vuole inserire la sua chiave pubblica nel key-server. Questi ultimi, sono particolari server presenti su Internet, dedicati al deposito e al prelievo delle chiavi pubbliche. Sono in rete tra loro, per cui ogni chiave inserita in un server viene diffusa anche sugli altri. Ogni volta che si inserisce una nuova chiave si ha una sincronizzazione a catena di tutti i key-server che aggiornano i loro elenchi. Sono dei particolari database a cui è possibile accedere, per inserire una nuova chiave pubblica o per prelevarne una, con una semplice e-mail all’indirizzo del key-server, anche se non si dovrebbe fare molto affidamento sulle chiave pubbliche prelevate da un key-server. In genere sono gestiti dalle università. Ad esempio http://www.keys.pgp.net/, è il key-server gestito dal MIT.
Per ogni chiave presente nel key-ring esiste un certificato [7]. E' costituito da un insieme di informazioni identificative legate insieme da una chiave pubblica e firmati da una terza parte fidata per provarne l'autenticità. PGP ne riconosce due formati differenti:
Informazioni | Descrizione sintetica |
---|---|
Version number | Identifica quale versione di PGP è stata usata per creare la chiave associata col certificato. |
Time | Indica l'ora in cui è stata creata la chiave. |
Validity | Il periodo di validità della chiave. |
Key-Type | L'algoritmo che è stato usato per generare le chiavi, DH oppure RSA. |
User Id | Identifica il proprietario della chiave. |
Self-Signature | Firma ottenuta usando la chiave privata della chiave pubblica associata al certificato. |
Message digest algorithm | Algoritmo utilizzato per avere il message digest. |
Signed message digest | Firma del message digest. |
Symmetric encryption algorithm | Algoritmo di cifratura usato per cifrare le informazioni. |
tabella 1.5
I certificati X.509 sono conformi allo standard internazionale ITU-T X.509. Esiste una autorità di certificazione (CA Certification Authority) che fa da garante. Sono costituiti da un insieme di informazioni descritte nella tabella 1.6:
Informazioni | Descrizione sintetica |
---|---|
X.509 Version number | Quale versione dello standard X.509 è stata usata per questo certificato. |
certificate holder's public key | Chiave pubblica del proprietario del certificato. |
serial number | Identificativo per questo certificato. |
Distinguished Name | Identificativo del proprietario del certificato. |
Validity | Periodo di validità del certificato. |
certificate issuer | Identifica chi ha firmato il certificato, in genere CA. |
digital signature of the issuer | Firma ottenuta usando la chiave privata di che ha firmato il certificato. |
signature algorithm identifer | Algoritmo utilizzato per firmare il certificato. |
tabella 1.6
Le differenze tra certificati PGP e certificati X.509:
Se le chiavi fossero compromesse sarà necessario generare un certificato di "chiave compromessa" per avvisare che una chiave pubblica non è più valida. Questo certificato sarà firmato con la chiave che si vuole revocare. PGP installerà il certificato nel key-ring di chiunque lo riceva impedendo l’uso della chiave compromessa.