Re: [OAUTH-WG] First Draft of OAuth 2.1

Torsten Lodderstedt <torsten@lodderstedt.net> Thu, 12 March 2020 21:01 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 1D9063A0953 for <oauth@ietfa.amsl.com>; Thu, 12 Mar 2020 14:01:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 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, 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=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 ZuT2kk8ejxfW for <oauth@ietfa.amsl.com>; Thu, 12 Mar 2020 14:01:05 -0700 (PDT)
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) (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 AE8883A0948 for <oauth@ietf.org>; Thu, 12 Mar 2020 14:01:04 -0700 (PDT)
Received: by mail-wr1-x436.google.com with SMTP id n15so9314146wrw.13 for <oauth@ietf.org>; Thu, 12 Mar 2020 14:01:04 -0700 (PDT)
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=zn83d1kRj4lhlYZrKO/7N5uROdLZPhVho64NztgSDlQ=; b=su2eoMhZcahG9G/0KZ7cyyjoBPaIjFCvsRxT/31D1JxGwYeKY3Nwc2zs3YStCVkqHT uMXa+KgWQVPKBrg4hABRtLC0nM69rL1NiyPfiLw2dV8eyBPctJgMUFV5Jk+jJ94xfhma v22elVkuYZT3DAiBgB9+0e7A/lgcWyR0LDiDmec3qH4aLfvVk94scRCJ1vcI1kR0B/qD UY4tXC4kV9v8Qg8UFHdcWFIKBg1SMg0GmuqAIntsMcXeAMDZ/pVdNBJRVI0QxytwxTpZ No2GX9SJUbUi/nPejrwM8X2qdlh5x8HKwCo4ceYxiUQVRkLZ4HNfvtUqqvJg4HkyXXdd mQTA==
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=zn83d1kRj4lhlYZrKO/7N5uROdLZPhVho64NztgSDlQ=; b=TUhfj3337ynipwfoDEbBP1MIbywMOd2TGBgRBYerCO6RlCpRqjC2CvBxgGMd3sJa/n ZCzIcaA19SlfmcowNTvTUXzzG/kUSMxCE0vsWr4KzLH0NkP6ngzukIkdVJ5BsJD67sia 1dfgs3eKvDlRFxZbykBw5IcW8Z3UkRAoW++2kDpHhZoK+8TZEVuIWxN0NHqpnk8lBsZ4 VWKeMFPB/dj4x8FggpCrYrPN5xWNJWEGK8uSTAOF0yyu0ol8hlAQ89Q1Naw904ew7TaI mR2aJZMS+g4dNfSQwIqjOK1AHjMtY0wrVCWnCipu90wDqpS7ZMYNLh7yE+4L+z6i53Pt 3nzg==
X-Gm-Message-State: ANhLgQ3Elu91EKUP49TeD/acxeSW9XIpwVUkW9DZ4IfPQpdRK1g5mmju tHHPvDUO3DX89pMq7uUmdscsFYMSXxo=
X-Google-Smtp-Source: =?utf-8?q?ADFU+vuC9FXajmZowNbFbiAXlMP/yvDUZqm+LVjldG0q?= =?utf-8?q?oEJMV080Sj0cFznn6x/1tz45q2vXKrpGYg=3D=3D?=
X-Received: by 2002:adf:9599:: with SMTP id p25mr12444115wrp.43.1584046862742; Thu, 12 Mar 2020 14:01:02 -0700 (PDT)
Received: from [192.168.71.108] (p5B0D94B9.dip0.t-ipconnect.de. [91.13.148.185]) by smtp.gmail.com with ESMTPSA id k12sm17022894wrv.88.2020.03.12.14.01.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 12 Mar 2020 14:01:01 -0700 (PDT)
Content-Type: multipart/signed; boundary=Apple-Mail-D7EC992D-67C1-4C2B-8220-A58844BA093E; protocol="application/pkcs7-signature"; micalg=sha-256
Content-Transfer-Encoding: 7bit
From: Torsten Lodderstedt <torsten@lodderstedt.net>
Mime-Version: 1.0 (1.0)
Date: Thu, 12 Mar 2020 22:01:01 +0100
Message-Id: <D292892C-D0EB-42A8-B5BD-372227EB3728@lodderstedt.net>
References: <CAGBSGjr5L5sNoexzOgipkVVewNL+DypSo5S8bkai8PuJ61GB+Q@mail.gmail.com>
Cc: Pedro Igor Craveiro e Silva <pigor.craveiro@gmail.com>, OAuth WG <oauth@ietf.org>
In-Reply-To: <CAGBSGjr5L5sNoexzOgipkVVewNL+DypSo5S8bkai8PuJ61GB+Q@mail.gmail.com>
To: Aaron Parecki <aaron@parecki.com>
X-Mailer: iPad Mail (17D50)
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/hQ6OpDzIp14SVWKNeOoJ4SSY_10>
Subject: Re: [OAUTH-WG] First Draft of OAuth 2.1
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: Thu, 12 Mar 2020 21:01:07 -0000


> Am 12.03.2020 um 21:59 schrieb Aaron Parecki <aaron@parecki.com>om>:
> 
> 
>> 
>> In regards to `code_challenge_method` parameter in authorization requests. Wouldn't make more sense to have the default value as `S256` based on the statement in Section `4.1.1.2.  Client Creates the PKCE Code Challenge` that says that `S256` is MTI on the server?
>> So you have `plain` as a special case for clients not able to support a more strong code challenge?
> 
> One of the goals of this draft was to consolidate the information
> available in the related extensions and BCPs, not actually define
> anything new itself. This behavior described would be different from
> what is described in PKCE. If this is a good idea to change the
> default, then that should be included in the Security BCP and brought
> into 2.1 from there.

The Security BCP recommends S256.

> 
> ----
> Aaron Parecki
> aaronparecki.com
> @aaronpk
> 
>> On Thu, Mar 12, 2020 at 12:22 PM Pedro Igor Craveiro e Silva
>> <pigor.craveiro@gmail.com> wrote:
>> 
>> Hi Aaron,
>> 
>> In regards to `code_challenge_method` parameter in authorization requests. Wouldn't make more sense to have the default value as `S256` based on the statement in Section `4.1.1.2.  Client Creates the PKCE Code Challenge` that says that `S256` is MTI on the server?
>> 
>> So you have `plain` as a special case for clients not able to support a more strong code challenge?
>> 
>> Regards.
>> Pedro Igor
>> 
>>> On Wed, Mar 11, 2020 at 9:29 PM Aaron Parecki <aaron@parecki.com> wrote:
>>> 
>>> I'm happy to share that Dick and Torsten and I have published a first
>>> draft of OAuth 2.1. We've taken the feedback from the discussions on
>>> the list and incorporated that into the draft.
>>> 
>>> https://tools.ietf.org/html/draft-parecki-oauth-v2-1-01
>>> 
>>> A summary of the differences between this draft and OAuth 2.0 can be
>>> found in section 12, and I've copied them here below.
>>> 
>>>> This draft consolidates the functionality in OAuth 2.0 (RFC6749),
>>>> OAuth 2.0 for Native Apps (RFC8252), Proof Key for Code Exchange
>>>> (RFC7636), OAuth 2.0 for Browser-Based Apps
>>>> (I-D.ietf-oauth-browser-based-apps), OAuth Security Best Current
>>>> Practice (I-D.ietf-oauth-security-topics), and Bearer Token Usage
>>>> (RFC6750).
>>>> 
>>>>  Where a later draft updates or obsoletes functionality found in the
>>>>  original [RFC6749], that functionality in this draft is updated with
>>>>  the normative changes described in a later draft, or removed
>>>>  entirely.
>>>> 
>>>>  A non-normative list of changes from OAuth 2.0 is listed below:
>>>> 
>>>>  *  The authorization code grant is extended with the functionality
>>>>     from PKCE ([RFC7636]) such that the only method of using the
>>>>     authorization code grant according to this specification requires
>>>>     the addition of the PKCE mechanism
>>>> 
>>>>  *  Redirect URIs must be compared using exact string matching as per
>>>>     Section 4.1.3 of [I-D.ietf-oauth-security-topics]
>>>> 
>>>>  *  The Implicit grant ("response_type=token") is omitted from this
>>>>     specification as per Section 2.1.2 of
>>>>     [I-D.ietf-oauth-security-topics]
>>>> 
>>>>  *  The Resource Owner Password Credentials grant is omitted from this
>>>>     specification as per Section 2.4 of
>>>>     [I-D.ietf-oauth-security-topics]
>>>> 
>>>>  *  Bearer token usage omits the use of bearer tokens in the query
>>>>     string of URIs as per Section 4.3.2 of
>>>>     [I-D.ietf-oauth-security-topics]
>>>> 
>>>>  *  Refresh tokens must either be sender-constrained or one-time use
>>>>     as per Section 4.12.2 of [I-D.ietf-oauth-security-topics]
>>> 
>>> https://tools.ietf.org/html/draft-parecki-oauth-v2-1-01#section-12
>>> 
>>> I'm excited for the direction this is taking, and it has been a
>>> pleasure working with Dick and Torsten on this so far. My hope is that
>>> this first draft can serve as a good starting point for our future
>>> discussions!
>>> 
>>> ----
>>> Aaron Parecki
>>> aaronparecki.com
>>> @aaronpk
>>> 
>>> P.S. This notice was also posted at
>>> https://aaronparecki.com/2020/03/11/14/oauth-2-1
>>> 
>>> _______________________________________________
>>> 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