<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4533048918177039152</id><updated>2012-02-16T01:01:58.008-08:00</updated><title type='text'>On Access Control</title><subtitle type='html'>Issues relating to practical access control architectures which can be operated in large scale environments</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://onaccesscontrol.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4533048918177039152/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://onaccesscontrol.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Hal</name><uri>http://www.blogger.com/profile/04547972699154830993</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4533048918177039152.post-6406687522553572835</id><published>2011-04-05T09:31:00.000-07:00</published><updated>2011-04-05T09:31:48.589-07:00</updated><title type='text'>The Property-Capability Spectrum of Attributes</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:WordDocument&gt;   &lt;w:View&gt;Normal&lt;/w:View&gt;   &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:DoNotOptimizeForBrowser/&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;  &lt;br /&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;There is a strong consensus in the security community that Attributes, in particular Attributes that apply to users or other entities participating in requests which are subject to access control, are a key source of information for making access control decisions. These are usually called Subject Attributes. Some people go so far as to talk about Attribute-based Access Control (ABAC) although this typically includes other types of Attributes such as Resource Attributes and Environment Attributes as well. &lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;Microsoft has popularized the concept of Claims-based access control. However, the precise meaning of Claim is not entirely clear. &lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;WS-Trust and WS-SecureConversation contain the following definition.&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif; margin-left: 0.5in;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt;"&gt;Claim &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt;"&gt;– A &lt;i&gt;claim &lt;/i&gt;is a statement made about a client, service or other resource (e.g. name, identity, key, group, privilege, capability, etc.).&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span&gt;Web Services Security and WS-Federation contain the following definition.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif; margin-left: 0.5in;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt;"&gt;Claim &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt;"&gt;– A &lt;i&gt;claim &lt;/i&gt;is a declaration made by an entity (e.g. name, identity, key, group, privilege, capability, attribute, etc).&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span&gt;Identity Metasystem Interoperability (Information Card) contains this.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif; margin-left: 0.5in;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt;"&gt;Claim &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt;"&gt;– A “&lt;i&gt;Claim&lt;/i&gt;” is a piece of information about a Subject that an Identity Provider asserts about that Subject.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif; margin-left: 0.5in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;During a presentation given at the 2009 Kerberos Conference Kim Cameron said flatly “Claims are Subject Attributes.”&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;I think at a minimum we can conclude that Claims include Subject Attributes, and thus there is general agreement that distributing and validating Subject Attributes issued by trusted authorities and consumed by relying parties is an important component of access control.&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;However, all this agreement masks the issue of what sort of information Attributes should contain about the Subject and whether the sort of information chosen has implications for the operation of the access control system. The most familiar type of information contained in Subject Attributes pertains to the Subject, independent of any particular access request. Examples include: job title, project name, security clearance level, citizenship and telephone number. I call Attributes of this type &lt;b&gt;Properties&lt;/b&gt;.&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;Alternatively, Attributes can contain information about what the Subject is allowed to do. For example the attribute might indicate that the Subject is allowed to read a particular file or to create an appointment in the calendar for a particular day. In the academic security literature these types of Attributes are called &lt;b&gt;Capabilities&lt;/b&gt;.&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;Let us imagine that a user wants to read a file on Server X called “ProjectPlan” which is associated with Project Y. We will further assume that generally users are allowed to read files that are associated with the projects of which they are members. To allow this we might issue an Attribute that has any one of the following meanings:&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol start="1" style="font-family: Arial,Helvetica,sans-serif; margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal"&gt;Is      allowed to read file “Project-Y/ProjectPlan” on “Server-X”&lt;/li&gt;&lt;li class="MsoNormal"&gt;Is      allowed to read any file in the “Project-Y/” directory on “Server-X”&lt;/li&gt;&lt;li class="MsoNormal"&gt;Is      allowed to read any file belonging to “Project-Y”&lt;/li&gt;&lt;li class="MsoNormal"&gt;Is a      member of “Project-Y”&lt;/li&gt;&lt;/ol&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;Number 1 has the advantage that it makes it easy for the file server to figure out what to do. On the other hand, it only covers that exact request. A similar Capability will be required for each request. If the overhead of requesting and processing them is significant it could impact latency.&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;Number 2 fixes this by allowing access to all the files in the directory. But now a new issue surfaces. What if IT operations decides to refactor the directory structure so the file is now called “Projects/Project-Y/ProjectPlan”? Or perhaps they introduce a new server naming convention so the server is no longer called “Server-X”. Not only will the previously issued Attribute no longer work, but the issuer will somehow have to find out about the changes made to the infrastructure and change what it issues accordingly.&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;Number 3 has a similar effect to number 2, but uses a metadata tag instead the name of the directory. Of course there may be practical difficulties with storing and obtaining the tag, but assuming that the information is available, the user will be allowed to access the desired files, even if their location changes or if they are distributed over multiple directories or servers. On the other hand, the file server will have to do a bit more work to determine that a given access should be allowed.&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;Number 4 crosses over to a pure Property-type of Attribute. Although the file server will have to evaluate a policy (or ask a friendly PDP to do it) the policy may be quite simple and general, e.g. “Any Subject may read any files which are associated with projects the user is a member of.” On the plus side, the Attribute value is now completely independent of the access request being made. There is no need for any kind of coordination between the trusted authority and the file server. Further, this Attribute may be used as an input to an entirely different access control decision which does not involve files at all.&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;From this we can see that Properties and Capabilities are not absolute alternatives, but rather form a range of possibilities which represent tradeoffs in flexibility, performance, clarity of expression and ease of management. I call this the Property-Capability Spectrum. I think that these tradeoffs exist in a variety of access control architectures. It turns out that somebody at Microsoft noticed this &lt;a href="http://blogs.msdn.com/b/vbertocci/archive/2009/12/01/good-claims-bad-claims-1-an-example.aspx"&gt;tradeoff&lt;/a&gt; a while ago, but of course they don’t use the same terminology as I do.&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: Arial,Helvetica,sans-serif;"&gt;In my next post I will more directly compare the operation of an infrastructure which uses a Capability-oriented approach with a more familiar one.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4533048918177039152-6406687522553572835?l=onaccesscontrol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onaccesscontrol.blogspot.com/feeds/6406687522553572835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://onaccesscontrol.blogspot.com/2011/04/property-capability-spectrum-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4533048918177039152/posts/default/6406687522553572835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4533048918177039152/posts/default/6406687522553572835'/><link rel='alternate' type='text/html' href='http://onaccesscontrol.blogspot.com/2011/04/property-capability-spectrum-of.html' title='The Property-Capability Spectrum of Attributes'/><author><name>Hal</name><uri>http://www.blogger.com/profile/04547972699154830993</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4533048918177039152.post-5607042760808787064</id><published>2011-03-31T08:16:00.000-07:00</published><updated>2011-03-31T08:16:17.283-07:00</updated><title type='text'>Getting Started</title><content type='html'>I intend to use this blog as a place to discuss technical issues relating to Access Control. I plan to discuss Delegation, Attribute Semantics, Access Control Architectures, XACML and other related topics. Just so you know where I am coming from, my view point is generally related to access control in very large complex environments.&lt;br /&gt;&lt;br /&gt;The first set of topics I plan to take up revolve around delegation. As background for this subject, please take a look at this presentation on &lt;a href="https://docs.google.com/leaf?id=0B9Z3gkRY94CPNDExZmFhNmQtNTBkNS00OTlmLWJkOWYtM2YwNmJhNzRiMWNl&amp;amp;hl=en"&gt;Delegation in Access Control&lt;/a&gt;. It introduces some new terminology I have proposed and reviews the operation of several existing delegation technologies. I recommend looking at the presentation using a &lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=cb9bf144-1076-4615-9951-294eeb832823"&gt;Powerpoint viewer&lt;/a&gt; as there is some information in the notes as well as the slides.&lt;br /&gt;&lt;br /&gt;Next Post: The Property-Capability Spectrum of Attributes&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4533048918177039152-5607042760808787064?l=onaccesscontrol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onaccesscontrol.blogspot.com/feeds/5607042760808787064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://onaccesscontrol.blogspot.com/2011/03/getting-started.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4533048918177039152/posts/default/5607042760808787064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4533048918177039152/posts/default/5607042760808787064'/><link rel='alternate' type='text/html' href='http://onaccesscontrol.blogspot.com/2011/03/getting-started.html' title='Getting Started'/><author><name>Hal</name><uri>http://www.blogger.com/profile/04547972699154830993</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
