Download presentation
Presentation is loading. Please wait.
Published byHarry Booth Modified over 9 years ago
2
Ninghui Li (Purdue University) 2 nd Int’l Summer School in Computation Logic June 16, 2004 Logic and Logic Programming in Distributed Access Control (Part One) Ninghui Li Department of Computer Science and CERIAS Purdue University
3
2 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Outline An brief introduction to access control An brief introduction to trust management Logic-based semantics for SDSI Distributed deduction for RT 0
4
3 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) What is Access Control? Quote from Security Engineering by Ross Anderson Its function is to control which principals (persons, processes, machines, …) have access to which resources in the system --- which files they can read, which programs they can execute, and how they share data with other principals, and so on.
5
4 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Access Control is Useful Access control is Pervasive memory management hardware, OS (Unix, Windows, etc.), middleware, databases, mobile code (Java, etc.), firewall Quote from Security Engineering Access control is the traditional center of gravity of computer security. It is where security engineering meets computer science.
6
5 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Basic Access Control Scenario Elements: objects (resources) requests for operations on objects sources for requests, called subjects or principals a reference monitor to decide on requests Basic steps authentication authorization audit
7
6 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Access Matrix: History Lampson 1971 “Protection” [Reprinted in ACM Operating Systems Review 1974] Refined by Graham and Denning 1972 “Protection---Principles and Practice” [AFIPS Spring Joint Computer Conference] Harrison, Ruzzo, and Ullman’1976 “Protection in Operating Systems” [CACM]
8
7 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Access Matrix A set of subjects S A set of objects O S O A set of rights R An access control matrix one row for each subject one column for each subject/object each cell contains the rights a subject has over an object
9
8 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) The Graham-Denning Model Each subject/object has an owner Each subject has a controller (which may be itself) A right may be transferable or nontransferable a right with a * is transferable
10
9 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Sample Commands in Graham- Denning Model subject x grants a right r/r* on object o to subject s precondition: `owner’ in A[x,o] stores r/r* in A[s,o] subject x transfers a right r/r* on object o to subject s precondition: r* in A[x,o] stores r/r* in A[s,o]
11
10 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) The HRU Model Based on Access Matrix, but allow an arbitrary set of commands Consider properties of an access control system when state changes A protection system has a finite set of generic rights a finite set of commands
12
11 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Commands A command has the form command a(X 1, X 2, …, X k ) if r 1 in (X s_1, X o_1 ) and … and r c in (X s_c, X o_c ) then op 1 … op n end
13
12 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Primitive Operations enter r into (X s, X o ) delete r from (X s, X o ) create subject X s create object X o delete subject X s delete object X o
14
13 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) A Protection System as a State Transition System The matrix is the state State changes by executing commands The (Simple) Safety Analysis Problem determine whether a specific subject could get certain access to a specific object in some state
15
14 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Simple Safety Analysis in the HRU Model is Undecidable Any Turing machine can be encoded using a protection system Surprising? Maybe not so much. the commands basically give full power of programming languages
16
15 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Outline An brief introduction to access control An brief introduction to trust management Logic-based semantics for SDSI Distributed deduction for RT 0
17
16 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) The Problem Trust Management Addresses: Distributed Authorization Flexible and scalable access control in large- scale, open, distributed, decetralized systems electronic commerce: transaction authorization application-level / business-policy authorization resource sharing in decentralized systems coalitions, multi-centric collaborative systems grid computing health care
18
17 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Characteristics of Distributed Authorization No central administration, each service makes its own decision No relationship between a service and a user prior to a request knowing a user’s name may not help must rely on information from third-party to make authorization decision (delegation) Authorization information is distributed Communication channels may be insecure
19
AliceEPub StateU ABU StateU is a university Alice is a student Grants access to university students Trusts universities to certify students Trusts ABU to certify universities
20
Alice Hospital A CBH Hospital A is a hospital Alice is a physician Grants access to physicians Trusts CBH to certify hospitals Trusts hospitals to certify physicians Medical Database
21
20 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) The Trust-Management (TM) Approach Multicentric access control using delegation access control decisions are based on distributed policy statements issued by multiple principals policy statements contain attributes of principals such as permissions, roles, qualifications, characteristics trust relationships
22
21 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Common characteristics of TM systems Use public-key certificates for non-local statements Treat public keys as principals to be authorized authentication consists of verifying signatures Adopt the peer model of authorization an entity can be an authorizer, a requester, or a credential provider (trusted 3rd party) Treat the authorization decision problem as an application-independent ``proof-of-compliance’’ problem
23
22 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Digital Signature Scheme Key space: a set of key pairs (K, K -1 ) K is the verification key and is publicly available K -1 is the signing key and is kept private A signing algorithm sig sig(K -1, M) outputs a digital signature on M A verification algorithm ver ver(K, M, ) outputs yes or no ver(K, M, sig(K -1, M)) = yes w/o knowing K -1, it is difficult to find x s.t. ver(K,M,x)=yes
24
23 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Using digital signatures A digital signature on a message provides: Authentication Data integrity Non-Repudiation A request may be digitally signed Knowing a request is signed by a particular key is not enough who owns that key?
25
24 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Public-Key Certificates A certificate is a data record together with a digital signature A certificate is issued by a public key K signed by K -1 A certificate binds some information to another public key Can be verified by anyone who knows the issuer’s public key can one trust the issuer’s public key
26
25 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Existing Kinds of Public Key Infrastructures (PKIs) X.509 certificates certificates are issued (signed) by certification authorities (CA’s). CA’s may be arranged in a hierarchy certificates form a chain Used by numerous applications: SSL, IPSec, etc. PGP everyone can issue certificates, which bind email addresses to public keys
27
26 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Early Trust Management Langugaes PolicyMaker Blaze, Feigenbaum & Lacy: “Decentralized Trust Management”, S&P’96. Blaze, Feigenbaum & Strauss: “Compliance-Checking in the PolicyMaker Trust Management System”, FC’98. KeyNote Blaze, Feigenbaum, Ioannidis & Keromytis: “The KeyNote Trust- Management System, Version 2”, RFC 2714. SPKI (Simple Public Key Infrastructure) / SDSI (Simple Distributed Security Framework) Rivest & Lampson: SDSI A Simple Distributed Security Infrastructure, Web-page 1996. Ellison et al.: SPKI Certificate Theory, RFC 2693. Clarke et al.: Certificate Chain Discovery in SPKI/SDSI, JCS’01.
28
27 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Datalog-based Trust Management Languages Delegation Logic Li, Grosof & Feigenbaum: “Delegation Logic: A Logic-based Approach to Distributed Authorization”, TISSEC’03. (Conference versions appeared in CSFW’99 and S&P’00) SD3 (Secure Dynamically Distributed Datalog) Jim: “SD3: A Trust Management System with Certified Evaluation”, S&P’01. Binder DeTreville: “Binder, a Logic-Based Security Language”, S&P’02. RT: A Family of Role-based Trust-management Languages
29
28 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Other Closely Related Logic-based Security Languages ABLP logic (Abadi, Burrows, Lampson, et al.) Lampson et al.: “Authentication in Distributed Systems: Theory and Practice”, TOCS’92. Abadi et al.: “A Calculus for Access Control in Distributed Systems”, TOPLAS’93. QCM (Query Certificate Managers) Gunter & Jim: “Policy-directed Certificate Retrieval”, SPE’00 AF logic Appel & Felton: “Proof-Carrying Authentication”, CCS’99
30
29 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Issues in Designing Trust Management Langugaes Say what you want Succinctly and directly With confidence that you said what you meant Enforcement Deduction, proof of compliance Policy development tools Manage policy lifecycle Safety analysis, availability
31
30 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Outline An brief introduction to access control An brief introduction to trust management Logic-based semantics for SDSI Distributed deduction for RT 0
32
31 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) History of SPKI/SDSI SDSI (Simple Distributed Security Infrastructure) SDSI 1.0 and 1.1 Rivest & Lampson SPKI (Simple Public Key Infrastructure) SPKI 1.0 (Ellison 1996) SPKI/SDSI 2.0 RFC 2693 [1999] [Clarke et al. JCS’01]
33
32 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) An Example in SDSI 2.0 SDSI Certificates (K C access K C mit faculty secretary) (K C mit K M ) (K M faculty K EECS faculty) (K EECS faculty K Rivest ) (K Rivest secretary K Rivest alice) (K Rivest alice K Alice ) From the above certificates, K C concludes that K Alice has access
34
33 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) 4-tuple Reduction in RFC 2693 Name strings can be reduced using 4-tuples (K 1 A 1 K 2 ) reduces “K 1 A 1 A 2 … A n ” to “K 2 A 2 … A n ” e.g., (K C mit K M ) reduces “K C mit faculty secretary” to “K M faculty secretary” (K 1 A 1 K 2 B 1 … B m ) reduces “K 1 A 1 A 2 … A n ” to “K 2 B 1 … B m A 2 … A n ” e.g., (K M faculty K EECS faculty) reduces “K M faculty secretary” to “K EECS faculty secretary”
35
34 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Applying 4-tuple Reduction in the Example From (K C access) to (K C mit faculty secretary) to (K M faculty secretary) to (K EECS faculty secretary) to (K Rivest secretary) to (K Rivest alice) to (K Alice )
36
35 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Work on Semantics for SPKI/SDSI Develop specialized modal logics Abadi: “On SDSI's Linked Local Name Spaces”, CSFW’97, JCS’98. Halpern & van der Meyden: “A logic for SDSI's linked local name spaces”, CSFW’99, JCS’01 “A Logical Reconstruction of SPKI”, CSFW’01, JCS’03 Howell & Kotz: “A Formal Semantics for SPKI”, ESORICS’00 Other approaches Li: “Local Names in SPKI/SDSI”, CSFW’00 Jha & Reps: “Analysis of SPKI/SDSI Certificates Using Model Checking”, CSFW’02 Li & Mitchell: “Understanding SPKI/SDSI Using First-Order Logic”, CSFW’03 (Contains the results presented here)
37
36 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) What is a Semantics? Elements of a semantics Syntax for statements Syntax for queries An entailment relation that determines whether a query Q is true given a set P of statements
38
37 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) What can we gain by a formal semantics? Why a semantics understand what queries can be answered defines the entailment relation in a way that is precise, easy to understand, and easy to compute How to say a semantics is good subjective metrics: simple, natural, close to original intention defines answers to a broad class of queries can use existing work to provide efficient deduction procedures for answering those queries
39
38 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Concepts in SDSI Concepts principals K, K 1 identifiersA, B, A 1 e.g., mit, faculty, alice local namesK A, K 1 A 1 e.g., K M faculty, K Rivest alice name stringsK A 1 A 2 … A n , 1 e.g., K C mit faculty secretary
40
39 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Statements in SDSI 4-tuple (K, A, , V) K is the issuer principal A is an identifier is a name string V is the validity specification We write (K A ) for a 4-tuple ignoring validity specification
41
40 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) A Rewriting Semantics for SDSI A set P of 4-tuples defines a set of rewriting rules, denoted by RS[P] Queries have the form “can 1 rewrite into 2 ?” Answer a query is not easy. cannot naively search for all ways of rewriting 1, as there may be recursions e.g., (K friend K friend friend) What can we do?
42
41 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Deduction Based on the Rewriting Semantics (1) Limit to queries like “can 1 rewrite into K?” In [Clarke et al.’01], the following closure mechanism is used rewrite 4-tuples e.g., use (K C mit K M ) to rewrite (K C access K C mit faculty secretary), one gets (K C access K M faculty secretary) only uses shortening 4-rules for rewriting compute the closure of all such rewriting then use the resulting shortening 4-tuples to rewrite 1 Search is not goal-directed
43
42 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Deduction Based on the Rewriting Semantics (2) Limit to queries like “can 1 rewrite into K?” In [Li’00], the following XSB logic program is given :- table(contains/2). contains([P0, N0 | T], P2) :- contains([P0, N0], P1), contains([P1 | T], P2). contains([P0, N0], P) :- credential([P0, N0], CN2), contains(CN2, P). contains([P], P, []) :- isPrincipal(P).
44
43 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Deduction Based on the Rewriting Semantics (3) [Li, Winsborough & Mitchell, JCS’03] develop a graph-based search algorithm for a language RT 0, a superset of SDSI combines bottom-up search and goal-directed top- down search with tabling specifically for the kind of rules in RT 0 can deal with distributed discovery we will talk about this later
45
44 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Deduction Based on the Rewriting Semantics (4) Use techniques for model checking pushdown systems[Jha & Reps CSFW’15] SDSI rewriting systems correspond to string rewriting systems modeled by pushdown systems algorithms for model checking pushdown systems can be used
46
45 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) SDSI and Pushdown Systems A1A1 Stack: State: K 1 B1B1 B2B2... Apply the rewriting rule: K 1 A 1 to K 2 A 2 A 3 A3A3 Stack: State: K 2 B1B1 B2B2... A2A2 A name string corresponds to a configuration “rewrites into” equivalent to “reaches”
47
46 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Recap of the Rewriting-based Semantics Defines answers to queries having the form “can 1 rewrite into 2 ?” Specialized algorithms (either developed for SDSI or for model checking pushdown systems) are needed Papers by Abadi and Halpern and van der Meyden try to come up with axiom systems for the rewriting semantics
48
47 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Set-based Semantic Intuitions Each name string is bound to a set of principals (K A ) means the local name “K A” is bound to a superset of the principal set that is bound to
49
48 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Defining Set-based Semantics (1) A valuation V maps each local name to a set of principals A valuation V can be extended to map each name string to a set of principals V (K) = { K } V (K A) = V (K A) V (K B 1 … B m ) = V (K j B 2 … B m ) j = 1..n where m>1 and V (K B 1 ) = { K 1, K 2, …, K n }
50
49 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Defining Set-based Semantics (2) A 4-tuple (K A ) is the following constraint V (K A) V ( ) The semantics of P is the least valuation V P that satisfies all the constraints Queries “can rewrite into K?” answered by checking “K V ( )”. Does not define answers to “can 1 rewrite into 2 ”. asking whether V ( 1 ) V ( 2 ) is incorrect
51
50 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) A Logic-Programming-based Semantics Derived from the Set-based Semantics Translate each 4-tuple into a LP clause Using a ternary predicate m m(K, A, K’) is true if K’ V (K A) (K A K’) to m(K, A, K’) (K A K 1 A 1 ) to m(K, A, ?x) :- m(K 1, A 1, ?x) (K A K 1 A 1 A 2 ) to m(K,A,?x) :- m(K 1,A 1,?y 1 ), m(?y 1,A 2,?x) (K A K 1 A 1 A 2 A 3 ) to m(K,A,?x) :- m(K 1,A 1,?y 1 ), m(?y 1,A 2,?y 2 ), m(?y 2,A s,?x) The minimal Herbrand model determines the semantics
52
51 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) An Alternative Way of Defining the LP- based Semantics (1) Define a macro contains contains[ ][ K’ ] means that K’ V ( ) contains [K][K’] (K= K’) contains [K A][K’] m(K, A, K’) contains [K A 1 A 2 … A n ][K’] y (m(K, A 1, y) contains [y A 2 … A n ][K’]) where n>1
53
52 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) An Alternative Way of Defining the LP- based Semantics (2) Translates a 4-tuple (K A ) into a FOL sentence z ( contains [K A][ z ] contains [ ][ z ]) This sentence is also a Datalog clause A set P of 4-tuples defines a Datalog program, denoted by SP[P] The minimal Herbrand model of SP[P] defines the semantics
54
53 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) An Example of Translation From (K C access K C mit faculty secretary) to z ( contains [K C access][ z ] contains [K C mit faculty secretary][ z ] ) to z ( m( K C, access, z ) y 1 (m(K C, mit, y 1 ) contains [y 1 faculty secretary][z] ) to z y 1 ( m( K C, access, z ) m(K C, mit, y 1 ) y 2 (m(y 1, faculty, y 2 ) contains [y 2 secretary] [z] ) to z y 1 y 2 ( m( K C, access, z ) m(K C, mit, y 1 ) m(y 1, faculty, y 2 ) m ( y 2, secretary, z]) )
55
54 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Set semantics is equivalent to LP semantics The least Herbrand model of SP[P] is equivalent to the least valuation, i.e., K’ V P (K A) iff. m(K,A,K’) is in the least Herbrand model of SP[P] Same limitation as set-based semantics does not define answers to containment between arbitrary name strings
56
55 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) A First-Order Logic Semantics A set P of 4-tuples defines a FOL theory, denoted by Th[P] A query is a FOL formula “ 1 rewrites into 2 ” is translated into z ( contains [ 1 ][ z ] contains [ 2 ][ z ]) Other FOL formulas can also be used as queries Logical implication determines semantics
57
56 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) FOL Semantics is Extension of LP Semantics LP semantics is FOL semantics with queries limited to LP queries m(K,A,K’) is in the least Herbrand model of SP[P] iff. Th[P] |= m(K,A,K’)
58
57 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Equivalence of Rewriting Semantics and FOL Semantics Theorem: for string rewriting queries, the string rewriting semantics is equivalent to the FOL semantics Given a set P of 4-tuples, it is possible to rewrite 1 into 2 using the 4-tuples in P if and only if Th[P] |= z ( contains [ 1 ][ z ] contains [ 2 ][ z ])
59
58 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Advantages of FOL semantics: Computation efficiency A large class of queries can be answered efficiently using logic programs including rewriting queries e.g., whether rewrites into K B 1 B 2 under P can be answered by determining whether SP[P (K’ A’ ) (K B 1 K’ 1 ) (K’ 1 B 2 K’ 2 )] |= m(K’,A’, K’ 2 ) where K’, K’ 1, and K’ 2 are new principals this proof procedure is sound and complete this result also follows from results in proof theory regarding Harrop Hereditary formulas
60
59 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Advantages of FOL semantics: Extensibility Additional kinds of queries can be formulated and answered, e.g., z (m(K 1, A 1, z ) m(K 1, A 2, z )) z (m(K 2, A 1, z ) m(K 2, A 2, z )) Additional forms of statements can be easily handled, e.g., (K A K 1 A 1 K 2 A 2 ) maps to z (m(K,A, z ) m(K 1,A 1, z ) m(K 2,A 2, z ))
61
60 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Advantages of FOL Semantics: Summary Simple captures the set-based intuition defined using standard FOL Extensible additional policy language features can be handled easily allow more meaningful queries Computation efficiency
62
61 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Outline An brief introduction to access control An brief introduction to trust management Logic-based semantics for SDSI Distributed deduction for RT 0
63
62 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) What is RT? RT is a family of Role-based Trust-management languages Publications on RT Li, Winsborough & Mitchell: “Distributed Credential Chain Discovery in Trust Management”, JCS’01, CCS’01 Li, Mitchell & Winsborough: “Design of a Role-Based Trust Management Framework”, S&P’02 Li & Mitchell: “Datalog with Constraints: A Foundation for Trust Management Languages”, PADL’03 Li & Mitchell: “RT: A Role-based Trust-management Framework”, DISCEX’03 Li, Winsborough & Mitchell: “Beyond Proof-of-compliance: Safety and Availability Analysis in Trust Management”, S&P’03
64
63 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) RT 0 : An Example 1. StateU.stuID Alice 2. ABU.accredited StateU 3. EPub.university ABU.accredited 4. EPub.student EPub.university.stuID 5. EPub.spdiscount EPub.student EOrg.preferred 6. EOrg.preferred ACM.member 7. ACM.member Alice Together, the seven credentials prove that Alice is entitled to EPub’s spdiscount
65
64 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) RT 0 : Concepts and Credentials Concepts: Entities (Principals): A, B, D Role names: r, r 1, r 2,... Roles: A.r, B.r 1,... e.g., StateU.stuID Credentials: A.r e Type-1:A.r D Type-2:A.r B.r 1 Type-3:A.r A.r 1.r 2 e.g., EPub.student EPub.university.stuID Type-4:A.r B 1.r 1 B 2.r 2 ... B k.r k
66
65 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) RT 0 and SDSI 2.0 SDSI 2.0 (The SDSI part of SPKI/SDSI 2.0) has arbitrarily long linked names, e.g., A.r 1.r 2.....r k, which can be broken up by introducing new role names RT 0 has intersection (type-4 credentials) is thus more expressive than SDSI 2.0 algorithms for RT 0 can be used for SDSI 2.0
67
66 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Goal-directed Chain Discovery Three kinds of queries and algorithms for answering them: 1. Given A.r, determines its members – The backward search algorithm 2. Given D, determines the set of roles that D is a member of – The forward search algorithm 3. Given A.r and D, determines whether D is a member of A.r – The Bi-direction search algorithm
68
67 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Credential Graph G C Nodes: A.r and e for each credential A.r e in C Credential edges: e A.r for each credential A.r e in C Summary edges: B.r 2 A.r 1.r 2 if there is a path from B to A.r 1 D A 1.r 1 … A k.r k if there are paths from D to each A j.r j Reachability in the credential graph is sound and complete wrt. the semantics of RT 0
69
68 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) An Example Credential Graph StateU.stuID EPub.university ABU.accredited StateU Alice ACM.member EOrg.preferred EPub.university.stuID EPub.student EPub.spdiscount EPub.student EOrg.preferred Credential Summary Key
70
69 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) The Forward Search Algorithm (Overview) Starts with one entity node Constructs a proof graph Each node in the graph stores its solutions: roles that this node can reach (is a member of ) Maintains a work list of nodes need to be processed Algorithm Outline: Keep processing nodes in the work list until it is empty
71
70 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Forward Search In Action 9: EPub.student 7: Epub.university.stuID 6: EPub.university 3: ABU.accredited2: StateU ABU.accredited 1: StateU.stuID 0: Alice StateU.stuID EPub.student ABU.accredited EPub.university 4: ABU.accredited.stuID EPub.student 1. StateU.stuID Alice 2. ABU.accredited StateU 3. EPub.university ABU.accredited 4. EPub.student EPub.university.stuID 5: ABU 8: EPub
72
71 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) The Backward and Bi-direction Search Algorithms (Overview) The backward algorithm differs from the forward algorithm in that: Each node stores outgoing edges, instead of incoming ones Each node stores entities that can reach it, instead of roles that it can reach The processing of a node is different traversing the other direction The bi-direction search algorithm combines backward search and forward search
73
72 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Backward Search In Action 2: EPub.student 4: EPub.university.stuID 6: EPub.university8: ABU.accredited9: StateU StateU 10: StateU.stuID 0: EPub.spdiscount 1: EPub.student EOrg.preferred 3: EOrg.preferred5: ACM.member7: Alice Alice
74
73 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Worst-Case Complexity Backward: time O(N 3 +NM), space O(NM) N is the number of rules M is the sum of the sizes of all rules, A.r f 1 f k having size k, other credentials have size 1 Forward: time O(N 2 M), space O(NM) However, this is goal oriented, making it much better in practice
75
74 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Why Develop These Algorithms? The queries can be answered using logic programs however, this requires collection of all credentials in the system The backward algorithm is a goal-directed top- down algorithm The forward algorithm is a goal-directed bottom- up algorithm Distributed discovery requires combination of both
76
75 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Distributed Storage of Credentials Example: 1. EOrg.preferred ACM.member 2. ACM.member Alice Who should store a credential? either issuer or subject It is not reasonable to require that all credentials are stored by issuers, or, all are stored by subjects.
77
Alice EPub StateU ABU 3. ABU.accredited StateU 1. COE.stuID Alice 4. EPub.university ABU.accredited 5. EPub.student EPub.university.stuID Who stores these statements? 2. StateU.stuID COE.stuID COE
78
77 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Traversability of Edges and Paths A credential edge is forward traversable, if stored by subject backward traversable, if stored by issuer confluent, if either forward traversable or backward traversable A path e1 e2 is forward traversable, if all edges on it are, or e1=e2 backward traversable, if all edges on it are, or e1=e2 confluent, if it can be broken into e1 e’ e’’ e2, With e1 e’ forward, e’ e’’ confluent, and e’’ e2 backward
79
78 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Traversability of Edges and Paths (con’d) StateU.stuID Alice EPub.university.stuID EPub.student EPub.university ABU.accredited StateU Backward (Issuer stored) Forward (Subject stored) Key Confluent An edge B.r 2 A.r 1.r 2 has the same traversability as B A.r 1
80
79 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Overview of Our Typing Approach Goal: Using constraints local to each credential to ensure that every path is confluent Approach: Give each role name a traceability type Requiring consistent storage strategy at role name level Introduce a notion of well-typed credentials
81
80 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Types of Role Names A role name has two types: Issuer side: issuer-traces-all issuer-traces-def issuer-traces-none Subject side: subject-traces-all subject-traces-none
82
Alice EPub StateU ABU 3. ABU.accredited StateU 1. COE.stuID Alice 4. EPub.university ABU.accredited 5. EPub.student EPub.university.stuID A Typing Scheme 2. StateU.stuID COE.stuID COE
83
82 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Well-typed Credentials A credential A.r e is well-typed if : Both A.r and e are well typed A role A.r has the same type as r A role expression is well-typed if it is not both issuer- none and subject-none If A.r is issuer-def or issuer-all, then A must store the credential If A.r is subject-all, then every subject of the credential must store it If A.r is issuer-all, then e must be issuer-all If A.r is subject-all, then e must be subject-all
84
83 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Agreement on Types and Meaning of Role Names An approach inspired by XML namespaces Use an Application Domain Specification Document (ADSD) to define a vocabulary Each role has a storage type Credentials have a preamble Which defines vocabulary identifier to correspond to an ADSD When using a role name, add a vocabulary identifier as prefix
85
84 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Main Result about Type System Given a set of well-typed credentials C, if D e D e is confluent if e is issuer-traces-all, D e is backward traversable if e is subject-traces-all, D e is forward traversable
86
85 2 nd Int’l Summer School in Computation Logic June 16, 2004 Ninghui Li (Purdue University) Benefits of the Storage Type System Guarantees that chains of well-typed credentials can be discovered Enables efficient chain discovery by telling the algorithm whether forward or backward search should be used for an intermediate query Communicates the application domain knowledge to the algorithm
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.