Come router, posso inviare certificati falsi e intercettare le richieste in CA e restituire le risposte che sono valide.
Quindi potrei MITM tutto il traffico https e spiare i miei utenti?
So I could MITM all https traffic, and spy on my users?
No, a meno che l'utente malintenzionato non abbia la chiave privata per un'autorità di certificazione (CA) attendibile dal browser dell'utente (o CA intermedia firmata da una CA attendibile).
Un browser non effettua richieste all'autorità di certificazione remota. I browser Web hanno un elenco di certificati attendibili delle autorità di certificazione che memorizza localmente (a volte il browser utilizza automaticamente un elenco di certificati attendibili del sistema operativo).
Il browser Web verifica che il certificato inviato dal sito Web che si sta tentando di visitare sia valido ed è stato firmato da uno di questi certificati attendibili (o firmato da un'autorità intermedia o da una catena di autorità intermedie che alla fine è stato firmato da una CA fiducia). Gli algoritmi di crittografia standard come RSA utilizzano la crittografia per verificare che la firma digitale dell'autorità di certificazione non sia falsificata.
As a router, can I send forged certificates, and intercept requests to CA and return responses that they are valid.
Sì, potresti fare attacchi man-in-the-middle sul router. Di solito, non è possibile eseguire l'intercettazione SSL senza che l'utente se ne accorga perché il browser avverte dei certificati non validi.
Per fare intercettazioni senza questi avvertimenti devi obbligare l'utente ad accettare la CA di intercettazione come attendibile, il che di solito significa che hai accesso al sistema degli utenti (nel qual caso potresti fare molto più danno). Oppure hai accesso alla chiave privata per il certificato specifico che ti piace o hai accesso a una CA intermedia firmata da una CA fidata dall'utente. In entrambi questi ultimi casi, qualsiasi host che utilizzi il certificato / blocco della chiave pubblica causerà comunque errori di sicurezza.
Quali CA sono affidabili dipendono dal browser e dal sistema operativo e si può semplicemente far sì che il sistema si fidi di altre CA senza interazione dell'utente o senza avere accesso al sistema degli utenti. Ma potresti provare a dirottare il download di Firefox che viene fornito con il proprio set di CA affidabili e sostituire le CA con qualcos'altro. Ovviamente, se gestisci questo, potresti anche semplicemente raggruppare alcuni malware nel browser o modificare il browser in modo che non controlli affatto i certificati.
Leggi altre domande sui tag tls man-in-the-middle certificate-authority