[Acme] Re: Potential issues with dns-persist-01

Sebastian Robin Nielsen <sebastian@sebbe.eu> Mon, 06 April 2026 22:45 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 C2598D73733D for <acme@mail2.ietf.org>; Mon, 6 Apr 2026 15:45:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1775515541; bh=wtGmM4Rlxi/r4+xxPGOEWsshWdw+W5SqJjXSIa20LHw=; h=From:To:In-Reply-To:References:Date:Subject; b=X1COboHXAE6R9rxevrdN7NbhdtOF2ODlTMOYuekssxdS1pOZgK2jQvKwNplDmP++J M3Al16MMy3D4fyN7PCrWc0uSveDldb2BY4jUkII2grLfvioKd3Uony/AmSy4mpEN9s 8phTFwdepdpnB/1gF2zOTCekIZ2anAv8MWS3CfA8=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.101
X-Spam-Level:
X-Spam-Status: No, score=-2.101 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] 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 idH-tv4EiBS6 for <acme@mail2.ietf.org>; Mon, 6 Apr 2026 15:45:41 -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 30B52D737335 for <acme@ietf.org>; Mon, 6 Apr 2026 15:45:41 -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=DKQl0tFvYfhZvX78fziX0aI0yxVlR/OaTpjcHrVIFXs=; b=XLFZzorBapVftQyLFz9jaQhm4R I1FmMpLeM9f1/J2iFrPbsVN26GZLj06QeSHeeePOuwMet3qvGjtEfi/wrkxeQUGQNhdgwrgSRCheH cl005kfsN0jubva6G3aWsUes1yDkvrlkTv/j9hn7SDAvaWa6SIYcD/qKp9XDdcyusEWNHjNlKRJPM iz+M5oH1yXlARyaYPUVlJOPtu/tXYBpXe7Sedi0nWtZX04XyuOO3iGZDhYZRb7TwFnamvPBhMCibW WL6bKVeiRwNR+NHEKnAoR0ZEtSM7M5x7RJPlKJuqq0VOE0fd9hYx2GIBEErCcnlmR3CHxRoMQI+gs tBI711Qg==;
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 1w9shQ-001OCo-9e for acme@ietf.org; Tue, 07 Apr 2026 00:45:40 +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 1w9shP-001OCl-U6 for acme@ietf.org; Tue, 07 Apr 2026 00:45:39 +0200
From: Sebastian Robin Nielsen <sebastian@sebbe.eu>
To: 'Mailing List' <acme@ietf.org>
Message-ID: <006301dcc617$17c6bc40$475434c0$@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_186_989877597.1775515540263"
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQGp7izcEnAnRyYg8hko2wA6TQRkawJxFEKpAaHZegkBp1USRgInQ0SAAYMnrXK17SuVMA==
X-Encryption-Target: external
Date: Tue, 07 Apr 2026 00:45:40 +0200
BIMI-Selector: v=BIMI1; s=default
Message-ID-Hash: VBNF5MRVFO3LJIEPBDF7IOJUHXBKDTXY
X-Message-ID-Hash: VBNF5MRVFO3LJIEPBDF7IOJUHXBKDTXY
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/1GBMK4JcgIWw38TCFhql_ahNOIk>
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>

since the accounturi is mandatory, it makes more sense to be able to *REPLACE* accounturi with the pubkey (accounturi=pubkey:<sha256 of pubkey>) instead of having to provision both.
It makes it possible to provision the record before the account is even created.

Adding a accountkey= parameter, would require the client to provision both (accounturi AND accountkey) making accountkey only a optional "restriction", not a "replacement".
Thus losing the advantage of being able to provision the record before even touching ACME server.

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