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

Brian Campbell <bcampbell@pingidentity.com> Fri, 16 May 2014 16:35 UTC

Return-Path: <bcampbell@pingidentity.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 446261A027A for <oauth@ietfa.amsl.com>; Fri, 16 May 2014 09:35:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.578
X-Spam-Level:
X-Spam-Status: No, score=-3.578 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, 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 yglz3IiFeKfE for <oauth@ietfa.amsl.com>; Fri, 16 May 2014 09:35:26 -0700 (PDT)
Received: from na3sys009aog103.obsmtp.com (na3sys009aog103.obsmtp.com [74.125.149.71]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1D3551A00B5 for <oauth@ietf.org>; Fri, 16 May 2014 09:32:53 -0700 (PDT)
Received: from mail-ie0-f171.google.com ([209.85.223.171]) (using TLSv1) by na3sys009aob103.postini.com ([74.125.148.12]) with SMTP ID DSNKU3Y9rUuuPTdlAbBJST7DBRws4uUFaK/K@postini.com; Fri, 16 May 2014 09:32:46 PDT
Received: by mail-ie0-f171.google.com with SMTP id rl12so2777431iec.16 for <oauth@ietf.org>; Fri, 16 May 2014 09:32:45 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=6M5uWRWsOXVvrAiUVSt/8V/iYY9PWOrShaJ+EbqzgRU=; b=mA2v8bMrBwkj9DPXoiZv4jCNt2CimPd9/qvUwUSp2vmTB0BW9x5uobcOaKdS8PDJxV VvPDUReACAazCSD5sgpkM522EQKm7Sww5oZge0me6k0bWrWs0jBR2bejmwKDyTbbh8m2 LLT+gUipH64m8HGhu1oc6IZBAs2tSWra1+vETcVG+Xg9gSuBEsLVUh8XVkBfmeoa3aDJ E2dNNNohHc2uAFpJeUpbmbbA50pIPhg5M4nuQuZdY1nYLw0crmk/X145wZx0VZf2nMZN oU6ZTrdE7KdM8mRfebuWcNBJ9jbHhJK0+EObXGf6MhF9TYXyaItg0PaxykONfKDRlqX5 gTxA==
X-Gm-Message-State: ALoCoQlceJXedPZEaMd9vEn0yAbKeoXYJD3yAQFN5wHSa9Sh8eRoprRFQtgaKt0SYCz8ILFlNozczTSq94P6jANKEe8DRLYerpGoQB5uTYU7Lbz0nvzvdsVYJZKPyp+P+LnRlYHAbxWQ
X-Received: by 10.50.109.230 with SMTP id hv6mr21889343igb.9.1400257965142; Fri, 16 May 2014 09:32:45 -0700 (PDT)
X-Received: by 10.50.109.230 with SMTP id hv6mr21889309igb.9.1400257964915; Fri, 16 May 2014 09:32:44 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.240.201 with HTTP; Fri, 16 May 2014 09:32:14 -0700 (PDT)
In-Reply-To: <E54A312A-F44C-4E13-9DD7-C47DC48CA805@ve7jtb.com>
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>
From: Brian Campbell <bcampbell@pingidentity.com>
Date: Fri, 16 May 2014 10:32:14 -0600
Message-ID: <CA+k3eCS=vt_WDpGYJ6LcsF_MO0GkoebH6NrQ--NTD0E20NOQ8A@mail.gmail.com>
To: John Bradley <ve7jtb@ve7jtb.com>
Content-Type: multipart/alternative; boundary="089e013a1d8e97d45304f986f622"
Archived-At: http://mailarchive.ietf.org/arch/msg/oauth/4UQszrgrmzgjFuz62cPpVijbH7I
Cc: oauth <oauth@ietf.org>, Naveen Agarwal <naa@google.com>
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: Fri, 16 May 2014 16:35:29 -0000

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
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>    [image: Ping Identity logo] <https://www.pingidentity.com/>
>>>>> Brian Campbell
>>>>> Portfolio Architect
>>>>>   @ bcampbell@pingidentity.com  [image: phone] +1 720.317.2061  Connect
>>>>> with us…  [image: twitter logo] <https://twitter.com/pingidentity> [image:
>>>>> youtube logo] <https://www.youtube.com/user/PingIdentityTV> [image:
>>>>> LinkedIn logo] <https://www.linkedin.com/company/21870> [image:
>>>>> Facebook logo] <https://www.facebook.com/pingidentitypage> [image:
>>>>> Google+ logo] <https://plus.google.com/u/0/114266977739397708540> [image:
>>>>> slideshare logo] <http://www.slideshare.net/PingIdentity> [image:
>>>>> flipboard logo] <http://flip.it/vjBF7> [image: rss feed icon]<https://www.pingidentity.com/blogs/>
>>>>>    [image: Register for Cloud Identity Summit 2014 | Modern Identity
>>>>> Revolution | 19–23 July, 2014 | Monterey, CA]<https://www.cloudidentitysummit.com/>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>>    [image: Ping Identity logo] <https://www.pingidentity.com/>
>>>> Brian Campbell
>>>> Portfolio Architect
>>>>   @ bcampbell@pingidentity.com  [image: phone] +1 720.317.2061  Connect
>>>> with us…  [image: twitter logo] <https://twitter.com/pingidentity> [image:
>>>> youtube logo] <https://www.youtube.com/user/PingIdentityTV> [image:
>>>> LinkedIn logo] <https://www.linkedin.com/company/21870> [image:
>>>> Facebook logo] <https://www.facebook.com/pingidentitypage> [image:
>>>> Google+ logo] <https://plus.google.com/u/0/114266977739397708540> [image:
>>>> slideshare logo] <http://www.slideshare.net/PingIdentity> [image:
>>>> flipboard logo] <http://flip.it/vjBF7> [image: rss feed icon]<https://www.pingidentity.com/blogs/>
>>>>    [image: Register for Cloud Identity Summit 2014 | Modern Identity
>>>> Revolution | 19–23 July, 2014 | Monterey, CA]<https://www.cloudidentitysummit.com/>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>>
>>
>>
>>
>> --
>>    [image: Ping Identity logo] <https://www.pingidentity.com/>
>> Brian Campbell
>> Portfolio Architect
>>   @ bcampbell@pingidentity.com  [image: phone] +1 720.317.2061  Connect
>> with us…  [image: twitter logo] <https://twitter.com/pingidentity> [image:
>> youtube logo] <https://www.youtube.com/user/PingIdentityTV> [image:
>> LinkedIn logo] <https://www.linkedin.com/company/21870> [image: Facebook
>> logo] <https://www.facebook.com/pingidentitypage> [image: Google+ logo]<https://plus.google.com/u/0/114266977739397708540> [image:
>> slideshare logo] <http://www.slideshare.net/PingIdentity> [image:
>> flipboard logo] <http://flip.it/vjBF7> [image: rss feed icon]<https://www.pingidentity.com/blogs/>
>>    [image: Register for Cloud Identity Summit 2014 | Modern Identity
>> Revolution | 19–23 July, 2014 | Monterey, CA]<https://www.cloudidentitysummit.com/>
>>
>>
>
>
> --
> Nat Sakimura (=nat)
> Chairman, OpenID Foundation
> http://nat.sakimura.org/
> @_nat_en
>
>
>