As a router, can I send forged certificates, and intercept requests to CA and return responses that they are valid.
So I could MITM all https traffic, and spy on my users?
As a router, can I send forged certificates, and intercept requests to CA and return responses that they are valid.
So I could MITM all https traffic, and spy on my users?
As a router, can I send forged certificates, and intercept requests to CA and return responses that they are valid.
Yes you could do man-in-the-middle attacks on the router. But you cannot usually do SSL intercepting without the user noticing because the browser warns about invalid certificates.
To do interception without these warnings you have to either make the user to accept your interception CA as trusted which usually means that you have access to the users system (in which case you could do much more harm). Or you have access to the private key for the specific certificate you like to mitm, or you have access to an intermediate CA signed by a CA trusted by the user. In both of these latter cases any hosts using certificate/public key pinning will still cause security errors.
Which CA's are trusted depend on the browser and OS and you can simply cause the system to trust additional CA's without user interaction or without having access to the users system. But you might try to hijack the download of Firefox which comes with its own set of trusted CA's and replace the CA's with something else. Of course if you manage this you could even simply bundle some malware to the browser or modify the browser so that it does not properly check certificates at all.
So I could MITM all https traffic, and spy on my users?
No, unless the attacker has the private key for a certificate authority (CA) that is trusted by the user's browser (or intermediate CA that is signed by a trusted CA).
A browser does not make requests to a remote certificate authority. Web browsers have a list of trusted certificates of certificate authorities that it stores locally (sometimes the browser defaults to an OS stored list of trusted certificates).
Your web browser checks that the certificate sent by the website you are trying to visit is valid and was signed by one of these trusted certificates (or signed by an intermediate authority or chain of intermediate authorities that was ultimately signed by a CA you trust). Standard encryption algorithms like RSA use cryptography to verify that the digital signature of the certificate authority isn't forged.