5 ms·
The linked article explains how longer certificate validity times cause issues when compromised certificates aren't revoked (as they often aren't). Limiting th
by CydeWeys 7y ago
The linked article explains how longer certificate validity times cause issues when compromised certificates aren't revoked (as they often aren't). Limiting the lifespan of certificates reduces the potential fallout.
- danShumway 7y agoCompletely honest, open question: I've seen advice coming out of companies like Microsoft that password expiration dates are not useful, in part because they encourage insecure practices, and in part because the scenario where someone gets access to your password and doesn't get around to hacking you for 3 months is just not that likely. Why doesn't that advice apply to certificates? A company that's setting up renewals might do so in a way that exposes their certificates to more of the workforce than necessary. Setting up automated renewal adds complication over the much simpler model of, "put this special file in a vault and on the production server, and then nobody in the company gets to touch it." It also doesn't seem likely that a compromised certificate wouldn't be exploited for an entire year. But the general advice I've seen from security professionals is that LetsEncrypt's renewal policy is helping, and forced password changes are hurting. So it seems like there's some dimension to this that I'm missing, either around how companies are typically implementing auto-renew, or how certificates get leaked and abused.
- kace91 7y ago>I've seen advice coming out of companies like Microsoft that password expiration dates are not useful, in part because they encourage insecure practices, The need to come up with a new password and memorise constantly a new strong chain of characters is an unrealistic demand for regular users, that results in attempted get arounds (passwords with a correlative number, post it notes, etc). I don't think this kind of risk is present for certificate renovation, where it's safe to think that whoever is in charge of managing it has a security background.
- danShumway 7y ago> where it's safe to think that whoever is in charge of managing it has a security background. Or even if they don't have a security background, that they'd at least be more secure than the average user. I guess a certificate is also something that you don't need to write down and remember, which could help. Would a good takeaway be that expiring passwords would be helpful, if users weren't terrible about password management?
- kace91 7y ago>Would a good takeaway be that expiring passwords would be helpful, if users weren't terrible about password management? Absolutely, which is why it was considered a good practice in the past. A case of not taking into account the human factor /usability aspect.
- tdewitt 7y agoIt was a "good enough" practice until better options came along. It's never been a "good" practice. Take a look at lists of breached passwords and you'll see an overwhelming number of passwords that involve replacing vowels with numbers in common words. Humans are bad at picking complex passwords because they're not easy to remember. We had to adjust the rules over time to deal with that: minimum complexity rules, require a capital letter, require a number, require a "special" (but not too special because we still don't do proper sanitization), no repeating the same password until you've rotated N times, no repeating the same password until you've rotated N times AND there's a minimum age. Those rules all camebinto play because people can't be relied on to be smart about passwords. Password expirations are insufficient and it has always been a game of cat-and-mouse with people who hate them. Good security is something people willingly use or don't know they're using, so they don't try and work around it.
- detaro 7y ago> I guess a certificate is also something that you don't need to write down and remember, which could help. That's the main difference IMHO. Certs that need some manual procedure to renew already share one of the problems of changing passwords: it's yet another notification that something needs to be done soon(tm), and sometimes it will not happen until it's too late.
- CydeWeys 7y agoThe reasons to not expire passwords are that people will come up with dumb ones, write them down in plain sight, and/or forget them outright. None of these apply to certificate revocation. Passwords have very little in common with certificates, right down to the encryption algorithms. Certificates use public key encryption whereas passwords use secure hashes.
- ferzul 7y agoWhat's wrong with forgetting passwords? After a period of trying to use diffent passwords on different sites, I recently gave up and just type in some gibberish pattern I can reproduce three times (maybe via the clipboard), and then use password reset next time I need to log in. Is this desperately insecure? It doesn't work for everything I guess - online banking, email, work MS password. But if it's only three nonshared passwords it's tolerable.
- CydeWeys 7y agoForgotten passwords require the use of password reset flows, and password reset flows are a notorious security weak point, whether it's because the security question answers can be gotten from publicly available information or guessed, or the email or SMS used for the reset flow is compromised, or the codes used are too short and can be brute-forced, or a variety of other issues. The safest password is one that is never forgotten, and that has a truly onerous password reset flow, e.g. needing to go in person with ID to get it reset, potentially with someone else to vouch for you (how it works at many companies). Password reset flows are ways to get around the password mechanism itself, and the more often people forget their passwords, the smoother that flow (i.e. password bypass) needs to be.
- dwaite 7y agoSpeaking specifically in terms of compromise, and not in protection against compromise: Certificates are part of a decentralized, delegated trust system. They are effectively a cache of a security decision. With passwords, the security decision is made each time you log in. If the statement in a certificate is no longer true, you need a mechanism like OCSP stapling (I suppose - because everything else, OCSP and CRLs, have failed). If your password is compromised, it just needs to be changed in the database or directory. The password won't be usable anymore. Now, kerberos tickets based on the compromised password may still be good for a few more hours, but thats another story.
- danShumway 7y agoThis is a really good point that I was missing. I kind of assumed that when people talked about the difficulty of de-issuing certificates, they just mean that companies would be slow to do it. The fact that there is no central point of authority by default that can say "no, it's not good anymore" -- that changes a lot of things, because now your expiration date is effectively the only good way to get rid of the certificate. That puts LetsEncrypt's 3 month model in a different light -- it's not just aggressive to force people to automate the renewal process, 3 months is literally just way better than a year for security purposes.