For the last few months I have been using the Firefox addon Certificate Patrol to watch for changes to sites' SSL certs - so as to know if I am being MTIMed, against which SSL otherwise provides no protection.

However, almost every time I visit either Google or any site which uses Google Analytics or Google's CDN for scripts, I get a warning about Google's SSL cert, and Certificate Authority, having changed. (I occasionally get this on other sites such as Facebook, but not so often.)

Why does their cert change so often? It's not every time, but it's certainly many times a day.
What purpose does it serve? It obviously makes it impossible to detect a MTIM, which is a pretty big disadvantage...

  • This issue is the reason that I had to remove Certificate Patrol. If the addon had a way to accept two or three certs for a domain it would help with this issue. As it is, Google properties alternate between *.google.com and google.com certs (probably due to different certs on different load-balanced machines) so often that almost every page load generates a cert-changed warning. I could not find the Certificate Patrol issue tracker to file an issue or suggestion. – dotancohen Dec 26 '15 at 13:02

The answer is likely that they simply have different certificates on different servers on their network, and you get routed to a different one every so often.

This is a common practice to simplify deployment and increase security - they then don't have to make a copy of the same certificate to every machine and load balancer in their (global) network. When you're at Google's scale, this is a good thing. Every copy of a certificate increases risk of compromise, but if a compromised certificate is only used on one, two or a handful of servers they can just revoke it and move on.

It is also why they have their own (intermediate) CA, so that they can issue themselves new certificates as necessary.

See also Facebook doing the same thing.

  • That would make sense, except that they switch between two different CAs (both their own; but with different roots). Why would that be? – Caesar Sep 3 '13 at 2:01
  • Also, presumably there is no way to detect MITMs when they are doing this, right? But presumably they think that's a worthwhile tradeoff since nobody bothers with cert pinning anyway. – Caesar Sep 3 '13 at 2:02
  • If you accept that a CA may quietly issue valid certificates to men in the middle, no you can't detect this. Most people prefer to overlook this complex issue. You may be interested in the Certificate Transparency project as a solution for this (in its early days): certificate-transparency.org – MattJ Sep 3 '13 at 9:01
  • Also, I can't say why they switch between certs with different roots. I see no reason for it, except that perhaps they made a switch and still have servers running with older certificates. – MattJ Sep 3 '13 at 9:02
  • Also note Google certificates are issued for only three months at a time. – Quinn Comendant Oct 31 '15 at 0:48

"Foreward secrecy"; they generate new certs on the fly instead of reusing the same one for years... See http://googleonlinesecurity.blogspot.com/2011/11/protecting-data-for-long-term-with.html?m=1

  • "They do no evil. To us." Gen. Keith Alexander. – Deer Hunter Aug 31 '13 at 4:24
  • 2
    Interesting. But the blog post you link to describes a different key exchange algorithm (ECDHE-RC4-SHA) to achieve forward secrecy; it doesn't mention generating new certificates every time. – Caesar Aug 31 '13 at 6:38
  • 1
    Also, this doesn't explain why they alternate between two different CA names. (I didn't mention this originally; sorry...) – Caesar Aug 31 '13 at 6:47

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.