Re: [OAUTH-WG] Transaction Authorization with OAuth

Torsten Lodderstedt <torsten@lodderstedt.net> Mon, 22 April 2019 17:18 UTC

Return-Path: <torsten@lodderstedt.net>
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 4B09C1200CC for <oauth@ietfa.amsl.com>; Mon, 22 Apr 2019 10:18:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.601
X-Spam-Level:
X-Spam-Status: No, score=-2.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 S3ew-Y1ZSA94 for <oauth@ietfa.amsl.com>; Mon, 22 Apr 2019 10:18:40 -0700 (PDT)
Received: from smtprelay05.ispgateway.de (smtprelay05.ispgateway.de [80.67.31.99]) (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 A1F8C120052 for <oauth@ietf.org>; Mon, 22 Apr 2019 10:18:40 -0700 (PDT)
Received: from [84.158.239.111] (helo=[192.168.71.123]) by smtprelay05.ispgateway.de with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from <torsten@lodderstedt.net>) id 1hIcaT-0001qk-BP; Mon, 22 Apr 2019 19:18:37 +0200
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.8\))
From: Torsten Lodderstedt <torsten@lodderstedt.net>
In-Reply-To: <CAJrcDBcm0x6zzWYBxjh4B8EJQozFC1ciyx5_j2rnW8DBLGqUCg@mail.gmail.com>
Date: Mon, 22 Apr 2019 19:18:36 +0200
Cc: oauth <oauth@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <B41AFDAE-CE92-4477-8489-F47C05A4DD3E@lodderstedt.net>
References: <8E2628D6-282A-4284-97E3-94466D71A75A@lodderstedt.net> <CAJrcDBfmhR5Fx1okJv7xdgATytDTA8rhBZNJJviY39WGK06uPw@mail.gmail.com> <2261EA43-063D-4EA5-A55B-15235D5E525E@lodderstedt.net> <CAJrcDBcm0x6zzWYBxjh4B8EJQozFC1ciyx5_j2rnW8DBLGqUCg@mail.gmail.com>
To: Pedro Igor Silva <psilva@redhat.com>
X-Mailer: Apple Mail (2.3445.104.8)
X-Df-Sender: dG9yc3RlbkBsb2RkZXJzdGVkdC5uZXQ=
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/O_LRhIiLHwM2zKqdHSN-RG50Om8>
Subject: Re: [OAUTH-WG] Transaction Authorization with OAuth
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: Mon, 22 Apr 2019 17:18:43 -0000

Hi Pedro,

> 
> > The general idea is to empower RSs so that they can communicate to the AS how access to their resources should be granted as well as decoupling clients and RSs so that clients don't need to know the constraints imposed by the RS to their protected resources (e.g. scopes). 
> 
> Sounds very much like UMA2. The difference I see is the RS needs to be heavily involved in the authorization process (whereas the approaches I discussed leave it passive). How would you handle the use cases I described? So for example, how would you construct the JWT for the signature use case? I’m asking because the signing case uses more data in the authorization process and might bundle the request to sign multiple documents, even if the first signing request would only need the hashes or even just a single hash of a document. 
> 
> Yes, it does. Like I mentioned, the model is based on UMA (Permission Ticket/API) as well as ACE (Unauthorized Resource Request Message). I had talked with UMA WG in the past about this solution and how we extended the specs to solve this type of problem.
> 
> By being active during the authorization process the RS is in control over additional claims that should be considered by the policies when making decisions about the resources/scopes a client/user can access. Where the information could be obtained from different sources such as the current HTTP request or internally/externally to the RS.

The problem from my perspective (and my understanding of UMA) is the RS does not have any information about the context of the request. For example, the client might be calling a certain resource (list of accounts) and immediately afterwards wants to obtain the balances and initiate a payment. I think the UMA case the RS either predicts this based on policy or past behaviour of the client OR the client will need to issue several token requests. That might not be a problem in 1st party scenarios but it is in 3rd party scenarios if the AS gathers consent. 

> 
> We did not have much demand for addressing the signature use case, but use cases similar to the "payment" use case. As I mentioned, the model I'm talking about is not based on user consent.

Right, you mentioned it is intended to be used for 1st parties only. 

> But considering that you can also pass any information to the AS, you should be able to let users to authorize the creation of signatures for one or more documents.

I think the client needs to pass this information, which brings us back to the original question of my article. 

best regards. 
Torsten. 

>  
> 
> > 
> > I've started to write a document with this idea in mind and I'm happy to share it with you and see what you think.
> > 
> 
> Look forward to reading your article. 
> 
> best regards,
> Torsten.
> 
> > Best regards.
> > Pedro Igor
> > 
> > On Sat, Apr 20, 2019 at 3:21 PM Torsten Lodderstedt <torsten@lodderstedt.net> wrote:
> > Hi all, 
> > 
> > I just published an article about the subject at: https://medium.com/oauth-2/transaction-authorization-or-why-we-need-to-re-think-oauth-scopes-2326e2038948  
> > 
> > I look forward to getting your feedback.
> > 
> > kind regards,
> > Torsten. 
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
>