Re: [SPICE] [OAUTH-WG] Relationship between SPICE and OAuth

Denis <denis.ietf@free.fr> Wed, 01 November 2023 18:18 UTC

Return-Path: <denis.ietf@free.fr>
X-Original-To: spice@ietfa.amsl.com
Delivered-To: spice@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C991BC151552; Wed, 1 Nov 2023 11:18:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.996
X-Spam-Level:
X-Spam-Status: No, score=-1.996 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.091, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QM9oTniE9i-i; Wed, 1 Nov 2023 11:18:17 -0700 (PDT)
Received: from smtp4-g21.free.fr (smtp4-g21.free.fr [IPv6:2a01:e0c:1:1599::13]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5FF34C14CE4D; Wed, 1 Nov 2023 11:18:17 -0700 (PDT)
Received: from [192.168.1.11] (unknown [90.79.69.161]) (Authenticated sender: pinkas@free.fr) by smtp4-g21.free.fr (Postfix) with ESMTPSA id DCF3D19F5C3; Wed, 1 Nov 2023 19:18:09 +0100 (CET)
Content-Type: multipart/alternative; boundary="------------kpyzQoBy91U64WH0MNNceopo"
Message-ID: <1a09e91a-12fd-5c47-ad49-88e040a41383@free.fr>
Date: Wed, 01 Nov 2023 19:18:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1
Content-Language: en-GB
To: Hannes Tschofenig <hannes.tschofenig@gmx.net>
References: <144ae5fd-92ef-474e-bd4b-7c7e3abfc78e@gmx.net> <3b7b2292-02bb-4ac3-adf0-7e1edf25eb99@Spark>
Cc: spice@ietf.org, oauth <oauth@ietf.org>
From: Denis <denis.ietf@free.fr>
In-Reply-To: <3b7b2292-02bb-4ac3-adf0-7e1edf25eb99@Spark>
Archived-At: <https://mailarchive.ietf.org/arch/msg/spice/Zlyeqk_XerHQKw5QV5SCZIe4MzQ>
Subject: Re: [SPICE] [OAUTH-WG] Relationship between SPICE and OAuth
X-BeenThere: spice@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Secure Patterns for Internet CrEdentials <spice.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spice>, <mailto:spice-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spice/>
List-Post: <mailto:spice@ietf.org>
List-Help: <mailto:spice-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spice>, <mailto:spice-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 01 Nov 2023 18:18:21 -0000

Hi Hannes,

The current charter of the OAuth WG is available at: 
https://datatracker.ietf.org/wg/oauth/about/

The major problem is that both this charter and the OAuth 2.1 (or OAuth 
2.0) authorization framework
cannot currently address the three roles model with an Holder, an Issuer 
and Verifier. In the three roles model,
there is no concept of a "resource owner ", nor of a "resource owner's 
consent".

Bridging the architectural narrative used in the core OAuth framework 
(AS, RS, RO) and in the three roles model
(Holder, Issuer, Verifier) would not be appropriate.

As Justin mentioned in https://oauth.net/articles/authentication/:

       "Remember, since OAuth is a delegation protocol, this is 
fundamental to its design".
       "In OAuth, the token is designed to be opaque to the client, but 
in the context of a user authentication,
        the client needs to be able to derive some information from the 
token".

The current draft from "The OAuth 2.1 Authorization Framework" states in 
section 1.4
(https://www.ietf.org/archive/id/draft-ietf-oauth-v2-1-09.html#name-access-token):

        "An access token is a string representing an authorization 
issued to the client.
         The string is considered opaque to the client, even if it has a 
structure".

When using selective disclosure, the access token cannot remain opaque 
to the client since it needs to be opened and modified by the client.
"Selective disclosure" is not a requirement: it is one mechanism that 
allows to support the privacy principle of "collection limitation",
i.e., limiting the collection of end-users attributes to that which is 
strictly necessary for the specified purpose(s).

However, "selectively disclosable claims" is only the tip of the "three 
roles model" iceberg, since other disclosure mechanisms, e.g., based on 
zero knowledge techniques
can be used and several privacy and security properties need to be 
considered. With some models, some properties can be supported, while 
with other models they can't.

The OAuth 2.0/2.1 framework cannot apply to a three roles model with an 
Holder, an Issuer and Verifier. Rather than working with document 
increments
based on the OAuth 2.0/2.1 framework, a re-chartering the OAuth working 
group would be necessary so that a framework tailored to the vocabulary
of three roles model could then be developed.

It should finally be noticed that the acronym of this WG, "OAuth", is a 
short for "Open Authorization". It is questionable whether that acronym 
or its meaning
would still be appropriate to address the three roles model which does 
not fit into the OAuth 2.0/2.1 framework.

Note: On the SPICE BoF mailing list, I raised an issue and proposed an 
alternative strawman proposal for the spice-charter
(https://github.com/transmute-industries/ietf-spice-charter/issues/3). I 
also sent several emails requesting changes to the wording of the 
proposed charter.
Please note that at this time, I don't agree with the current wording of 
the SPICE BoF charter.

Denis

> Hi Hannes,
> Am 1. Nov. 2023, 12:21 +0100 schrieb Hannes Tschofenig 
> <hannes.tschofenig@gmx.net>:
>
>     Hi all,
>
>     I am a bit puzzled by the response Pam and I received when putting
>     the agenda for the SPICE BOF together. It appears that most people
>     have not paid attention to the discussions during the last few months.
>
>     Let me try to get you up to speed. So, here is my summary.
>
>     The OAuth working group has seen a lot of interest in the context
>     of the SD-JWT/VC work and there have been complaints about the
>     three WG sessions we scheduled at the last IETF meeting. (FWIW
>     neither Rifaat nor I understood why we received these complaints
>     given that people asked us for more slots. But that's another
>     story...)
>
>     The SD-JWT/VC work is architecturally different to the classical
>     OAuth (which is not a problem) but raises questions about the
>     scope of the work done in the OAuth working group, as defined by
>     the charter. The charter of a group is a "contract" with the
>     steering committee (IESG) about the work we are supposed to be
>     doing. There is the expectation that the work described in the
>     charter and in the milestones somehow matches the work the group
>     is doing (at least to some approximation). See also the mail from
>     Roman to the OAuth list for the type of questions that surfaced:
>     https://mailarchive.ietf.org/arch/msg/oauth/a_MEz2SqU7JYEw3gKxKzSrRlQFA/
>     In time for the Prague IETF meeting a BOF request (with the shiny
>     name SPICE, see
>     https://datatracker.ietf.org/doc/bofreq-prorock-secure-patterns-for-internet-credentials-spice/)
>     was submitted. It was subsequently approved by the IESG. SPICE
>     aims to cover the scope of the SD-JWT/VC work (plus work on
>     defining the CWT-based counterparts) -- my rough summary; details
>     are here:
>     https://github.com/transmute-industries/ietf-spice-charter/blob/main/charter.md
>
>     This BOF request again raised questions about the scope and the
>     relationship with OAuth, see Roman's note here:
>     https://mailarchive.ietf.org/arch/msg/spice/Aoe86A0x6bezllwx17Xd5TOQ3Pc/
>     Now, we are in the final stages of preparing the BOF for the
>     Prague IETF and in the agenda preparation we repeately get asked
>     the same question:
>
>     "Has the transfer of some of the OAuth documents already been agreed?"
>
>     The answer is "no". Nothing has been agreed. The purpose of the
>     BOF is to find this agreement.
>
>     So, if you have an opinion whether some of the OAuth documents (in
>     particular draft-ietf-oauth-sd-jwt-vc,
>     draft-ietf-oauth-selective-disclosure-jwt,
>     draft-ietf-oauth-status-list) should move to a new working group
>     then you should speak up **now**.
>
> Have a missed a posting on this list where you have started a 
> discussion with the WG of whether the drafts shall be moved into SPICE 
> now? Otherwise I’m wondering about the tone of your post. It’s the WG 
> that needs to decide on this topic, right? It’s not up to the WG 
> chairs to do so.
>
>
>     The SPICE BOF (and the WIMSE BOF) will happen on Tuesday next
>     week. The first OAuth WG session happens shortly afterwards (also
>     on Tuesday). The outcome of the BOF(s) will guide us in our
>     discussion about re-chartering the OAuth working group (which is
>     an item on the OAuth agenda, see
>     https://datatracker.ietf.org/meeting/118/materials/agenda-118-oauth-03).
>
>     Rifaat, Pam and I are mediators in this process and therefore we
>     rely on your input. Since you have to do the work, you should
>     think about where you want to do it.
>
>     Ciao
>     Hannes
>
>     PS: A process-related note. If you are author of a working group
>     document you are working for the group. With the transition from
>     an individual document to a working group document you have
>     relinquished control to the group. While your opinion is
>     important, it has the same weight as the opinion of any other
>     working group participant. The theme is "We reject: kings,
>     presidents, and voting. We believe in: rough consensus and running
>     code".
>
> Absolutely. So let’s have a discussion in the WG.
>
> best regards,
> Torsten.
>
>     _______________________________________________
>     OAuth mailing list
>     OAuth@ietf.org
>     https://www.ietf.org/mailman/listinfo/oauth
>
>