[OAUTH-WG] Re: Call for adoption - First Party Apps

Dick Hardt <dick.hardt@gmail.com> Tue, 10 September 2024 11:06 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 A78FFC14F6EF for <oauth@ietfa.amsl.com>; Tue, 10 Sep 2024 04:06:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 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_DNSWL_BLOCKED=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] autolearn=ham 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 XT0_xaWhFLW5 for <oauth@ietfa.amsl.com>; Tue, 10 Sep 2024 04:06:34 -0700 (PDT)
Received: from mail-yb1-xb31.google.com (mail-yb1-xb31.google.com [IPv6:2607:f8b0:4864:20::b31]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E5E6FC14F6FF for <oauth@ietf.org>; Tue, 10 Sep 2024 04:06:34 -0700 (PDT)
Received: by mail-yb1-xb31.google.com with SMTP id 3f1490d57ef6-e1d2cf4cbf1so5432086276.1 for <oauth@ietf.org>; Tue, 10 Sep 2024 04:06:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1725966394; x=1726571194; darn=ietf.org; 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=0Pc1BH9/j/LWXwHYLHbRFabvy0b0fv055/trNfPc1BE=; b=QWJDqeajG8BF1N3d/FPnxHBKvC772W7VaSvGBTuUAPhpYj6SuisE2bs/ofihzEvP5T nIsn0bbETt8mtDWnxNM7UByyqfTBNum4V8NBTDVJJTJnhDjq6AFDs6noiOrYvuc5tWz3 ThxxjPTsGXdobrlCt3Q4mtO/7Fw7go1a+g75mw9K7BVql8mFrNccnq2l1FImQdI5rXVa MJrU75BJEQgMfL+K2kurNwuMElwqKWFaJpQOMGOYJKW8sC58LHNi8Pa0O8ADPWBsJFYF LuGQfuwGSSrc94xx6p5ba3JB17Dv/zgtyF6FrExUvNKB4lCJI7k7xeV38GmcY7jQ3YHH BzJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725966394; x=1726571194; 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=0Pc1BH9/j/LWXwHYLHbRFabvy0b0fv055/trNfPc1BE=; b=M7wkHa0YlDAl0G3D/C30uxO2hPVTqPeWWk5XYtbtRmlrZ2pIukqTqx+LM5qW3Z6G+f 119/o02GtK8OuAYOtrrAPPOVfdDWiHdhvv3qE+BaDRsWMae51IWYJzTxQrudrfF0w4hW acBP84rGPyHno0s9DGCcx8XvZAy1MHa+T5DU8tYOpSQnqUxScKcVqI6xsY/x/4ITEQrT J0ZitHn2eDRXVZ+VyqCrjr2a8lEPWOq6IEbqYJoJEyk6oqH9xh2pr8htUdAHGBZbrFh9 TR7+43iiTCmNyxS+MNUeQRkiSURLQSDehAkde9c6U0glqgGIm6FgOqgVUuH8van6fBNY Nnzw==
X-Forwarded-Encrypted: i=1; AJvYcCUqawlYJl2l/nw2tRgiTWG3BR21yxQhvFVjUfOd3oLd+SIS53YoGhkaAzlsVybAiYPw1fSc/Q==@ietf.org
X-Gm-Message-State: AOJu0Yz2d04reDjD9rluYOrobGSQfv03BlpGujtKVvae77tFaj9uZplm TF85b++QpHZ6OBeJbxPWzzt9ULSRR0hHmwn47M8eSiCyqratqe8VO+YP5DzU1TUEYWTciDbIQ8i EUvpBvq4Q7fos0G1VlRruxt0Pp8c=
X-Google-Smtp-Source: AGHT+IFO/VXxVEETcgcZyCbRUUeZE+J0EP+UTq5fkcovNlJU8Gep2jrhhpOdO2FsPTugxXlXbQ4kmaadpZ6US8nVEoM=
X-Received: by 2002:a05:6902:2293:b0:e11:6348:5d95 with SMTP id 3f1490d57ef6-e1d348a1b9cmr14701353276.7.1725966393763; Tue, 10 Sep 2024 04:06:33 -0700 (PDT)
MIME-Version: 1.0
References: <CAD9ie-uur2NSN+BBMFfhv9UcfZtmQsByUhpyr1huvQiC+5PX8g@mail.gmail.com> <F68A8B14-8511-49E6-A06F-5BBE5EE549CC@gmail.com>
In-Reply-To: <F68A8B14-8511-49E6-A06F-5BBE5EE549CC@gmail.com>
From: Dick Hardt <dick.hardt@gmail.com>
Date: Tue, 10 Sep 2024 12:05:57 +0100
Message-ID: <CAD9ie-tCLVmr0HROn3B+cV8pixUvXnNtswGFvk4P=TmiTUsJbg@mail.gmail.com>
To: Neil Madden <neil.e.madden@gmail.com>
Content-Type: multipart/alternative; boundary="000000000000cb71c40621c1ddfd"
Message-ID-Hash: YUFJZDN45SMZ7M4W6EKPLA6OUMPS3RQJ
X-Message-ID-Hash: YUFJZDN45SMZ7M4W6EKPLA6OUMPS3RQJ
X-MailFrom: dick.hardt@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-oauth.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: oauth <oauth@ietf.org>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Reply-To: Dick.Hardt@gmail.com
Subject: [OAUTH-WG] Re: Call for adoption - First Party Apps
List-Id: OAUTH WG <oauth.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/7-vBRQjXv0Qhg4IhFoRvdQ9gKTQ>
List-Archive: <https://mailarchive.ietf.org/arch/browse/oauth>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Owner: <mailto:oauth-owner@ietf.org>
List-Post: <mailto:oauth@ietf.org>
List-Subscribe: <mailto:oauth-join@ietf.org>
List-Unsubscribe: <mailto:oauth-leave@ietf.org>

I agree with you that how we a 1P AS authenticates the user needs to be
carefully examined. You may be correct that how it is done needs to be
revised.

My point is that many deployments are 1P deployments, and the protocol can
be simpler for those use cases, which is the objective of the draft from
my perspective. I think we should work on developing a best practice for 1P
deployments. Do you not agree with that? We can argue over how to do it
later.


On Tue, Sep 10, 2024 at 11:59 AM Neil Madden <neil.e.madden@gmail.com>
wrote:

> I know that apps that accept credentials directly are common place. But
> the direction of travel has so far been to discourage that: eg deprecating
> ROPC, requiring use of an external vs embedded user-agent etc. (Sorry, I
> misremembered: it’s BCP 212 that requires this, not the security BCP — and
> it has a lot of good rationale for that decision).
>
> 3rd party apps follow where first-party apps lead.
>
> — Neil
>
> On 10 Sep 2024, at 11:14, Dick Hardt <dick.hardt@gmail.com> wrote:
>
> 
> Neil
>
> Users input credentials directly into apps all the time in OAuth -- it is
> at the AS.
>
> There are many deployments that use OAuth where the AS and RS are the same
> party. The objective of this draft (as I understand it) is to provide a
> simplified OAuth flow for this use case. The BCP does not address this use
> case.
>
> Why would we not want to provide a best practice for deployments where the
> AS and RS are the same party? We will likely improve the security of those
> deployments over them making up their own protocol, won't we?
>
> /Dick
>
>
>
> On Tue, Sep 10, 2024 at 10:20 AM Neil Madden <neil.e.madden@gmail.com>
> wrote:
>
>> The draft is motivated by allowing native apps to provide a login journey
>> for OAuth rather than using the browser. This encourages people to input
>> credentials directly into apps, which (a) directly contradicts the advice
>> in the security BCP, and (b) opens up users to significantly more attack
>> vectors (including that the phishing-resistance of FIDO is significantly
>> weakened). We shouldn’t be encouraging this.
>>
>> — Neil
>>
>> On 5 Sep 2024, at 15:48, Tim Cappalli <tim.cappalli@okta.com> wrote:
>>
>> 
>> IMO, we're getting very off topic here. The WebAuthn text is not part of
>> the draft being called for adoption.
>>
>> On Thu, Sep 5, 2024 at 2:15 AM Neil Madden <neil.e.madden@gmail.com>
>> wrote:
>>
>>> On 5 Sep 2024, at 05:45, David Waite <david@alkaline-solutions.com>
>>> wrote:
>>> >
>>> > 
>>> >
>>> >> On Sep 4, 2024, at 4:27 PM, Neil Madden <neil.e.madden@gmail.com>
>>> wrote:
>>> >>
>>> >>> On 4 Sep 2024, at 22:48, Watson Ladd <watsonbladd@gmail.com> wrote:
>>> >>>
>>> >>> I can always grab the cookie jar off the user browser if I have that
>>> >>> level of access.
>>> >>
>>> >> USB access is not privileged, but that’s beside the point.
>>> >
>>> >>
>>> >> Put another way, the phishing-resistance of WebAuthn only really
>>> makes sense in a world of sandboxed apps: web apps, mobile apps. Any spec
>>> that encourages the use of OAuth auth flows outside of such sandboxed
>>> environments, as this one potentially does, is going to make defending
>>> against phishing harder.
>>> >
>>> > The client is not an identified/authenticated component in the
>>> architecture, so there is a user trust required in using a client - that
>>> the client actually is an agent acting in the user’s interest rather than
>>> acting maliciously.
>>> >
>>> > Platforms have the ability to provide specific API for these
>>> interactions to become a trustworthy client, and to block privileged access
>>> (including access to speak directly to hardware) behind audited
>>> entitlements to prevent from installed software acting as a malicious
>>> client.
>>>
>>> Right, this is what I mean by sandboxed.
>>>
>>> >
>>> > Note that some platforms also provide entitlements and heuristics for
>>> password manager access - however, as a knowledge-based system the platform
>>> cannot really prevent malicious applications from still attempting to
>>> manipulate their way to credential phishing.
>>> >
>>> >>
>>> >> (I’d also question why first-party apps need a standardised API for
>>> this anyway: they can do whatever they like using proprietary APIs already).
>>> >
>>> > I would struggle to come up with standards-track RFCs which would not
>>> be able to instead be accomplished with proprietary APIs. The editors and
>>> working groups found value in peer review and in interoperability.
>>>
>>> Standards are for promoting interoperability, not for getting free peer
>>> review of private APIs.
>>>
>>> >
>>> > I have seen the pitfalls of a proprietary approach to this and would
>>> say peer review is important. My primary concern is whether we can have a
>>> clients that authenticate against multiple implementing ASes based solely
>>> on this work. Profiling authentication methods like passkey-based
>>> authentication would go a long way toward alleviating that concern.
>>> >
>>> > -DW
>>>
>>> _______________________________________________
>>> OAuth mailing list -- oauth@ietf.org
>>> To unsubscribe send an email to oauth-leave@ietf.org
>>>
>> _______________________________________________
>> OAuth mailing list -- oauth@ietf.org
>> To unsubscribe send an email to oauth-leave@ietf.org
>>
>