Re: [OAUTH-WG] why are we signing?

Eran Hammer-Lahav <eran@hueniverse.com> Fri, 13 November 2009 07:17 UTC

Return-Path: <eran@hueniverse.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 BE21C3A694E for <oauth@core3.amsl.com>; Thu, 12 Nov 2009 23:17:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.551
X-Spam-Level:
X-Spam-Status: No, score=-2.551 tagged_above=-999 required=5 tests=[AWL=0.048, BAYES_00=-2.599]
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 2gh6sOmVbpqA for <oauth@core3.amsl.com>; Thu, 12 Nov 2009 23:17:49 -0800 (PST)
Received: from p3plex1out02.prod.phx3.secureserver.net (p3plex1out02.prod.phx3.secureserver.net [72.167.180.18]) by core3.amsl.com (Postfix) with SMTP id 900A03A68A9 for <oauth@ietf.org>; Thu, 12 Nov 2009 23:17:49 -0800 (PST)
Received: (qmail 17860 invoked from network); 13 Nov 2009 07:18:16 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.20) by p3plex1out02.prod.phx3.secureserver.net with SMTP; 13 Nov 2009 07:18:16 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT002.EX1.SECURESERVER.NET ([72.167.180.20]) with mapi; Fri, 13 Nov 2009 00:18:16 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: John Panzer <jpanzer@google.com>
Date: Fri, 13 Nov 2009 00:18:06 -0700
Thread-Topic: [OAUTH-WG] why are we signing?
Thread-Index: AcpjrzLh9CPO7seuS3KLVxwxHjgfeQAgFJeA
Message-ID: <90C41DD21FB7C64BB94121FBBC2E72343785102E58@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <daf5b9570911082102u215dcf22gf0aeb2f3578e5ea0@mail.gmail.com> <35D50F5C-3982-4298-A9E0-86A528F5C5D3@jkemp.net> <daf5b9570911092158k682aff63l959c423c399b2277@mail.gmail.com> <4A956CE47D1066408D5C7EB34368A5110551FFC1@S4DE8PSAAQC.mitte.t-com.de> <daf5b9570911111754u49f72a0aia59814b5da497a51@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E72343785102B49@P3PW5EX1MB01.EX1.SECURESERVER.NET> <cb5f7a380911120745w2f576d1ej300723581e50f03f@mail.gmail.com>
In-Reply-To: <cb5f7a380911120745w2f576d1ej300723581e50f03f@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] why are we signing?
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: Fri, 13 Nov 2009 07:17:50 -0000

Are you suggesting using TLS for every protected resource or just for obtaining the token and refreshing it?

OAuth today already supports this via the PLAINTEXT method (though not very cleanly with all the other parameters still required even if useless).

Also What use cases? And where is this 90% comes from?

I for one have always rejected the argument that since cookies are already so broken, there was little point in trying to make API security better. When we originally worked on OAuth we explicitly looked to prevent replay attacks as well as intercepting and changing an authenticated request. We limited our scope to protecting the request URI and (some) parameters. That provided sufficient protection to the APIs people had in mind at the time which were mostly GET/POST requests with just a few parameters. The body hash extension then extended the usefulness of the protocol to other payloads.

The delegation half of the protocol deals with exchanging passwords with tokens. Those who find bearer token sufficient without any additional crypto can simply focus their attention on that. On the authentication side, I would like to offer something other than "use TLS for everything" or risk attacks for ("only") 10 minutes.

EHL

> -----Original Message-----
> From: John Panzer [mailto:jpanzer@google.com]
> Sent: Thursday, November 12, 2009 7:46 AM
> To: Eran Hammer-Lahav
> Cc: oauth@ietf.org
> Subject: Re: [OAUTH-WG] why are we signing?
> 
> I think that https plus bearer token is sufficient for 90% of use
> cases.  I haven't heard a first principles argument otherwise.  If for
> no other reason than the record, could the proponents of signing
> explain why bearer token over TLS will not meet their needs?
> 
> On Thursday, November 12, 2009, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
> > As a matter of process, I would suggest looking at what the 1.0 HMAC-
> SHA1 method signs, and discuss if it is where we should be. We are
> working with an existing draft and should structure our discussions as
> feedback to that point of reference. This doesn't limit the conclusion
> in any way, and is how this WG has been chartered.
> >
> > EHL
> >
> >
> >> -----Original Message-----
> >> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On
> Behalf
> >> Of Brian Eaton
> >> Sent: Wednesday, November 11, 2009 5:54 PM
> >> To: BeckW@telekom.de
> >> Cc: oauth@ietf.org
> >> Subject: Re: [OAUTH-WG] why are we signing?
> >>
> >> So we've got at least five different use cases for signing requests
> >> with the oauth access token and token secret.
> >>
> >> Sweet.
> >>
> >> The downside to the use cases is that they all have incompatible
> >> signature base strings.  I'd like to see us come up with something
> so
> >> that we don't have to reinvent the base string again for every
> single
> >> use case.
> >>
> >> Cheers,
> >> Brian
> >>
> >> On Wed, Nov 11, 2009 at 5:49 PM,  <BeckW@telekom.de> wrote:
> >> >
> >> > On Mon, Nov 9, 2009 at 6:28 AM, John Kemp <john@jkemp.net> wrote:
> >> >> If we are only interested in i) [authenticating the entity] then
> >> > signing any piece of the message might
> >> >> be sufficient. If we are interested in ii) [binding the signature
> to
> >> > the message] (or some other security property)
> >> >> then we will need to identify which pieces of the message we want
> to
> >> > provide
> >> >> that, or other, security properties for.
> >> >
> >> >> Brian Eaton wrote:
> >> >> OK, let me try to summarize what I've heard on this thread about
> the
> >> >> different use-cases for message signing:
> >> >>
> >> >> - sign the HTTP request
> >> >>   Used to prevent MITM from replaying token to a different URL.
> >>  Also
> >> >> limits the replay attack window to minutes instead of hours.
> >> >>
> >> >> - sign various other parts of the message
> >> >>   DKIM: signs various message headers
> >> >>   SIP: unspecified, just says "relevant parts of SIP request"
> >> > Hannes Tschofenig suggested handle SIP messages the way described
> in
> >> RfC
> >> > 4474 (SIP identity). It lists the parts of a SIP messsage that
> need
> >> to
> >> > be protected.
> >> >
> >> > Wolfgang
> >> >
> >> _______________________________________________
> >> 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
> >
> 
> --
> --
> John Panzer / Google
> jpanzer@google.com / abstractioneer.org / @jpanzer