Re: [OAUTH-WG] Transaction Authorization with OAuth

Torsten Lodderstedt <torsten@lodderstedt.net> Mon, 22 April 2019 17:31 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 1E1C0120108 for <oauth@ietfa.amsl.com>; Mon, 22 Apr 2019 10:31:09 -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 f6fWuMjyPS9e for <oauth@ietfa.amsl.com>; Mon, 22 Apr 2019 10:31:06 -0700 (PDT)
Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de [80.67.31.37]) (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 26275120044 for <oauth@ietf.org>; Mon, 22 Apr 2019 10:31:06 -0700 (PDT)
Received: from [84.158.239.111] (helo=[192.168.71.123]) by smtprelay03.ispgateway.de with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from <torsten@lodderstedt.net>) id 1hIcmT-0007h8-VA; Mon, 22 Apr 2019 19:31:01 +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: <981DFB7E-4EA6-4C66-8B78-F6FE3AC2B712@manicode.com>
Date: Mon, 22 Apr 2019 19:31:00 +0200
Cc: Pedro Igor Silva <psilva@redhat.com>, oauth <oauth@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <9DD843A8-403B-4833-9C4C-B05BEAD68571@lodderstedt.net>
References: <8E2628D6-282A-4284-97E3-94466D71A75A@lodderstedt.net> <CAJrcDBfmhR5Fx1okJv7xdgATytDTA8rhBZNJJviY39WGK06uPw@mail.gmail.com> <981DFB7E-4EA6-4C66-8B78-F6FE3AC2B712@manicode.com>
To: Jim Manico <jim@manicode.com>
X-Mailer: Apple Mail (2.3445.104.8)
X-Df-Sender: dG9yc3RlbkBsb2RkZXJzdGVkdC5uZXQ=
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/j8mS-8a4hyca0TAa6t7wEHki40k>
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:31:09 -0000

Hi Jim, 

thanks for pointing this out. 

Basically, what I’m proposing is not a new language for describing authorization policies. It’s more like the container to carry the data needed to inform the user about the intention of the client to the authorisation server. This container may contain anything - preferable expressed as JSON :-). But let’s ignore this for a moment. 

As OAuth is about delegating access rights to a client, the question is whether XAML could express delegation as well. If that’s the case and the AS maintains the permissions of its users as XAML policy one could potentially express the requested permissions as a subset of the users permissions. 

In the (consumer) use cases I’m typically dealing with, the user’s permission is determined by possession. So a user is in possession of an email account because it signed up for that service (and potentially pays for it). My feeling is XAML is more targeted towards enterprise use cases. 

best regards,
Torsten. 

> On 22. Apr 2019, at 18:10, Jim Manico <jim@manicode.com> wrote:
> 
> Have you looked at other standards that address find grained access control like NIST ABAC or XACML? This is a somewhat solved issue and I wonder if previous work can be leveraged. 
> 
> A basic string “scope” is certainly not enough to represent and transport complex authorization policy. I would imagine that something closer to XACML would work.
> 
> --
> Jim Manico
> @Manicode
> 
> On Apr 22, 2019, at 9:34 AM, Pedro Igor Silva <psilva@redhat.com> wrote:
> 
>> Hi Torsten,
>> 
>> Great article, thanks for sharing it.
>> 
>> We have been working on a solution for fine-grained authorization using OAuth2 but specific for first-party applications where the granted permissions/scopes depend on the policies associated with the resources/scopes a client is trying to access. We don't have extensions to the authorization endpoint but a specific grant type for this purpose on the token endpoint.
>> 
>> The solution is similar to the Lodging Intent Pattern but also based on specific parts of UMA and ACE.
>> 
>> Basically, when a client first tries to access a protected resource the RS will respond with all the information the client needs to obtain a valid token from the AS. The information returned by the RS can be a signed/encrypted JWT or just a reference that later the AS can use to actually fetch the information. With this information in hands, clients can then approach the AS in order to obtain an access token with the permissions to access the protected resource.
>> 
>> 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). 
>> 
>> 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.
>> 
>> 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
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth