On 5/17/12 9:04 AM, Marvin S. Addison wrote:
It's been a few days, does anyone have questions we can answer or
otherwise help move this along?

I've reviewed the whitepaper and I believe there are some interesting intersections between your work and CAS features of general interest to the community. I'll generalize the features as I see them:
Thanks. I ran your questions past the rest of the team. From your questions we can tell you've really taken the time to understand our approach and we really appreciate that.

- Per-service dynamic attribute release with support for principal and attribute transformation.
 - Multifactor authentication.

API support for the latter is on the roadmap for 4.0, and ideally your work would leverage that API. It's not clear to me how or whether a service can request a particular authentication credential or attribute set from CAS, but that's an interesting problem for which we do not yet have a solution. If you've implemented that feature, I'd appreciate an outline of your solution.
We want to free services in our deployments from caring about the details of attribute sources, authentication, and so on. Specifically, we are not trying to solve the problem of allowing a service to request a particular authentication credential or attribute set from CAS. For those reasons we don't have a solution for this.

Your existing support for supporting authentication by what are effectively interchangeable credentials is a convenience to users, but it appears to come at the cost -of security. In particular, credentials are not interchangeable with respect to level of identity assurance. I believe releasing attributes bound to a credential of higher LOA (e.g. X.509 cert) for an SSO session started with a credential of lower LOA (e.g. user/pass) results in a spurious attribute assertion.
It's certainly the case that with this extension an administrator could allow a user to link lower-loa credentials to higher-loa attributes. This might or might not be desirable. In our view this comes down to a policy decision on the part of the administrator deploying the system, and it might be appropriate in some environments and not in others. In the environments we have been targeting so far, this has been exactly what was needed.

Even if administrators link the credentials, they can still configure which attributes get released under which circumstances, so higher-loa attributes don't haveto be released. Again, it's completely up to the administrator.

We feel that security and usability aren't always complete trade-offs, that ease of use can improve security if users are implementing workarounds. Therefore, we feel that if the administrator does not want to allow the drop in LOA, then there is a risk that the users will employ workarounds that aren't good either (e.g. email themselves their X.509 certs).

Another point of consideration here is the linking step. By requiring the user to authenticate, during linking, with each credential we are assured the user at least has access to those attributes, even if the user wants to use a weaker LOA credential in the future to access them.
I'm not aware of any research or literature on the matter, but if anyone is aware I'd appreciate a pointer to a reference; alternatively an informed confirmation or rebuttal would be helpful.

I'm eager to review the details of how you've implemented dynamic attribute release, but the structure of the source on github is a roadblock. One simple change would facilitate review: make the root directory a parent project of the submodules. The CAS server codebase is structured this way and it may provide a helpful reference. Once that change is made, I'll import the project into my IDE and do a thoughtful code review.
Please see the updated source on github. We've made the requested change, but if you find anything else please let me know.

Thanks,
Jason

--
You are currently subscribed to cas-dev@lists.jasig.org as: 
arch...@mail-archive.com
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-dev

Reply via email to