TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Let's Encrypt AUTHZ Reuse and Eternal Account Key

107 pointsby dc352over 8 years ago

9 comments

zarothover 8 years ago
I think it&#x27;s also important to note... you don&#x27;t need the account key at all if you can re-do the domain verification every time.<p>In most cases I delete the account key right after verifying the domain and getting a cert, and let certbot generate a new one every time.<p>We route the &#x27;&#x2F;.well-known&#x2F;acme-challenge&#x27; request to the standalone server (we use haproxy ACLs &#x27;path_beg&#x27; to route it to a dedicated port on localhost) so it hasn&#x27;t been a problem running the validation every time for every new cert.<p>And per TFA, the timeout for validation on their side (what they call Authz or authorization token) is about the same as the timeout for renewal, so you can&#x27;t really depend on not needing to validate the domain even <i>with</i> the account key. I&#x27;d much rather have the code path be identical every time, rather than different for new cert vs renewal cert, and then also different every other time you renew due to authz expiry.
评论 #12790802 未加载
TheDongover 8 years ago
In general, you&#x27;ll automate lets-encrypt. That means you&#x27;ll have some file or group of files (a cronjob, systemd timer, or what have you) that&#x27;s capable of producing new keys.<p>If an attacker can read files on the filesystem as root, then they can simply read whatever automation scripts you have and issue new certs as well.<p>This isn&#x27;t always true (e.g. if it depends on an IAM role, they&#x27;ll have to get data from the instance metadata service as well), but the point is generally true.<p>If an attacker has root filesystem access on a box which can issue certs, it makes miniscule difference whether they need to grab an account key or bash script; either way you&#x27;ve probably lost.<p>You could also, however, have more locked-down boxes which issue certs, encrypt them for their intended hosts, and transport them over, at which point all of your host boxes no longer have account keys to worry about.<p>You could also encrypt-and-ship the account key from the box to elsewhere, and then remove it.<p>Frankly, you&#x27;re making a lot of fuss about absolutely nothing.
评论 #12788447 未加载
评论 #12788277 未加载
veetiover 8 years ago
&gt; The surprising aspect is that Authz has a validity of 300 days (which is likely to be increased)<p>This is not true. Authorization lifetimes are only going to get shorter and shorter [1], and have already been reduced to 90 days.<p>[1] <a href="https:&#x2F;&#x2F;community.letsencrypt.org&#x2F;t&#x2F;upcoming-api-changes&#x2F;17947" rel="nofollow">https:&#x2F;&#x2F;community.letsencrypt.org&#x2F;t&#x2F;upcoming-api-changes&#x2F;179...</a>
评论 #12788244 未加载
评论 #12789025 未加载
评论 #12788687 未加载
pfgover 8 years ago
&gt; I did expect that each request includes a fresh verification of the domain control. And I also expect that substantial majority of people out there believe in this process &#x2F; data flow as that’s how certificates have always been verified – for each new certificate, you either have to send an email from a given domain or put a file to a web server’s folder.<p>This is not correct. Certificate Authorities are allowed to reuse authorizations for (I believe) up to 36 months, so Let&#x27;s Encrypt is already significantly below that (with 90 days right now, and probably closer to something like ~7 days soon). Many CAs I&#x27;ve used in the past worked like this.
评论 #12788347 未加载
hlandauover 8 years ago
&gt;And I also expect that substantial majority of people out there believe in this process &#x2F; data flow as that’s how certificates have always been verified – for each new certificate, you either have to send an email from a given domain or put a file to a web server’s folder.<p>Err... what? I don&#x27;t think any CA validation process has ever involved <i>sending</i> e. mail, and I&#x27;d be very concerned if it did, since the origin of an e. mail is not in general authenticated. Unless it&#x27;s in response to a CA e. mail which includes a token, of course.<p>&#x27;Obtain reusable authorization&#x27; followed by &#x27;issue certificate&#x27; is hardly unprecedented, and it&#x27;s a sensible way to structure things if you don&#x27;t have a commercial interest in applying the friction of a financial transaction to the act of issuance. Startcom, for example, used this model (there are many issues with them, this wasn&#x27;t one of them). I think CAcert may also use this model, unrecognised though they may be.<p>The ACME protocol is also a standard. It&#x27;s right there, I&#x27;m surprised people aren&#x27;t reading it, especially when they&#x27;re rigging up custom solutions. <a href="https:&#x2F;&#x2F;tools.ietf.org&#x2F;html&#x2F;draft-ietf-acme-acme-02" rel="nofollow">https:&#x2F;&#x2F;tools.ietf.org&#x2F;html&#x2F;draft-ietf-acme-acme-02</a>
packetizedover 8 years ago
If you&#x27;re upset about the expected operation of a service based on open-source software (github.com&#x2F;letsencrypt&#x2F;boulder), then I&#x27;d strongly recommend reading the code before use. Additionally:<p>&quot;I also expect that our Enigma Bridge Cloud HSM service (check our PKI product with hardware key security) can securely control storage and use of the account key to prevent thefts of the keys and their subsequent misuse.&quot;<p>Using this as a way to promote your product and <i>not</i> reading the code first is a serious failure of tradecraft on your part.
chad-autryover 8 years ago
Or just destroy the auth key once a certificate is issued. No need to keep it around. Can go through the expected validation process for a new one when renewing.
评论 #12788173 未加载
fomojolaover 8 years ago
My recommendation is to use the DNS challenge implementation with an appropriate DNS provider (I use Route 53): you can do all your certificate generation on a single locked-down machine and then just distribute the certs out to your machines. No need to deal with path_beg or check which host in the fleet is responding to the acme-challenge request.
lightedmanover 8 years ago
&quot;This is not true any more with re-usable AUTHZ tokens&quot;<p>I must re-iterate my own 10+ year experiences with Token auth - once authorized, end that token, period, or you&#x27;re asking for problems.
评论 #12788875 未加载