Re: [GNAP] DID as sub_id or assertion?

Fabien Imbault <fabien.imbault@gmail.com> Thu, 18 March 2021 02:20 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 6950D3A1BB7 for <txauth@ietfa.amsl.com>; Wed, 17 Mar 2021 19:20:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, 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 q2qMyuTmr4J6 for <txauth@ietfa.amsl.com>; Wed, 17 Mar 2021 19:20:06 -0700 (PDT)
Received: from mail-io1-xd35.google.com (mail-io1-xd35.google.com [IPv6:2607:f8b0:4864:20::d35]) (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 AC64A3A1BB6 for <txauth@ietf.org>; Wed, 17 Mar 2021 19:20:06 -0700 (PDT)
Received: by mail-io1-xd35.google.com with SMTP id n21so697964ioa.7 for <txauth@ietf.org>; Wed, 17 Mar 2021 19:20:06 -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=8zseAnM35XJj0Ej21HmH0Xy2ybV/G9HDkpobHYHX2hA=; b=FfNPoTaUma0E/PVIsvCLuXbnH92JeAKJY/YqGhiMWutT+LDy2kKV9EatXdos7goOin PnY4EzMBOXKcc6tE9K/1zjhyXrYNBJSEoMComFhk7nUEYTQIox+vDy/GSaiYo+Wfuvjl i17XvmEpy999EfeWSZ4cLXYLKz3KwNsucXyOHqzB4IgkJmdIAbCHDyTHy9/TCcUwS/SC +h584Bjq1o7d5FAdW2viOIagZ3xMU2rZA2zDycLxk7q54HaOI7Qqyr54le/gRHnI4T8m zrnxTLPAcGKCrrQ96FwRSX6G7uyRv6FzgvQmZAscGa54n1lYlJ8FbMV5gu7NE988ViEN Wk6A==
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=8zseAnM35XJj0Ej21HmH0Xy2ybV/G9HDkpobHYHX2hA=; b=hqMajs0QHjxONunEcaPwDvaSOipxpjRt3pM3W48l7N1uJXL7R+6FrH4OH1t/8mTMYM gZKdEB8aPyYzI3m0HRs5wLHuu0Kekc7xzxWGEUCJOae8TMNMwVmDKc1p9VP9csGaVhmI 1zCBRhteY0R1U2SpAUonkc5s17UpR+Nvuz+TbdSBiDbGbn18aqBlRSmWazIJ6qNehBEr yb/sTQ0EQn80aJancDkKwF9sKau3fh4GyaQdT3NiDZW04H4gAcnWIMzCo0hzG5cYKw2i HGESLXAuQ0tP441VhH15vwRp8LNVYWtRE8H3zjc+SGubPse8GpZE34DCKlcqh0SNgeJU jSOg==
X-Gm-Message-State: AOAM530nHbLXCe545qyVe3g6COTDa1fv9O3862GHuH37wl8JKGrYDOdp e7ZxEmIpVFodZpvo3x5CX1339ny1y/zcAPJ/o7Q=
X-Google-Smtp-Source: ABdhPJyWnIn20NJ0glcWVunub8I1IW8pGP5v1F99mXG5OjvkEyjQc2s7m4BgKtezj1njb7qfkKt0AFgYMPA5IyVL2b4=
X-Received: by 2002:a02:c6b4:: with SMTP id o20mr5286072jan.124.1616034004034; Wed, 17 Mar 2021 19:20:04 -0700 (PDT)
MIME-Version: 1.0
References: <CAM8feuQ5Q1LrGtniCH3WN5gyf6QhBa-9e+2kzaV0fxzA5D5m7w@mail.gmail.com> <B3A02C1B-5DF6-46AE-B806-8DBBF5F6B701@mit.edu> <CAM8feuRuCyKGCDNYXP_gwc=wk986q6m_-DDOcXR8T9k+LdoX9g@mail.gmail.com> <CAM8feuRHQJF6sWGBcvt41kH6V6fwXK0-O15aUgvRRiK9q8vefA@mail.gmail.com> <CAJmmfSSY03c1nn3qtQDhY+Zk490d++zftyftSWPOGPdgPOnkag@mail.gmail.com> <CAM8feuTSWko8q+Agn+0+tLmSAOG6NYH_dMCV697NLna1U-Sxew@mail.gmail.com> <CANYRo8immAFJ08pvd00U6zT6-zRsrHkJ28NuKyC28Fdx=F=USQ@mail.gmail.com> <CAM8feuQbDJfPqym-2VAb4VyDuL8rm_Yk-sGyrb8_qAapUBtEuw@mail.gmail.com> <CAM8feuS332Ng_Bi=doXzq0WEgLc7_+tOmB4uE71+bpJ_g4P-aw@mail.gmail.com> <CANYRo8jG+ZutU6Bhy7zSrKcgnVxjMze7i-y_UpU3+PWvsWfLvA@mail.gmail.com> <CAM8feuSixNA2oFTtYR0Y3vngc+3UbsOSqSBCA6RUEEByB25eNA@mail.gmail.com> <CANYRo8hts6P_4QNjjcUr-H9B9wGJeVckWw+3V3N9hdPHf_idLQ@mail.gmail.com> <CAM8feuQEQyCEOErds8rpcipaqyPm3L3XMdrbQ6X2t3y9xcO4dQ@mail.gmail.com> <CAJmmfSQKZWm=YsjBVV8O+vU9zzC+eka0CCaQO-xFP-GcWzEigw@mail.gmail.com> <CANYRo8jw9gHQESDk__aKM3jK-C9FvYTFYOzb-8iYzbc_hVjMPA@mail.gmail.com> <EDB79C39-D706-43B2-B7D6-234CB32F7411@mit.edu> <CANYRo8inRJa0bAe6gqOkLKqHnt-qxPrzhDufBLwXd-S4wfjdxg@mail.gmail.com>
In-Reply-To: <CANYRo8inRJa0bAe6gqOkLKqHnt-qxPrzhDufBLwXd-S4wfjdxg@mail.gmail.com>
From: Fabien Imbault <fabien.imbault@gmail.com>
Date: Thu, 18 Mar 2021 03:19:50 +0100
Message-ID: <CAM8feuS98hqZ36hjCHg_=wpueDyXHb7t156OXnL_8MXtzpiyjA@mail.gmail.com>
To: Adrian Gropper <agropper@healthurl.com>
Cc: Justin Richer <jricher@mit.edu>, Tobias Looker <tobias.looker@mattr.global>, GNAP Mailing List <txauth@ietf.org>, Alan Karp <alanhkarp@gmail.com>, Mark Miller <erights@gmail.com>
Content-Type: multipart/alternative; boundary="000000000000c1699105bdc63c98"
Archived-At: <https://mailarchive.ietf.org/arch/msg/txauth/sVT--kif-MEEjANM4FXWBLfuVe8>
Subject: Re: [GNAP] DID as sub_id or assertion?
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: Thu, 18 Mar 2021 02:20:08 -0000

Hi Adrian

I'm still confused why you're saying the terminology is vague.
I get the "power" neutrality is not to your liking, but RQ / user agent is
no better in my view.

Can you elaborate?

Fabien

Le jeu. 18 mars 2021 à 00:18, Adrian Gropper <agropper@healthurl.com> a
écrit :

> I'm sure you're right. Our vague terminology around client and end-user
> leads to my confusion. If GNAP is primarily about delegation then, of
> course, we should avoid any incentives to impersonate or we're wasting our
> time. This is partly why I'm trying to study up on capabilities and asking
> for expert advice from folks like Alan Karp and Mark Miller (cc'd)
>
> As best I can understand it, the RS has only two choices, it can:
>
>    - store an attribute of the RO a [DID, email address, GNAP AS URL], or
>    - hand the RO a capability as a sort-of promise and avoid making any
>    entries in an ACL or equivalent.
>
> When a token comes back to the RS, it will either be:
>
>    - validated according to something associated with the stored RO
>    attribute, or
>    - signed by the RS itself.
>
> Either way, trust in the client seems moot.
>
> Adrian
>
>
>
> On Wed, Mar 17, 2021 at 5:29 PM Justin Richer <jricher@mit.edu> wrote:
>
>> On Mar 17, 2021, at 4:55 PM, Adrian Gropper <agropper@healthurl.com>
>> wrote:
>>
>>
>> On Wed, Mar 17, 2021 at 4:23 PM Tobias Looker <tobias.looker@mattr.global>
>> wrote:
>>
>>> <snip>
>>> > A client might not have a DID but it could have a VC as a certificate
>>> of authenticity linked to some audit mechanism.
>>>
>>> To me a VC would come under the assertions umbrella (that is to say a VC
>>> could be one type of valid assertion). The client may possess or been
>>> presented with a VC that it could include in its request to the AS as a way
>>> to identify the subject and perhaps prove authentication and authorization.
>>>
>>
>> I do not assume that the client that interacts with the AS to make a
>> request and receive a token is the same as the client that will present the
>> token to the RS. In the US HIPAA use-case, for example, the root of trust
>> is a contract between the patient-subject and the doctor-requesting party
>> but the doctor workflow is expected to delegate the token to some other
>> end-user that may be using a totally different client such as an EHR.
>>
>>
>> If the client that gets the token is not same as the client that uses the
>> token, that is a violation of core security principles as it allows for
>> (and really designs for) impersonation by client software. I would have no
>> reason to trust client software that would hand its credentials over to
>> another piece of software, and in fact I shouldn’t trust it.
>>
>> I think you may be conflating several different kinds of parties under
>> the “client” umbrella here, though. It’s entirely possible that one client
>> might call an RS that in turn acts as a client for something else down
>> stream. But each of those hops is different from the last.
>>
>>  — Justin
>>
>>