Re: [OAUTH-WG] Dynamic Scopes

Torsten Lodderstedt <torsten@lodderstedt.net> Sun, 24 June 2018 08:27 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 EB8CF130DC5 for <oauth@ietfa.amsl.com>; Sun, 24 Jun 2018 01:27:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=unavailable 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 e0Lv74kUVfeu for <oauth@ietfa.amsl.com>; Sun, 24 Jun 2018 01:27:08 -0700 (PDT)
Received: from smtprelay01.ispgateway.de (smtprelay01.ispgateway.de [80.67.18.13]) (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 78F2612F1AB for <oauth@ietf.org>; Sun, 24 Jun 2018 01:27:08 -0700 (PDT)
Received: from [84.158.233.58] (helo=[192.168.71.126]) by smtprelay01.ispgateway.de with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from <torsten@lodderstedt.net>) id 1fX0MR-0003Rr-04; Sun, 24 Jun 2018 10:27:03 +0200
Content-Type: multipart/signed; boundary="Apple-Mail-9631CD20-8443-4939-AFA4-896A5500EC16"; protocol="application/pkcs7-signature"; micalg="sha1"
Mime-Version: 1.0 (1.0)
From: Torsten Lodderstedt <torsten@lodderstedt.net>
X-Mailer: iPad Mail (15E216)
In-Reply-To: <f0d8b95a-738f-0b92-e888-6f1970048505@aol.com>
Date: Sun, 24 Jun 2018 10:27:02 +0200
Cc: Brian Campbell <bcampbell=40pingidentity.com@dmarc.ietf.org>, oauth <oauth@ietf.org>
Content-Transfer-Encoding: 7bit
Message-Id: <9007FECD-C700-4314-B990-3B5B5414F540@lodderstedt.net>
References: <291DC85D-66B4-403F-8159-52D0091F7631@lodderstedt.net> <CA+k3eCQMCJv3NcSnBDKBUVcm131oMAdnbopSeAaD75acAqUMwg@mail.gmail.com> <b9e4115a-512d-3155-9023-604566d7190f@aol.com> <00432150-20C0-4B5F-AB4E-92F96B968A3A@lodderstedt.net> <01e15dff-2bef-831f-0b00-f64137ccc80e@aol.com> <0EF040C2-F0C2-4586-828A-A809A0373F40@lodderstedt.net> <f0d8b95a-738f-0b92-e888-6f1970048505@aol.com>
To: George Fletcher <gffletch@aol.com>
X-Df-Sender: dG9yc3RlbkBsb2RkZXJzdGVkdC5uZXQ=
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/0HhMC2BMnb8LMtDagi70x4Em4z8>
Subject: Re: [OAUTH-WG] Dynamic Scopes
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.26
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: Sun, 24 Jun 2018 08:27:12 -0000

Hi George,

how is the dynamic nature (hash) of the authorization request handled in your solution?

Note: the signing service is not provided by the insurance company but a third party, a sol-called trusted service provider. The insurance company as the client in this flow sends the request to this provider.

best regards,
Torsten.

> Am 23.06.2018 um 21:07 schrieb George Fletcher <gffletch@aol.com>:
> 
> Thanks Torsten.
> 
> I think I have a solution :) Just to make sure I have the flow correct...
> 
> Assumption: Using a mobile client
> 
> 1. User (using their mobile client) attempts to sign a document with the insurance company
> 2. Insurance company redirects the user to their Bank asking for identity proof, and signing of specific documents
> 3. User interacts with Bank to get authorization for the specific transaction
> 4. Mobile client submits request to insurance company using token that is specific to the user, document etc.
> 
> This is effectively the UMA 2.0 flow [1]
> 
> 1. Mobile client attempts to invoke resource at the insurance company
> 2. Insurance company registers the request with UMA AS (the bank in this case) and gets a permissions ticket
> 3. Insurance company instructs mobile client to contact the bank
> 4. Mobile client contacts the bank specifying the permissions ticket
> 5. User meets banks requirements for the specific transaction (claims interaction)
> 6. Bank issues mobile client the RPT (token)
> 7. Mobile client invokes resource at insurance company with RPT
> 
> Note that the insurance company can specify the necessary bits that need to be in the token when it interacts with the Bank (as the UMA AS). [There might be some profiling required here]
> 
> I think it's worth exploring whether UMA will solve this use case.
> 
> Thanks,
> George
> 
> [1] https://docs.kantarainitiative.org/uma/wg/oauth-uma-grant-2.0-08.html
> 
>> On 6/23/18 3:43 AM, Torsten Lodderstedt wrote:
>> 
>>> Am 22.06.2018 um 23:08 schrieb George Fletcher <gffletch@aol.com>:
>>> 
>>> I would think that the scope issued to the refresh_token could represent the category or class of authorizations the refresh_token should be able to perform. For example, the kind of transactions that can be bound to access tokens. The scope issued into the access_token could be one of the "parameterized" ones. But maybe I'm not fully understanding the use case :)
>> Let me try to explain ;-)
>> 
>> The client is an issuance company wanting the customer to electronically sign a new contract (legally binding!). Signing in the end means to send a request containing the hash of the document to an API. The API will respond with an CM/S Object containing signature, certificate etc that the client will embedded in the contract document (typical PDF).
>> 
>> We want the user to authorize the signing request using their bank as IDP/AS. Therefore the client sends the OAuth authorization request to the AS. The actual signing request needs to be bound to client, user AND hash (document) in order to prevent fraud. Regulation (eIDAS) requires to always demonstrate the sole control of the user over the whole process. The AS therefore binds (scopes) the access token to exactly this single document/signing request. If the client wants the user to sign another document, it needs to got through the whole process again.
>> 
>> One could think about a general signing permission represented by a refresh token, but not in the high assurance level cases I‘m looking into.
>> 
>> Hope that helps,
>> Torsten.
>> 
>> 
>