[OAUTH-WG] Re: SD-JWT linkability

Watson Ladd <watsonbladd@gmail.com> Fri, 20 December 2024 18:07 UTC

Return-Path: <watsonbladd@gmail.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 48D7DC15108D for <oauth@ietfa.amsl.com>; Fri, 20 Dec 2024 10:07:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.107
X-Spam-Level:
X-Spam-Status: No, score=-2.107 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, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 10NhXW3rNhZy for <oauth@ietfa.amsl.com>; Fri, 20 Dec 2024 10:07:20 -0800 (PST)
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) (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 ietfa.amsl.com (Postfix) with ESMTPS id C3AD5C14F6FF for <oauth@ietf.org>; Fri, 20 Dec 2024 10:07:20 -0800 (PST)
Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-3862d6d5765so1402756f8f.3 for <oauth@ietf.org>; Fri, 20 Dec 2024 10:07:20 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1734718039; x=1735322839; darn=ietf.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=5+Ny0CL2kwYfURj9YsBOXv6+boGZdrSVyFwhhA0PZjs=; b=BaFgG/zKu0xFQU7AzxrTnjbo8ivbETLPxuLHYfq6BLESKnNEr0xyh/V6tgtRNrp2Dg MDrluO+CDew7h8igzo8P+tV/JlSiQWM6X+kmu+2Yv4j5p9AVMmh10KzGuTa8Jm9x2ZGO XK90NsxRWGnuQsf14xNAV5wc2yBAg08HzBm6Tm8qGJnQC/ByBbEkJSyR8UbV3RBh6ChT 8pj6p6Bd/0JPgVO2pQYOfaSGBtSYKBKX06OJx8SvTirUMeJSx8lIlTn6en3+hZzLkcma lGShE8WxBbEkLeH1Md4ciEnmerG9NIwQPeR1hmFk7HvgprEkEFevgK/E+Kga9ergky+R z7KQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734718039; x=1735322839; h=content-transfer-encoding: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=5+Ny0CL2kwYfURj9YsBOXv6+boGZdrSVyFwhhA0PZjs=; b=TzDlUsasOBNQk56fz6orql4mr1pLpL6RnUb5sT5HVXtsbkt3zvfKe2OgsKGqS2T2wM KogI46vAH97XDmpojfGfo8vQmZCbqYHFXSU1cGyJy+4tpawSlCi/FpDGB5ClnbHjmxzu bS4uQTKGr36wpvrQwJTXnQkvpVB89wD7x6ESPO1LzmoB8Xl8R8kvO+v/V6U68FMzNvdk PWel0PcNYRgDI4/HXa821VxQiJYO3O0U2KpvhJEGx46QfTgWjXkwOm+jhaXUUhJEcCzC fviioqw+g81AtJWa34u/C2JHFEOWGJWuipNxe/WYk8ZxgAC/Sgzz3xXXSOjtKTt+tjqc sZ/A==
X-Gm-Message-State: AOJu0YxjpG5Qt/Tk6zCqBnVnw7gjox5uyncpvqeNENiH3c1AkuPLVx5X 1bQ0ddzmaeZya1fy1BjnFHuyXDH7VstpNw9HcY3bN1gwvBKPJsZrpT6VwY8BnDa06j2/vhBKIv3 nZbZm2tmcG6Lj5pzry3W31ClsEGw0Tw==
X-Gm-Gg: ASbGncsAnd48nYLl9IA1ajhIUHYHQBFbiP+A4lwlMkPvPX1rZM4Ld55znSbQQRxcIIf VvVkkcuuXmIiLzuz9vxw9V0r+HwwUWrFeas2utImQMVszPIkGz+7MguBXlBJmo5vevkvnsRQ=
X-Google-Smtp-Source: AGHT+IFBmgEPPoOgviQhqRn4rAC3bma61gUtXrmE02TXI0Jld7Mv8mJX8zvewb8fWWQ/TjeeSstgDbI2AgEZBoCsnNA=
X-Received: by 2002:a05:6000:1a8d:b0:385:e22e:288b with SMTP id ffacd0b85a97d-38a2240a0c9mr4232513f8f.59.1734718038774; Fri, 20 Dec 2024 10:07:18 -0800 (PST)
MIME-Version: 1.0
References: <CACsn0ckGp4AocD1fQbMCs45P_Z5vjveggzDJw=-Vk5kxinM28Q@mail.gmail.com> <D8C86F2E-E288-4799-98BD-108F553C8CFE@authlete.com> <CACsn0cnKLr0Z-uJRM0TySCXCBbcO8wkDhRFLbsh8K8LBJepTbA@mail.gmail.com> <50282CFE-6DE4-48B7-9080-E2D4E81F9569@authlete.com>
In-Reply-To: <50282CFE-6DE4-48B7-9080-E2D4E81F9569@authlete.com>
From: Watson Ladd <watsonbladd@gmail.com>
Date: Fri, 20 Dec 2024 10:07:07 -0800
Message-ID: <CACsn0ckGOpLR617mFTjVH94kiV3Xi4U6PZT-w=YW9g1_+tZ9Jg@mail.gmail.com>
To: Joseph Heenan <joseph@authlete.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Message-ID-Hash: CIQDMR7GBHM3Y76UCI5XKC4FZ5KK7KZQ
X-Message-ID-Hash: CIQDMR7GBHM3Y76UCI5XKC4FZ5KK7KZQ
X-MailFrom: watsonbladd@gmail.com
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: IETF oauth WG <oauth@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [OAUTH-WG] Re: SD-JWT linkability
List-Id: OAUTH WG <oauth.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/63gZ3cu5YxGzkevgjlqoV1EH5YE>
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>

On Fri, Dec 20, 2024 at 9:47 AM Joseph Heenan <joseph@authlete.com> wrote:
>
>
>
> On 19 Dec 2024, at 21:54, Watson Ladd <watsonbladd@gmail.com> wrote:
>
> On Tue, Dec 17, 2024, 1:59 PM Joseph Heenan <joseph@authlete.com> wrote:
>
>
> Hi Watson
>
> Just to respond to the suggested text:
>
>
> "When disclosures include information easily understood to be
> identifying, users intuitive view of what they are revealing largely
> matches the underlying technical reality. In cases where the
> information being disclosed is not identifying, SD-JWT
> MUST NOT be used as this confusion leads to users making the wrong
> choices.
>
>
> This sentence is really hard to make sense of and I don’t think implementors will understand it. I’m not convinced I understand it even with the extra context from the threads. I think a MUST NOT is far too strong too, and saying ’SD-JWT’ in particular must not be used it too strong as an SD-JWT where everything is disclosed (or no selective disclosures are present in the issued credential in the first place) is no different to other credentials formats that don’t have selective disclosure.

I think this is subsumed by the first sentence. When users are
disclosing information that wasn't identifying, but the mechanism
involves transmitting a unique identifier there is a problem.

>
>
>
> Would adding "When users disclose information that is not identifying,
> e.g. age, the fact that the mechanism in this draft exposes the unique
> signature of their credential is not obvious. Users could have made
> different decisions if they understood this. Therefore," in the middle
> help?
>
>
> I think that makes it easier to understand, but I disagree with the premise - I believe there are likely ways to describe this to users and this needs to be properly researched & tested with real people. As I said, the MUST NOT is too strong regardless - there are likely cases where the user recognises that tracking like this is possible/inevitable, and regardless it seems to imply that SD-JWT has worse properties than (for example) JWT based credentials, which is something we definitely shouldn’t do.

Then when people have demonstrated that they can mitigate the risk, we
can write a bis. The point is some mitigation needs to be
demonstrated. I want to put text in that someone can show their boss
to say "we shouldn't implement this because we don't have a
demonstrated, working mitigation for the privacy risks that aren't
apparent". Do you have alternate ways to document this issue that will
do that?

>
>
>
> Applications cannot assume Verifiers behave properly (RFC
> 3514) and MUST analyze the consequences for such linkage with each
> credential that could be used."
>
>
> This ‘MUST’ is practically impossible for some implementors - for example, it is impractical for a wallet to make this kind of judgement for each issued credential.
>
>
>
> Bingo! Wallets that use SD-JWT can't give users the control over their
> data that we would expect them to have.
>
>
> I don’t think you have shown this very generalised statement is true, nor that if it was true that it only applies to wallets using SD-JWT.
>
> The wallet needs to be aware
> of how the requests impact user privacy.
>
>
> The wallet doesn’t need to be aware if it is clear to the user from the context (and perhaps there are other cases too where the wallet doesn’t need to be aware). The MUST NOT is too strong, and I’m not sure even a SHOULD NOT would be appropriate.

Somebody has to look out for the user here. In the web its why we call
it a User Agent. If the Wallet isn't going to be capable of doing
that, what will? What is "clear to the user from the context"? In the
case of age verification it really isn't clear what exactly is being
revealed.

>
> Joseph
>
>
> _______________________________________________
> OAuth mailing list -- oauth@ietf.org
> To unsubscribe send an email to oauth-leave@ietf.org



-- 
Astra mortemque praestare gradatim