21
Department of Computer Science • PCL: A Policy Combining Language • EXAM: E nvironment for X acml policy A nalysis & M anagement Access Control Policy Combining & Comparison Elisa Bertino, Ninghui Li (Purdue University)

Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Embed Size (px)

Citation preview

Page 1: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

• PCL: A Policy Combining Language

• EXAM: Environment for Xacml policy Analysis & Management

Access Control Policy Combining & Comparison

Elisa Bertino, Ninghui Li (Purdue University)

Page 2: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

Why Policy Combining?

• A policy may contain multiple sub-policies. The effect of the whole policy is determined by combining the effects of sub-policies– Firewalls: first-applicable

– XACML: deny-overrides, permit-overrides, first-applicable, only-one-applicable

Page 3: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

Other Useful Combining Algorithms

• Weak-consensus:

• Strong-consensus:

• Weak-majority:

• Strong-majority:

Page 4: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

Our Goal

An expressive and practical language for specifying policy combining algorithms

Our solution: PCL

NINGHUI LI, ELISA BERTINO, QIHUA WANG, WAHBEH QADARJIPurdue University

Page 5: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

Overview of PCL

• Uses four values: Σ = {P, D, NA, IN}• Evaluation errors are represented by non-

empty subsets of {P, D, NA, IN}– 15 possible values

• Two ways to specify policy combining behavior– Using a Policy Combining Operator (PCO)– Using linear constraints

Page 6: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

Policy Combining Operators• Policy combining operator (PCO)

– is a PCA that combines two policies (or rules)– g: Σ × Σ -> Σ, where Σ = {P, D, NA, IN}

• A PCO can be represented as a matrix

P1 \ P2 P D NA IN

P P D P D

D D D D D

NA P D NA D

IN D D D D

Deny-overrides

P1 \ P2 P D NA IN

P P P P P

D D D D D

NA P D NA IN

IN IN IN IN IN

First-applicable

Page 7: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

From PCO to PCA• PCA should be a function Σ+ -> Σ• Given a PCO g, its recursive PCA is the function f:

– f(P1) = P1

– f(P1, P2) = g(P1, P2)

– f(P1,…,Pn) = g(f(P1,…,Pn-1), Pn)

• DFA-representation of policy evaluation

P

D

NA

IN

Any

Any

D, IN

P, NA D, IN

P

NA

Deny-overrides

P

D

NA

IN

Any

D

Any

P

NA

IN

Any

First-applicable

Page 8: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

Using Linear Constraints• PCOs cannot express counting-based

strategies.

• Second approach for PCA specification uses linear constraints on the number of sub-policies that return P, D, NA, and IN.– A Linear Constraint is an expressions that uses

#P, #D, #NA, #IN, addition/subtraction, comparisons, and AND and OR

Page 9: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

Other Issues We Considered

• Optimized evaluation of PCAs

• Specify how to specify obligation-handling behavior in a PCA

Page 10: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

Expressive Power: There are Examples for each numbered area

Page 11: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

Using PCL in XACML• An XACML Policy can include the PCA it

wants to use

• A PDP that understands PCL can parse and understand all PCAs specified in it– makes deployment of new PCAs feasible

Page 12: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

Implementation• We implemented PCL and integrated it with

Sun’s implementation for XACML 1.1

• Changes and additions were made to several classes and the Result class in particular to account for errors in evaluation

Page 13: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

EXAMEnvironment for Xacml policy Analysis & Management

EXAM is a comprehensive environment for analyzing and managing XACML access control policies. It supports acquisition, editing and retrieval of policies in addition to policy similarity filtering, policy similarity analysis and policy integration.

ELISA BERTINO, NINGHUI LI, GABRIEL GHINITA, PRATHIMA RAOPurdue University

Page 14: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

EXAM Overview: Architecture

PolicyRepository

PolicySimilarity

Filter

Policy Similarity Analyzer

Query Dispatcher

User

User Interface

…User User

Policy Annotation

Policy Integration Framework

Page 15: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

Key Feature –Policy Similarity Analysis

• Goal– Characterize the relationships among the sets of

requests respectively authorized by a set of policies.

• Two techniques– Policy Similarity Filter

• Less precise, faster (based on techniques from document matching techniques)

– Policy Similarity Analyzer• Precise, slower (based on MTDBB)• A visualization environment has been developed to

visualize policy similarity results

Page 16: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

p3 <Time [9am,1am]>p4 <Time [1am,9am]>

“DRILL-DOWN”

Multi-level Grid Visualizationof Policy Similarity

Action Type

Page 17: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

Policy Integration

• A Fine-grained Integration Algebra (FIA)– 3-valued (Permit, Deny, NotApplicable)– Specify behavior at the granularity of requests and effects– Restrict domain of applicability– Support expressive policy languages like XACML

• Framework for specifying integration constraints and generating integrated policies. – MTBDD based implementation of FIA– Generation of integrated policy in XACML syntax.

Page 18: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

Fine-grained Integration Algebra (FIA)

Vocabulary of attribute names and domains

Policy constants

Permit policy Deny policy

Binary operators

Addition Intersection

Unary operators

Negation Domain Projection

Page 19: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

FIA - Theoretical Results• Expressivity

– FIA can express all XACML policy combining algorithms

– FIA can express policy “jumps”– FIA can model closed policies and open policies

• Completeness– A completeness notion has been developed,

based on the concept of policy combination matrix, and FIA is complete with respect to such notion

• Minimality– Identification of the minimal complete subsets of

the FIA operators

Page 20: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

Current Status of EXAM

• A prototype has been completed that includes the similarity filter and analyzer

• The visualization tool has been completed

• We expect to release EXAM to the project team in December 2009

Page 21: Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining

Department of Computer Science

On-Going Work• Study the specification and analysis of stateful

policies in a practical way– e.g., by extending XACML

• User experimental study – the goal is to assess whether the similarity filter is a good predictor for policy similarity as perceived by users

• Extend EXAM with tools for synonym and dictionary management, and ontologies

• Develop tools for collaborative privacy-preserving policy enforcement