[OAUTH-WG] Re: I-D Action: draft-ietf-oauth-status-list-11.txt

Dan Moore <dan@fusionauth.io> Mon, 16 June 2025 19:20 UTC

Return-Path: <dan@fusionauth.io>
X-Original-To: oauth@mail2.ietf.org
Delivered-To: oauth@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 92FA4359E581 for <oauth@mail2.ietf.org>; Mon, 16 Jun 2025 12:20:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 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_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=fusionauth.io
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 kPf_TD0ECTqu for <oauth@mail2.ietf.org>; Mon, 16 Jun 2025 12:20:49 -0700 (PDT)
Received: from mail-pf1-x436.google.com (mail-pf1-x436.google.com [IPv6:2607:f8b0:4864:20::436]) (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 7DA2A359E579 for <oauth@ietf.org>; Mon, 16 Jun 2025 12:20:49 -0700 (PDT)
Received: by mail-pf1-x436.google.com with SMTP id d2e1a72fcca58-74800b81f1bso4095669b3a.1 for <oauth@ietf.org>; Mon, 16 Jun 2025 12:20:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fusionauth.io; s=google; t=1750101648; x=1750706448; 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=rJYL12ojp30AIwFtELvG+GqdUAn8d5LHOZfN1rIcXtA=; b=Pc/VIyFhUg8Y+1zt0jA8PCh9Ud1FQf6Eq/UH97fe2Xzeea54m8azNN6RNmK5qPH0lg UCgjiTZbGwnGej0JYV88h0AgzYisNPgousS2AbBb32WTFiSWqpFfr3S2WozL/bqiYXKN ELq3iai9d217nTs1yG3YppzsbC7psCA+G1vKEJGkGEiUb7LMYin32C4jfCMtCMEg3p1U nd2+VLSE0XDM3zCXOH1DxKrXBrQ8GhCUXCUoVSSy9z+jCklc8ar2a4Ouab9WWNvgcore S+QRC1RNhT69aYj+8TQAay3PUK/g9G7HP/RO9NzjPuLPtMoVE2TZz52rezOnteLD+OGq c8tA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750101648; x=1750706448; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=rJYL12ojp30AIwFtELvG+GqdUAn8d5LHOZfN1rIcXtA=; b=uiiTR2HT0CBzEAGS12MbtkgV5tr/w3YzE4ytwGeew6YUUtapoUEnnefcUo3R5g1ntE kx6zU6FAqP+g8a6luMW8VYmwNO84ojz+IJQKTimbE93cKHf5kU2oVoyZLag6sdSkTrHF 2csgRoik8RWscDz0kDl27T8IKSEFgXtoExrviuI7GfeXL1JZaO6u9aahAajps3u/b5Fk zv5022NqpdMADLpCg+HEKS3LepljdVdDwkjEOa4T4hCe47R9rWq3cCMP4nUWdWkK9d6P IcvJ/OHeS1yBmgGIGwdYqsh5vf0tFCXEe0XCqVxTx15goEAOD7erqC/0chbvbCyX8v4m pVpg==
X-Forwarded-Encrypted: i=1; AJvYcCWQ1srRlZyAKIen45m7tGd+X4wLjd2wnqcUmzNw2NH62uXnlHFEY6jENaiVfXpSE00UjghWvA==@ietf.org
X-Gm-Message-State: AOJu0YyHXHGqjyOil+Z6bP2s44Pk4EEhL+Cp34oU1CN18V8xDwz5FEAz 9HYKrExpxBgqb82Qaf1qCkbvBRZtwN4ehIHlxQTIybxJTfHCIB//pLzkg/4FQwZkcU9bUhUYnuP 359A9RyDX7rI2oxkk1dyoRclSj9q025wUro5Zce5/
X-Gm-Gg: ASbGncs+EJ/Bj691rCd2RgFqAH4jJ4qYUJdQePknBI3XGwVRFgHC36L5hRH1CFZWrF/ otDb8OcFcdGUs6dJ+f0vvOZE/8dVT+uCT7Xs6WuTeGMh3HKBNrrPbNuCdBpkeyuSy9sAVViAb+X NjHQE6IPivru5w3KzoIJs3KaT3T/iOQxHujPx9grnrYDo=
X-Google-Smtp-Source: AGHT+IGDmlyPKDwMNEiMiUFSPcnpLlCbYDn/mb5cSHI6rneUJt9M7PfR60Cc4LcB3I2HrKEI0hB72lz9IqXimW9mshM=
X-Received: by 2002:a05:6a00:895:b0:746:3025:6576 with SMTP id d2e1a72fcca58-7489cfbb642mr14970588b3a.14.1750101648083; Mon, 16 Jun 2025 12:20:48 -0700 (PDT)
MIME-Version: 1.0
References: <174799089870.946359.11727607923903135413@dt-datatracker-59b84fc74f-84jsl> <CADNypP_5vsE9nhtgYaVmV1zLdVANiAiadY4cKY3HwOd_j=-KFw@mail.gmail.com> <CAKUhyqHU9Ymr3qQhT_Aeh=5DZYLuG0mjoKyU8cM9mgEQ7MfW=g@mail.gmail.com> <DE053FDD-49C2-4021-8D92-AB81C2E537EE@gmx.de>
In-Reply-To: <DE053FDD-49C2-4021-8D92-AB81C2E537EE@gmx.de>
From: Dan Moore <dan@fusionauth.io>
Date: Mon, 16 Jun 2025 13:20:37 -0600
X-Gm-Features: AX0GCFtRc6XrAKcehYT_BptJrjqHl8QfgUi8T_swBFiRvpPpV_V4HGuO0NZrN70
Message-ID: <CAKUhyqFGvBC9npxe_NN1fpfC0ErrTKvVDDMLEJGAFNEfVVwiTQ@mail.gmail.com>
To: Christian Bormann <chris.bormann=40gmx.de@dmarc.ietf.org>
Content-Type: multipart/alternative; boundary="0000000000000e22600637b54bc6"
Message-ID-Hash: ATD42DSGKAWSYEQGU46NCKIHCFAO56YN
X-Message-ID-Hash: ATD42DSGKAWSYEQGU46NCKIHCFAO56YN
X-MailFrom: dan@fusionauth.io
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-oauth.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: oauth@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [OAUTH-WG] Re: I-D Action: draft-ietf-oauth-status-list-11.txt
List-Id: OAUTH WG <oauth.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/1vgjBflZFf8Bzbdb5LC-KUvGWXc>
List-Archive: <https://mailarchive.ietf.org/arch/browse/oauth>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Owner: <mailto:oauth-owner@ietf.org>
List-Post: <mailto:oauth@ietf.org>
List-Subscribe: <mailto:oauth-join@ietf.org>
List-Unsubscribe: <mailto:oauth-leave@ietf.org>

Hi Christian,

I'd be happy to do a review. Will get back to you by Wed latest.

Meta-note: is opening a PR a better way to give this kind of feedback in
the future?

Thanks for your response about the status claim; appreciate the fact you
looked into it already.

Dan

On Mon, Jun 16, 2025 at 12:46 AM Christian Bormann <chris.bormann=
40gmx.de@dmarc.ietf.org> wrote:

> Hi Dan,
>
> Thank you for your feedback!
> We created a PR that incorporates your points:
> https://github.com/oauth-wg/draft-ietf-oauth-status-list/pull/293. Would
> you be able to do a review?
> Regarding the “status” claim: We did an initial search as well and didn’t
> find any collisions and there has been no feedback indicating problems so
> far , so our proposal would be to keep it as is.
>
> Best Regards,
> Christian
>
> On 9. Jun 2025, at 20:49, Dan Moore <dan=40fusionauth.io@dmarc.ietf.org>
> wrote:
>
> Hi folks,
>
> I have the following comments.
>
> As a general comment, I worry that Referenced tokens may already define a
> "status" claim for their own purposes. Since this was not a previously
> registered or public claim, I fear there may be collisions with existing
> private claims. I'd suggest using a less common claim. Perhaps _status
> (like the _sd claim in the SD-JWT RFC) or even "token_status", which are
> both less likely to collide. I searched around and didn't see "status" as a
> claim in any public documentation. This affects section 3 and 6.1, among
> others. I'm new to this RFC discussion, so perhaps this has been discussed
> already.
>
> Other comments:
>
>    Section 1:
>
> There's a typo. "data structures" -> "data structure".
>
>    Section 1.2:
>
> I found this sentence confusing: "Placing large amounts of Referenced
> Tokens into the same list also enables herd privacy relative to the Status
> Provider."
>
> Would suggest this rewording: "Placing large numbers of Referenced Tokens
> into the same list also offers Holders and Relying parties herd privacy,
> even from the Status Provider."
>
>    Section 3:
>
> Another possible typo: "Also known as Verifier." -> "Also known as a
> Verifier."
>
>    Section 4.1.4:
>
> This is the first introduction to status values, would be nice to define
> the values of 0x00 and 0x01 or at least reference section 7.1. It was
> confusing to not know the value meanings. In the next paragraph there is a
> new status type, SUSPENDED which is defined.
>
> There's also a status listed of value 3 (status[3]) but that value is
> never defined. Would suggest either defining or mentioning that this is
> application specific, as defined in 7.1.
>
>    Section 4.2:
>
> This states the status_list claim is REQUIRED but it is not present in the
> examples. Would it not be better to show that? For the first example,
> display something like:
>
> {
>    "status_list":
>    {
>      "bits": 1,
>      "lst": "eNrbuRgAAhcBXQ"
>    }
> }
>
>    Section 6.2:
>
> This sentence has a redundant phrase: "The value of idx MUST be a
> non-negative number, containing a value of zero or greater." Could it be
> replaced with "The value of idx MUST be a non-negative integer."?
>
> There's a self-reference to section 6.2: "The "status" object uses the
> same encoding as a JWT as defined in Section 6.2."
>
> But this sentence is in section 6.2. Is that intended or should it be a
> reference to something else? What am I missing?
>
>    Section 7.1:
>
> There's a phrase that is not a full sentence: "Meaning the processing of
> Status Types using these values is application specific." You could drop
> 'Meaning'.
>
> The following paragraph feels important:
>
> "The processing rules for Referenced Tokens (such as JWT or CWT) precede
> any evaluation of a Referenced Token's status. For example, if a token is
> evaluated as being expired through the "exp" (Expiration Time) but also has
> a status of 0x00 ("VALID"), the token is considered expired."
>
> Could add a MUST before 'precede' and change it to:
>
> "The processing rules for Referenced Tokens (such as JWT or CWT) MUST
> precede any evaluation of a Referenced Token's status. For example, if a
> token is evaluated as being expired through the "exp" (Expiration Time) but
> also has a status of 0x00 ("VALID"), the token is considered expired."
>
> It is a MUST in section 8.3, so maybe it'd be better to refer the reader
> to that section?
>
>    Section 8.1:
>
> I was confused by these two sentences:
>
> "The Relying Party MUST send the following Accept-Header to indicate the
> requested response type:"
>
> "If the Relying Party does not send an Accept Header, the response type is
> assumed to be known implicitly or out-of-band. "
>
> I was under the impression that a MUST was non-negotiable, but in the
> second sentence guidance for not sending the Accept-Header is given. Maybe
> change MUST to SHOULD?
>
>    Section 8.3
>
> Perhaps Step 4.3 and 4.4 should reference section 13.6 which gives
> implementation guidance?
>
>    Section 11.3:
>
> Looks like a formatting issue with lists not being rendered.
>
> For example, "- the same x5c value or an x5t ..." and "- the same x5chain
> value"
>
>    Section 12.1:
>
> We refer to the "issuer" as "he" or "him" a few times in section 12.
>
> Could replace it with "the issuer" without any loss of meaning and it
> would read better:
>
> "this would enable him" -> "this would enable the issuer"
>
>    Section 12.2:
>
> Same as in section 12.1
>
> "By these means, he could maintain" -> "By these means, the issuer could
> maintain"
>
>    Section 12.4:
>
> "and his related business" was confusing. Maybe instead: "and related
> implementation details"
>
> The list prefaced with "This behaviour could be mitigated by:" needs the
> tense to be changed. Suggest:
>
> This behaviour could be mitigated by:
>
> - disabling the Status List Aggregation Section 9
> <https://www.ietf.org/archive/id/draft-ietf-oauth-status-list-11.html#aggregation>
>
> - choosing non-sequential, pseudo-random or random indices
>
> - using decoy entries to obfuscate the real number of Referenced Tokens
> within a Status List
>
> - choosing to deploy and utilize multiple Status Lists simultaneously
>
>    Section 13.2
>
> The link appears broken: "see (#privacy-considerations) for more details"
>
>    Section 13.3
>
> Similar to section 11, this section appears to have some list formatting
> issues. "Status List Tokens depends on: - the size..."
>
> Thanks,
> Dan
>
>
> On Fri, May 23, 2025 at 10:56 AM Rifaat Shekh-Yusef <
> rifaat.s.ietf@gmail.com> wrote:
>
>> All,
>>
>> Please, review this version of the document and make sure that your
>> comments, if you had any, were addressed.
>> I will start working on the shepherd write-up in a week or two.
>>
>> Regards,
>>  Rifaat
>>
>>
>> On Fri, May 23, 2025 at 5:05 AM <internet-drafts@ietf.org> wrote:
>>
>>> Internet-Draft draft-ietf-oauth-status-list-11.txt is now available. It
>>> is a
>>> work item of the Web Authorization Protocol (OAUTH) WG of the IETF.
>>>
>>>    Title:   Token Status List
>>>    Authors: Tobias Looker
>>>             Paul Bastian
>>>             Christian Bormann
>>>    Name:    draft-ietf-oauth-status-list-11.txt
>>>    Pages:   72
>>>    Dates:   2025-05-23
>>>
>>> Abstract:
>>>
>>>    This specification defines a mechanism, data structures and
>>>    processing rules for representing the status of tokens secured by
>>>    JSON Object Signing and Encryption (JOSE) or CBOR Object Signing and
>>>    Encryption (COSE), such as JWT, SD-JWT VC, CBOR Web Token and ISO
>>>    mdoc.  It also defines an extension point and a registry for future
>>>    status mechanisms.
>>>
>>> The IETF datatracker status page for this Internet-Draft is:
>>> https://datatracker.ietf.org/doc/draft-ietf-oauth-status-list/
>>>
>>> There is also an HTML version available at:
>>> https://www.ietf.org/archive/id/draft-ietf-oauth-status-list-11.html
>>>
>>> A diff from the previous version is available at:
>>> https://author-tools.ietf.org/iddiff?url2=draft-ietf-oauth-status-list-11
>>>
>>> Internet-Drafts are also available by rsync at:
>>> rsync.ietf.org::internet-drafts
>>>
>>>
>>> _______________________________________________
>>> OAuth mailing list -- oauth@ietf.org
>>> To unsubscribe send an email to oauth-leave@ietf.org
>>>
>> _______________________________________________
>> OAuth mailing list -- oauth@ietf.org
>> To unsubscribe send an email to oauth-leave@ietf.org
>>
> _______________________________________________
> OAuth mailing list -- oauth@ietf.org
> To unsubscribe send an email to oauth-leave@ietf.org
>
>
>

-- 
<https://fusionauth.io>
Dan Moore
Principal Product Engineer @ FusionAuth <https://fusionauth.io/>

11080 Circle Point Rd Suite 405,
Westminster, CO 80020
<https://github.com/FusionAuth> <https://twitter.com/FusionAuth>
<https://www.linkedin.com/company/fusionauth>
<https://www.youtube.com/c/fusionauth>