Use connection of A and B as an example. Their communications were encrypted by Public Key Encryption. Before they exchange their public key, ISP MITM attacked. A got "B"'s public key (ISP generated) B got "A"'s public key (ISP generated)

A send message X to B.

A->"B"'s public( (A's private(X) )->ISP

When ISP got that ciphertext(C), ISP decrypt it by "B"'s private( (A's public(C)) ) Then, ISP got the message.

After that, ISP encrypt message X for B.

ISP->B's public( "A"'s private(X) )->B

Then B decrypt ciphertext(C) by B's private( "A"'s public(C))

Then B got message X and they don't know ISP got the message.

Is it possible? Sorry for my poor English and explanation.


When you connect to a site over HTTPS, your browser checks that the certificate was issued by a certificate authority that you trust (typically built into your OS or web browser) and that the certificate matches the domain of the website you are visiting.

So if your ISP can get you to install a certificate corresponding to fraudulent certificate authority they control OR compromises a certificate authority OR somehow obtains the secret private key of a random website, then yes they could surreptitiously do a MITM attack.

There is plenty of incentive for certificate authorities not to issue fraudulent certificates. If any fraudulent certificates are seen in the wild (which is easily verifiable as only the certificate authority can sign a fake certificate), the certificate authority would lose its trust and quickly go out of business.

Furthermore, for some sites and some web browsers there's the notion of certificate pinning, where the site can only be visited via HTTPS (using accomplished through HSTS) and only with a certificate issued by a pinned certificate authority.

  • how about if it is on tor network? – user52979 Jul 31 '14 at 3:59
  • 1
    At the exit node, tor traffic is very susceptible to eavesdropping. See: security.stackexchange.com/questions/34804/… and security.stackexchange.com/questions/31589/… – dr jimbob Jul 31 '14 at 4:04
  • 1
    I know that there is weakness in exit node, but will the rest(encrypted traffic) be MITM attacked like my question? – user52979 Jul 31 '14 at 4:06
  • 2
    There is at least one firewall manufacturer I'm aware of that explicitly uses MITM certificate shenanigans in order to decrypt HTTPS -- ostensibly just for application-level intrusion scanning, but traffic interception is possible as well. – Shadur Jul 31 '14 at 6:54

There have been compromised certificate authorities - and the list of trusted authorities is very long and geographically dispersed. I would certainly consider nation states to potentially have the ability to orchestrate this sort of attack.

The only real solution to this problem is certificate pinning or using another layer of encryption on the payload with public/private keys, or a shared secret (symmetric encryption) exchanged out of band. Pinning in it's simplest form means you know what certificate to trust from the site and don't trust any other. This means you wouldn't trust a certificate inserted by your ISP. Perfect forward secrecy also helps in terms of reducing the impact of compromise or failure of other controls (also in the part of the Wikipedia article linked below). You could also consider reducing the number of certificate authorities your browser trusts.

Here's more information on certificate pinning: http://en.wikipedia.org/wiki/Certificate_pinning#Certificate_pinning

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy