[OAUTH-WG] Re: SD-JWT linkability
Watson Ladd <watsonbladd@gmail.com> Sat, 21 December 2024 19:10 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 712FFC151532 for <oauth@ietfa.amsl.com>; Sat, 21 Dec 2024 11:10:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] 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 cygLHUwYptBU for <oauth@ietfa.amsl.com>; Sat, 21 Dec 2024 11:10:43 -0800 (PST)
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [IPv6:2a00:1450:4864:20::42a]) (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 940C6C14CE3B for <oauth@ietf.org>; Sat, 21 Dec 2024 11:10:43 -0800 (PST)
Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-385e1fcb0e1so1688417f8f.2 for <oauth@ietf.org>; Sat, 21 Dec 2024 11:10:43 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1734808242; x=1735413042; 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=xovYznKJ7kpDYHZgyfyDXuaEBctdoVijopSUCB1hCd0=; b=isnRoEupDTBgAeBctkVCvVzX4hyvcupsZ/Wv5k7zuUviNBbjEcCV4lLVb1WPpsgO2n 04JW+kUvn+ihJ8u+ROU5imNO2NKmx3PbYuv1u+0gsfT1hiiTjSjASMXPc+KYrki4NPEV sSGKHDd2Yobni47ItMcs3NAOWonpArruVWdPFkuctiY6Y9SUELPoPc4ADIjdmSb7/vfZ b0mSB5AV+3v3G7L2+niVzUAq+bIdpOpqEwlctfJKhKOrO++IyDrzH1BhykouEZ/6FGg1 +5ipBOr0u5Olcw34FvHgWLryKRLbeGCADqB9Ri90LouD/LqZ+4yazHE2NFmC8jswGqB5 evdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734808242; x=1735413042; 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=xovYznKJ7kpDYHZgyfyDXuaEBctdoVijopSUCB1hCd0=; b=p+zhUIuJHMqVfbOER32D8NbT7nhzBgObgYhzm9j85p7vUup4CdkF7aWvUtpCp6XkXA 1WPSHARuZkPJ3Ok+J3D2rKR+hOV20K+tCh7UH+RNL1qCtal7w8v5li1u53y1NU8s+LqB UZYuTQJXXA5MpOhuDWMpinnJroSLi0twrIEEagEyDsNkkAFilnp41YrMXcrR4vwAK9JT S9zqA+iyJCDUhNQY3T7hEO4FYuSix9e48Sz72x+PvWZfB/SIz9yuRore4liILI7l+I9u Sg88RtMkwT0iNOUmNszq24sbaof7S6NEukEFo7ZANwWYDqyA/AD1ugcEDZ89NsoCmq0C pvbQ==
X-Gm-Message-State: AOJu0Ywfk4gAZ8tsfVjSUENrhGU/fn/tS2AJuaqKtzo/5wF7A4zwFSs7 xUwhgtE0wZsyR2//j9drsZN2LQYBnIR9cgRCs2bpwwn3E9vSzva1VKI0na+rqFSkVadeVFmK72N i6MzWYL1m/Vin48W5OQqeoYOZc+Ff7A==
X-Gm-Gg: ASbGncvBojv3/TJMePbflySx12zB3wYPQT8cOCKkAmnNRMehrcdwzxTts6y9r+46F20 44z+DMN2HUk30iST1CSjOdeKz+KWrFUuG96c=
X-Google-Smtp-Source: AGHT+IGzvgG3Iw20prJ1zK4S/oANCBcOrkos5BEJf1LpMDE3ggfhWRKbKJuPH9tTwpw2XUasRh8yBBQtREU+o0ISV74=
X-Received: by 2002:a5d:5e09:0:b0:386:4a60:6650 with SMTP id ffacd0b85a97d-38a223fd5dbmr7207358f8f.42.1734808241473; Sat, 21 Dec 2024 11:10:41 -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> <CACsn0ckGOpLR617mFTjVH94kiV3Xi4U6PZT-w=YW9g1_+tZ9Jg@mail.gmail.com> <7D0A7B17-9C40-4439-900D-81A744F7AD4F@authlete.com>
In-Reply-To: <7D0A7B17-9C40-4439-900D-81A744F7AD4F@authlete.com>
From: Watson Ladd <watsonbladd@gmail.com>
Date: Sat, 21 Dec 2024 11:10:30 -0800
Message-ID: <CACsn0cnfXtKztn1gkg_hpjPTetVr6j_+0EtERPccLtGwSkDG7w@mail.gmail.com>
To: Joseph Heenan <joseph@authlete.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Message-ID-Hash: LRXXKHQLFB6LQFK2MKFL2TBCBOQ47QMG
X-Message-ID-Hash: LRXXKHQLFB6LQFK2MKFL2TBCBOQ47QMG
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/aYuZSzden1yULj9gO9KfLJbxS3w>
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 Sat, Dec 21, 2024, 8:26 AM Joseph Heenan <joseph@authlete.com> wrote: > > > > On 20 Dec 2024, at 18:07, Watson Ladd <watsonbladd@gmail.com> wrote: > > 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. > > > Yes, and that problem is not unique to SD-JWT. We mustn’t try to imply that it is specific to SD-JWT or we risk developers getting very confused. Why does the language here imply that? And it is unique to SD-JWT in the sense that the disclosure opening has identifiers that a proper AC system wouldn't. We're also not talking about other systems in this document, even if they should have a similar disclaimer: it's for those WGLCs to decide. > > > 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. > > > That would seem like complete overkill process wise. The need is to point out the risk and let people assess it themselves. As soon as we try to make very prescriptive statements about certain cases we run the opposite risk of failing to predict all the bad cases and making the overall situation worse. Suggest text that does that: the current text does not make clear that users do not have the right model for their decisions. It's very prolix and I'm not sure people will realize what it implies. I'm open to alternatives, but it seems like you disagree with the goals. > > 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? > > > Yes, the current text in https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-14.html#section-10.1 seems to get across the risk just fine and doesn’t run the risk that your suggested text has of developers selecting other equally bad or worse solutions instead. Its better to reveal the whole credential because that matches user models better. Developers selecting solutions that match people's models is better than spilling information users didn't realize they were spilling. > > > > 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. > > > I’m unsure what kind of point you’re trying to make here, but the user agent as defined by w3c isn’t required to ‘look out’ for the user: https://www.w3.org/WAI/UA/work/wiki/Definition_of_User_Agent > > The suggested text is again overly prescriptive and that is a bad thing that is likely to have unintended consequences. What consequences do you see that are worse than people trusting this mechanism and ending up in trouble because of it? > > > 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. > > > If I’m presenting the age part of my government issued credential to a verifier in some countries in the world, I’m quite clear that the government is already fully tracking what’s going on and knows who am I, what I’m doing and who I’m presenting the credential too - probably particularly in the case I’m doing so in person. That doesn’t mean I should be forced to use non-SDJWT technologies that would also reveal my identity directly to the verifier. Have you ever been to a gay bar? Showing the bouncer your ID does not mean anyone knows you've been there. That's kind of important, even today in some parts of the world and some parts of the queer world. People will try to use this technology for age verification with predictable bad results. I think we should put in text that says this is a bad thing, and I'm not sure if you want to put in an alternative or think that that's an A-OK application for this. It's not about SD-JWT or full mandatory disclosure: it's about giving people the impression SD-JWT is more protective of privacy than it actually is so that they accept the system vs. not. We need a clear sentence making clear that application, among others with similar properties, is bad. Sincerely, Watson Ladd > > Joseph > > _______________________________________________ > OAuth mailing list -- oauth@ietf.org > To unsubscribe send an email to oauth-leave@ietf.org
- [OAUTH-WG] SD-JWT linkability Watson Ladd
- [OAUTH-WG] Re: SD-JWT linkability Daniel Fett
- [OAUTH-WG] Re: SD-JWT linkability Carsten Bormann
- [OAUTH-WG] Re: SD-JWT linkability Paul Bastian
- [OAUTH-WG] Re: SD-JWT linkability Tom Jones
- [OAUTH-WG] Re: SD-JWT linkability Carsten Bormann
- [OAUTH-WG] Re: SD-JWT linkability Watson Ladd
- [OAUTH-WG] Re: SD-JWT linkability Tom Jones
- [OAUTH-WG] Re: SD-JWT linkability Pierce Gorman
- [OAUTH-WG] Re: SD-JWT linkability Tom Jones
- [OAUTH-WG] Re: SD-JWT linkability Watson Ladd
- [OAUTH-WG] Re: SD-JWT linkability Paul Bastian
- [OAUTH-WG] Re: SD-JWT linkability Steffen Schwalm
- [OAUTH-WG] Re: SD-JWT linkability Tom Jones
- [OAUTH-WG] Re: SD-JWT linkability Steffen Schwalm
- [OAUTH-WG] Re: SD-JWT linkability Denis
- [OAUTH-WG] Re: SD-JWT linkability Joseph Heenan
- [OAUTH-WG] Re: SD-JWT linkability Watson Ladd
- [OAUTH-WG] Re: SD-JWT linkability Joseph Heenan
- [OAUTH-WG] Re: SD-JWT linkability Watson Ladd
- [OAUTH-WG] Re: SD-JWT linkability Pierce Gorman
- [OAUTH-WG] Re: SD-JWT linkability Watson Ladd
- [OAUTH-WG] Re: SD-JWT linkability Joseph Heenan
- [OAUTH-WG] Re: SD-JWT linkability Watson Ladd
- [OAUTH-WG] Re: SD-JWT linkability Joseph Heenan
- [OAUTH-WG] Re: SD-JWT linkability Brian Campbell
- [OAUTH-WG] Re: SD-JWT linkability Watson Ladd
- [OAUTH-WG] Re: SD-JWT linkability Joseph Heenan
- [OAUTH-WG] Re: SD-JWT linkability Denis
- [OAUTH-WG] Re: SD-JWT linkability Joseph Heenan
- [OAUTH-WG] Re: SD-JWT linkability Wayne Chang
- [OAUTH-WG] Issuer-Verifier unlinkability (was: SD… Denis
- [OAUTH-WG] Re: Issuer-Verifier unlinkability (was… Wayne Chang
- [OAUTH-WG] Re: SD-JWT linkability Denis
- [OAUTH-WG] Re: SD-JWT linkability Watson Ladd
- [OAUTH-WG] Re: SD-JWT linkability Brian Campbell
- [OAUTH-WG] Re: SD-JWT linkability Watson Ladd
- [OAUTH-WG] Re: SD-JWT linkability Brian Campbell
- [OAUTH-WG] Re: SD-JWT linkability Deb Cooley