Re: [OAUTH-WG] I-D Action: draft-ietf-oauth-jwsreq-13.txt
Brian Campbell <bcampbell@pingidentity.com> Fri, 31 March 2017 13:40 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 ECAA7129524 for <oauth@ietfa.amsl.com>; Fri, 31 Mar 2017 06:40:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 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_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-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 1j9XPkEjK2Fx for <oauth@ietfa.amsl.com>; Fri, 31 Mar 2017 06:40:06 -0700 (PDT)
Received: from mail-pg0-x234.google.com (mail-pg0-x234.google.com [IPv6:2607:f8b0:400e:c05::234]) (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 DDD0B1294BD for <oauth@ietf.org>; Fri, 31 Mar 2017 06:40:05 -0700 (PDT)
Received: by mail-pg0-x234.google.com with SMTP id 21so71745114pgg.1 for <oauth@ietf.org>; Fri, 31 Mar 2017 06:40:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pingidentity.com; s=gmail; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=VdcUO+yvXop+P6GOrIrcuwsc0gnkWp3ZkXBT20DIdqg=; b=obr/HFDz9zSX+mbuGs69Ywmoasrlya6sljyagsuAdd+Q/LPMhzj7M+9izJzW15ap+n DpzHShyMIPKx/2TXRU3sNua0jY/MsTBnA4B1PkzcTCpsRJM5M071x0P49jMvXZBCME1j 3+jTCbcW9fUYOQq37qvDv1o1hFoXxp198tHl0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=VdcUO+yvXop+P6GOrIrcuwsc0gnkWp3ZkXBT20DIdqg=; b=m3XK7l4vP/YR7RjLRw9MIWDgDxoZAtC8wdvtfmZM3WnBjUWR8E2+Ihz8aulLdwclag 134XTCDf3M/AQAHibzLFlu9niJbSAFcVVgyW5LKdnvHTTeji9UXPhlgxN6k9xhrt3JIh XgS5ZiWeZvSF0JebbyELOsfo8vxsNMslw8lPhDBaYXDgpgXnWIW3VoxAaiCmR9sfD8W6 imFZnmD5J/AWz1m+XRNauyOoMTLv6Zp48jsn8n9DANRiwJ7ld6XEw6q4Yz05LAqakVwr DrdmGg48npL1Sg4OdWn8fM6uXbgiqU9KDeX9AWL7B1O9QXFZblQggtiKci/I8JduZG5X /zHQ==
X-Gm-Message-State: AFeK/H204QivbqojEyAm9ZJZR6bob91JRkA6ZV8Z/sFuqE4n//q+e/gsk0E0af1d9BPhm+FiTyLhhVkhclCgW2/W
X-Received: by 10.84.232.131 with SMTP id i3mr3635400plk.172.1490967605361; Fri, 31 Mar 2017 06:40:05 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.100.165.172 with HTTP; Fri, 31 Mar 2017 06:39:34 -0700 (PDT)
In-Reply-To: <CA+k3eCR8Amr8+b+Sh9eR=VDzJme+bcB8WhkokcPpgmgaEMZMGQ@mail.gmail.com>
References: <CAANoGhJDKgqWaqhdL6TCO7RhE==h=ZmJeKbU-cuwUZwE+siHMA@mail.gmail.com> <n6swy6f6jws7vdnx4rs66ktg.1490929049898@email.android.com> <58ddcfc3.5c2e6b0a.7b9e3.bbc6@mx.google.com> <B4C58688-6933-4E46-BA80-15E5E8B38F6F@lodderstedt.net> <58ddd7a5.e4886b0a.bf30d.bce7@mx.google.com> <CA+k3eCTKHRB_dKeUEurZX5vDzCw+HhEgUZiHUnyd61oNjmogRw@mail.gmail.com> <CA+k3eCR8Amr8+b+Sh9eR=VDzJme+bcB8WhkokcPpgmgaEMZMGQ@mail.gmail.com>
From: Brian Campbell <bcampbell@pingidentity.com>
Date: Fri, 31 Mar 2017 08:39:34 -0500
Message-ID: <CA+k3eCRzKRVA0arzDcc0Z_-Heo30NVSRcPxPQm4nD5nnqY77yw@mail.gmail.com>
To: John Bradley <ve7jtb@ve7jtb.com>
Cc: Torsten Lodderstedt <torsten@lodderstedt.net>, IETF oauth WG <oauth@ietf.org>, Nat Sakimura <nat@sakimura.org>
Content-Type: multipart/alternative; boundary="f40304361d107d5e09054c06f23b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/8oBnT3W0Ouz2aQgQjJiff68H6NY>
Subject: Re: [OAUTH-WG] I-D Action: draft-ietf-oauth-jwsreq-13.txt
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.22
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, 31 Mar 2017 13:40:10 -0000
and a typo - "If thie location is" should say "If this location is" On Fri, Mar 31, 2017 at 8:37 AM, Brian Campbell <bcampbell@pingidentity.com> wrote: > BTW, the intro still has text about 'dynamic parameters such as "state"' > that need to be cleaned up. https://tools.ietf.org/html/ > draft-ietf-oauth-jwsreq-13#section-1 > > On Fri, Mar 31, 2017 at 8:36 AM, Brian Campbell < > bcampbell@pingidentity.com> wrote: > >> "The current text causes the AS to ignore them and not return a error. " >> - except that I don't believe the current text actually specifies that >> anywhere. And I think that the intent of Mike's original comment was that >> -13 doesn't specify the behavior but that it needs to be revised to do so. >> >> I'd suggest that the doc say that the client must include in the request >> object (request or request_uri) all the oauth parameters that it sends. And >> when request or request_uri is sent, that the AS must/should only rely on >> parameter values from the request object. >> >> I think being semi or somewhat compatible or tolerant of the Connect >> variation or request/request_uri is good because it uses the same parameter >> names, the same endpoint, and the same metadata names. >> >> >> >> >> >> >> On Thu, Mar 30, 2017 at 11:14 PM, John Bradley <ve7jtb@ve7jtb.com> wrote: >> >>> They are mutually exclusive. >>> >>> >>> >>> However there are two options as to how the authorization endpoint would >>> treat extra query parameters like state if they are sent. >>> >>> >>> >>> The current text causes the AS to ignore them and not return a error. >>> This would be more backwards compatible with the request object in OpenID >>> Connect, however in reality it may cause connect clients to send parameters >>> as query parameters that would be processed by a connect server that would >>> be ignored by a OAuth server without any obvious error. There may however >>> be subtle errors downstream from missing parameters. >>> >>> >>> >>> The other option is to have a cleaner breaking change from Connect and >>> have the Authorization endpoint return a error if anything other than the >>> two new parameters are sent to the authorization endpoint. >>> >>> >>> >>> I am leaning towards the latter as it is easier to debug, and wont >>> allow incompatible Connect requests to be accepted without a error. We >>> would have done this in Connect but couldn’t drop required parameters from >>> OAuth in a Connect spec. >>> >>> >>> >>> The downside for the latter is that the client would need to know if the >>> AS is supporting The Connect version or the OAuth version. >>> >>> >>> >>> One of the typical conundrums around how to deal with doing the best >>> going forward thing vs not blowing up older implementations. >>> >>> >>> >>> In the current proposal a client could put the required parameters both >>> places and the same request would work on servers supporting both the >>> Connect and OAuth versions. >>> >>> >>> >>> John B. >>> >>> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for >>> Windows 10 >>> >>> >>> >>> *From: *Torsten Lodderstedt <torsten@lodderstedt.net> >>> *Sent: *March 30, 2017 11:01 PM >>> *To: *John Bradley <ve7jtb@ve7jtb.com> >>> *Cc: *Nat Sakimura <sakimura@gmail.com>; Nat Sakimura <nat@sakimura.org>; >>> IETF oauth WG <oauth@ietf.org> >>> *Subject: *Re: [OAUTH-WG] I-D Action: draft-ietf-oauth-jwsreq-13.txt >>> >>> >>> >>> I had assumed using the request object is mutual exclusive to use of URI >>> query parameters. Did I misinterpret the draft? >>> >>> >>> >>> Am 30.03.2017 um 22:40 schrieb John Bradley <ve7jtb@ve7jtb.com>: >>> >>> >>> >>> It is a trade off between compatibility with Connect and possible >>> configuration errors. >>> >>> >>> >>> In reality it may not be compatible with Connect if the client is >>> sending some parameters outside the object without including them in the >>> object as a Connect client might. You would potentially wind up dropping >>> state or nonce without an error. >>> >>> >>> >>> I asked Mike and he was leaning to making it a error to send them as >>> query parameters as that would be a clean change. >>> >>> >>> >>> I think the choice is a bit of a grey area. >>> >>> >>> >>> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for >>> Windows 10 >>> >>> >>> >>> *From: *sakimura@gmail.com >>> *Sent: *March 30, 2017 9:57 PM >>> *To: *John Bradley <ve7jtb@ve7jtb.com>; Nat Sakimura <nat@sakimura.org> >>> *Cc: *IETF oauth WG <oauth@ietf.org> >>> *Subject: *Re: [OAUTH-WG] FW: I-D Action: draft-ietf-oauth-jwsreq-13.txt >>> >>> >>> >>> +1 >>> >>> Sent from my Huawei Mobile >>> >>> >>> >>> -------- Original Message -------- >>> Subject: Re: [OAUTH-WG] FW: I-D Action: draft-ietf-oauth-jwsreq-13.txt >>> From: John Bradley >>> To: Nat Sakimura >>> CC: IETF oauth WG >>> >>> So I think we need to make the must ignore clearer for the additional >>> paramaters on the authorization endpoint. >>> >>> >>> >>> On Mar 30, 2017 17:33, "Nat Sakimura" <nat@sakimura.org> wrote: >>> >>> Not right now. >>> >>> As of this writing, a client can still send duplicate parameters in the >>> query but they get ignored by the servers honoring OAuth JAR. So, it is >>> backwards compatible with OpenID Connect in that sense (OpenID Connect >>> sends duplicate manatory RFC6749 parameters as the query parameters as well >>> just to be compliant to RFC6749). Conversely, servers that do not support >>> OAuth JAR will ignore request_uri etc. >>> >>> On Mar 30, 2017, at 4:47 PM, Mike Jones <Michael.Jones@microsoft.com> >>> wrote: >>> >>> Is there a clear statement somewhere along the lines of “parameters >>> (other than “request” or “request_uri”) are only allowed to be in the >>> signed object if a signed object is used”? That’s the kind of thing I >>> was looking for and didn’t find. >>> >>> >>> >>> -- Mike >>> >>> *From:* John Bradley [mailto:ve7jtb@ve7jtb.com] >>> *Sent:* Thursday, March 30, 2017 4:44 PM >>> *To:* Mike Jones <Michael.Jones@microsoft.com> >>> *Cc:* Nat Sakimura <nat@sakimura.org>; IETF oauth WG <oauth@ietf.org> >>> *Subject:* RE: [OAUTH-WG] FW: I-D Action: >>> draft-ietf-oauth-jwsreq-13.txt >>> >>> >>> >>> The intent of the change is to only allow the paramaters to be in the >>> signed object if a signed object is used. >>> >>> >>> >>> This requires State, nonce etc to be in the JWT. Only one place to >>> check will hopefully reduce implimentation errors. >>> >>> >>> >>> This also allows us to remove the caching text as we now have one JWT >>> per request, so caching won't happen. >>> >>> >>> >>> John B. >>> >>> >>> >>> >>> >>> >>> >>> On Mar 30, 2017 4:36 PM, "Mike Jones" <Michael.Jones@microsoft.com> >>> wrote: >>> >>> I **believe** the intent is that **all** parameters must be in the >>> request object, but the spec doesn’t actually say that, as far as I can >>> tell. Or maybe the intent is that parameters must not be duplicated >>> between the query parameters and the request object. >>> >>> >>> >>> One or the other of these statements should be explicitly included in >>> the specification. Of course, I could have missed the statement I’m asking >>> for in my review, in which case please let me know what I missed. >>> >>> >>> >>> Thanks, >>> >>> -- Mike >>> >>> >>> >>> *From:* OAuth [mailto:oauth-bounces@ietf.org] *On Behalf Of *John >>> Bradley >>> *Sent:* Thursday, March 30, 2017 3:00 PM >>> *To:* IETF OAUTH <oauth@ietf.org> >>> *Subject:* [OAUTH-WG] FW: I-D Action: draft-ietf-oauth-jwsreq-13.txt >>> >>> >>> >>> Based on feeback from the IESG we have removed some of the optionality >>> in the draft. >>> >>> >>> >>> It is a shorter read than draft 12. >>> >>> >>> >>> John B. >>> >>> >>> >>> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for >>> Windows 10 >>> >>> >>> >>> *From: *internet-drafts@ietf.org >>> *Sent: *March 30, 2017 1:38 PM >>> *To: *i-d-announce@ietf.org >>> *Cc: *oauth@ietf.org >>> *Subject: *[OAUTH-WG] I-D Action: draft-ietf-oauth-jwsreq-13.txt >>> >>> >>> >>> >>> >>> A New Internet-Draft is available from the on-line Internet-Drafts >>> directories. >>> >>> This draft is a work item of the Web Authorization Protocol of the IETF. >>> >>> >>> >>> Title : The OAuth 2.0 Authorization Framework: JWT >>> Secured Authorization Request (JAR) >>> >>> Authors : Nat Sakimura >>> >>> John Bradley >>> >>> Filename : draft-ietf-oauth-jwsreq-13.txt >>> >>> Pages : 27 >>> >>> Date : 2017-03-30 >>> >>> >>> >>> Abstract: >>> >>> The authorization request in OAuth 2.0 described in RFC 6749 utilizes >>> >>> query parameter serialization, which means that Authorization Request >>> >>> parameters are encoded in the URI of the request and sent through >>> >>> user agents such as web browsers. While it is easy to implement, it >>> >>> means that (a) the communication through the user agents are not >>> >>> integrity protected and thus the parameters can be tainted, and (b) >>> >>> the source of the communication is not authenticated. Because of >>> >>> these weaknesses, several attacks to the protocol have now been put >>> >>> forward. >>> >>> >>> >>> This document introduces the ability to send request parameters in a >>> >>> JSON Web Token (JWT) instead, which allows the request to be signed >>> >>> with JSON Web Signature (JWS) and/or encrypted with JSON Web >>> >>> Encryption (JWE) so that the integrity, source authentication and >>> >>> confidentiality property of the Authorization Request is attained. >>> >>> The request can be sent by value or by reference. >>> >>> >>> >>> >>> >>> The IETF datatracker status page for this draft is: >>> >>> https://datatracker.ietf.org/doc/draft-ietf-oauth-jwsreq/ >>> >>> >>> >>> There are also htmlized versions available at: >>> >>> https://tools.ietf.org/html/draft-ietf-oauth-jwsreq-13 >>> >>> https://datatracker.ietf.org/doc/html/draft-ietf-oauth-jwsreq-13 >>> >>> >>> >>> A diff from the previous version is available at: >>> >>> https://www.ietf.org/rfcdiff?url2=draft-ietf-oauth-jwsreq-13 >>> >>> >>> >>> >>> >>> Please note that it may take a couple of minutes from the time of >>> submission >>> >>> until the htmlized version and diff are available at tools.ietf.org. >>> >>> >>> >>> Internet-Drafts are also available by anonymous FTP at: >>> >>> ftp://ftp.ietf.org/internet-drafts/ >>> >>> >>> >>> _______________________________________________ >>> >>> 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 >>> >>> >> >
- Re: [OAUTH-WG] I-D Action: draft-ietf-oauth-jwsre… Brian Campbell
- [OAUTH-WG] I-D Action: draft-ietf-oauth-jwsreq-13… internet-drafts
- [OAUTH-WG] FW: I-D Action: draft-ietf-oauth-jwsre… John Bradley
- Re: [OAUTH-WG] FW: I-D Action: draft-ietf-oauth-j… Mike Jones
- Re: [OAUTH-WG] FW: I-D Action: draft-ietf-oauth-j… John Bradley
- Re: [OAUTH-WG] FW: I-D Action: draft-ietf-oauth-j… Mike Jones
- Re: [OAUTH-WG] FW: I-D Action: draft-ietf-oauth-j… Nat Sakimura
- Re: [OAUTH-WG] FW: I-D Action: draft-ietf-oauth-j… John Bradley
- Re: [OAUTH-WG] FW: I-D Action: draft-ietf-oauth-j… sakimura@gmail.com
- Re: [OAUTH-WG] FW: I-D Action: draft-ietf-oauth-j… John Bradley
- Re: [OAUTH-WG] I-D Action: draft-ietf-oauth-jwsre… Torsten Lodderstedt
- Re: [OAUTH-WG] I-D Action: draft-ietf-oauth-jwsre… John Bradley
- Re: [OAUTH-WG] I-D Action: draft-ietf-oauth-jwsre… Sergey Beryozkin
- Re: [OAUTH-WG] I-D Action: draft-ietf-oauth-jwsre… Brian Campbell
- Re: [OAUTH-WG] I-D Action: draft-ietf-oauth-jwsre… Brian Campbell
- Re: [OAUTH-WG] I-D Action: draft-ietf-oauth-jwsre… Brian Campbell
- Re: [OAUTH-WG] I-D Action: draft-ietf-oauth-jwsre… Nat Sakimura