Re: [OAUTH-WG] [EXTERNAL] Re: JWT Secured Authorization Request (JAR) vs OIDC request object

Brian Campbell <bcampbell@pingidentity.com> Fri, 17 January 2020 20:17 UTC

Return-Path: <bcampbell@pingidentity.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 AD8AE1200EC for <oauth@ietfa.amsl.com>; Fri, 17 Jan 2020 12:17:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=pingidentity.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id C49Mn0lUaYxZ for <oauth@ietfa.amsl.com>; Fri, 17 Jan 2020 12:17:30 -0800 (PST)
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com [IPv6:2a00:1450:4864:20::12c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CC8191200E3 for <oauth@ietf.org>; Fri, 17 Jan 2020 12:17:29 -0800 (PST)
Received: by mail-lf1-x12c.google.com with SMTP id i23so19281661lfo.7 for <oauth@ietf.org>; Fri, 17 Jan 2020 12:17:29 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pingidentity.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=6INXlA6tRr+HBoa3Ts9ljEscr58ZdIbWMDeANmcYKO4=; b=fvex+On5CxK5AcOoff2M6BrUGeXGgZ0hG3iS7pT2w9LE8/StAigOq9hLxVOynVji3Z UQyuikOzkimPEF0ftBAb6Dm8tNcxmOkvDtOS4fpJzAyL9xFH1W746nYSDieOBXzdQ8N7 vgC8lkeC0G/K+e+CjOJUFqwDAQ363E05vIG+uCPY+W2v24aoNCirHi37kerCWY30KLUt 3XgrrJFidEkv4vwqCN40OkG1ltKPkjDDNiWC/5Qhw7epT+fbW698FIf/RDyoQWA87xdV lnbrCrqVUp0LB8+5+eUxfXggKPM6VtITjK8XD7lZoxtml4+Ez2+hfnntRSCpD6N7p4D3 VfqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=6INXlA6tRr+HBoa3Ts9ljEscr58ZdIbWMDeANmcYKO4=; b=cTJGbKy3btGE5uB7vTrG6SXDxvTCVoxSaCxc8/wPIH9z/5ogb6opfDd/asFa3AmO0q qk7B8b/tugwF9037Wj0MSJqs2SPuZCMQE6ylmN0dimAtXhfHYdQLxxtoYYBMMioPfxgE sN4vlvSDUVACU5eboD/0nKBh+hkP61tWNYRq2notqnqfe61Gsg36YRNcBdqnvbBIIAL2 LGb8hd3mp20/0X4b5D2/+wTKZlHR3kLCQw3rgnZDV6wOSkNZH02K0w27hPXvq/YcclWS CQRMOwEWdWG55LzkoAdZuRZLb/zYetoxU5FYFrtuC0KlqtMRinnMWgE4Xct49X2J+fli Wblw==
X-Gm-Message-State: APjAAAU5aZlRcPsk4f8xwfqtRb1tyi1NzzOF/xcGTxgWKR5hZ+QTNsiF /yYKALAzvwAWaVTacq0PNGT5WPPlztyJRMCrx4h8BdPwzngS5LDMbsPEzr2//PSpqehs7m51IQ4 uhGYSfpiDp5Qo2A==
X-Google-Smtp-Source: APXvYqyP7Wk7VmRQ6OUvOu7L+hdLjoymPWQm5MXW+dPmX7wCkxq8Z4AO0xGEzJybjBXaJDEylgEq0YFovjruolumPqg=
X-Received: by 2002:ac2:4988:: with SMTP id f8mr3954830lfl.210.1579292247887; Fri, 17 Jan 2020 12:17:27 -0800 (PST)
MIME-Version: 1.0
References: <79C4475C-FDEB-42C8-8A44-7BFE4DBF9453@gmail.com> <110a95d9-2981-6d2b-9cbf-9658be3585cc@connect2id.com> <CAANoGhK0-n6V_RogvVZ=8J8AQCEUUVJQn4_7wSWYixeQM8aZsw@mail.gmail.com> <CH2PR00MB0843D5044E11E0F4CE5F5D09F53B0@CH2PR00MB0843.namprd00.prod.outlook.com> <CAANoGhJB4mYSFiWKt3T=cObH7uCW0s3Zpv2m92+YaAY2Oy4mqw@mail.gmail.com> <2aca5c38-bb20-497e-14ed-f4a9245a9439@connect2id.com> <7baae999-47c1-f749-6c51-f45022ab1a3d@ve7jtb.com> <3d9ffc74-6c9c-48a1-0c98-65a7465e8dbc@connect2id.com> <CAHdPCmNHeUyDjrc32oQPZ5g3oars-XY3vq2p3qt2LzzkZMTw5w@mail.gmail.com> <89345e9b-8191-f01d-71a6-453ec197796f@connect2id.com> <20200116045302.GG80030@kduck.mit.edu> <837c8db5-5200-29c6-5914-167b77bdc071@ve7jtb.com> <2E514281-F4A5-48B1-940E-62315F46F6DB@forgerock.com>
In-Reply-To: <2E514281-F4A5-48B1-940E-62315F46F6DB@forgerock.com>
From: Brian Campbell <bcampbell@pingidentity.com>
Date: Fri, 17 Jan 2020 13:17:01 -0700
Message-ID: <CA+k3eCRPOzE0e=rQ=nYBJjuXAjab2jz_zQ2rhSpBVDMKdk8ihg@mail.gmail.com>
To: Neil Madden <neil.madden@forgerock.com>
Cc: John Bradley <ve7jtb@ve7jtb.com>, oauth <oauth@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000006eb17e059c5ba1cd"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/tY67RVwZpvsiKtonlJE5_kb-B28>
Subject: Re: [OAUTH-WG] [EXTERNAL] Re: JWT Secured Authorization Request (JAR) vs OIDC request object
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/oauth/>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 17 Jan 2020 20:17:34 -0000

I'd support this (client_id being the only additional query parameter
allowed/required) as well.

FWIW, our AS implementations looks for and requires that the response_type
and client_id parameters be present as regular request parameters. This was
done largely to maintain some semblance of compatibility/compliance to
Connect. But client_id is the only one that's helpful.

I also agree with the IESG and others that merging is problematic. I've
personally never believed there was enough real world utility in the merge
approach to justify the added complexity in policy and implementation
and/or reduced security as a result.



On Thu, Jan 16, 2020 at 7:01 AM Neil Madden <neil.madden@forgerock.com>
wrote:

> I believe just client_id would be sufficient for us, so I'd support a
> compromise position in which that is the only additional query parameter
> allowed.
>
> -- Neil
>
> > On 16 Jan 2020, at 13:40, John Bradley <ve7jtb@ve7jtb.com> wrote:
> >
> > I agree with the IESG reasoning that merging is problimatic.  Once we
> > allow that given a unknown list of possible paramaters with diffrent
> > security properties it would be quite difficult to specify safely.
> >
> > Query paramaters can still be sent outside the JAR, but if they are in
> > the OAuth registry the AS MUST ignore them.
> >
> > Puting the iss in the JWE headder addresses the encryption issue without
> > merging.
> >
> > I understand that some existing servers have dependencys on getting the
> > clientID as a query paramater.
> >
> > Is that the only paramater that people have a issue with as oposed to a
> > nice to have?
> >
> > Would allowing the AS to not ignore the clientID as a query paramater as
> > long as it matches the one inside the JAR, basicly the same as Connect
> > request object but for just the one paramater make life easier for the
> > servers?
> >
> > I am not promising a change but gathering info before proposing
> something.
> >
> > John B.
> >
> >
> > On 1/16/2020 1:53 AM, Benjamin Kaduk wrote:
> >> On Wed, Jan 15, 2020 at 11:02:33PM +0200, Vladimir Dzhuvinov wrote:
> >>> On 14/01/2020 19:20, Takahiko Kawasaki wrote:
> >>>> Well, embedding a client_id claim in the JWE header in order to
> >>>> achieve "request parameters outside the request object should not be
> >>>> referred to" is like "putting the cart before the horse". Why do we
> >>>> have to avoid using the traditional client_id request parameter so
> >>>> stubbornly?
> >>>>
> >>>> The last paragraph of Section 3.2.1
> >>>> <https://tools.ietf.org/html/rfc6749#section-3.2.1> of RFC 6749 says
> >>>> as follows.
> >>>>
> >>>>    /A client MAY use the "client_id" request parameter to identify
> >>>>    itself when sending requests to the token endpoint.  In the
> >>>>    "authorization_code" "grant_type" request to the token endpoint,
> >>>>    *an unauthenticated client MUST send its "client_id" to prevent
> >>>>    itself from inadvertently accepting a code intended for a client
> >>>>    with a different "client_id".*  This protects the client from
> >>>>    substitution of the authentication code.  (It provides no
> >>>>    additional security for the protected resource.)/
> >>>>
> >>>>
> >>>> If the same reasoning applies, a client_id must always be sent with
> >>>> request / request_uri because client authentication is not performed
> >>>> at the authorization endpoint. In other words, */an unauthenticated
> >>>> client (every client is unauthenticated at the authorization endpoint)
> >>>> MUST send its "client_id" to prevent itself from inadvertently
> >>>> accepting a request object for a client with a different
> "client_id"./*
> >>>>
> >>> Identifying the client in JAR request_uri requests can be really useful
> >>> so that an AS which requires request_uri registration to prevent DDoS
> >>> attacks and other checks can do those without having to index all
> >>> request_uris individually. I mentioned this before.
> >>>
> >>> I really wonder what the reasoning of the IESG reviewers was to insist
> >>> on no params outside the JAR JWT / request_uri.
> >>>
> >>> I'm beginning to realise this step of the review process isn't
> >>> particularly transparent to WG members.
> >> Could you expand on that a bit more?  My understanding is that the IESG
> >> ballot mail gets copied to the WG precisely so that there is
> transparency,
> >> e.g., the thread starting at
> >> https://mailarchive.ietf.org/arch/msg/oauth/lkOhwiDj_hCI55BQRdiR9R0JwgI
> >> Which admittely is from almost three years ago, but that's the earliest
> >> that I found that could be seen as the source of this behavior.
> >>
> >> -Ben
> >>
> >> P.S. some other discussion at
> >> https://mailarchive.ietf.org/arch/msg/oauth/-tUrNY1X9eI_tQGI8T-IGx4xHy8
> and
> >> https://mailarchive.ietf.org/arch/msg/oauth/Uke1nxRlgx62EJLevZgpWCz_UwY
> and
> >> so on.
> >>
> >> _______________________________________________
> >> OAuth mailing list
> >> OAuth@ietf.org
> >> https://www.ietf.org/mailman/listinfo/oauth
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

-- 
_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._