Re: [OAUTH-WG] AD Review of draft-ietf-oauth-par-07

Roman Danyliw <rdd@cert.org> Tue, 25 May 2021 20:58 UTC

Return-Path: <rdd@cert.org>
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 DBBEB3A0A06 for <oauth@ietfa.amsl.com>; Tue, 25 May 2021 13:58:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.398
X-Spam-Level:
X-Spam-Status: No, score=-4.398 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, RCVD_IN_DNSWL_MED=-2.3, 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 (1024-bit key) header.d=cert.org
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 wS8sUP47yOgO for <oauth@ietfa.amsl.com>; Tue, 25 May 2021 13:58:07 -0700 (PDT)
Received: from taper.sei.cmu.edu (taper.sei.cmu.edu [147.72.252.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 962663A09FE for <oauth@ietf.org>; Tue, 25 May 2021 13:58:07 -0700 (PDT)
Received: from delp.sei.cmu.edu (delp.sei.cmu.edu [10.64.21.31]) by taper.sei.cmu.edu (8.14.7/8.14.7) with ESMTP id 14PKw55D028908; Tue, 25 May 2021 16:58:05 -0400
DKIM-Filter: OpenDKIM Filter v2.11.0 taper.sei.cmu.edu 14PKw55D028908
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cert.org; s=yc2bmwvrj62m; t=1621976285; bh=gGG/KZW37x/0D6aQ69cW5BAPYId0YbBr5D0jK7oxrY0=; h=From:To:CC:Subject:Date:References:In-Reply-To:From; b=c4qDfZaOYVNn1Fei8rqjRtO5m/qApi5rLSO7UKaYaH5j5YmkRGYex2ZPMo9hbvS9H ZOSrkOI7vjUdRPPXDZWYjdcBTcZIrxiCUkELkHNk33NiUWMkCR4aJ4vfjsZpo2uXHN ebXiYjyTOXwnJvceHd3J5kXfeMeCkxxSMr7I1nS8=
Received: from MORRIS.ad.sei.cmu.edu (morris.ad.sei.cmu.edu [147.72.252.46]) by delp.sei.cmu.edu (8.14.7/8.14.7) with ESMTP id 14PKw2P4018894; Tue, 25 May 2021 16:58:02 -0400
Received: from MORRIS.ad.sei.cmu.edu (147.72.252.46) by MORRIS.ad.sei.cmu.edu (147.72.252.46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Tue, 25 May 2021 16:58:02 -0400
Received: from MORRIS.ad.sei.cmu.edu ([fe80::555b:9498:552e:d1bb]) by MORRIS.ad.sei.cmu.edu ([fe80::555b:9498:552e:d1bb%13]) with mapi id 15.01.2242.008; Tue, 25 May 2021 16:58:02 -0400
From: Roman Danyliw <rdd@cert.org>
To: Brian Campbell <bcampbell@pingidentity.com>
CC: "oauth@ietf.org" <oauth@ietf.org>
Thread-Topic: [OAUTH-WG] AD Review of draft-ietf-oauth-par-07
Thread-Index: AddI9WHKaUoe8zwOTFyNHeVjlpuPzwAL6ZaAAAJu34ACHnLgYA==
Date: Tue, 25 May 2021 20:58:00 +0000
Message-ID: <593caad4ea9a4694bcfdb9f707d08bae@cert.org>
References: <912d493e506e4f2c8e200b6cc71f3b88@cert.org> <CA+k3eCQuHBz+jDkgHR-aK_H51FGWFiiFiyzQ0oL4mpTik-hQ9A@mail.gmail.com> <CA+k3eCSXBEFAm_eE4BOjYea+iBo7TVCmOEc50_Lo+ME0jz_poA@mail.gmail.com>
In-Reply-To: <CA+k3eCSXBEFAm_eE4BOjYea+iBo7TVCmOEc50_Lo+ME0jz_poA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.64.202.116]
Content-Type: multipart/alternative; boundary="_000_593caad4ea9a4694bcfdb9f707d08baecertorg_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/hUGYDBeaNDdNm-9yBl-CuKGDlIQ>
Subject: Re: [OAUTH-WG] AD Review of draft-ietf-oauth-par-07
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: Tue, 25 May 2021 20:58:13 -0000

Hi Brian!

Thanks for the clarifications below and the -08.  I’ve pushed the document to IETF Last Call.

Regards,
Roman

From: Brian Campbell <bcampbell@pingidentity.com>
Sent: Friday, May 14, 2021 6:05 PM
To: Roman Danyliw <rdd@cert.org>
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] AD Review of draft-ietf-oauth-par-07

I went ahead and pushed an -08 that hopefully addresses all your feedback and suggestions.

https://www.ietf.org/rfcdiff?url2=draft-ietf-oauth-par-08

https://datatracker.ietf.org/doc/draft-ietf-oauth-par/





On Fri, May 14, 2021 at 2:55 PM Brian Campbell <bcampbell@pingidentity.com<mailto:bcampbell@pingidentity.com>> wrote:
Thanks for the review Roman! Responses from me are inline below. And I'll endeavor to get a new draft published soon that addresses your feedback.


On Fri, May 14, 2021 at 1:17 PM Roman Danyliw <rdd@cert.org<mailto:rdd@cert.org>> wrote:
Hi!

I performed my AD review of draft-ietf-oauth-par-07.  Thanks for the effort to produce this document.  See my feedback below:

** Section 1.1.  Per the first POST example, please provide a bit more text to explain the presence of the Authorization header.

Makes sense and will do.



** Section 2.1.  Per step #1, "Authenticate the client in the same way as at the token endpoint." Would it be appropriate to cite Section 2.3.1 of RFC6749 as the reference for "the same way"?

I think a reference here would be good but Section 2.3 of RFC6749 is probably more appropriate as any of the defined/supported client authentication methods (e.g., RFC8705 or RFC7523) could be used. It's not limited to client password/secret, which is what Section 2.3.1 of RFC6749 is about.



** Section 2.1. Typo.  s/the the/the/

Doh! Will fix.



** Section 2.2.  "The format of the "request_uri" value is at the discretion of the authorization server ...", it would be helpful to remind implementers (via reference) that the constraints of Section 10.10 of RFC6749 apply.

   The authorization server MUST prevent attackers from guessing access
   tokens, authorization codes, refresh tokens, resource owner
   passwords, and client credentials.

   The probability of an attacker guessing generated tokens (and other
   credentials not intended for handling by end-users) MUST be less than
   or equal to 2^(-128) and SHOULD be less than or equal to 2^(-160).

I'll add that reference around the current text saying it has to be "computationally infeasible to predict or guess a valid value".



** Section 2.2.  "The string representation of a UUID as a URN per [RFC4122] is also an option for authorization servers to construct "request_uri" values" suggests that a UUID could be used as the "cryptographically strong pseudorandom algorithm such that it is computationally infeasible to predict or guess a valid value" for the random part of the request_uri.  However, a few bits of the 128-bit UUID are in fact not random.  Hence, this UUID construct would seem to violate the guidance of Section 10.10 of RFC6749 noted above.  Likewise, the Section 10.2 of draft-ietf-oauth-jwsreq-34 referenced in Security Considerations also suggest 128-bits.

Good catch, if not a touch pedantic :)  Honestly, my thinking was that creating UUIDs is made pretty easy in a lot of environments and that the not-quite-128-bits from a UUID was probably good enough for the purpose. But you are right and, under a strict reading, this amounts to the PAR draft suggesting something that is in violation of a normative MUST in RFC6749. I think the best path forward is that the sentence that suggests UUIDs should just be removed.



** Section 2.4.  This section relaxes exact matching of the redirect_uri specified in the current text of the security BCP and OAuth 2.1.  Not relevant to this document, but would it make sense to acknowledge this relaxation in the BCP or caveat language about strict requirements in the v2.1 draft?

Yeah, it might make sense to do so perhaps along with some rationale or explanation about the conditions that make relaxation acceptable.



** Section 6.  Typo. s/reqired/required/

Ugh. Will fix. And thanks.



** Section 7.5.  Per "Clients SHOULD make use of PKCE, a unique "state" parameter, or the OIDC "nonce" parameter" are good advice.  Can the text provide references to each of these.

Yup, I can add references for those.


** Section 8.  Wouldn't some of the privacy considerations of draft-ietf-oauth-jwsreq-34/Section 11 apply?

I read through that section again and honestly don't see anything that is applicable or isn't already constrained or made irrelevant by the specifics of the PAR draft. Please let me know if you think I'm overlooking something though.


Thanks,
Roman

_______________________________________________
OAuth mailing list
OAuth@ietf.org<mailto:OAuth@ietf.org>
https://www.ietf.org/mailman/listinfo/oauth

CONFIDENTIALITY NOTICE: This email may contain confidential and privileged material for the sole use of the intended recipient(s). Any review, use, distribution or disclosure by others is strictly prohibited.  If you have received this communication in error, please notify the sender immediately by e-mail and delete the message and any file attachments from your computer. Thank you.