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

Aaron Parecki <aaron@parecki.com> Wed, 24 February 2021 13:45 UTC

Return-Path: <aaron@parecki.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E829F3A15DC for <ietf@ietfa.amsl.com>; Wed, 24 Feb 2021 05:45:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, 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=parecki.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 0AAklBijSvH0 for <ietf@ietfa.amsl.com>; Wed, 24 Feb 2021 05:45:07 -0800 (PST)
Received: from mail-il1-x12d.google.com (mail-il1-x12d.google.com [IPv6:2607:f8b0:4864:20::12d]) (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 CF8313A15DA for <ietf@ietf.org>; Wed, 24 Feb 2021 05:45:06 -0800 (PST)
Received: by mail-il1-x12d.google.com with SMTP id i18so1707908ilq.13 for <ietf@ietf.org>; Wed, 24 Feb 2021 05:45:06 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=parecki.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=EffAmbWZfwFmvFsqfhpIW0638sLeFVG5R0SAoTjulKY=; b=WXQxDvtVf4E2p8Q4wiABqoxuWxp7oXw6iOl/ndoeaQ5grmsbF6HFSRQ3iiCm8qkfsS 3BLOqtWcrJEPAhoWfr6ZgVBvdhtsDTJ6gPTuI8+qZj8vCQNZ9I8KcfByr/Fe/KC5mmIg mzvCwy3Qf6hPhbox71ytCTFf9rB+XXVHRONJRSHwkX4T3lCQn6VC3EgUMVYZfWymrgTF nOfl/xTkCs6K8qPkb9G4GI9pFil/jPsm8WtE/mV0XC/0koe6i1orbYOwsOFlSCPJZL3s tZlLk1MKjEbuG+jtiSIvMmtciavxI8euVyJMZIQn+IGmtFxxYaFGteMbjLAQuYlJ6ANk IIhQ==
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=EffAmbWZfwFmvFsqfhpIW0638sLeFVG5R0SAoTjulKY=; b=VntKjlfDiTIx5dTQtJJXXqNLDervT270+89f8TA6nlwqChrGxuRSq4Sxtk2l/xXs5y fY5T8x/LIWpthYYyJiiJOLSPDapxOcM6tOnxx+mgApP/TPjysklNVXf2OfGsJTuJFbXR eQMYYFIqjDR5/MwaBTfkTxpMDqmxNo9+ErzdVQKhm70EfzqdYF5ngnJOdEsrVB2CRqYY W98zTS5/V8Drr8ikO9zu35mkUcaf52Mp+JSXvO6RReAziwc3FHbhYQOCntAepb3E1OIx pScabXCCgzl7bBzbE8pCvOdf+ZjTdSx7HtrRdqCvdj1ixeRqGDm/sPw3SN7D0qf5XZ3S OrMg==
X-Gm-Message-State: AOAM530bKTbdB8WpR5zULclf0GdzMbjvc+H/rBy4FyZL6oJUOWXABupl M+URxN7qaCwfaRJu7hGVQmKD2jDaJifdzlk6
X-Google-Smtp-Source: ABdhPJw3ZqfBXERP44AgEaywYeyiLOjzaMYs8mJ2go2kaoiwTXlrNoRSmexXfzh3ZDuqByRLmXMFZQ==
X-Received: by 2002:a05:6e02:1d95:: with SMTP id h21mr24380541ila.151.1614174305597; Wed, 24 Feb 2021 05:45:05 -0800 (PST)
Received: from mail-il1-f178.google.com (mail-il1-f178.google.com. [209.85.166.178]) by smtp.gmail.com with ESMTPSA id q15sm1651360ilt.30.2021.02.24.05.45.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 24 Feb 2021 05:45:05 -0800 (PST)
Received: by mail-il1-f178.google.com with SMTP id h18so1749139ils.2; Wed, 24 Feb 2021 05:45:04 -0800 (PST)
X-Received: by 2002:a92:d7ce:: with SMTP id g14mr11252263ilq.255.1614174304419; Wed, 24 Feb 2021 05:45:04 -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> <02A263F5-8109-4D3B-A684-D9B574260B50@forgerock.com>
In-Reply-To: <02A263F5-8109-4D3B-A684-D9B574260B50@forgerock.com>
From: Aaron Parecki <aaron@parecki.com>
Date: Wed, 24 Feb 2021 05:44:53 -0800
X-Gmail-Original-Message-ID: <CAGBSGjqGgYfcw+jqE+Y-JP_oXcHPMwhsqrO7vE=ReUXEqdLAzg@mail.gmail.com>
Message-ID: <CAGBSGjqGgYfcw+jqE+Y-JP_oXcHPMwhsqrO7vE=ReUXEqdLAzg@mail.gmail.com>
Subject: Re: [OAUTH-WG] We appear to still be litigating OAuth, oops
To: Neil Madden <neil.madden@forgerock.com>
Cc: Bron Gondwana <brong@fastmailteam.com>, Phillip Hallam-Baker <phill@hallambaker.com>, ietf@ietf.org, "oauth@ietf.org" <oauth@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000000546fd05bc153e79"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf/mK6J4EgZ5zkRtD9SiWo6fw1kbj4>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Feb 2021 13:45:09 -0000

> You type your email address into {The Bat} to begin configuration. {The
Bat} does discovery [1][2] to locate the OAuth/OIDC server for {My ISP}.
The discovery document reveals that {My ISP} supports open dynamic client
registration [3][4] so {The Bat} registers and gets issued with a client id
and client secret. {The Bat} then does a normal OAuth flow to get an access
token to access your emails from {My ISP}. If you later stop using {The
Bat} you can go to your page on {My ISP} and revoke its access because it
has a unique client id.

Like Neil says, the building blocks are all already there. The fact that
companies choose not to use them is not because the technology isn't there,
it's because it's a business problem.

I'd be thrilled if the NxM problem were solved in practice, but
unfortunately that doesn't seem to be what's happened in the market. The
technical solution has been there a long time, so there's something else
going on.

When I've brought up this topic in the past, most of the responses I've
gotten from the "big players" are along the lines of "lol we're not going
to let someone's software talk to us unless we have a legal arrangement
with the developer". The fact that dynamic client registration is barely
used is more because these service operators want the software developers
to agree to their terms of service before being able to access APIs.

This is all to say that I agree it'd be nice to solve this problem, but in
the end, the IETF can't tell companies what to do with their products and
services.

Aaron




On Wed, Feb 24, 2021 at 4:21 AM Neil Madden <neil.madden@forgerock.com>
wrote:

> On 24 Feb 2021, at 11:39, Bron Gondwana <brong@fastmailteam.com> wrote:
>
>
>
> […]
>
>
> Let's get down to use cases then, rather than talking in abstracts.
>
> I'm an end user with a copy of {The Bat email client} and I want to
> connect it to {Gmail} + {Yahoo} + {My ISP}.  It supports {POP3}, a widely
> popular open standard.  I want to be able to authenticate to each of those
> services without saving my plaintext passwords on my hard disk where the
> next {Windows ME} virus will exfiltrate them to {Noextraditionistan} and
> all my {Dogecoin} will then be exfiltrated from my {Paybuddy} account,
> leaving me destitute.
>
> But, {The Bat} doesn't have a trusted client cert from my isp, because who
> does - so there's no good protocol for me - it's either plaintext auth, or
> it's some architecture astronaut multi-party nonsense that's massively over
> specified and doesn't work half the time.  So I write a plain text password
> on a post-it note which is lying in the dust under my monitor because the
> glue has gone bad, and I hope I never accidentally click "remember me" when
> I type it in.
>
> That's been the reality of the end user experience for very many years.
>
> NxM means that you can authenticate an arbitrary client against an
> arbitrary server so long as they are both speaking a known public protocol,
> without needing to build a trust relationship between the client vendor and
> the server vendor first.
>
>
> Does the following meet your needs?
>
> You type your email address into {The Bat} to begin configuration. {The
> Bat} does discovery [1][2] to locate the OAuth/OIDC server for {My ISP}.
> The discovery document reveals that {My ISP} supports open dynamic client
> registration [3][4] so {The Bat} registers and gets issued with a client id
> and client secret. {The Bat} then does a normal OAuth flow to get an access
> token to access your emails from {My ISP}. If you later stop using {The
> Bat} you can go to your page on {My ISP} and revoke its access because it
> has a unique client id.
>
> [1]: https://openid.net/specs/openid-connect-discovery-1_0.html
> [2]: https://tools.ietf.org/html/rfc8414
> [3]: https://openid.net/specs/openid-connect-registration-1_0.html
> [4]: https://tools.ietf.org/html/rfc7591
>
>
> Any "trust relationship" is made through a user both who trusts the client
> and trusts the server, and it's not transitive over to other users of the
> same client and the same server.  The client author doesn't need to get a
> signed "I trust you" from every single server, and the server author
> doesn't have to go identify every single client.
>
> That's what NxM means to a user, the ability to use arbitrary clients with
> arbitrary servers so long as they both implement a documented protocol.
> Interoperability.
>
>
> That’s fine for your use-case, but that isn’t everybody’s use-case. Other
> use-cases (such as Open Banking) involve regulatory or policy frameworks in
> which open dynamic client registration is not appropriate. JMAP could have
> an RFC describing the use of OAuth with JMAP that mandates open dynamic
> client registration and discovery.
>
>
> — Neil
>
>
> ForgeRock values your Privacy <https://www.forgerock.com/your-privacy>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
-- 
---
Aaron Parecki
https://aaronparecki.com