Dick,

> One way to deal with the security issues of a bearer token is to signing with 
> a private key belonging to the client which prevents reuse of the access 
> token by an unscrupulous PR as the signed request will be bound to that PR.

This is no longer a bearer token. It is a token bound to a public key (eg like 
an X.509 certificate, or (more likely) a SAML assertion with 
<SubjectConfirmation>...holder-of-key</..>).

I can see that such non-bearer tokens don't necessarily need a "sites" field to 
ensure their security. "sites" is required to keep bearer tokens secure. Hence, 
the token response needs to tell the client a bit more about the nature of the 
token.


> The proposal below does not preclude this capability as written as the sites 
> parameter is optional, so I am not suggesting a change, but am pointing out 
> the capability.

The "sites" parameter DOES preclude this capability. It says "OPTIONAL", but 
this actually means "a default value is defined". The default is that the token 
can only be used at the site that issued it, which is not what you want.

Suggested solution: define a special string "*" that, when present in the 
"sites" array, means the token can be used anywhere without compromising its 
security (eg "sites":["*"]). 

Alternative 2: set "sites":null when a token can be used anywhere.
Alternative 3: don't define a default; absence of "sites" means the token can 
be used anywhere; "sites" is required even if the token can only be used at the 
site that issued it (eg Facebook needs to add 
"sites":["https://graph.facebook.com";]). This alternative is not quite so 
fail-safe (forgetting "sites" is insecure).

--
James Manger


From: Dick Hardt [mailto:dick.ha...@gmail.com] 
Sent: Monday, 17 May 2010 4:58 AM
To: Manger, James H
Cc: OAuth WG (oauth@ietf.org)
Subject: Re: [OAUTH-WG] Spec text for "sites" field

Looking over the previous threads, I don't think an important capability was 
pointed out that we want to preserve:

The AS may NOT need or want to know where an access token is used. In other 
words, the access token could be viewed as a claim that can presented to an 
arbitrary resource to gain access.  This enables new resources to be deployed 
without having to *register* them at the AS.

One way to deal with the security issues of a bearer token is to signing with a 
private key belonging to the client which prevents reuse of the access token by 
an unscrupulous  PR as the signed request will be bound to that PR.

The proposal below does not preclude this capability as written as the sites 
parameter is optional, so I am not suggesting a change, but am pointing out the 
capability.

-- Dick
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to