Questo è più un problema di quanto pensi, in particolare per un'azienda come Google, perché è un obiettivo frequente per questo tipo di imbrogli. Ma ci sono diversi livelli di protezione e la nostra protezione sta migliorando nel tempo.
La prima linea di difesa è l'autorità di certificazione.
Non dovrebbero consentire ai certificati di essere firmati in modo inappropriato. Ogni CA ha il proprio meccanismo per verificare la propria titolarità all'acquisto di un certificato per un determinato dominio, ma in genere include l'esecuzione di una o più delle seguenti operazioni:
- Verifica la proprietà dell'indirizzo email elencato nelle informazioni WHOIS per il dominio.
- Verifica la proprietà di un indirizzo email che segue uno dei numerosi modelli predeterminati nel dominio (ad esempio "amministratore @ {dominio}")
- Crea un record DNS specifico nel dominio
- Apporta una modifica specifica al sito web ospitato su quel dominio
Ma con tutte le CA che abbiamo, viene emesso un numero sorprendente di certificati inappropriati. Questo è un caso di, "hai avuto letteralmente UN posto di lavoro", ma dobbiamo accettare che gli errori accadano.
Trasparenza certificato è stato creato per aiutare a controllare le CA
C'è una sorprendente mancanza di responsabilità e trasparenza da parte delle CA, quindi Google ha deciso di fare qualcosa al riguardo con Trasparenza certificato .
Questo è un registro pubblico di tutti i certificati firmati dalla CA; se un certificato non viene visualizzato nel registro, non è valido e il registro è solo accodato; non puoi tornare indietro e fregare la tua storia. È ancora relativamente nuovo, ma Chrome lo richiede già su alcune CA, incluse tutte le CA EV. L'idea è che puoi seguire il log e vedere se il tuo dominio appare quando non dovrebbe. Gli strumenti si stanno ancora evolvendo per renderlo più semplice, ma è una tecnologia molto promettente.
La tua ultima linea di difesa è pinning
I browser più sicuri consentiranno ai proprietari di domini di "pin" una o più chiavi pubbliche al loro dominio. Si tratta di un end-around dell'intero sistema PKI e inietta la fiducia direttamente nel browser. I proprietari di domini possono, tramite l'intestazione HTTP, dire al browser di consentire solo i certificati con chiavi pubbliche specifiche, e possono infatti spedire tale asserzione preinstallata sul browser stesso. Ciò impedisce l'utilizzo di un certificato non autorizzato, anche se ha una firma CA valida.
DNSSEC e DANE sono dove andrà a finire
Probabilmente. Con DNSSEC, puoi firmare i tuoi record DNS, il che significa che puoi inserire la tua firma di chiave pubblica proprio lì in DNS. Il che significa che non hai bisogno di un'autorità di certificazione di terze parti per firmare le tue chiavi. Questa è una soluzione piuttosto elegante, ma DNSSEC è ancora lontano; non puoi usarlo con un numero di sistemi operativi e l'adozione è decisamente glaciale.