[Acme] Re: Potential issues with dns-persist-01
Sebastian Robin Nielsen <sebastian@sebbe.eu> Tue, 07 April 2026 02:22 UTC
Return-Path: <sebastian@sebbe.eu>
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 B19FFD748EE2 for <acme@mail2.ietf.org>; Mon, 6 Apr 2026 19:22:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1775528538; bh=b4ieiV6ZgPnzYK2lI7O5bRhAO9khSTllts0WvdxND20=; h=From:To:In-Reply-To:References:Date:Subject; b=kosvsZjjBfjsQNFEZ2j1siR+bMZrcs7ZHxgv7Sr6w/hnWHwejdHeYPt0S4d63RZqL ZDSSJTFM5rXGiSGa/Ml4JbG4qGZgoxCpEiUaYGw61dyw4hdrzLO/vMMoUwGyfuShFY CcCPfrBKy5/fYrUhhne6GRX1t8rn889Dx6hfekQU=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 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, SPF_PASS=-0.001, TVD_PH_BODY_ACCOUNTS_PRE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=sebbe.eu
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 DdoRdgq0U2XC for <acme@mail2.ietf.org>; Mon, 6 Apr 2026 19:22:17 -0700 (PDT)
Received: from dns2.sebbe.eu (dns2.sebbe.eu [IPv6:2001:470:dff1:1:10::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 9E2E1D748EDA for <acme@ietf.org>; Mon, 6 Apr 2026 19:22:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sebbe.eu; s=root; h=BIMI-Selector:Date:To:From:cc; bh=XDzGHFS9SQajpWrNLiLlkhcM7BNMLfcG69FVouwmn0w=; b=IdkqaKXVsTZylQf9Jk20kZ0LVE MExtz48n+1DyW8/7SdCWjyNwXPx2SVwkYJKUtN3LsXVYAEnvMysMdCzflss0uJF7FHTrrGyYt98dp X8xrkXC5eTfLKqEYuAtVNNfrKmsNFUy/Eor1rK68Iy9eLwgUJGXe2uNf8liwOjvTJ4XV/JVFTlosx GK1uztuHH0Kukjde+4+QQaRk62qTjP28jzhRMMXat0atVBdp+LoZlramyXK+wc+O+lHZTccgohm9x yl7/vFustye55z5k3bu+qA9AvUlGFazI/x5eWRx6sS0g6QzYK27GBLRgZBa8wo/7m26MakbgoOytu wc1J4oiQ==;
Received: from localhost ([127.0.0.1] helo=sebastian-desktop) by sebbe.eu with esmtp (Exim 4_94_RC0-31-83e8da8c0-XX) (envelope-from <sebastian@sebbe.eu>) id 1w9w4z-001Oqv-VR for acme@ietf.org; Tue, 07 Apr 2026 04:22:13 +0200
Received: from [192.168.1.55] (helo=DESKTOPSU6FAEM) by sebbe.eu with esmtpa (Exim 4_94_RC0-31-83e8da8c0-XX) (envelope-from <sebastian@sebbe.eu>) id 1w9w4z-001Oqs-KE for acme@ietf.org; Tue, 07 Apr 2026 04:22:13 +0200
From: Sebastian Robin Nielsen <sebastian@sebbe.eu>
To: 'Mailing List' <acme@ietf.org>
Message-ID: <008e01dcc635$589ad260$09d07720$@sebbe.eu>
In-Reply-To: <6c26f255-710c-46b3-a859-20185f237c03@gmail.com>
References: <CAFg2froJTxp+kT_VdSuNs9LVqFQhO-WJZBt=-qoVQO9c8M+=Xw@mail.gmail.com> <CAEmnErdOBBzj+5nuZBYo0zN64zMXDeX-3sdcFBQqJirmHky2gA@mail.gmail.com> <002201dcc5fb$c4ba9e60$4e2fdb20$@sebbe.eu> <a28d2d2a-4261-4f84-8a58-093d793a6f77@gmail.com> <005001dcc612$fb2a0be0$f17e23a0$@sebbe.eu> <6c26f255-710c-46b3-a859-20185f237c03@gmail.com>
MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-256"; boundary="----=_Part_192_1647284797.1775528533939"
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQGp7izcEnAnRyYg8hko2wA6TQRkawJxFEKpAaHZegkBp1USRgInQ0SAAYMnrXK17WOJUA==
X-Encryption-Target: external
Date: Tue, 07 Apr 2026 04:22:13 +0200
BIMI-Selector: v=BIMI1; s=default
Message-ID-Hash: V5JDWRBTWVVXG2ZEQO63LRXZXK6WZDJZ
X-Message-ID-Hash: V5JDWRBTWVVXG2ZEQO63LRXZXK6WZDJZ
X-MailFrom: sebastian@sebbe.eu
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
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Acme] Re: Potential issues with dns-persist-01
List-Id: Automated Certificate Management Environment <acme.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/_z4scSaj6eUARyZ00Sg7e2pJh0Q>
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>
another thing that warrants using the "accounturi" parameter (by creating a new pubkey:<sha256 of pubkey>) instead of using a new "accountkey" parameter, is to avoid needing a CAB/F rules change. The CAB/F rules change says that "accounturi" should be a unique value identitying an account. If this value consist of the account URL itself, or is the public key of the account, doesn't really matter. Since each account must have a unique public key, a public key is as much "unique value identitying an account" as the account URI itself. (and in same way, account URI can be resolved into a public key, and a public key can be resolved into an account). And since the CAB/F rules apply when the check is done, it doesn't really matter if the record was created prior to account creation, since once the account is created, there is a link between the _validation-persist record and the account exist - when the check is made. The RFC 8657 mentions a CA must use a account URI that doesn't create ambiguity between accounts at different CA's. This is obviously to prevent accounts belongning to different people to "gain access" to issue for a domain. If the same pubkey is used for two accounts on two different CA's that share the same caaIdentities, the accounts can be considered belongning to the same entity. Here is the extract from the ruling: 3.2.2.4.22 DNS TXT Record with Persistent Value Confirming the Applicant’s control over a FQDN by verifying the presence of a Persistent DCV TXT Record identifying the Applicant. The record MUST be placed at the “_validation-persist” label prepended to the Authorization Domain Name being validated (i.e., “_validation-persist.[Authorization Domain Name]”). For this method, the CA MUST NOT use the FQDN returned from a DNS CNAME lookup as the FQDN for the purposes of domain validation. This prohibition overrides the Authorization Domain Name definition. CNAME records MAY be followed when resolving the Persistent DCV TXT Record. The CA MUST confirm the Persistent DCV TXT Record’s RDATA value fulfills the following requirements: 1. The RDATA value MUST conform to the issue-value syntax as defined in RFC 8659, Section 4.2; and 2. The issuer-domain-name value MUST be an Issuer Domain Name disclosed by the CA in Section 4.2 of the CA’s Certificate Policy and/or Certification Practices Statement; and 3. The issue-value MUST contain an accounturi parameter, where the parameter value is a unique URI (as described by RFC 8657, Section 3) identifying the account of the Applicant which requested validation for this FQDN; and 4. The issue-value MAY contain a persistUntil parameter. If present, the parameter value MUST be a base-10 encoded integer representing a UNIX timestamp (the number of seconds since 1970-01-01T00:00:00Z ignoring leap seconds); and 5. The issue-value MAY contain additional parameters. CAs MUST ignore any unknown parameter keys. *** REST OF RULE ABOUT PERSISTUNTIL OMITTED *** Best regards, Sebastian Nielsen -----Ursprungligt meddelande----- Från: forwardingalgorithm@ietf.org <forwardingalgorithm@ietf.org> För zandoodle Skickat: den 7 april 2026 00:42 Till: acme@ietf.org Ämne: [Acme] Re: Potential issues with dns-persist-01 I'm not sure why the accounturi parameter needs to be used for this change given that existing implementations don't support pubkey URIs and therefore it would be backwards incompatible anyway. Using a separate parameter would eliminate issues due to lax URI validation. Thanks - Max On 06/04/2026 23:16, Sebastian Robin Nielsen wrote: > Thats not what I proposed. I proposed that the client computes his pubkey:<sha256 of pubkey> offline before even touching the ACME server. > Thats the whole point of the proposed change. You could calculate and provision the _validation-persist record even before you have installed a network card in the server. > > The standard could have a explicit rule that if the server sends a pubkey: in any "accounturi" parameter, either at account creation, or inside challenge object, the client SHOULD ignore them and always use a self-calculated value for accounturi=pubkey:<sha256 of pubkey> in the _validation-persist record to provision. > > If the client wishes to use key rollover, they could either update the record for each rollover, or use the normal accounturi construction. > So there is tradeoff, either you trust your server to be able to keep your account key a secret, and never need to "rollover", thus you use the accounturi=pubkey:<sha256 of pubkey> construction - gaining protection against online attacks. > Or you choose to rollover, but then you use the normal accounturi system, because you don't trust your server to keep your account private key a secret. > > The standard must of course explicitly specify that a pubkey: parameter is never acceptable in a "kid" parameter either. > The pubkey: parameter is only permitted inside the _validation-persist record. _______________________________________________ Acme mailing list -- acme@ietf.org To unsubscribe send an email to acme-leave@ietf.org
- [Acme] Potential issues with dns-persist-01 zandoodle
- [Acme] Re: Potential issues with dns-persist-01 Seo Suchan
- [Acme] Re: Potential issues with dns-persist-01 Sebastian Robin Nielsen
- [Acme] Re: Potential issues with dns-persist-01 zandoodle
- [Acme] Re: Potential issues with dns-persist-01 zandoodle
- [Acme] Re: Potential issues with dns-persist-01 Aaron Gable
- [Acme] Re: Potential issues with dns-persist-01 Sebastian Robin Nielsen
- [Acme] Re: Potential issues with dns-persist-01 zandoodle
- [Acme] Re: Potential issues with dns-persist-01 zandoodle
- [Acme] Re: Potential issues with dns-persist-01 Sebastian Robin Nielsen
- [Acme] Re: Potential issues with dns-persist-01 Sebastian Robin Nielsen
- [Acme] Re: Potential issues with dns-persist-01 zandoodle
- [Acme] Re: Potential issues with dns-persist-01 Sebastian Robin Nielsen
- [Acme] Re: Potential issues with dns-persist-01 Shiloh Heurich
- [Acme] Re: Potential issues with dns-persist-01 Seo Suchan
- [Acme] Re: Potential issues with dns-persist-01 Shiloh Heurich
- [Acme] Re: Potential issues with dns-persist-01 Shiloh Heurich
- [Acme] Re: Potential issues with dns-persist-01 Sebastian Robin Nielsen
- [Acme] Re: Potential issues with dns-persist-01 zandoodle
- [Acme] Re: Potential issues with dns-persist-01 Shiloh Heurich
- [Acme] Re: Potential issues with dns-persist-01 Aaron Gable