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

Brian Campbell <bcampbell@pingidentity.com> Tue, 20 May 2014 12:10 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 999B91A0346 for <oauth@ietfa.amsl.com>; Tue, 20 May 2014 05:10:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.878
X-Spam-Level:
X-Spam-Status: No, score=-0.878 tagged_above=-999 required=5 tests=[BAYES_50=0.8, 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 KfpbNcEWknLr for <oauth@ietfa.amsl.com>; Tue, 20 May 2014 05:10:15 -0700 (PDT)
Received: from na3sys009aog129.obsmtp.com (na3sys009aog129.obsmtp.com [74.125.149.142]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 016BE1A06D9 for <oauth@ietf.org>; Tue, 20 May 2014 05:10:14 -0700 (PDT)
Received: from mail-ig0-f174.google.com ([209.85.213.174]) (using TLSv1) by na3sys009aob129.postini.com ([74.125.148.12]) with SMTP ID DSNKU3tGJipuN6NFFoNbaXJkQQy/MvK1a4qX@postini.com; Tue, 20 May 2014 05:10:14 PDT
Received: by mail-ig0-f174.google.com with SMTP id h3so4746102igd.7 for <oauth@ietf.org>; Tue, 20 May 2014 05:10:14 -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=3C7KEym3fEuDIkTn/K0AwDhF+5+Ni/+qKdsya31duNo=; b=gIAyRhK8pSwoyvBpQBk3SSJ+eH9p0rRCbhk2bEZdtDSeeCdpf3uZ0Cqm6L+MSFIdfs o8u9YjbLNsOx7eqo0PCReP+LmdlrWs/GjAj+SBmh1nCC6mPEa6oa/Go05iJo+2ekHk21 3AecqO7SGxrKKX7e9mCeYNtIJFLFcJ8dLycOy2Bwc1LD+pW3t8ZYzUYUzkvRrI+k02yJ nfpv2vMTbojz1hlDAv2TdDE472kN3MN6Gsn/aaX57qVu91mPPgks3hy7Nw0WoJJvxeAN 0iUPkxyI23zDagOvm/3GQWgWmQshz1kOEDHlLdmM+ZtOF2O3VWC/RcjJOKMKBTKyGihq hDOw==
X-Gm-Message-State: ALoCoQlHN4KKrhNw1kXdnkV2U9lYjsIoyOOsoI0Zy6Ah9V1W6Vy4CUr08J/bwnSfa2PHdWBfW3G44s96CN3UQlLGZgWlUMQ4kKnQo1wQh2Zqr48MoBf3TFXdxKXAjxZwF/2TNAts7COL
X-Received: by 10.42.52.199 with SMTP id k7mr40205444icg.4.1400587813995; Tue, 20 May 2014 05:10:13 -0700 (PDT)
X-Received: by 10.42.52.199 with SMTP id k7mr40205418icg.4.1400587813819; Tue, 20 May 2014 05:10:13 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.240.201 with HTTP; Tue, 20 May 2014 05:09:43 -0700 (PDT)
In-Reply-To: <1400275641.37471.YahooMailNeo@web142803.mail.bf1.yahoo.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> <CA+k3eCS=vt_WDpGYJ6LcsF_MO0GkoebH6NrQ--NTD0E20NOQ8A@mail.gmail.com> <1400275641.37471.YahooMailNeo@web142803.mail.bf1.yahoo.com>
From: Brian Campbell <bcampbell@pingidentity.com>
Date: Tue, 20 May 2014 06:09:43 -0600
Message-ID: <CA+k3eCTMWHAJ8Kbh9WQ9dGVAWEwq87TUkhrigfCFi1JJkRPoCw@mail.gmail.com>
To: Bill Mills <wmills_92105@yahoo.com>
Content-Type: multipart/alternative; boundary="485b397dd6091eaca304f9d3c340"
Archived-At: http://mailarchive.ietf.org/arch/msg/oauth/g_ehOv4UQJLnNDwMxCiKaC1wVgk
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: Tue, 20 May 2014 12:10:26 -0000

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
>
>
>
>
> --
>  [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
>
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
>
>