Re: [GNAP] Review of draft-ietf-gnap-core-protocol-00

Tom Jones <thomasclinganjones@gmail.com> Tue, 17 November 2020 17:46 UTC

Return-Path: <thomasclinganjones@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 5DA923A14FE for <txauth@ietfa.amsl.com>; Tue, 17 Nov 2020 09:46:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level:
X-Spam-Status: No, score=-1.997 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, HTTPS_HTTP_MISMATCH=0.1, 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 jIIh3sNnWNs5 for <txauth@ietfa.amsl.com>; Tue, 17 Nov 2020 09:46:21 -0800 (PST)
Received: from mail-ot1-x32b.google.com (mail-ot1-x32b.google.com [IPv6:2607:f8b0:4864:20::32b]) (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 A4AAD3A1597 for <txauth@ietf.org>; Tue, 17 Nov 2020 09:46:18 -0800 (PST)
Received: by mail-ot1-x32b.google.com with SMTP id 79so20238549otc.7 for <txauth@ietf.org>; Tue, 17 Nov 2020 09:46:18 -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=TpIwudtZMStHgVbG2oix2tW/rmYb8LUMAAMqgw+pfh4=; b=GPfA+salF/TLhXvItAsqyAVU8K/zZw5GZwqf23CUHcoPIAY0uNYbJqK2ASLxyqsjIs rB2rqJtpNBOlmwCrOUljzMPHW6fWSwDVzYCUHhH+O74JACEI9tsskWuEEe3QIWCnSmtu t79JKSlt9Wwegd8eGqJHpyIoj4DmR6WEksE0NdUb7FJ/l8D/J4yMgVjI1szNRRIeDLNt j/PYebGw+LrZOmlR3ixb12kRajAY5WuMlPuMLmiMNj7bUWFeMtzVMhav3300y038qnk+ CrubPkz6yNXzQkBh9DsFRVVLF3/yuBEMEv787RWdLjfjz4cKS1CWtLu1a8eSRJeUZU3c V1kA==
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=TpIwudtZMStHgVbG2oix2tW/rmYb8LUMAAMqgw+pfh4=; b=AusTXkZWchnBrSqWjAHb2J+T2Rx5D5yfNViFVowCieyCKfexWYkmmaEzgUTHuzLw+1 Ba5N/1L6Y71kImQuCaTZGcSRzVL5cQtAMHwXjqprwccKE/Uza0Qlo1bTxvQhI0/7yfSO qp4yDbLS24wngezp+0g4uxX3gn/Y7rbj4ZIZjWUzKYicTeihliaH+rxLIKCL1GBwdu5o Pfw4zvckucI/du+sJJWP46EW3He55A7Sba3aNNinoBvKgzrb/ohRFqnQP947+3/FHUWg Q91AneOK1pQl0H7ZQeMSs2DpcaIObLCyE3pbxTUyRqNeznEkLNkyElnxelyx+xU/z+Zy fMBA==
X-Gm-Message-State: AOAM532jU86neCVxsPWvWKIaeaIBMbamD8jClkjnMDP82vXhEMwOtdTp PXnYiCrVLEvHOiAtjGbs1nlXKcAo7DUB3bu8CwM=
X-Google-Smtp-Source: ABdhPJxlPcgtm0EO0lf09nBr9CdDC2TRoIVcBu6l2FPVsaSpuSiBgHtWzaXrE2Qny7EwuSOGmyEaDZPnY4DmrqSIh+Q=
X-Received: by 2002:a05:6830:1015:: with SMTP id a21mr3981680otp.143.1605635177819; Tue, 17 Nov 2020 09:46:17 -0800 (PST)
MIME-Version: 1.0
References: <160433257633.23038.15047041472414640530@ietfa.amsl.com> <AB11DC08-C6ED-4045-A8F5-872AD263035D@mit.edu> <FR2P281MB01063C2EA739E892B549611D8D110@FR2P281MB0106.DEUP281.PROD.OUTLOOK.COM> <CAM8feuQcCdQFGUKy-ou7H3Ta38yyN1LR+0XJd9WophRMRdPDEA@mail.gmail.com> <FR2P281MB0106C83420ED3F8DF2723BFD8DE30@FR2P281MB0106.DEUP281.PROD.OUTLOOK.COM> <5b8ac79b-0c0e-18e9-9f80-b5d79e9ae59b@free.fr> <CAM8feuQ346w9EL=-qpJRmMOO_YUp_14gShxcro+pVxnfXTvkzw@mail.gmail.com> <5E214281-2974-4632-AB74-4E068B7EE66B@mit.edu>
In-Reply-To: <5E214281-2974-4632-AB74-4E068B7EE66B@mit.edu>
From: Tom Jones <thomasclinganjones@gmail.com>
Date: Tue, 17 Nov 2020 09:46:06 -0800
Message-ID: <CAK2Cwb5ACMxjiph796Lq1U3FZ6Tm_2TCmsKTJZn8Fgc0rzEgZQ@mail.gmail.com>
To: Justin Richer <jricher@mit.edu>
Cc: Fabien Imbault <fabien.imbault@gmail.com>, Denis <denis.ietf@free.fr>, GNAP Mailing List <txauth@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000069b14305b451121f"
Archived-At: <https://mailarchive.ietf.org/arch/msg/txauth/GsKHl_yHkwjCP8gptp2-UWgGTo8>
Subject: Re: [GNAP] Review of draft-ietf-gnap-core-protocol-00
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, 17 Nov 2020 17:46:24 -0000

Well, here's a demo. Note that in this case the AS is not online all of the
time, so it is really implicit flow and the OIDC id-token comes from the
siop device directly.
(whether this is front-channel or back channel is no longer an interesting
question.)
Now if an always-on AS is required, that is possible, but probably beyond
the scope of this effort and would require something like an
agent-in-the-sky (with diamonds).
here is the link to the 9 min video   https://youtu.be/Tq4hw7X5SW0
<https://urldefense.us/v2/url?u=https-3A__youtu.be_Tq4hw7X5SW0&d=DwMFaQ&c=2plI3hXH8ww3j2g8pV19QHIf4SmK_I-Eol_p9P0CttE&r=D5lnfoa2MVZWELqVbbz71ooelbP7rVGCjGDSBNvUpYQ&m=ixsudGSr_dhG-SLiatb4Sz9FWslmywnYyZAOLgZxhl8&s=jdLLy0G1JTQCAOBZ6PeUgI0kiCtVJXrru0VToYWlNZ8&e=>
Peace ..tom


On Tue, Nov 17, 2020 at 9:20 AM Justin Richer <jricher@mit.edu> wrote:

> Ultimately, in most situations like these in the real world, the hurdle
> isn’t technical compatibility so much as it is trust compatibility. The RP
> (client) needs to have some incentive to trust the assertions and identity
> information that’s coming from the AS. The same is true for an RS trusting
> tokens from the AS. The hard question is less “how” to do that (which SSI
> answers), but more “why” to do that (which SSI doesn’t answer very well,
> because it’s a hard question).
>
> Still: it’s definitely a question about how to support this “AS on device”
> element. We’ve got the start of it more than OAuth2/OIDC have by allowing
> the bootstrap of the process from a starting call: the interaction and
> continuation URIs handed back by the AS don’t need to be the same URIs that
> the client starts with, so just like SIOP the process can start in HTTP and
> potentially move to other communication channels. A major difference is
> that we aren’t dependent on the assumption that the user will always be in
> a browser at some stage, and so the whole raft of front-channel messages
> that SIOP relies on doesn’t fly. That said, we’ve got an opportunity to
> more explicitly open up alternative communication channels here, and that’s
> something I’d like to see engineered, even if it’s an extension. I’d love
> to see a concrete proposal as to how that would work over specific
> protocols, starting with what we’ve got today.
>
>  — Justin
>
> On Nov 17, 2020, at 12:03 PM, Fabien Imbault <fabien.imbault@gmail.com>
> wrote:
>
> Hi Denis, hi Francis,
>
> At some point integration with SSI (on the authentication side) will
> probably occur, including amongst other possibilities SIOP (since they work
> with OpenID a part of the work will probably be made easier).
>
> That being said, Denis is right. It's not an AS. Technically it's entirely
> possible to rely on a decentralized wallet (for instance on your phone) and
> a centralized AS. I know of a few studies on how to decentralize the AS
> itself (for instance
> https://tools.ietf.org/html/draft-hardjono-oauth-decentralized-02).
> Maybe it exists, but I'm still looking for real scenarios (or even
> architectures) where an AS is deployed directly on a phone, and under the
> sole authority of the RO, while being compatible with the rest of the
> world.
>
> Cheers,
> Fabien
>
> On Tue, Nov 17, 2020 at 5:45 PM Denis <denis.ietf@free.fr> wrote:
>
>> Hello  Francis,
>>
>> See two comments in line.
>>
>>
>> B) Current Document
>>
>> Roles description shall not hold any assumption on the physical structure
>> of the party fulfilling the roles.
>> [FI] not sure what you mean
>>
>>  [FP] for example, we assume the AS is a server! In most SSI based use
>> cases, the AS will be running on the user device. See SIOP (
>> https://identity.foundation/did-siop/).
>>
>> I browsed through the two drafts, i.e. :
>>
>>    - Decentralized Identifiers (DIDs) v1.0 Core architecture, data
>>    model, and representations W3C Working Draft 08 November 2020
>>    - Self-Issued OpenID Connect Provider DID Profile v0.1. DIF Working
>>    Group Draft
>>
>> At no place within these two documents, it is possible to imagine that
>> "the AS will be running on the user device".
>>
>> From section 3 of the DIF Working Group Draft:
>>
>>       "Unlike the OIDC Authorization Code Flow as per [OIDC.Core], the
>> SIOP will not return an access token to the RP".
>>
>> An Identity Wallet is not an AS.
>>
>>
>> Roles:
>> -> grant endpoint of the AS: Why is this a post request? This eliminates
>> the chance of having user device hosted AS (no server).
>> [FI] what would you propose instead?
>> Would also be interested to understand better the deployment model when
>> there is no server. That's something that was discussed several times but
>> I'm still missing the underlying architecture and use case.
>>
>>  [FP] See above (SIOP). There will be a lot of identity wallets operated
>> on end user device.
>>
>> See the above comment. Please, do not confuse an Identity Wallet with an
>> Authentication Server (AS).
>>
>> Denis
>>
>>
>> -> Resource Owner (RO) : Authorizes the request? Does it authorize the
>> request or the access to a resource?
>> [FI] yes, we should make the wording clearer
>>
>> Missing Section Interactions:
>> --> This section shall introduce the notion of interaction before we
>> start listing interaction types.
>> [FI] yes
>>
>> Interaction Types:
>> --> I prefer a classification with Redirect, Decoupled and Embedded is.
>> In the draft, we have one redirect and 2 decouple interactions and nothing
>> else.
>> [FI] this should be handled as a specific discussion item. As a reminder,
>> how would you define embedded?
>>
>> In practice there's at least these modes:
>> - redirect and redirect back
>> - redirect to different browser or device
>> - user code
>> - CIBA
>>
>> [FP] This classification is limited.
>>
>>    - Redirect: same device, same or different user agents (browser,
>>    mobile app, desktop app, ...)
>>    - Decoupled: different devices
>>    - Embedded : RC carries RO authorization to AS
>>
>>
>>
>> Resource Access Request vs. Resource Request
>> --> Both are mixed up. No clarification of the context of each section.
>> [FI] could you clarify what you'd expect.  Btw on this topic, there's a
>> more general discussion on whether we should make a distinction or not.
>>
>> ​[FP]: Here:
>>
>>    - Resource Access Request: Requesting Access to a resource. Response
>>    is an access token (or any type of grant)
>>    - Resource Request: Request the resource. Response is the resource
>>    (or a corresponding execution)
>>
>>
>> Token Content Negotiation
>> --> Not expressed as such. This is central to GNAP and not represented
>> enough  in the document.
>> [FI] right. This should be a specific discussion item.
>>
>> Requesting "User" Information
>> we identify two types of users: RQ and RO. It will be better not to refer
>> to a user in this draft, but either to a RQ or an RO.
>> [FI] yes that would avoid potential misunderstandings. Although in the
>> end, people will translate RQ into user or end-user most of the time. Cf in
>> definition, currently we have Requesting Party (RQ, aka "user")
>>
>>
>> Interaction Again
>> -> For each interaction type, we will have to describe the protocol flow
>> and the nature and behavior of involved Roles (Parties), Elements, Requests.
>> [FI] yes
>>
>>
>> [FP] Will these and into tickets?
>>
>> Best regards.
>> /Francis
>>
>>
>>
>> --
>> 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
>
>
> --
> TXAuth mailing list
> TXAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/txauth
>