▲ | okasaki 3 days ago | ||||||||||||||||||||||||||||||||||
You would have to install a certificate for that to work. | |||||||||||||||||||||||||||||||||||
▲ | aaronmdjones 3 days ago | parent [-] | ||||||||||||||||||||||||||||||||||
No you wouldn't. The current situation: - You ask Foo DNS Provider for the IP address of pornhub.com - Foo DNS Provider responds with the real IP address - You connect to that address, send a TLS ClientHello containing a Server Name Indication extension of "pornhub.com" What could happen: - You ask Foo DNS Provider for the IP address of pornhub.com - Foo DNS Provider responds with one of their own IP addresses - You connect to that address, send a TLS ClientHello containing a Server Name Indication extension of "pornhub.com" - Foo DNS Provider now knows that you intend to connect there, so it connects there for you and relays your ClientHello to it - Foo DNS Provider then just acts as a dumb relay, passing everything back and forth with no modifications - The certificate verifies fine because the traffic was not modified and it was presented by the party who controls the corresponding private key - The website thinks you are connecting from Foo DNS Provider, not your real address The only thing that would break this is ECH (Encrypted ClientHello), currently supported only by CloudFlare and Google Chrome (and its derivatives) as far as I know. This security feature is provisioned with ... DNS records! So Foo DNS Provider can simply indicate that the records required for ECH do not exist, and your web browser wouldn't encrypt the ClientHello. It's already tampering with the responses to address lookups anyway, so DNSSEC wouldn't be an issue -- you simply would not expect to be able to validate anything. | |||||||||||||||||||||||||||||||||||
|