[OAUTH-WG] Re: DPoP/RFC9449 - out-of-band public keys and no "jwk" in the header? OAuth 2.1?

Brian Campbell <bcampbell@pingidentity.com> Wed, 16 July 2025 22:12 UTC

Return-Path: <bcampbell@pingidentity.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 BAB9344F29C0 for <oauth@mail2.ietf.org>; Wed, 16 Jul 2025 15:12:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.837
X-Spam-Level:
X-Spam-Status: No, score=-1.837 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, HTML_MESSAGE=0.001, HTML_OBFUSCATE_05_10=0.26, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=pingidentity.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 c0584p1shGjd for <oauth@mail2.ietf.org>; Wed, 16 Jul 2025 15:12:13 -0700 (PDT)
Received: from mail-vk1-xa31.google.com (mail-vk1-xa31.google.com [IPv6:2607:f8b0:4864:20::a31]) (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 2BE9B44F29B9 for <oauth@ietf.org>; Wed, 16 Jul 2025 15:12:13 -0700 (PDT)
Received: by mail-vk1-xa31.google.com with SMTP id 71dfb90a1353d-5313ea766d8so240739e0c.0 for <oauth@ietf.org>; Wed, 16 Jul 2025 15:12:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pingidentity.com; s=google; t=1752703932; x=1753308732; 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=2SW24PpuuEbq7FC4a+Bpsizf8hitvLKcOqRoV1Nf+cs=; b=cJFHh85wofR1Mc5lubVitskFFQJpcHuvgA4UAJstrweTwBPwSv5dCHxNiZh63Cqt8e XcvJ+UQbt4I906/hcQUI8s4CIbnAKrqG5XHOdHiR9e+PAUpTQxPth4vcy8qFy8TNVUfE VesRk9eW9RcEoWEVEIohnUyobtoYNgJq18baoIIMGCl1tR7qii574OJQODHUZeeJgdLS B1+GriQlQCSR7FerlcD/UN9Y1j802upawrzQmCZnCucb0ugmM5ZUUajCptlAJV6DSoHF slDIVQKXQa+hLY5JIeZqpq+1vNFZyRsHriRVm/BBmZPW/iyTkKtSBOproRNexzGOqWme Wy/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752703932; x=1753308732; 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=2SW24PpuuEbq7FC4a+Bpsizf8hitvLKcOqRoV1Nf+cs=; b=d+RfeQWz5JDl61uyuMT1jobXIAz0iB3S0/iOjAQeqFJuvpwRdQvyYe+kiBrjNQpuze pk1ClqkUQxDEX42VmFJhNMKwmOKN21qSgKyWa8SjRx+wXwbzI0yJT4Y38O++uXVVMZ5g 8kDEFbXZ2VqeJylS95tOYe7U6gwQO57C2J86twSVJG1qfy6RpvOkFefgkN+0Cuo6Xq5D 7BzTzACgr0cbnlSF1pdT+YGznAMzdXokv1GBBU6nW6Cd0aeBtoyGVjcf+SDKmD8fqrRy le3nbXbgfAqlOnpsMfWSapZQuIsg1ZT4Q0tT7W+yjGVdLaQtthUl98qW6LOXM1TntxHs axqQ==
X-Gm-Message-State: AOJu0Yyvk+o32Wx1Bfw6iwcTAoQPvrOBxqG9P6sMa8R7CWFhdclfWkws nOf3Ur4ZqxGdkLiUQ+dCHg25pft6nAHw+7cdBefsjcOuruqHKog92Y3LiFwZFOTFeuldu2RLENh CyS4chKz1Ze+sXikCDBhKDkvPrVlZDgMMgGXB9BsxCQwao1RuwCp5ZJ9+rHOsbjlvkFHmK1Lq0v oebL+YheeHk17g7yFvI7xHtcPuGJU=
X-Gm-Gg: ASbGncuGL1kmD9Bj5owG1Qy0X4tSJZMI8993iIeXttlAUJNoTwzTiTHxdXexfvsYpW3 j4dAJkfEaAvWTPRrVxaFNj/vyccDNXGBbPSISA9OqrKraeF2H+V2o2AxjTom1CFBc79tdbgXDrx Ka3CsZC58W5oseaI9QOXKKjuMGsP0kI74yRD06nxbm+TSY1UYBhYy023wgfdPSpmKjpEsXfSJp4 VaybP3oy2kCBmF1mpDxkZwMgsaA0K6zN4sZOUC5
X-Google-Smtp-Source: AGHT+IGXUp+JlemhLzD2XjdrkVWDNGmmlsISPtdmww0J3GoRXkP0ZboXAUaUOk4YRU4RPjWKMjmHpQV2K80ITgxURbM=
X-Received: by 2002:a05:6122:4204:b0:529:2644:8c with SMTP id 71dfb90a1353d-5373e334186mr3078158e0c.8.1752703932442; Wed, 16 Jul 2025 15:12:12 -0700 (PDT)
MIME-Version: 1.0
References: <LO2P123MB564083D86D0E976F1438EC45B057A@LO2P123MB5640.GBRP123.PROD.OUTLOOK.COM>
In-Reply-To: <LO2P123MB564083D86D0E976F1438EC45B057A@LO2P123MB5640.GBRP123.PROD.OUTLOOK.COM>
From: Brian Campbell <bcampbell@pingidentity.com>
Date: Wed, 16 Jul 2025 16:11:46 -0600
X-Gm-Features: Ac12FXwLxm7o2GMxb3ofxzAax18lqaE4-MWi2jf0KJvcUkOAxTolA2fLUmDo9IY
Message-ID: <CA+k3eCS2Hb9sRK868SE_DyEEDjBWGpYeTXNGhMbTOXe_u1rBYA@mail.gmail.com>
To: "Chalk, Ollie (DSIT)" <Ollie.Chalk@dsit.gov.uk>
Content-Type: multipart/alternative; boundary="0000000000004a4364063a132fd0"
Message-ID-Hash: XN4GR2X2E6CBJUJGWRYAILBTCRS7MR2M
X-Message-ID-Hash: XN4GR2X2E6CBJUJGWRYAILBTCRS7MR2M
X-MailFrom: bcampbell@pingidentity.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@ietf.org" <oauth@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [OAUTH-WG] Re: DPoP/RFC9449 - out-of-band public keys and no "jwk" in the header? OAuth 2.1?
List-Id: OAUTH WG <oauth.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/I2e4NZl6xG-j3-u7l5z2iEr3quo>
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>

Hi Ollie,

Have you taken a look at the WIMSE Workload to Workload Authentication
(formerly Service to Service)
https://datatracker.ietf.org/doc/html/draft-ietf-wimse-s2s-protocol ?
Offhand, it sounds like it might be applicable.

On Tue, Jul 15, 2025 at 9:47 AM Chalk, Ollie (DSIT) <Ollie.Chalk@dsit.gov.uk>
wrote:

> OFFICIAL
>
> Hey OAuth authors,
>
>
>
> I’m from the UK government and I’m looking at standardising service‑to‑service
> authentication across UK public‑sector, and I’d like to stipulate OAuth
> bearer tokens with DPoP characteristics.
>
> I am hoping insights and answers will help me shape an internal RFC (
> https://github.com/govuk-digital-backbone/request-for-comments/blob/rfc-001-proposal/rfcs/001-jwt-service-to-service-authentication.md
> ).
>
>    1. *Key delivery:* My understanding is that DPoP currently requires a
>    jwk in the header. Would it be feasible to have an out-of-band public
>    key mechanism? Like the private_key_jwt approach – where keys are
>    resolved via the issuer (iss) and the header does not explicitly
>    include the jwk?
>       1. Resource servers could then authorise based on the issuer’s URL
>       (e.g. matching trusted domains like *.gov[.]uk) and fetch public
>       keys directly from a DID document or JWK Set URL at a known location.
>       2. Would removing the explicit jwk from the header undermine
>       security assumptions behind RFC 9449?
>    2. *Replay protections:* We'd still maintain jti, htu, and htm for
>    replay protection and uniqueness. Would omitting jwk from the header
>    compromise these protections, or could it be equally secure assuming
>    trusted issuer resolution?
>
> Here’s a simplified illustration of what we'd ideally use as a DPoP proof:
>
> {
>
>   "typ": "dpop+jwt",
>
>   "alg": "ES256"
>
> }
>
> .
>
> {
>
>   "iss": https[:]//example.service[.]gov[.]uk,
>
>   "jti": "12345",
>
>   "htu": https[:]//example[.]com/oauth/token,
>
>   "htm": "POST",
>
>   "iat": 1751892664
>
> }
>
> .SIG
>
>
>
> Where the resource server (at example[.]com in this example) retrieves
> the public key from
> https[:]//example.service[.]gov[.]uk/.well-known/jwks.json or similar.
>
>
>
> Am I misunderstanding something fundamental about RFC 9449? Is this more
> of an OAuth 2.1 query?
>
> Any guidance or clarification you can offer would be greatly appreciated.
>
>
>
> Thanks in advance,
>
> Ollie
>
> OFFICIAL
>

-- 
_CONFIDENTIALITY NOTICE: This email may contain confidential and privileged 
material for the sole use of the intended recipient(s). Any review, use, 
distribution or disclosure by others is strictly prohibited.  If you have 
received this communication in error, please notify the sender immediately 
by e-mail and delete the message and any file attachments from your 
computer. Thank you._