1st PKI Research Workshop, NIST, Gaithersburg 20021 A Note On SPKI’s Authorisation Syntax Olav Bandmann* Industrilogik L4i AB Mads Dam KTH/IMIT *Work done.

Slides:



Advertisements
Similar presentations
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Advertisements

Model Checking I What are LTL and CTL?. and or dreq q0 dack q0bar.
CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
 Dr. Vered Gafni 1 LTL Decidability Enables consistency check, but also base for verification.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
1 Relational Algebra & Calculus. 2 Relational Query Languages  Query languages: Allow manipulation and retrieval of data from a database.  Relational.
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 52 Database Systems I Relational Algebra.
1 Basic abstract interpretation theory. 2 The general idea §a semantics l any definition style, from a denotational definition to a detailed interpreter.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
1 Chapter 10 Query Processing: The Basics. 2 External Sorting Sorting is used in implementing many relational operations Problem: –Relations are typically.
Lecture 8 Recursively enumerable (r.e.) languages
Firewall Policy Queries Author: Alex X. Liu, Mohamed G. Gouda Publisher: IEEE Transaction on Parallel and Distributed Systems 2009 Presenter: Chen-Yu Chang.
Catriel Beeri Pls/Winter 2004/5 type reconstruction 1 Type Reconstruction & Parametric Polymorphism  Introduction  Unification and type reconstruction.
1 CMSC424, Spring 2005 CMSC424: Database Design Lecture 9.
Knoweldge Representation & Reasoning
Unit 11a 1 Unit 11: Data Structures & Complexity H We discuss in this unit Graphs and trees Binary search trees Hashing functions Recursive sorting: quicksort,
ESE601: Hybrid Systems Introduction to verification Spring 2006.
1 Query Processing: The Basics Chapter Topics How does DBMS compute the result of a SQL queries? The most often executed operations: –Sort –Projection,
ECE 667 Synthesis and Verification of Digital Systems
1 Relational Algebra and Calculus Yanlei Diao UMass Amherst Feb 1, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
Equational Reasoning Math Foundations of Computer Science.
Binary Decision Diagrams (BDDs)
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
Workflows in Webdam Victor Vianu UC San Diego & INRIA/Webdam.
1 Undecidability Reading: Chapter 8 & 9. 2 Decidability vs. Undecidability There are two types of TMs (based on halting): (Recursive) TMs that always.
CSCI 115 Chapter 7 Trees. CSCI 115 §7.1 Trees §7.1 – Trees TREE –Let T be a relation on a set A. T is a tree if there exists a vertex v 0 in A s.t. there.
2G1516 Formal Methods2005 Mads Dam IMIT, KTH 1 CCS: Operational Semantics And Process Algebra Mads Dam Reading: Peled 8.3, 8.4, 8.6 – rest of ch. 8.
Prof. Bayer, DWH, Ch.4, SS Chapter 4: Dimensions, Hierarchies, Operations, Modeling.
On Reducing the Global State Graph for Verification of Distributed Computations Vijay K. Garg, Arindam Chakraborty Parallel and Distributed Systems Laboratory.
Lparse Programs Revisited: Semantics and Representation of Aggregates Guohua Liu and Jia-Huai You University of Alberta Canada.
1 The Halting Problem and Decidability How powerful is a TM? Any program in a high level language can be simulated by a TM. Any algorithmic procedure carried.
Second-Order Functions and Theorems in ACL2 Alessandro Coglio Workshop 2015 Kestrel Institute.
Supporting further and higher education The Akenti Authorisation System Alan Robiette, JISC Development Group.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
1 Relational Algebra & Calculus Chapter 4, Part A (Relational Algebra)
1 Relational Algebra and Calculas Chapter 4, Part A.
Formal Specification of Intrusion Signatures and Detection Rules By Jean-Philippe Pouzol and Mireille Ducassé 15 th IEEE Computer Security Foundations.
Reading and Writing Mathematical Proofs Spring 2015 Lecture 4: Beyond Basic Induction.
Lecture 81 Optimizing CTL Model checking + Model checking TCTL CS 5270 Lecture 9.
Path Construction “It’s Easy!” Mark Davis. Current WP Scope u Applications that make use of public key certificates have to validate certificate paths.
A Logic of Partially Satisfied Constraints Nic Wilson Cork Constraint Computation Centre Computer Science, UCC.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Defining Liveness by Bowen Alpern and Fred B. Schneider Presented by Joe Melnyk.
SecPAL Presented by Daniel Pechulis CS5204 – Operating Systems1.
LDK R Logics for Data and Knowledge Representation ClassL (part 2): Reasoning with a TBox 1.
1 Reasoning with Infinite stable models Piero A. Bonatti presented by Axel Polleres (IJCAI 2001,
Process Algebra (2IF45) Basic Process Algebra Dr. Suzana Andova.
Chapter 8 Relational Database Design. 2 Relational Database Design: Goals n Reduce data redundancy (undesirable replication of data values) n Minimize.
Towards a Semantic Model for Java Wildcards Sophia Drossopoulou Mariangiola Dezani-Ciancaglini Imperial College London Università di Torino Italy Nicholas.
Certifying and Synthesizing Membership Equational Proofs Patrick Lincoln (SRI) joint work with Steven Eker (SRI), Jose Meseguer (Urbana) and Grigore Rosu.
1 Representing and Reasoning on XML Documents: A Description Logic Approach D. Calvanese, G. D. Giacomo, M. Lenzerini Presented by Daisy Yutao Guo University.
Chapter 7. Propositional and Predicate Logic
Closed book, closed notes
CSE 105 theory of computation
HIERARCHY THEOREMS Hu Rui Prof. Takahashi laboratory
CSE 105 theory of computation
Logics for Data and Knowledge Representation
Software Verification 2 Automated Verification
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
Sungho Kang Yonsei University
The Lower Bounds of Problems
Introduction to verification
External Sorting Sorting is used in implementing many relational operations Problem: Relations are typically large, do not fit in main memory So cannot.
Program correctness Branching-time temporal logics
CSE 105 theory of computation
Cryptography Lecture 19.
CSE 105 theory of computation
Presentation transcript:

1st PKI Research Workshop, NIST, Gaithersburg A Note On SPKI’s Authorisation Syntax Olav Bandmann* Industrilogik L4i AB Mads Dam KTH/IMIT *Work done while at SICS, Swedish Institute of Computer Science. Supported by Microsoft Research, Cambridge

1st PKI Research Workshop, NIST, Gaithersburg SPKI SPKI: Approach based on binding names and authorisations to keys SPKI authorisation certificate (issuer, subject, propagate, tag, validity) Tags (= authorisation expressions) given in special S-expression (LISP-like) syntax

1st PKI Research Workshop, NIST, Gaithersburg Tuple Reduction Decisions resolved by tuple reduction –Cert vs cert –Request vs cert For tags, compute Z = AIntersect(X,Y), the most inclusive authorisation granted by both X and Y

1st PKI Research Workshop, NIST, Gaithersburg Contributions Problem: AIntersect is not suitable for space/time critical applications In this paper: Restricted syntax which –Conforms with SPKI ”practice” (we think) –Has n log n procedure Other contributions: –Authorisation preorder  –Sound and complete axiomatisation for Standard syntax Restricted syntax

1st PKI Research Workshop, NIST, Gaithersburg Objections But: –SPKI authorisation expressions (tags) are small –Requests do not involve the set construction It depends... –For hand-crafted certs and standard usage, maybe so –For e.g. macros, precomputation, richer delegation logics, maybe not More on this later

1st PKI Research Workshop, NIST, Gaithersburg Authorisation Trees Rivest S-expressions – example: x = (object person (conds (group ”admin”) (unit ”finance”)) (op income read)) Authorisation and request in same syntax: y = (object person (conds (group ”admin”)) (op income read)) z = (object person (conds (group ”admin”) (unit ”finance”)) (op income)) Both y and z would grant x –”Being authorised by” = lists are extended to right

1st PKI Research Workshop, NIST, Gaithersburg Authorisation Order Authorisation trees: t ::= a | (a t 1... t n ) where a is an atom, n ≥ 1 Authorisation order t 1  t 2, t 1 authorised by t 2 : –a ≤ t iff t ≤ a iff t=a –(x 1... x n ) ≤ (y 1... y m ) iff n ≥ m and x i ≤ y i (1 ≤ i ≤ m) Can show that: t 1 =AIntersection(t 1,t 2 ) iff t 1  t 2

1st PKI Research Workshop, NIST, Gaithersburg Star Forms * forms abbreviate sets of S-expressions: –(*) : The wildcard –(* set X 1... X n ): Union of X 1,...,X n –(* range ) –(* prefix ) Example: t = (object person (conds (group ”admin”) (* set (unit ”finance”) (type ”Managers”))) (op income (* set read write)))

1st PKI Research Workshop, NIST, Gaithersburg S-Expressions Set constants b, Val(b) nonempty set of atoms X ::= (*) | a | b | (a X 1... X n ) | (* set X 1... X m ) Semantics: || b || = Val(b) || (X 1... X n ) || = {(t 1... t k ) | k  n,  i:1  i  n t i  || X i ||} || (* set X 1... X m ) || = || X 1 || ...  || X m || Obs: || X || is lower closed: t 1  t 2  || X ||  t 1  || X ||

1st PKI Research Workshop, NIST, Gaithersburg S-Expression Preorder Def. X ≤ Y iff || X ||  || Y || ||. || not suitable for algorithm Computes all paths through a tree Set constants (range, prefix) may give infinite sets Task: Decide - without computing ||. ||: Given t and X is t  X? Given X and Y, is X  Y?

1st PKI Research Workshop, NIST, Gaithersburg Weak Preorder Let X ≤ w Y iff one of: X=b 1, Y=b 2 and Val(b 1 )  Val(b 2 ) 6.X = (X 1... X m ), Y = (Y 1... Y n ), m≥n, and X i ≤ w Y i, 1≤i≤m 7.X = (* set X 1... X m ), X i ≤ w Y for all 1≤i≤m 8.X = b, Y = (* set...) and... 9.X not b nor (* set...) form, Y = (* set Y 1... Y n ) and X ≤ w Y i for some i: 1≤i≤n

1st PKI Research Workshop, NIST, Gaithersburg Weak Preorder Let X ≤ w Y iff one of: X=b 1, Y=b 2 and Val(b 1 )  Val(b 2 ) 6.X = (X 1... X m ), Y = (Y 1... Y n ), m≥n, and X i ≤ w Y i, 1≤i≤m 7.X = (* set X 1... X m ), X i ≤ w Y for all 1≤i≤m 8.X = b, Y = (* set...) and... 9.X not b nor (* set...) form, Y = (* set Y 1... Y n ) and X ≤ w Y i for some i: 1≤i≤n

1st PKI Research Workshop, NIST, Gaithersburg Basic Properties Results:  w is a preorder  w is sound, i.e. X  w Y implies X  Y  w is incomplete Example: (a (* set b c))  (* set (a b) (a c)) but neither (a (* set b c))  (a b) nor (a (* set b c))  (a c)

1st PKI Research Workshop, NIST, Gaithersburg (9) Is Problem Case Replace 9.X not b nor (* set...) form, Y = (* set Y 1... Y n ) and X ≤ w Y i for some i: 1≤i≤n By ix.X not b nor (* set...) form, Y = (* set Y 1... Y n ) and || X ||  || Y || Theorem: Preorder with ix. in place of 9. is sound and complete w.r.t. 

1st PKI Research Workshop, NIST, Gaithersburg Restricted S-Expressions Non-atomic members of *-set expressions should have unique ”tag” r ::= (*) | a | b | (a r 1... r n ) | (* set r a1... r am ) r a ::= a’ | b | (a r 1... r n ) All a i must be distinct Idea: Push ”conflicts” to the leaves: (a (* set (b c) (b d) b)) -> (a (* set (b (* set c d)) b))

1st PKI Research Workshop, NIST, Gaithersburg Restricted S-Expressions, 2 Result: For the restricted syntax  w is sound and complete: r 1  r 2 iff r 1  w r 2 Result: Any S-expression can be rewritten into equivalent restricted S-expression By: Eliminating ”tag conflicts” and nested *-sets

1st PKI Research Workshop, NIST, Gaithersburg AIntersect Assume the Val(b) closed under intersections Exploit ”tags” when computing AIntersect (details in paper) Possible n log n algorithm: Sort *-set expressions according to tag, then use binary search Obtain: || AIntersect(r,r’) || = || r || iff r ≤ r’

1st PKI Research Workshop, NIST, Gaithersburg Summary Characterisation of SPKI authorisation relation as partial order ≤ Weak version ≤ w of ≤ –Sound, incomplete, x ≤ w y computable in time O(|x||y|) Restricted S-expression syntax –≤ w complete –Appears to reflect SPKI practice AIntersect is glb with respect to ≤ –Running time n log n

1st PKI Research Workshop, NIST, Gaithersburg The Objections 1.Certificates are small 2.Requests do not involve *-set expressions Does this hold water?

1st PKI Research Workshop, NIST, Gaithersburg The Objections, 2 1.What is SPKI practice? 2.SPKI cert-cert reductions can involve *-sets in both arg’s – are they sometimes time critical? 3.Cannot application program-generated certs become quite complex/large? –Ex: Request precomputation –Ex: Use *-set’s as macros, e.g. MidWestLocs = (* set... (loc Nebraska Lincoln) (loc Kansas Topeka Centre) (loc Kansas Topeka North)... )

1st PKI Research Workshop, NIST, Gaithersburg Related Work: Delegation AB A to delegate authority to B to administer A’s security policies

1st PKI Research Workshop, NIST, Gaithersburg Delegation, 2 Richer models of delegation Constrained delegation: Explicit issuance of new privileges Delegation tree constraints (a b* c) Stepwise refinement of constraints (requests) Forthcoming: SPKI + Kleene star Papers: Sadighi, Sergot, Bandmann - Security protocols 01 Bandmann, Dam, Sadighi - S&P 02