Re: [OAUTH-WG] Client authentication requirement

2011-07-07 Thread Eran Hammer-Lahav
BTW, as I'm working it into the document, these are all great reasons to 
recommend client authentication, but not to require it. You should clearly 
require it if you are going to implement all these protections, but at the same 
time, we clearly have use cases (pretty much from every major provider 
represented here) to issue refresh tokens to public clients (native apps, etc.) 
which cannot authenticate.

I feel we have been burying our head in the sand for too long about the true 
requirements and deployment of client authentication. I'm hoping -17 will offer 
a reasonable fix.

EHL

From: oauth-boun...@ietf.org [mailto:oauth-boun...@ietf.org] On Behalf Of Eran 
Hammer-Lahav
Sent: Wednesday, July 06, 2011 10:20 PM
To: Brian Eaton
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Client authentication requirement

Very helpful.

EHL

From: Brian Eaton [mailto:bea...@google.com]mailto:[mailto:bea...@google.com]
Sent: Thursday, June 16, 2011 8:38 AM
To: Eran Hammer-Lahav
Cc: Brian Campbell; OAuth WG
Subject: Re: [OAUTH-WG] Client authentication requirement

On Wed, Jun 15, 2011 at 6:19 PM, Eran Hammer-Lahav 
e...@hueniverse.commailto:e...@hueniverse.com wrote:
Your comment was that having client authentication makes it easier to recovery 
from an attack. I don't understand how the comments below about changing client 
secrets every 30 days are relevant. Are you suggesting to wait until the next 
routine secret cycle to revoke compromised credentials? Or that 30 days is a 
reasonable time period for ignoring an attack?

Sorry, there are multiple good reasons to require client authentication for the 
access token endpoint.

- if you need to recover from a compromise, changing the client credentials 
will prevent the attacker from abusing refresh tokens they have stolen.  
Changing a single client credential is much faster than revoking lots of 
refresh tokens.

- if you want to follow best practices for management of authentication 
credentials, you should do periodic key rotation.  Rotation of lots of refresh 
tokens is quite challenging.  Rotation of client credentials is much easier.

- if you want to bind refresh tokens to stronger authentication credentials, 
such as private keys stored in an HSM, you need to require client 
authentication when using the refresh token.

Is that helpful?

Cheers,
Brian
___
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


Re: [OAUTH-WG] Timely review request: pre-draft-17

2011-07-07 Thread Eran Hammer-Lahav
I finished the major part of -17, adding a new Client registration section and 
folding client authentication into it. This new text attempts to directly 
address:

* client authentication requirements
* define client types with regard to keeping secrets
* set registration requirements
* properly explain client identifier
* replace client credentials with a more generic client authentication (in 
terms used throughout the document)
* provide a comprehensive discussion of redirection URIs (this is where the few 
normative changes are)
* tweak the implicit and authorization code intros to better reflect reality 
('optimized for')
* separate client identifier from client authentication (keep binding 
requirement)

Normative changes (this should be verified):

* require client authentication for private clients (previously implied)
* require redirection endpoint registration for implicit grant and all for 
public clients requests
* remove client_id as a required parameter from the token endpoint (now back to 
being part of the client_secret pair)

The draft includes other changes like new error codes, but I'll list those when 
the draft is published. I still have about 32 more items on my list to apply 
before publishing, but the major changes are done.

You can always find the latest here:

https://github.com/hueniverse/draft-ietf-oauth

Early review of the following sections would be GREALY appreciated:

2.  Client Registration
2.1.  Client Types
2.2.  Registration Requirements
2.3.  Client Identifier
2.4.  Client Authentication
2.4.1.  Client Password
2.4.2.  Other Authentication Methods
2.5.  Unregistered Clients

3.1.2.  Redirection URI

3.2.1.  Client Authentication

-17 will be published by Friday at which point I will leave it to the chairs to 
decide if they still want to initiate WGLC or give the draft a few days of 
informal review.

EHL


 -Original Message-
 From: Eran Hammer-Lahav
 Sent: Monday, July 04, 2011 10:09 PM
 To: OAuth WG
 Subject: Timely review request: pre-draft-17
 
 I have started sharing my planned changes for 17:
 
 https://github.com/hueniverse/draft-ietf-oauth
 
 Change log:
 
 https://github.com/hueniverse/draft-ietf-
 oauth/commit/24a48f99c204331264028
 f66708427961a1bc102#diff-3
 
 
 My main focus right now is to clarify client types, registration, and
 identification, as well as tweak the registration requirements for redirection
 URIs. This is still very raw. However, I would very much like to get feedback
 about the following sections:
 
 1.1.1.  Client Types
 1.2.  Client Registration
 
 2.1.1.  Redirection URI
 
 
 In section 2.1.1, please note that it includes many new normative
 requirements, but in practice, they mostly boil down to the requirement to
 register a redirection URI for using the implicit grant type as well as using 
 the
 authorization code with a public client (new term for describing client
 incapable of keeping secrets).
 
 I have turned the spec around, making registered redirection URIs the
 default, and using the parameter as an optional feature.
 
 Feedback is very much appreciated as we only have a few more days before I
 have to push out -17 and would like a few more eyes looking at the new text
 before published.
 
 I am still not ready to share changes to section 3. Also, I have a long list 
 of
 additional changes raised on the list.
 
 Thanks,
 
 EHL
 
 
 

___
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


Re: [OAUTH-WG] state parameter and XSRF detection

2011-07-07 Thread Eran Hammer-Lahav
Allowing any flexibly in the redirection URI is a bad thing and the latest 
draft (pre -17) clearly states that. The main fear is that by allowing the 
query to be changed dynamically, attackers can find open redirector loopholes 
to abuse. I really wanted to make registration of the absolute URI a MUST, but 
didn't go that far.

EHL

 -Original Message-
 From: oauth-boun...@ietf.org [mailto:oauth-boun...@ietf.org] On Behalf
 Of Torsten Lodderstedt
 Sent: Monday, June 27, 2011 2:22 PM
 To: OAuth WG
 Subject: [OAUTH-WG] state parameter and XSRF detection
 
 Hi all,
 
 while working on a new revision of the OAuth security document, a question
 arose I would like to clarify on the list.
 
 The state parameter is supposed to be used to link a certain authorization
 request and response. Therefore, the client stores a value in this parameter
 that is somehow bound to a value retained on the device (the user agent)
 originating the authorization request.
 
 The question now is: Would it be compliant with the core spec to use any
 other URI query parameter encoded in the redirect_uri, instead of the
 state parameter, to achieve the same goal? Probably the client already has
 a working legacy implementation it does not want to change just for
 OAuth2 compliance.
 
 According to section 2.2.1, the redirection uri could contain a dynamic
 portion:
 
 The authorization server SHOULD require the client to pre-register
 their redirection URI or at least certain components such as the
 scheme, host, port and path
 
 So this should be fine.
 
 Any comments?
 
 regards,
 Torsten.
 
 ___
 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


Re: [OAUTH-WG] Example tokens

2011-07-07 Thread William J. Mills
Access tokens realistically may be longer as they may have encrypted scopes and 
such.




From: Eran Hammer-Lahav e...@hueniverse.com
To: Brian Campbell bcampb...@pingidentity.com; Oleg Gryb o...@gryb.info
Cc: OAuth WG oauth@ietf.org
Sent: Wednesday, July 6, 2011 8:53 PM
Subject: Re: [OAUTH-WG] Example tokens

Does that apply to access tokens, refresh tokens, and authorization codes? I 
can try squeezing in 22 characters.

EHL

 -Original Message-
 From: Brian Campbell [mailto:bcampb...@pingidentity.com]
 Sent: Wednesday, July 06, 2011 8:46 PM
 To: Oleg Gryb
 Cc: Eran Hammer-Lahav; OAuth WG
 Subject: Re: [OAUTH-WG] Example tokens
 
 So on the 128-bit note, the examples could probably be a bit shorter,
 22 characters would give somewhat more than 128 bits of randomness.
 But to EHL's original question, the examples (currently 7-12
 characters) should probably be longer.
 
 On Wed, Jul 6, 2011 at 5:27 PM, Oleg Gryb oleg_g...@yahoo.com wrote:
  log2(64^27)=162 bits
 
  Looks good. For comparison, 128-bit entropy for a key in symmetric
  encryption used by SSL is considered as strong.
  I'm assuming that all those 162 bits are generated by a good randomizer.
 
 
 
 
  - Original Message 
  From: Brian Campbell bcampb...@pingidentity.com
  To: Eran Hammer-Lahav e...@hueniverse.com
  Cc: OAuth WG oauth@ietf.org
  Sent: Wed, July 6, 2011 4:06:29 PM
  Subject: Re: [OAUTH-WG] Example tokens
 
  If I've done the math correctly, 27 characters would give you a
  little more  than 20 bytes worth of randomness (assuming your are
  using  random alphanumeric characters or base64url encoded bytes).
  20 bytes  is something you see as a SHOULD type minimum length in
  other  protocols for random identifiers.  Not sure if that's
  sufficient  reasoning but it's what I can come up with.
 
  On Wed, Jul 6, 2011 at  4:40 PM, Eran Hammer-Lahav
  e...@hueniverse.com
  wrote:
   Are  the tokens used in the examples long enough? I don't want the
   examples
    to demonstrate poor choice of byte count.
   EHL
    ___
   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


Re: [OAUTH-WG] Example tokens

2011-07-07 Thread George Fletcher

+1

If the system just needs a random identifier with state maintained on 
the server, then the current tokens are fine. For those systems that 
plan to encrypt data in the scopes (or use JWTs) they will be much larger.


Thanks,
George

On 7/7/11 9:24 AM, William J. Mills wrote:
Access tokens realistically may be longer as they may have encrypted 
scopes and such.



*From:* Eran Hammer-Lahav e...@hueniverse.com
*To:* Brian Campbell bcampb...@pingidentity.com; Oleg Gryb 
o...@gryb.info

*Cc:* OAuth WG oauth@ietf.org
*Sent:* Wednesday, July 6, 2011 8:53 PM
*Subject:* Re: [OAUTH-WG] Example tokens

Does that apply to access tokens, refresh tokens, and authorization 
codes? I can try squeezing in 22 characters.


EHL

 -Original Message-
 From: Brian Campbell [mailto:bcampb...@pingidentity.com 
mailto:bcampb...@pingidentity.com]

 Sent: Wednesday, July 06, 2011 8:46 PM
 To: Oleg Gryb
 Cc: Eran Hammer-Lahav; OAuth WG
 Subject: Re: [OAUTH-WG] Example tokens

 So on the 128-bit note, the examples could probably be a bit shorter,
 22 characters would give somewhat more than 128 bits of randomness.
 But to EHL's original question, the examples (currently 7-12
 characters) should probably be longer.

 On Wed, Jul 6, 2011 at 5:27 PM, Oleg Gryb oleg_g...@yahoo.com 
mailto:oleg_g...@yahoo.com wrote:

  log2(64^27)=162 bits
 
  Looks good. For comparison, 128-bit entropy for a key in symmetric
  encryption used by SSL is considered as strong.
  I'm assuming that all those 162 bits are generated by a good 
randomizer.

 
 
 
 
  - Original Message 
  From: Brian Campbell bcampb...@pingidentity.com 
mailto:bcampb...@pingidentity.com
  To: Eran Hammer-Lahav e...@hueniverse.com 
mailto:e...@hueniverse.com

  Cc: OAuth WG oauth@ietf.org mailto:oauth@ietf.org
  Sent: Wed, July 6, 2011 4:06:29 PM
  Subject: Re: [OAUTH-WG] Example tokens
 
  If I've done the math correctly, 27 characters would give you a
  little more  than 20 bytes worth of randomness (assuming your are
  using  random alphanumeric characters or base64url encoded bytes).
  20 bytes  is something you see as a SHOULD type minimum length in
  other  protocols for random identifiers.  Not sure if that's
  sufficient  reasoning but it's what I can come up with.
 
  On Wed, Jul 6, 2011 at  4:40 PM, Eran Hammer-Lahav
  e...@hueniverse.com mailto:e...@hueniverse.com
  wrote:
   Are  the tokens used in the examples long enough? I don't want the
   examples
to demonstrate poor choice of byte count.
   EHL
___
   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


Re: [OAUTH-WG] Timely review request: pre-draft-17

2011-07-07 Thread Barry Leiba
On Thu, Jul 7, 2011 at 4:01 AM, Eran Hammer-Lahav e...@hueniverse.com wrote:
 -17 will be published by Friday at which point I will leave it to
 the chairs to decide if they still want to initiate WGLC or give
 the draft a few days of informal review.

Working-group last call can cover all reviews of this.  It's a less
formal thing than IETF last call, which the IESG will initiate
later... and we can recycle the document and do another WGLC if it
turns out that we got something so seriously wrong that it's
necessary.

And I'd like to take this opportunity to say that the chairs are happy
with the progress, and we thank everyone for the careful reviews, and
for working together to get this work wrapped up.

Barry, as chair
___
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


Re: [OAUTH-WG] [oauth] #13: Description of how native applications can use OAuth 2.0

2011-07-07 Thread oauth issue tracker
#13: Description of how native applications can use OAuth 2.0

Changes (by barryleiba@…):

  * status:  new = closed
  * resolution:  = fixed


Comment:

 Text provided and incorporated.

-- 
+---
 Reporter:  Tony Nadalin|Owner:
 Type:  defect  |   Status:  closed
 Priority:  major   |Milestone:  Deliver OAuth 2.0 spec
Component:  v2  |  Version:
 Severity:  Active WG Document  |   Resolution:  fixed 
 Keywords:  |  
+---

Ticket URL: http://trac.tools.ietf.org/wg/oauth/trac/ticket/13#comment:1
oauth http://tools.ietf.org/oauth/

___
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


Re: [OAUTH-WG] [oauth] #14: Restoring Client Assertion Credentials to the framework specification

2011-07-07 Thread oauth issue tracker
#14: Restoring Client Assertion Credentials to the framework specification

Changes (by barryleiba@…):

  * status:  new = closed
  * resolution:  = fixed


Comment:

 Assertions document added as WG item.

-- 
+---
 Reporter:  Tony Nadalin|Owner:
 Type:  defect  |   Status:  closed
 Priority:  major   |Milestone:  Deliver OAuth 2.0 spec
Component:  v2  |  Version:
 Severity:  Active WG Document  |   Resolution:  fixed 
 Keywords:  |  
+---

Ticket URL: http://trac.tools.ietf.org/wg/oauth/trac/ticket/14#comment:1
oauth http://tools.ietf.org/oauth/

___
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


Re: [OAUTH-WG] Example tokens

2011-07-07 Thread Eran Hammer-Lahav
That's not the point. Developers who are going to self-encode tokens don't need 
the examples.

EHL

From: George Fletcher [mailto:gffle...@aol.com]
Sent: Thursday, July 07, 2011 6:35 AM
To: William J. Mills
Cc: Eran Hammer-Lahav; Brian Campbell; Oleg Gryb; OAuth WG
Subject: Re: [OAUTH-WG] Example tokens

+1

If the system just needs a random identifier with state maintained on the 
server, then the current tokens are fine. For those systems that plan to 
encrypt data in the scopes (or use JWTs) they will be much larger.

Thanks,
George

On 7/7/11 9:24 AM, William J. Mills wrote:
Access tokens realistically may be longer as they may have encrypted scopes and 
such.


From: Eran Hammer-Lahav e...@hueniverse.commailto:e...@hueniverse.com
To: Brian Campbell 
bcampb...@pingidentity.commailto:bcampb...@pingidentity.com; Oleg Gryb 
o...@gryb.infomailto:o...@gryb.info
Cc: OAuth WG oauth@ietf.orgmailto:oauth@ietf.org
Sent: Wednesday, July 6, 2011 8:53 PM
Subject: Re: [OAUTH-WG] Example tokens

Does that apply to access tokens, refresh tokens, and authorization codes? I 
can try squeezing in 22 characters.

EHL

 -Original Message-
 From: Brian Campbell 
 [mailto:bcampb...@pingidentity.commailto:bcampb...@pingidentity.com]
 Sent: Wednesday, July 06, 2011 8:46 PM
 To: Oleg Gryb
 Cc: Eran Hammer-Lahav; OAuth WG
 Subject: Re: [OAUTH-WG] Example tokens

 So on the 128-bit note, the examples could probably be a bit shorter,
 22 characters would give somewhat more than 128 bits of randomness.
 But to EHL's original question, the examples (currently 7-12
 characters) should probably be longer.

 On Wed, Jul 6, 2011 at 5:27 PM, Oleg Gryb 
 oleg_g...@yahoo.commailto:oleg_g...@yahoo.com wrote:
  log2(64^27)=162 bits
 
  Looks good. For comparison, 128-bit entropy for a key in symmetric
  encryption used by SSL is considered as strong.
  I'm assuming that all those 162 bits are generated by a good randomizer.
 
 
 
 
  - Original Message 
  From: Brian Campbell 
  bcampb...@pingidentity.commailto:bcampb...@pingidentity.com
  To: Eran Hammer-Lahav e...@hueniverse.commailto:e...@hueniverse.com
  Cc: OAuth WG oauth@ietf.orgmailto:oauth@ietf.org
  Sent: Wed, July 6, 2011 4:06:29 PM
  Subject: Re: [OAUTH-WG] Example tokens
 
  If I've done the math correctly, 27 characters would give you a
  little more  than 20 bytes worth of randomness (assuming your are
  using  random alphanumeric characters or base64url encoded bytes).
  20 bytes  is something you see as a SHOULD type minimum length in
  other  protocols for random identifiers.  Not sure if that's
  sufficient  reasoning but it's what I can come up with.
 
  On Wed, Jul 6, 2011 at  4:40 PM, Eran Hammer-Lahav
  e...@hueniverse.commailto:e...@hueniverse.com
  wrote:
   Are  the tokens used in the examples long enough? I don't want the
   examples
to demonstrate poor choice of byte count.
   EHL
___
   OAuth mailing  list
   OAuth@ietf.orgmailto:OAuth@ietf.org
   https://www.ietf.org/mailman/listinfo/oauth
  
  
  ___
  OAuth  mailing list
  OAuth@ietf.orgmailto:OAuth@ietf.org
  https://www.ietf.org/mailman/listinfo/oauth
 
 
___
OAuth mailing list
OAuth@ietf.orgmailto:OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth





___

OAuth mailing list

OAuth@ietf.orgmailto:OAuth@ietf.org

https://www.ietf.org/mailman/listinfo/oauth

___
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


Re: [OAUTH-WG] [oauth] #11: 10.3. The OAuth Extensions Error Registry

2011-07-07 Thread oauth issue tracker
#11: 10.3. The OAuth Extensions Error Registry

Changes (by barryleiba@…):

  * status:  new = closed
  * resolution:  = wontfix


-- 
+---
 Reporter:  Eran Hammer-Lahav   |Owner:
 Type:  suggested change|   Status:  closed
 Priority:  major   |Milestone:  Deliver OAuth 2.0 spec
Component:  v2  |  Version:
 Severity:  Active WG Document  |   Resolution:  wontfix   
 Keywords:  |  
+---

Ticket URL: http://trac.tools.ietf.org/wg/oauth/trac/ticket/11#comment:3
oauth http://tools.ietf.org/oauth/

___
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


Re: [OAUTH-WG] security considerations - authorization tokens

2011-07-07 Thread Eran Hammer-Lahav
Looking back at the archives, I didn't find any replies to this proposal.

Torsten / Mark / Phil - is this a change you would like me to make?

EHL

 -Original Message-
 From: oauth-boun...@ietf.org [mailto:oauth-boun...@ietf.org] On Behalf
 Of Brian Eaton
 Sent: Sunday, May 22, 2011 8:47 PM
 To: oauth@ietf.org
 Subject: [OAUTH-WG] security considerations - authorization tokens
 
 As I said in the other note, after reading through the security considerations
 section a couple of times, I think it could benefit from a different
 organization.  Specifically
 
 - keep the introduction, it's awesome.
 - write new sections for each of the following
1) Authorization Tokens
2) Web Application Clients
3) User-Agent Clients
4) Installed Application Clients
5) Authorization Servers
6) Resource Servers
 - merge the current text into the appropriate sections.
 
 I took a swing at the authorization tokens text.  I tried to capture most of 
 the
 relevant items from the current draft, but might have missed some.
 
 Cheers,
 Brian
___
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


Re: [OAUTH-WG] review of draft-ietf-oauth-v2-16

2011-07-07 Thread Eran Hammer-Lahav


 -Original Message-
 From: oauth-boun...@ietf.org [mailto:oauth-boun...@ietf.org] On Behalf
 Of Peter Saint-Andre
 Sent: Wednesday, June 01, 2011 11:43 AM

 Throughout the document, the various parameters (e.g., client_secret and
 client_id) are essentially undefined. There is no text about the length of
 these parameters, the allowable characters (e.g., alpha and digits only, all
 ASCII characters, full Unicode), internationalization considerations,
 preparation and comparison of strings, etc. I don't see how developers will
 build interoperable implementations without clear guidance here.

We have no consensus on string sizes.

I can add a note that all strings are UTF-8 encoded unless specified otherwise. 
Access tokens, for example, are defined by each profile.
 
 Also, the scope parameter still strike me as extremly vague. Can we at least
 define the word scope and provide a few examples of how the parameter
 might be used?

Please suggest text.

 No rules are provided for URI matching (e.g., in Section 4.1 the redirection
 URI received needs to be checked against the URI used to redirect the client,
 but not guidance is provided). Perhaps a reference to RFC 3986 is in order
 here. Here also internationalization concerns might need to be covered (e.g.,
 are IRIs allowed?).

Added reference to 3986. As to IRIs, as long as they are encoded as URIs, but 
last I checked, that was implicit by default.

 4.1.2. Authorization Response
 
 OLD:
  If an
  authorization code is used more than once, the authorization
  server MAY revoke all tokens previously issued based on that
  authorization code.
 
 NEW:
  If an
  authorization code is used more than once, the authorization
  server SHOULD revoke all tokens previously issued based on that
  authorization code.
 
 RATIONALE: MAY seems weak here.

This was changed to MAY because most large scale implementations will not be 
able to revoke access tokens at all (typically a self-encoded token good for 
one hour). A SHOULD would be good but impractical advice. I changed it to 
'SHOULD attempt' for now.

 OLD:
The authorization server SHOULD issue access tokens with limited
scope and duration to clients incapable of authenticating.
 
 NEW:
If the authorization server issues access tokens to clients
that are incapable of authenticating, the scope and duration of
such tokens SHOULD be limited.
 
 RATIONALE: We're not actively RECOMMENDING authorization servers are to
 issue such tokens, are we?

I removed the sentence are a result of the wg discussion that followed.

 10.3. Access Token Credentials
 
The client SHOULD request access token credentials with the minimal
scope and duration necessary.
 
 Is this enfoced by the authorization server?

Not sure how this would be possible. The server can later review what is being 
used, but not predict.

 10.9. Authorization Codes
 
Authorization codes SHOULD be short lived and MUST be single use.  If
the authorization server observes multiple attempts to exchange an
authorization code for an access token, the authorization server
SHOULD revoke all access tokens already granted based on the
compromised authorization code.
 
 Is there a good reason why the authorization server would not revoke all the
 access tokens? If not, change to MUST.

See above.

Changed it to 'SHOULD attempt' for now.

 MINOR ISSUES...
 
 1.4.1. Authorization Code
 
 OLD:
Before directing the resource owner back to the client with the
authorization code, the authorization server authenticates the
resource owner and obtains authorization.  Because the resource owner
only authenticates with the authorization server, the resource
owner's credentials are never shared with the client.
 
 NEW:
Before directing the resource owner back to the client with the
authorization code, the authorization server authenticates the
resource owner and obtains authorization.  Because the resource owner
only authenticates with the authorization server, the resource
owner's credentials at the resource server are never shared with the
client.
 
 RATIONALE: could the resource owner have credentials at the authorization
 server?

The credentials are always with the authorization server, and the resource 
server either has access to the credentials, to the server for validation, or 
relies on cookies and other non-standard credentials replacements.

 4.1.2.1. Error Response
 
 OLD:
error_description
  OPTIONAL.  A human-readable text providing additional
  information, used to assist in the understanding and resolution
  of the error occurred. [[ add language and encoding information
  ]]
 
 NEW:
error_description
  OPTIONAL.  Descriptive text providing additional information,
  used to assist in the understanding and resolution of the
  error that has 

Re: [OAUTH-WG] security considerations - authorization tokens

2011-07-07 Thread Brian Eaton
On Thu, Jul 7, 2011 at 10:49 AM, Anthony Nadalin tony...@microsoft.comwrote:

 When we constructed the current structure in Prague we thought that
 structure best fit the needs of a implementer, so my preference would be to
 keep it as it is now but, Torsten / Mark / Phil also may have feedback.


Really?

The current doc has *no guidelines* on how to implement authorization tokens
whatsoever.

So even if you like the current organization of the security considerations,
I suspect you'll agree it would make sense to offer some guidance on how
these tokens ought to be implemented.
___
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


Re: [OAUTH-WG] security considerations - authorization tokens

2011-07-07 Thread Anthony Nadalin
I was responding to the structure question only. The token text is questionable 
sine the tokens are opaque to the core, seems like the token write-up better 
belongs in the threat model document. Developers of the various token specs and 
use this as guidance and reference it.

From: Brian Eaton [mailto:bea...@google.com]
Sent: Thursday, July 07, 2011 10:59 AM
To: Anthony Nadalin
Cc: Eran Hammer-Lahav; oauth@ietf.org; Mark Mcgloin (mark.mcgl...@ie.ibm.com); 
Torsten Lodderstedt (tors...@lodderstedt.net); Phil Hunt (phil.h...@oracle.com)
Subject: Re: [OAUTH-WG] security considerations - authorization tokens

On Thu, Jul 7, 2011 at 10:49 AM, Anthony Nadalin 
tony...@microsoft.commailto:tony...@microsoft.com wrote:
When we constructed the current structure in Prague we thought that structure 
best fit the needs of a implementer, so my preference would be to keep it as it 
is now but, Torsten / Mark / Phil also may have feedback.

Really?

The current doc has *no guidelines* on how to implement authorization tokens 
whatsoever.

So even if you like the current organization of the security considerations, I 
suspect you'll agree it would make sense to offer some guidance on how these 
tokens ought to be implemented.
___
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


Re: [OAUTH-WG] security considerations - authorization tokens

2011-07-07 Thread Brian Eaton
On Thu, Jul 7, 2011 at 11:08 AM, Anthony Nadalin tony...@microsoft.comwrote:

  I was responding to the structure question only. The token text is
 questionable sine the tokens are opaque to the core, seems like the token
 write-up better belongs in the threat model document. Developers of the
 various token specs and use this as guidance and reference it.


OK, leaving aside the question of where the token text should end up, is the
text I sent technically correct and useful?


The proposed text is here:
http://www.ietf.org/mail-archive/web/oauth/current/msg06362.html.
___
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


[OAUTH-WG] SAML Assertion Draft Items

2011-07-07 Thread Brian Campbell
WG,

Unfortunately I will not be at IETF#81 and will probably not be able
to post a new draft of draft-ietf-oauth-saml2-bearer prior to the I-D
submission cutoff date.  In lieu of that, I'd like to make a few
proposals and/or ask a few questions regarding the next draft in hopes
of fostering some productive discussion.

Item 1: Profiling of draft-ietf-oauth-assertions
Assuming the WG continues to support draft-ietf-oauth-assertions, the
SAML draft should become a profile/extension of it.  For SAML as a
grant type, that should be easy and even shorten/simplify this draft.
However, the SAML draft does not currently cover SAML for client
authentication and profiling draft-ietf-oauth-assertions would suggest
that it should.  Is there any general consensus as to if SAML should
be profiled as a client authentication method?  It is certainly
feasible but might require restructuring and retitling the draft.

Item 2: URI(s)
The value for grant_type is currently defined as
http://oauth.net/grant_type/saml/2.0/bearer but there have been some
questions raised about the stability and appropriateness of the URL.
I really did read RFCs 2648  3553, as was suggested at the last F2F
meeting, but it's not clear to me how to register an IETF URI and/or
if those RFCs are fully appropriate for this.  If someone could
explain it to me in terms my preschooler could understand, maybe I
could jump though the proper hoops to get the URI to be something like
urn:ietf:something:something.  Otherwise, I can continue to use
http://oauth.net/grant_type/saml/2.0/bearer and, assuming the draft
should also cover client authentication, also define
http://oauth.net/client_assertion_type/saml/2.0/bearer.  The JWT
version could then follow a similar pattern.  Or perhaps we could use
the URI, urn:oasis:names:tc:SAML:2.0:cm:bearer which is defined in
section 3.3 of saml-profiles-2.0-os as URI that identifies the bearer
subject confirmation method.  It seems like that might be close enough
to work out without violating anything serious.  And it could be used
for both grant_type and client_assertion_type, which is nice.

Item 3: Processing rules
An out of band request came from folks at a large company to
change/relax the validation rules in order to allow for
interoperability with existing software products.  Which seems very
reasonable. The change would basically amount to relaxing the MUST on
the SubjectConfirmationData element to a SHOULD (or maybe loser
even) while adding a requirement for a NotOnOrAfter attribute on the
Conditions element (possibly conditionally based on the existence of
it, or not, on the SubjectConfirmationData).  It's a little hard to
explain but hopefully that conveys the idea.  It seems like a change
that should be made but I wanted to get some feedback from a wider
group before doing it.

I realize the assertion stuff is secondary to the core protocol for
most of you but I that you, if you've read this far, and I welcome and
appreciate any thoughts/feedback on these issues/questions.

Thanks,
Brian
___
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


Re: [OAUTH-WG] Native Application Text

2011-07-07 Thread Eran Hammer-Lahav
What is ‘monitoring http headers’?

EHL


From: Anthony Nadalin tony...@microsoft.commailto:tony...@microsoft.com
To: OAuth WG (oauth@ietf.orgmailto:oauth@ietf.org) 
oauth@ietf.orgmailto:oauth@ietf.org
Sent: Tuesday, June 28, 2011 6:15 PM
Subject: [OAUTH-WG] Native Application Text
9. Native Applications

A native application is a client which is installed and executes on the 
end-user's device (i.e. desktop application, native mobile application, etc.).  
Native applications may require special consideration related to security, 
platform capabilities, and overall end-user experience.  The following are 
examples of how native applications may utilize OAuth:

   o  Initiate an Authorization Request using an external user-agent: The 
native application can capture the response from the authorization server using 
a variety of techniques such as the use of the various methods for redirection 
including a URI identifying a custom URI scheme (registered with the operating 
system to invoke the native application as handler), manual copy-and-paste, 
running a local webserver, browser plug-ins, or by providing a redirection URI 
identifying a server-hosted resource under the native application's control, 
which in turn makes the response available to the native application.
   o  Initiate an Authorization Request using an embedded user-agent:  The 
native application obtains the response by directly communicating with the 
embedded user-agent.  Techniques include monitoring state changes emitted 
during URL loading, monitoring http headers, accessing the user-agent's cookie 
jar, etc.

When choosing between launching an external user-agent and an embedded 
user-agent, native application developers should consider the following:

   o  External user-agents may improve completion rate as the end-user may 
already have an active session with the authorization server removing the need 
to re-authenticate, and provide a familiar user-agent user experience and 
functionality.  The end-user may also rely on extensions or add-ons to assist 
with authentication (e.g. password managers or 2-factor device reader).
   o  Embedded user-agents may offer an improved end-user flow, as they remove 
the need to switch context and open new windows.
   o  Embedded user-agents pose a security challenge because end-users are 
authenticating in an unidentified window without access to the visual 
protections found on by many of the external user-agents.  Embedded user-agents 
educate end-user to trust unidentified requests for authentication (making 
phishing attacks easier to execute).

When choosing between implicit and authorization code grant types, the 
following should be considered:

   o  Native applications that use the authorization code grant type flow 
SHOULD do so without using client password credentials, due to the native 
application’s inability to keep those credentials secure.
   o  When using the implicit grant type flow a refresh token is not returned


___
OAuth mailing list
OAuth@ietf.orgmailto:OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth
___
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


Re: [OAUTH-WG] Section 10.1 (Client authentication)

2011-07-07 Thread Eran Hammer-Lahav
I still don’t find it useful. I think the existing text overall makes this 
point already.

EHL

From: Torsten Lodderstedt [mailto:tors...@lodderstedt.net]
Sent: Wednesday, July 06, 2011 12:48 AM
To: Eran Hammer-Lahav; OAuth WG
Subject: Re: Section 10.1 (Client authentication)

Hi Eran,

I would suggest to change it to SHOULD and add a reference to 
https://tools.ietf.org/html/draft-ietf-oauth-v2-threatmodel-00 sections 3.7 and 
5.2.3.

regards,
Torsten.


Eran Hammer-Lahav e...@hueniverse.commailto:e...@hueniverse.com schrieb:
It's a pointless MUST given how undefined the requirements are. It will only be 
understood by security experts and they don't really need it. At a minimum, it 
needs some examples.

EHL

From: Torsten Lodderstedt 
tors...@lodderstedt.netmailto:tors...@lodderstedt.net
Date: Wed, 1 Jun 2011 00:53:37 -0700
To: Eran Hammer-lahav e...@hueniverse.commailto:e...@hueniverse.com, OAuth 
WG oauth@ietf.orgmailto:oauth@ietf.org
Subject: Section 10.1 (Client authentication)

Hi Eran,

would you please add the following sentence (which was contained in the
original security considerations text) to the second paragraph of
section 1.0.1?

Alternatively, authorization servers MUST utilize
other means than client authentication to achieve their security
objectives.


I think it's important to state that authorization server should
consider alternative way to validate the client identity if secrets
cannot be used. The security threat document also suggest some.

regards,
Torsten.



___
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


Re: [OAUTH-WG] SAML Assertion Draft Items

2011-07-07 Thread Eran Hammer-Lahav


 -Original Message-
 From: oauth-boun...@ietf.org [mailto:oauth-boun...@ietf.org] On Behalf
 Of Brian Campbell
 Sent: Thursday, July 07, 2011 12:06 PM
 To: oauth
 Subject: [OAUTH-WG] SAML Assertion Draft Items
 
 WG,
 
 Unfortunately I will not be at IETF#81 and will probably not be able to post a
 new draft of draft-ietf-oauth-saml2-bearer prior to the I-D submission cutoff
 date.  In lieu of that, I'd like to make a few proposals and/or ask a few
 questions regarding the next draft in hopes of fostering some productive
 discussion.
 
 Item 1: Profiling of draft-ietf-oauth-assertions Assuming the WG continues to
 support draft-ietf-oauth-assertions, the SAML draft should become a
 profile/extension of it.  For SAML as a grant type, that should be easy and
 even shorten/simplify this draft.
 
 However, the SAML draft does not currently cover SAML for client
 authentication and profiling draft-ietf-oauth-assertions would suggest that it
 should.  Is there any general consensus as to if SAML should be profiled as a
 client authentication method?  It is certainly feasible but might require
 restructuring and retitling the draft.

Are there use cases pending such functionality today? It would be a shame to 
delay an otherwise useful draft when the functionality can be added later.

 Item 2: URI(s)
 The value for grant_type is currently defined as
 http://oauth.net/grant_type/saml/2.0/bearer but there have been some
 questions raised about the stability and appropriateness of the URL.

I'm not a fan. 

 I really did read RFCs 2648  3553, as was suggested at the last F2F meeting,
 but it's not clear to me how to register an IETF URI and/or if those RFCs are
 fully appropriate for this.  If someone could explain it to me in terms my
 preschooler could understand, maybe I could jump though the proper hoops
 to get the URI to be something like urn:ietf:something:something.

Asking on the URN list usually helps.

 Otherwise, I can continue to use
 http://oauth.net/grant_type/saml/2.0/bearer and, assuming the draft
 should also cover client authentication, also define
 http://oauth.net/client_assertion_type/saml/2.0/bearer.  The JWT version
 could then follow a similar pattern.  Or perhaps we could use the URI,
 urn:oasis:names:tc:SAML:2.0:cm:bearer which is defined in section 3.3 of
 saml-profiles-2.0-os as URI that identifies the bearer subject confirmation
 method.  It seems like that might be close enough to work out without
 violating anything serious.  And it could be used for both grant_type and
 client_assertion_type, which is nice.

Don't use an OASIS URN. That's asking for trouble.

EHL
___
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth