Re: [GNAP] Consensus Call on Continuation Request

Fabien Imbault <fabien.imbault@gmail.com> Tue, 15 December 2020 00:46 UTC

Return-Path: <fabien.imbault@gmail.com>
X-Original-To: txauth@ietfa.amsl.com
Delivered-To: txauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 347223A12F0 for <txauth@ietfa.amsl.com>; Mon, 14 Dec 2020 16:46:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.186
X-Spam-Level:
X-Spam-Status: No, score=-0.186 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_FONT_LOW_CONTRAST=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 4RQaoMKA9_6g for <txauth@ietfa.amsl.com>; Mon, 14 Dec 2020 16:46:53 -0800 (PST)
Received: from mail-il1-x12c.google.com (mail-il1-x12c.google.com [IPv6:2607:f8b0:4864:20::12c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D96383A12ED for <txauth@ietf.org>; Mon, 14 Dec 2020 16:46:52 -0800 (PST)
Received: by mail-il1-x12c.google.com with SMTP id t9so17634841ilf.2 for <txauth@ietf.org>; Mon, 14 Dec 2020 16:46:52 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=rtKVZ/2BR1XoOb1bOovAQvTrkrKRA09QzZ8EMtmBviY=; b=gCvf/4MwEScagq02C+kbciCROJdGPWxFMT3tGmO1n3DkLisghGfHB00D4lsckHwUXw kwrxnQr1aYvUJ/109bESa+9SfYBYdA8S8rs2XKlOt+sW7qwf3KkawLMNTREyyVFfKh/h L9VJ1AQmEqsYhoqX9GJkZaNDgDf4Eg6cTnuzGA01yPCFt6HpQtRUUTP1MldVzqwLAulM r51CBd8Qv26JG4hGy/x7lvo3BePCdOu5NLRcd0oveKDxYzXNl8LFAxVI/prkZeNbTv50 OJr8/Krew+YoiUwTuOTCF/eCj//A6a2nGOVyrTONX831caM1sM9U88zSaFTjX3o6Rfa+ flzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=rtKVZ/2BR1XoOb1bOovAQvTrkrKRA09QzZ8EMtmBviY=; b=RGnyc4IC0ni6inlDAfvN9z2c4ZQRatGW5yQicz7kS6ZgmJF9W89AN3J7S1zmNLNXis MjNnL7jsDTwOi9ngq/YIEieR72Zb7WkbuQuJtug/G16xsS1u+5uIEr5HbqcEHOYBpo/2 8V2N0yzBWpJk+aHzdtdz9Scbpfb9Jj2PDT5nB8x8YOBDMK2lWHPpvCsEp5yxPNckCQzT wcZtq5P4ffAnbC5EVXXhNcSEPPHTWV/t9Mjr0TmDt1GDpJqUsIEskkp4r7aEHFFWgSbB doSgZRBaC/MRIG6CBuWWeM6zmQYeB4m0zHGSO2072jpvp5slX/YOMt2YouqH96UQX7Zu 9vzA==
X-Gm-Message-State: AOAM530++AiJoXz7X1E8ew0xww3MZoS8r23y74d0uOsa/pO7gGSnhJkM FMqzfhX3CWzTrQSOb3WDDm0NctE41Luzfh0k+LQ=
X-Google-Smtp-Source: ABdhPJyusmIFhuzCuZ2vo8PfwlP6jSNu5R2LoPPHwxBvQP8nU5/iicVNXScC5mvLb9IHeg8L9qqahfBzFAj8jEeGwBU=
X-Received: by 2002:a92:ce44:: with SMTP id a4mr39159631ilr.178.1607993212252; Mon, 14 Dec 2020 16:46:52 -0800 (PST)
MIME-Version: 1.0
References: <94973397-0354-4B02-9EC8-EF972A7F1867@mit.edu> <CAD9ie-v-j=PBGjLmiWT+z1Whimfmqo=+Pqw1DVFmXZO-bm7=4w@mail.gmail.com> <8E2FF25A-4BE1-4EA1-A0FE-CB5194DEAC52@mit.edu> <CAD9ie-spy7fX-9+5cXzyrau62sX=wViqdpMYzmFBfz-Qbi63ZQ@mail.gmail.com> <CAK5Vu_DW=8V8qNH-MnjjrUsnganpdwKxCCE1ZTJmENGYEvFoew@mail.gmail.com> <CAD9ie-vWgOVqcXiTTLfBBLx2AKDw_ry0A06CuL2DpKFmjYQ8YQ@mail.gmail.com> <CAK5Vu_DqO+iZHWaov94PXTfD5tKdN9R4w08o8Dd4RxFD3UGxOA@mail.gmail.com> <CAD9ie-ud4i51dF-PEY4r+QpAu2fYNob==R7Ek69rwU6cjy-zBQ@mail.gmail.com> <CAM8feuRBvjx_2nBNy95dDtc6v8A1ebKGKfNE4SwkcFA0-7SYCw@mail.gmail.com> <CAD9ie-tEpVFfgB8KT3XK=G98wOTcVZxpXXRezCKbVuAP4hZoXQ@mail.gmail.com> <CAM8feuR9x7eMzWtTLeWHNEtjkFUk39kMw3ArFXp5rcFmXCw6BQ@mail.gmail.com> <CAD9ie-tMjNvewwof7W8Nof7D9FXuTEdwV3wTywyhB6gTurktmQ@mail.gmail.com> <CAGBSGjqer-kEz0=vbqu-=qsNg8gGRaWaxPjYd1q2eMeboF+yYg@mail.gmail.com> <CAD9ie-sMSN9Jm+W7ZgsjL_7JiHAMpe1Y-Q+avrE3Xi8G0ETPJg@mail.gmail.com> <CAP-T6TQ-YiTqG8vpV6dVb2jSJRRoVCVeghD+qYt3ENHoxyGbjQ@mail.gmail.com>
In-Reply-To: <CAP-T6TQ-YiTqG8vpV6dVb2jSJRRoVCVeghD+qYt3ENHoxyGbjQ@mail.gmail.com>
From: Fabien Imbault <fabien.imbault@gmail.com>
Date: Tue, 15 Dec 2020 01:46:39 +0100
Message-ID: <CAM8feuSRCjkRZsJC3t2sVm=0-ufbPuwLZWdY1E5rg-6J56JX3Q@mail.gmail.com>
To: Dave Tonge <dave.tonge@moneyhub.com>
Cc: Dick Hardt <dick.hardt@gmail.com>, Aaron Parecki <aaron@parecki.com>, txauth gnap <txauth@ietf.org>, Justin Richer <jricher@mit.edu>, Stephen Moore <srmoore@gmail.com>
Content-Type: multipart/alternative; boundary="00000000000037bd7505b676180e"
Archived-At: <https://mailarchive.ietf.org/arch/msg/txauth/lMHnC09da51D7xUQ3P8PVYJT_d8>
Subject: Re: [GNAP] Consensus Call on Continuation Request
X-BeenThere: txauth@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: GNAP <txauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/txauth>, <mailto:txauth-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/txauth/>
List-Post: <mailto:txauth@ietf.org>
List-Help: <mailto:txauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/txauth>, <mailto:txauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 15 Dec 2020 00:46:55 -0000

Maybe we'd need to clarify the use cases indeed.

A big part of what you're saying is : it can be done differently. Which is
true, just not with the same expressiveness.

Beyond what we're covering here, I see at least one important service that
would directly benefit from tokens, around introspection/management api
(e.g. is the token still valid?). Here there's no information lookup about
a grant, we could just query a bloom filter if we get the authorization to
do so. I agree it's not yet included but it's perfectly feasible.

Statelessness can be good for scalability in general, at least if it
doesn't come at the expense of something important (which I don't think is
the case here).

For end developers, it's often much easier to use a URL and pass a token,
and not to have to decode the parameters (only HTTP specialists are used to
that). That's basically what made JWT successful.

As for key presentation, it's the very same mechanism used in the various
calls (cf section 2.3 and section 8). But of course when you initialize,
you have never reached the server and so there is no state, which I don't
think would be difficult to understand by client devs, especially as the
calls are already distinct.

Le lun. 14 déc. 2020 à 22:25, Dave Tonge <dave.tonge@moneyhub.com> a écrit :

> On the call I voiced my opinion that opionality should be reduced in the
> spec where possible. At the time I was in favour of access tokens being
> required. However, after reading the thread and looking again at the spec
> I'm no longer convinced.
>
> The only advantage I can see of the access token, is that it provides a
> way for the AS to be stateless, but I'm not sure how common or desirable
> that use-case is? As soon as the AS has to look some information up about a
> grant in order to continue, then there is no benefit in the access token.
> The identity of the grant can be in the url, and the authenticity of the
> client is provided by the signature.
>
> I know this is beyond the scope of this pull request, but for the majority
> of use-cases, my personal opinion is that a consistent identifier for each
> grant and a mandated REST like URL structure would be far more useful.
>
> The GNAP spec is being designed in an extensible manner that will allow a
> huge amount of use cases. Maybe in the future there will be new endpoints
> dreamed up at the AS that require tokens. But the current ones described
> in  the spec don't (create grant, continue grant, modify grant, get grant,
> cancel grant, rotate token & revoke token).
>
> I also think there is some confusion that "binding" is being used for:
>  - client authentication
>  - sender constraining access tokens
>  - http request signing
>
> If the signing mechanism is ok to authenticate the client in the first
> request, why is it not sufficient to authenticate the client on the
> continuation request?
>
> I think we need a stronger use-case for access tokens at the AS to
> warrant even its optional inclusion in the spec.
>
> On Mon, 14 Dec 2020 at 21:25, Dick Hardt <dick.hardt@gmail.com> wrote:
>
>> I don't understand what security risks are unique with the GNAP URI
>> relative to other API URIs that have a unique identifier in them.
>>
>> Developers can get "creative" and put "inappropriate" values in any API
>> URI they design.
>>
>> What are the security implications of using a large random value as the
>> <unique grant id>?
>>
>>
>> ᐧ
>>
>> On Mon, Dec 14, 2020 at 11:46 AM Aaron Parecki <aaron@parecki.com> wrote:
>>
>>> Thanks for the clear description. However saying "has no security
>>> concerns" is a bold claim. Can you clarify how you will ensure that there
>>> are no security concerns with this method?
>>>
>>> My main worry with this is people will start to get "creative" with the
>>> values of the things in this URL. We've seen this over and over, everything
>>> from using plaintext data in JWT access tokens in OAuth (now the access
>>> token contents are visible to clients), to putting data in the OAuth
>>> "state" parameter (easy to exploit unless it's signed/encrypted), and I'm
>>> sure someone somewhere is putting things in the authorization code that
>>> they shouldn't.
>>>
>>> Aaron
>>>
>>>
>>> On Mon, Dec 14, 2020 at 11:39 AM Dick Hardt <dick.hardt@gmail.com>
>>> wrote:
>>>
>>>>
>>>> I am proposing a URI that is straight forward, and has no
>>>> security concerns.
>>>>
>>>> For example, the URI could be:
>>>>
>>>> <as uri>/grant/<unique grant id>
>>>>
>>>> eg: https://example.com/as/grant/a3ce6053-ca48-4c04-af46-c2384ec8b89f
>>>>
>>>> The routing code in the AS then is:
>>>>
>>>> router.post(      '/', grant.create);
>>>> router.get(        '/grant/:grant', grant.read);
>>>> router.post(      '/grant/:grant', grant.update);
>>>> router.delete(   '/grant/:grant', grant.delete);
>>>> router.options( '/grant/:grant', grant.options);
>>>>
>>>>
>>>> Where there is a "grant" module to manage for working with grant
>>>> requests.
>>>>
>>>> /Dick
>>>>
>>>> ps: your previous email, and this one, are making the discussion
>>>> personal. Happy to discuss privately.
>>>>
>>>> ᐧ
>>>> --
>>>> TXAuth mailing list
>>>> TXAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/txauth
>>>>
>>> --
>> TXAuth mailing list
>> TXAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/txauth
>>
>
>
> --
> Dave Tonge
> CTO
> [image: Moneyhub Enterprise]
> <http://www.google.com/url?q=http%3A%2F%2Fmoneyhubenterprise.com%2F&sa=D&sntz=1&usg=AFQjCNGUnR5opJv5S1uZOVg8aISwPKAv3A>
> Moneyhub Financial Technology, 5th Floor, 10 Temple Back, Bristol, BS1 6FL
> t: +44 (0)117 280 5120
>
> Moneyhub Enterprise is a trading style of Moneyhub Financial Technology
> Limited which is authorised and regulated by the Financial Conduct
> Authority ("FCA"). Moneyhub Financial Technology is entered on the
> Financial Services Register (FRN 809360) at *https://register.fca.org.uk/
> <https://register.fca.org.uk/>*. Moneyhub Financial Technology is
> registered in England & Wales, company registration number  06909772 .
> Moneyhub Financial Technology Limited 2019 ©
>
> DISCLAIMER: This email (including any attachments) is subject to
> copyright, and the information in it is confidential. Use of this email or
> of any information in it other than by the addressee is unauthorised and
> unlawful. Whilst reasonable efforts are made to ensure that any attachments
> are virus-free, it is the recipient's sole responsibility to scan all
> attachments for viruses. All calls and emails to and from this company may
> be monitored and recorded for legitimate purposes relating to this
> company's business. Any opinions expressed in this email (or in any
> attachments) are those of the author and do not necessarily represent the
> opinions of Moneyhub Financial Technology Limited or of any other group
> company.
>
> Moneyhub Enterprise is a trading style of Moneyhub Financial Technology
> Limited which is authorised and regulated by the Financial Conduct
> Authority ("FCA"). Moneyhub Financial Technology is entered on the
> Financial Services Register (FRN 809360) at https://register.fca.org.uk/.
> Moneyhub Financial Technology is registered in England & Wales, company
> registration number 06909772. Moneyhub Financial Technology Limited 2020 ©
> Moneyhub Enterprise, Regus Building, Temple Quay, 1 Friary, Bristol, BS1
> 6EA.
>
> DISCLAIMER: This email (including any attachments) is subject to
> copyright, and the information in it is confidential. Use of this email or
> of any information in it other than by the addressee is unauthorised and
> unlawful. Whilst reasonable efforts are made to ensure that any attachments
> are virus-free, it is the recipient's sole responsibility to scan all
> attachments for viruses. All calls and emails to and from this company may
> be monitored and recorded for legitimate purposes relating to this
> company's business. Any opinions expressed in this email (or in any
> attachments) are those of the author and do not necessarily represent the
> opinions of Moneyhub Financial Technology Limited or of any other group
> company.
>
>