[OpenID] Community Reputation Services

Nate Klingenstein ndk at internet2.edu
Tue May 20 15:02:20 UTC 2008


OpenID generals,

The use case: we have a group of trusted IdP's (or OP's) and a set of  
trusted SP's (RP's) in a single common "federation", InCommon.  We  
have a lightweight legal framework, a set of guidelines regarding how  
to behave, what attributes to use, and so forth.  It works pretty  
well, and we like it.  We also have smaller sub-communities with  
different trust and special attributes.  An example is UCTrust, a sub- 
group formed by the University of California system.  They want to  
leverage InCommon's breadth and infrastructure, but add special rules  
just for them.  Several European countries have similar scenarios.

I know there's a general dislike of whitelists and blacklists, but  
they're unfortunate realities of our requirements.  We've come up  
with a clever way to handle this scenario in SAML 2.0, but I want a  
way to do the same thing in OpenID so it can be another protocol with  
scalable trust for our communities.

I'm not deeply familiar with OpenID/XRDS, and I found no specs at  
http://wiki.openid.net/Potential_Future_Projects.  I'd like to, from  
the RP's perspective:

1)  Perform standard OpenID authentication and validate the claimed  
identifier.  OP might suggest a community broker.
2)  Make a query of a community broker already trusted by the RP,  
maybe the recommended one.  Supply in the query string the claimed ID  
and the endpoint URL.
3)  Receive back:
	a)  Blacklisted by me
	b)  I don't know this guy
	c)  Checked by me...
		optional)  And part of community A
		optional)  And part of community B & X

However, we need community A, B, or X to be responsible for that  
claim, not the reputation broker.  UCTrust states the members of  
UCTrust, not InCommon.  We could just store signed blobs, but I don't  
like persistent blobs.  I'd prefer to represent communities as URL's,  
e.g. http://www.ucop.edu/uctrust/members.  That makes step 4:

4)  Recursively chase community URL's received to get "Vetted by me".

 From the OP's perspective, the openid.return_to in a request could  
be validated in the same manner.

Is there a standard way to do this?  I prefer it to the distributed  
white/blacklists that were proposed earlier, and we have experience  
there too.  If not, I'll take the above suggestion to the specs list  
and get it bashed.

Thanks for your ideas and time,
Nate.



More information about the general mailing list