Re: [OAUTH-WG] OAuth 2.1 - require PKCE?

Phillip Hunt <phil.hunt@independentid.com> Wed, 06 May 2020 19:11 UTC

Return-Path: <phil.hunt@independentid.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 0D7FB3A0AA5 for <oauth@ietfa.amsl.com>; Wed, 6 May 2020 12:11:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.894
X-Spam-Level:
X-Spam-Status: No, score=-1.894 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_FONT_LOW_CONTRAST=0.001, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001, SPF_HELO_NONE=0.001, SPF_NONE=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=independentid-com.20150623.gappssmtp.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 JwjEMklorutk for <oauth@ietfa.amsl.com>; Wed, 6 May 2020 12:11:57 -0700 (PDT)
Received: from mail-pg1-x533.google.com (mail-pg1-x533.google.com [IPv6:2607:f8b0:4864:20::533]) (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 02CE83A0AA7 for <oauth@ietf.org>; Wed, 6 May 2020 12:11:56 -0700 (PDT)
Received: by mail-pg1-x533.google.com with SMTP id j21so1545670pgb.7 for <oauth@ietf.org>; Wed, 06 May 2020 12:11:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=independentid-com.20150623.gappssmtp.com; s=20150623; h=content-transfer-encoding:from:mime-version:subject:date:message-id :references:cc:in-reply-to:to; bh=K+b0e1ol7jiEt91qxasQHPdwKFxa8glfZyOcAI2xXWU=; b=LLxrpvrcRxrCfumpflui1VxQIVK2Wp5ix0t82MpPr3ejE/yrBsY9nHmlpAM301hJvg yjIkrieUFD83QpsZdDjTKJ0muezUPaMcNzFwKw8IyL+eeDlyvcF/+Lpx1WWZJGliX08B RQnmSu+ucnpmigNCJN/XgjL3jcOQEJTobRFnAsYX7OIK9tpzfmo0XojStn6Owm1FoaAg hU55NpEE/qmNtrZz2Kkb6WD/LU2KUgpShEKA9T0fdBMplNyumcOd+7jIxkJ+UxecS+ae lz51ALuP74cpqmlaz0CYJCgkI+1grY/L7bPo/4hnuci9zDirc+fnOsbi1HVCmjQRKjf/ LlKg==
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=K+b0e1ol7jiEt91qxasQHPdwKFxa8glfZyOcAI2xXWU=; b=J3vHVeQU0kyX/hPLY3DIKSY7CN+Mk9p+FVMUMKG+k621o8rLrj5X17R0BcnWpc7doV UHo7yUrVHJn2J/yDaLKfqrjDGMJhDiZLQzrI61hK/RTP+TlsFOuBzxFzfPJeEQbMHtrw TSc9f0ni1ImRxNkm7qePKalIj2VDfrEiiikfKjMw6hry9tBRrcDJwFHyu412DVtHE1iD t95G9h4NJBanA1BK1NjBzIUHrjcd4XW7ITXp/xmTd2zQSBCWwm6OFKkx7el4OJPmk3Hy tnbkn4pOq4zuqS0f4ApVeY6DTF3eKs3C2jFFPG82T5RLsVE6XXPSTjoeycDGaKfyb9HG 9Qog==
X-Gm-Message-State: AGi0PuYKBTXRRgDd8+OSgAG2mLAuPbf1hfonWjy7OtbXCizymrlu/2YN WuV8TtcW7CUujOxG10ZIHr6pbCxtgvs=
X-Google-Smtp-Source: APiQypI4mibRr5AnoHPrUlOeTNym1CQdkcmyjv/ujzetR8hW0m//bzHJ8l3CAvhLrLsbwJIk7LEeEQ==
X-Received: by 2002:a62:6d03:: with SMTP id i3mr9516986pfc.249.1588792316142; Wed, 06 May 2020 12:11:56 -0700 (PDT)
Received: from ?IPv6:2605:8d80:447:361e:9465:924b:46dc:1f70? ([2605:8d80:447:361e:9465:924b:46dc:1f70]) by smtp.gmail.com with ESMTPSA id p66sm2565694pfb.65.2020.05.06.12.11.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 06 May 2020 12:11:55 -0700 (PDT)
Content-Type: multipart/alternative; boundary=Apple-Mail-7FC3F358-FE4C-470E-BBD7-7A9DB8CE3631
Content-Transfer-Encoding: 7bit
From: Phillip Hunt <phil.hunt@independentid.com>
Mime-Version: 1.0 (1.0)
Date: Wed, 6 May 2020 12:11:52 -0700
Message-Id: <DFDFC45D-0EE6-40DF-8DCE-E81A29B8D448@independentid.com>
References: <CAGBSGjrJRR-Anb4tcwGMELzV3d74pPP0WpBY8_Z00NYxfEp6gg@mail.gmail.com>
Cc: Mike Jones <Michael.Jones=40microsoft.com@dmarc.ietf.org>, "oauth@ietf.org" <oauth@ietf.org>
In-Reply-To: <CAGBSGjrJRR-Anb4tcwGMELzV3d74pPP0WpBY8_Z00NYxfEp6gg@mail.gmail.com>
To: Aaron Parecki <aaron@parecki.com>
X-Mailer: iPhone Mail (17E262)
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/Cs-vgaZ1kcqUmXF3GUAnBlFlW-0>
Subject: Re: [OAUTH-WG] OAuth 2.1 - require PKCE?
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, 06 May 2020 19:11:59 -0000

Mike,

The point of 2.1 is to raise the security bar. 

Yes it adds new MUST requirements. 

But what about OIDC would break other than required implementation of PKCE to support 2.1?

Eg Would additional signaling be required to facilitate interoperability and migration between versions? Would that be an oauth issue or an OIDC one?

Phil

> On May 6, 2020, at 11:56 AM, Aaron Parecki <aaron@parecki.com> wrote:
> 
> 
> > In particular, authorization servers shouldn’t be required to support PKCE when they already support the OpenID Connect nonce.
> 
> The Security BCP already requires that ASs support PKCE: https://tools.ietf.org/html/draft-ietf-oauth-security-topics-15#section-2.1.1 Are you suggesting that the Security BCP change that requirement as well? If so, that's a discussion that needs to be had ASAP. If not, then that's an implicit statement that it's okay for OpenID Connect implementations to not be best-practice OAuth implementations. And if that's the case, then I also think it's acceptable that they are not complete OAuth 2.1 implementations either.
> 
> 
> 
> 
> 
> 
>> On Wed, May 6, 2020 at 11:21 AM Mike Jones <Michael.Jones=40microsoft.com@dmarc.ietf.org> wrote:
>> The disadvantage of requiring PKCE for OpenID Connect implementations is that you’re trying to add a normative requirement that’s not required of OpenID Connect deployments today, which would bifurcate the ecosystem.  There are hundreds of implementations (including the 141 certified ones at https://openid.net/certification/), none of which have ever been required to support PKCE.  Therefore, most don’t.
>> 
>>  
>> 
>> Per feedback already provided, I believe that OAuth 2.1 should align with the guidance already in the draft Security BCP, requiring EITHER the use of PKCE or the OpenID Connect nonce.  Trying to retroactively impose unnecessary requirements on existing deployments is unlikely to succeed and will significantly reduce the relevance of the OAuth 2.1 effort.
>> 
>>  
>> 
>> In particular, authorization servers shouldn’t be required to support PKCE when they already support the OpenID Connect nonce.  And clients shouldn’t reject responses from servers that don’t support PKCE when they do contain the OpenID Connect nonce.  Doing so would unnecessarily break things and create confusion in the marketplace.
>> 
>>  
>> 
>>                                                           -- Mike
>> 
>>  
>> 
>> From: OAuth <oauth-bounces@ietf.org> On Behalf Of Dick Hardt
>> Sent: Wednesday, May 6, 2020 10:48 AM
>> To: oauth@ietf.org
>> Subject: [OAUTH-WG] OAuth 2.1 - require PKCE?
>> 
>>  
>> 
>> Hello!
>> 
>>  
>> 
>> We would like to have PKCE be a MUST in OAuth 2.1 code flows. This is best practice for OAuth 2.0. It is not common in OpenID Connect servers as the nonce solves some of the issues that PKCE protects against. We think that most OpenID Connect implementations also support OAuth 2.0, and hence have support for PKCE if following best practices.
>> 
>>  
>> 
>> The advantages or requiring PKCE are:
>> 
>>  
>> 
>> - a simpler programming model across all OAuth applications and profiles as they all use PKCE
>> 
>>  
>> 
>> - reduced attack surface when using  S256 as a fingerprint of the verifier is sent through the browser instead of the clear text value
>> 
>>  
>> 
>> - enforcement by AS not client - makes it easier to handle for client developers and AS can ensure the check is conducted
>> 
>>  
>> 
>> What are disadvantages besides the potential impact to OpenID Connect deployments? How significant is that impact?
>> 
>>  
>> 
>> Dick, Aaron, and Torsten
>> 
>>  
>> 
>> ᐧ
>> 
>> _______________________________________________
>> 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