[Acme] Re: WG Last Call: draft-ietf-acme-authority-token-jwtclaimcon-03 (Ends 2026-07-25)
Russ Housley <housley@vigilsec.com> Sun, 26 July 2026 07:20 UTC
Return-Path: <housley@vigilsec.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 DFE2911EC01C1; Sun, 26 Jul 2026 00:20:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1785050425; bh=fDehEz0U6e2yQPG5GJZesjCbIYpdXqAJbXc+iePgvKo=; h=From:Subject:Date:In-Reply-To:Cc:To:References; b=iCLqnLQDGpNW3YdH5fq/zv49Y6hf3to2m0XN6TYuPwExcuzO3tX3L+tC3P5G5iBbm 5tNGZfSCs20B0RvPF5naAv/GEYh9MYXUTI6z6ZfW7d2ELJhsu0kyLZf7R6iWWiiNdc JauqxgcxEBPW+8yn47iOyStMyy1WiAUroMKo+ERE=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.798
X-Spam-Level:
X-Spam-Status: No, score=-2.798 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=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=vigilsec.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 FfhH6bEM8pOs; Sun, 26 Jul 2026 00:20:24 -0700 (PDT)
Received: from mail3.g24.pair.com (mail3.g24.pair.com [66.39.134.11]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id E79ED11EC01BA; Sun, 26 Jul 2026 00:20:24 -0700 (PDT)
Received: from mail3.g24.pair.com (localhost [127.0.0.1]) by mail3.g24.pair.com (Postfix) with ESMTP id C26961A0FA9; Sun, 26 Jul 2026 03:20:24 -0400 (EDT)
Received: from smtpclient.apple (rtr-guestwired.meeting.ietf.org [31.133.144.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail3.g24.pair.com (Postfix) with ESMTPSA id 0D0F01A1D49; Sun, 26 Jul 2026 03:20:23 -0400 (EDT)
From: Russ Housley <housley@vigilsec.com>
Message-Id: <E969C474-85D4-466D-BB0A-37191EA619F8@vigilsec.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_0D143385-404B-44B3-9FB4-4AAD2688B5CB"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.600.51.1.1\))
Date: Sun, 26 Jul 2026 03:20:12 -0400
In-Reply-To: <C757495C-3E03-495C-9BBC-60924481EE99@appliedbits.com>
To: Chris Wendt <chris@appliedbits.com>
References: <178302982189.934.4382725200510676646@dt-datatracker-57b5d8f849-v5cht> <DA12DDD4-CFBA-4D3B-B7B2-D195A22AA2BA@vigilsec.com> <B060A071-CA0B-4C72-B600-2E7E367781D8@appliedbits.com> <C757495C-3E03-495C-9BBC-60924481EE99@appliedbits.com>
X-Mailer: Apple Mail (2.3864.600.51.1.1)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vigilsec.com; h=from:message-id:content-type:mime-version:subject:date:in-reply-to:cc:to:references; s=pair-202402141609; bh=gOdgdH9CwaYF5TzuE7YSlmlSr/vOstoePQWKUmD3g6w=; b=bOffg87OE1gAuss6djgixKtbXNjAQ4VAYlYCN+LYqIm7rm37FGjZAxYlokenoGjpSaV0Tln5dV0lj52tYZHsRm1aP0W/+z88whhNMYtrhML+ilBJraYjIA+pGLIR8+bopTepXNJWIqUkXyBPpBLzeymdUzqfOQvG/AC29//t3DatNn85RogaBNbagdaYGwtl8WyQKu4VM9vZns95iK9OGiAI7J6FdxQNviCNMFN6bUvjYMGUwmqZpJXkPNRQ1qnkGcYk9WGvnl0tFPmbptMu3N/hrXkbgiRoUjhoW4CEWFT3rSLmuPk3SSzQxcT9NzN6/+9dt2hRAh3BU5dIu2F0Xw==
X-Scanned-By: mailmunge 3.09
Message-ID-Hash: 2NV3DLFPJMFU4KNH4YVBTNELLPOELWBW
X-Message-ID-Hash: 2NV3DLFPJMFU4KNH4YVBTNELLPOELWBW
X-MailFrom: housley@vigilsec.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: Mike Ounsworth <mike@ounsworth.ca>, acme-chairs@ietf.org, IETF ACME <acme@ietf.org>, draft-ietf-acme-authority-token-jwtclaimcon@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Acme] Re: WG Last Call: draft-ietf-acme-authority-token-jwtclaimcon-03 (Ends 2026-07-25)
List-Id: Automated Certificate Management Environment <acme.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/0e4brVUvlMEYJe1L9JXVdcK-7pQ>
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>
My comments are resolved. Russ > On Jul 25, 2026, at 10:13 AM, Chris Wendt <chris@appliedbits.com> wrote: > > Hi all, > > I've posted -04. https://datatracker.ietf.org/doc/html/draft-ietf-acme-authority-token-jwtclaimcon-04 > > Summary of the changes: > > Addressing Russ Housley's review of Section 5.4: > > Expanded "Scope of the JWTClaimConstraints" to describe the constraint components > > - mustInclude (claim names that MUST be present) > - permittedValues (the values a given claim is permitted to take) > - mustExclude (claim names that MUST NOT appear, available only in EnhancedJWTClaimConstraints per RFC 9118) > > and noted that the enhanced form with mustExclude is only needed when the optional ("extended") claims must be constrained. > > Based on my discussion with Russ I also made the sure the model is explicit that the Token Authority validates the requested JWTClaimConstraints value against what the requester is authorized to include, explicitly equal or a subset of that (not a superset) and places that validated ASN.1 value in the token. Then it’s clear that the ACME server then only compares the token value to the new-order identifier octet-by-octet and never need to evaluate or parse the ASN.1. > > Two bonus updates: > > Example 3: added a clearer description of constraining the "orig" claim to a specific set of telephone numbers, along with a note in Section 5.5 on why the CA does not need to cross-check the JWTClaimConstraints against the TNAuthList: an inconsistent pair simply fails PASSporT verification for all calls, so authority and accountability stay with the CSR requester to make sure they apply both Authority Tokens correctly as a pair. > > I rechecked and fixed the appendix example values to conform to the RFC 9118 ASN.1: mustExclude values are now wrapped in the required SEQUENCE, and permittedValues entries covering more than one claim are now encoded as one JWTClaimValues per claim. > The DER hex, base64url, and byte counts were regenerated based on that. > > Comments welcome, but hopefully that satisfies the WGLC end date today. > > Thanks and good to see everyone this past week. > > -Chris > >> On Jul 23, 2026, at 10:11 AM, Chris Wendt <chris@appliedbits.com> wrote: >> >> Thanks Russ for the review. >> >> I agree with that comment and will address it. >> >> -Chris >> >>> On Jul 23, 2026, at 2:52 PM, Russ Housley <housley@vigilsec.com> wrote: >>> >>> I have read the document, and I support publication, but I think a shortcoming needs to be addressed before it is passed to the IESG. >>> >>> Section 5.4 says: >>> >>>> Because this specification involves the JWTClaimConstraints and EnhancedJWTClaimConstraints extensions, the client MAY request an Authority Token with some subset of its own authority as the JWTClaimConstraints provided in the "tkvalue" element of the "atc" JSON object. JWTClaimConstraints can be constructed to define a limited scope of claims and claim values the client has authority over. >>> >>> This is correct, but I think a few more details are needed. >>> >>> JWTClaimConstraints specifies claim names that must be included (mustInclude) and it specifies values that are allowed in particular claims (permittedValues). All of the mustInclude need to be in the token. Each value in the token need to be in the pmittedValues. In this way, the token satisfies the constraints, and a particular certificate can be issued that is a subset of those authorizations. >>> >>> The structure for EnhancedJWTClaimConstraints is a bit more complex. It also has claim names that MUST NOT appear (mustExclude). I would expect all of these to be in the token. >>> >>> Russ >>> >>>> On Jul 2, 2026, at 6:03 PM, Mike Ounsworth via Datatracker <noreply@ietf.org> wrote: >>>> >>>> This message starts a WG Last Call for: >>>> draft-ietf-acme-authority-token-jwtclaimcon-03 >>>> >>>> This Working Group Last Call ends on 2026-07-25 >>>> >>>> Abstract: >>>> This document defines an authority token profile for the validation >>>> of JWTClaimConstraints and EnhancedJWTClaimConstraints certificate >>>> extensions within the Automated Certificate Management Environment >>>> (ACME) protocol. This profile is based on the Authority Token >>>> framework and establishes the specific ACME identifier type, >>>> challenge mechanism, and token format necessary to authorize a client >>>> to request a certificate containing these constraints. >>>> >>>> File can be retrieved from: >>>> https://www.ietf.org/archive/id/draft-ietf-acme-authority-token-jwtclaimcon-03.txt >>>> >>>> Please review and indicate your support or objection to proceed with the >>>> publication of this document by replying to this email keeping acme@ietf.org >>>> in copy. Objections should be explained and suggestions to resolve them are >>>> highly appreciated. >>>> >>>> Authors, and WG participants in general, are reminded of the Intellectual >>>> Property Rights (IPR) disclosure obligations described in BCP 79 [1]. >>>> Appropriate IPR disclosures required for full conformance with the provisions >>>> of BCP 78 [1] and BCP 79 [2] must be filed, if you are aware of any. >>>> Sanctions available for application to violators of IETF IPR Policy can be >>>> found at [3]. >>>> >>>> Thank you. >>>> >>>> [1] https://datatracker.ietf.org/doc/bcp78/ >>>> [2] https://datatracker.ietf.org/doc/bcp79/ >>>> [3] https://datatracker.ietf.org/doc/rfc6701/ >>>> >>>> The IETF datatracker status page for this Internet-Draft is: >>>> https://datatracker.ietf.org/doc/draft-ietf-acme-authority-token-jwtclaimcon/ >>>> >>>> There is also an HTMLized version available at: >>>> https://datatracker.ietf.org/doc/html/draft-ietf-acme-authority-token-jwtclaimcon-03 >>>> >>>> A diff from the previous version is available at: >>>> https://author-tools.ietf.org/iddiff?url2=draft-ietf-acme-authority-token-jwtclaimcon-03 >>>> >>>> _______________________________________________ >>>> Acme mailing list -- acme@ietf.org >>>> To unsubscribe send an email to acme-leave@ietf.org >>> >> > > _______________________________________________ > Acme mailing list -- acme@ietf.org > To unsubscribe send an email to acme-leave@ietf.org
- [Acme] WG Last Call: draft-ietf-acme-authority-to… Mike Ounsworth via Datatracker
- [Acme] Re: WG Last Call: draft-ietf-acme-authorit… Russ Housley
- [Acme] Re: WG Last Call: draft-ietf-acme-authorit… Chris Wendt
- [Acme] Re: WG Last Call: draft-ietf-acme-authorit… Chris Wendt
- [Acme] Re: WG Last Call: draft-ietf-acme-authorit… Russ Housley
- [Acme] Re: WG Last Call: draft-ietf-acme-authorit… Chris Wendt
- [Acme] Re: WG Last Call: draft-ietf-acme-authorit… Mike Ounsworth
- [Acme] Re: WG Last Call: draft-ietf-acme-authorit… Chris Wendt
- [Acme] Re: WG Last Call: draft-ietf-acme-authorit… Russ Housley
- [Acme] Re: WG Last Call: draft-ietf-acme-authorit… Chris Wendt
- [Acme] Re: WG Last Call: draft-ietf-acme-authorit… Mike Ounsworth
- [Acme] Re: WG Last Call: draft-ietf-acme-authorit… Mike Ounsworth
- [Acme] Re: WG Last Call: draft-ietf-acme-authorit… Mike Ounsworth
- [Acme] Re: WG Last Call: draft-ietf-acme-authorit… Mike Ounsworth
- [Acme] Re: WG Last Call: draft-ietf-acme-authorit… Chris Wendt
- [Acme] Re: WG Last Call: draft-ietf-acme-authorit… Mike Ounsworth