Re: [OAUTH-WG] I-D Action: draft-ietf-oauth-spop-14.txt

John Bradley <ve7jtb@ve7jtb.com> Thu, 09 July 2015 18:46 UTC

Return-Path: <ve7jtb@ve7jtb.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BDC681B2AE2 for <oauth@ietfa.amsl.com>; Thu, 9 Jul 2015 11:46:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham
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 apju9n-t6y0c for <oauth@ietfa.amsl.com>; Thu, 9 Jul 2015 11:46:17 -0700 (PDT)
Received: from mail-qk0-f175.google.com (mail-qk0-f175.google.com [209.85.220.175]) (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 825B11B2B3D for <oauth@ietf.org>; Thu, 9 Jul 2015 11:46:17 -0700 (PDT)
Received: by qkcl188 with SMTP id l188so8709673qkc.1 for <oauth@ietf.org>; Thu, 09 Jul 2015 11:46:16 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:content-type:mime-version:subject:from :in-reply-to:date:cc:message-id:references:to; bh=5RuxiA1BVSAYOUd5BHdJnPe8+TwHwiNKLOjbgmaojbs=; b=UHMtRXIVEok8WmP9inQAPaUcvbkMdfds3f7tuD57b6E1iGI/XUYnVjf+OXJvUSgM+b qVusxrNNO3QL/6EBaEqYj88iAHNlfEAC9UUjdt9h41o7PRQIplxJBkdfLVpysklUtgvh UUCCeLmzFCEw4TBxxCJDXkPqPIeC8+ev6HWS6r8t+VS9jj0n2lwmdUsXPkw/u+EuUb8V 3dvj5NFUDxUdxQzqW3XgIIAbemAmFat7uouMj0IyWbF+dqSsZwCpiL6FRhYHT0yErZm8 KItP1/PjRoeKIlh664B7KNmLPxobfdm0pHilYthEekcHy81PmfT3Rd5i+0h63KJiJGas lIkw==
X-Gm-Message-State: ALoCoQkSRLkA8YrRvNj7qQVR7Dh53XWwToRkORa6IomDDEJyRDbB8AXrdFJ4IyP7qGAoJtdVYPV5
X-Received: by 10.140.90.99 with SMTP id w90mr26809657qgd.57.1436467576689; Thu, 09 Jul 2015 11:46:16 -0700 (PDT)
Received: from [192.168.1.216] (181-163-49-185.baf.movistar.cl. [181.163.49.185]) by smtp.gmail.com with ESMTPSA id i7sm4145438qge.32.2015.07.09.11.46.10 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 09 Jul 2015 11:46:16 -0700 (PDT)
Content-Type: multipart/alternative; boundary="Apple-Mail=_109C7D9A-874F-4DB6-910B-DF1CB0FBF509"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2102\))
From: John Bradley <ve7jtb@ve7jtb.com>
In-Reply-To: <CA+k3eCSLqwY2hF459oJU2d+tW6J5yKOVzN=3DSvWp+c-UoDNUw@mail.gmail.com>
Date: Thu, 9 Jul 2015 15:46:00 -0300
Message-Id: <0A42C02A-77C6-48DD-8BEC-52B31570FBAF@ve7jtb.com>
References: <20150706230550.12450.15077.idtracker@ietfa.amsl.com> <CAAP42hD=CXnWUgQ5b=cgtqp2TkOgXWQ89yZtyEJe9_19K+72Mw@mail.gmail.com> <68C4B3E0-0A40-4035-A6B8-EB553573BE5D@ve7jtb.com> <CAAP42hDMH9gc97aa3-hjrLuRyFsc3j8tmSwDee-oJvMn4dxsAg@mail.gmail.com> <CAAP42hA9B4HNURC6wZ+KBLre-VCXSz_BROZ6qcjSQ0ZTX4YC-w@mail.gmail.com> <CA+k3eCSLqwY2hF459oJU2d+tW6J5yKOVzN=3DSvWp+c-UoDNUw@mail.gmail.com>
To: Brian Campbell <bcampbell@pingidentity.com>
X-Mailer: Apple Mail (2.2102)
Archived-At: <http://mailarchive.ietf.org/arch/msg/oauth/tzKZnO9ZS5MzbCfaHcuw1lXo5Pc>
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] I-D Action: draft-ietf-oauth-spop-14.txt
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.15
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, 09 Jul 2015 18:46:20 -0000

I have made some edits to make it consistent.  They are checked into the butbucket repo nat and I use, but we can’t update the official draft during the freeze before the IETF meeting.

https://bitbucket.org/Nat/oauth-spop

> On Jul 9, 2015, at 3:19 PM, Brian Campbell <bcampbell@pingidentity.com>; wrote:
> 
> I agree with William that it's a little confusing. I get that there's a desire to discourage using "plain" but perhaps the language (especially the MUST NOT in 7.2) should be lightened up just a bit? 
> 
> On Wed, Jul 8, 2015 at 8:22 PM, William Denniss <wdenniss@google.com <mailto:wdenniss@google.com>> wrote:
> Following up the discussion on today's NAPPS call, I understand why plain is not presented as the recommended approach in the spec (though it still has some value over not doing PKCE at all, in that it mitigates against the current known attack where a rogue app registers the same custom URI scheme as another), but I feel that after all the back and forth the picture is a little confusing.
> 
> In particular, 4.2 and 4.4.1 include some examples where plain is supported:
> 
> 4.2
> Clients SHOULD use the S256 transformation.  The plain transformation is for compatibility with existing deployments and for constrained environments that can't use the S256 transformation.
>  
> 4.4.1.
> If the client is capable of using "S256", it MUST use "S256", as "S256" is Mandatory To Implement (MTI) on the server. Clients are permitted to use "plain" only if they cannot support "S256" for some technical reason and knows that the server supports "plain".
> 
> But then 7.2 is very vocal that it MUST NOT be used for new implementations:
> 
> 7.2
> Because of this, "plain" SHOULD NOT be used, and exists only for compatibility with deployed implementations where the request path is already protected.  The "plain" method MUST NOT be used in new implementations.
> 
>  What if those new implementations are constrained, as indicated in 4.2 and 4.4.1?
> 
> 
> Also, while S256 is clearly indicated as MTI, little is said about "plain", although it's alluded to that it's not MTI in 4.4.1 ("and knows that the server supports "plain"").
> 
> Should we be more explicit upfront that "plain" is optional for servers to support, if that's the intention?
> 
> 
> On Tue, Jul 7, 2015 at 10:51 PM, William Denniss <wdenniss@google.com <mailto:wdenniss@google.com>> wrote:
> t_m works for me, I just think we should have some indication that it's the name of the transform. Will you also update where it is referenced in the description below Figure 2?
> 
> 
> 
> On Tue, Jul 7, 2015 at 6:28 PM, John Bradley <ve7jtb@ve7jtb.com <mailto:ve7jtb@ve7jtb.com>> wrote:
> Thanks, I fixed my finger dyslexia for the next draft.
> 
> I changed it to t_m rather than “t”  I think that is clearer.  If I were to do it the other way XML2RFC would have double quotes in the text version.
> 
> John B. 
> 
>> On Jul 7, 2015, at 9:38 PM, William Denniss <wdenniss@google.com <mailto:wdenniss@google.com>> wrote:
>> 
>> In version 14, there's a typo on this line ("deso") in Section 7.2:
>> 
>> `"plain" method deso not protect`
>> 
>> Also, in the 1.1 Protocol Flow diagram, regarding the text:
>> 
>> `+ t(code_verifier), t`
>> 
>> I wonder if it makes more sense to represent as `+ t(code_verifier), "t"` (note the quotes on the second 't') given that it's a string representation of the method that's being sent?
>> 
>> 
>> On Mon, Jul 6, 2015 at 4:05 PM, <internet-drafts@ietf.org <mailto:internet-drafts@ietf.org>> wrote:
>> 
>> A New Internet-Draft is available from the on-line Internet-Drafts directories.
>>  This draft is a work item of the Web Authorization Protocol Working Group of the IETF.
>> 
>>         Title           : Proof Key for Code Exchange by OAuth Public Clients
>>         Authors         : Nat Sakimura
>>                           John Bradley
>>                           Naveen Agarwal
>>         Filename        : draft-ietf-oauth-spop-14.txt
>>         Pages           : 20
>>         Date            : 2015-07-06
>> 
>> Abstract:
>>    OAuth 2.0 public clients utilizing the Authorization Code Grant are
>>    susceptible to the authorization code interception attack.  This
>>    specification describes the attack as well as a technique to mitigate
>>    against the threat through the use of Proof Key for Code Exchange
>>    (PKCE, pronounced "pixy").
>> 
>> 
>> The IETF datatracker status page for this draft is:
>> https://datatracker.ietf.org/doc/draft-ietf-oauth-spop/ <https://datatracker.ietf.org/doc/draft-ietf-oauth-spop/>
>> 
>> There's also a htmlized version available at:
>> https://tools.ietf.org/html/draft-ietf-oauth-spop-14 <https://tools.ietf.org/html/draft-ietf-oauth-spop-14>
>> 
>> A diff from the previous version is available at:
>> https://www.ietf.org/rfcdiff?url2=draft-ietf-oauth-spop-14 <https://www.ietf.org/rfcdiff?url2=draft-ietf-oauth-spop-14>
>> 
>> 
>> Please note that it may take a couple of minutes from the time of submission
>> until the htmlized version and diff are available at tools.ietf.org <http://tools.ietf.org/>;.
>> 
>> Internet-Drafts are also available by anonymous FTP at:
>> ftp://ftp.ietf.org/internet-drafts/ <ftp://ftp.ietf.org/internet-drafts/>
>> 
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org <mailto:OAuth@ietf.org>
>> https://www.ietf.org/mailman/listinfo/oauth <https://www.ietf.org/mailman/listinfo/oauth>
>> 
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org <mailto:OAuth@ietf.org>
>> https://www.ietf.org/mailman/listinfo/oauth <https://www.ietf.org/mailman/listinfo/oauth>
> 
> 
> 
> 
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org <mailto:OAuth@ietf.org>
> https://www.ietf.org/mailman/listinfo/oauth <https://www.ietf.org/mailman/listinfo/oauth>
> 
>