Pros and cons of 90-day certificate lifetimes

I think you have misunderstood :smile:

My post was a reply to raairb, not you. You can see this icon in the top right of a post when its a reply to another post:

2 Likes

You are right.

I suspect a new pair of reading glasses are in my near future.

6 Likes

OK, briefly:

As I see it, automation is NOT LE’s main aim.

LE’s main aim is widespread adoption of TLS.

Automation is a means to an end - to make it as easy as possible so that admins will actually bother setting up TLS.

Forcing short certificate lifetimes actively gets in the way of our main aim, in the name of encouraging automation.

Finally, there is a fundamental difference between encouraging short lifetimes and imposing them.

By all means, make 90 days the default. But give users the choice, by allowing longer options too.

This is why some people are angry - because you are taking the choice out of the hands of the user. To assume you know better than the user is perceived as arrogant and controlling.

I know you are doing that for the right reasons (because you think it’s better security practice) but it will be counterproductive in the long run, since it will act as yet another barrier to adoption of TLS.

There are plenty of use cases in which short lifetimes are not appropriate (no need for me to repeat them).

I will just add one more - general prevalence of short certificates creates extra work for anyone that is pinning/paying attention to what certs are being served to them. There are good reasons to do this, since the CA trust model is really problematic.

Use of a consistent subject public key over longer periods does mitigate this issue, but encouraging a culture of short-term certs needs to go hand-in-hand with vocally encouraging a culture of long-term keys. Anything else is irresponsible in the context of widespread surveillance and well-funded MITM systems.

Anyway, that’s it. Hope you are able to listen to what people are saying and change your mind.

17 Likes

I have no problem with automation at all. My problem with short lifetimes which makes it totally unusable, if this is enforced, is that it adds LE as a point of failure into my system. If for any reason they won’t issue the next certificate I will have less than a month to notice, (undo the automation) and get something else in place. Yearly seems like a much more suitable lower bound for those reasons.

What if they go out of business? What if they decide to impose other arbitrary ideals?

Eg. If security vulnerabilities are found will they immediately stop providing that type of cert? What if we wanted to continue (with extra care and possibly other measures in place) in a degraded way because other software didn’t have a patch yet?

I don’t want those decisions taken out of my hands. A proper authority acknowledges that pragmatism needs to be above idealism. If you want to be taken seriously you can’t step out on the wrong foot.

8 Likes

I really don’t see why you should not give users the choice. When the default is 90 and automation is used, the vast majority will use 90 days anyway. But the few people, who really need a longer life time (e.g. if they HAVE TO use manual mode), should be able to have it.

8 Likes

I strongly agree on the limiting certificate lifetime, if, and only if there is a reliable method of automating certificate renewal. And there is one.

Both website admins and visitors care only about one thing - is current certificate of the website they are visiting valid NOW? If it is, then everything is fine and there is nothing more to worry about. As website admin, I don’t care whether my certificates are valid for 6 months or 3 years. Why should I? All my certificates must be valid NOW. That’s all.

It was mentioned many times before that certificates with longer validity can present a security risk and certificates with an extremely long lifetime (like 100 years) present extremely high risk. I am OK with that. Let’s Encrypt says certificate should be valid for 90 days? Fine! That means that I have to renew all my certificates every 60 days. Is that a problem? Not at all, because all I need is a tool that does it automatically.

On my server I use my own script which checks and renews all certificates automatically when needed (see here). There is no magic there, it just works and it is a very simple script. Anyone could write a script like that, or even a better one. Just run it once daily via cron and forget about certificate lifetime - all your certificates are going to be always up-to-date. Congratulations to people from Let’s Encrypt, they have managed to create a way to automate everything. No more manual fiddling with CSRs, confirmation emails, copying/pasting keys and all that nightmare. It’s gone. Forever.

So this is my point - once you setup automatic certificate renewal on your server, the whole debate on the certificate lifetime becomes completely pointless. Let’s Encrypt says the lifetime should be 90 days? So be it, I don’t care anymore.

2 Likes

@acetylator There are multiple situations where automatic renewal is not possible - What say you to those situations? Why should LE unnecessarily limit users? Should LE really be ignoring other non-website uses of SSL?

3 Likes

You mention two situations. Concerning the second one - “non-website users” - this actually has nothing to do with certificate lifetime, but of course, Let’s Encrypt should provide a way to confirm domain ownership for non-website users. For example, using some custom DNS records, whatever. I am not sure whether something like this exists at the moment, but even if not - it is not an argument against limited certificate lifetime. This is exactly my point. Let’s Encrypt people should put all effort on providing a way to automate renewal process, which should be as simple (and of course, secure) as possible. Right now, in my opinion, website admins are fully covered with “webroot” authentication. Authentication solutions for non-website users should follow.

See, you can’t just say - nah, renewing certificate is way too complicated for me, so just give me a certificate for 100 years and I am gonna be happy with it. It is NOT a good security. And whole SSL thing is about security. It is not just about having a green lock icon in your browser. So instead of asking for a certificate with a long lifetime you should ask for a reliable, simple and secure method to renew your certificate(s). This IS a good security. And this is what Let’s Encrypt should provide.

You have also mentioned situation where automatic renewal is not possible. I am wondering, what are those situations? Could you give some examples?

1 Like

Simply means right now that means Letsencrypt isn't suited to those folks needs then. Just like if a domain registrar doesn't offer *.xyz domains, you wouldn't buy from that registrar and choose a different registrar. Or if you need dns management with DNSSEC support, you'd find a dns provider with such support.

2 Likes

Doesn't it? I'm sure other applications of SSL also perform the necessary validation checks. Besides, my point was that you only seemed to be considering one narrow use-case.

That seems like scope creep (as mentioned in the OP and several other posts in this and the previous thread) - LE's goal is to get encryption rolled out to as many people as possible. It's definitely nice to have, but it could theoretically be worked around any certificate lifetime.

For the most part, yeah. I'm sure there are some other edge-cases, but there's the normal authenticator for that.

Agreed, a 100-year cert would be awful, however a one-year cert isn't really in the same league. I'm sure there are plenty of reasons for current CAs to offer certs that are a minimum length of one year, as they already do. While it's true that none of them offer automatic renewals, I suspect that's only one aspect.

Pretty much anything that requires high availability but doesn't (yet?) support reloading of SSL certs. Several IRC servers, email servers, legacy applications, and so on will certainly come under this. There are more examples of this in the old thread.

Perhaps - But I thought LE's goal was to reach as many users as possible?


I should point out that my stance on cert lifetimes is that I'm quite happy with the default 90-day length - but I also feel that there are some situations where the option to create a one-year cert would be necessary, or at least extremely helpful.

2 Likes

Yes within the operating parameters and policies they have in place I assume.

1 Like

Re your point that “LE’s goal is to reach as many users as possible” - obviously, there is a LOT to do yet to fulfil this goal. Website users is just a part of users that need SSL. But it is a huge part and therefore securing websites can be seen as one of the most important goals.

Of course, all other secondary uses that you mentioned (IRC server, email server, applications that use SSL) should also be addressed, there is no doubt. It’s is just not done yet, but hey, they have opened just yesterday. They are even not really opened, just entered a Public Beta phase. I think we should wait. I am sure developers are very well aware of problems of non-website users and they are working on it.

I think that in the meantime secondary users (e.g. non-website ones) should use some other solutions (StartSSL or commercial certificates) and come to LE when LE is ready for them. If LE does not provide services that I need, I either wait until it does or go elsewhere.

1 Like

Yup once a zebra always a zebra. They have made it clear that they are here to protect you from yourself. They will continue doing that as they see fit with additional mandates in the future.

Ditto

Ditto

4 Likes

And even more where even if possible it is impractical.

3 Likes

Which we would like to see them change to meet our (their customers) needs. That's why we give them feedback and try to encourage them to lightn up with policies that have no hard requirement.

2 Likes

I got a doubt about renewals, my case, I use many hostings so it’s imposible to auto install the certificates, each time I install a new one I need to paste in the hosting’s page and they install it for me, but I keep the /etc/letsencrypt/live/ certificates all in my laptop.

So…, I not pretty sure on what will happen in march when all this certs expire: I do a --renew-by-default for each cert…

  • And then the same cert (which is installed in the hosting), si valid for 3 more months?
  • It launches a new ACME validation, (manual for me) and the same cert is valid again?
  • Or it launches a new ACME validation and generates a new cert, which I will have to install manually in the hosting again?

I’m sure the answer must me somewhere, but I’m haven’t been able to find it. Thanks

1 Like

@Octal The answer for this is to ask your hosting provider to supprort Let’s Encrypt. The process generates a new certificate, so you’ll have to install it again.

This isn’t really the right place to ask about this - Try creating a new thread in the relevant category.

1 Like

but I dont think this might happen so quick. I just asked one domain provider whether they plan DNSSec (which is a bit older than DNSSec) and they said they dont plan it, probably because they dont want changes in their systems.

1 Like

Yeah, I know it was a bit out of the main thread, just to clarify my point view. I mean, the 90 days cert wouldn’t be so bad if when you renewed it where valid for 90 more days, it’s posible in fact, the ACME could challenge the LE client to decrypt something with the privkey.pem (so, you probe your identity and you get notified by email, for example).
Instead of do a challenge to the server (again) which you already proved is under your control.

I don’t think any hosting will support a LE automated process, They sell hosting, domains and certificates, why will they change there business model in order to give free certs.

1 Like

@My1 All domain registrars that handle TLDs that are regulated by ICANN have to support DNSSEC; you could always send in a report if they’re not going to do that and you have, for example, a .com domain.

@Octal Many of them don’t sell certificates; besides, it’d be good business to support LE, since users that want LE will move elsewhere.

Also, the cert would still have to be replaced, there’s no magical way to make it valid for longer, as far as I know.

1 Like