1. Nozioni di base
I certificati a chiave pubblica esistono allo scopo di associare un'identità a una chiave pubblica. Poiché chiunque può affermare di essere chiunque in un certificato, sono state introdotte le autorità di certificazione (CA).
Verifica l'identità del keyholder e garantisce per esso firmando il certificato. Questa procedura potrebbe essere ripetuta da CA di livello superiore per garantire nuovamente l'identità delle CA di livello inferiore, creando una cosiddetta catena di fiducia .
Il tuo browser memorizza una serie di certificati di root di fiducia - i certificati di livello inferiore che sono concatenati a uno di questi sono automaticamente attendibili. (Nota: Ecco come funziona in X.509, che è il sistema utilizzato per la navigazione web - Esistono altri costrutti simili, ad esempio per email: vedi PGP)
2. Il problema con i certificati autofirmati
Queste CA non firmano i certificati gratuitamente, motivo per cui alcuni amministratori web scelgono di firmare autonomamente i propri certificati.
Quindi rinunciano all'autenticità della connessione, ma possono comunque fare uso della crittografia , garantendo riservatezza e integrità nei confronti dei clienti. Ciò significa che ottieni ancora un po 'di sicurezza, anche se chiunque potrebbe falsificare uno stesso certificato e impersonare il server.
Questo è il motivo per cui il tuo browser ti consiglia di non utilizzare la connessione. (Nota: puoi ancora ottenere l'autenticità se installi il certificato come attendibile, una volta ottenuto su un canale sicuro , ad esempio faccia a faccia su una chiavetta USB)
3. Il problema con i certificati firmati CA
Ora, molto importante: guardando i certificati "debitamente firmati", la situazione attuale non offre alcuna sicurezza contro gli avversari della NSA!
Questo perché esistono circa 1'500 CA radice affidabili ed è facile impostare una propria CA radice (circa $ 100k). Con una tale pletora di corpi con il diritto di identificare qualcuno al più alto livello, è semplicemente impossibile mantenere la fiducia.
Per una lettura interessante di questo con alcuni esempi del passato, vedi questo documento del 2011 . Google sembra aver trovato una soluzione fattibile: link