[Acme] 回复:Re: 回复:Re: 回复:Re: 回复:Re: I-D Action: draft-geng-acme-public-key-07.txt

皮皮猪 <507069@qq.com> Sat, 29 August 2026 09:32 UTC

Return-Path: <507069@qq.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 82DE51316E89A for <acme@mail2.ietf.org>; Sat, 29 Aug 2026 02:32:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1787995975; bh=BLi3AQcv78HnvxxgRISyHSZ8b2CJos+uzfL/6ANTWJk=; h=From:To:Cc:Subject:Date:References:In-Reply-To; b=Uanzp5gqgpvrlzLJWK8rAEOVGhKAn+w7Ui+Xx2X2RBFsrOONc84RGgyEcU22jazSl MDTuXTmrrbgPQwFj3anqtr1jHkQV1MZETfgahIQpZYh9vcgzZi+YPNUxZiKsKhsMtf 4/OIACJWVNt4Tvlvr94/lTQhVL0gI01qgRMFOkG4=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: 1.088
X-Spam-Level: *
X-Spam-Status: No, score=1.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_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HELO_DYNAMIC_IPADDR=1.951, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, RDNS_DYNAMIC=0.982, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key) header.d=qq.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 kGb_7o43w1hh for <acme@mail2.ietf.org>; Sat, 29 Aug 2026 02:32:54 -0700 (PDT)
Received: from out162-62-58-216.mail.qq.com (out162-62-58-216.mail.qq.com [162.62.58.216]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 292471316E892 for <acme@ietf.org>; Sat, 29 Aug 2026 02:32:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1787995962; bh=beUrJuz9F9KLNHSwM1mdRxFOddR5MKy1Hh9eN+Dy75Q=; h=From:To:Cc:Subject:Date:References:In-Reply-To; b=w2odLBmC6nJjdUm3dTnIks46vPNe0YNJBgUu/AYL/VZaYWxCD0Q2HOSZdddp9VeiR oxrBnBecvBMm26njqvE2s+yr4kTbht9L6wRXpt3gumZvozloaVS1voWE+qp20bbOkw kQn560WFoYsPxOs8v3TSokiC/8dT8BFAtHkUR4Is=
X-QQ-XMRINFO: M/715EihBoGSuAIaGtlMyjy25fYzQQjAjQ==
X-QQ-XMAILINFO: NWEwCzsFJJ7KzFAlcEP7IfpknbZSuR94altgCrOyDW6dJrbpCQC1u5+qyFvJEB GoKZY72sJ6Ulw3rYSH1HmiahNkUaLm91/pAIXhbwNtNXG+MtM24NK1LtLVceJ9YYgmH21O5KN+L4F g+ayuwAdCVyjenwiVSMfQSRNe436/49RvPjd/nTnbE5gTV3QX+TUvBcmjVmVn76gcU7pskVQF3kvC e/ahH/++Bb0hOsoy7i4F9RSFhiC46r1eRsYYymspJwBZtoMZAr5Qy/EMuZL8KT6Dyl2y4XVqqC0AR lT4g1sVw/Rg1ikRHG/30x7uY+D3JsSXnFIjmOJsU7cCeVOkjamV3OMdGNHRaeJP0mOrJUCHmzzquv pPAkabbBWSt2MEmcDRpm+UOUBcb/KZ6UYgms7wGr/BMXsTAB34+x8JKfKIFDvSWeNo/XCz+9UhGDe 6CY0y5MQC3Iy2fcAhfyj0YVHHtNBINAuD1N9jvWZZurg8OKsnqh164DMwKjDOOM5wx9LrryT1hqof IC11zkDj7OVpgwmfqD353IyJocBmZHg+mSXqp647dHWm0bFkhrOvR/JUHrzYmRQWTwm87H7H4wTjz mTiwvCTD+BOeUelVjV4MTpPd/+Mk0wQd1xuPTRHSu8jNS1JHgb9nYgPzdF0ZbZ+ofvAtM0kfDgHK+ LA+wqfKyfLX90QoQfbAiTY5BPUiz9dDHLWBC5o5cHU21O5l5Hz4uBM79GzWu/uBOfR0KaZ2tHOphy 3cKqDaSkszIm2QN3ZhCnj/VuQqhbESpimoIU4axKUmANpRq83RDTfyZwGP3xmR3jbQQnMrLwB3Iyl fSFLuULqgbTdG1CJgtkUgfjXhag6X/0aLg1DDvljuZk3btmXc9SXV6lntxpGbVyloajhcMtAdWNI0 tX6reAJF6xBCP18TS/BmXs06nzDS+EsHmae4WqdMpQCG41s+0GRBiIK/mC4RVD1k1ivTt43af1hl1 eRg6lNxj971CKBIFWG5uLCMr7dsEcXoLg1PWlm+9VwvDVI31kRkr0EkjVtaDuF19lkGKNuQ/pkfSS wM0dUwU7SIOwNvzNnMypjAja21sWZWjzZhl7ksW4bHvan8KGsqyawpquYLCEFlRgQ26Q+vvPtJSEp 5zcZF1Ta8cYJnGkbjgc94L0Y
From: 皮皮猪 <507069@qq.com>
To: greg <greg@gregtwallace.com>, acme <acme@ietf.org>
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_6A92A739_C62326C0_3E8AE5EE"
Content-Transfer-Encoding: 8bit
Date: Sat, 29 Aug 2026 17:32:41 +0800
X-Priority: 3
Message-ID: <tencent_E117B95E8C2E31DC221906211D72D3B09C09@qq.com>
X-QQ-MIME: TCMime 1.0 by Tencent
X-Mailer: QQMail 2.x
X-QQ-Mailer: QQMail 2.x
References: <178144280156.240114.13055185260095667077@dt-datatracker-f9b87776f-8pmmg> <ai7xENDUYbOcbsXW@LK-Perkele-VII2.locald> <tencent_D6DCCC1848211B735BB03A16ED5FD62F6909@qq.com> <df2fc3fb-30d3-424f-8742-0f395e395750@gmail.com> <7259.1787195875@obiwan.sandelman.ca> <aoaY3gJ97HxIuPcE@LK-Perkele-VII2.locald> <tencent_ED7309B07C17475F882F65DCFA19F420B309@qq.com> <aocJL3nGPXY8_Na3@LK-Perkele-VII2.locald> <tencent_A597E66EDE0C50905AB9A2586A8B552FF508@qq.com> <CAAOGm1v4c8pQykrmuhUXc2H+RBraPJnt7222_pYQEsW+Q24J2g@mail.gmail.com>
In-Reply-To: <CAAOGm1v4c8pQykrmuhUXc2H+RBraPJnt7222_pYQEsW+Q24J2g@mail.gmail.com>
X-QQ-mid: xmappub7-0t1787995961tck5q4sg4
Message-ID-Hash: NHBTR3A3AZTR5WEKCDSG4KDQDWINXUNM
X-Message-ID-Hash: NHBTR3A3AZTR5WEKCDSG4KDQDWINXUNM
X-MailFrom: 507069@qq.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: "alexandre.a.giron" <alexandre.a.giron@gmail.com>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Acme] 回复:Re: 回复:Re: 回复:Re: 回复:Re: I-D Action: draft-geng-acme-public-key-07.txt
List-Id: Automated Certificate Management Environment <acme.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/cdpGtPDNSHxACvNaw--raciG51A>
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 Greg,


This has always been a very interesting topic. There is an ancient saying in China: learn from the past to forsee the future.


See more insightful discussions in the past, please refer to the discussion on "[Acme] Internet-Draft: PQC Algorithm negotiation in ACME" (https://mailarchive.ietf.org/arch/msg/acme/FEZYTUfhSeur-wKQI6H2xytSkvY/)


The lesson I've learned from this is that when have newcomers take on historical topic (as I previously mail pointed out, we authors were guided into this meaningful work), it's best for them to spend more time understanding the past. :-)


I also like Alexandre Augusto Giron's draft and paper eprint 2023/1921.


So let's just do it, bring this work to a conclusion.


Best regards,


Feng



---原始邮件---
发件人: "Greg T. Wallace"<wallace.gregt@gmail.com&gt;
发送时间: 2026年8月23日(周日) 凌晨3:51
收件人: "acme"<acme@ietf.org&gt;;
主题: [Acme] Re: 回复:Re: 回复:Re: 回复:Re: I-D Action: draft-geng-acme-public-key-07.txt


Why not use finalize?

If a server supports this non-csr method and you want a requirement that the client prove current possession, add a keyPopNonce field to all orders. The added field would indicate to clients that the server supports this extension and the client can adjust automatically.e.g.,
{
... [order] ...
" keyPopNonce": "Kz3mVpQeRd9fLwYbN5hXuT6oJsIc0vAg2nEp1yMrFqZ"
}


Client sees there is a keyPopNonce and knows it can use the non-csr method to finalize. Then in the finalize post payload, the client instead posts 'proof' and is required to omit the csr:
&nbsp;{ "proof": "<base64url signature&gt;" }


State machine remains, finalize is used in a way that makes sense, and no weird shoe horning stuff into auths or challenges.


Greg






---
Greg T. Wallace
Sent via Webmail



On Thu, Aug 20, 2026 at 11:15 AM 皮皮猪 <507069=40qq.com@dmarc.ietf.org&gt; wrote:

Thanks for the thoughtful follow-up.


On option (a) vs (b): We chose (a) because it reuses the existing authorization state machine rather than introducing a new order-level wait condition. The multiplicity issue (identifiers are *, PK is ?) is real, but we think it's acceptable — the pop identifier is explicitly auxiliary, cardinality one per order, following acme-rats precedent. It also gives OPAQUE-01 a clean reuse path.


On MTC: You're right that MTC itself can use CSRs. I think I initially misunderstood the concern. We've reframed the tertiary motivation accordingly.


On proxy-swapping: Exactly. By moving PoP proof into the order via pop authorization, we eliminate the window where a proxy could swap out the CSR after authorizations complete. Because the certificate key is declared and proven at order creation time, there is no CSR left to swap at finalization. We'll highlight this in Security Considerations.


On autofinalization: We agree it's more aggressive. We opted for pop authorization because it's less invasive — it keeps the order state machine closer to RFC 8555 semantics.


Feng
         原始邮件
         
       
发件人:Ilari Liusvaara <ilariliusvaara@welho.com&gt;
发件时间:2026年8月20日 22:03
收件人:acme <acme@ietf.org&gt;
主题:[Acme] Re: 回复:Re: 回复:Re: I-D Action: draft-geng-acme-public-key-07.txt



       On&nbsp;Thu,&nbsp;Aug&nbsp;20,&nbsp;2026&nbsp;at&nbsp;09:09:01PM&nbsp;+0800,&nbsp;皮皮猪&nbsp;wrote:
&gt;&nbsp;
&gt;&nbsp;In&nbsp;next&nbsp;-08,&nbsp;we&nbsp;aim&nbsp;to&nbsp;first&nbsp;answer&nbsp;a&nbsp;foundational&nbsp;question:&nbsp;where
&gt;&nbsp;should&nbsp;an&nbsp;independent&nbsp;proof-of-possession&nbsp;live&nbsp;in&nbsp;the&nbsp;ACME&nbsp;protocol?
&gt;&nbsp;Is&nbsp;it&nbsp;a&nbsp;separate&nbsp;protocol&nbsp;layer?&nbsp;An&nbsp;order-level&nbsp;condition?&nbsp;Or&nbsp;an
&gt;&nbsp;authorization&nbsp;disguised&nbsp;as&nbsp;an&nbsp;identifier?

I&nbsp;see&nbsp;two&nbsp;ways&nbsp;to&nbsp;do&nbsp;this:

a)&nbsp;Have&nbsp;new&nbsp;identifier&nbsp;type&nbsp;for&nbsp;a&nbsp;public&nbsp;key.&nbsp;Then&nbsp;have&nbsp;authorization
for&nbsp;it,&nbsp;and&nbsp;hang&nbsp;the&nbsp;PoP&nbsp;challenge&nbsp;as&nbsp;challenge&nbsp;off&nbsp;that&nbsp;authorization.

This&nbsp;has&nbsp;issue&nbsp;that&nbsp;the&nbsp;natural&nbsp;multiplicity&nbsp;class&nbsp;for&nbsp;identifiers&nbsp;is
*,&nbsp;but&nbsp;PK&nbsp;has&nbsp;multiplicity&nbsp;class&nbsp;?.&nbsp;Another&nbsp;issue&nbsp;is&nbsp;representing&nbsp;the
no-confirmation&nbsp;case&nbsp;(tho&nbsp;I&nbsp;suppose&nbsp;one&nbsp;could&nbsp;use&nbsp;valid&nbsp;PoP&nbsp;challenge).


b)&nbsp;Have&nbsp;public&nbsp;key&nbsp;be&nbsp;a&nbsp;new&nbsp;field&nbsp;in&nbsp;order.&nbsp;Then&nbsp;return&nbsp;the&nbsp;PoP
challenge&nbsp;and&nbsp;URL&nbsp;to&nbsp;submit&nbsp;it&nbsp;to&nbsp;as&nbsp;another&nbsp;new&nbsp;field&nbsp;in&nbsp;order&nbsp;object.

This&nbsp;has&nbsp;issue&nbsp;that&nbsp;it&nbsp;alters&nbsp;the&nbsp;order&nbsp;processing&nbsp;state&nbsp;machine:&nbsp;The
order&nbsp;needs&nbsp;to&nbsp;wait&nbsp;for&nbsp;something&nbsp;that&nbsp;is&nbsp;not&nbsp;an&nbsp;authorization.&nbsp;However,
there&nbsp;is&nbsp;no&nbsp;way&nbsp;this&nbsp;can&nbsp;be&nbsp;used&nbsp;if&nbsp;either&nbsp;side&nbsp;is&nbsp;unaware&nbsp;of&nbsp;the&nbsp;new
semantics&nbsp;(so&nbsp;this&nbsp;is&nbsp;not&nbsp;a&nbsp;serious&nbsp;problem).

The&nbsp;no-confirmation&nbsp;case&nbsp;is&nbsp;represented&nbsp;by&nbsp;reflecting&nbsp;the&nbsp;public&nbsp;key
but&nbsp;not&nbsp;having&nbsp;a&nbsp;challenge.


&gt;&nbsp;Building&nbsp;on&nbsp;Ilari's&nbsp;insight&nbsp;that&nbsp;"such&nbsp;a&nbsp;device&nbsp;doesn't&nbsp;want&nbsp;to&nbsp;use
&gt;&nbsp;CSR&nbsp;because&nbsp;the&nbsp;order&nbsp;should&nbsp;fully&nbsp;specify&nbsp;the&nbsp;generated
&gt;&nbsp;certificate,"&nbsp;we're&nbsp;also&nbsp;adding&nbsp;a&nbsp;tertiary&nbsp;motivation&nbsp;in&nbsp;-08:
&gt;&nbsp;Alignment&nbsp;with&nbsp;issuance&nbsp;models&nbsp;where&nbsp;the&nbsp;order&nbsp;fully&nbsp;specifies&nbsp;the
&gt;&nbsp;certificate.&nbsp;In&nbsp;deployments&nbsp;involving&nbsp;Merkle&nbsp;Tree&nbsp;Certificates&nbsp;(MTCs)
&gt;&nbsp;[I-D.ietf-plants-merkle-tree-certs]&nbsp;or&nbsp;other&nbsp;batch-oriented&nbsp;issuance
&gt;&nbsp;models,&nbsp;the&nbsp;certificate&nbsp;is&nbsp;allocated&nbsp;by&nbsp;the&nbsp;CA&nbsp;based&nbsp;on&nbsp;the&nbsp;order's
&gt;&nbsp;identifiers&nbsp;and&nbsp;policy,&nbsp;not&nbsp;constructed&nbsp;by&nbsp;the&nbsp;client&nbsp;via&nbsp;CSR.&nbsp;

I&nbsp;was&nbsp;thinking&nbsp;about&nbsp;messes&nbsp;like&nbsp;proxy&nbsp;swapping&nbsp;CSR&nbsp;between&nbsp;orders
(the&nbsp;PK&nbsp;PoP&nbsp;binds&nbsp;the&nbsp;order,&nbsp;but&nbsp;not&nbsp;CSR).

I&nbsp;do&nbsp;not&nbsp;see&nbsp;how&nbsp;MTC&nbsp;is&nbsp;relevant&nbsp;for&nbsp;this.&nbsp;MTC&nbsp;can&nbsp;use&nbsp;CSRs&nbsp;like&nbsp;X.509.
Altough&nbsp;there&nbsp;are&nbsp;cases&nbsp;where&nbsp;the&nbsp;ACME&nbsp;client&nbsp;definitely&nbsp;does&nbsp;not&nbsp;want
an&nbsp;MTC.

One&nbsp;way&nbsp;of&nbsp;elminating&nbsp;the&nbsp;CSR&nbsp;is&nbsp;via&nbsp;"autofinalization":&nbsp;Alter&nbsp;the&nbsp;order
state&nbsp;machine,&nbsp;so&nbsp;that&nbsp;any&nbsp;transition&nbsp;to&nbsp;ready&nbsp;goes&nbsp;to&nbsp;processing
instead.&nbsp;This&nbsp;obviously&nbsp;requires&nbsp;the&nbsp;public&nbsp;key&nbsp;in&nbsp;order.


&gt;&nbsp;The&nbsp;CSR&nbsp;is&nbsp;inherently&nbsp;redundant&nbsp;--&nbsp;the&nbsp;order&nbsp;already&nbsp;contains&nbsp;all
&gt;&nbsp;information&nbsp;needed.&nbsp;Requiring&nbsp;a&nbsp;CSR&nbsp;forces&nbsp;the&nbsp;client&nbsp;to&nbsp;duplicate
&gt;&nbsp;information&nbsp;or&nbsp;fabricate&nbsp;one&nbsp;for&nbsp;a&nbsp;certificate&nbsp;whose&nbsp;attributes
&gt;&nbsp;aren't&nbsp;known&nbsp;at&nbsp;request&nbsp;time.&nbsp;The&nbsp;CSR-less&nbsp;flow&nbsp;enables&nbsp;ACME&nbsp;to
&gt;&nbsp;support&nbsp;such&nbsp;models&nbsp;natively.

Yes,&nbsp;most&nbsp;of&nbsp;the&nbsp;stuff&nbsp;in&nbsp;CSR&nbsp;is&nbsp;redundant.&nbsp;And&nbsp;redundant&nbsp;information&nbsp;is
a&nbsp;legendary&nbsp;source&nbsp;of&nbsp;security&nbsp;problems.

The&nbsp;ACME&nbsp;client&nbsp;I&nbsp;have&nbsp;written&nbsp;emulates&nbsp;CSR-up-front:&nbsp;It&nbsp;takes&nbsp;a&nbsp;CSR
up&nbsp;front,&nbsp;and&nbsp;extracts&nbsp;the&nbsp;order&nbsp;parameters&nbsp;(e.g.,&nbsp;identifiers)&nbsp;off
that.




-Ilari

_______________________________________________
Acme&nbsp;mailing&nbsp;list&nbsp;--&nbsp;acme@ietf.org
To&nbsp;unsubscribe&nbsp;send&nbsp;an&nbsp;email&nbsp;to&nbsp;acme-leave@ietf.org
 

_______________________________________________
 Acme mailing list -- acme@ietf.org
 To unsubscribe send an email to acme-leave@ietf.org