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

Eran Hammer-Lahav <eran@hueniverse.com> Fri, 13 November 2009 17:21 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 5FE3D3A682D for <oauth@core3.amsl.com>; Fri, 13 Nov 2009 09:21:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.554
X-Spam-Level:
X-Spam-Status: No, score=-2.554 tagged_above=-999 required=5 tests=[AWL=0.045, 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 r+Yiki+79njJ for <oauth@core3.amsl.com>; Fri, 13 Nov 2009 09:21:29 -0800 (PST)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by core3.amsl.com (Postfix) with SMTP id 339753A681C for <oauth@ietf.org>; Fri, 13 Nov 2009 09:21:29 -0800 (PST)
Received: (qmail 19222 invoked from network); 13 Nov 2009 17:21:55 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.19) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 13 Nov 2009 17:21:54 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT001.EX1.SECURESERVER.NET ([72.167.180.19]) with mapi; Fri, 13 Nov 2009 10:21:51 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: John Panzer <jpanzer@google.com>
Date: Fri, 13 Nov 2009 10:21:43 -0700
Thread-Topic: [OAUTH-WG] why are we signing?
Thread-Index: Acpkf4i19C8gcEdKTPCdTKR/r6BRVgABcmvg
Message-ID: <90C41DD21FB7C64BB94121FBBC2E72343785102F1F@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> <90C41DD21FB7C64BB94121FBBC2E72343785102E58@P3PW5EX1MB01.EX1.SECURESERVER.NET> <cb5f7a380911130837q40d07388y1ae9b472be0ae57a@mail.gmail.com>
In-Reply-To: <cb5f7a380911130837q40d07388y1ae9b472be0ae57a@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 17:21:30 -0000

> -----Original Message-----
> From: John Panzer [mailto:jpanzer@google.com]
> Sent: Friday, November 13, 2009 8:37 AM
> To: Eran Hammer-Lahav
> Cc: oauth@ietf.org
> Subject: Re: [OAUTH-WG] why are we signing?
> 
> The 90% is just MHO.
> 
> I think we should be sure that using TLS for everything is unviable in
> 2010 before diving into complicated signing and binding.  For my use
> cases, non body signed requests are about equivalent to bearer token
> in terms of security; body signing is an interop pain point; absent a
> deus ex machina with a new, secure, simple, ip-free, interoperable
> algorithm for body signing I would personally use PLAINTEXT over TLS
> for resource access and move on to more important things.
> 
> Note that nothing stops someone from defining a data protocol which
> supplies signatures and even binds to the important bits of the
> envelope.  And if you can get XML Dsig to work interoperably for your
> protocol, great!  But OAuth 2 could be defined to leave that to
> protocols and extensions.  In theory this would make things less
> interoperable, but in practice signatures are a huge interop pain
> point anyway (IMHO) so I do not believe there is a practical
> difference in the field.

That's half of what we are explicitly chartered to do. My point is that people should focus on the parts of the protocol they care about. I think such a reduction in functionality and scope would require a more explicit reconsideration of this entire WG.

I for one, see great value in offering some form of crypto-based security for cases where TLS is not suitable.

I am also not buying the argument that we should avoid crypto because it is hard. The same argument can be made about TLS (who really writes their own libraries for that?).

EHL

> On Thursday, November 12, 2009, Eran Hammer-Lahav <eran@hueniverse.com>
> wrote:
> > 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
> >> >
> 
> --
> --
> John Panzer / Google
> jpanzer@google.com / abstractioneer.org / @jpanzer