Re: [Txauth] Additional implementation

Fabien Imbault <fabien.imbault@gmail.com> Mon, 06 July 2020 16:40 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 134A93A16A4 for <txauth@ietfa.amsl.com>; Mon, 6 Jul 2020 09:40:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, 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 wlUH3QNArLwg for <txauth@ietfa.amsl.com>; Mon, 6 Jul 2020 09:40:20 -0700 (PDT)
Received: from mail-io1-xd29.google.com (mail-io1-xd29.google.com [IPv6:2607:f8b0:4864:20::d29]) (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 6650C3A09B7 for <txauth@ietf.org>; Mon, 6 Jul 2020 09:40:20 -0700 (PDT)
Received: by mail-io1-xd29.google.com with SMTP id q74so16460830iod.1 for <txauth@ietf.org>; Mon, 06 Jul 2020 09:40:20 -0700 (PDT)
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=wcragi44knsMYMDHma8iJPCSHwLwcnWfdj79xloMWmk=; b=ZqQltmrpDVEPQLBiDrhQSq2uys04ym8L2VhYv/zyk4RbWyqy3axWUJHG15AanaCglK Rz4n0lYbGTv0jxHPWq1SltMP69JH7mYj3l63ti/NlezCVJP63L1byJI9yPQsBUFlgYKi gWZE6Cdnh+ALs5EdDiN0f9f30RijCZT6CIk9bgIP9IWn6qwIlZYSc9+0yRdLvOxCh2Jz dJtiJKXrti+MBqgITwOeKIPF00rZQBkjzsfW8pJ3jipUBzU0G7ctEbKK5IIAzuDdxD6f 6ulSXKX9zZRNM7dC8g+wFI8aS2ayN3+HGKhzs7tnoH//0xCue8tA241T5KoOMdyglubK +sgw==
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=wcragi44knsMYMDHma8iJPCSHwLwcnWfdj79xloMWmk=; b=Wn+hD7mAWyS6UJVDzhdXOMg9IdXhmQOGyw0+gFxqGtPnZVeAFxqvJnpsSUd+Tuai7Z GERg8/c/pxo0NTt5tvC/YFiXWLUwUnVSfx6boOiqJfyEfsJjwDFDsJyUMJjivwYYQa4m JzNxv2R8vR0ca8bQD/uuXoK2eKgYSeSiqkoo4DYkB6zzjalb5praqCqjp7eCtrVrXkHv Fnw/7PCm3qCefSltwiHV+YriVi2EHxVHLBZcyWxSBWALU2icVEYrOk8aW8MuSBLQg8dE 28gbBVxKKrbaXDnZ+Xjabszi/7KiiTMybvzSaWHrhTWPvMnCtajjQ7fppNEqYkU86/OL wyHw==
X-Gm-Message-State: AOAM531+MwlAVauCS01lnB0S6KQr3PKAdjBosmV8L5orYtwU6XLcYFKK erclgEu54pRl9/c80RB14w2EQiNWgC6iD7uowHU=
X-Google-Smtp-Source: ABdhPJyZ2uQXgwJ3bBLyg+KQmXpWVFiJiClJHg0yJWS7bMnSSVw2lOj/40RNaNUSWhUGFCLEYIIDjEfsXUX6xfhf3Bg=
X-Received: by 2002:a05:6602:2207:: with SMTP id n7mr25788252ion.162.1594053619787; Mon, 06 Jul 2020 09:40:19 -0700 (PDT)
MIME-Version: 1.0
References: <CAM8feuRA1VfPs6bdrGgssBeBNe4wPySHjKcjiP6HexKMUff4DQ@mail.gmail.com> <CAD9ie-t7Lzt8S09YKPqwhc__7fKU6XpsyL1m8CGYUqfQwj8+ww@mail.gmail.com> <CAM8feuQK7HnKWd4TuusKy6z5q0K8V1+fO7xdqnLwOckThgtfNw@mail.gmail.com> <CAM8feuT5VO3w-PJWX-SWL0tdoCH4TfzfTnabD5kNLfZ=T8nAZw@mail.gmail.com> <CAD9ie-vUGGRcsv2mC6OD=p2P-jRLbpWo1dOfq3AVYc9gU1S8hA@mail.gmail.com> <CAM8feuRc_arjH-mKyXo+4k_PzRZ0Pq83fkNsN3_YM0mZ8VmmMg@mail.gmail.com> <CAD9ie-un7KEtreop+CYgkds5R89Xc26qCxt5Zd9zHRzY9UEH5Q@mail.gmail.com> <20200705225343.GQ16335@kduck.mit.edu> <CAM8feuTBw+ZqMpEpsYMkEKbytWA227NcMNHp00R7s0jFhcEXjw@mail.gmail.com> <CAD9ie-vmrb+Qa2VEAL9BbSTh8f8oqSBRrXZgzQ2aSSsQZLmu8w@mail.gmail.com>
In-Reply-To: <CAD9ie-vmrb+Qa2VEAL9BbSTh8f8oqSBRrXZgzQ2aSSsQZLmu8w@mail.gmail.com>
From: Fabien Imbault <fabien.imbault@gmail.com>
Date: Mon, 06 Jul 2020 18:40:05 +0200
Message-ID: <CAM8feuSHvWpu-0R6Ytw5gK+WKwLQ1OXonDbPUcjBFNP654Mu6w@mail.gmail.com>
To: Dick Hardt <dick.hardt@gmail.com>
Cc: Benjamin Kaduk <kaduk@mit.edu>, txauth@ietf.org
Content-Type: multipart/alternative; boundary="000000000000c2aa4705a9c887ca"
Archived-At: <https://mailarchive.ietf.org/arch/msg/txauth/rLhPXBAjlZ8rlDsz4KCgUHB42VU>
Subject: Re: [Txauth] Additional implementation
X-BeenThere: txauth@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <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: Mon, 06 Jul 2020 16:40:22 -0000

Hi Dick,

Yes, when that's ready I'll share some examples (but again, we don't intend
to ignite lengthy debates, see previous answer -> let's keep it as an aside
experiment, as food for thought).

As for macaroons, it's used quite extensively in production within some
blockchain implementations (lightning for instance) and on our side we have
a variant without a shared secret. But here again, we don't need to discuss
that further, as long as we allow for the possibility to use other types
than JWT (which we use also of course).

Thanks.

Fabien


Le lun. 6 juil. 2020 à 18:13, Dick Hardt <dick.hardt@gmail.com> a écrit :

> Fabien: it would be interesting to see how you think JSON-LD could be used
> in the protocol if you have some ideas on that. In XAuth, I am explicit
> that there are different formats / schema for tokens and claims. There is
> no default, so it is clear how additional formats can be requested and
> returned.
>
> Ben: I think that token formats such as macaroons are out of scope of
> GNAP, or at least the core protocol. The key feature of macaroons is the
> ability to further restrict the authorization. An interesting idea, but
> depends on a shared secret, and I have not heard of deployments. In a quick
> google on macaroons, I came across this talk from Gopher Con
> https://about.sourcegraph.com/go/gophercon-2018-an-over-engineering-disaster-with-macaroons
> .
>
> Justin: good to see we are on the same page on all your points. I'd add
> that we should consider what JSON is used in the protocol to minimize or
> eliminate any impedance mismatch between JSON and CBOR.
>
> /Dick
>
> On Mon, Jul 6, 2020 at 1:19 AM Fabien Imbault <fabien.imbault@gmail.com>
> wrote:
>
>> Writing too fast, with an iteration of unrelated examples, did not convey
>> the right message. Sorry if it wasn't clear and confusing. We indeed need
>> to differentiate between bearer tokens (e.g. JWT, macaroons or even simple
>> cookies, etc.) and identity claims (e.g. OIDC claims, linked data proofs,
>> etc.).
>> I only wanted to say that we need to take into account that there might
>> be a variety of formats defined elsewhere. Not only OIDC (for claims) + JWT
>> (for access tokens).
>>
>> Regarding JWT vs macaroons : I would say that JWT are additive, while
>> macaroons are organized around caveats (so they're subtractive in a sense).
>> But indeed they are both used in similar settings.
>>
>> Hope that clarifies.
>> Fabien
>>
>> On Mon, Jul 6, 2020 at 12:53 AM Benjamin Kaduk <kaduk@mit.edu> wrote:
>>
>>> Hi Dick, Fabien,
>>>
>>> Just to clarify on one point, and check whether I'm confused:
>>>
>>> On Fri, Jul 03, 2020 at 06:32:44PM -0700, Dick Hardt wrote:
>>> > On Fri, Jul 3, 2020 at 1:19 AM Fabien Imbault <
>>> fabien.imbault@gmail.com>
>>> > wrote:
>>> >
>>> > > On Thu, Jul 2, 2020 at 7:34 PM Dick Hardt <dick.hardt@gmail.com>
>>> wrote:
>>> > >
>>> > >> On Wed, Jun 17, 2020 at 3:47 AM Fabien Imbault <
>>> fabien.imbault@gmail.com>
>>> > >> wrote:
>>> >
>>> > >
>>> > >> Just like OAuth 2.0, the access token is opaque to the client, and
>>> it is
>>> > >> not specified, so I'm confused what you mean by "other types of
>>> tokens than
>>> > >> JWT"?
>>> > >>
>>> > >> FI : I mean, for instance, linked data proofs, macaroons, and so on.
>>> > >
>>> >
>>> > I see. When I read 'token', I think of access tokens. You are
>>> referring to
>>> > what I would call a claims, which per above are defined somewhere else.
>>>
>>> My understanding was that macaroons, at least, were complete tokens that
>>> incorporate (at least by reference) multiple claims.  So a macaroon and a
>>> JWT would be analogous in that sense (container holding many claims).
>>> I'm
>>> not sure whether the same holds for a linked data proof (or if it's just
>>> a
>>> way to represent a single claim), though.
>>>
>>> Am I confused?
>>>
>>> Thanks,
>>>
>>> Ben
>>>
>>