Re: [GNAP] [Txauth] Revisiting the photo sharing example (a driving use case for the creation of OAuth)

Francis Pouatcha <fpo@adorsys.de> Thu, 13 August 2020 18:59 UTC

Return-Path: <fpo@adorsys.de>
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 A739D3A105E for <txauth@ietfa.amsl.com>; Thu, 13 Aug 2020 11:59:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, HTML_MESSAGE=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 (1024-bit key) header.d=adorsys.de
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 7TdDypWk6e_i for <txauth@ietfa.amsl.com>; Thu, 13 Aug 2020 11:59:31 -0700 (PDT)
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) (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 5CEEF3A106E for <txauth@ietf.org>; Thu, 13 Aug 2020 11:59:31 -0700 (PDT)
Received: by mail-wm1-x32c.google.com with SMTP id 9so5551897wmj.5 for <txauth@ietf.org>; Thu, 13 Aug 2020 11:59:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adorsys.de; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=VWJkt9+1TILKT8hsutDCrRUbEU/liXYOhDTRZEEX7dk=; b=SrGUMe7baBegjdSV7+ok/o9Spu2dEb0s/pmS1ZyNNvNSyEi4fixgr03IhjEUjklzuO Yq5PdRugQ78y+8caAyBLqDsrk9TYM/NzVAB1SfqRGFnEl+X3sj5kXalqlqB55pj5IrD1 LRpg41kdjv7Xn22TjvrX1/Pd4DzHW6vcYWa/k=
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=VWJkt9+1TILKT8hsutDCrRUbEU/liXYOhDTRZEEX7dk=; b=jmsvaFWu6JoCpasAo4T3VGH6fsNb9GVUXC/vdUYVeLRS16uYfSXaZXSWp1UmyK4/Mh O6U6yH9sp15SkxUHqSHwJyarL/8s7cntuBJ/DRO7GI6eLLDhYfuuJ+zBzF4fs1StP3pf q/oFTJNayC77bu2Zar89KeK2hiJeXhQ1yUhAidHEGclLiM5+ZQxKyud7yWR6GXB52HJB 55wXtN7X9wxIy0fkDrzZJUuonc+7IbZn0A039fhXWRw5MIOMUcx8f0D7vRGw5/zBHIxX 14IHj6E+/lG0DSAFLW/NEApnzbAhFYKdwh1Hgw5o/7xILcygTFlhCmdxGhx/aX3GBV3u RWTg==
X-Gm-Message-State: AOAM532OXzFcWa8ut1J/vVE4L4hPsNXPpnHZwA5FFhg4XtO0hL/KjO5M PQetgV7RF0yq/VWBzSZ/b7MaJrtdisHd3Wbg9WmlrQ==
X-Google-Smtp-Source: ABdhPJx169ajI/bGbStYjaKTH6QWF+tBxALdVm4/8Gogz3HNPAp9wpd0iZ2f29iuVpmZZkWzGn4TKqKoGzFOf+FfGPo=
X-Received: by 2002:a05:600c:2157:: with SMTP id v23mr5370072wml.38.1597345169637; Thu, 13 Aug 2020 11:59:29 -0700 (PDT)
MIME-Version: 1.0
References: <c5f40413-93b8-2e8c-0a3e-14a07cd27ad0@free.fr> <ECF217AE-1D67-4EAE-AE51-531F6EE6E222@mit.edu> <583aedda-ae41-1f3e-6623-671f2197614c@free.fr> <20200804185313.GT92412@kduck.mit.edu> <CAJot-L2hykst2vFxcwLn_auDMMaw7psVwsKFHKhQp9DA49ydWg@mail.gmail.com> <A4DC7B4E-FD34-454F-9396-B971CF5D57A4@mit.edu> <CAD9ie-tKEp+PV3F4p84Zbu7Kd1dQutawnzHybt8cmg-XniLYLQ@mail.gmail.com> <CAOW4vyN4ifCXmk1XAyGK4cEfY1jTp6+AWOL-uNjEpVcp0Ku0UQ@mail.gmail.com> <CAD9ie-ugjNevqKAPWFjKqGMMpCvX6yyC=M4bs9naenJf-k9uqg@mail.gmail.com> <CAOW4vyOrXstAvc3eKbsUh+gOPT-79nevR8nT5FyKTe+aAQ1pSw@mail.gmail.com> <CAD9ie-sZbxBKuLgC3Bu+yzJATOETdto=S83B6FOmC3gFJWz1jw@mail.gmail.com> <1b4a6a43-4c57-92b4-f442-2da58a2d0d70@free.fr> <CAD9ie-s5_tOZhE57tj1b+XaqDw+D43n_wStOPSmi7cioG2Z+gw@mail.gmail.com> <6678f154-31e7-2d01-2002-f3600f589c96@free.fr> <CD0AE256-7868-4B00-9235-300CB55506BC@mit.edu> <37dc1662-bcf5-8351-6ea7-5d8215e1b8d0@free.fr>
In-Reply-To: <37dc1662-bcf5-8351-6ea7-5d8215e1b8d0@free.fr>
From: Francis Pouatcha <fpo@adorsys.de>
Date: Thu, 13 Aug 2020 14:59:18 -0400
Message-ID: <CAOW4vyNry6KW15jgkyEe=QAjgsPUYUgpzKOey1JADOFkmFQsNg@mail.gmail.com>
To: Denis <denis.ietf@free.fr>
Cc: Justin Richer <jricher@mit.edu>, "txauth@ietf.org" <txauth@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000006b9af005acc6e79f"
Archived-At: <https://mailarchive.ietf.org/arch/msg/txauth/Ya1YnRdtkKUoCl4Yww83TulIAkE>
Subject: Re: [GNAP] [Txauth] Revisiting the photo sharing example (a driving use case for the creation of OAuth)
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: Thu, 13 Aug 2020 18:59:41 -0000

Lots of mails, so I will summarize my opinion in this single mail:

We are dealing with different levels of abstraction here, this is why we
are always falling back to wording battles.

oAuth2/OIDC vs. GNAP
AS vs. GS/DS/IS
Entity vs. Roles
User (human) vs. Requestor
Client vs (Orchestrator/Requesting Party/Negotiator...)
front-channel & back-channel

To direct the discussion, we have to agree on the level of abstraction at
which we want a certain discussion to take place.

Abstraction Level-0: GNAP

Level-0 deals with roles (participants) and messages (request/responses).
Level-0 does not consider entities (users) or the nature of any other
participants, neither Level-0 deals with the way a message is transported
(synchronous/asynchronous) or the type of interaction used to materialize
the message (front-channel, back-channel). The purpose of this abstraction
layer is to provide a common understanding of the core elements of the
protocol.

Level-0 can still provide some basic definition of messages including
information schema as long as we are not limiting the protocol with
constraints from lower layers.

Level-0 is ideal to address some fundamental privacy and confidentiality
matters that will be materialized in lower layers.

Abstraction Level-1: OAuth2 / OIDC / [SSI/DiD/VC]
Instantiation of Level-0 for a constrained application space. This is why
we will meet the world Client, User, RO, AS, ... here roles defined in
Level-0 will be mapped to entities, interaction will be used to materialize
messages defined in Level-0.
The protocol mapping at this layer also takes into consideration that some
of those participants are human or only pieces of software, running on the
user device or on a server with consequences on the protocol design.

Abstraction Level-2: Trust Frameworks like IAM / PSD2,FAPI / ...

In Summary:
Level-0: Roles, Messages
Level-1: Entities, Interactions
...

And if it happens we want to define GNAP at Level-1 (instead of 0), let
declare it as such and limit the application space before we proceed with
further discussions.

Best regards.
/Francis




On Thu, Aug 13, 2020 at 1:30 PM Denis <denis.ietf@free.fr> wrote:

>  Justin,
>
> Your response does not address my point. I am talking of two different
> channels with the RS, i.e. not with the AS.
>
> Denis
>
> Denis, I want to focus on one point here:
>
> In OAuth 2.0, the user consent is performed by the AS using an authorize
> endpoint where the user consent is solicited and captured.
>
> Since a user, with no prior experience, shall first connect to a RS to
> perform an operation, the user consent shall be performed by the RS,
> instead of the AS. This means that we should define a "consent" endpoint
> at the RS.
>
>
> One of my goals with XYZ’s design was to be able to separate the
> interaction with the user from the web-based flows for the delegation
> protocol, and that aspect is enshrined in the GNAP charter as well.
>
> It points to the reality that there are two different aspects of the
> traditional AS that we might need to talk about separately now. One deals
> with delegation, issuing tokens, returning data directly to the client (not
> through a separate API, since that’s the RS), and other back-channel stuff.
> The other aspect deals with interacting with the user and/or resource
> owner.
>
> We already saw bits of this in OAuth 2: the AS is defined by the pair of
> the token endpoint and authorization endpoint, each filling the respective
> roles above. What if we formally separate these? Strawman names:
>
> Delegation Server (DS) - handles the back-channel stuff
>
> Interaction Server (IS) - handles the front-channel stuff
>
>
>  — Justin
>
>
> --
> TXAuth mailing list
> TXAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/txauth
>


-- 
Francis Pouatcha
Co-Founder and Technical Lead
adorsys GmbH & Co. KG
https://adorsys-platform.de/solutions/