PROGRAMMIAMO
File - Certificati digitali
L'attacco man-in-the-middle

La crittografia a chiave pubblica è stata inventata per risolvere il problema della distribuzione delle chiavi. Tuttavia, se non è usato correttamente, esso rimane attaccabile, come mostra il seguente esempio.

Supponiamo che Bob voglia comunicare con Alice. A tale scopo Alice deve conoscere la chiave pubblica di Bob (e Alice quella di Bob: in questo esempio però concentriamoci solo su uno dei due sensi di comunicazione). Siccome tale chiave è completamente inutile per decifrare messaggi, si è detto che Bob può affidare la distribuzione di tale chiave anche a canali non sicuri.

Per esempio Bob potrebbe inviare la sua chiave pubblica ad Alice via mail. Supponiamo ora che la mail di Bob venga intercettata da Eva. Questa potrebbe cancellare il messaggio di Bob per Alice (contenente la chiave pubblica di Bob) e sostituirlo con un proprio identico messaggio in cui inserisce la propria chiave pubblica (la chiave pubblica di Eva). In questo modo Alice riceverà una chiave e, credendo si tratti di quella di Bob, la userà per cifrare i messaggi a lui rivolti. Tali messaggi però potranno essere facilmente intercettati e letti da Eva, poiché in realtà la chiave che Alice ha usato è la chiave pubblica di Eva.

Attacco Man In the Middle a distribuzione chiave pubblica RSA

Come si vede la distribuzione della chiave pubblica è soggetta ad attacchi del tipo man-in-the-middle: se una terza persona si inserisce nella distribuzione della chiave, tale chiave può essere sostituita compromettendo la sicurezza dell'intero processo di comunicazione.

Generalizzando un po' si può vedere come ci sia il problema di identificare correttamente il proprietario di una certa chiave pubblica. Nel nostro esempio, Alice viene ingannata perché crede che la chiave ricevuta sia quella di Bob, mentre è quella di Eva. Facendo un esempio più pratico: quando ci colleghiamo a un sito di acquisti online, usiamo il nostro numero di carta di credito perché questo numero viene cifrato dal nostro browser con la chiave pubblica del sito, prima di essere inviato a quest'ultimo. Ma come facciamo ad essere sicuri che il nostro browser utilizzi davvero la chiave pubblica del sito di acquisti e non invece la chiave pubblica di qualche malfattore intenzionato a rubare il numero della nostra carta?

Certificati digitali e Certification authority

Nella crittografia asimmetrica un certificato digitale è un documento elettronico che attesta l'associazione univoca tra una chiave pubblica e l'identità di un soggetto (una persona, una società, un computer, etc). In pratica i certificati digitali sono dei file usati per garantire l'identità di un soggetto, sia esso un server o una persona.

Ad ogni certificato digitale è associato un intervallo temporale di validità: di conseguenza ogni certificato può essere revocato se scaduto. Altre condizioni che determinano la revoca di un certificato sono la compromissione della chiave privata ed ogni cambiamento nella relazione soggetto-chiave pubblica, ad esempio dovuto al cambiamento della mail del richiedente.

I certificati digitali vengono rilasciati dalle cosiddette autorità di certificazione. Una Autorità di Certificazione (Certification Authority, solitamente abbreviato con CA) rilascia i certificati a chi ne fa richiesta dopo averne verificato l'identità. La CA svolge il ruolo di garante dell'identità di chi usa il certificato da lei rilasciato, un po' come fanno le autorità di pubblica sicurezza (prefettura, comune, etc…) che emettono documenti di identificazione quali il passaporto o la carta d'identità.

Processo di certificazione

Chiunque può verificare la validità di un certificato, in quanto le CA devono mantenere un pubblico registro dei certificati emessi e una Lista dei Certificati Revocati (Certification Revocation List) disponibile per la verifica per via telematica da parte di tutti gli utenti. L'elenco delle più diffuse autorità di certificazione è solitamente precaricato nei browser più diffusi al momento dell'installazione.

Esistono due tipi di CA:

Un certificato emesso da una CA tipicamente contiene:

Esistono vari standard per la creazione di certificati, attualmente il più affermato è quello definito dallo standard internazionale X.509.

Come funziona in pratica

Vediamo un esempio pratico di come funziona il metodo appena descritto. Supponiamo di aver creato un sito per la vendita di prodotti online, per esempio matite, e di aver registrato un corrispondente dominio web (es. www.matiteitaliane.it).

A questo punto dobbiamo rivolgerci a un'autorità di certificazione riconosciuta (CA), la quale, a pagamento e dopo aver verificato la nostra identità e il fatto che il sito appartiene effettivamente a noi, ci rilascia un certificato digitale.

Il certificato digitale può essere considerato una sorta di carta di identità elettronica e può essere pubblicato sul server che ospita il nostro sito web.

Quando un utente si collega al sito per fare acquisti, il suo browser invia al server che ospita il sito una richiesta di Certificato Digitale. L'informazione più importante contenuta nel certificato digitale è la Chiave Pubblica del proprietario del sito. Tale chiave pubblica dovrà essere usata per crittare tutte le comunicazioni fra l'utente (colui che vuole fare acquisiti sul sito) e il sito stesso. La chiave pubblica può essere generata dal proprietario del sito (che in questo caso dovrà comunicarla attraverso canali sicuri alla CA) oppure può essere generata insieme alla chiave privata dalla CA stessa (in questo caso è l'Autorità di Certificazione che dovrà trasmettere in modo sicuro i dati al proprietario del sito).

Il Certificato Digitale è firmato (attraverso una Firma Digitale) usando la Chiave Privata dall'Autorità di Certificazione. In questo modo il browser può avere la certezza che tale certificato è stato davvero emesso dalla CA e non può essere falsificato da altri.

A questo punto il browser dell'utente ha ricevuto la Chiave Pubblica del sito con cui vuole comunicare ed ha verificato, attraverso il Certificato Digitale, che tale chiave appartiene veramente al sito: può pertanto cominciare a inviare dati crittati in tutta sicurezza.

 

precedente - successiva

Sito realizzato in base al emplate offerto da

http://www.graphixmania.it