[jose] Re: JWP Subclaim proposal question

Nat Sakimura <sakimura@gmail.com> Thu, 06 November 2025 04:59 UTC

Return-Path: <sakimura@gmail.com>
X-Original-To: jose@mail2.ietf.org
Delivered-To: jose@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id CB466841AAC3 for <jose@mail2.ietf.org>; Wed, 5 Nov 2025 20:59:14 -0800 (PST)
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=ham 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 Pa91eoiHVXev for <jose@mail2.ietf.org>; Wed, 5 Nov 2025 20:59:14 -0800 (PST)
Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com [IPv6:2607:f8b0:4864:20::630]) (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 1A092841AABC for <jose@ietf.org>; Wed, 5 Nov 2025 20:59:14 -0800 (PST)
Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-2957850c63bso6716085ad.0 for <jose@ietf.org>; Wed, 05 Nov 2025 20:59:14 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762405147; x=1763009947; 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=ziCSdSKVcP15E/7Li2OXjYt+mb3dzPHZYoGHdp1hKEk=; b=VnIzD+CnlzwxDlH1VxRnOHqDFtJZWVzJOeQV+NPtJubl6hEUcwxoV47ALRvxcfBAul nj9teCADAyic4/s+XNNpE2WRS54MPJf4DboeiknxO3FLioQFMy3dH+oVfqcmLz5UYwuc IJn4TJbJ7ggmY0raut1JJQE1F5uj88sVZdyLGPpAAwyNT68Oh8cRlQWWwW3Pvc0bv7F5 88fFMbH5UBd5SjYG9vYyLwcGeUUav7v5aSbGBuE2CNYNA34lo++o9eQMkUx5V8yFobTf 2xda4w4jiKIXK0c3v7NaQyVcCKiwKnzwWxhfaE8/TXrXpTh5JrfAkcfFk73QGMhHrt7l Gd9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762405147; x=1763009947; 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=ziCSdSKVcP15E/7Li2OXjYt+mb3dzPHZYoGHdp1hKEk=; b=J2nUk2MeCZZTRA4qFPxOn42ZTRPjF6ZM0W3du+FRPeV3C6WbkzTmazKxj6KPI3LSh9 SRmJmVeJEzcQnUkfE+QoIM9Q/YCDmh3ucJb/atvBfBDQmzHtQopmfwgDAQzwT75wlMx9 oRHeozffgrrDhytBrr22jqQvqauzNoffaxk8A9jpuUAerZDXNKH6eT3umHQeb7nu7pwv pd1WkU9Il5YyOsB7+LMe/rPDbtmvHrsYjvcSiKoGnFLVfoAm8F2XrCDbWu2Eyr4iSYg0 x0DdmuXJjC/9FdT6+YBKp1Zve0qdAJzd7PG2adhhXaqT1vci6whPIzT8Ds4sXzBX3Usv d52g==
X-Gm-Message-State: AOJu0YzPg30BeGZnYWnc04bgKcSL/NJAN9IgV3JVAe5FdeKTdpL4fSsY 4RCCsGJejWhsPklMgNxaTnqfyHVNdeQ38zlbx6VjX0vqVeB85QZsjVGThO6yZfH1gsjsgdTjqzR HuWXGZOVUb4WSY68utqjgju3O/w6Mo04=
X-Gm-Gg: ASbGncvMzSNG4kkrWearLv4g33px75p8Ztp8pd+mp3eJppoE+jUiUXRpqVnefWEAce0 rzPjmoMYCPf8o6e/49iXesiMkct8vSjUpn1X1wXv4FlabCOkpoRwTtem5nCWh5O9vLYGVaqKBvr 8zhikA9iZ4OBu9Wxnbab5EQ6XJHvpSFhTL29C9jOFK7Rv6p+XduhUUQwwkPil47ImnhUJTZ5APi 9cJmPfR8ueuyjxCf1hls87722/9eVr9m2xLYKZzd1pXBIgYXF5n+R17Zk/TaXDcGb7dkU3A3KFj 5N1cXfKD+tCi9xy4
X-Google-Smtp-Source: AGHT+IEwLeY/ZFEa046eP0XZEAzx/HLLomXS18WU0e6M0IPFGb8FTJEpy2FL+XZcEVdR19BVcd2cdTjX/Kk4fWBwYc4=
X-Received: by 2002:a17:903:1b0d:b0:266:57f7:25f5 with SMTP id d9443c01a7336-2965086027amr23675285ad.7.1762405146788; Wed, 05 Nov 2025 20:59:06 -0800 (PST)
MIME-Version: 1.0
References: <CABzCy2Dpf8bCcWxQmyjup=c3oGN2RARZbaMxpvU0MM7_udRrtg@mail.gmail.com> <CDD9C795-AD7A-4F86-A7C2-028F22E6812A@alkaline-solutions.com>
In-Reply-To: <CDD9C795-AD7A-4F86-A7C2-028F22E6812A@alkaline-solutions.com>
From: Nat Sakimura <sakimura@gmail.com>
Date: Wed, 05 Nov 2025 23:58:55 -0500
X-Gm-Features: AWmQ_bkJgRMcjeq4FuA7-IEp8kcTSBYUD_PkFz28Glsx0HLUc2yc6yJNlztil4E
Message-ID: <CABzCy2ApeicmnedDZKVy_n6k6PGMYQDoJztiakUG++xzZRoOJg@mail.gmail.com>
To: David Waite <david@alkaline-solutions.com>
Content-Type: multipart/alternative; boundary="000000000000b989780642e5ec03"
Message-ID-Hash: NNWYE6LBCTCG6L3HKJLFMWVPGHKWEVOE
X-Message-ID-Hash: NNWYE6LBCTCG6L3HKJLFMWVPGHKWEVOE
X-MailFrom: sakimura@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-jose.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: jose@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [jose] Re: JWP Subclaim proposal question
List-Id: Javascript Object Signing and Encryption <jose.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/jose/uv9owc9y6PbEAjbDz_MenKdNmbY>
List-Archive: <https://mailarchive.ietf.org/arch/browse/jose>
List-Help: <mailto:jose-request@ietf.org?subject=help>
List-Owner: <mailto:jose-owner@ietf.org>
List-Post: <mailto:jose@ietf.org>
List-Subscribe: <mailto:jose-join@ietf.org>
List-Unsubscribe: <mailto:jose-leave@ietf.org>

This is great, thank you so much!

On Wed, Nov 5, 2025 at 1:22 PM David Waite <david@alkaline-solutions.com>
wrote:

> Hello Nat!
>
> Before discussion kicks off, I wanted to make sure to provide the list
> additional information.
>
> I want to mention there is a PR [1] describing the approach briefly
> mentioned in the presentation, as well as the CI rendering of the changed
> document [2].
>
> The slide deck is also available [3]. The chart in the PPTX has a few
> options I researched and presenter notes, but we didn't really have time to
> present the information during the meeting. (The PDF seems to strip the
> check marks as they are in the emoji unicode range, something I'll keep in
> mind for the future.)
>
> There isn’t an obvious referencable standard for dot-flattening, but it
> does compare to JSON Pointer [4] which uses a path syntax
> (“/address/country”) . The feature-set is close to what we want, but there
> were a few negatives per our criteria:
>
> 1. It would require a different approach for CBOR, which has broader
> fidelity including allowing any CBOR to be used as a map key.
>
> 2. If we want to allow for document reconstruction, we can’t distinguish
> from “0” as an object property/map key and “0” as an array index, since
> both are expressed as string data. We would need to understand the
> semantics of a claim to distinguish these cases, which complicates
> implementation.
>
> 3. There are additional parsing and escaping rules, since “/“ for pointers
> (and “.” for dot-flattened) are characters allowed in a JSON object key.
>
> CBOR Pointer [5], OpenID4VP [6] and SD-JWT-based Verifiable Credentials
> [7] use an array syntax, which is less terse but skips the need for parsing
> and escaping. Since it can distinguish 1 as an array index and “1” as a map
> key, it also allows for a subset JSON document to be reconstructed based on
> released claims and subclaims. (CBOR reconstruction is more complex due to
> the higher fidelity)
>
> It also is worth noting that while we describe how to embed the mapping of
> payloads to claims and subclaims as an issuer header, we would like to push
> applications to instead have consistent mappings that could leverage issuer
> metadata (similar to that defined by the SD-JWT based Verifiable
> Credentials draft). In that case, we wouldn’t have a claims list in the
> header, and would have less benefit from the additional terseness of a
> flattened string syntax.
>
> -DW
>
> [1]: https://github.com/ietf-wg-jose/json-web-proof/pull/187
>
> [2]:
> https://ietf-wg-jose.github.io/json-web-proof/change-jpt-to-array-query-syntax/draft-ietf-jose-json-proof-token.html#name-claims-header-parameter
>
> [3]: https://datatracker.ietf.org/doc/slides-124-jose-json-web-proofs/
>
> [4]: https://datatracker.ietf.org/doc/html/rfc6901
>
> [5]: https://www.ietf.org/archive/id/draft-mahy-cbor-pointer-00.html
>
> [6]:
> https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#name-claims-path-pointer
>
> [7]:
> https://www.ietf.org/archive/id/draft-ietf-oauth-sd-jwt-vc-12.html#name-claim-path
>
> On Nov 5, 2025, at 10:18 AM, Nat Sakimura <sakimura@gmail.com> wrote:
>
> Thanks, Mike, for presenting
> https://datatracker.ietf.org/meeting/124/materials/slides-124-jose-json-web-proofs-00
> today.
>
> I have one question about the Subclaim proposal.
> In the slide, you proposed array flattening, e.g. ["address","country"]
> and not dot-flattening, e.g. "address.country", which is a popular choice
> as well. Is there a reason for picking array flattening? Just wanted to
> know.
>
> Thanks,
>
> --
> Nat Sakimura
> _______________________________________________
> jose mailing list -- jose@ietf.org
> To unsubscribe send an email to jose-leave@ietf.org
>
>
>

-- 
Nat Sakimura (=nat)
Chairman, OpenID Foundation
http://nat.sakimura.org/
@_nat_en