Re: [OAUTH-WG] OAuth 2.1: dropping password grant

Torsten Lodderstedt <torsten@lodderstedt.net> Wed, 19 February 2020 21:35 UTC

Return-Path: <torsten@lodderstedt.net>
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 BEE2F120816 for <oauth@ietfa.amsl.com>; Wed, 19 Feb 2020 13:35:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=lodderstedt.net
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 eMLYBYy-BQ1Q for <oauth@ietfa.amsl.com>; Wed, 19 Feb 2020 13:35:21 -0800 (PST)
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [IPv6:2a00:1450:4864:20::430]) (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 23849120859 for <oauth@ietf.org>; Wed, 19 Feb 2020 13:35:21 -0800 (PST)
Received: by mail-wr1-x430.google.com with SMTP id g3so2239382wrs.12 for <oauth@ietf.org>; Wed, 19 Feb 2020 13:35:21 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lodderstedt.net; s=google; h=content-transfer-encoding:from:mime-version:subject:date:message-id :references:cc:in-reply-to:to; bh=8DkU+UtO7rqiiENqM0SIKx77TeYEZXCBsVPLdpL3aro=; b=VFwW+onEkSKMlmszE0HlixdqBTopZHyJZM7HI7olctanxCGyZ5/33CKFzKizTu2sTr FGuHYj4Sk80EnSxl9QRAjQfXQ8JdzGd35yuNip/43PwNP0A/UAzBtWQeD4xRbU/lNaiv y3glaUA6Rqk7WL5rjXrnsWz+wqnPQh62Efz9P7ebdRtMBnFaRGMDcJK7qAs1OjxYt/NR +JjtWuJSpv6vKwtJ2oE0OPxbLvZrW86w0xgoftwFTUltAcFSrPWnp391fYTCBNzBl2wV HE1INoT6hMbpv9NCYfVjfcYNK0KkGKwHTXmU3SnRZvb0T7hMYp4QvAxtzfCV0GJcAvJQ WM4w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:content-transfer-encoding:from:mime-version :subject:date:message-id:references:cc:in-reply-to:to; bh=8DkU+UtO7rqiiENqM0SIKx77TeYEZXCBsVPLdpL3aro=; b=t760XGoNlX6gTYCQKSW9nLgMG/aOS131+vd+it1Zd/eZBju9wkH8m3TRYrJJbR22qN golk83mtZDDjSLG9KaBJOkChiiITTzqaqAEjMjlDqnBID5DnMjcqG45Sy8Abv929syRC 3eAMQL5vD/j7j/WeZNnm+6B2zpM7VuaFoK15os2LQ++admwyfGTewS/qBlivKmKt5xSq pf7NQxQNK5H1VUG5D3vmPbW4ufrHYPM4v2dsg89BLQ/lVhwLiDTpDHIxSlwu2INXKRdt 51I9zbDdkw7uJz1ygA3avYMzLbXYK6vGdq09rYk4XPMr8TOSM2oEt1qeSB/EVZLjyhxA UAlw==
X-Gm-Message-State: APjAAAXw3Ma2km/GfSmN+g5epQE1ZUfZMmWBPuHwz6Vv7mzXTsDjTeRJ /0yYFh8GI0WD6XZvXbq66dqMa87sww3QMQ==
X-Google-Smtp-Source: APXvYqxW6P6XKGFg35CmuIjntx+Qz/JW9MDwgMPtGez64OqRKk5eHVEfPiyQJj42alba+VHf0umHRw==
X-Received: by 2002:adf:b605:: with SMTP id f5mr36196487wre.383.1582148119327; Wed, 19 Feb 2020 13:35:19 -0800 (PST)
Received: from ?IPv6:2003:eb:8f11:fd23:f898:e0c8:d900:c3ec? (p200300EB8F11FD23F898E0C8D900C3EC.dip0.t-ipconnect.de. [2003:eb:8f11:fd23:f898:e0c8:d900:c3ec]) by smtp.gmail.com with ESMTPSA id h10sm1445833wml.18.2020.02.19.13.35.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 19 Feb 2020 13:35:18 -0800 (PST)
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
From: Torsten Lodderstedt <torsten@lodderstedt.net>
Mime-Version: 1.0 (1.0)
Date: Wed, 19 Feb 2020 22:35:17 +0100
Message-Id: <7C28AD9B-428E-4FB3-B41A-E707D0C1A296@lodderstedt.net>
References: <3A39A586-7ABE-4CA2-BAE0-ED3FD197C4BB@forgerock.com>
Cc: Hans Zandbelt <hans.zandbelt@zmartzone.eu>, Anthony Nadalin <tonynad=40microsoft.com@dmarc.ietf.org>, "oauth@ietf.org" <oauth@ietf.org>
In-Reply-To: <3A39A586-7ABE-4CA2-BAE0-ED3FD197C4BB@forgerock.com>
To: Neil Madden <neil.madden@forgerock.com>
X-Mailer: iPad Mail (17D50)
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/KyoKATqGyEJI0dtiWSlJ1lC0Gp4>
Subject: Re: [OAUTH-WG] OAuth 2.1: dropping password grant
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: Wed, 19 Feb 2020 21:35:32 -0000

Can you explain more in detail why the client credentials grant type isn’t applicable for the kind of use cases you mentioned?

> Am 19.02.2020 um 22:03 schrieb Neil Madden <neil.madden@forgerock.com>om>:
> 
> I very much agree with this with regards to real users. 
> 
> The one legitimate use-case for ROPC I’ve seen is for service accounts - where you essentially want something like client_credentials but for whatever reason you need the RO to be a service user rather than an OAuth2 client (typically so that some lower layer of the system can still perform its required permission checks).
> 
> There are better grant types for this - e.g. JWT bearer - but they are a bit harder to implement. Having recently converted some code from ROPC to JWT bearer for exactly this use-case, it went from a couple of lines of code to two screens of code. For service to service API calls within a datacenter I’m not convinced this resulted in a material increase in security for the added complexity.
> 
> — Neil
> 
>> On 18 Feb 2020, at 21:57, Hans Zandbelt <hans.zandbelt@zmartzone.eu> wrote:
>> 
>> I would also seriously look at the original motivation behind ROPC: I know it has been deployed and is used in quite a lot of places but I have never actually come across a use case where it is used for migration purposes and the migration is actually executed (I know that is statistically not a very strong argument but I challenge others to come up with one...)
>> In reality it turned out just to be a one off that people used as an easy way out to stick to an anti-pattern and still claim to do OAuth 2.0. It is plain wrong, it is not OAuth and we need to get rid of it.
>> 
>> Hans.
>> 
>> On Tue, Feb 18, 2020 at 10:44 PM Aaron Parecki <aaron@parecki.com> wrote:
>> Agreed. Plus, the Security BCP is already effectively acting as a grace period since it currently says the password grant MUST NOT be used, so in the OAuth 2.0 world that's already a pretty strong signal.
>> 
>> Aaron
>> 
>> 
>> 
>> On Tue, Feb 18, 2020 at 4:16 PM Justin Richer <jricher@mit.edu> wrote:
>> There is no need for a grace period. People using OAuth 2.0 can still do OAuth 2.0. People using OAuth 2.1 will do OAuth 2.1. 
>> 
>> — Justin
>> 
>>>> On Feb 18, 2020, at 3:54 PM, Anthony Nadalin <tonynad=40microsoft.com@dmarc.ietf.org> wrote:
>>> 
>>> I would suggest a SHOULD NOT instead of MUST, there are still sites using this and a grace period should be provided before a MUST is pushed out as there are valid use cases out there still.
>>> 
>>> From: OAuth <oauth-bounces@ietf.org> On Behalf Of Dick Hardt
>>> Sent: Tuesday, February 18, 2020 12:37 PM
>>> To: oauth@ietf.org
>>> Subject: [EXTERNAL] [OAUTH-WG] OAuth 2.1: dropping password grant
>>> 
>>> Hey List 
>>> 
>>> (Once again using the OAuth 2.1 name as a placeholder for the doc that Aaron, Torsten, and I are working on)
>>> 
>>> In the security topics doc
>>> 
>>> https://tools.ietf.org/html/draft-ietf-oauth-security-topics-14#section-2.4
>>> 
>>> The password grant MUST not be used.
>>> 
>>> Some background for those interested. I added this grant into OAuth 2.0 to allow applications that had been provided password to migrate. Even with the caveats in OAuth 2.0, implementors decide they want to prompt the user to enter their credentials, the anti-pattern OAuth was created to eliminate. 
>>> 
>>> 
>>> Does anyone have concerns with dropping the password grant from the OAuth 2.1 document so that developers don't use it?
>>> 
>>> /Dick
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>> 
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>> -- 
>> ----
>> Aaron Parecki
>> aaronparecki.com
>> @aaronpk
>> 
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>> 
>> 
>> -- 
>> hans.zandbelt@zmartzone.eu
>> ZmartZone IAM - www.zmartzone.eu
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
> 
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth