Re: [OAUTH-WG] Signatures, Why?

John Panzer <jpanzer@google.com> Tue, 16 March 2010 19:13 UTC

Return-Path: <jpanzer@google.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6A0083A69F7 for <oauth@core3.amsl.com>; Tue, 16 Mar 2010 12:13:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.866
X-Spam-Level:
X-Spam-Status: No, score=-105.866 tagged_above=-999 required=5 tests=[AWL=0.110, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id s-IgiaZjNWG4 for <oauth@core3.amsl.com>; Tue, 16 Mar 2010 12:13:04 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id BD6F03A69CD for <oauth@ietf.org>; Tue, 16 Mar 2010 12:13:02 -0700 (PDT)
Received: from kpbe14.cbf.corp.google.com (kpbe14.cbf.corp.google.com [172.25.105.78]) by smtp-out.google.com with ESMTP id o2GJD94V031231 for <oauth@ietf.org>; Tue, 16 Mar 2010 12:13:10 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1268766791; bh=xV+X2DiYzJPhjW5L3s73eTXbsik=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=sTSjYQrU2RgzrF2lwMcF38UIoJsrFNxydHLsWGMLSbo7qsI++vVSUb2CnRV4iyQcF zmO0w/8pRd2mRdq9kGevw==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:x-system-of-record; b=fVud+T5VpUDs9SvbP87mTMOhIKrsU8EvEpEBog2RnkedSVgptxtIJsUBzAWpcWCnf BNPxBXkvzt6E0t8uPdZvQ==
Received: from iwn36 (iwn36.prod.google.com [10.241.68.100]) by kpbe14.cbf.corp.google.com with ESMTP id o2GJD2I4025210 for <oauth@ietf.org>; Tue, 16 Mar 2010 12:13:08 -0700
Received: by iwn36 with SMTP id 36so147790iwn.29 for <oauth@ietf.org>; Tue, 16 Mar 2010 12:13:07 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.151.197 with SMTP id d5mr1185997ibw.73.1268766787745; Tue, 16 Mar 2010 12:13:07 -0700 (PDT)
In-Reply-To: <5710F82C0E73B04FA559560098BF95B124F0B2C232@USNAVSXCHMBSA3.ndc.alcatel-lucent.com>
References: <d37b4b431003041200n1fc6cc5au83194aca28763b0d@mail.gmail.com> <4B99B2DD.3000405@stpeter.im> <4B99D783.1090905@lodderstedt.net> <4B9EB99F.1050609@lodderstedt.net> <cb5f7a381003152322m5c6ec744nb8336e329860439e@mail.gmail.com> <b71cdca91003152330p74409dc5ua34fb4ef06702a15@mail.gmail.com> <4B9F29BC.3010709@alcatel-lucent.com> <C39FEB3C-4975-4DEB-9D42-E0AF3F143FC7@jkemp.net> <5710F82C0E73B04FA559560098BF95B124F0B2C232@USNAVSXCHMBSA3.ndc.alcatel-lucent.com>
From: John Panzer <jpanzer@google.com>
Date: Tue, 16 Mar 2010 12:05:33 -0700
Message-ID: <cb5f7a381003161205n3c00f2c9t90ac7631ab11525b@mail.gmail.com>
To: "Zeltsan, Zachary (Zachary)" <zachary.zeltsan@alcatel-lucent.com>
Content-Type: multipart/alternative; boundary="0016e68ea020afb9d10481efc981"
X-System-Of-Record: true
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Signatures, Why?
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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, 16 Mar 2010 19:13:08 -0000

I would imagine that things like Content-Length: , Content-Encoding: and
Cache-Control: would be targets for attacks if they were not protected.
 There are also a lot of custom X- headers out there with unknown semantics.

BTW, another advantage of TLS is that it handles integrity of the HTTP
response as well.  I don't think the signing proposals include the response,
do they?

On Tue, Mar 16, 2010 at 11:50 AM, Zeltsan, Zachary (Zachary) <
zachary.zeltsan@alcatel-lucent.com> wrote:

>
> >Would you care if some proxy or other intermediary changed the contents of
> >the Authorization HTTP header?
>
> In OAuth 1.0 the oauth_ parameters can be transmitted in the HTTP
> Authorization header - this is one of the options (and is the preferred
> one). In that case protection of the Authorization header's content is
> needed, but it is already provided by the signature. The parameter
> oauth_signature contains a signature over a string that includes the OAuth
> protocol parameters (excluding "oauth_signature").
>
> >How about if they changed the URL path passed or the HTTP method from GET
> >to POST?
>
> GET and POST (they are not parts of the HTTP headers) are also included in
> the signature base string in OAuth 1.0
>
> I believe that when OAuth parameters are transmitted in the Authorization
> header, OAuth 1.0 provides an adequate protection of that header's contents.
>
> Zachary
> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf Of
> John Kemp
> Sent: Tuesday, March 16, 2010 9:45 AM
> To: Faynberg, Igor (Igor)
> Cc: oauth@ietf.org
> Subject: Re: [OAUTH-WG] Signatures, Why?
>
> On Mar 16, 2010, at 8:48 AM, Igor Faynberg wrote:
>
> > That's what I have been thinking. Why is it important to sign the
> headers?  (I am not against signing them, but I cannot see the need in the
> specific cases we had discussed. In other words, if I had signed the body of
> the request, I probably would not care if someone changed the headers.)
>
> Would you care if some proxy or other intermediary changed the contents of
> the Authorization HTTP header? How about if they changed the URL path passed
> or the HTTP method from GET to POST? Which other HTTP headers might you wish
> to be carried through intermediaries with the property of integrity?
>
> Regards,
>
> - johnk
>
> >
> > Igor
> >
> > Paul Lindner wrote:
> >> What about
> http://oauth.googlecode.com/svn/spec/ext/body_hash/1.0/drafts/1/spec.html?
> >>
> >> That's in use and has been implemented in shindig for quite some time.
> >>
> >> That draft adds protection of the body -- I don't know of any draft that
> covers signing the headers...
> >>
> >>
> >> On Mon, Mar 15, 2010 at 11:22 PM, John Panzer <jpanzer@google.com<mailto:
> jpanzer@google.com>> wrote:
> >>
> >>  I'm confused by one "pro" for signatures:
> >>
> >>  "Protect integrity of whole request - authorization data and
> >>  payload when communicating over unsecure channel"
> >>
> >>  I do not believe there is an existing concrete proposal that will
> >>  protect the whole request, unless you add additional restrictions
> >>  on the request types -- e.g., only HTTP GET or POST with
> >>  form-encoded data variables only.
> >>
> >>  If the assertion is that signatures will actually provide
> >>  integrity for arbitrary HTTP request bodies as well as the URL,
> >>  authority, and HTTP method:   I would like to see at least one
> >>  concrete proposal that will accomplish this.   IIRC there's only
> >>  one that I think is possibly implementable in an interoperable
> >>  way, and it supports only JSON payloads.  In other words, anyone
> >>  using body signing would need to wrap their data in JSON to do it.
> >>   (This is not necessarily the worst thing in the world, of course,
> >>  but it is something to be taken into account when listing pros and
> >>  cons.)
> >>
> >>  On Mon, Mar 15, 2010 at 3:50 PM, Torsten Lodderstedt
> >>  <torsten@lodderstedt.net <mailto:torsten@lodderstedt.net>> wrote:
> >>
> >>      Hi all,
> >>
> >>      I composed a detailed summary at
> >>      http://trac.tools.ietf.org/wg/oauth/trac/wiki/SignaturesWhy.
> >>      Please review it.
> >>
> >>      @Zachary: I also added some of your recent notes.
> >>
> >>      regards,
> >>      Torsten.
> >>
> >>>      I volunteer to write it up.
> >>>>      <hat type='chair'/>
> >>>>
> >>>>      On 3/4/10 1:00 PM, Blaine Cook wrote:
> >>>>
> >>>>>      One of the things that's been a primary focus of both today's WG
> call
> >>>>>      and last week's call is what are the specific use cases for
> >>>>>      signatures?
> >>>>>
> >>>>>      - Why are signatures needed?
> >>>>>      - What do signatures need to protect?
> >>>>>
> >>>>>      Let's try to outline the use cases! Please reply here, so that
> we have
> >>>>>      a good idea of what they are as we move towards the Anaheim WG.
> >>>>>
> >>>>      This was a valuable thread. Perhaps someone could write up a
> summary of
> >>>>      the points raised, either on the list or at the wiki?
> >>>>
> >>>>      Peter
> >>>>
> >>>>
> >>>>
> >>>>      _______________________________________________
> >>>>      OAuth mailing list
> >>>>      OAuth@ietf.org <mailto:OAuth@ietf.org>
> >>>>      https://www.ietf.org/mailman/listinfo/oauth
> >>>>
> >>>
> >>>
> >>>      _______________________________________________
> >>>      OAuth mailing list
> >>>      OAuth@ietf.org <mailto:OAuth@ietf.org>
> >>>      https://www.ietf.org/mailman/listinfo/oauth
> >>>
> >>
> >>
> >>      _______________________________________________
> >>      OAuth mailing list
> >>      OAuth@ietf.org <mailto:OAuth@ietf.org>
> >>      https://www.ietf.org/mailman/listinfo/oauth
> >>
> >>
> >>
> >>  _______________________________________________
> >>  OAuth mailing list
> >>  OAuth@ietf.org <mailto: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
>
> _______________________________________________
> 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
>