Re: [OAUTH-WG] We appear to still be litigating OAuth, oops

Jeff Craig <jeffcraig@google.com> Fri, 26 February 2021 21:59 UTC

Return-Path: <jeffcraig@google.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 459473A0CC1 for <oauth@ietfa.amsl.com>; Fri, 26 Feb 2021 13:59:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.598
X-Spam-Level:
X-Spam-Status: No, score=-17.598 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 J6IVWsHpKq4j for <oauth@ietfa.amsl.com>; Fri, 26 Feb 2021 13:59:21 -0800 (PST)
Received: from mail-il1-x131.google.com (mail-il1-x131.google.com [IPv6:2607:f8b0:4864:20::131]) (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 5626A3A0CD9 for <oauth@ietf.org>; Fri, 26 Feb 2021 13:59:11 -0800 (PST)
Received: by mail-il1-x131.google.com with SMTP id o1so9293844ila.11 for <oauth@ietf.org>; Fri, 26 Feb 2021 13:59:11 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=0mo5kSM5uOXr0KRtpFXNSYSKx376YyXV/5Cp7AlExrA=; b=q9HYQ4ycrxZcyveBuCm3zTTwOTt2uPtej6Xb01sE4p7M0MiPQ8K0Uu7qsKE9o/3L0f 3lV8J9SJ6dx2zDthauHSMI1Za0EhUxhw/DMdkdpvnYiFVGrq4OUYSmlzM/Nk6GlADrX5 JAH1usrIfl+ivRiPBegEKbCyO2xIb90VHFrF2nlFNDXwcWXptoG9sCvX/WqJDwmceLAB Moyr/iw4pQq+Q+8yABP3wSzN2BH8KWikgUO9BDEoiSmi7UCsFGAlfVPrIocPHtX4wSYv 2unhavvuL+NslXqGGC+RjIQSelcPKINOKxtODSqLuYf/agx7kbXL90ccAwHlyNvpPhoa STQQ==
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=0mo5kSM5uOXr0KRtpFXNSYSKx376YyXV/5Cp7AlExrA=; b=lWqjAgJDQvidi4Vdgs+V1Y2PBXDx+udIsgJu6me7IKy4sXdfqJqKSxh2ZhsH3iLwID /CJe3AtuJvIh/s+DH93kaPlVLEl6ORvjAFJ1YDPjwfa4hZaunMAfUloHAPj6NOZ8RUaX 1iHL3TUAs5c9sOL4OXsvtIhzZOEW3yJvDYsEC9MjsNZdntk+kCOBkZckkpLoYbLmSUXo uk/Okz/auFgXReUwhtIIZW+a4ro3rej2t+LgrAoeNTdllQvgGfHOdNUptiz+xKNxK96p QswZvUvrfNUci9CZElfW7Yult8xEHKgrL3G5zxlFyrw+kESbSdG6jGswyRCMGY1V7e0g h8/g==
X-Gm-Message-State: AOAM533IIjVnjFcd4zu3AbB99YXy8aMFfUwNlWEXIkpv9LYXqfYcQEHy nOMq3FP6Q0B4ADWbnsM/qNSkgxqr61LJupNTROyHLA==
X-Google-Smtp-Source: ABdhPJyN7yFOxvYdKLz1gj8sj86qjbl0ZTToCVb4nInqSRO3OOf1IzaTiuh7LrhiWz9o/qk4qDfQyDgNzf3YfNd+mmc=
X-Received: by 2002:a92:cb49:: with SMTP id f9mr4006813ilq.0.1614376750338; Fri, 26 Feb 2021 13:59:10 -0800 (PST)
MIME-Version: 1.0
References: <CAMm+LwgbK3HYDjSHnTN3f6hWSQCQrEjHLNn6z0JpfY7hdxaQpg@mail.gmail.com> <A8128346-B557-472F-B94F-8F624F955FCE@manicode.com> <eb2eaaa7-7f7e-4170-ab87-1cc1fdd3359b@www.fastmail.com> <CAJot-L0PS_3LxEkC-jd1aqXDdYF+z8BajSs4Rhx3LgRPn6wkdQ@mail.gmail.com> <DAB127D7-809F-4EC2-A043-9B15E2DB8E07@tzi.org> <CAJot-L1e8GegjXjADRQ87tGqnSREoO4bEKLX+kPkZFsQpevGQA@mail.gmail.com> <66be0ffe-a638-45a0-ba05-1585ea02e6bf@www.fastmail.com> <CAJot-L2KO2dOzZQJJeB1kbk6_KTQwUYUsoJOoRt=9maynS1jZg@mail.gmail.com> <121f52be-4747-45f3-ad75-79fa2f693d75@beta.fastmail.com> <E84B4446-5F74-402B-8071-A1164EF0B02C@mit.edu> <6b5d0e34-340f-4f93-83ef-817d4624ec7d@dogfood.fastmail.com> <CAPLh0AMfncjJ0iaZ5gmzrh1D0Z7WCOtG-+6GZkmzfQuAttsBtw@mail.gmail.com> <CAPLh0AMEnbak8=6boESQCgTd=Au4V9O=wCqGCz5qEU-d3y0g5g@mail.gmail.com> <6E2CD5EE-55D9-403A-835D-032ECA39CBFB@mit.edu> <CAJot-L1x_AxjQAH7uJ+GsW1jcc93b8ijJ7uyiVRRDZtZf=NXCw@mail.gmail.com> <CAGBSGjqE4XKQmx2B8Lvh4faazfZPYqAYBy2NhSrewaBmEEBzpw@mail.gmail.com> <6A4ABDE3-7175-4E5B-8807-437EE3CE427D@alkaline-solutions.com> <CAGBSGjrHLF_5HQSM3znJDFbfeefBO0Ahv6UW=u4xFiJocVPkEg@mail.gmail.com>
In-Reply-To: <CAGBSGjrHLF_5HQSM3znJDFbfeefBO0Ahv6UW=u4xFiJocVPkEg@mail.gmail.com>
From: Jeff Craig <jeffcraig@google.com>
Date: Fri, 26 Feb 2021 15:58:58 -0600
Message-ID: <CAKhDPzOrfBwoKUZxNQT-5wRqD=n1=6uPLjCDxEnLuESKZQ0Acw@mail.gmail.com>
To: Aaron Parecki <aaron@parecki.com>
Cc: David Waite <david@alkaline-solutions.com>, Bron Gondwana <brong@fastmailteam.com>, Phillip Hallam-Baker <phill@hallambaker.com>, "oauth@ietf.org" <oauth@ietf.org>, IETF-Discussion Discussion <ietf@ietf.org>, Warren Parad <wparad=40rhosys.ch@dmarc.ietf.org>
Content-Type: multipart/alternative; boundary="000000000000bd3aec05bc4460df"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/W-kXERVjtBl9lQg-fTBZUcyKSBA>
Subject: Re: [OAUTH-WG] We appear to still be litigating OAuth, oops
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: Fri, 26 Feb 2021 21:59:25 -0000

On Fri, Feb 26, 2021 at 3:50 PM Aaron Parecki <aaron@parecki.com> wrote:

> > Do you disagree that this gives them control over which things talk to
> their servers?
>
> Yes -- with a public client, I can impersonate a "real" app and it's
> basically non-detectable by the AS. For a theoretical example, if I wanted
> to use the Instagram API but they restrict which apps can upload photos to
> only their own mobile apps, I can find the client ID of their own app, then
> do an OAuth flow using their own client ID, and without a client secret it
> looks the same as their own client. I'm unlikely to be able to get
> arbitrary users to authorize my app because of limits and checks on the
> redirect URI, but I can certainly do it myself for my own account. This is
> the sort of false sense of security provided by the client registration
> step I'm talking about.
>

The fact that you're unlikely to be able to get arbitrary users authorized
as the client is precisely the attack vector that registration is meant to
avoid. The fact that any reasonably sophisticated AS is going to use
additional signals (Referer headers, etc) to limit the scope of the Public
Client to make hijacking harder, which is only possible with registration,
is another line of defense. OAuth doesn't need to protect *your* data from
you, it needs to protect other people's data from you, and registration
offers more opportunities to collect signals that can be used to protect
users.

None of it's perfect, and I agree that there are problems in the
app-identification space that need some additional work, but the
registration friction does serve a purpose in a lot of cases.


>
> I'd love to solve the app identity problem too, but that's only possible
> with cooperation from the mobile OSs.
>
> Aaron
>
> On Fri, Feb 26, 2021 at 1:36 PM David Waite <david@alkaline-solutions.com>
> wrote:
>
>>
>>
>> > On Feb 26, 2021, at 9:32 AM, Aaron Parecki <aaron@parecki.com> wrote:
>>
>> > The point is that basically nobody uses it because they don't want to
>> allow arbitrary client registration at their ASs. That's likely due to a
>> combination of pre-registration being the default model in OAuth for so
>> long (the Dynamic Client Registration draft was published several years
>> after OAuth 2.0), as well as how large corporations have decided to run
>> their ASs where they want to have (what feels like) more control over the
>> things talking to their servers.
>>
>> Do you disagree that this gives them control over which things talk to
>> their servers?
>>
>> FWIW my personal mental model here is pretty simple:
>>
>> With users, there are services you provide anonymously and services you
>> provide only to registered/authenticated/trusted parties for various
>> reasons. Once you are delegating user access, you still have many of the
>> same reasons to provide access to anonymous or
>> registered/authenticated/trusted delegates.
>>
>> Dynamic registration arriving later and requiring additional complexity
>> has unfortunately encouraged registration in use cases where anonymous
>> clients might have been acceptable, but shifting the timelines or
>> complexity balance would not  have changed business needs for
>> authentication and trust of delegates. Omitting registration would have
>> caused businesses to use other protocols that met their needs.
>>
>> If AS’s are only getting what feels like proper control for their
>> business needs, we should attempt to give them the actual control they
>> require.
>>
>> -DW
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>