Other Access Control Models

Slides:



Advertisements
Similar presentations
8.3 Representing Relations Connection Matrices Let R be a relation from A = {a 1, a 2,..., a m } to B = {b 1, b 2,..., b n }. Definition: A n m  n connection.
Advertisements

Walks, Paths and Circuits Walks, Paths and Circuits Sanjay Jain, Lecturer, School of Computing.
Bayesian Networks, Winter Yoav Haimovitch & Ariel Raviv 1.
1 Discrete Structures & Algorithms Graphs and Trees: III EECE 320.
CompSci 102 Discrete Math for Computer Science April 19, 2012 Prof. Rodger Lecture adapted from Bruce Maggs/Lecture developed at Carnegie Mellon, primarily.
1 Lecture 5 (part 2) Graphs II Euler and Hamiltonian Path / Circuit Reading: Epp Chp 11.2, 11.3.
1 Chapter 22: Elementary Graph Algorithms IV. 2 About this lecture Review of Strongly Connected Components (SCC) in a directed graph Finding all SCC (i.e.,
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
Representing Relations Using Matrices
What is the next line of the proof? a). Let G be a graph with k vertices. b). Assume the theorem holds for all graphs with k+1 vertices. c). Let G be a.
Validating Streaming XML Documents Luc Segoufin & Victor Vianu Presented by Harel Paz.
TCOM 501: Networking Theory & Fundamentals
Is the following graph Hamiltonian- connected from vertex v? a). Yes b). No c). I have absolutely no idea v.
Variable-Length Codes: Huffman Codes
Minimum Spanning Trees
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Relations Chapter 9.
Applied Discrete Mathematics Week 10: Equivalence Relations
A Complexity Measure THOMAS J. McCABE Presented by Sarochapol Rattanasopinswat.
CS526: Information Security Prof. Cristina Nita-Rotaru September 9, 2003 Protection Models.
IS-2150/TEL-2810: Introduction of Computer Security1 September 7, 2005 Introduction to Computer Security Access Control Matrix Take-grant model.
Zvi Kohavi and Niraj K. Jha 1 Memory, Definiteness, and Information Losslessness of Finite Automata.
Properties of Relations In many applications to computer science and applied mathematics, we deal with relations on a set A rather than relations from.
Chapter 9. Chapter Summary Relations and Their Properties n-ary Relations and Their Applications (not currently included in overheads) Representing Relations.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Chapter 9. Section 9.1 Binary Relations Definition: A binary relation R from a set A to a set B is a subset R ⊆ A × B. Example: Let A = { 0, 1,2 } and.
1 IS 2150 / TEL 2810 Introduction to Security James Joshi Associate Professor, SIS Lecture 6 September 27, 2011 Take Grant Model.
8.3 Representing Relations Directed Graphs –Vertex –Arc (directed edge) –Initial vertex –Terminal vertex.
Discrete Mathematics and Its Applications Sixth Edition By Kenneth Rosen Chapter 8 Relations 歐亞書局.
Introduction to Computer Security Review
Flows in Planar Graphs Hadi Mahzarnia. Outline O Introduction O Planar single commodity flow O Multicommodity flows for C 1 O Feasibility O Algorithm.
Chapter 10 Graph Theory Eulerian Cycle and the property of graph theory 10.3 The important property of graph theory and its representation 10.4.
Relation. Combining Relations Because relations from A to B are subsets of A x B, two relations from A to B can be combined in any way two sets can be.
Problem Statement How do we represent relationship between two related elements ?
Chapter 9. Chapter Summary Relations and Their Properties n-ary Relations and Their Applications (not currently included in overheads) Representing Relations.
Representing Relations Using Matrices A relation between finite sets can be represented using a zero-one matrix Suppose R is a relation from A = {a 1,
Graphs Lecture 2. Graphs (1) An undirected graph is a triple (V, E, Y), where V and E are finite sets and Y:E g{X V :| X |=2}. A directed graph or digraph.
2/1/20161 Computer Security Foundational Results.
8.4 Closures of Relations Definition: The closure of a relation R with respect to property P is the relation obtained by adding the minimum number of.
Copyright © Cengage Learning. All rights reserved. CHAPTER 8 RELATIONS.
Great Theoretical Ideas in Computer Science for Some.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Fast.
Chromatic Coloring with a Maximum Color Class Bor-Liang Chen Kuo-Ching Huang Chih-Hung Yen* 30 July, 2009.
COMPSCI 102 Introduction to Discrete Mathematics.
12. Lecture WS 2012/13Bioinformatics III1 V12 Menger’s theorem Borrowing terminology from operations research consider certain primal-dual pairs of optimization.
1 Closures of Relations Based on Aaron Bloomfield Modified by Longin Jan Latecki Rosen, Section 8.4.
April 8, 2004ECS 235Slide #1 Overview Safety Question HRU Model Take-Grant Protection Model SPM, ESPM –Multiparent joint creation Expressive power Typed.
INFSCI 2935: Introduction of Computer Security1 September 13, 2005 Introduction to Computer Security Lecture 3 Take Grant Model (Cont) HRU Schematic Protection.
July 1, 2004Computer Security: Art and Science © Matt Bishop Slide #3-1 Chapter 3: Foundational Results Overview Harrison-Ruzzo-Ullman result.
Approximation Algorithms Greedy Strategies. I hear, I forget. I learn, I remember. I do, I understand! 2 Max and Min  min f is equivalent to max –f.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
1 Lecture 5 (part 2) Graphs II (a) Circuits; (b) Representation Reading: Epp Chp 11.2, 11.3
Relations and Graphs Relations and Graphs Sanjay Jain, Lecturer, School of Computing.
Capabilities, Minimization, and Transformation of Sequential Machines
Representing Relations Using Digraphs
Relations Chapter 9.
Introduction to Computer Security Lecture 2
September 16, 2004 Introduction to Computer Security Lecture 3
Chapter 5. Optimal Matchings
V17 Metabolic networks - Graph connectivity
CS 583 Analysis of Algorithms
V11 Metabolic networks - Graph connectivity
Overview Safety Question HRU Model Take-Grant Protection Model
Computer Security Foundations
V12 Menger’s theorem Borrowing terminology from operations research
V11 Metabolic networks - Graph connectivity
Discrete Mathematics for Computer Science
V11 Metabolic networks - Graph connectivity
Locality In Distributed Graph Algorithms
Presentation transcript:

Other Access Control Models

The Take-Grant Protection Model Can the safety be guaranteed with a specific system? Yes with a specific collection of commands Called the take-grant protection model A graph model where Subjects represented by Objects represented by Either represented by Labeled edges represent the rights of a source vertex over the destination vertex taken from a set R with two special rights: t for Take (t) g for Grant (g) Use graph-rewrite rules to derive permissions from R l  2

├ ├ De jure rules - i l  l   l l i. X creates (a to new vertex) Y   l new Y X X ii. X removes a from Y b– a b ├   l l If (b-a) is then empty, the edge is removed 3

De jure rules - ii ├ ├  l  l       l l iii. X takes (a to Z) from Y   l  l ├ t  g X b t  g b Z  a  b  Y iv. Z grants (a to Y) to X      g  g ├ b Y g b X l a  b l Z

Protection State ├*  l  l l l x creates (t, g to new) v Protection state = graph State transition = rewriting the graph Example: x y  l  l  a ├* t    t t,g g l l ¡ z v x creates (t, g to new) v z takes (g to v) from x z grants (a to y) to v x takes (a to y) from v V is removed

Sharing of Rights Definition: the predicate Can-share(a,x,y,G0) is true for a set of rights a and two vertices x, y, iff there is a sequence of graphs G1,…,Gn so that G0├* Gn using one of the four de jure rules, and there is an a-labeled edge from x to y. Definition: a tg-path is a sequence v0,…,vn of distinct vertices where every vi is connected to vi+1 in either direction with a t or g label. Definition: Vertices are tg-connected if there is a tg-path between them a  l Y X Gn can-share(a,x,y,G0)

Lemma: sharing Statement: Any two subjects with a length 1 t-g path can share some rights. Proof: Take and Grant rules cover two cases. Following lemmas cover the other two. Lemma 3-1: X X  Y   l l Y ├* t  t  l l Z Z

Proof of Claim 3-1 ├ ├   l l l l l l Step 1: X creates (tg to new vertex) V X   l l ├ t  X t  Y ¡ tg Y l l Z Z v Step 2: Z takes (g to v) from X X ├ l t  ¡ tg Y l v g Z

Proof of Claim 3-1 ├ ├ l  l  l l Step 3: Z grants ( to y) to V X Z ¡ tg Y l g  v Step 4: X takes ( to v) from V X   ├ l Z  t ¡ tg Y l g  v

Lemma 3-2 ├*   l l l l Y X Z Observation   l l ├* X g  g  l l Z Observation Take and grant rules are symmetric if the vertices On the TG path between X and Y are subjects

More definitions and properties -1 Definition: an island is a maximal tg-connected subject-only sub-graph Lemma: right processed by any vertex in an island can be shared with any other vertex Transferring rights between islands: a subject in one island must be able to take it from a subject in another island Notation: {t̅>, <t̅, g̅>,<̅g} are four basic symbols used to construct a path. A path is constructed using basic symbols * and concatenation as a word <̅g t̅> l g ̅> t̅> t̅< l l l l l

More definitions and properties-2 Definition: a bridge is a tg-path between two subject endpoints associated with the path’s word. Observation: rights can be transferred from one end point to another in a bridge Theorem: subject-can-share(a,x,y,G0) is true iff x and y are subjects with an edge from x to y There is a subject seG0 with s-to-y edge labeled a. There are island I1,…,In such that xe I1 se In and with a bridge Ij,…,Ij+1. Observation: because objects cannot act, a right will begin or end with an object

More Definitions and Properties - 3 Observation: only subjects can act– so transfer begins with an right possessed by an object and ends with that right given to another object! Definition: A vertex x initially spans to y if x is a subject and there is a tg-path from x to y with a word in {t>*g>}U{v} Means X grants a right it possesses to Y t t t t V l l l l l l W X g l Y

More Definitions and Properties - 4 Definition: A vertex x terminally spans to y if x is a subject and there is a tg-path between x and y with a word in {t>*}U{a} Means X may take any right that Y possesses t t t t Y l l l l l X a l X ends up having a on W W

More Definitions and Properties - 5 Theorem: can-share(a,x,y,G0) is true iff there is an edge from x to y in Go labeled a or if the following hold simultaneously: There is a vertex seG0 with s-to-y edge labeled a There is a subject vertex x’ so that x=x’ or x’ initially spans to x There is a subject vertex s’ so that s’=s or s’ terminally spans to s There are islands I1,…In such that x’ eI1, s’ eIn and there is a bridge from Ij to Ij+1. See next slide..

Explanation Either there is an a edge from X to Y or l S has a label from Y 2. S’ can take a from S X’ and S’ are connected through a sequence of islands X’ can grant a to X Y l S Y a X X’ S’

Safety in the take-grant model Theorem: there is an algorithm of complexity O(|V|+|E|) to test the validity of can-share(a,x,y,G0) By choosing the correct kind of rules we can answer questions like Can my computer access my files? 17

The One-Subject Case Theorem: Let G0 be a graph with one subject and no edges, and R a set of rights. G0├*G iff G is a finite directed acyclic graph containing subjects and objects only with edges labeled with non-empty subsets of R At least one subject with no incoming edges Proof: () Suppose G satisfy 1 and 2. Let subjects(G)={x1, ..xn}, and X1 with no incoming edge. Construct G’ as follows:

Proof l l l l l l l 1. a ⋃{g} 3. Remove a ⋃{g})- b Xi V V 2. a Xj If b Let V=X1 For 2<i<n Perform V creates (a⋃{g} to) new Xi where a is the union of all labels to Xi in G For all pairs Xi, Xj in G where Xi has a rights over Xj, perform V grants (a to Xj) to Xi. Perform V removes ((a ⋃{g})- b to) Xj where b ={r: r labels XiXj in G} The resulting graph is G’ 1. a ⋃{g} 3. Remove a ⋃{g})- b l Xi l l V V 2. a Xj l If b l l If a l Xi Xj Xi

Proof Continued Let V be the initial subject and G0├*G. Then by inspection of the rules G is finite Loop-free Directed Consists of subjects and objects only All edges have non-empty labels Furthermore, No rules to delete V, V e G No rules allow incoming edges to V

Theft in the T-G Model To share, the owner has to cooperate Notion of sharing fails to capture an owner’s unwillingness to share Stealing happens when The owner does not grant some rights over an object to other subjects, but some subjects can get the right indirectly!

Stealing in the T-G Model Definition: X, YeG and a eR. can-steal(a,X,Y,G0) is true when ∄ an a labeled edge from X to Y in G0,  sequence of graphs G1, …, Gn so that a. There is an a labeled edge from X to Y in Gn b. There is a sequence of rules r1, ,,,, rn where applying ri results in Gi-1├Gi c. For all V,WeGi-1, if there is an a edge from V to Y, then ri is not of the form V grants (a to Y) to W Thus: It stops owners from transferring a rights to others (but could transfer other rights)

An Example of Stealing l l l Can-steal(a,S,W,G0) U grants (t to V) to S Owner of a to W grants (t to V) to S S takes (t to U) from V S takes (a to W) from U The owner U of stolen rights a grants other rights to another subject (t rights to V are granted to S) This is the reason for MAC V t l g t S l l W U a

Characterizing can-steal Theorem: can-steal(a,X,Y,G0) is true iff ∄ an a labeled edge from X to Y in G0,  subject vertex X’= X or X’ initially spanning to X  vertex SeG with an a label Y in G0 that satisfy can-share(t,X’,S,G0) Observation: to steal, there must be a tg-path through which the thief can share! l thief X S  a can-share X’ initially spans

Proof l X:object X’:subject X”:subject S: subject 3. g to X If X is a subject: then need to obtain t rights to S and use the take rule to obtain a, satisfying can-steal(a,X,Y,G) If X is an object: by the theorem on can-share,  subject vertex X’, that initially tg-spans to X with can-share(t,x’,s,G0) true. Assume tg-span length= 1, and X’ has t rights over S in G0. If X’ does not have an a edge label tp Y, X’ takes a rights to Y and grants them to X, satisfying the definition. If not, then X’ will create a surrogate X” and provides t rights over S to it. a. X’ creates (g to new subject) X’’ b. X’ grants (t to S) to X’’ c. X’ grants (g to X) to X’’ Now X’’ has t rights over S and g rights over X. So apply 1. X’’ takes (a to Y) from S 2. X’’ grants (a to Y) to X. l X:object X’:subject X”:subject 1. g S: subject 2. s to S 3. g to X

Proof Assume can-steal(a,x,y,G0). Then condition 1 holds from the definition of can-steal  condition 2 of the can-share theorem imply condition 2 of this theorem  condition 3 of the can-share theorem imply that S satisfy condition 3 of this theorem Need to prove can-share(t,x,s,Go) Consider r minimal-length sequence of rule applications transforming G0 to Gn where Gi-1├ri Gi so that ∃ an edge labeled a from some vertex P to Y in Gi but not Gi-1. Then Gi is the first graph where an edge a is added to Y

Proof continued -- 2     l l So ri is neither a remove or create rule. By condition 3 of can-steal, all vertices with a rights to Y in Gi are in G0. ri is not a grant rule. Hence it is of the form: a a t t a   ├   l l p p y S Y S Hence can-share(t,p,s,G0) holds. By condition (c) of the can-share theorem, ∃ a subject S’ either S’ terminally spans to S or S’=S By condition (d) of the can-share theorem, ∃islands I1,…In satisfying x’∈I1 and S’ ∈In.

Proof continued -- 3 If S is an object (hence S≠S’): two cases S’ and P in the same island: Take P as S’ If not: Derivation not of minimal length (why?) Choose S’ in same island for shorter proof Conditions of can-share theorem met.  can-share(t,x,s,G0)

Proof continued -- 4 If S is an subject (i.e. S=S’): then p∈In, must show p∈G0 for the can-share theorem to hold If p∉G0: ∃subject Q in some island with can-share(t,Q,S,G0) Because S is the owner of a rights over Y in G0 must derive witness for this sharing where S does not grant (a to Q) If S≠Q: replace “S grants (a to Y) to Q” with P takes (a to Y) from S P takes (g to Y) from S P grants (a to Y) to Q So ∃witness to can-share(t,Q,S,G0) without S granting (a to Y)

Conspiracy in the TG-Model Many actors required to steal in the TG-model Any subject Y can take rights from any X that Y terminally spans give rights to any X that Y initially spans Definition: “access set with focus Y”, A(Y) = {all nodes X that Y terminally spans} U {all nodes X that Y initially spans} Entities from whom one can get and entities to whom one can give, is one’s access set with focus! Initially spans Terminally spans Y’  l l X Y a Transfers Rights 

The Deletion Set Definition: “deletion set” d(Y,Y’) = all z satisfying z∈A(Y)∩A(Y’) Y initially spans to Z, Y’ terminally spans to Z Y terminally spans to Z, Y’ initially spans to Z Z = Y Z = y’ Represents nodes that can transfer permissions Initially spans Terminally spans Y  l l Y’ Z a Transfers Rights 

An Example Deletion Set g g t g l l l l a r x b c d q l t g g g t z e l l l y f h i j A(x) ={x,a,}, A(e)={e,d,i,j}, A(b)={b,a,}, A(y)={y} A(c) ={c,b,d}, A(f)={f,y}, A(d)={d}, A(h)={h,f,i} Z is not on A(e) because the path e-z does not terminally, or initial span e. d(x,b) = {a}, d(c,d) = {d}, d(y,f) = {y}, d(b,c) = {b}, d(d,e) = {d}, d(c,e) = {d}

Creating conspiracy Graphs Procedure: “conspiracy graph” H of G0 created to satisfy the following conditions For each subject s∈G0, ∃h(x) ∈ H with the same label If d(Y,Y’)≠Ǿ in G0, ∃ line between h(Y) & h(Y’) in H Conspiracy graphs represents paths of transfer Unidirectional because rights can be transferred in either direction

An Example Conspiracy Graph t g g t g l l l l a r x b c d q l t g g g t z e l l l y f h i j A(x)={x,a,}, A(e)={e,d,I,j}, A(b)={b,a,}, A(y)={y} A(c)={c,b,d}, A(f)={f,y}, A(d)={d}, A(h)={h,f,i} Z is not on A(e) because path e-z is not terminal, initial spans d(x,b)={a}, d(c,d)={d}, d(y,f)={y}, d(b,c)={b}, d(d,e)={d}, d(c,e)={d} h(d) l l l l h(x) h(b) h(c) h(e) l l l l h(h) h(y) h(f)

Two Theorems on Conspirators Theorem 1: can-share(a,X,Y,G0) iff there is a path from h(p)∈I(X) to some h(q)∈T(Y) where I(X) = {h(X)} U {X’: h(X’) initially spans to X} T(X) = {h(X)} U {X’: h(X’) terminally spans to X} Theorem 2: L= number of vertices on the shortest path between h(p) and h(q). Then L conspirators are necessary to produce a witness to can-share(a,X,Y,G0)

Back to the Example l l l l l l l l h(d) h(x) h(b) h(c) h(e) h(h) h(y) h(f) The shortest path between h(e) and h(x) has 4 vertices <h(x),h(b),h(c) and h(e)> 4 conspirators are necessary and sufficient to witness can-share(r,x,y,Go) How does it work? e grants (r to Y) to d c takes (r to Y) from d c grants (r to Y) to b b grants (r to Y) to a X takes (r to Y) from a