Using XACML Policies to Express OAuth Scope Hal Lockhart Oracle June 27, 2013.

Slides:



Advertisements
Similar presentations
Access control for geospatial information objects using/extending the eXtensible Access Control Markup Language Andreas Matheus, Technische Universität.
Advertisements

News in XACML 3.0 and application to the cloud Erik Rissanen, Axiomatics
Step Up Authentication in SAML (and XACML) Hal Lockhart February 6, 2014.
Authorization Brian Garback.
Enterprise -> Cloud Outline –Enterprises have many apps outside their control public cloud; business partner applications –Using standards-based SSO (SAML,
1 Authorization XACML – a language for expressing policies and rules.
Administrative Policies in XACML Erik Rissanen Swedish Institute of Computer Science.
Access Control Methodologies
Approaches to generalization of XACML New challenges for access control 27 th April 2005 Tim Moses.
XACML 2.0 and Earlier Hal Lockhart, Oracle. What is XACML? n XML language for access control n Coarse or fine-grained n Extremely powerful evaluation.
Hybrid Policies Overview Chinese Wall Model Clinical Information Systems Security Policy ORCON RBAC Introduction to Computer Security ©2004 Matt Bishop.
A Heterogeneous Network Access Service based on PERMIS and SAML Gabriel López Millán University of Murcia EuroPKI Workshop 2005.
XML –Query Languages, Extracting from Relational Databases ADVANCED DATABASES Khawaja Mohiuddin Assistant Professor Department of Computer Sciences Bahria.
XACML By Ganesh Godavari Craig Peltier. Information Sharing Information Sharing relates to the sharing of information between two or more entities. Entities.
Lecture 7 Access Control
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 4 “Overview”.
Audumbar. Access control and privacy Who can access what, under what conditions, and for what purpose.
Combining KMIP and XACML. What is XACML? XML language for access control Coarse or fine-grained Extremely powerful evaluation logic Ability to use any.
XACML Gyanasekaran Radhakrishnan. Raviteja Kadiyam.
1 © Talend 2014 XACML Authorization Training Slides 2014 Jan Bernhardt Zsolt Beothy-Elo
XACML Briefing for PMRM TC Hal Lockhart July 8, 2014.
1 Abstract Syntax Tree--motivation The parse tree –contains too much detail e.g. unnecessary terminals such as parentheses –depends heavily on the structure.
Authorization Infrastructure, a Standards View Hal Lockhart OASIS.
Survey of Identity Repository Security Models JSR 351, Sep 2012.
RECALL THE MAIN COMPONENTS OF KIM Functional User Interfaces We just looked at these Reference Implementation We will talk about these later Service Interface.
Web Services Security Standards Overview for the Non-Specialist Hal Lockhart Office of the CTO BEA Systems.
In-Band Access Control Framework Group Name: WG4 SEC Source: Qualcomm Meeting Date: Agenda Item:
XACML – The Standard Hal Lockhart, BEA Systems. What is XACML? n XML language for access control n Coarse or fine-grained n Extremely powerful evaluation.
Elisa Bertino Purdue University Pag. 1 Security of Distributed Systems Part II Elisa Bertino CERIAS and CS &ECE Departments Purdue University.
A Document Format for Expressing Privacy Preferences H. Schulzrinne, J. Morris, H. Tschofenig, J. Cuellar, J. Polk, J. Rosenberg.
11 Usage policies for end point access control  XACML is Oasis standard to express enterprise security policies with a common XML based policy language.
In-Band Access Control Framework Group Name: WG4 SEC Source: Qualcomm Meeting Date: Agenda Item:
Extending context models for privacy in pervasive computing environments Jadwiga Indulska The School of Information Technology and Electrical Engineering,
I2RS draft-rfernando-yang-mods.txt I2RS Yang Extensions draft-rfernando-yang-data-mods R.Fernando, P.Chinnakannan, M.Madhayyan, A.Clemm.
UMA’s relationship to distributed authorization concepts 19 October 2013
Proposal for RBAC Features for SDD James Falkner Sun Microsystems October 11, 2006.
Information System Project Management Lecture three Chapter one
Computer Science Conformance Checking of Access Control Policies Specified in XACML Vincent C. Hu (National Institute of Standards and Technology) Evan.
XML Access Control Koukis Dimitris Padeleris Pashalis.
Secure Systems Research Group - FAU 1 A Trust Model for Web Services Ph.D Dissertation Progess Report Candidate: Nelly A. Delessy, Advisor: Dr E.B. Fernandez.
SecPAL Presented by Daniel Pechulis CS5204 – Operating Systems1.
Computer Science 1 Detection of Multiple-Duty-Related Security Leakage in Access Control Policies JeeHyun Hwang 1, Tao Xie 1, and Vincent Hu 2 North Carolina.
Authorization GGF-6 Grid Authorization Concepts Proposed work item of Authorization WG Chicago, IL - Oct 15 th 2002 Leon Gommans Advanced Internet.
September XACML: Consistency analysis Luigi Logrippo Université du Québec University of Ottawa
11 Restricting key use with XACML* for access control * Zack’-a-mul.
Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining.
Interworking with an External Dynamic Authorization System Group Name: SEC WG Source: Qualcomm Inc., Wolfgang Granzow & Phil Hawkes Meeting Date: SEC#20.2,
Copyright (c) 2006 IBM Corporation; made available under the EPL v1.0 Update Policy ~ Where we are in 3.2.
Old Dominion University1 eXtensible Access Control Markup Language [OASIS Standard] Kailash Bhoopalam Java and XML.
XACML Showcase RSA Conference What is XACML? n XML language for access control n Coarse or fine-grained n Extremely powerful evaluation logic n.
Adding Distributed Trust Management to Shibboleth Srinivasan Iyer Sai Chaitanya.
OASIS e Xtensible Access Control Markup Language (XACML) Hal Lockhart
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
1 Ontology based Policy Interoperability Dr. Latifur Khan Tahseen Al-Khateeb Mohammad Alam Mohammad Farhan Husain.
XACML Contributions Hal Lockhart, Oracle Corp. 2 Topics Authorization API Finding Input Attributes.
Access Control Policy Languages in XML Lê Anh Vũ Võ Thành Vinh
Authorization PDP GE Course (R4) FIWARE Chapter: Security FIWARE GE: Authorization PDP FIWARE GEri: AuthZForce Authorization PDP Owner: Cyril Dangerville,
OGSA Attributes: Requirements, Definitions, and SAML Profile Abstract This document specifies elements and vocabulary for expressing attribute assertions.
Survey of Identity Repository Security Models JSR 351, Sep 2012.
10 Stages Of the Engineering Design Process
Phil Hunt, Hannes Tschofenig
TeRI and the MODERN Framework
Sourcing Event Tool Kit Multiline Sourcing, Market Baskets and Bundles
XACML and the Cloud.
Adding Distributed Trust Management to Shibboleth
Engineering Design Process
10 Stages Of the Engineering Design Process
Groups and Permissions
JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens-02
Veterans Health Administration
Presentation transcript:

Using XACML Policies to Express OAuth Scope Hal Lockhart Oracle June 27, 2013

Topics Scope Background Requirements Design Alternatives XACML Overview Proposed Approach Benefits Next Steps Future Research

Scope Background Issued as a result of Access Grant Intended to represent what is allowed by this Token (not actually defined by RFC 6749) Can be Handle or Self-contained – Handle is reference to data held by AS – Self-contained can be interpreted by RS I distinguish between Requested Scope and Issued Scope

Standardized Scope Requirements Self-contained by definition Agreed syntax and semantics Cover any domain Compute Scope given identity of Resource Owner & Client, plus requested Scope (at most) Determine if Scope allows requested access using info available to RS (not owner attributes)

Current Design Approaches Handle - reference to info held by AS – Tight coupling between AS & RS – AS could become performance bottleneck – AS required to manage info for token lifetime Role – small set of privilege alternatives – RS (or AS) knows what they mean (good or bad) – Inflexible – Role explosion & confusion

XACML Overview Access Control Policy language Well defined semantics Original syntax XML – JSON in progress Decision Request – Input: Attributes - Name, Value, Category Categories identify the entities associated with request, e.g. Subject, Resource, Action, Environment, etc. Set of Attributes values called a Situation – Output: Effect (Permit, Deny) Obligations, Advice

Policy Evaluation Oversimplified 1 Policies contain operations on attribute values which produce True or False If False, policy is not applicable If True, Effect (Permit or Deny) is noted – (Along with Obligations and Advice) If multiple applicable policies have different effects, a combining rule is used – E.g. Default Deny

Policy Evaluation Oversimplified 2 Policies form a tree Nodes are Policy Sets, leaves are Policies Once a branch is found not applicable, its children are not evaluated Policy Sets can contain Policies or Policy References Different policy combinations will be applicable to different Situations

Policy Tree

Applicable Policies - Situation 1

Applicable Policies - Situation 2

Using XACML for Scope Scope must be able to limit – Resources, actions, times, dates, locations, etc. – Cover multiple situations Non-unique attributes (Public, confidential, Tuesday) Wildcards (regular expressions) Boolean operators (A or B or C) – Could invent a new language – XACML already does this

Deciding What Policies Include all policies relevant to RS Write program to construct polices as needed – I don’t know how to do this Small number of preset access patterns – Policies associated with each – Like Roles, except actual rights are expressed Use XACML PDP to select

Using XACML PDP Requested Scope can contain XACML decision request – Identify typical or most strongly protected Situation – Or custom tweak request to particular policies Submit request to PDP – 3.0 feature identify applicable policies Obtain policies by ID (could be cached)

Decapitated Policies Request contains Subject Attributes of Resource Owner Applicable policies most likely will reference Need to plug Subject Attribute values into policies as constants Optionally – optimize out null operations Eliminate dangling policy references – presumably from non-applicable policies

Decapitated Policy Example 1 If Subject Attribute Group equals “ user ” and Resource Attribute Class equals “ private ” permit access. Initial Policy Decapitated Policy If “ user ” equals “ user ” and Resource Attribute Class equals “ private ” permit access. Optimized Policy If Resource Attribute Class equals “ private ” permit access.

Decapitated Policy Example 1 If Subject Attribute Group equals “user” and Resource Attribute Name matches Regex(“/user/”+Subject Attribute Username+”/*”) permit access. Initial Policy Decapitated Policy If ”user” equals “user” and Resource Attribute Name matches Regex(“/user/”+”hal”+”/*”) permit access. Optimized Policy If ”user” equals “user” and Resource Attribute Name matches Regex(“/user/”+”hal”+”/*”) permit access. If Resource Attribute Name matches Regex( “ /user/hal/* ” ) permit access. or

Benefits General, flexible, domain independent Means to select policies based on Client request Common expression of OAuth and non-OAuth access control policies Enables XACML delegation for full generality Major revisions of access model only require policy changes

Next Steps Increase priority of XACML JSON policies Need policy retrieval API standard Detailed specification of decapitation algorithm Support for just in time policies w/o delegation profile

Future Research Relationship to Obligations & Advice Relationship to other Subject Categories Use of XACML Admin/Delegation Profile with this scheme Use of access-permitted function with OAuth Deeper understanding of relationship between various access control models

Theoretical Considerations 1 Use of non-unique attribute values groups entities into sub-groups and enables scaling Policies are written in the most natural form – If X, allow access Each policy applies to many situations – Also enables scaling As a consequence, policies only work one way – Determine if access allowed, can’t enumerate what is allowed

Theoretical Considerations 2 Not only can’t go backward, can’t go sideways – Can’t compare two policies, only say if they are both applicable to a given situation Proposal is a way to sidestep problem and go from specific (request) to general (policies) OAuth can be looked at as a two stage policy evaluation 1.Subject attributes for token issuance (once) 2.Remaining attributes for access (many times)

Relationship to UMA Work Proposal can co-exist with anonymous Subject Attribute and Role-based scheme Other ideas?