[OAUTH-WG] Re: Explicit typing of SD-JWTs (was SD-JWT architecture feedback)
Rohan Mahy <rohan.mahy@gmail.com> Sun, 22 September 2024 17:40 UTC
Return-Path: <rohan.mahy@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 AD6A6C14F6FC for <oauth@ietfa.amsl.com>; Sun, 22 Sep 2024 10:40:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.104
X-Spam-Level:
X-Spam-Status: No, score=-7.104 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_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=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 2nnbHx19OlbF for <oauth@ietfa.amsl.com>; Sun, 22 Sep 2024 10:40:06 -0700 (PDT)
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) (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 B0599C14F615 for <oauth@ietf.org>; Sun, 22 Sep 2024 10:40:06 -0700 (PDT)
Received: by mail-ed1-x534.google.com with SMTP id 4fb4d7f45d1cf-5c4226a5af8so4814940a12.1 for <oauth@ietf.org>; Sun, 22 Sep 2024 10:40:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727026805; x=1727631605; 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=v8pX4EdSpaE2UnvIuhAI7+uO/lhN/QZqSg5y/OgrSmM=; b=CDibLvKnK6DOFc/0h66ZdDGSENa7lmucytCY/5xmLINqdEQzQJ7C0O6oLs4K2xWD/W kTsBLiWfiebMq1OuckPVEuWvWN9qXGSKGq1faoU7kbsvFNjlQQyKYk22cnUU2rl4paIg lN5ZPLdQkiuXaCDL5KLzupCMTx2TEiGEA+MrJkzyzOxXV9lESca9KGJb61417aWPp+vp txpdw4NYktWKBYIu+RrfnQrZw8JNBsdb6H1oi4kkv3jQ3Dhh+ySvZa4kzSflFtirXLb0 LpVzW0S8+TaIQccAR8TErMZu2i6hLNPZVvITWdFjHTlLocZ7fkP1r3m/6tfv/5Fl/1vj 7ZXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727026805; x=1727631605; 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=v8pX4EdSpaE2UnvIuhAI7+uO/lhN/QZqSg5y/OgrSmM=; b=mNk/3MgrAf6oPvMTES5tQ4dTO54UzUg5a1SnVu8ktu7rxldMxusXNJ14srj/lVE8Uc /eTb2+rxmps+tbdZzHDtHUklf8a93guNCSuK57HZFDlFelZOa0Ht1OnlD+TkNWJN7uUi U5XYB0sk/ZNRPz+Sir4t2udEJ22PcvLOcWpyayOWk1a16z5aalvlZvFsA2yhruO/OnAz G2yRNeMSdeddBjwynXsrp3hJKyT8uNsRtZ2eyktvP9qmYq1+T6+btDHQK99WcA19j7Yl iRl2qSM/UsC82DtfC3wvnAh5hCx8ee/t1j/Z/DoBf9ibOqt9fwdmy6RyQRI7rrnF2U4G Vr8w==
X-Forwarded-Encrypted: i=1; AJvYcCUFyOhdErgl6LT+K2QgFB8C6o05aS23vQLGvckth3qXH/lGuEHJfzHc7fmdEkVGv4ap2g/NeQ==@ietf.org
X-Gm-Message-State: AOJu0Yz4656GR2E1r0wgPwFyeJeYxmtkkJyzEWcKb0Qos2lF07ZaCNXz VYdilG1yfgBqWWd222q0hfowrNi3bJPeHnWV39pTY+PLHBe4wU1dhQ/y6wyBgDDb8euJhrI/d/9 d7IdEi2maVoMkWXIk4pOxNKKQVbo=
X-Google-Smtp-Source: AGHT+IGAhwzCyHsHb4XrF21bk423Efc0vEtAQSy8w/u3iMdslWzZZnz/zn28hfFau7WCiDKKwl9sxP3iSLxyWEc43Ok=
X-Received: by 2002:a17:906:fe4a:b0:a86:aa57:57b8 with SMTP id a640c23a62f3a-a90d5197d56mr1101730566b.63.1727026804441; Sun, 22 Sep 2024 10:40:04 -0700 (PDT)
MIME-Version: 1.0
References: <CAKoiRubpOptOoZkfG9Ro756VHX-0kOAquspSpXH7ASXvBAeRUQ@mail.gmail.com> <350583BC-5C8B-49BC-9A5B-8E1060EEE0D3@alkaline-solutions.com>
In-Reply-To: <350583BC-5C8B-49BC-9A5B-8E1060EEE0D3@alkaline-solutions.com>
From: Rohan Mahy <rohan.mahy@gmail.com>
Date: Sun, 22 Sep 2024 10:39:52 -0700
Message-ID: <CAKoiRua6SYV5NBDF+eduHztfy+UMYFvLn3fyZeazKQ43usnsNA@mail.gmail.com>
To: David Waite <david@alkaline-solutions.com>
Content-Type: multipart/alternative; boundary="000000000000324c6c0622b8c33f"
Message-ID-Hash: 75VPCJVEGOKTSJGDDB4DATF6TRD2Y7PW
X-Message-ID-Hash: 75VPCJVEGOKTSJGDDB4DATF6TRD2Y7PW
X-MailFrom: rohan.mahy@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: Dick.Hardt@gmail.com, oauth@ietf.org, kristina@sfc.keio.ac.jp
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [OAUTH-WG] Re: Explicit typing of SD-JWTs (was SD-JWT architecture feedback)
List-Id: OAUTH WG <oauth.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/HeU7YeE5BrwxVfCGtmcN9Wpqs6M>
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>
But when you *don't* use the public key to secure more than a single type of application message (unsurprisingly a very common use case), there is no issue. Given that the current document defers to profiles all decisions about which validation claims to require, which is a much more serious likely security concern, I think a default type should be defined, mentioned in security considerations, and its use (or not) can be profiled as appropriate. Thanks, -rohan On Sun, Sep 22, 2024 at 10:24 AM David Waite <david@alkaline-solutions.com> wrote: > There are security issues from this however if the public key is used to > secure more than a single type of application message - say a message > normally used to indicate someone is logging out accidentally being > accepted for log-in or as a valid session token on a website. > > In this scenario, you need some way to differentiate the two messages > reliably (across many potential interoperable implementations), and making > them different media types is the best current practice. > > -DW > > On Sep 22, 2024, at 10:52 AM, Rohan Mahy <rohan.mahy@gmail.com> wrote: > > > Hi, > If someone defines a new profile application/foobar-audit-system and it > has sd-jwt, jwt, and sd-cwt versions, it seems perfectly reasonable to have > a fine-grained explicit media type application/foobar-audit-system+sd-jwt. > That said, there are times when someone just wants an sd-jwt with an > unspecified profile. In this second case, it makes more sense to me to also > register application/sd-jwt. The implementor should fill in whichever form > they are using in the `typ` header. > > Thanks, > -rohan > > On Sat, Sep 21, 2024 at 12:17 PM Michael Jones < > michael_b_jones@hotmail.com> wrote: > >> Actually, the JWT BCP (which we were both authors of) does not recommend >> using a single media type. Rather, it recommends using a specific media >> type suffix in the “typ” values >> <https://www.rfc-editor.org/rfc/rfc8725.html#name-use-explicit-typing>: >> >> When explicit typing is employed for a JWT, it is *RECOMMENDED* that a >> media type name of the format "application/example+jwt" be used, where >> "example" is replaced by the identifier for the specific kind of JWT. >> >> >> >> SD-JWT is doing the same thing, recommending the use of the media type >> suffix “+sd-jwt”. >> >> >> >> This enables more fine-grained explicit typing. For instance, when doing >> explicit typing for an SD-JWT in the Example use case, the “typ” value >> would be “example+sd-jwt”. This can then be distinguished from an SD-JWT >> for the Other use case, which would use the “typ” value “other+sd-jwt” – >> meeting the goal of explicit typing. >> >> >> >> -- Mike >> >> >> >> *From:* Dick Hardt <dick.hardt@gmail.com> >> *Sent:* Saturday, September 21, 2024 9:16 AM >> *To:* Daniel Fett <mail@danielfett.de> >> *Cc:* oauth@ietf.org; kristina@sfc.keio.ac.jp >> *Subject:* [OAUTH-WG] Re: SD-JWT architecture feedback >> >> >> >> … >> >> >> >> *Explicit Typing* >> >> Why leave the typing in the header to be determined by the application >> (10.11), and not just be 'sd-jwt' and be REQUIRED? >> >> We had extensive discussions around typing, please refer to the following >> issues: >> >> - https://github.com/oauth-wg/oauth-selective-disclosure-jwt/issues/267 >> >> - https://github.com/oauth-wg/oauth-selective-disclosure-jwt/issues/327 >> >> - https://github.com/oauth-wg/oauth-selective-disclosure-jwt/issues/345 >> >> >> >> Those issues don't really address the point. >> >> >> >> Per RFC 8725: JSON Web Token Best Current Practices (rfc-editor.org) >> <https://www.rfc-editor.org/rfc/rfc8725.html#name-use-explicit-typing> -- >> the best practice would be to have a single type that would allow a library >> to know it is an SD-JWT. If additional context is needed, perhaps that >> should be a different header property? >> _______________________________________________ >> 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-WG] SD-JWT architecture feedback Dick Hardt
- [OAUTH-WG] Re: SD-JWT architecture feedback Warren Parad
- [OAUTH-WG] Re: SD-JWT architecture feedback Daniel Fett
- [OAUTH-WG] Re: SD-JWT architecture feedback Dick Hardt
- [OAUTH-WG] Leading underscores in SD-JWT Claim Na… Michael Jones
- [OAUTH-WG] Explicit typing of SD-JWTs (was SD-JWT… Michael Jones
- [OAUTH-WG] Re: Leading underscores in SD-JWT Clai… Dick Hardt
- [OAUTH-WG] Re: Explicit typing of SD-JWTs (was SD… Dick Hardt
- [OAUTH-WG] Re: Leading underscores in SD-JWT Clai… Rohan Mahy
- [OAUTH-WG] Re: Explicit typing of SD-JWTs (was SD… David Waite
- [OAUTH-WG] Re: SD-JWT architecture feedback Rohan Mahy
- [OAUTH-WG] Re: Explicit typing of SD-JWTs (was SD… Rohan Mahy
- [OAUTH-WG] Re: SD-JWT architecture feedback Dick Hardt
- [OAUTH-WG] Re: Leading underscores in SD-JWT Clai… Brian Campbell
- [OAUTH-WG] Array Disclosure (was SD-JWT architect… Denis
- [OAUTH-WG] Re: Explicit typing of SD-JWTs (was SD… Kristina Yasuda
- [OAUTH-WG] Re: SD-JWT architecture feedback Brian Campbell
- [OAUTH-WG] Re: SD-JWT architecture feedback Dick Hardt
- [OAUTH-WG] Re: Explicit typing of SD-JWTs (was SD… Brian Campbell
- [OAUTH-WG] Re: Explicit typing of SD-JWTs (was SD… Dick Hardt
- [OAUTH-WG] Re: Explicit typing of SD-JWTs (was SD… Brian Campbell
- [OAUTH-WG] Re: Explicit typing of SD-JWTs (was SD… Dick Hardt
- [OAUTH-WG] Re: Explicit typing of SD-JWTs (was SD… Rohan Mahy
- [OAUTH-WG] Re: Explicit typing of SD-JWTs (was SD… Brian Campbell
- [OAUTH-WG] Re: Explicit typing of SD-JWTs (was SD… Dick Hardt