Re: [OAUTH-WG] Question lengths in draft-sakimura-oauth-tcse-03

John Bradley <ve7jtb@ve7jtb.com> Thu, 22 May 2014 01:26 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 32FD61A0013 for <oauth@ietfa.amsl.com>; Wed, 21 May 2014 18:26:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.889
X-Spam-Level:
X-Spam-Status: No, score=-1.889 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_REMOTE_IMAGE=0.01] 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 BcfAUrOispe4 for <oauth@ietfa.amsl.com>; Wed, 21 May 2014 18:25:58 -0700 (PDT)
Received: from mail-qg0-f43.google.com (mail-qg0-f43.google.com [209.85.192.43]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0AAA41A0012 for <oauth@ietf.org>; Wed, 21 May 2014 18:25:57 -0700 (PDT)
Received: by mail-qg0-f43.google.com with SMTP id 63so4548142qgz.2 for <oauth@ietf.org>; Wed, 21 May 2014 18:25:56 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:references:mime-version:in-reply-to:content-type :content-transfer-encoding:message-id:cc:from:subject:date:to; bh=IMvim7NRYcovvHKSvfGls5FRx5rxshKtUkfYmNnfeqA=; b=RPgYBT0VXLBLRFPLmNIZlDAOFZpjoUhsCBfi5Gz4JBCKdFPqKxjFSpNd/utK6t1rBP jqM6XAE3TIInYZH1vXntZp0ENv83SDckgE+BXyZr0+MvOo5X9uazgc4env57qPy/7ggn KscWiOjJ7iE2Hqk5drdsu+WsVltcyXBiVgcYimD8ejrBUKYiDfpH0/QAT+mgQFedhn4y 7roLX2d3UCG2QyPI1iOKcN1NU2XJml+tIIicaWNmvCIY6gj5r9MrBSPZG4OeO0iVAcia EOidjWRqvdOMvv79yMXwUgaS9wQUweTVf8UKZ8p0n8WRuvX8u4scwfGMRKeHhVP9cDvJ rrQA==
X-Gm-Message-State: ALoCoQmuGDxiBeKIR7X4TCUK9rUuXJKAjnz2sl6ByNG0wI4pSDtI8x7+t6PR0z70ZxNo/VW3oERG
X-Received: by 10.224.169.6 with SMTP id w6mr9267377qay.102.1400721956370; Wed, 21 May 2014 18:25:56 -0700 (PDT)
Received: from ?IPv6:2600:1000:b10f:3fd8:c090:df9f:3f95:90a3? ([2600:1000:b10f:3fd8:c090:df9f:3f95:90a3]) by mx.google.com with ESMTPSA id h90sm1778941qge.0.2014.05.21.18.25.54 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 21 May 2014 18:25:55 -0700 (PDT)
References: <CA+k3eCTZOheb0HCetS88EXcP-8LJQrYPRuwVcd4NWaWxUAVO1g@mail.gmail.com> <sjm4n0uk8be.fsf@mocana.ihtfp.org> <21A361B0-4E8F-4DAB-9EEB-D48FBCBDFFED@ve7jtb.com> <CA+k3eCQJRymEDERy=3yvioetg-7Tz025gaZJ1FS4DYmkTGRhcQ@mail.gmail.com> <CA+k3eCTguJMR-94-KyfpT2_3kQZQQgH3QV6VwawPLoSnBxqVbQ@mail.gmail.com> <CABzCy2DvNsL79JHcR8LoNd1riaC9_KjTXBO1+xUTfCv2NHCOyA@mail.gmail.com> <CA+k3eCQLdfmY_q3Avjc-FKUUK-wq6gEP-j+YE85dkNnhr5=Y4w@mail.gmail.com> <CABzCy2DHTxv6W+u171ZrgBeL0NJZ0jkY33YVWDnsPhuCZfJ26g@mail.gmail.com> <E54A312A-F44C-4E13-9DD7-C47DC48CA805@ve7jtb.com> <CA+k3eCS=vt_WDpGYJ6LcsF_MO0GkoebH6NrQ--NTD0E20NOQ8A@mail.gmail.com> <1400275641.37471.YahooMailNeo@web142803.mail.bf1.yahoo.com> <CA+k3eCTMWHAJ8Kbh9WQ9dGVAWEwq87TUkhrigfCFi1JJkRPoCw@mail.gmail.com> <537B5F2B.9090501@redhat.com> <CABzCy2C8EU07gwMZk26cGr5cJsP5cOQ0MxqG8xh-h_1AurN9hw@mail.gmail.com>
Mime-Version: 1.0 (1.0)
In-Reply-To: <CABzCy2C8EU07gwMZk26cGr5cJsP5cOQ0MxqG8xh-h_1AurN9hw@mail.gmail.com>
Content-Type: multipart/signed; micalg="sha1"; boundary="Apple-Mail-42BD3618-822E-41D5-9309-E9F2FC8926EB"; protocol="application/pkcs7-signature"
Content-Transfer-Encoding: 7bit
Message-Id: <483196B6-2989-4CEA-946D-6B9C269A257D@ve7jtb.com>
X-Mailer: iPhone Mail (11D201)
From: John Bradley <ve7jtb@ve7jtb.com>
Date: Wed, 21 May 2014 21:25:52 -0400
To: Nat Sakimura <sakimura@gmail.com>
Archived-At: http://mailarchive.ietf.org/arch/msg/oauth/9HVn1m-ETU2ln-FVLs4CSQcyvvY
Cc: oauth <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Question lengths in draft-sakimura-oauth-tcse-03
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: <http://www.ietf.org/mail-archive/web/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, 22 May 2014 01:26:01 -0000

I think the current one is probably a OK compromise. 

Sent from my iPhone

> On May 21, 2014, at 9:11 PM, Nat Sakimura <sakimura@gmail.com> wrote:
> 
> Good! I achieve the purpose :-)
> 
> So what would be the appropriate length? 
> The current one would do? 
> 
> 
> 2014-05-20 22:56 GMT+09:00 Anil Saldhana <Anil.Saldhana@redhat.com>:
>> Brian - I agree with you.  It should be MUST as long as the hard limit is generous for usage.
>> 
>> 
>> 
>> 
>>> On 05/20/2014 07:09 AM, Brian Campbell wrote:
>>> I'd say it should be a MUST so that implementations are consistent about it.
>>> 
>>> 
>>>> On Fri, May 16, 2014 at 3:27 PM, Bill Mills <wmills_92105@yahoo.com> wrote:
>>>> The HTTP specs don't limit these things, but implementations do, and the problems when you run into them are a rea pain.
>>>> 
>>>> DO we want to make this a hard limit, or should it be guidance in the form of RECOMMENDED or SHOULD?
>>>> 
>>>> On Friday, May 16, 2014 9:35 AM, Brian Campbell <bcampbell@pingidentity.com> wrote:
>>>> Yeah, I agree with John here. There are a few good reasons to restrict the length of the code_challenge. One is trying to keep the authorization request URI to                                   reasonable size as it will eventually run into various limits on clients and/or servers. The other is constraining the amount of data that an AS needs to store per code.
>>>> 
>>>> 
>>>> 
>>>> 
>>>> On Fri, May 16, 2014 at 7:41 AM, John Bradley <ve7jtb@ve7jtb.com> wrote:
>>>> From the AS side you probably want to know what the max size you need to store per code.
>>>> 
>>>> On the call to the token endpoint it is a POST so size should not be an issue.  
>>>> 
>>>> 
>>>>> On May 16, 2014, at 3:10 PM, Nat Sakimura <sakimura@gmail.com> wrote:
>>>>> 
>>>>> Now that I cannot remember what limit we were hitting, it might be a good idea to remove the constraint and see if anyone protests. 
>>>>> 
>>>>> What do you think? 
>>>>> 
>>>>> Nat
>>>>> 
>>>>> 
>>>>> 2014-05-14 20:46 GMT+09:00 Brian Campbell <bcampbell@pingidentity.com>:
>>>>> That too would suggest that the length limit be on code_challenge because that's the parameter that will be on URIs getting passed around. The code_verifier is sent directly in the POST body from client to AS. 
>>>>> 
>>>>> 
>>>>> On Tue, May 13, 2014 at 12:52 AM, Nat Sakimura <sakimura@gmail.com> wrote:
>>>>> +1 for octet. We used to have "bytes" in JW* so I used "bytes" here, while at the same time complaining in Jose that it should be "octet". JW* changed to "octet" but I failed to sync with it in the last few edits. 
>>>>> 
>>>>> I do not quite remember which platform, but the reason for the limit was that some platform had some limitations as to the length of the sting to be passed to it through URI and we did not want the challenges to be truncated by that limit. 
>>>>> 
>>>>> Best, 
>>>>> 
>>>>> Nat
>>>>> 
>>>>> 
>>>>> 2014-05-13 6:56 GMT+09:00 Brian Campbell <bcampbell@pingidentity.com>:
>>>>> 
>>>>> And it'd give the AS some direct guidance on                                                           protecting itself from crazy long code_challenge values rather than relying on the client not to do something creative. 
>>>>> 
>>>>> 
>>>>> On Mon, May 12, 2014 at 3:54 PM, Brian Campbell <bcampbell@pingidentity.com> wrote:
>>>>> Right but that's why I'm asking why not just put the limit on code_challange rather than inferring it from code_verifyer + challenge algorithm, which probably bounds it but doesn't necessarily do so? It's not a big deal but would read more clearly, I think.
>>>>> 
>>>>> 
>>>>> On Mon, May 12, 2014 at 3:48 PM, John Bradley <ve7jtb@ve7jtb.com> wrote:
>>>>> I think octets is more consistent with other JW* and OAuth specs.
>>>>> 
>>>>> The code_challange is the same length as the code_verifyer or is a hash of the code_verifyer so likely smaller than 128octets (43 ish for base64 256 bit)
>>>>> 
>>>>> Limiting the code_verifyer size sets the upper bound for code_challange, unless someone comes up with a really creative code challenge algorithm.
>>>>> 
>>>>> I will talk to nat about changing it to octets when I see him tomorrow.
>>>>> 
>>>>> John B.
>>>>> 
>>>>> On May 12, 2014, at 11:15 PM, Derek Atkins <warlord@MIT.EDU> wrote:
>>>>> 
>>>>> > Brian Campbell <bcampbell@pingidentity.com> writes:
>>>>> >
>>>>> >> I notice that code_verifier is defined as "high entropy cryptographic random
>>>>> >> string of length less than 128 bytes"  [1], which brought a few questions and
>>>>> >> comments to mind. So here goes:
>>>>> >>
>>>>> >> Talking about the length of a string in terms of bytes is always potentially
>>>>> >> confusing. Maybe characters would be an easier unit for people like me to wrap
>>>>> >> their little brains around?
>>>>> >
>>>>> > It depends if it really is characters or bytes.  For example there are
>>>>> > many multi-byte UTF-8 characters, so if it really is bytes then saying
>>>>> > characters is wrong because it could overflow.  So let's make sure we
>>>>> > know what we're talking about.  Historically, if we're talking bytes the
>>>>> > IETF often uses the phrase "octets".  Would that be less confusing?
>>>>> >
>>>>> >> Why are we putting a length restriction on the code_verifier anyway? It seems
>>>>> >> like it'd be more appropriate to restrict the length of the code_challenge
>>>>> >> because that's the thing the AS will have to maintain somehow (store in a DB
>>>>> >> or memory or encrypt into the code). Am I missing something here?
>>>>> >>
>>>>> >> Let me also say that I hadn't looked at this document since its early days in
>>>>> >> draft -00 or -01 last summer but I like the changes and how it's been kept
>>>>> >> pretty simple for the common use-case while still allowing for crypto agility/
>>>>> >> extension. Nice work!
>>>>> >>
>>>>> >> [1] http://tools.ietf.org/html/draft-sakimura-oauth-tcse-03#section-3.3
>>>>> >
>>>>> > -derek
>>>>> >
>>>>> >> _______________________________________________
>>>>> >> OAuth mailing list
>>>>> >> OAuth@ietf.org
>>>>> >> https://www.ietf.org/mailman/listinfo/oauth
>>>>> >
>>>>> > --
>>>>> >       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
>>>>> >       Member, MIT Student Information Processing Board  (SIPB)
>>>>> >       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
>>>>> >       warlord@MIT.EDU                        PGP key available
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> 	
>>>>> Brian Campbell
>>>>> Portfolio Architect
>>>>> @	bcampbell@pingidentity.com
>>>>> 	+1 720.317.2061
>>>>> Connect with us…
>>>>>        
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> 	
>>>>> Brian Campbell
>>>>> Portfolio Architect
>>>>> @	bcampbell@pingidentity.com
>>>>> 	+1 720.317.2061
>>>>> Connect with us…
>>>>>        
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> OAuth mailing list
>>>>> OAuth@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> Nat Sakimura (=nat)
>>>>> Chairman, OpenID Foundation
>>>>> http://nat.sakimura.org/
>>>>> @_nat_en
>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> 	
>>>>> Brian Campbell
>>>>> Portfolio Architect
>>>>> @	bcampbell@pingidentity.com
>>>>> 	+1 720.317.2061
>>>>> Connect with us…
>>>>>        
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> Nat Sakimura (=nat)
>>>>> Chairman, OpenID Foundation
>>>>> http://nat.sakimura.org/
>>>>> @_nat_en
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> 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
>> 
>> 
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
> 
> 
> 
> -- 
> Nat Sakimura (=nat)
> Chairman, OpenID Foundation
> http://nat.sakimura.org/
> @_nat_en
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth