Sicuro… sicuro?

La struttura attuale delle transazioni sicure via web tramite il protocollo https si basa su un’infrastruttura a chiave pubblica con tre gambe: l’utente, il fornitore del servizio e un’autorità di certificazione (CA) riconosciuta dai due.

Quando vediamo un messaggio simile a quello a fianco (i vecchi lupi del web dicevano «quando si chiude il lucchetto aperto di Netscape») sappiamo che i dati viaggiano crittografati da un sistema a chiave pubblica che dovrebbe godere della nostra fiducia.

Ma, come dicevano i nostri antenati, quis custodiet ipsos custodes?

Ogni certificato utilizzato da https può essere di due tipi: autofirmato (per i test e per chi vuole solamente una trasmissione crittografata) oppure certificato da una CA nota (per le applicazioni commerciali).

Il problema è: quante e quali CA ci sono in giro?

Non è possibile stilare un elenco completo perché non esiste un archivio delle autorità di certificazione certificate (da chi, poi?), anche perché il rischio sarebbe una pericolosissima regressione all’infinito.

Ciascun browser viene distribuito con un set di CA riconosciute automaticamente: quelle di Firefox e Safari sono circa 60, mentre Explorer ne riconosce più di 100, fermo restando che ciascuno può aggiungere delle proprie CA alla bisogna per riconoscere, per esempio la CA interna di un’azienda.

Il problema si pone da quando alcune CA riconosciute dai browser hanno iniziato a delegare ad entità terze l’emissione dei certificati. Queste entità, purtroppo, non forniscono le medesime garanzie delle deleganti.

La conclusione è presto tratta. I browser di tutto il mondo, inclusi quelle delle organizzazioni governative e delle forze di polizia, si fidano implicitamente allo stesso modo di certificati emessi da CA rigorose e da CA lassiste, senza che sia possibile discernere le une dalle altre.

Uno studio della EFF rivela che ci sono oltre 600 gruppi di CA con ramificazioni molto complesse.

Ok, ma qual è il pericolo concreto?

Una di queste CA lassiste potrebbe emettere un certificato fasullo con un intestatario simile all’originale e attirare gli utenti con tecniche di man-in-the-middle, phishing o altri sistemi di social engineering. Immaginiamo che esista una Cassa di Risparmio di Metropolis che opera legittimamente in Italia il cui certificato https è garantito da Verizon. Se qualcuno registrasse un certificato intestato allo stesso nome o, per esempio alla Casa di Risparmio di Metropolis preso una CA lassista in quanti cadrebbero nella trappola? (via Bruce Schneier)

Autore: Luigi Rosa

Consulente IT, sviluppatore, SysAdmin, cazzaro, e, ovviamente, geek.

Spazio per un commento