[OAUTH-WG] Re: Deferred Key Binding / TMB
Filip Skokan <panva.ip@gmail.com> Tue, 10 June 2025 19:41 UTC
Return-Path: <panva.ip@gmail.com>
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 E16743355246 for <oauth@mail2.ietf.org>; Tue, 10 Jun 2025 12:41:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.098
X-Spam-Level:
X-Spam-Status: No, score=-1.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, FREEMAIL_REPLY=1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no 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 kYfVJK2DR0B0 for <oauth@mail2.ietf.org>; Tue, 10 Jun 2025 12:41:13 -0700 (PDT)
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) (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 521E63355241 for <oauth@ietf.org>; Tue, 10 Jun 2025 12:41:13 -0700 (PDT)
Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-45310223677so23018805e9.0 for <oauth@ietf.org>; Tue, 10 Jun 2025 12:41:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749584472; x=1750189272; 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=6zICLdKy0v6aYAfUvbF9w2evYbo764ZV2qWMT7dzU4E=; b=BXX4Sl30dJPxZH2T6NfIAMdpD1Ql9+7K1b75zXJiJZOLbZLrRUwTkMJO0g66DJxXjl lAZBKH83W1kv0tiGwqBctqKmknzsggl+TaWZfNtDX6vmTkoqnAya4v6KGoWGVbEhGA6Y 63peYhJBbMR/Zjw8LA0TP2T7cp99Zbs2GEXtZ9XWjHSs0prgHKcKAaar1N5MH6l0giGA 1F+zj65sn1DAcUiUPeSAMmn7brPT9Gm1oMOaCNYXaDBwbkGN4NFROZdEL3kI8eDYPRCK I8GMB85p8MvE9Y8wN0lpZXklMhFybAF9sNtkTfuT8UJ28CemYMCxJ7rnZJ5PSdYdc1kr qIog==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749584472; x=1750189272; 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=6zICLdKy0v6aYAfUvbF9w2evYbo764ZV2qWMT7dzU4E=; b=elbnqehprYrg+PHbL+03hWs4+3i+0s+3nhKga2ONuOifv/G25o0nEGJg3eAUZKTl4+ 52Q1PFZJkurWZ+ysw3Nz4ks98i3ZeXnBEABvW4VJZySyE15LZ1B0CWozsZvKfuRhSWh6 0uW+810oYEignust8UWLg20QLqPvsfXaxS0G0sYZHL+1Ez9lntbWHAnFHYwKahSLyEAl wfkC47+axb/wHidt9M5KaEYtSv0UJWU+r2LmHQ6yDXVpZwWSyXhuAE30iyx6jBc+JPF2 gm9bpMhiJAD3LGkpBcoBC8b5s8xQBEkKbUEukVbw5iKLt+js+SjJDTU82sMd7IMcKaHr c2OQ==
X-Gm-Message-State: AOJu0YwiwS28tCJa+lm41U/fbY0uGVWlXA/sc1HHKVyphEPI4SMZTW2H fVQEj/uqwnwzLt1CFHVovdygXHJUCsFkMH/3RSdAbXTIMRB/47tAjc79STnH45qfKxcxTCNp9Mf d/OZ7rZKAQlh/TdGi2gJF1NRJozl3szicm4iPvg==
X-Gm-Gg: ASbGnctf0AhhID1mZ/gX5nPTW2IzhUapae+Yp4G+Y50cpAYHVkmZowlSgVAtQ8LbYud HSEPjpoIrdbOqoJgAkqVXqAGGVxtZ59AC7e2/y44PzN6bZ/dib4Q3/zhFIgi4MPkzO367SYdHjD MVRj11MFkuZBmUBZL9D5x1TDvuET7rwBudGLPgIOpIqNw9FkLuh34nFYU=
X-Google-Smtp-Source: AGHT+IGVZWBvRvjXZkM3wU6pEWK4k1cPu2uYbP36vOO5LNz0OcIT8ZSByj+cElDG1R5eixwyDo7xSSoBRMHej6lmkGY=
X-Received: by 2002:a5d:4563:0:b0:3a5:25e4:264f with SMTP id ffacd0b85a97d-3a55881dbcfmr221729f8f.31.1749584471980; Tue, 10 Jun 2025 12:41:11 -0700 (PDT)
MIME-Version: 1.0
References: <E40270D7-F032-49B1-9B10-87167331EA3C@mit.edu> <fdcb60f9-3bc6-4aff-8c2e-3cf74d17f90d@gmail.com> <46381B94-84FB-49D3-9C71-2FE4F5A97256@mit.edu>
In-Reply-To: <46381B94-84FB-49D3-9C71-2FE4F5A97256@mit.edu>
From: Filip Skokan <panva.ip@gmail.com>
Date: Tue, 10 Jun 2025 21:40:35 +0200
X-Gm-Features: AX0GCFtc7jGNl8qSUgZ_33KLBamxla9FDl5JAxDTjiBC3nYL8SOqWJaWDr5SKxc
Message-ID: <CALAqi_9f4SVzwbcib4pPWz4j6njRZiDXAkFcuEA8dB1ZO=kbSA@mail.gmail.com>
To: Justin Richer <jricher@mit.edu>
Content-Type: multipart/alternative; boundary="000000000000f5004b06373ce02d"
Message-ID-Hash: DWIEXPRWB4MYQR5ULQ5B5YE2QP6ARWRU
X-Message-ID-Hash: DWIEXPRWB4MYQR5ULQ5B5YE2QP6ARWRU
X-MailFrom: panva.ip@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: oauth <oauth@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [OAUTH-WG] Re: Deferred Key Binding / TMB
List-Id: OAUTH WG <oauth.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/GPsysz6wB8IQ3YsN3iB9bOxPAkQ>
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>
> It’s not a bearer token because the resulting token IS bound to a key, just not a key held by the requesting software. Think of it this way: if you logically split the OAuth “Client” into two parts, you can have one part that can ask for a new token and one that can present that new token but with a key binding of some kind (DPoP, MTLS, HTTPSig, the mechanism doesn’t matter here I believe). So like the Token-Mediating Backend pattern from https://datatracker.ietf.org/doc/html/draft-ietf-oauth-browser-based-apps#section-6.2, today that pattern can't use DPoP unless the Browser hands off the Proof JWT for the token endpoint request to be made to its backend. Using TMB it could still have a non-extractable CryptoKeyPair stored in the frontend's IndexedDB and just hand off the jkt to use for binding to its backend. Do I get that right Justin? S pozdravem, *Filip Skokan* On Tue, 10 Jun 2025 at 21:27, Justin Richer <jricher@mit.edu> wrote: > “Deferred” is maybe not the most accurate term, I wrote the draft itself > VERY quickly — but it was meant to convey that you don’t bind the token to > the key being presented but defer that to another party. > > I’d be happy to list out possible mechanisms for establishing trust beyond > configured policy (which is the only thing I’ve seen in the wild) — that’s > one of the things I’m hoping to gather in the conversation about this! > > It’s not a bearer token because the resulting token IS bound to a key, > just not a key held by the requesting software. Think of it this way: if > you logically split the OAuth “Client” into two parts, you can have one > part that can ask for a new token and one that can present that new token > but with a key binding of some kind (DPoP, MTLS, HTTPSig, the mechanism > doesn’t matter here I believe). The part that gets the token can’t use it > at an RS, but it can hand it over to someone who CAN use it, and use it > with a specific key. The part that can use the token (with the key) doesn’t > have a means of getting a new token from the AS (either through > architectural decisions or through performance concerns or just not mapping > to the OAuth view of a monolithic client), but it can talk to the other > part that’s able to get the token on its behalf. > > So the token does need a key to be used at the RS, and it’s the second > part of the client that holds the key. > > — Justin > > > On Jun 7, 2025, at 9:51 AM, John Kemp <stable.pseudonym@gmail.com> > wrote: > > > > Some initial feedback upon a quick read (with no background context for > this issue): > > > > [...] > > > >> that up again and see if that interim can get scheduled soon. I’d > >> also like to encourage people to read through the draft and open the > >> discussion here on the list more. > > > > * What is the point of using the word "deferred" in this case? Is the > "key binding" made at some future time? Why? What value does that bring? > Until when is it deferred? > > > > * Might we enumerate the mechanisms by which you might "trust me, bruh" > if not by PoP? > > > > * How is this _not_ just effectively a bearer token then? > > > > - johnk > > > > El 06/05/25 a las 12:45, Justin Richer escribió: > >> Hi Chairs and WG, > >> Back in Bangkok, we presented the draft https://datatracker.ietf.org/ > >> doc/draft-richer-oauth-tmb-claim/ that introduces, in a concrete > >> way, the notion of getting a token bound to a key that you don’t > >> possess. As we discussed, this is a topic that keeps coming up in > >> the OAuth space and is usually dutifully pushed aside for the sake > >> of simplicity (and some would argue sanity). > >> The chairs mentioned pulling together an interim meeting for the > >> OAuth WG for us to discuss this topic ahead of Madrid, to see if > >> there was anything more we as a community want to do with it. As > >> we’re now more than halfway between the meetings, we wanted to bring > >> that up again and see if that interim can get scheduled soon. I’d > >> also like to encourage people to read through the draft and open the > >> discussion here on the list more. > >> — Justin _______________________________________________ OAuth > >> mailing list -- oauth@ietf.org To unsubscribe send an email to oauth- > >> leave@ietf.org > > > > -- > > Independent Security Architect > > t: +1.413.645.4169 > > e: stable.pseudonym@gmail.com > > > > https://www.linkedin.com/in/johnk-am9obmsk/ > > https://github.com/frumioj > > > > _______________________________________________ > OAuth mailing list -- oauth@ietf.org > To unsubscribe send an email to oauth-leave@ietf.org >
- [OAUTH-WG] Deferred Key Binding / TMB Justin Richer
- [OAUTH-WG] Re: Deferred Key Binding / TMB Watson Ladd
- [OAUTH-WG] Re: Deferred Key Binding / TMB Ethan Heilman
- [OAUTH-WG] Re: Deferred Key Binding / TMB Justin Richer
- [OAUTH-WG] Re: Deferred Key Binding / TMB Watson Ladd
- [OAUTH-WG] Re: Deferred Key Binding / TMB John Kemp
- [OAUTH-WG] Re: Deferred Key Binding / TMB Justin Richer
- [OAUTH-WG] Re: Deferred Key Binding / TMB Filip Skokan
- [OAUTH-WG] Re: Deferred Key Binding / TMB Justin Richer
- [OAUTH-WG] Re: Deferred Key Binding / TMB Pieter Kasselman
- [OAUTH-WG] Re: Deferred Key Binding / TMB John Kemp