Re: [OAUTH-WG] [UNVERIFIED SENDER] Re: PAR: pushed requests must become JWTs

"Richard Backman, Annabelle" <richanna@amazon.com> Fri, 10 January 2020 20:41 UTC

Return-Path: <prvs=27136b9e3=richanna@amazon.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 42E23120119 for <oauth@ietfa.amsl.com>; Fri, 10 Jan 2020 12:41:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.499
X-Spam-Level:
X-Spam-Status: No, score=-14.499 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazon.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 Rq5wmqk8kJg7 for <oauth@ietfa.amsl.com>; Fri, 10 Jan 2020 12:41:19 -0800 (PST)
Received: from smtp-fw-9101.amazon.com (smtp-fw-9101.amazon.com [207.171.184.25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6C772120111 for <oauth@ietf.org>; Fri, 10 Jan 2020 12:41:19 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1578688880; x=1610224880; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=pYZY8Za9xH7Y82xMBZ2ONkza2vZJy+gIKezT0Kiz2P8=; b=BKRMUv/Xmz7rGXQlw49L57JI9XN6w7jbTn+0vTAmp4iycC6XvzYw8EL+ FT8qfAG1CYYTEmGhZ6aYunDRHU6CFy4qx1xc7sZ6WZCtEIovWruFN42x6 zn2OkHLs1OyC/QIxqZszrWVqMZjN5NUlDeDxfLAubyw/4FWVxl+DXtxx8 Y=;
IronPort-SDR: ZiPWos0kqPlTNLAzyyzgxn/fkoVF0N8S1O7pXxRKTWVP46gTmGtVQRZGLRqespQTKGyWHIn7s/ BsjDukXi1wrg==
X-IronPort-AV: E=Sophos;i="5.69,418,1571702400"; d="scan'208,217";a="9636039"
Received: from sea32-co-svc-lb4-vlan3.sea.corp.amazon.com (HELO email-inbound-relay-2c-1968f9fa.us-west-2.amazon.com) ([10.47.23.38]) by smtp-border-fw-out-9101.sea19.amazon.com with ESMTP; 10 Jan 2020 20:41:09 +0000
Received: from EX13MTAUWC001.ant.amazon.com (pdx4-ws-svc-p6-lb7-vlan3.pdx.amazon.com [10.170.41.166]) by email-inbound-relay-2c-1968f9fa.us-west-2.amazon.com (Postfix) with ESMTPS id E3820A27DF; Fri, 10 Jan 2020 20:41:07 +0000 (UTC)
Received: from EX13D11UWC002.ant.amazon.com (10.43.162.174) by EX13MTAUWC001.ant.amazon.com (10.43.162.135) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Fri, 10 Jan 2020 20:41:07 +0000
Received: from EX13D11UWC004.ant.amazon.com (10.43.162.101) by EX13D11UWC002.ant.amazon.com (10.43.162.174) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Fri, 10 Jan 2020 20:41:07 +0000
Received: from EX13D11UWC004.ant.amazon.com ([10.43.162.101]) by EX13D11UWC004.ant.amazon.com ([10.43.162.101]) with mapi id 15.00.1367.000; Fri, 10 Jan 2020 20:41:07 +0000
From: "Richard Backman, Annabelle" <richanna@amazon.com>
To: John Bradley <ve7jtb@ve7jtb.com>, Brian Campbell <bcampbell@pingidentity.com>
CC: Torsten Lodderstedt <torsten@lodderstedt.net>, Nat Sakimura <nat@sakimura.org>, oauth <oauth@ietf.org>
Thread-Topic: [UNVERIFIED SENDER] Re: [OAUTH-WG] PAR: pushed requests must become JWTs
Thread-Index: AQHVx+8B8oWn2Dtc6kCluPEQok9/CKfkUFYAgAAI1YD//31rgA==
Date: Fri, 10 Jan 2020 20:41:07 +0000
Message-ID: <CAC46A6B-229C-4B5A-AEE3-A2D8662A81DB@amazon.com>
References: <8D1DD3BF-97B5-416A-B914-6867FD3553B0@amazon.com> <72A27E43-72C6-44D0-8D95-07FBF8CE332F@lodderstedt.net> <CA+k3eCSL5nS81uKbL3sPh9-SesPnaLsGgnO2=R4jjDy-fSVGKw@mail.gmail.com> <CAANoGh+9+g=2kzh5k-n5eOVHNX=F6kxWbwrP-u=yG-F_C02i8g@mail.gmail.com> <CA+k3eCSSSnX2oCoSvtGpbZZCQ+xydaE0g1SseikAs19M8VBLpw@mail.gmail.com> <CAANoGhJ+mffKvDSgHYuX+kYTCS_jyvQVYqia10LTRDg4Vw7jNw@mail.gmail.com>
In-Reply-To: <CAANoGhJ+mffKvDSgHYuX+kYTCS_jyvQVYqia10LTRDg4Vw7jNw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/10.1d.0.190908
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.43.161.115]
Content-Type: multipart/alternative; boundary="_000_CAC46A6B229C4B5AAEE3A2D8662A81DBamazoncom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/YKh0xs5Z--u-6ofirbSUb-jW3oY>
Subject: Re: [OAUTH-WG] [UNVERIFIED SENDER] Re: PAR: pushed requests must become JWTs
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, 10 Jan 2020 20:41:22 -0000

Correct. The problem becomes pretty clear in the context of PAR, where the AS is generating and vending out the URI at the PAR endpoint, and consuming it at the authorization endpoint. From an interoperability standpoint, it’s analogous to the AS vending an authorization code at the authorization endpoint and consuming it at the token endpoint.
–
Annabelle Richard Backman
AWS Identity


From: John Bradley <ve7jtb@ve7jtb.com>
Date: Friday, January 10, 2020 at 12:29 PM
To: Brian Campbell <bcampbell@pingidentity.com>
Cc: Torsten Lodderstedt <torsten@lodderstedt.net>, Nat Sakimura <nat@sakimura.org>, "Richard Backman, Annabelle" <richanna@amazon.com>, oauth <oauth@ietf.org>
Subject: [UNVERIFIED SENDER] Re: [OAUTH-WG] PAR: pushed requests must become JWTs

If we assume the client posts a JAR and gets back a reference.  Then the reference is to a JAR.

I think I see the problem.  If the server providing the reference is associated with the AS then the server dosen't need to dereference the object via HTTP, so it could be a URN as an example.

So yes it is not a interoperability issue for the client.

I will think about how I can finesse that.

I agree it is not a change in intent.

I will see if I can get our AD to accept that.

John B.




On Fri, Jan 10, 2020, 4:57 PM Brian Campbell <bcampbell@pingidentity.com<mailto:bcampbell@pingidentity.com>> wrote:
Sure but the text proposed (or something like it) qualifies it such that there aren't interoperability questions because it's only an implementation detail to the AS who both produces the URI and consumes its content.

On Fri, Jan 10, 2020 at 12:48 PM John Bradley <ve7jtb@ve7jtb.com<mailto:ve7jtb@ve7jtb.com>> wrote:
It may be a challenge to change text saying that the contents of the resource could be something other than a request object.

If not a request object then what and how is that interoperable are likely AD questions.

I could perhaps see changing it to must be a request object, or other format defined by a profile.

John B.


On Fri, Jan 10, 2020, 3:45 PM Brian Campbell <bcampbell@pingidentity.com<mailto:bcampbell@pingidentity.com>> wrote:
Agree and agree. But given that the change suggested by Annabelle has no impact on the client or interoperability, perhaps Nat or John could work the change into the draft during the edits that happen during the final stages of things?

On Thu, Jan 9, 2020 at 1:56 AM Torsten Lodderstedt <torsten=40lodderstedt.net@dmarc.ietf.org<mailto:40lodderstedt.net@dmarc.ietf.org>> wrote:
I would assume given the status of JAR, we don’t want to change it. And as I said, this difference does not impact interoperability from client perspective.


Am 09.01.2020 um 00:58 schrieb Richard Backman, Annabelle <richanna=40amazon.com@dmarc.ietf.org<mailto:40amazon.com@dmarc.ietf.org>>:

It would be more appropriate to add the text to JAR rather than PAR. It doesn't seem right for PAR to retcon rules in JAR. Moving the text to JAR also highlights the weirdness of giving PAR special treatment.



What if we changed this sentence in Section 5.2 of JAR:

The contents of the resource referenced by the URI MUST be a Request

Object.



To:

The contents of the resource referenced by the URI MUST be a Request

Object, unless the URI was provided to the client by the Authorization

Server.



This would allow for use cases such as an AS that provides pre-defined request URIs, or vends request URIs via a client management console, or bakes them into their client apps.



–

Annabelle Richard Backman

AWS Identity



On 1/8/20, 2:50 PM, "Torsten Lodderstedt" <torsten=40lodderstedt.net@dmarc.ietf.org<mailto:40lodderstedt.net@dmarc.ietf.org>> wrote:



    Hi,



    you are right, PAR does not require the AS to represent the request as a JWT-based request object. The URI is used as internal reference only. That why the draft states



    "There is no need to make the

          authorization request data available to other parties via this

          URI.”



    This difference matters from an AS implementation perspective, it doesn't matter from a client's (interop) perspective.



    We may add a statement to PAR saying that request_uris issued by the PAR mechanism (MAY) deviate from the JAR definition.



    best regards,

    Torsten.



    > On 8. Jan 2020, at 23:42, Richard Backman, Annabelle <richanna=40amazon.com@dmarc.ietf.org<mailto:40amazon.com@dmarc.ietf.org>> wrote:

    >

    > Hi all,

    >

    > The current drafts of PAR (-00) and JAR (-20) require that the AS transform all pushed requests into JWTs. This requirement arises from the following:

    >         • PAR uses the request_uri parameter defined in JAR to communicate the pushed request to the authorization endpoint.

    >         • According to JAR, the resource referenced by request_uri MUST be a Request Object. (Section 5.2)

    >         • Request Object is defined to be a JWT containing all the authorization request parameters. (Section 2.1)

    >

    > There is no need for this requirement to support interoperability, as this is internal to the AS. It is also inconsistent with the rest of JAR, which avoids attempting to define the internal communications between the two AS endpoints. Worse, this restriction makes it harder for the authorization endpoint to leverage validation and other work performed at the PAR endpoint, as the state or outcome of that work must be forced into the JWT format (or retrieved via a subsequent service call or database lookup).

    >

    > –

    > Annabelle Richard Backman

    > AWS Identity

    >

    > _______________________________________________

    > 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

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.

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.