[Acme] Re: RFC 8555 Last Call Draft Change Request

Mike Ounsworth <ounsworth+ietf@gmail.com> Wed, 15 July 2026 12:42 UTC

Return-Path: <ounsworth@gmail.com>
X-Original-To: acme@mail2.ietf.org
Delivered-To: acme@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id B5ECC117298B1 for <acme@mail2.ietf.org>; Wed, 15 Jul 2026 05:42:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1784119374; bh=Z1slDAuTzi8VHKDvT9j34f0lmp9C//LIF06Pw0Suu18=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=K6ZYW9ITg9mZjKF7UbeWakYLK+lpnEEkncyV6w4/37Sx6qfc7GEz5zSL3qxDrWA14 997Ssd4zmdd5ZL6NUYcbpeLr083q5wskuXLFcYLuXQ4ThBDOrD1bifR8OM5m17B/eO hkECtswSCWgTH7SQk8fG3SGhuu3ES5Ndter+GtVo=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.088
X-Spam-Level:
X-Spam-Status: No, score=-2.088 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id A8T6PRj6Y0qp for <acme@mail2.ietf.org>; Wed, 15 Jul 2026 05:42:53 -0700 (PDT)
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id E8C8B117298A8 for <acme@ietf.org>; Wed, 15 Jul 2026 05:42:52 -0700 (PDT)
Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-69c600f76ccso3370922a12.0 for <acme@ietf.org>; Wed, 15 Jul 2026 05:42:52 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1784119372; cv=none; d=google.com; s=arc-20260327; b=XJOa1IiSfwxZzV6zVNZYMDnJaiW5unrcN7W6hkOqH+KGAGITaDlY/edbHag9FO+85c sc90UgEGWpeWLEnSQDE3L6OsFl7xLqcxqir6g9iHZP7/o1DIF9Ev0Si6YADQCyuIok8b 5pCxtgzxGZr2y5ZUJy9gQhSMXKrAC3fvSinhqK6rlxaBGY2oUpDJlAlNXhtaGOpkgKS4 9uLkfbNeW9YZvlxhMeB6a2LntOU79vGmuiyaT4DLl076rkKIjvQg3vxVPSqNj8OnxRH0 HABWY45nE9rCO8IxhIGNlA3Pveou40VoYjqmxBHbR0YAaW1RI7bscXfG8ycdCW432tWw c/RQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=THHuBv8noPG7FkKvu/7CmlSRxtkTv9TYBx5oCaKEWnQ=; fh=VwZa2hLxf34yLUD8fC5B9fqFFT4BuZN1ILmVpXEkNms=; b=jRIdn5r9axKKa4AE/YlcvD+B5DBOigPlEzPUvL64CUjTiruf96rxZXHdloXwO89BdF APOuM/u+3G4RjiqR+MYsbiRCGHLe7+WnUMAvgg06LhZI3LbqKGnh/4U1KLqMAr2CfeMY 3ns8aiSwIWJw9iQj/k6PaE6GpAbkb1YlvnXDsUX/U29P8aa1qTcvC7lcG3wRTqIopILt AvhV9WO7apGIbh1P2NXdapTwtJKzhihWy7XJXDS95de2tvoF5QbBGfXnEo+WDP3LhupI tQmG1ky2qIdz5J47MSn3js7Zh1d9jNVMsW/yIt/lq6MnT0dQHKW1SvQT2wvMqq3xjvld sFkA==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784119372; x=1784724172; darn=ietf.org; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=THHuBv8noPG7FkKvu/7CmlSRxtkTv9TYBx5oCaKEWnQ=; b=ZbrBGxha/S+69CUNOjoinzsJQNVFG44E4WWo/ubrs6A0w+1A/6lWEvGGMNJsfiHSaI Bq7oxo82dYVzpoWN4lRI/FQ3etayIaNjceZL6fpXvZ8/2H78DcUdfiQWdviQFG6SVQ9v zCHnhs8u46Fbp5mcAzMzYYDPsQt4TBxOuPquEUCByuqmV7+EhLIEI03V6tkr9RwTMEuK HAU2V2fb24w4ExFJSblRJ1Ptzg9qN0wR64ajLCIk0tDWHjLCo9s+s0DhRHv+JR2+WQ7Z kc+H9uUKkfS55L7/jE/dD6q++uY1tBWrR8LUO3sQsqQtOla4th7ep1Ekie1qiuZ1a+aq veUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784119372; x=1784724172; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=THHuBv8noPG7FkKvu/7CmlSRxtkTv9TYBx5oCaKEWnQ=; b=r/Dd0dibDTQGr9Tvz6AemAN/SZ4LOKUPeQSB+YzYj/6QSp7sgQw0cDt6Nu5Hdj3Su2 1G1W+m2GeD8KEMhmD/3oJFm9JYsM7uhuUg2Yw79N40CXxN3ad5t3x6kGE8WnQGYeB3u1 k89ZtkLfeR+NExJBGOboJD6IebYCl5f5Rh+mg9umC0Mw71M/lUd0plYcRRqLCF3dGhUu igt7w21nt53jBYm5aKzh6rmsHYv4D9yCK74j+wPquTc+1mps3mmTjUnmCeOUCf1msqql bQ2MYovotRQQtMc224wa4tn62+WtUi1cHfGM94IsXYoPHBgZw7WJsm6Evgvbjl5trubR BFOg==
X-Gm-Message-State: AOJu0YxIe3q4embiRsXFpxsSxeJ/WvGbDcWSRpMAE3zYPygZmP+1F8z4 +jOGepRnlLcOBjJz/MM1GewQq67y/Ecr8W+R7f8Grq0mpzXfxawF0Afg4cfqRjlbeejxWUa/Uqk BwZoiLe3wb9k/VP7xuKauH8iRUEjC2CfdSGICD9Y=
X-Gm-Gg: AfdE7cmgtOAXNIPacYEuLnIaX1to13SAl3BLkvqaQ3ny+YKvgECXbzqJ4J8zUjvdYvc LnokzZ1jkrkW0759mlekT0XuUyJHQ7M2J+ZMWHpt3JPlhV+F4ET+Kw4eIyeTPMmbrw/PAxTPWw2 OwYJ7ZEZ+TKj1vlkrpFbUanuKf40KNryS46VhqhMDXbKUwkRNyuz6aXbWLEgXoSR9SOvRL6BBqo a6fBbmFmRpK83J5tw1gPlDbmTWVf6giLq4VGeFi6brTawOXrph3SWguh32tMLiRtD5kxMFsLw==
X-Received: by 2002:a05:6402:5518:b0:697:7f9a:8652 with SMTP id 4fb4d7f45d1cf-69c5f104400mr8075420a12.27.1784119371588; Wed, 15 Jul 2026 05:42:51 -0700 (PDT)
MIME-Version: 1.0
References: <CAPU_E+eKRG5um9m_yFW_EDYs7k+bq4KHSr1Ra89Hk=-Wk91qAg@mail.gmail.com>
In-Reply-To: <CAPU_E+eKRG5um9m_yFW_EDYs7k+bq4KHSr1Ra89Hk=-Wk91qAg@mail.gmail.com>
From: Mike Ounsworth <ounsworth+ietf@gmail.com>
Date: Wed, 15 Jul 2026 07:42:39 -0500
X-Gm-Features: AUfX_mzSEfUWtY30XObOPmnAxPwza7YrQthlYZuPU74KfyhtCwA65yqP9x_ZsW4
Message-ID: <CAKZgXHrDonc7OABw7msMLq7_p+Rg0X8C2j+JKz=TEHsCGY_s_A@mail.gmail.com>
To: Michael Paoli <michael.paoli=40berkeley.edu@dmarc.ietf.org>
Content-Type: multipart/alternative; boundary="000000000000616ca00656a5a993"
Message-ID-Hash: 54WGP4UJPAXDPS322KEQGNMZWYFPZYOH
X-Message-ID-Hash: 54WGP4UJPAXDPS322KEQGNMZWYFPZYOH
X-MailFrom: ounsworth@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-acme.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Acme <acme@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Acme] Re: RFC 8555 Last Call Draft Change Request
List-Id: Automated Certificate Management Environment <acme.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/Iyqy7EHo4XO24m6qj9loyogGGfQ>
List-Archive: <https://mailarchive.ietf.org/arch/browse/acme>
List-Help: <mailto:acme-request@ietf.org?subject=help>
List-Owner: <mailto:acme-owner@ietf.org>
List-Post: <mailto:acme@ietf.org>
List-Subscribe: <mailto:acme-join@ietf.org>
List-Unsubscribe: <mailto:acme-leave@ietf.org>

I have added this item to the agenda for next week under

## New Business
...
* New mechanism for “I lost my account key, let me re-do DNS-01 / HTTP-01
and then kick all keys currently authorized against that domain” (see
discussion on-list titled “RFC 8555 Last Call Draft Change Request”)

That said, by all means please continue discussing on-list.

On Tue, 14 Jul 2026 at 21:35, Michael Paoli <michael.paoli=
40berkeley.edu@dmarc.ietf.org> wrote:

> I think Fabian ("Fabian V. Thobe" <fabian@thobe.eu>) raises excellent
> point(s).
>
> I think I'll mostly limit myself to matters on / raised by, or (quite)
> close to:
> RFC 8555 Section 7.5.2 Deactivating an Authorization
> https://www.rfc-editor.org/rfc/rfc8555.html#section-7.5.2
>
> And please pardon my at least partial ignorance on these matters, I
> certainly won't know all the relevant technical details, but hopefully
> at least "enough" of what may generally be relevant.
> I arrived here via a relatively indirect means, notably via
> a bug in certbot:
> https://github.com/certbot/certbot/issues/10494
> which in many cases didn't handle
> RFC 8555 Section 7.5.2 Deactivating an Authorization
> properly, at least relative to certbot's documentation (but in
> some other (special) cases it did work as documented).
> There was also a longer discussion that lead up to isolating that bug in
> certbot, see, e.g.:
>
> https://community.letsencrypt.org/t/certbot-deactivate-authorization-s-rfc8555-section-7-5-2/243041/22
> etc.
>
> To Fabian's point(s), and related, regarding:
> RFC 8555 Section 7.5.2 Deactivating an Authorization
> I think that, at least in theory, the DNS domain owner ought have means
> to deactivate an authorization, even if they don't or no longer have
> access to the currently required key.  Now, as to whether or not that
> would be highly feasible, and/or other mitigating controls and
> (possible) adjustments ought be made to RFC 8555, or if it would be most
> practical or needed to have changes and/or additions to other RFC(s),
> and/or other standards, and perhaps even warranting or necessitating
> some coordination, is also another question/matter to be considered.
>
> In any case, I can think of many scenarios where at least some changes
> ought be made to the existing.  E.g., let's say, at least
> hypothetically:
>
> For a given domain, let's say we have owners of the
> domain, in chronological sequence: OLDOLD, OLD, NEW.  We can even
> further say, OLDOLD and NEW happen to be same legitimate owner.  But
> between, OLD somehow managed to hijack the domain from registrar, and to
> Certificate Authorities (CAs), RFCs, etc. OLD appeared legitimate, but
> legally etc. OLD was not.  Let's further say, while OLD had control,
> there were hundreds of generally widely trusted CAs, and half or more
> well supported ACME and RFC8555, and during that time, OLD created new
> accounts on Let's Encrypt (LE) and other ACME supporting CAs, and
> obtained hundreds to thousands or more trusted CA issued certs for
> domain, sub-domains thereof, and including wildcards, etc., and used ACME
> for all of those, and DNS validation at that time, so now those
> authorizations have been cached by these various CAs for up to 30 days
> (I believe that's the max in RFC8555).  Anyway, subsequently, NEW
> regains control, but now they've quite the mess to deal with.  Not only
> many certs they want to have revoked but also issues with
> RFC 8555 Section 7.5.2 Deactivating an Authorization
> as with those cached, OLD could still continue to obtain trusted CA
> certs via ACME - and of course NEW wants to prevent all such attempts.
>
> Slightly different but similar scenario to the above.  The ownership of
> the domain never changed.  But some bad actor person(s), e.g. employed
> by domain owner, exceeded their authority, and likewise requested and
> obtained many trusted CA certs from many CAs via ACME.  The domain owner
> subsequently terminated those bad actors from their employ, but
> meantime, those bad actors ran off to countries lacking extradition
> treaties, sold keys via the Dark Web, and now very bad actors can
> continue to get trusted CA certs from ACME CAs for up to 30 days.
>
> So, I think probably two cases/areas need to be addressed to
> fix/mitigate those types of risks, or any where legitimate owner needs
> revoke authorization without having access to key.
>
> First case, where owner has all the relevant information, notably what
> authorization(s) are cached out there with what CA(s), having control of
> domain and being able to effectively prove that (though means matching
> or quite similar to ACME), they should have means to deactivate such
> authorizations.  And it should be doable in quite timely manner, e.g.
> API, and I'm thinking hopefully/probably as minor extension to existing
> ACME / RFC8555 ?  Or maybe that need/ought go in a separate RFC (e.g.
> depending how extensive needed changes may be, etc.).
>
> Second case, and more generally.  E.g., depending what bad actor(s) /
> OLD may have done, with domain, how many sub-domains, and including with
> wildcards, and across how many trusted CAs, it may not be feasible for
> legitimate owner to determine the full extent of the issue and be able
> to track down and revoke all those cached authorizations.  I was
> thinking CA transparency logs might be used to track those down - but
> not necessarily.  E.g. if bad actors go through part of ACME, and get
> authorizations, and those were cached, but don't proceed through to cert
> issuance, there may be nothing in the transparency logs to indicate such
> had happened (not sure I've got that fully right, but I'm guestimating
> there aren't CA required public logs of all the granted authorizations
> and their expirations?  And presuming that's not there, probably
> wouldn't want to burden all ACME CAs with adding such).
> So, perhaps to best address, not a 100% fix (revocation), but rather
> mitigating control, and much simpler and more feasible.
> At present, the caching is up to 30 days.  What if that max was reduced
> to something in the range of 7 days to an hour?  I'm thinking any
> shorter would probably be too short, as there are good legitimate
> reasons for caching - e.g. for those that have to do (semi-)manual
> operations to get the authorizations, don't want to have to unduly
> burden them with having to repeat that too frequently.  And I'm thinking
> for potential high/low ends to potentially consider for the max,
> on the shorter side, I was thinking DNS TLD NS delegating authority
> TTLs, e.g. shortest I'm aware of that's much used is org. of 3600 (and
> longest, e.g. com. (and others) of 2 days).  And on the high end,
> perhaps as long as LE's present shorter-term issued certs and ACME
> authorization cache duration, which I believe is 7 days.  Though I think
> I'd probably advocate for something in the range between one hour and
> two days.  I think 7 days is probably rather excessive for good
> mitigation, and I don't know that there are really that many use cases
> with good strong justification for having authorizations cached beyond
> 2 days (let alone beyond 7 days).
> There would also be matter of (effective) enforcement, notably changing
> from the existing.  Updating RFC8555 itself I don't think would fully
> cover it - probably some coordination needed on the standards for what
> allows CAs to become and remain trusted CAs.  So, perhaps RFC8555 would
> be changed from MUST ... 30 days (or however it's worded on the
> duration presently), to a new max - call it T (somewhere between, e.g.
> one hour and two days), and changing RFC8555 to
> MUST not exceed 30 days, SHOULD not exceed T, and as of
> YYYY-MM-DDT00:00Z and thereafter MUST not exceed T.  And then the
> particular YYYY-MM-DDT00:00Z could be coordinated with the trusted CA
> standards requirements.  And future revisions of RFC8555 after
> YYYY-MM-DDT00:00Z could simplify that by just dropping the 30 day bit,
> change the SHOULD to MUST, and drop the YYYY-MM-DDT00:00Z bit.
> And ... not quite mitigating controls:
> These mostly suffer the close the barn door after the horse has gotten
> out problem, or in other words, aren't useful retroactively.
> E.g. if means were added to do request with a shorter caching max,
> that doesn't help on deactivating earlier requests that had long (up to
> 30 days) cached authorizations that are still active.  One may need to
> revoke much sooner, or at least have mitigating controls expire such
> caches much sooner than 30 days.
> Likewise CAA DNS records, those aren't useful to retroactively address
> the issue, and even if the RFC(s) were changed to have CAA record
> (optionally?) apply retroactively, that still has little granularity.
> E.g. domain owner might have hundreds of thousands or more certs under
> their domain that are legit, but bad actors may have gotten
> authorizations cached for key(s) they control for (hundreds of)
> thousands or more for domain, and sub-domains thereof (including
> wildcards), and legitimate owner may need means to deactivate those
> cached activations from bad actors, or at least short of that -
> mitigating control, have them expire in relatively short period of time,
> while not disturbing those that are legitimate.
> And both those fully legitimate, and those cached by bad actor activity,
> could all be under same CA, so again, CAA DNS record wouldn't have the
> granularity to deal with that on separating them out, and I don't think
> major extensions to definition of CAA DNS record and/or adding other DNS
> record types to deal with the situation would likely be the best way(s)
> to go for mitigating controls.
>
> So, I'm curious, what, if any, very much really needed cases exist for
> the existing caching going beyond 2 days, or even 7 days?  If there's
> (next to) nothing there, perhaps simplest major step would be
> mitigating control on dropping that max down to something between an
> hour and 2 days.
>
> But as for how to feasibly allow any legit domain owner to revoke from
> cache, without key, and perhaps without even having advanced knowledge
> of all the cached authorizations across all the trusted CAs (e.g. many
> created by bad actors), I don't know that there's any relatively clean
> simple enough feasible way to handle those more general cases.  But lots
> more brains on this list, etc., than mine alone, so maybe some have
> great ideas how that could be highly feasibly achieved.
>
> But in any case, I think at least mitigating control, working on
> dropping the max. caching time is likely simplest and most feasible,
> and though it wouldn't 100% cover the issue, it may be "good enough" to
> cover, or at least well help, for most cases (e.g. turn an up to 30 day
> problem into a less than 2 day problem).
>
> references/excerpts:
>
> > From: "Fabian V. Thobe" <fabian@thobe.eu>
> > Date: Tue, 14 Jul 2026 10:25:45 +0200
> > Message-ID: <
> CADn23j4Ugi5_DXA65u4CZubMOqJMLwgM1jiqHG4poJm-dZUOaQ@mail.gmail.com>
> > To: acme@ietf.org
> > CC: dev@propstat.org, alexis@eff.org
> > Subject: [Acme] RFC 8555 Last Call Draft Change Request
> > Archived-At: <
> https://mailarchive.ietf.org/arch/msg/acme/tpvOoBqHcEhSoPP-C0UaBtERgeY>
> >
> > Dear RFC8555 Committee,
> >
> > In cc: Alexis Hancock from EFF as some content involves also Certbot
> >
> > *TL;DR *
> > A mechanism for authorization invalidation independent of the account key
> > appears necessary to ensure that domain ownership, and not a historical
> > authorization state, remains the ultimate source of trust.
> >
> > *Background*
> > While working on improvements to the DNS Route53 plugin for Certbot
> (Certbot
> > PR #10729 <https://github.com/certbot/certbot/pull/10729>) to better
> meet
> > the security requirements of a European government entity, we identified
> a
> > potentially critical issue related to cached DNS-01 authorizations.
> > Specifically,
> > we observed during the PR related manual testing that certificate
> issuance
> > remained possible even after the certbot DNS credentials had been revoked
> > upon credential change. While we initially suspected a regression related
> > to previously used AWS credentials, further investigation revealed that
> the
> > root cause lies in RFC8555 mandated procedures handling of DNS
> > authorizations.
> >
> > *Relevant Sections of RFC 8555*
> >
> > *7.5.2. Deactivating an Authorization*
> > The server must verify that deactivation requests are signed by the
> account
> > key corresponding to the authorization.
> >
> > *7.3.6. Account Deactivation*
> > Similarly, account deactivation requires a valid signature from the
> account
> > key.
> >
> > *In both cases, the ability to revoke or deactivate authorizations is
> > strictly tied to possession of the account key.*
> >
> > *Threat Analysis*
> >
> > *High-Level Concern*
> >
> > The current model creates a situation in which DNS-01 authorizations may
> > remain valid even when DNS credentials are revoked and the account key is
> > no longer accessible for a lack of re-authorization. If a legitimate
> owner
> > loses control of the account key, whether through compromise or
> operational
> > loss, there is no reliable mechanism to invalidate existing
> authorizations.
> >
> > This creates a scenario where a malicious actor in possession of the
> > account key can continue issuing certificates without the knowledge or
> > consent of the legitimate domain owner.
> > Hereby the fact that Let's Encrypt clearly democratized encryption with
> > valid certificates is of high importance: systems in subpar environments
> or
> > environments subject to financial constraints regarding the procurement
> are
> > much more vulnerable than large enterprises or organizations. Especially
> in
> > the highly open source dependent political NGO sector I see significant
> > risks as the infrastructure owner might be a malicious actor allowing
> > various "men in the middle" scenarios.
> >
> > A mechanism for authorization invalidation independent of the account key
> > appears necessary *to ensure that domain ownership, and not historical
> > authorization state, remains the ultimate source of trust*.
> >
> > *Observed Risk Scenarios*
> >
> > Several already observed risk scenarios emerged:
> >
> >    - Lack of recoverable or uncompromised physical infrastructure after
> >    ransomware incidents makes the account keys irrecoverable;
> >    - Preference for full system rebuilds over restoration due to
> >    uncertainty about compromise timelines;
> >    - Missing or incomplete secret management practices;
> >    - Operational pressure leading to deviations from established recovery
> >    procedures
> >
> > In these scenarios, loss of the ACME account key is a realistic and,
> maybe
> > even already a  recurring outcome.
> >
> > *Expanded Risk Considerations*
> >
> > Additional risks arise in environments where DNS infrastructure itself
> may
> > be compromised or controlled by malicious actors, including:
> >
> >    - Man-in-the-middle attacks via compromised DNS resolution chains
> >    - Centralized or state-controlled infrastructure introducing systemic
> >    risks
> >    - Limited infrastructure diversity in certain regions
> >
> > In such cases, cached authorizations amplify the attack surface by
> allowing
> > continued certificate issuance independent of current DNS control.
> >
> > *Proposed Mitigations*
> >
> >    1. *Lightweight Option: No-Cache Mechanism for DNS-01*
> >    Introduce a mechanism to explicitly disable authorization caching for
> >    DNS-01 challenges.
> >    (Reference: https://github.com/letsencrypt/boulder/issues/8870)
> >    2.
> >
> >    *Break-Glass Recovery via Proof of Ownership*
> >    Introduce a recovery mechanism allowing domain owners to invalidate
> all
> >    existing authorizations (not the account) through a fresh
> >    proof-of-ownership challenge (e.g., DNS-based).
> >
> >    This would:
> >    - Provide a recovery path in case of account key loss
> >       - Prioritize domain ownership verification over authorization
> >       persistence
> >       - Align with the core purpose of certificates: authentication, not
> >       just encryption
> >
> > *Additional notes regarding awareness*
> >
> > In discussions with peers across banking, healthcare, public sector, and
> > commercial environments (many operating under ISO 27001 or similar
> > frameworks), a lack of awareness regarding cached issues become apparent
> > (despite all of us using Let's Encrypt in private or professional
> > settings). Notably, none of the professionals consulted were aware that
> > DNS-01 authorizations are cached in a way that allows continued
> certificate
> > issuance after DNS credentials are revoked. There is also no clear
> > indication of this behavior in common tooling.
> >
> > As a result all of us assumed that:
> >
> >    - Revoking DNS credentials is widely assumed to fully mitigate risk
> >    - No standard procedures were required for responding to account key
> loss
> >
> > Given that the tooling does not surface or warn about cached
> > authorizations, there might also be a problem regarding the value of
> > account keys. To be honest among 9 people, two of us even had a false
> risk
> > assessment in the ISO 27001 assessments, in one case fully audited by a
> > market leading entity. There might be a disconnect between what's
> > documented at Let's Encrypt and what effectively reaches the community as
> > literally there's no section neither about risks nor backup in the
> Certbot
> > documentation, the discovery of the non-ephemeral nature of
> authorizations
> > requires research, this is also reflected in the answers of AI agents
> (see
> > below), all major AIs apart from Claude responded wrongly. An issue and
> > offering to fix at least some oddities of certbot behaviour was not
> > favourably received (https://github.com/certbot/certbot/issues/10731)
> >
> > As outlined above, the current ACME model prioritizes usability and
> > automation but does not fully address scenarios involving loss of account
> > keys. Given the widespread adoption of ACME and the increasing reliance
> on
> > short-lived certificates, this gap presents a meaningful security risk
> > undermining the efforts to shorten certificate lifetime for security as
> any
> > effort is undermined by the malicious can simply order a new certificate
> > with obtained account keys.
> >
> > I would be happy to provide a more detailed proposal, including draft
> > specification language and an expanded threat analysis, if that would be
> > helpful.
> > Attachments
> >
> > *Boulder Issue:*
> > Feature Request: Add an opt-in mechanism to disable DNS-01 authorization
> > reuse (--no-cache) for one Time DNS-01 Challenge Usage
> >  #8870
> > https://github.com/letsencrypt/boulder/issues/8870
> >
> > *Certbot PR *
> > dns-route53: cerbot credentials.ini file support + fix duplicate TXT
> record
> > on apex/wildcard
> > #10729
> > https://github.com/certbot/certbot/pull/10729
> >
> > *Certbot Issue *[Bug]: Invalid / Revoked credentials allow renewal due to
> > lack of revalidation of credentials and continued use of DNS-01 Auth
> >  #10731
> > https://github.com/certbot/certbot/issues/10731
> >
> > *Example Observation*
> >
> > A Certbot renewal executed with invalid DNS credentials still succeeded,
> > without indicating that cached authorizations were used:
> >
> > (venv) zeus@mi-certbot-staging:~/certbot$ sudo venv/bin/certbot
> certonly \
> > --dns-cloudflare -d "*.domain.com" --dns-cloudflare-credentials \
> > ~/cfinvalid --staging
> > [...]
> > Renewing an existing certificate for *.domain.com
> > Successfully received certificate.
> > Certificate is saved at: /etc/letsencrypt/live/domain.com/fullchain.pem
> >
> > *Generative AI answers to the question:are dns challenges on certbot
> remade
> > on every renewal?*
> >
> >    1. *Gemini*
> >    Unconditional Yes
> >    Yes, DNS challenges are remade on every single renewal. Every time
> >    Certbot attempts to renew a certificate, it initiates a fresh "order"
> with
> >    the Certificate Authority (such as Let's Encrypt). This order
> generates a
> >    brand-new, completely randomized token.
> >
> >    2. *Co-Pilot *
> >    Unconditional Yes
> >    "Yes - DNS challenges are recreated every time Certbot renews your
> >    certificate, unless your DNS plugin/provider supports persistent TXT
> >    records (almost none do). Certbot must prove domain control again at
> each
> >    renewal, so it generates a new TXT value for _
> >    acme-challenge.yourdomain.com every time."
> >
> >    3. *ChatGPT*
> >    Unconditional Yes
> >    "Yes. If you're using a DNS-01 challenge with Certbot, the challenge
> is
> >    generated fresh for every certificate issuance and every renewal."
> >
> >    4. *Claude*
> >    Correct Answer
> >    Not automatically, no - it depends on the ACME server's authorization
> >    caching, not on certbot itself.
> >
> > Fabian V. Thobe
> >
> > +39 331 6355 270 / fabian@thobe.eu
> >
> > Via Filippo Corridoni 68, 56125 Pisa
>
> _______________________________________________
> Acme mailing list -- acme@ietf.org
> To unsubscribe send an email to acme-leave@ietf.org
>