Re: [OAUTH-WG] Google's view on signatures in the core OAuth2 spec

"Richard L. Barnes" <rbarnes@bbn.com> Fri, 24 September 2010 02:37 UTC

Return-Path: <rbarnes@bbn.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 456CE3A68C8 for <oauth@core3.amsl.com>; Thu, 23 Sep 2010 19:37:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.561
X-Spam-Level:
X-Spam-Status: No, score=-102.561 tagged_above=-999 required=5 tests=[AWL=0.037, BAYES_00=-2.599, HTML_MESSAGE=0.001, 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 4n3DY3FQoWZY for <oauth@core3.amsl.com>; Thu, 23 Sep 2010 19:37:55 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.1.81]) by core3.amsl.com (Postfix) with ESMTP id 8C3703A68A8 for <oauth@ietf.org>; Thu, 23 Sep 2010 19:37:55 -0700 (PDT)
Received: from [128.89.254.38] (port=59906 helo=[192.168.1.11]) by smtp.bbn.com with esmtp (Exim 4.71 (FreeBSD)) (envelope-from <rbarnes@bbn.com>) id 1OyyB7-00080f-56; Thu, 23 Sep 2010 22:38:26 -0400
Message-Id: <825F49AC-053F-4864-9FBF-CAAA17E141A1@bbn.com>
From: "Richard L. Barnes" <rbarnes@bbn.com>
To: Dick Hardt <dick.hardt@gmail.com>
In-Reply-To: <1CFAB616-FB50-4CC3-938B-D557FD9992ED@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail-2--101458644"
Mime-Version: 1.0 (Apple Message framework v936)
Date: Thu, 23 Sep 2010 22:38:22 -0400
References: <C8C148D3.3AC59%eran@hueniverse.com> <1CFAB616-FB50-4CC3-938B-D557FD9992ED@gmail.com>
X-Mailer: Apple Mail (2.936)
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Google's view on signatures in the core OAuth2 spec
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, 24 Sep 2010 02:37:57 -0000

I also agree with the observation about consensus being based on  
individual voices.

I don't think it's accurate to say that signatures are a generic  
security mechanism.  As I would think we learned from OAuth 1.0[a], it  
can actually be pretty subtle to define how signatures are used in a  
given context.

I doubt that a spec that only includes a "bearer token" model will not  
have enough of a security story to get past SECDIR and IESG review,  
especially without some careful thinking about when TLS is required  
and how it is negotiated (for example, you may need something like  
HSTS [1]).

On the other hand, it seems like a sensible compromise approach to re- 
use the signature scheme from OAuth 1.0a.  If there is interest in  
some other type of signing scheme, then of course the cost of this  
approach is having some sort of versioning / negotiation for signature  
algorithms.  But this may already be necessary to distinguish between  
signed requests and bearer-token requests.

--Richard

[1] <http://tools.ietf.org/html/draft-hodges-strict-transport-sec>




On Sep 23, 2010, at 9:30 PM, Dick Hardt wrote:

> I agree with your point that consensus is based on individual voices.
>
> I agree with Eric's points that signatures are a generic security  
> mechanism and that signatures should be in a separate spec.
>
> -- Dick
>
>
> On 2010-09-23, at 6:11 PM, Eran Hammer-Lahav wrote:
>
>> It is pretty clear from the recent public response that a core  
>> specification without signatures is going to be viewed as weak and  
>> insecure. This has been my position for over a year, and if it  
>> wasn’t clear, I am going to continue expressing it.
>>
>> We have enough interest to get a basic signature support in the  
>> core specification, one that is not driven by enterprise use cases,  
>> complex identity solutions, or large distributed systems. Given the  
>> recent Twitter migration to OAuth 1.0a proved that with a big  
>> enough carrot (or stick, depending on your view), developers figure  
>> it out. I believe that an OAuth 1.0a style signature can be easily  
>> developed and added to the core specification as an optional feature.
>>
>> This is not new. This was agreed upon at the Anaheim meeting. I  
>> took the signature language out of the draft in order to focus the  
>> discussion on the other components. Now that –10 is pretty solid  
>> (normative language-wise), it is time to bring it back in.
>>
>> Draft –11 will include a signature proposal, even if that means a  
>> short delay.
>>
>> The arguments about delaying the core spec are meritless, given  
>> that a growing number of companies are releasing OAuth 2.0 APIs  
>> using the latest stable draft. We can easily do a WGLC for the  
>> current stable components, and add signatures without changing  
>> those. This working group does not make technical and architectural  
>> decisions based on the timeline needs of any company. We do what is  
>> best for the web and we take as much time as necessary.
>>
>> As an aside, while companies can certainly express their corporate  
>> position on matters, this is a working group of individuals, and  
>> consensus is based solely on individual voices.
>>
>> EHL
>>
>>
>>
>>
>>
>>
>> On 9/23/10 5:30 PM, "Eric Sachs" <esachs@google.com> wrote:
>>
>> Google wanted to re-state our long standing opinions on HTTP  
>> signature mechanisms in the OAuth2 spec.  The short version is that  
>> standards for signing parts of an HTTP request have value in use- 
>> cases other than OAuth2, and thus they should be defined outside  
>> the spec, and just referenced from the spec similar to how we  
>> reference other Internet security building blocks like SSL.  Those  
>> signature standards are likely to in turn reference optional  
>> mechanisms for key rotation and discovery, as well as reference  
>> different crypto schemes like HMAC or RSA.
>>
>> There are already people in the identity community working on specs  
>> that are related to OAuth2, but which have value in other use- 
>> cases.  For example, there are people working on defining standards  
>> around token formats, signing blobs of different types (such as a  
>> token and/or HTTP request), key discovery/rotation, and consumer- 
>> key namespaces across vendors.  Dirk Balfanz from Google recently  
>> sent out updated drafts of some of those specs, and they also  
>> leverage specs that John Panzer from Google has worked on for Magic  
>> Signatures, as well as input from people in the community who are  
>> not at Google.
>>
>> However even though Google is working on those specs, we still  
>> believe it is a mistake to delay the OAuth2 core spec standard to  
>> wait on broad agreement for a "signature proposal," just as it  
>> would be a mistake to delay the OAuth2 core spec to wait on the  
>> standards efforts around token formats, token signing, key  
>> discovery/rotation, consumer-key naming, etc.
>>
>> _______________________________________________
>> 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