Re: [OAUTH-WG] I-D Action: draft-ietf-oauth-jwsreq-13.txt
Sergey Beryozkin <sberyozkin@gmail.com> Fri, 31 March 2017 09:40 UTC
Return-Path: <sberyozkin@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 881711270A7 for <oauth@ietfa.amsl.com>; Fri, 31 Mar 2017 02:40:55 -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, FREEMAIL_FROM=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 (2048-bit key) header.d=gmail.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 zVzU7RiR3Z6r for <oauth@ietfa.amsl.com>; Fri, 31 Mar 2017 02:40:51 -0700 (PDT)
Received: from mail-wr0-x22c.google.com (mail-wr0-x22c.google.com [IPv6:2a00:1450:400c:c0c::22c]) (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 CE7CD127058 for <oauth@ietf.org>; Fri, 31 Mar 2017 02:40:50 -0700 (PDT)
Received: by mail-wr0-x22c.google.com with SMTP id k6so92162081wre.2 for <oauth@ietf.org>; Fri, 31 Mar 2017 02:40:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding; bh=AMS+nLlHYtgWAOAbR4uPcwEMO/gWnHuxMLAXbcSlADU=; b=d0LSu+ZklexqdppIGIIJjKJsFeFP+vr4b0+ix9sz8HiteWGlz4YxaWQwjts5OZ3+IT 5KlBOKkyD7dXKFqaTv02i7yC4pTig11LlsQuEwP9Id+3XnzosvD3ru5wl2CrTqAAohZJ im1ySydZyRVqLBJVZDsVvj6TTS2xUckjrvgmN/NKtJNwiP5dFKjmf3NzNakycmxyu+J8 2EO9QpO5WF9nluUV4bAPlEaovSSHjrJcHw9NA1VGHsNpxZyxBXxquKPVNSzGfSObO/LI sc5nAJoMF0VRF4V1ZvCZcMT7wTI00eqBgTNmQALyfLaRofvuiE6krgi6/rUAhWlZofQK sngQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=AMS+nLlHYtgWAOAbR4uPcwEMO/gWnHuxMLAXbcSlADU=; b=f7OWrwgoefpuoWW1BSEocMWyFJMJ1NadZB+T+sh4w8pl5YzRzRZwUc6QMKMyHT/w+J KE6QqjzBIjByYxkGH2uv6mDqKCeBRer2Nmm/wLFxfqiu9XYeE/Vm5DSPaRxK/mEtr5yk gL4eAdDO4Yg3loZ7jT9FTOCV/iL8hCFOBIksL58fzGhnB4axx3Z4w4tPxqMGhTP2M76q mkxEdB6IWM3pMMHq8DYyeODfXrCD9U1UkVG8cLdOqGIUVEoZR7oh0x7ESnC/ZxYI0zDq Yil+VXzlcbwPhESNz/L711h2ascty/JqDaLzfgm1jsyrjrUX8HDfEfoimwZjiYbKxJqo nCWQ==
X-Gm-Message-State: AFeK/H0atu6LWTaR1hmCJ2H0vAZF83uKdW06O3npHklB8uAmm0+OT09/8XcN2eYgTw46WA==
X-Received: by 10.223.134.50 with SMTP id 47mr1950805wrv.50.1490953249002; Fri, 31 Mar 2017 02:40:49 -0700 (PDT)
Received: from [10.36.226.98] ([80.169.137.53]) by smtp.googlemail.com with ESMTPSA id y65sm6000980wrb.50.2017.03.31.02.40.48 for <oauth@ietf.org> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Mar 2017 02:40:48 -0700 (PDT)
To: oauth@ietf.org
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>
From: Sergey Beryozkin <sberyozkin@gmail.com>
Message-ID: <4bea3552-eac8-8fb4-8dd6-887ff40e59dd@gmail.com>
Date: Fri, 31 Mar 2017 10:40:47 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <58ddd7a5.e4886b0a.bf30d.bce7@mx.google.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/tV39kxO0QqK-33bX8BGjLw6LwTE>
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 09:40:55 -0000
Hi John I see a line in our implementation checking that if a response_type is also available as a query parameter then it must match the request claim value. Would it make sense to require checking all the well-known query parameters and if they exist - enforcing they must also be available in the request object ? Sergey On 31/03/17 05:14, John Bradley 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 <mailto:torsten@lodderstedt.net> > *Sent: *March 30, 2017 11:01 PM > *To: *John Bradley <mailto:ve7jtb@ve7jtb.com> > *Cc: *Nat Sakimura <mailto:sakimura@gmail.com>; Nat Sakimura > <mailto:nat@sakimura.org>; IETF oauth WG <mailto: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 > <mailto: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 <mailto:sakimura@gmail.com> > *Sent: *March 30, 2017 9:57 PM > *To: *John Bradley <mailto:ve7jtb@ve7jtb.com>; Nat Sakimura > <mailto:nat@sakimura.org> > *Cc: *IETF oauth WG <mailto: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 > <mailto: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 > <mailto: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 > <mailto:ve7jtb@ve7jtb.com>] > *Sent:* Thursday, March 30, 2017 4:44 PM > *To:* Mike Jones <Michael.Jones@microsoft.com > <mailto:Michael.Jones@microsoft.com>> > *Cc:* Nat Sakimura <nat@sakimura.org > <mailto:nat@sakimura.org>>; IETF oauth WG > <oauth@ietf.org <mailto: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 > <mailto: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 > <mailto:oauth-bounces@ietf.org>] *On Behalf Of *John > Bradley > *Sent:* Thursday, March 30, 2017 3:00 PM > *To:* IETF OAUTH <oauth@ietf.org > <mailto: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 > <mailto:internet-drafts@ietf.org> > *Sent: *March 30, 2017 1:38 PM > *To: *i-d-announce@ietf.org > <mailto:i-d-announce@ietf.org> > *Cc: *oauth@ietf.org <mailto: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 <http://tools.ietf.org/>. > > > > Internet-Drafts are also available by anonymous FTP at: > > ftp://ftp.ietf.org/internet-drafts/ > > > > _______________________________________________ > > OAuth mailing list > > OAuth@ietf.org <mailto:OAuth@ietf.org> > > https://www.ietf.org/mailman/listinfo/oauth > > > > > > _______________________________________________ > OAuth mailing list > OAuth@ietf.org <mailto: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