Re: [OAUTH-WG] Call for adoption - Protected Resource Metadata

Dick Hardt <dick.hardt@gmail.com> Sat, 26 August 2023 14:57 UTC

Return-Path: <dick.hardt@gmail.com>
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 1783EC14CEE3 for <oauth@ietfa.amsl.com>; Sat, 26 Aug 2023 07:57:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.104
X-Spam-Level:
X-Spam-Status: No, score=-2.104 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, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 0zHMnWS4uuw6 for <oauth@ietfa.amsl.com>; Sat, 26 Aug 2023 07:57:47 -0700 (PDT)
Received: from mail-yw1-x1129.google.com (mail-yw1-x1129.google.com [IPv6:2607:f8b0:4864:20::1129]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 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 F1AB4C14CE24 for <oauth@ietf.org>; Sat, 26 Aug 2023 07:57:25 -0700 (PDT)
Received: by mail-yw1-x1129.google.com with SMTP id 00721157ae682-5922b96c5fcso21991237b3.0 for <oauth@ietf.org>; Sat, 26 Aug 2023 07:57:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693061845; x=1693666645; h=cc:to:subject:message-id:date:from:reply-to:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=FqBdAts6DLjeEJfheKoQhxYaHzWZ7geGsRzJVoC4CtA=; b=aMv7Ulko6WPXNsUqHXHIwF2Mm0iY4+Kg1rCBYjNePKZlW2ef2sASXzmLGRDzrB3/Sh fyUJUZTrn4N6dHiU0T5WorGvfKKw0CLB4PGD+EzoH2aSracxMPWnJFdKNvzjdmicjYxT e+S556fhZaEZ2Bc1qXyN0vM2blyRa3QsRzGD/Q+EYfZ26L6wJHWQiwiKFtDBl0MM3Gg6 uHsn1WSz2D67f3+BSDMlvXq/oMStuF8531aiAiQW4t7crSpl+uiPUxt0xkXdkiVyzlxD 9anEu2u4qmjRHt8Bn+0uDHztPOfEQBmq6ZyMNRqEcxo3Z2FF26quwUtEDZj35CtOE56q G2HA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693061845; x=1693666645; h=cc:to:subject:message-id:date:from:reply-to:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=FqBdAts6DLjeEJfheKoQhxYaHzWZ7geGsRzJVoC4CtA=; b=cLfHFwyYuR6kwJKMadcysH7OSB28mbXyPP63eC7nc+JRe6ot1hZLDo8u5yzUt51au3 WKlZ8xPnLiDDy4Hac3i8sCHvh/k+eWfEVJUbNu45+PuFQGyieyHvzg0KdqyseWWAA2W7 /YiQ57DwPiZa4PbHKCiueCCeWD1orSCaxFipl/W71FEMKZXZn8nRktXHoXDNLBafM5R/ sMiKNKpBBrLup3rFMaLeB4EmK9z3l3tJ2zE5s/0bbw58XnRvVNaLKzc2joBbSYFN0vKB PZTXDITLlf9ajpIgT8g9mp8MyVSGTQeFXaGHfJmhpIFzzi7C3itiCaK4rShFyJJW3thr 8Ljw==
X-Gm-Message-State: AOJu0YwdTyYejnqv1HGgkZJqh++jN3bck2i73DsxeHchX2BAwc9bsbO1 UdUfltrJMwcPVuKIlFS+1Kc8M/LYI0blbkfYiiDcAyt1
X-Google-Smtp-Source: AGHT+IFHKvPkxjyVjX1ARLAhmcHrCc0BTw4MtkeXJJ8todvBZL+aivRVC4qo8YGZv6pMHcY6Jhi6Na/JMsU1jPZnL6s=
X-Received: by 2002:a0d:d713:0:b0:56d:d58:82b7 with SMTP id z19-20020a0dd713000000b0056d0d5882b7mr23415273ywd.23.1693061844515; Sat, 26 Aug 2023 07:57:24 -0700 (PDT)
MIME-Version: 1.0
References: <CADNypP_ve-rMFrioC0LS=NowESnTn1LSOU0pV4=K8hht4zy+Nw@mail.gmail.com> <CAODMz5FsmR7mxGuZk5=bOg4zP9PEAHhsWbnK7uvU_Q3ATKuc8g@mail.gmail.com> <CAGBSGjpWB5ynNQM5fLUwd9SoaN8hs-87aiMxPk4km9jVrfLHqw@mail.gmail.com> <CAODMz5GuGUhZWJZrbkGW_Pj0LefDQqsSCd++4ODMJBKCwR1Wcw@mail.gmail.com>
In-Reply-To: <CAODMz5GuGUhZWJZrbkGW_Pj0LefDQqsSCd++4ODMJBKCwR1Wcw@mail.gmail.com>
Reply-To: Dick.Hardt@gmail.com
From: Dick Hardt <dick.hardt@gmail.com>
Date: Sat, 26 Aug 2023 07:56:47 -0700
Message-ID: <CAD9ie-sgqfEF+Gf-XFVyeUF9QSbnXxryG+7Nb1bmp0cva2ssQA@mail.gmail.com>
To: Jaimandeep Singh <jaimandeep.phdcs21=40nfsu.ac.in@dmarc.ietf.org>
Cc: Aaron Parecki <aaron=40parecki.com@dmarc.ietf.org>, oauth <oauth@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000d340bf0603d4ad84"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/Elwn3x5LNHtpsDijYJf5Klgp8tM>
Subject: Re: [OAUTH-WG] Call for adoption - Protected Resource Metadata
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.39
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: Sat, 26 Aug 2023 14:57:52 -0000

Jaimandeep: Do I understand your objection to adoption is that providing a
resource discovery endpoint increases the attack surface as an
attacker gains knowledge about the resource?

If I understand that correctly, then you are suggesting security through
obscurity.

As mentioned by Aaron, there is no requirement for a resource to support
the resource metadata, and the metadata itself could be protected.

Practically though, I believe the argument that security is improved by not
having a resource discovery endpoint is false. Most resources have publicly
available documentation which will contain the same information, and while
the docs are not necessarily machine readable, LLMs can make it pretty
accessible.

Even if you wanted to keep it secret, if applications that use the resource
are readily available, how the applications interact with the resource can
be discerned through reverse engineering.
I think that a security consideration calling out that a malicious actor
more readily has access to the protected resource metadata is an adequate
response.

For my use case, the protected resource metadata is required for the
functionality I plan to implement. The AS has no prior knowledge about the
protected resource, and when a request is made, the AS learns about the PR
and presents the user with an experience based on the metadata for the user
to make a decision to grant access.

/Dick



On Fri, Aug 25, 2023 at 8:29 PM Jaimandeep Singh <jaimandeep.phdcs21=
40nfsu.ac.in@dmarc.ietf.org> wrote:

> Hi Aaron,
>
> Thx for your suggestions. I have reviewed the recordings and I would
> suggest following:
>
> 1. Design Consideration: The two components of the OAuth 2.0 ecosystem
> authorization server (step 1) and protected resource server (step 2) may
> appear independent, but from systems perspective there is a linear
> dependency between them. Directly engaging with step 2, even in a limited
> capacity, threatens the established sequence and poses substantial security
> and architectural implications.
>
> 2. Information Disclosure: Say I have my HIPPA record stored on a
> protected resource server, I don't want any app to even know that I have
> such a resource available with a protected resource server in the first
> place. The concept of exposing the mere existence of such data raises a
> glaring concern. Looking at Google, it has a fine-grained authorization
> strategy that meticulously limits access for its RESTRICTED scopes only to
> apps that meet certain security benchmarks. Once, the malicious apps come
> to know of the prized data at the resource server, it will lead to targeted
> phishing attacks, as was highlighted during the 117 meeting, underscoring
> the fragility of this approach.
>
> 3. The Imperative of Gradation and Minimal Exposure: Even if we have to go
> down this path, there is a definite need to mitigate the perils of
> overexposure. Instead we can look at gradation strategy, wherein the scopes
> could be categorized into levels, spanning from generic (Level 0) to
> tightly controlled (Level 5) access. There is no requirement of
> secondary URI in this appch. For instance, the sensitive scopes like level
> 3 and above, may mandate clients to support DPoP and OAuth 2.1. There is no
> need to divulge if a particular resource is present or not and not even the
> address of the authorization server.
>
> Thanks
> Jaimandeep Singh
>
>
> On Sat, Aug 26, 2023 at 7:03 AM Aaron Parecki <aaron=
> 40parecki.com@dmarc.ietf.org> wrote:
>
>> Hi Jaimandeep,
>>
>> As with many OAuth extensions, this is not obligatory to implement unless
>> you need the functionality it provides. Many of the concerns you mention
>> are referenced in the security considerations section of the draft already,
>> and we would of course be happy to further expand that section as
>> appropriate.
>>
>> As we presented during the last two IETF meetings, there are many use
>> cases that would benefit from this draft that currently don't have an
>> interoperable solution. I would suggest you review those presentation
>> recordings so better understand the use cases.
>>
>> Aaron
>>
>>
>>
>>
>> On Fri, Aug 25, 2023 at 12:31 PM Jaimandeep Singh <jaimandeep.phdcs21=
>> 40nfsu.ac.in@dmarc.ietf.org> wrote:
>>
>>> I do not support the adoption because of following:
>>>
>>> 1. Increased Attack Surface and Information Disclosure: The proposed
>>> draft inherently expands the attack surface by allowing the retrieval of
>>> detailed information about the protected resources held with a
>>> particular resource server, as outlined in section 3.1. We are
>>> inadvertently exposing the resources supported by the protected resource
>>> server. The secondary URIs which correspond to each of the protected
>>> resources further expands the potential attack vectors. To illustrate, if a
>>> protected resource server supports resources from 1 to 10, and a client
>>> requests metadata for all these resources, it leads to 11 requests (1 +
>>> 10). This exposes a total of 11 URIs to potential attackers with
>>> information disclosure.
>>>
>>> 2. Lack of Client Verification and Potential DDoS Vulnerability: There
>>> is absence of client application verification before it accesses the APIs.
>>> This can lead to the possibility of malicious client applications
>>> initiating Distributed Denial of Service (DDoS) attacks.
>>>
>>> 3. Impact on Processing Time due to Multiple Resources: The need to
>>> wildcard match/support numerous secondary URIs based on the number of
>>> protected resources could lead to increased processing time.
>>>
>>> 4. Strengthening the Existing System with Adequate Error Codes: Our
>>> existing OAuth RFC, can handle this issue gracefully by incorporating error
>>> codes. This ensures that, at the very least, access tokens are verified
>>> before any specific information is disclosed.
>>>
>>> Thanks
>>> Jaimandeep Singh
>>>
>>> On Thu, Aug 24, 2023 at 12:32 AM Rifaat Shekh-Yusef <
>>> rifaat.s.ietf@gmail.com> wrote:
>>>
>>>> All,
>>>>
>>>> This is an official call for adoption for the *Protected Resource
>>>> Metadata* draft:
>>>> https://datatracker.ietf.org/doc/draft-jones-oauth-resource-metadata/
>>>>
>>>> Please, reply on the mailing list and let us know if you are in favor
>>>> of adopting this draft as WG document, by *Sep 6th.*
>>>>
>>>> Regards,
>>>>  Rifaat & Hannes
>>>>
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>
>>>
>>>
>>> --
>>> Regards and Best Wishes
>>> Jaimandeep Singh
>>> LinkedIn <http://www.linkedin.com/in/jaimandeep-singh-07834b1b7>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>>
>>
>
> --
> Regards and Best Wishes
> Jaimandeep Singh
> LinkedIn <http://www.linkedin.com/in/jaimandeep-singh-07834b1b7>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>