Telemat Lab's home page


Copyright © 1986 Università di Firenze.All rights reserved.

Free license available.

MIDDLE

di Cecconi Alessia e Gallileo Giovanni

revisori: Franco Pirri e Maurizio Lunghi


gestione chiavi

home pageIndicePrec.Succ.

PROTEZIONE E INTEGRITÀ DEI PORTACHIAVI:
CONCETTO DI "WEB TRUST"

L'operazione di proteggere i due portachiavi è di fondamentale importanza e la sua riuscita garantisce uno scambio di messaggi con completa riservatezza e sicurezza.
Il tipo di protezione per i due portachiavi è differente: il portachiavi pubblico deve essere protetto dalla "manomissione", quello privato dalla "apertura". Trattiamo prima le problematiche relative alla protezione del portachiavi pubblico.
Garantire l'appartenenza di una determinata chiave pubblica al supposto proprietario è sicuramente il punto più vulnerabile della crittografia asimmetrica.
Si sa che le chiavi pubbliche devono essere diffuse in maniera capillare, ma supponiamo che si venga a creare la seguente situazione tra due corrispondenti, chiamiamoli Bob e Alice:

Bob vuole spedire un messaggio ad Alice e reperisce la chiave pubblica di lei da una certa BBS. Bob cifra il messaggio con quella chiave e lo invia. Ma quella chiave non è in realtà di Alice in quanto una terza persona ha creato una coppia di chiavi pubblica/privata usando come ID Alice e ha successivamente posto la chiave pubblica nella BBS.
In tal modo, Bob è convinto di comunicare con Alice, ma in realtà la sua posta è raccolta dal terzo incomodo, che potrebbe a sua volta conoscere la vera chiave pubblica di Alice e quindi potrebbe con questa ricrittare il messaggio (magari dopo averlo modificato) ed inviarlo ad Alice. In tutto questo processo i due corrispondenti non si sono accorti di nulla essendo "sicuri" che la comunicazione avviene solo e soltanto tra di loro.

L'unico modo per prevenire questo disastro è che Bob ottenesse la chiave pubblica di Alice direttamente da lei oppure da qualcun altro di cui lui si fidi e che gli garantisca l'integrità di quella chiave, qualcuno che abbia cioè firmato con la propria chiave segreta la chiave pubblica di Alice, producendo un "certificato di chiave pubblica firmato".
È proprio questo il meccanismo di scambio di chiavi su cui PGP si basa.
Chiunque volesse utilizzare una certa chiave pubblica, se non conosce personalmente il proprietario, dovrebbe "fidarsi" di essa solo e soltanto se questa chiave è certificata da altre chiavi che sono "sicuramente valide" (cioè si è sicuri al 100% della loro appartenenza al proprietario dichiarato): ciò dovrebbe essere un punto fermo da seguire scrupolosamente da parte di tutti gli utilizzatori di PGP.
Maggiori sono le firme che certificano quella chiave (le firme di certificazione sono parte integrante delle chiavi che esse certificano), maggiore è la probabilità di trovare tra di esse anche quella di qualcuno di cui ci si fida ciecamente.
Sia ben chiaro che la certificazione garantisce l'integrità della chiave in quanto appartenente effettivamente al proprietario dichiarato, e non l'integrità morale del suo possessore, che potrebbe, per esempio diffondere in giro per la rete la sua originale chiave pubblica facendo in modo che altri utenti si fidino di lui, ma contemporaneamente firmare chiavi fasulle. Una chiave dovrebbe allora essere validata soltanto se essa è certificata da più di una firma fidata (se esiste una sola firma di cui ci si fida bisognerebbe essere sicuri anche dell'integrità morale del suo possessore).
In realtà la certificazione potrebbe essere fatta da una autorità centrale, della quale è garantita l'integrità, e che diventerebbe una "Autorità di certificazione" in grado di assicurare a tutti la validità delle chiavi da essa gestite, specializzandosi in questo servizio che si potrebbe chiamare di "presentazione"; questo approccio è tuttavia appropriato principalmente per le grandi organizzazioni controllate dal centro o per le istituzioni governative.
PGP invece si basa su una gestione decentralizzata, in cui ciascuno si rende responsabile certificando una firma o un altra. In effetti non bisognerebbe mai certificare una chiave di cui non si è perfettamente sicuri perchè se essa dovesse malauguratamente risultare fasulla si comprometterebbe la "ragnatela di fiducia" (Web trust) che PGP mira a creare.
La protezione del portachiavi pubblico diventa ancora più essenziale se si considera che il controllo di un certificato di chiave firmato dipende dall'integrità della chiave pubblica fidata che si trova nel portachiavi; occorre quindi mantenere il controllo fisico del portachiavi pubblico, facendone magari una copia di backup su di un supporto fisico protetto da scrittura (precauzione da prendere anche per il portachiavi segreto);
È da sottolineare infine che siccome la propria chiave pubblica è l'autorità suprema che, direttamente o indirettamente certifica tutte le altre chiavi del portachiavi, essa è la chiave più importante da proteggere dalle manomissione.

Anche la protezione del portachiavi segreto è una operazione da effettuarsi con la massima attenzione. Se infatti un intruso entrasse in possesso della chiave segreta di qualcun altro, essa potrebbe essere utilizzata per firmare messaggi o addirittura chiavi fasulle creando problemi per tutti coloro che si fidano del possessore reale della chiave (e naturalmente per il possessore stesso). È buona norma tenere la chiavi nel proprio PC di casa e non in qualche sistema remoto con più utenti contemporanei (come UNIX); bisognerebbe tenerla su di una macchina di cui si ha il pieno controllo fisico.
Anche la frase chiave, senza la quale non si può accedere alla chiave segreta, deve essere protetta adeguatamente tenendola a mente e in generale prendendo le stesse precauzioni viste per i due portachiavi.
Se ci si accorgesse che entrambe la chiavi pubblica/privata fossero compromesse, bisognerebbe generare un certificato di "chiave compromessa", che servirà per avvisare le altre persone che la chiave pubblica di cui essi dispongono non deve essere più considerata valida. Il certificato è generato con il comando:

pgp -kd mitt_ID.

Questo certificato è firmato con la chiave che si vuole revocare, e dovrà essere distribuito in maniera capillare. Il PGP dei destinatari installerà il certificato nel loro portachiavi pubblico e impedirà automaticamente l'uso accidentale della chiave compromessa. Successivamente il mittente potrà generare una nuova coppia univoca di chiavi e distribuire la nuova chiave pubblica.

Indice PGP

Bibliografia e sorgenti d'informazione


Telemat Lab's home page
home pageIndicePrec.Succ.


Explore the TELEMAT Site !!!

Ultimo aggiornamento: 24/1/97