Take the 2-minute tour ×
Information Security Stack Exchange is a question and answer site for Information security professionals. It's 100% free, no registration required.

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...

share|improve this question
add comment

2 Answers

up vote 3 down vote accepted

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.

share|improve this answer
    
That would make sense, except that they switch between two different CAs (both their own; but with different roots). Why would that be? –  caesarsgrunt 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. –  caesarsgrunt 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
add comment

"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

share|improve this answer
    
"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. –  caesarsgrunt 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...) –  caesarsgrunt Aug 31 '13 at 6:47
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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