260 likes | 438 Views
Authority Management Systems. Keith Hazelton, Senior IT Architect, Univ. of Wisconsin-Madison Middleware Architecture Committee for Education, Internet2 Internet2 Fall Member Meeting, Los Angeles, 29-Oct-02. Authority Mgmt System Topics.
E N D
Authority Management Systems Keith Hazelton, Senior IT Architect, Univ. of Wisconsin-Madison Middleware Architecture Committee for Education, Internet2 Internet2 Fall Member Meeting, Los Angeles, 29-Oct-02
Authority Mgmt System Topics • Audience: Authority Management System champions in the making – and their victims • Glimpses of some real-world Authority Management Systems • Dimensions of difference & similarity • Interoperation of Authority Management systems
Focus on first of two fundamental aspects of Authorization: • “Build-time:” Edit, compile, transform and propagate authority information relating to authorization & policy vs. • “Run-time:” Access control decisions by resource (manager) at time of actual request based on system-specific data/processes
Models: MIT Roles DB AuthZ Triples • Authorization [Authority] = Person + Function + Qualifier • (for OKI, a “person” will be generalized to an “agent”) • Lets someone do something somewhere: • Who? = Person • What? = Function • Where? = Qualifier
Models: MIT Roles DB AuthZWhy Qualifiers? • Often a person is authorized to perform a function only within an org. area (school, dept., lab, etc.) or within a financial area
Stanford Authority Registry • An Authority Registry -- a managed repository of authority assignments -- not a run-time Access Control System. • Authority is defined first in business terms, without reference to any specific system or application. • The Authority Registry separates user visible portions of authority management, expressed in business terms, from internal system components expressed in technical terms. • Applications must read and translate authority information into local terms.
Stanford Authority Registry • Functions • The basic unit of Business work. A person’s job will consist of one or more Functions. • Authority assignments are at the Function level. • Functions consist of one or more Tasks. • Tasks • A discrete unit of work, typically a piece of what is needed to accomplish a function. • Represents a set of privileges that must be be set together. • Are reusable
Stanford Authority Registry • Entitlements • Atomic unit of authority control. • An abstraction of system specific privileges, but not in any system’s specific language. • What applications read to set their internal security.
Ponder from Imperial College, London Entering the Space Age Example domain expression: /A/B/D
Ponder download and further information • The Ponder toolkit can be downloaded under a GNU Lesser GPL from Imperial College in London: http://www-dse .doc.ic.ac.uk/Research/policies/index.shtml • Documentation plus several technical papers on Ponder are available at that site as well
National Institute of Standards & Technology RBAC Model • Role-based Access Control (RBAC) formal model with provable properties • http://csrc.nist.gov/rbac/
Example: Bank Role/Role Associations In NIST RBAC Model
NIST RBAC Model • Reference implementation including management tools for role engineering • NIST seeking to promote this as a standard: A Proposed Standard for Role-Based Access Control David F. Ferraiolo National Institute of Standards and Technology Ravi Sandhu George Mason University Serban Gavrila VDG Incorporated D. Richard Kuhn and Ramaswamy Chandramouli National Institute of Standards and Technology December 18, 2000
UWisc Project Planning: Cascading phrases re controlled access to resources Systems of record Identify Persons Who have Affiliations / Attributes That are mapped to Entitlements That determine eligibility for Services That are offered by Service Providers
UWisc: Separates policy from technical architecture and implementation • Ask the technologists • To build a system that can easily accommodate new sources, people, services & mappings. • Ask the stakeholders (sponsors, service providers,…) • To agree on policies & procedures in terms of this cascading diagram • Yields a cleaner separation of the two activities • User visible vis-à-vis system internal a la Stanford • Gives the two groups a shared language
A key point of difference between these systems: • They all group objects to create scalable, manageable systems • But each model aggregates at different points:
Interop challenge: Gateway(?) for mobile authority information / assertions / policy AGE • SAML, XACML (Security Assertions Markup Language, eXtensible Access Control Markup Language (OASIS standards body) • Permis Attribute Certificates • Grid Proxy Certificates • SPKI, SDSI Certificates • MS Kerberos PAC (Authorization data) in Session ticket (see next slide)
Building An Access Token From A Kerberos Ticket • Local Sec Authority buildsaccess token for security context • Server thread impersonates client context Impersonation token Token Server application • Kerberos package gets auth data from session ticket LSA Kerberos • Auth data: • User SID • Group SIDs • Privileges Target Session ticket
Do AuthInfo systems themselves ever need to interoperate? • Well, we do want low-impedance resource access across administrative boundaries • But do we need to manage Authority Information across those boundaries? • REALLY hard, especially if the underlying models aren’t commensurable • Minimalist approach: Net out AuthorityInfo to entitlements and move entitlements between domains
Conclusion; “Back to you, RL.” • We’re still throwing a little salt, circling in the arena… • But the payoff for middleware services investment really seems to lie in the authorization (authority management + access control management) space