I would be fine with a machine-readable "instance_id" parameter to be paired with the human-readable items that are in there today. However, since this is a value that goes to the Authorization Endpoint and therefore goes through the browser, it MUST always be treated as self-asserted by the client. As such, I don't see how it can be used as a security-related parameter. The client_id and redirect_uri can be used in this regard because they are registered and paired with other security mechanisms like a client_secret or equivalent. The instance_ parameters are, by their very definition, not provided at registration time.

That's not to say it's without utility - browser identifier strings are generally useful to servers and JS apps even though as an end user you can send basically whatever you want there.

 -- Justin

On 12/18/2012 09:47 PM, Nat Sakimura wrote:
Justin,

In addition to instance_name and instance_description, I think we need collision resistant instance_id which can be cryptographically linked to the instance so that it can actually be authenticated, in a similar manner to what we do with the self-issued IdP in the OpenID Connect.

My proposal is to create a public-private key pair at the install time and use the sha256 of the public key as the instance_id.

Note: If the client is going to talk to multiple entities, the instance_id would have some privacy impact. We may need to generate the keypair for each entity that the client talks to.

--
Nat Sakimura (=nat)
Chairman, OpenID Foundation
http://nat.sakimura.org/
@_nat_en


_______________________________________________
OAuth mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to