Re: [OAUTH-WG] WG Survey

Peter Saint-Andre <stpeter@stpeter.im> Tue, 23 February 2010 00:00 UTC

Return-Path: <stpeter@stpeter.im>
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 8EA9628C462 for <oauth@core3.amsl.com>; Mon, 22 Feb 2010 16:00:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.593
X-Spam-Level:
X-Spam-Status: No, score=-2.593 tagged_above=-999 required=5 tests=[AWL=0.006, 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 ZcrYsPtK8JKM for <oauth@core3.amsl.com>; Mon, 22 Feb 2010 16:00:33 -0800 (PST)
Received: from stpeter.im (stpeter.im [207.210.219.233]) by core3.amsl.com (Postfix) with ESMTP id 5E1C928C454 for <oauth@ietf.org>; Mon, 22 Feb 2010 16:00:33 -0800 (PST)
Received: from dhcp-64-101-72-201.cisco.com (dhcp-64-101-72-201.cisco.com [64.101.72.201]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id 2B6DB40126 for <oauth@ietf.org>; Mon, 22 Feb 2010 17:02:33 -0700 (MST)
Message-ID: <4B831B18.3020101@stpeter.im>
Date: Mon, 22 Feb 2010 17:02:32 -0700
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.7) Gecko/20100111 Thunderbird/3.0.1
MIME-Version: 1.0
To: oauth@ietf.org
References: <90C41DD21FB7C64BB94121FBBC2E72343864B479DC@P3PW5EX1MB01.EX1.SECURESERVER.NET>
In-Reply-To: <90C41DD21FB7C64BB94121FBBC2E72343864B479DC@P3PW5EX1MB01.EX1.SECURESERVER.NET>
X-Enigmail-Version: 1.0.1
OpenPGP: url=http://www.saint-andre.com/me/stpeter.asc
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha1"; boundary="------------ms020307020908050507060605"
Subject: Re: [OAUTH-WG] WG Survey
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, 23 Feb 2010 00:00:34 -0000

On 2/18/10 10:14 AM, Eran Hammer-Lahav wrote:
> A few questions we should answer before moving forward.

Eran, I think those were good questions. I've summarized the list
feedback so far below. I'm out of time for the moment, but will reply
with some of my own thoughts soon...

> Considering *your* use cases and reasons for being here:
> 
> 1. Why are you here?

Reasons include:

- need to build applications on top of OAuth
- interested in token-based infrastructures
- interested in non-web applications
- want to simplify the architecture
- concerned about security issues
- want an extension for passing around signed identity claims
- want to build Internet-scale applications
- seeking greater simplicity
- see a need for a widespread authn/authz technology
- concerned about fragmentation / care about open standards

> What are you trying to solve that is not already addressed by 
> existing specifications (OAuth 1.0a, WRAP, etc)?

Problems include:

- 1.0a doesn't easily support distributed policy enforcement
- there is a lot of potential beyond the use cases covered in 1.0a
- need improved support for central authorization services
- protected resource needs to know consumer key and secret (security issue)
- should be an option to pass a bearer token over an encrypted channel
- in some environments it is difficult to revoke access tokens
- need support for asymmetric secrets to avoid client registration
- OAuth 1.0a flow is too complex
- too many round trips
- doesn't support non-web use cases very well
- need more pictures / flow diagrams to make it more readable
- integrate better with OpenID
- the problems depend on the use cases (define those first)
- recursive delegation is undefined
- optimize for the web
- support more use cases than defined in 1.0a
- clarify what we have in 1.0a

> 2. Should the WG start by taking WRAP or OAuth 1.0a as its starting 
> point? Something else?

Both: 5 (take the best parts from each document)
WRAP: 4
Either: 2 (just start with use cases!)
OAuth 1.0a: 2

> 3. If we start from draft-hammer-oauth, what needs to change to turn
>  it into OAuth 2.0?

- separation of token issuance (delegation) and request authentication
- abstract token format w. concrete minimum supportable set
- token usage profiles (e.g. bearer vs. symmetric key vs. asymmetric)
- add the flows from WRAP
- add a new message format for signing
- don't require client credentials to access protected resources
- replace PLAINTEXT with a simpler bearer token format or WRAP/TLS
- better separation of authorization (get a token) from authentication
(use a token)
- remove signing requests
- keep signing requests but simplify

> 4. If we start from draft-hardt-oauth, what needs to change to turn 
> it into OAuth 2.0?

- to support message signing, authorization servers should optionally
issue token secrets
- more clearly explain the architecture, especially how the token issuer
can be separate from the resource server
- improve security considerations
- add non-PLAINTEXT use cases
- separate user/client/server delegation from client/server credential
refresh
- better 401 Unauthorized WWW-Authenticate responses
- discovery of redirect URIs, of authentication mechanisms, of the
domains where a token can be used
- need support for signed requests (majority of deployments)

> 5. Do you think the approach of working first on 'how to use a token'
> and then on 'how to get a token' is right?

No: 7
Yes: 3
Abstain / Unsure: 3

considerations:
- these steps are interdependent
- more productive to start from either WRAP or OAuth 1.0a and iterate
- hard to compare this approach to a more integrated approach
- it all depends on the goals and use cases
- OK to have many ways to use a token
- need simple bearer token to define the entire flow

> 6. Should we go back to working on a single specification?

Yes: 8
No: 2
Doesn't matter: 2
Abstain / Unsure: 1

> 7. Do you think the protocol should include a signature-based 
> authentication scheme?

Yes: 10
No / make it optional: 2
Depends on use cases: 1

/psa