[Acme] Re: I-D Action: draft-ietf-acme-dns-persist-01.txt

Shiloh Heurich <shiloh@heurich.com> Wed, 15 April 2026 18:36 UTC

Return-Path: <shiloh@heurich.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 A5E4EDD13EF4 for <acme@mail2.ietf.org>; Wed, 15 Apr 2026 11:36:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1776278198; bh=H8j4/8MxgNKMLbXrvQh1n5q7H6Kf+yvD2Ris+nRu/t0=; h=Subject:From:In-Reply-To:Date:Cc:References:To; b=slF+S2CGODoTNeQrO+Ddf8NhCrpflxljVDsUIGFaVtLH481aA/4y5oHVev2jIeoSZ YATIdf4sO2ofWVaS47mupt+4yi3nER7S7fcYvsilS2WIf8KD1pzqQDrBF7WvNX/s3L 6wAnq0HqKx/ZvsHs0+/0xSklTIlHyjr847+DtkDw=
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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=heurich.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 tE-J00mioGv7 for <acme@mail2.ietf.org>; Wed, 15 Apr 2026 11:36:38 -0700 (PDT)
Received: from mail-qt1-x833.google.com (mail-qt1-x833.google.com [IPv6:2607:f8b0:4864:20::833]) (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 3A96FDD13EEF for <acme@ietf.org>; Wed, 15 Apr 2026 11:36:38 -0700 (PDT)
Received: by mail-qt1-x833.google.com with SMTP id d75a77b69052e-50d880e6fbbso66842971cf.0 for <acme@ietf.org>; Wed, 15 Apr 2026 11:36:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heurich.com; s=google; t=1776278197; x=1776882997; darn=ietf.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=H8j4/8MxgNKMLbXrvQh1n5q7H6Kf+yvD2Ris+nRu/t0=; b=T9KnuxhYpAebtd6RT2Njpee0CKFevKZ7WD3SzLyo+Lcn+UqxSpnuENnMlH2VhRYbDE wIrXUG0Fq7cfGg1+BUXCP0tJWnJzy674T/8lKDxbPwtWgabhoqf/TwpYzbIuAXnALbyW vJoKqiu19ueciiNRmhTOIQ2moGY0L/hzG78WzL/kEL89HAaQmYHwy3g+Y4xU0dVhS4vf y/pyuG4irhyx8HSoZuOX0fVsWHVYy/fXjNWItPRBq7zI6yskUSNX2HyDhjOFIRFIhNAX DbiDTJce+E34VAeKj/RCTLx6oYW6G2pzziqrb0DjeJsXnz57JQzprpJ9sY5ZyEuTxrgj uhOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776278197; x=1776882997; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=H8j4/8MxgNKMLbXrvQh1n5q7H6Kf+yvD2Ris+nRu/t0=; b=q8HWIKnTuBhnIHJ8WVhiNYI1rTMn0mJzWErq0OmHuiQwCTu2cJQHmU/lv8dr6r6l9I LtI2y6rPVNyt5402HovkxHPmGSslygNd01EdHmVkH4IyQ9AlFuWIbyVfuG5b/yRXyBwF Pi8WgNddeXYZc9zxdBrHjtcdn9sdw6fha9xolaBahMBqfsvRrTvevMs4t/1uEOr6l/Z/ xR0+Qu1aBAhJLdAZeqxPxRh0ZY3Xud9HIRkGORZfeR0iE+PNySafk9Blo9Kdy8KMSRir IyNxaTPC+VlDHeWk9xLvxmJEzcjj5xheLa3xR5fLH2FRRbOXD1IE9CtE2qdEjaXMFuis guqA==
X-Gm-Message-State: AOJu0YxFYTups6BPHa4SI0dut0ImAWXCMgSYTfIeRmkvbbUAV0iesj4Y H1ZZzTWWAsOxR3W1Emw5zgkXBkt03lDs2z9YiCABOqCEr2sYa5BPNO5OSKPlAxC2Cck=
X-Gm-Gg: AeBDieuC8x7aCi4MVgKgycZrlg4aL9o4jTAepibl3rQwRrH5pi3sBD+CcYo84Jq0/PF xy5MqgMduqFJ54cXXi2zibk4YgzvoG3U6Hzq9HXMcDIgsrauWq5DcG1KHQD3tdLGTU5KLat00XY QITIf62tV6A+Pum/U4bvEdEJceTYmDM/bPGQgqmdYPaAH2BE927PWhQvdu8fAA+V+WykbExDzGp MQccbpzVjBnahdvtCyooCw4CE7iXF0hyNoVvJzNNJiEvTSPoxHH03ai0Gzu8r34iBNoTCf5oJMM LGXZLbsgsAUQLp9hWKaYzaXUYBA9pG9s3tf5hqk8S/XsXtbIceNcOL+VAe8qqnWXlP88avDg6On h+MGnfjN5o6sk3xzFBIPhqUiTDzTczA2B02RG4n3s0cD9XcCldd9Epk3Ej+md80k/EyIk27TCLf VqHox92pnpgSXp0ermPed0eRprkV0A9HAdns0vcTQseNg=
X-Received: by 2002:a05:622a:54a:b0:509:11bd:9d3 with SMTP id d75a77b69052e-50e24acc6d2mr10778811cf.1.1776278195573; Wed, 15 Apr 2026 11:36:35 -0700 (PDT)
Received: from smtpclient.apple ([216.245.86.140]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50e1d860485sm15587321cf.27.2026.04.15.11.36.34 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 15 Apr 2026 11:36:35 -0700 (PDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.500.181\))
From: Shiloh Heurich <shiloh@heurich.com>
In-Reply-To: <2e64401b-d4b1-4670-a825-1e2f3ed0d091@gmail.com>
Date: Wed, 15 Apr 2026 14:36:24 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <1CBE8462-924B-468D-BBB9-C264C0D9FB09@heurich.com>
References: <177431800159.586.2629462791471129966@dt-datatracker-5775bcb475-pnkww> <2e64401b-d4b1-4670-a825-1e2f3ed0d091@gmail.com>
To: Seo Suchan <tjtncks@gmail.com>
X-Mailer: Apple Mail (2.3864.500.181)
Message-ID-Hash: VNNJFN6DOWJ66FDCR2KJNKOSWL3REA7A
X-Message-ID-Hash: VNNJFN6DOWJ66FDCR2KJNKOSWL3REA7A
X-MailFrom: shiloh@heurich.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@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Acme] Re: I-D Action: draft-ietf-acme-dns-persist-01.txt
List-Id: Automated Certificate Management Environment <acme.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/IzMhEfra_OVc9n7t5kDzKzut5GY>
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>

On Apr 4, 2026, at 01:17, Seo Suchan <tjtncks@gmail.com> wrote:
> 
> accounturi in 3.1 challenge object need to be arrays of string not a single string to be used to be able to give any alternative uris: currently there is only one choice for client. to actually able to hide record we'd need something per domain name: hmac that uses account publickey as shared key and domain name as message?

I think this raises two distinct questions:

1. Does the challenge object need to carry multiple acceptable `accounturi` values?
2. Does the current alternative-URI text provide meaningful privacy?

My reading is that an array is not necessary if the intended model is that the CA tells the client the single `accounturi` value it expects in DNS for that validation attempt. That value could be either the canonical ACME account URL or a CA-issued opaque alias for the same account. In this model the client does not need a choice; it just uses the value from the challenge.

I agree that the draft is not clear enough on this today. The current text about the client verifying that an alternative URI "identifies the same account" is confusing. If the CA provides an opaque alternative URI, the client generally cannot verify that mapping independently and has to rely on the challenge object.

On the privacy point, I think the right approach is for the CA to issue distinct opaque aliases per validation domain name, or per small group of domains, rather than reusing one visible identifier everywhere. That avoids cross-domain correlation without needing to change `accounturi` to an array.

I do not think an HMAC construction using the account public key is the right primitive here. HMAC requires a secret key, and the account public key is public. If a CA wants deterministic per-domain aliases internally, that is better treated as a CA implementation detail using CA-held secret material, not something the client derives.

My preference would be to:
- keep `accounturi` as a single string,
- clarify that it is the specific value the CA expects for that validation attempt,
- clarify that privacy-preserving alternatives may be per-domain opaque aliases, and
- clarify that pre-provisioning without a challenge uses the canonical account URL unless the CA provides alternatives (e.g. out of band).

If there is a concrete case where the client needs to choose among multiple simultaneously valid identifiers, then an array may be worth considering. For now, this seems more like a clarity problem than a field-shape problem.

Shiloh