[openstack-dev] [Keystone] Proposed change to token re--issue
Jay Pipes
jaypipes at gmail.com
Wed Feb 13 18:06:49 UTC 2013
+1 to all points below.
On 02/13/2013 09:33 AM, Adam Young wrote:
> Right now, Keystone will allow you to get a token based on a previous
> token. It does not matter if the original token is for a different
> scope, more restricted, than the second token.
>
>
> While writing the trusts implementation, I realize that carrying this
> rule forward would open up a security hole. A user with a token based
> on a trust would be able to get a new token for any of the privileges of
> the trustor. The whole point of trusts was to scale down the scope of
> access from a token, not to increase it.
>
> I would like to propose the following rule. It will have to apply to
> both the V2 and V3 versions of the APIs.
>
> Only an unscoped token can be used to retrieve another token.
>
>
> In order to get an unscoped token, you have to pass in userid and
> password, or one of the REMOTE_USER mechanisms.
> It is technically OK to use an unscoped token to get another token, so
> long as the time out is honored, but I am not sure if that provides any
> real benefit.
>
> I could make a one-off exception for trust tokens. However, if we don't
> address this issue now, I suspect it will come back to haunt us later.
>
> Here is a longer rationalization.
>
> Tokens are a symetric shared secret. If you have the token, you have
> the permissions of the user. Thus, a token should not be spread
> around. Ideally, tokens should contain just the minimal amount of
> permissions to accomplish the task at hand. THat way, if they get
> intercepted, they can only be used to do minimal amounts of damage. If
> a user has access to multiple projects (tenants), the token shoud not
> provide access to the tenants other than the one for which it is
> allocated. Right now, due to token reissue, a token for Project A can
> be used to get a token for Project B.
>
> In the future, we are talking about scoping tokens to domains,
> endpoints, and other containers. Lets choose now to limit the amount of
> exposure on a single token.
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
More information about the OpenStack-dev
mailing list