[Web-bot-auth] Re: Jumping on the bandwagon: Implementation Report(s)

Mark Nottingham <mnot@mnot.net> Thu, 08 October 2026 00:24 UTC

Received: from fout-a5-smtp.messagingengine.com (fout-a5-smtp.messagingengine.com [103.168.172.148]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx.ietf.org (Postfix) with ESMTPS id AB61546 for <web-bot-auth@ietf.org>; Thu, 08 Oct 2026 00:24:20 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=mnot.net header.s=fm3 header.b=lAFA3YQL; dkim=pass header.d=messagingengine.com header.s=fm2 header.b="I U2xjuT"; spf=pass (mx.ietf.org: domain of mnot@mnot.net designates 103.168.172.148 as permitted sender) smtp.mailfrom=mnot@mnot.net; dmarc=pass (policy=quarantine) header.from=mnot.net
Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45]) by mailfout.phl.internal (Postfix) with ESMTP id 47BD3EC05A3 for <web-bot-auth@ietf.org>; Wed, 7 Oct 2026 20:24:14 -0400 (EDT)
Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-05.internal (MEProxy); Wed, 07 Oct 2026 20:24:14 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mnot.net; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1791419054; x=1791505454; bh=gmrOZ0gbL1Pjj+nt0G/dXGrABv56CE9xJt8rQdV/rbw=; b= lAFA3YQL4Qr2O3u/UHLD57xyIWX1d3LpBFikWf/M+w9MIDtvC2S7TlcKm3udYsDn ZvMhe2CF/Ox8LQ3T6CQocfwR8PT1JpHbZ56HmkfVC9ytb+zLD4eEUtEAZjTFEaEH kuXSIvQc+3YTigG8RG2hynYI70rVaXyCqA/DDijfXqpA18V5RrClp3U28abPRoXA 73/ilpbIuYXNqS/IJhe09fHZZhTekThEmzGdtl0zf+UBQKXP5A+tA0c7gLGGHguB SBkkdgc65a4nQD6zMQKaSldUrvS6JomWPZ/BE8A7GsLe4uxVboqFzYrOMsuSpxhC OK5jg4G/GNGSXMB8M6wKGw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1791419054; x= 1791505454; bh=gmrOZ0gbL1Pjj+nt0G/dXGrABv56CE9xJt8rQdV/rbw=; b=I U2xjuTz3CUgbMLF7mevPxt2s6usACe1VmJKXX+6gNe0SbFoeR2OwteTV984VWLQR xXzr5RFJv4ujvzz58jJ0YSiuUAD9n8fb8KbN+wAN5fybhUEDYdwH209D/qrQsUUY hDIHqTPg6ZRfPBOLgCKYT7krjNzeYLwjMdCsS+twwp1ytenFW3cUK+NnO4vUI/ae SFx9j0x+zJxW6ybTRvklDQORW+6MUBtatQlhK5/qIBzAK1NYfZOIamQ3T25bLXQi OOP4Q5eEhdAoxqXr2invaUe5AyBQm8Qg7GT8w4VmwsOQ+HiWAFHwth/3zGUj/Fo/ 7DNGfoX7MpDykKDDevPYQ==
X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-06; repo=github.com/dkim2wg/interop; date=2026-10-04; sw=lmtpprox; action=sign d=mnot.net a=rsa-sha256;
DKIM2-Signature: i=1; m=1; t=1791419054; d=mnot.net; mf=PG1ub3RAbW5vdC5uZXQ+; rt=PHdlYi1ib3QtYXV0aEBpZXRmLm9yZz4=; s=fm3:rsa-sha256:KT2m5U7iUbuEFvGwLAqoqWS+a7l6HCtEfKJfne0nHQLyM3E c+WC5uuQbolzM2EGxrkjoLcFbL1kQDKsFOxEy4tSvYi7vG2TuIGHJq+UzU14WTyP U1Bgreyzh8tHkzaA8XrcwpLruxlILA2Z/Uk6x6c1q/zTNUui/Z6kyrKiYCC4EqQV WvXbO7/5uwU/Ri1v+JeI6maewFL2FdC4FjZObFYFwRWrPUAVA8lTtcTe9keGK/kZ 7wYC1HXY0dRNf9p9APR0pI/BTNmkBWZzRZRpxoS8JHbugXjSZYvwwJW8HEpuhA6P MLxKRiSDTda1N5F4YspQq0hUEU8AAVDk5KfA1yw==;
X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-06; repo=github.com/dkim2wg/interop; date=2026-10-04; sw=lmtpprox; action=mi-m=1; hc=12; hn=cc,content-transfer-encoding,content-type,date,feedback-id, from,in-reply-to,message-id,mime-version,references,subject,to;
Message-Instance: m=1; h=sha256:FZbD+6s8wBnlnSfLYmXWOeKi/xEjrvAJ1ydtp+WByNI=:b4/mCDujzQoXu7DrZrdB+DmwkKS6s+wBatrEPoe3cVk=;
X-ME-Sender: <xms:ruLGauXiClVscgTph0ZnESj0fvYE8h65ABi5Vt5N5xrT6WYko2us_g> <xme:ruLGagn5K5cQNtdRfpjPIAf61ddUNNCzCTWDYA3DM8_fRUyNPIDs6o8u7Loll9Nhd QRPz4nLX-MYw16_CRJ70I8iLKgbWuT24ef9TapeQcH8kRgplF4owNU>
X-ME-Received: <xmr:ruLGagAVDHZyUG7oZpbVesyLXZ0DLwEzkObqPNpG3VQ6H7wzH8ddTfoeMTl2XSqXwSeYKX4abhHcVh-wAFOeRUX0AX9Avsd_UuJC5DzuVey-wh_fVFqN_w>
X-ME-Proxy-Cause: dmFkZTF+S0tAA1jEA/f0BJVjkOJoiQZ6NNFRhQZivOeGoTbihtJvN1j0ZT4/MVRONLAkvK IP6T3WpneaPaKH2tNmxY8xUDdJ0NaUfU/mBHWgiGWJdlv75jpPmOQ1ovyqgbjr5EHfqHhQ kTzI03tZN3f+5dmLoT3ZzrNv42BQJgLB/M0TCfuddLOMFP3LMY6+bEsIGIvV0pYUQlrcqY m8yRN2vUPwrRLUd2zbc06ztCQSL4P6XfopIlkQMovsF1COHojy3ZjYte8EhKjoux1DUVVC gcoEPPm38GrEtMXvH1meRydjTmGlG9eQmJE/8VzUv2bogMLnWLs9dN3+b2zztnkZXAvym9 kMKzy3UTwsj1gLao/fXoIPwMUDZsOOpjJbCY0iOFV2u6jPV3VvVswEJGwAttJsz2WFymsH 0spbSwMKtUGRNJ24i5ZZIbh0ms2fX7rIcJfulfQ7nEg5DeqTv3eGBAgW/HpDU4X+NgZJou fXjG33AuucfOoigsADOF8oQzCw8ng+tw9Kq9+jnorX2SMojEd70V7wW9+xcRn2AQsDe9+l z3a9aOGf0C0E31amRrxsbkTDs2HxfgaBv9y5Ebxuua8HLC93mjKtgk/0arbr6C/O39WzaW QJgnSPlCE2d+lZ7lLtPq0iei0D0491GOT7H44lzzlmArLpTy8DNiTaoAWtJQ
X-ME-Proxy: <xmx:ruLGagc63aFRiwjfcqkcFiFApHBBbNW2vzjCkCicX77Tci7c-Ov9UQ> <xmx:ruLGarJ8jifyEatE0OhBqAcdqY3bYz8tUQre5dc4ugfIizISKEowqQ> <xmx:ruLGajfvYslLdW7FzWAXOws2YOFjgE6AD0X1gPS5wVwosmEd75DFRg> <xmx:ruLGai33U7ZYtIDudBWdsuJ8fep7Ez6DYzFMSQFkrRb4pnSgf4MDrg> <xmx:ruLGaoasu6dzaXCrWeqtNm2EGVeBkpjq2A2L1oQ4S9ZrVUABCY8CaACM>
Feedback-ID: ie6694242:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 7 Oct 2026 20:24:13 -0400 (EDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3901.100.1.1.11\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <-5_euDtYce1o5FwjXLUXtkFNPxxVrDY8GOSQlmXWZcCyTp_h0IDnlyo5Jxf9na7_kw-eQ8kNXE9Xk7I2oExDuT0cDqnu6StnW9AqDehhkOE=@thibault.uk>
Date: Thu, 08 Oct 2026 11:24:10 +1100
Content-Transfer-Encoding: quoted-printable
Message-Id: <8D096E61-4131-46D4-920C-8E03DE6E572D@mnot.net>
References: <D481972A-8729-4281-97B8-EA65B5BDE82A@mnot.net> <-5_euDtYce1o5FwjXLUXtkFNPxxVrDY8GOSQlmXWZcCyTp_h0IDnlyo5Jxf9na7_kw-eQ8kNXE9Xk7I2oExDuT0cDqnu6StnW9AqDehhkOE=@thibault.uk>
To: Thibault Meunier <ot-ietf@thibault.uk>
X-Mailer: Apple Mail (2.3901.100.1.1.11)
X-Spamd-Bar: ---------------------
Message-ID-Hash: X2NEFAT36Q73S34QQDPTAUDQOEJINPB5
X-Message-ID-Hash: X2NEFAT36Q73S34QQDPTAUDQOEJINPB5
X-MailFrom: mnot@mnot.net
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-web-bot-auth.ietf.org-0; header-match-web-bot-auth.ietf.org-1; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: web-bot-auth@ietf.org
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [Web-bot-auth] Re: Jumping on the bandwagon: Implementation Report(s)
List-Id: Authentication of non-human users to human-oriented Web sites <web-bot-auth.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/web-bot-auth/fDM_deEVKXJLjgbM83YKAgFfEfc>
List-Archive: <https://mailarchive.ietf.org/arch/browse/web-bot-auth>
List-Help: <mailto:web-bot-auth-request@ietf.org?subject=help>
List-Owner: <mailto:web-bot-auth-owner@ietf.org>
List-Post: <mailto:web-bot-auth@ietf.org>
List-Subscribe: <mailto:web-bot-auth-join@ietf.org>
List-Unsubscribe: <mailto:web-bot-auth-leave@ietf.org>

Hi Thibault,

> On 8 Oct 2026, at 4:19 am, Thibault Meunier <ot-ietf=40thibault.uk@dmarc.ietf.org> wrote:
[...]
> Would the following under 5.3 Requesting a message signature work?
> 
> """
> - An Origin MAY choose to request signatures from clients that did not initially provide them.
> + An Origin that expects a signature SHOULD request one from clients that did not provide it.
> """
> 
> In addition to simplifying 6.11 Unsigned request, we could have a short paragraph in Appendix C on Deployment guidance
> 
> """
> C.XX Signing conditionally
> 
> Agents can sign every request, or only when an origin requests a signature ({{requesting-message-signature}}). Signing only when an origin asks for it adds a round trip, and non-idempotent requests may not be safely retried.
> """

Looks good, but probably something like "... and non-idempotent requests cannot be automatically retried without additional protocol mechanisms; see {{Section 9.2.2 of HTTP}}."

Something like this might also help in 5.3:

"""
An Origin can refuse requests that do not have valid signatures with an appropriate HTTP status code; usually 403 (Forbidden), per Section 15.5.4 of [HTTP]. When doing so, the Origin SHOULD include the Accept-Signature field (Section 5 of [HTTP-MESSAGE-SIGNATURES]) to indicate what signatures would result in the request being accepted. 

An Origin can also still accept requests that do not have valid signatures, but indicate that the result would be different if one were present by sending the Accept-Signature field in the successful response.

Origins that do not send Accept-Signature in either of these cases SHOULD NOT rely on the presence of signatures in requests unless there is a private arrangement between both parties to do so. Such arrangements need to specify when and how signatures are sent in detail.
"""


> I'd be interested to hear more, if you have time. While the protocol has not changed _much_, there are some changes and being able to track deployment would be useful. I'm not sure how to best to that beyond asking folks what they've deployed and tracking requests that are received, infering the draft version.
> 
> There might be space for an error header "it seems you sent me a signature. i could not verify it. this is is why".

Maybe. Or <https://www.rfc-editor.org/info/rfc9457/>.

Cheers,

--
Mark Nottingham   https://mnot.net/