Decentralized Access Control: Policy Languages and Logics

Slides:



Advertisements
Similar presentations
Artificial Intelligence
Advertisements

The Role of Trust Management in Distributed Systems Authors Matt Blaze, John Feigenbaum, John Ioannidis, Angelos D. Keromytis Presented By Akshay Gupte.
Computer Science CPSC 322 Lecture 25 Top Down Proof Procedure (Ch 5.2.2)
Certified Typechecking in Foundational Certified Code Systems Susmit Sarkar Carnegie Mellon University.
A Unified Approach to Trust, Delegation, and Authorization Blair Dillaway, Greg Fee Microsoft Corporation Presented at GGF18 Copyright © 2006, Microsoft.
ICE1341 Programming Languages Spring 2005 Lecture #6 Lecture #6 In-Young Ko iko.AT. icu.ac.kr iko.AT. icu.ac.kr Information and Communications University.
D u k e S y s t e m s Some tutorial slides on ABAC Jeff Chase Duke University.
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
CS344 : Introduction to Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 9,10,11- Logic; Deduction Theorem 23/1/09 to 30/1/09.
Access Control A Meta-Model 1Dennis Kafura – CS5204 – Operating Systems.
Binder: A logic-based security language John DeTreville, Microsoft What has this to do with building secure software? I think we need many collaborating.
ISBN Chapter 3 Describing Syntax and Semantics.
Copyright © 2006 Addison-Wesley. All rights reserved. 3.5 Dynamic Semantics Meanings of expressions, statements, and program units Static semantics – type.
CS 355 – Programming Languages
CSE 425: Logic Programming I Logic and Programs Most programs use Boolean expressions over data Logic statements can express program semantics –I.e., axiomatic.
Distributed System Security via Logical Frameworks Frank Pfenning Carnegie Mellon University Joint work with Lujo Bauer, Deepak Garg, and Mike Reiter.
Trust Management II Anupam Datta Fall A: Foundations of Security and Privacy.
Making certificates programmable1 John DeTreville Microsoft Research April 24, 2002.
CS 330 Programming Languages 09 / 18 / 2007 Instructor: Michael Eckmann.
A Type System for Expressive Security Policies David Walker Cornell University.
CS 330 Programming Languages 09 / 16 / 2008 Instructor: Michael Eckmann.
Describing Syntax and Semantics
Solving trust issues using Z3 Z3 SIG, November 2011 Moritz Y. Becker, Nik Sultana Alessandra Russo Masoud Koleini Microsoft Research, Cambridge Imperial.
1 First order theories. 2 Satisfiability The classic SAT problem: given a propositional formula , is  satisfiable ? Example:  Let x 1,x 2 be propositional.
14 May 2002© TrueTrust Ltd1 Privilege Management in X.509(2000) David W Chadwick BSc PhD.
DEDUCTIVE DATABASE.
Belief Semantics of Authorization Logic Andrew Hirsch and Michael Clarkson George Washington University Cornell University DCAPS January 24, 2014.
Computer Science 725 – Software Security Presentation “Decentralized Trust Management” Decentralized Trust ManagementDecentralized Trust Management M.
Rule based Trust management using RT – third lecture Sandro Etalle University of Twente & Eindhoven thanks to Ninghui Li - Purdue William H. Winsborough.
Proof-Carrying Code & Proof-Carrying Authentication Stuart Pickard CSCI 297 June 2, 2005.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
Slide 1 Propositional Definite Clause Logic: Syntax, Semantics and Bottom-up Proofs Jim Little UBC CS 322 – CSP October 20, 2014.
Confidentiality-preserving Proof Theories for Distributed Proof Systems Kazuhiro Minami National Institute of Informatics FAIS 2011.
Lightweight Consistency Enforcement Schemes for Distributed Proofs with Hidden Subtrees Adam J. Lee, Kazuhiro Minami, and Marianne Winslett University.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
ISBN Chapter 3 Describing Semantics.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Brian A. LaMacchia Director, XCG Security & Cryptography, Microsoft Research.
Non-interference in Constructive Authorization Logic Deepak Garg and Frank Pfenning Carnegie Mellon University.
CS6133 Software Specification and Verification
SecPAL Presented by Daniel Pechulis CS5204 – Operating Systems1.
1 / 48 Formal a Language Theory and Describing Semantics Principles of Programming Languages 4.
Principle of Programming Lanugages 3: Compilation of statements Statements in C Assertion Hoare logic Department of Information Science and Engineering.
1 Knowledge Based Systems (CM0377) Lecture 6 (last modified 20th February 2002)
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
Logic Programming. Formal Logics- Recap Formulas – w/out quantifiers Free Variables Bound Variables Assignments and satisfaction Validity and satisfiability.
ARTIFICIAL INTELLIGENCE Lecture 2 Propositional Calculus.
Newcastle uopn Tyne, September 2002 V. Ghini, G. Lodi, N. Mezzetti, F. Panzieri Department of Computer Science University of Bologna.
1 Lecture 3 The Languages of K, T, B and S4. 2 Last time we extended the language PC to the language S5 by adding two new symbols ‘□’ (for ‘It is necessary.
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
1 Authorization Sec PAL: A Decentralized Authorization Language.
Decentralized Access Control: Overview Deepak Garg Foundations of Security and Privacy Fall 2009.
A Proof-Carrying File System Deepak Garg and Frank Pfenning (Carnegie Mellon University) IEEE Symposium on Security and Privacy May 18, 2010.
CENG 424-Logic for CS Introduction Based on the Lecture Notes of Konstantin Korovin, Valentin Goranko, Russel and Norvig, and Michael Genesereth.
By P. S. Suryateja Asst. Professor, CSE Vishnu Institute of Technology
From Classical Proof Theory to P vs. NP
Lecture 1 – Formal Logic.
Knowledge and reasoning – second part
State your reasons or how to keep proofs while optimizing code
This Lecture Substitution model
Logic: Top-down proof procedure and Datalog
Knowledge and reasoning – second part
Negations of quantifiers
Beyond Proof-of-compliance: Security Analysis in Trust Management
This Lecture Substitution model
A Distributed Tabling Algorithm for Rule Based Policy Systems
Logic Logic is a discipline that studies the principles and methods used to construct valid arguments. An argument is a related sequence of statements.
ece 720 intelligent web: ontology and beyond
This Lecture Substitution model
Representations & Reasoning Systems (RRS) (2.2)
Presentation transcript:

Decentralized Access Control: Policy Languages and Logics Deepak Garg Foundations of Security and Privacy Fall 2009

Access Control: General Picture Policy Username: alice Password:************ Principal Principal Request to perform operation Reference Monitor (Guard) Resource Enter house Check bank balance

Decentralized Policies Server1 Policy1 Server2 Policy2 Server3 Policy3 Principal Principal Request to perform operation Reference Monitor (Guard) Resource There is a delegation of trust (e.g., ACM -> CMU)

Decentralized Policy Distribution Individual administrators (e.g., CMU and ACM) represent policies in certificates Certificate = statement + digital signature Certificates are also called credentials Alice is a member of CMU For all U, M. ((U has a subscription) and (M is a member of U)) imply (M has free access) CMU has a subscription

Example of Distributed Access Download paper.pdf ACM Prove that you are a member of CMU Inference: Certificate missing! Check certificate. Inference: Allow access paper.pdf CMU

Certificate Verification and Inference Download paper.pdf ACM Certificate verification and inference are very important Prove that you are a member of CMU Inference: Certificate missing! Check certificate. Inference: Allow access Certificate verification Policy rules and facts are authentic (PKI helps) paper.pdf Inference Deduce permissions from rules and facts CMU

Policy Languages and Logics What language is used to write policy statements and infer permissions from them? For all U, M. ((U has a subscription) and (M is a member of U)) imply (M has free access) Principled approaches: Declarative Languages E.g., RT, SecPAL, Cassandra, Binder Logics E.g., ABLP, GP, BL ∀ U, M. ((hasSubscription(U) ∧ isMember(M,U)) ⊃ hasFreeAccess(M))

In This Lecture ... Frameworks for expressing decentralized policies and inferring permissions Policy languages One modern example, SecPAL [BFG'07] Syntax Inference system Access control logics One example from my own research Inference system (proof theory)

Security Policy Assertion Language (SecPAL)

Note: Uppercase letters ACM Example in SecPAL hasFreeAccess(M) if hasSubscription(U), isMember(M,U) isMember(Alice,CMU) Note: Uppercase letters (M, U) are universally quantified variables. Others (Alice,CMU) are constants. hasSubscription(CMU)

Where's the Delegation? What here says that ACM trusts CMU to decide hasFreeAccess(M) if hasSubscription(U), isMember(M,U) isMember(Alice,CMU) What here says that ACM trusts CMU to decide its members? hasSubscription(CMU) Nothing so far!

Delegation in SecPAL isMember(Alice,CMU) hasFreeAccess(M) if hasSubscription(U), isMember(M,U) isMember(Alice,CMU) CMU cansay isMember(M,CMU) hasSubscription(CMU)

Delegation in SecPAL isMember(Alice,CMU) hasFreeAccess(M) if hasSubscription(U), isMember(M,U) isMember(Alice,CMU) (U cansay isMember(M,U)) if hasSubscription(U) hasSubscription(CMU)

Syntax of SecPAL Statements Variable X Principal A ::= Alice | Bob | … | X Term t ::= X | A | ... Fact f ::= A cansay f | p(t1,...,tn) Statement s ::= f if f1, ..., fn

ACM Example Revisited Technical Problem Download paper.pdf ACM Prove that you are a member of CMU Inference: Certificate missing! Check certificate. Inference: Allow access paper.pdf Technical Problem How is the origin of a certificate represented in the formal language? (This is necessary for writing inference rules) CMU

The says Keyword and Assertions Variable X Principal A ::= Alice | Bob | … | X Term t ::= X | A | ... Fact f ::= A cansay f | p(t1,...,tn) Statement s ::= f if f1, ..., fn Assertions a ::= A says s

Certificates to Assertions Inference is performed over assertions, not certificates Inference Engine at ACM's Server hasFreeAccess(M) if hasSubscription(U), isMember(M,U) ACM says (hasFreeAccess(M) if hasSubscription(U), isMember(M,U)) CMU says (isMember(Alice,CMU)) isMember(Alice,CMU)

Inference in the ACM Example Download paper.pdf ACM Prove that you are a member of CMU ACM says ... CMU says ... Inference Engine in ACM's Server SecPAL assertions imported from certificates Access for Alice SecPAL Inference Check certificate. Inference: Allow access Inference: Certificate missing! paper.pdf CMU

Summary of Assertions and Inference Certificates Derived SecPAL Assertions ... SecPAL Assertions Certificate checking ACM says ... CMU says ... ACM says ... CMU says ... SecPAL Inference

SecPAL Inference System Combine assertions to deduce more assertions Inference rules: definition of inference Implementation Translate SecPAL into Datalog for efficiency Use an inference engine over Datalog (standard, non- trivial to build) Theorem that SecPAL inference rules and Datalog inference over translated assertions have same consequences Focus on this

SecPAL Inference Rules Judgment: AC ▶ A says f List of assertions imported from certificates Derived assertion A says (f if f1,...,fn)  AC AC ▶ A says fi ------------------------------------------------------------- AC ▶ A says f AC ▶ A says (B cansay f) AC ▶ B says f ------------------------------------------------------------ AC ▶ A says f

Inference for the ACM Example Assertions Imported from Certificates (1) ACM says (hasFreeAccess(M) if hasSubscription(U), isMember(M,U)) (2) ACM says (hasSubscription(CMU)) (3) ACM says ((U cansay isMember(M,U)) if hasSubscription(U)) (4) CMU says (isMember(Alice,CMU)) Goal (To show) ACM says (hasFreeAccess(Alice)) SecPAL Inference (5) ACM says (CMU cansay isMember(Alice,CMU)) (2,3) (6) ACM says (isMember(Alice,CMU)) (5,4) (7) ACM says (hasFreeAccess(Alice)) (1,2,6)

Further Expressiveness: Constraints Variable X Principal A ::= Alice | Bob | … | X Term t ::= X | A | ... Fact f ::= A cansay f | p(t1,...,tn) Statement s ::= f if f1, ..., fn,c Assertions a ::= A says s c ::= t1 <= t2 | inSet(t1,t2) | ...

Examples with Constraints Time-limited credentials CMU says (isMember(Alice,CMU) if currentYear<=2009) MLS FileServer says (mayread(M,F) if level(F) <= level(M)) Separation of duty can-authorize-payment(R,P) = Bank says isManager(R), Bank says initiated(X,P), X <> R

Summary of SecPAL Syntax for representing policy statements Certificates are imported into SecPAL as assertions Formal rules for inference over assertions Deduce new assertions from existing ones Implementation via translation to Datalog Formal theorem of correctness

Access Control Logics (a.k.a. Policy Logics)

From Policy Languages to Logics Policy languages, e.g. SecPAL: Contain custom constructs like (A says s) and (A cansay f) Provide inference rules for interpreting constructs Do the constructs have a logical interpretation? What are their formal semantics, proof theory? Access control logics seek to answer these questions

Access Control Logics Access control logic: A logic designed for representing access policies E.g.: ABLP, GP, ICL, DCC, BL, … Focus of access control logic is foundations (semantics, proof theory) Understand connectives like says Can also be used practically like policy languages, with better foundations Grey (next lecture), PCFS (my thesis), Nexus (Cornell)

An Access Control Logic Variously known as GP, ICL, CDD [GP'06,Aba'06,GA'08] Builds on intuitionistic first-order logic Only “access control” construct is (A says s) Both semantics and proof theory have been investigated – focus on proof theory here For details, see related handout