Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-introspection-response-09.txt> (JWT Response for OAuth Token Introspection) to Proposed Standard
Denis <denis.ietf@free.fr> Tue, 25 August 2020 14:56 UTC
Return-Path: <denis.ietf@free.fr>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0034C3A0DD7 for <oauth@ietfa.amsl.com>; Tue, 25 Aug 2020 07:56:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.545
X-Spam-Level:
X-Spam-Status: No, score=-0.545 tagged_above=-999 required=5 tests=[FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, KHOP_HELO_FCRDNS=0.399, NICE_REPLY_A=-0.948, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
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 GhZrnQF3VjlZ for <oauth@ietfa.amsl.com>; Tue, 25 Aug 2020 07:56:00 -0700 (PDT)
Received: from smtp.smtpout.orange.fr (smtp03.smtpout.orange.fr [80.12.242.125]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7DA9F3A0DDC for <oauth@ietf.org>; Tue, 25 Aug 2020 07:55:59 -0700 (PDT)
Received: from [192.168.1.11] ([90.79.51.120]) by mwinf5d50 with ME id Kqvu2300E2bcEcA03qvvpC; Tue, 25 Aug 2020 16:55:57 +0200
X-ME-Helo: [192.168.1.11]
X-ME-Auth: ZGVuaXMucGlua2FzQG9yYW5nZS5mcg==
X-ME-Date: Tue, 25 Aug 2020 16:55:57 +0200
X-ME-IP: 90.79.51.120
To: last-call@ietf.org
References: <159802288149.12737.11570006487802113668@ietfa.amsl.com>
From: Denis <denis.ietf@free.fr>
Cc: oauth@ietf.org
Message-ID: <87dbd1ed-e03d-a00d-e3a2-6f53500ef725@free.fr>
Date: Tue, 25 Aug 2020 16:55:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0
MIME-Version: 1.0
In-Reply-To: <159802288149.12737.11570006487802113668@ietfa.amsl.com>
Content-Type: multipart/alternative; boundary="------------A69E85CBE657632DD095C38F"
Content-Language: en-GB
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/U81fUSHgHrPFDKBvGpWRNL-OTmM>
Subject: Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-introspection-response-09.txt> (JWT Response for OAuth Token Introspection) to Proposed Standard
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/oauth/>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 25 Aug 2020 14:56:03 -0000
This draft contains a "Privacy considerations" section (Section 9).
.
The content of this section is as follows:
The token introspection response can be used to transfer personal
identifiable information from the AS to the RS. The AS MUST ensure a
legal basis exists for the data transfer before any data is released
to a particular RS. The way the legal basis is established might
vary among jurisdictions and MUST consider the legal entities
involved.
For example, the classical way to establish the legal basis is by
explicit user consent gathered from the resource owner by the AS
during the authorization flow.
It is also possible that the legal basis is established out of band,
e.g. in an explicit contract or by the client gathering the resource
owner’s consent.
If the AS and the RS belong to the same legal entity (1st party
scenario), there is potentially no need for an explicit user consent
but the terms of service and policy of the respective service
provider MUST be enforced at all times.
In any case, the AS MUST ensure that the scope of the legal basis is
enforced throughout the whole process. The AS MUST retain the scope
of the legal basis with the access token, e.g. in the scope value,
and the AS MUST determine the data a resource server is allowed to
receive based on the resource server’s identity and suitable token
data, e.g. the scope value.
It is not believed that these explanations are useful, nor sufficient.
Talking a "legal basis" without translating legal constraints into
technical constraints is not useful.
Since sensitive information may be returned, the text should say that AS
should/must make sure that the requesting RS is indeed
authenticated and allowed to perform this operation.
However, section 4 is only using the verb "SHOULD" whereas it should use
the verb "SHALL" :
The AS SHOULD authenticate the caller at the token introspection
endpoint.
Talking of "an explicit user consent gathered from the resource owner by
the AS" does not make sense.
Either the operation is allowed or is not allowed by the RO, but there
is no "RO consent".
*About **RFC 7662 (OAuth 2.0 Token Introspection)*
One might think that the important considerations have already been
provided when issuing RFC 7662 (OAuth 2.0 Token Introspection)
which contains a Privacy considerations section (section 5).
The third sentence states:
One method is to transmit user identifiers as opaque
service-specific strings, potentially returning different
identifiers to each protected resource.
This would mean that the response would not reflect the content of the
token. Furthermore, the RS would not even be informed of such a
transformation.
The last sentence even states:
Omitting privacy-sensitive information from an introspection
response is the simplest way of minimizing privacy issues.
In such a case, the introspection query becomes more or less useless.
What should have been said in RFC 7662 (OAuth 2.0 Token Introspection) ?
The fact that using an introspection call can be avoided and should be
avoided for privacy reasons. While "in OAuth 2.0 [RFC6749],
the contents of tokens are opaque to clients", it is not opaque to RSs.
As soon as the RS knows the format of the access token and is able
to validate its security features, this call should be avoided.
So what should be mentioned in section 9 ?
The fact that the AS will know exactly when the introspection call has
been made and thus be able to make sure which client
has attempted perform an access to that RS and at which instant of time.
The use of this call allows an AS to track where and when
its clients have indeed presented an issued access token.
Denis
> The IESG has received a request from the Web Authorization Protocol WG
> (oauth) to consider the following document: - 'JWT Response for OAuth Token
> Introspection'
> <draft-ietf-oauth-jwt-introspection-response-09.txt> as Proposed Standard
>
> The IESG plans to make a decision in the next few weeks, and solicits final
> comments on this action. Please send substantive comments to the
> last-call@ietf.org mailing lists by 2020-09-04. Exceptionally, comments may
> be sent to iesg@ietf.org instead. In either case, please retain the beginning
> of the Subject line to allow automated sorting.
>
> Abstract
>
> This specification proposes an additional JSON Web Token (JWT)
> secured response for OAuth 2.0 Token Introspection.
>
> The file can be obtained via
> https://datatracker.ietf.org/doc/draft-ietf-oauth-jwt-introspection-response/
>
>
> No IPR declarations have been submitted directly on this I-D.
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
- Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-i… Torsten Lodderstedt
- Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-i… Torsten Lodderstedt
- [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-intro… The IESG
- Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-i… Denis
- Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-i… Denis
- Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-i… Dick Hardt
- Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-i… Justin Richer
- Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-i… Mike Jones
- Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-i… Torsten Lodderstedt
- Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-i… Justin Richer
- Re: [OAUTH-WG] [Last-Call] Last Call: <draft-ietf… Brian Campbell
- Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-i… Dick Hardt
- Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-i… Justin Richer
- Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-i… Dick Hardt
- Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-i… Denis
- Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-i… Neil Madden
- Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-i… Jeff Craig
- Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-i… Dick Hardt
- Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-i… Neil Madden
- Re: [OAUTH-WG] Last Call: <draft-ietf-oauth-jwt-i… Benjamin Kaduk
- [OAUTH-WG] Towards an RFC Errata to RFC 7662 ? Denis
- Re: [OAUTH-WG] Towards an RFC Errata to RFC 7662 ? Justin Richer
- Re: [OAUTH-WG] Towards an RFC Errata to RFC 7662 ? Manger, James
- Re: [OAUTH-WG] Towards an RFC Errata to RFC 7662 ? Benjamin Kaduk