Re: [OAUTH-WG] Transaction Authorization with OAuth

Torsten Lodderstedt <torsten@lodderstedt.net> Fri, 03 May 2019 06:22 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 3539012006B for <oauth@ietfa.amsl.com>; Thu, 2 May 2019 23:22:54 -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 7A7u2YIKrylo for <oauth@ietfa.amsl.com>; Thu, 2 May 2019 23:22:51 -0700 (PDT)
Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.18.14]) (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 39E26120059 for <oauth@ietf.org>; Thu, 2 May 2019 23:22:50 -0700 (PDT)
Received: from [84.158.239.111] (helo=[192.168.71.116]) by smtprelay02.ispgateway.de with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from <torsten@lodderstedt.net>) id 1hMRap-00022X-RO; Fri, 03 May 2019 08:22:47 +0200
Content-Type: multipart/signed; boundary="Apple-Mail-DABF5737-53D2-4C4E-8520-747C6CB20868"; protocol="application/pkcs7-signature"; micalg="sha-256"
Mime-Version: 1.0 (1.0)
From: Torsten Lodderstedt <torsten@lodderstedt.net>
X-Mailer: iPad Mail (16E227)
In-Reply-To: <20190503011258.GM59871@kduck.mit.edu>
Date: Fri, 03 May 2019 08:22:47 +0200
Cc: Sascha Preibisch <saschapreibisch@gmail.com>, oauth <oauth@ietf.org>
Content-Transfer-Encoding: 7bit
Message-Id: <041703BF-3ACC-4B0A-A30E-B7D23F81F1A8@lodderstedt.net>
References: <8E2628D6-282A-4284-97E3-94466D71A75A@lodderstedt.net> <CAP=vD9u8ki=WzHr-VrLZcdU4nszNja5pgkB+4n2N+-xqCrpm=Q@mail.gmail.com> <776A61E6-226C-434F-8D7E-AFF4D2E423E9@lodderstedt.net> <CAP=vD9sL-ESxo5obtnYCFrT4EEjeQt-0GDsqmxWFDy3+HxDN4A@mail.gmail.com> <2997B550-C82B-4D3A-9639-15A004F2F6C5@lodderstedt.net> <20190428040821.GF60332@kduck.mit.edu> <F21CD0ED-1375-4F91-B4FA-CBBFECD33C8F@lodderstedt.net> <20190503011258.GM59871@kduck.mit.edu>
To: Benjamin Kaduk <kaduk@mit.edu>
X-Df-Sender: dG9yc3RlbkBsb2RkZXJzdGVkdC5uZXQ=
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/Ge1xVQVgTP-O7Ah1oKeHuII6kdU>
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: Fri, 03 May 2019 06:22:54 -0000

Hi Ben,

understood! It seems some scheme identifier would be helpful.

thanks,
Torsten.

> Am 03.05.2019 um 03:12 schrieb Benjamin Kaduk <kaduk@mit.edu>:
> 
>> On Tue, Apr 30, 2019 at 12:08:32PM +0200, Torsten Lodderstedt wrote:
>> 
>> 
>>>> Am 28.04.2019 um 06:08 schrieb Benjamin Kaduk <kaduk@mit.edu>:
>>>> 
>>>> On Wed, Apr 24, 2019 at 07:08:25PM +0200, Torsten Lodderstedt wrote:
>>>> Hi Sascha,
>>>> 
>>>> I see. I assume every element within the structured scope element to be an independent scope (value) object and intended to use the name of that object as kind of content type definition. 
>>>> 
>>>> In my last example, the scope is defined as 
>>>> 
>>>>  "structured_scope":{  
>>>>     "sign":{  
>>>>        "credentialID":"qes_eidas",
>>>>        "documentDigests":[  
>>>>           {  
>>>>              "hash":
>>>>                "sTOgwOm+474gFj0q0x1iSNspKqbcse4IeiqlDg/HWuI=",
>>>>              "label":"Mobile Subscription Contract"
>>>>           }
>>>>        ],
>>>>        "hashAlgorithmOID":"2.16.840.1.101.3.4.2.1"
>>>>     },
>>>>     "payment":{  
>>>>        "type":"sepa-credit-transfer",
>>>>        "instructedAmount":{  
>>>>           "currency":"EUR",
>>>>           "amount":"123.50"
>>>>        },
>>>>        "debtorAccount":{  
>>>>           "iban":"DE40100100103307118608"
>>>>        },
>>>>        "creditorName":"Merchant123",
>>>>        "creditorAccount":{  
>>>>           "iban":"DE02100100109307118603"
>>>>        },
>>>>        "remittanceInformationUnstructured":"new Smartphone"
>>>>     }
>>>> 
>>>> This means “sign" and “payment" would determine the scheme of the respective object. 
>>>> 
>>>> What do you think?
>>> 
>>> I think it reminds me of why draft-ietf-oauth-jwt-bcp recommends using the
>>> "typ" header, and all the reasoning we have to do about different types of
>>> tokens (not) being replayable at a different endpoint and being interpreted
>>> wrongly.
>> 
>> While I agree with the need to use the typ header, I don’t see a direct relationship to my proposal as it is about specifying the intended scope of tokens but not the token format itself. Can you explain your thoughts in more detail?
> 
> I'll try; my thoughts do not seem entirely well formed, though, so perhaps
> it will not work very well.
> 
> It seems like we're opening up for the structured_scope to be an arbitrary
> JSON object.  But the recipient needs to know what context to interpret
> that object in -- e.g., this "payment" subobject has a clear intent to
> transfer money in the indicated currency from the one account to the other.
> But someone else might put a different subobject under "payment", perhaps
> one where users "pay" each other in virtual kittens for good behavior,
> which is a different context but the same JSON element.
> 
> Receivers will of course have some expectation of what they should be
> getting, and can in effect enforce that what they receive matches a schema,
> but those are implicit ways of indicating what context an object is to be
> interpreted in, and we may want to consider explicitly stating an indicator
> of the context in which an object is intended to be considered.  Maybe
> there's already something in the containing message that will fill that
> role (see also: "not entirely well formed"), in which case this concern
> evaporates.
> 
> Thanks,
> 
> Ben