[Acme] Re: Update: draft-geng-acme-public-key-05

吴攀雨 <wupanyuuu@gmail.com> Sat, 11 April 2026 05:26 UTC

Return-Path: <wupanyuuu@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 77BDBDA3CC84 for <acme@mail2.ietf.org>; Fri, 10 Apr 2026 22:26:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1775885172; bh=9WjTjD8WHNCxaZEC6Apjn2ul2DXgmKc2x7RKGQsN4vE=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=T+zbI7cxwU+pmy2O9ewLv1st2yyFms0zwUh7HWiRwXFg/gimyjwLkp5o2gOEpXXgC QNNX9H/YEV/+7tMiHq8BHSAPmsn/HizgupbZoUYP/xzmelPOrjc0JbS3iOYU3zG7uC sIFsBgTmbJN9WkUHqq9hE3W8KaBrA35jUks1Pddw=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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] autolearn=unavailable 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 fFrcj7wqiFWF for <acme@mail2.ietf.org>; Fri, 10 Apr 2026 22:26:12 -0700 (PDT)
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com [IPv6:2a00:1450:4864:20::62e]) (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 E6CB5DA3CC7B for <acme@ietf.org>; Fri, 10 Apr 2026 22:26:11 -0700 (PDT)
Received: by mail-ej1-x62e.google.com with SMTP id a640c23a62f3a-b9c11eba219so329126566b.2 for <acme@ietf.org>; Fri, 10 Apr 2026 22:26:11 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1775885165; cv=none; d=google.com; s=arc-20240605; b=T5D+cAWPc/FLrRQTwkZrHWX9Vt7Spj3nmoViTdRNNn4NZJQ5HXOMm43MoB1xYmcKKV ZX3sgwLKN+P6iUhr3e9gNUqD/AdwHEqubK2aMkrPOv4oiL7jLlX/E0iqZFnoJPHYmHfw e4mSxczAsWlHChkDQCpp3g8mB8SX8IVPH6hgyk9J6P3R78pcMHcgay01cdfxnjy1WVl1 0a9NX2bLkhwsmxxI+SeOB5tODP41e6/wtFfHrNwMRgAAWP829FAQeP9yTp06P3roVm8t SGV0lGZtVfp3LvooZsEqmhsXHnbvux5sExysfntfZuoagZ1TcQxvtkqXb8hXSnorPuvG MgLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=p0M2zddL4UlPAxcXI5DigvV8ZZy7DP3aPIzPCAB0YUU=; fh=uw6DJ20u1Z3rfWQjinBg/7T22sbcxWuKuEdRUu6m7Js=; b=fyjhRBZ7S7Cclyzyp6sSspRygkz4/v2+2PfHFk7T8aE59BnCYNuRPiRaFaSlCBfA2x S8sqAyl7yxR2GrtwKEMj884TCZhy4aqyDQ2IFFhZsHN3bOKFjqTZjHiTq3lQBX6hDRg1 Kti3o4uKfxPcSHQkqeyTUQf1785/25E1Kkj7CNmInIk63b72lmb34x35Du7EpyGnzCEi NWR/gCRynL1fCmI7OCK5pg/jj9ho5PsaoQHu1APUDGkicfdWvGX+gfzccHtGGSmBpPg9 lsx67pwgNCEWRiB1n7OijptJ+um6Gmd6ehbSSwzAf+x8qDI29QzJbmOfxFZUGt9p3ahj cAOg==; 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=1775885165; x=1776489965; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=p0M2zddL4UlPAxcXI5DigvV8ZZy7DP3aPIzPCAB0YUU=; b=eVYZpYj2kvJ3Pvm87YS5r4cw6mYlZbPCpdYliDbEfszrya/rY+8TeC0BT67jC49aOI zOBZ1/tUwfGEhbXlMniQOV36j6k32Ho7vfS6DX8kreK7XtK9omlDpm2Fzj0/IfhvD0DK 9jaUCdHGcvAmPJlm1lh3I8DME3nwi8tp73xlEGjc6uoMZroSFCUYWqTnj5znebwpoc01 vQvt0cg6j8TQhx4TAJqu3svWS4YYmpPTB+pJKrREl9yJmKXzuc2wsHge3D+DDogKHONq 3S04jNwTMunnps8O99EKhLrWlrcE6BvFkUnKrf7OFKG6WYguGE1fl+tqKp8JkhIa+uSS nV0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775885165; x=1776489965; h=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; bh=p0M2zddL4UlPAxcXI5DigvV8ZZy7DP3aPIzPCAB0YUU=; b=mWQ5n3l/QBJS/832HoZQThZg17HhxIT5yUtKYbqLmRotpFIB7TqspMgCayB2oCWe5t OBtdnCDRlLpkugjA5aUO21cuY53vk9PmufC866MLSUpgaA0xsufcATWWyLqG6sf5xi9U MBukh6CIJBhLjIbSyLlNDpiLdwXd7BjNKhPLzfJEdejMRokRTeP1vjgDS7HOhDPcBtuA PN3K9uNOJBd2rBoxSnvvmbXPChu1lj0U04wdQof3OeM7sV1E73Z+2R7mz9dRraDA7bBS D0yPcWvi12yptzQP1LgxtlGLMtFa4L8kDTwCjC8Z12JsJgmLbA/e0eHqHHX8+mtl5Jjz 9wew==
X-Gm-Message-State: AOJu0YxhLzvK2J5ka0/mnoxbrLgdP+Vr2+jDJZkjKxaiENpLtuKx0cmT fOV42EGNeHECjGteic653SnlIdChzM6MzK/mHLY1prhhEoZyqnMlW/eVCOo7NosxiwC59ikH4tJ VHAARTBwrU6GYs1T7wNwojEYuc3VsV94=
X-Gm-Gg: AeBDievE5i0VEtw2k+VmSr/T+JTobuMuj2LQa5OD4aq2JuUttqei2zIuSVre1nBlucQ lD4+G6UHQmEJwV9mqM9GYuwh/5KB31l+QdXLZ/qDhY27Gh3AXJ38nf8hyGfW6G1IXVvWJa5YhxV DDyVCYIpqRl70Irh46vGQlE/c9DOD4eQ+H5H+zi57q3xfiVaaKEAIElC9/oeAf3+ar6Gutrqpij tlvSABpOkntTqXCBWOjiguHfB6vziZ1UnKSmot6mmFp5VOMUMoK4GwfbB1h6VF207g4MoWP+oQj UxauxG/oLe8FKYUuLMU=
X-Received: by 2002:a17:907:c20:b0:b97:9636:5aac with SMTP id a640c23a62f3a-b9d727a057fmr319882266b.13.1775885165151; Fri, 10 Apr 2026 22:26:05 -0700 (PDT)
MIME-Version: 1.0
References: <CAB=Y13dw+m7Oc4JPi+dk77tNZ=xJf05WRefd2fjRdOvz_qJjyA@mail.gmail.com> <ac6pUlXmhEOFYmFB@LK-Perkele-VII2.locald>
In-Reply-To: <ac6pUlXmhEOFYmFB@LK-Perkele-VII2.locald>
From: 吴攀雨 <wupanyuuu@gmail.com>
Date: Sat, 11 Apr 2026 13:25:54 +0800
X-Gm-Features: AQROBzDZgFe2fvW8-_GnRe1hCthqCiPFFgGCjhrt7kBOFJBko8ZOr9poeg3iGTI
Message-ID: <CAB=Y13fioUaCzpWJ8OCs=_F3YH7V6h6M4-2X1rDFubnT4JX-gQ@mail.gmail.com>
To: Ilari Liusvaara <ilariliusvaara@welho.com>
Content-Type: multipart/alternative; boundary="0000000000006e499b064f287c77"
Message-ID-Hash: 3FG77WY3IKIREZFOKFSUWAO4GOR4UEQH
X-Message-ID-Hash: 3FG77WY3IKIREZFOKFSUWAO4GOR4UEQH
X-MailFrom: wupanyuuu@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: IETF ACME <acme@ietf.org>, "draft-geng-acme-public-key.authors@ietf.org" <draft-geng-acme-public-key.authors@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Acme] Re: Update: draft-geng-acme-public-key-05
List-Id: Automated Certificate Management Environment <acme.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/pRMGfDkfTU-sS2OD7ZIbVpheiJc>
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>

Hi Ilari,

Thank you for the detailed review and thoughtful comments — they are
extremely helpful. We will also incorporate your feedback into the next
revision, and plan to publish version -06 next week.
Please find our responses inline below.

> Having that kind of method overloading seems messy.

Our intention in consolidating multiple challenge types into pk-01 was to
reduce specification fragmentation and make future extensions easier to
manage.
The supported_delivery / delivery negotiation is meant to provide
flexibility without requiring new challenge registrations for each
transport. That said, we agree that the current abstraction may introduce
complexity, and we will further evaluate whether clearer separation or
additional structure would improve readability and implementation
simplicity.


> Because that signs with key that is likely used in TLS, it should use
> the TLS 1.3 signature format (but with its own context). This can be
> done by prepending 0x20 (space) byte repeated 64 times to that.

This is a very valuable suggestion.
We will update this in the next draft revision: the signature format and
synchronous handshake mode in the protocol will adopt standard formats and
be compatible with TLS 1.3.


> What is ? A single order can have names from multiple domains.

Good point — the current text is indeed ambiguous.
We will optimize the process description for order request scenarios
involving multiple identifiers.


> If the ACME client is supposed to compute the PoP, why not return it
> directly? Much simpler for client and ACME server.
> E.g. .onion validation can use direct return.

This is consistent with our current design. The client generates the PoP by
signing a message including a nonce with the asserted private key, and
sends the resulting proof to the AS.
We suspect the comment may be due to a wording ambiguity in the draft
rather than a behavioral difference. We will clarify the text accordingly.


> It is not clear to me why this is needed.
> It seems to be just stating that the authorization can not be reused
> between different keys, which is obvious.

We will reorganize the Security Considerations section and remove redundant
descriptions.


Thanks again for the detailed feedback — this is extremely valuable for
improving the draft. We will incorporate these points in the next revision.

Best regards,
Grace

Ilari Liusvaara <ilariliusvaara@welho.com> 于2026年4月3日周五 01:37写道:

> On Thu, Apr 02, 2026 at 10:15:48PM +0800, 吴攀雨 wrote:
> >
> > Here’s a summary of the main changes from -04 to -05:
> >
> >
> > *1. Challenge type consolidation*
> >
> > The six challenge types in -04 (pk-dns-01, pk-http-01, pk-tls-alpn-01,
> > pk-email-01, pk-csr-01, pk-cert-01) are now unified into a single pk-01
> > challenge. Delivery is negotiated via supported_delivery / delivery
> fields
> > in the challenge object.
>
> Having that kind of method overloading seems messy.
>
>
> > *3. Unified PoP signing formula*
> >
> > All delivery methods now use a consistent signature construction with
> > domain separation and identifier binding:
> >
> >   to_sign = "ACME-pk-01\x00" || keyAuthorization || "." || identifier
>
> Because that signs with key that is likely used in TLS, it should use
> the TLS 1.3 signature format (but with its own context). This can be
> done by prepending 0x20 (space) byte repeated 64 times to that.
>
>
> > *4. New ALPN identifier “acme-pk/1”*
> >
> > Defined a new TLS ALPN protocol identifier independent of RFC 8737
> > (“acme-tls/1”).
> >
> > In sync mode, the TLS handshake directly returns the raw proof bytes as
> > application data, without requiring a self-signed X.509 certificate with
> > the acmeValidation extension. An IANA registration has been requested per
> > RFC 7301.
>
> - What is <domain>? A single order can have names from multiple domains.
> - If the ACME client is supposed to compute the PoP, why not return it
>   directly? Much simpler for client and ACME server.
>   * E.g. .onion validation can use direct return.
>
>
> > *5. Security enhancements*
> >
> > Added defenses against:
> >
> >     •Unknown Key Share (UKS) via identifier binding
>
> Is this because of indirect PoP return?
>
>
> >     •Cross-protocol attacks via “ACME-pk-01\x00” domain separation
>
> Should be using TLS 1.3-compatible format, instead of new format that
> risks cross-protocol attacks.
>
>
> >     •Authorization reuse via SPKI-level binding checks.
>
> It is not clear to me why this is needed.
>
> It seems to be just stating that the authorization can not be reused
> between different keys, which is obvious.
>
>
> > *6. Post-quantum (PQC) considerations*
> >
> > Added motivation for PQC transition. Noted that PQ signatures may exceed
> > DNS TXT limits, and recommend using sync mode (pop_mode: "sync", TLS-ALPN
> > delivery) for PQ scenarios.
>
> Base64-encoded ML-DSA-87 signatures are ~6kB, which is well below DNS TXT
> limits. And DNS TXT is 8-bit clean, so Base64 is not needed.
>
>
>
>
> -Ilari
>
> _______________________________________________
> Acme mailing list -- acme@ietf.org
> To unsubscribe send an email to acme-leave@ietf.org
>