Consider visiting a secure website like Gmail. Is it possible to forge the website certificate only by having full control over the internet provider?

I mean is it practically possible for a provider with no access to user machine (for installation of its root CA), to apply a forged certificate for some secure websites so that the browser built-in security check doesn't alert mismatch certificate?


No. Interception of HTTPS connections is usually done by governments in cooperation with ISPs. Governments obtain a valid certificate from any one of the CAs who have their Root certificate among the Trusted certificates in browsers and operating systems. Governments use legal means to force CAs to issue them certificates. This is only possible for governments who have a CA within their jurisdiction, meaning all the large states of the world have this theoretical capability. How widely this is used in practice is unknown. It can be (sort of) detected by SSL Observatory and I have seen some extensions for Firefox that notify you if SSL certificate has been changed since your last visit.

  • So @Matrix you mean that the government buy some valid certificate from a valid CA and change the parameters with the knowledge that the CA won't alert it as invalid one? And obviously the browsers have no way to understand this complex hack? Dec 24 '12 at 6:04
  • No. CA is forced to issue them valid certificates for the domains they'd like to intercept. CA can also issue a wildcard certificate like *.com. To a user browser, this will seem like a valid certificate, because it is. Read files.cloudprivacy.net/ssl-mitm.pdf
    – Matrix
    Dec 24 '12 at 10:25
  • 1
  • When you have such a warning extension installed, you get so many warnings about changing certificates for Google, Twitter and Facebook that you have no idea what it means. Maybe if you're living in Iran or China and using it for a limited set of websites while knowing what all those warnings tell you, it might work.
    – SPRBRN
    Feb 4 '15 at 12:45

SSL is precisely designed to ensure integrity when the network is hostile. To make a fake server certificate that the client will accept, the attacker must subvert the basis on which the client builds its trust. This means, in practice, one of the following:

  • adding a new attacker-controlled CA in the "root CA" store on the client system;
  • obtaining the fake certificate by bribing one the the root CA that the client system trusts;
  • exploiting a vulnerability in the software used by the client (namely, his Web browser).

Of course, security holes happen regularly; it would be preposterous to claim that none of the hundred-or-so root CA are all flawlessly honest and rock solid (especially CA controlled by some governments with a creative approach of democracy); and most ISP will send to their customer a "connection kit" (as a CD/DVD) which is a nice vector for rogue CA insertion (if we consider the ISP as hostile, then we may as well assume that the ISP is competently hostile).


No, but your internet provider may already have a trusted root certificate. For example, in Germany, "Deutsche Telekom" is the biggest internet provider, and has trusted root certificates in the certificate stores of all major browsers.

These circumstances are likely unrelated, but may in theory be used to perform the attack you describe.

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.