[cap-talk] Comparing models
Karp, Alan H
alan.karp at hp.com
Mon Jun 13 09:40:50 PDT 2011
I've changed the subject line to reflect the topic being discussed.
________________________
Alan Karp
Principal Scientist
Virus Safe Computing Initiative
Hewlett-Packard Laboratories
1501 Page Mill Road
Palo Alto, CA 94304
(650) 857-3967, fax (650) 857-7029
http://www.hpl.hp.com/personal/Alan_Karp
> -----Original Message-----
> From: David Chadwick [mailto:d.w.chadwick at kent.ac.uk]
> Sent: Wednesday, June 08, 2011 2:39 AM
> To: Karp, Alan H
> Cc: Hoyt L Kesterson II
> Subject: Re: We met at the Cornerstones of Trust conference and...
>
> Hi Alan
>
> On 07/06/2011 22:31, Karp, Alan H wrote:
> > That's quite different from the kind of RBAC systems you see
> > presented at places like the RSA conferences and what I see in
> > corporations. For example, HP used to have 850+ roles, which were
> > becoming unmanageable. Folks in my Lab used some clever mathematics
> > to reduce that to a bit over 200 at the cost of modest over
> > provisioning.
>
> Yes I realise this is a problem in large scale systems, where you may
> need almost as many roles as permissions in order to get the right
> granularity of access. But as you say you can often collapse the number
> of roles by giving some users a few more permissions than they should
> really have.
>
>
> >
> > I spoke (typed!) too soon on my previous reply. We're not in full
> > agreement, just mostly in agreement. The difference is that a
> > capability combines designation of an object with the right to use
> > it. What you described separates them, a string for the file name
> > and a delegation of a role for the authorization.
>
> Yes. The permission stays as in your system, an access method on an
> object. The role is a completely separate string that may or may not be
> syntactically related to either or both of the access method and the
> object. Since the role is the only string that the user sees, then the
> user has to infer what permission he is being given from the role.
> Clearly one could generate role strings of the type "<action><object>"
> such as "submit job" but this is not part of the model. The role could
> just as we be "operator".
>
>
> That split
> > requires extra care to avoid using the wrong role when accessing a
> > resource.
>
> correct.
>
> That's not a showstopper, but it is worth thinking about.
> > Our ZBAC approach,
> > http://www.hpl.hp.com/techreports/2007/HPL-2007-105.html, allows a
> > similar split for invoking legacy services. In our approach, the
> > resource is designated by a URI, and the same URI appears in the SAML
> > authorization assertion.
>
> Well I would not expect (nor want) users to see SAML assertions, and
> preferably not URIs either.
>
>
> How does the invoked service know which
> > role to use for each access in your approach?
>
> Because its in its ABAC/RBAC policy. The policy says "this set of
> attributes are needed to perform this action on this resource".
>
> There is typically one such rule for every permission in the system. In
> this way you have a many to many mapping, and one attribute can give
> many permissions, or many attributes can be needed for one permission.
> We have just built an example system where you need the following 4
> attributes (provided as SAML assertions from different authorities) in
> order to buy a car parking permit from a local council web site:
> A credit card from a bank
> A car registration number from the Vehicle Licensing Authority
> A name from the Dept of Pensions
> An address from the Dept of Pensions
>
> This is now a public demo, which we gave at the recent W3C Identity in
> the Browser workshop in Mountain View. If you want to try it I can send
> you details. (the technical details are described in our position paper
> to the W3C workshop)
>
>
> >
> > Capability systems use a pattern called "rights amplification" that
> > is similar to needing two or more roles to get permission to do
> > something. The classic example is a sealed box containing an object.
> > The only way to invoke methods on the object is to have both a
> > capability to the box and a capability that unseals it. The
> > difference is that one of the roles might carry permissions on its
> > own, while neither capability can do anything on its own.
>
> Exactly. This is precisely what our system provides. (as in the example
> above, a credit card may provide lots of permissions, whereas a car
> registration number on its own may provide nothing.)
>
> Regards
>
> David
>
> --
>
> *****************************************************************
> David W. Chadwick, BSc PhD
> Professor of Information Systems Security
> School of Computing, University of Kent, Canterbury, CT2 7NF
> Skype Name: davidwchadwick
> Tel: +44 1227 82 3221
> Fax +44 1227 762 811
> Mobile: +44 77 96 44 7184
> Email: D.W.Chadwick at kent.ac.uk
> Home Page: http://www.cs.kent.ac.uk/people/staff/dwc8/index.html
> Research Web site:
> http://www.cs.kent.ac.uk/research/groups/iss/index.html
> Entrust key validation string: MLJ9-DU5T-HV8J
> PGP Key ID is 0xBC238DE5
>
> *****************************************************************
More information about the cap-talk
mailing list