Composite Decentralized Access Control Petar Tsankov , Srdjan - - PowerPoint PPT Presentation
Composite Decentralized Access Control Petar Tsankov , Srdjan - - PowerPoint PPT Presentation
Composite Decentralized Access Control Petar Tsankov , Srdjan Marinovic, Mohammad Torabi Dashtj, David Basin Instjtute of Informatjon Security ETH Zurich Example: SweGrid Goal Provides computatjonal and storage resources to researchers
Example: SweGrid
Access Control Requirements
– A project leader delegates his authority
- ver resources to principals
– A project leader composes the principals'
policies (e.g., using permit-override)
Goal
Provides computatjonal and storage resources to researchers
Delegatjon
Multjple principals can issue access rights
Researchers access rights access rights delegatjons Project leader Dave Project Leader Bob Researchers
Delegatjon
Multjple principals can issue access rights
Researchers access rights access rights delegatjons
Decentralized Access Control
Project leader Dave Project Leader Bob Researchers
Compositjon
Policy decisions in large-scale systems
– Grant, Deny, Not-applicable, Confmict
Dave Project leader
+
Bob
Compositjon
- perators, e.g.:
- Permit-override
- Deny-override
- Confmict-override
+
Composite Access Control
Compositjon
Policy decisions in large-scale systems
– Grant, Deny, Not-applicable, Confmict
Dave Project leader
+
Bob
Compositjon
- perators, e.g.:
- Permit-override
- Deny-override
- Confmict-override
+
System Model
Subjects Resources
System Model
Requirements control access Subjects Resources Principals
System Model
PEP PDP Requirements control access Subjects Resources Principals Policies
Related Work
Systems and standards Formal foundatjons
Related Work
Systems and standards Formal foundatjons DKAL ('08)
RT ('01) SecPAL for Grid
Delegatjon
KeyNote PDP (RFC 2704)
...
Related Work
Systems and standards Formal foundatjons
XACML v2.0 D-Algebra ('09) PTaCL ('12) PBel ('08) DKAL ('08) RT ('01) SecPAL for Grid
Delegatjon Compositjon
KeyNote PDP (RFC 2704)
... ...
Related Work
Systems and standards Formal foundatjons
XACML v2.0 D-Algebra ('09) SweGrid PTaCL ('12) PBel ('08) DKAL ('08) RT ('01) XACML v3.0 ('13) SecPAL for Grid WSO2 ID Server
Delegatjon Compositjon Delegatjon + Compositjon
KeyNote PDP (RFC 2704)
... ...
Related Work
Systems and standards Formal foundatjons
XACML v2.0 D-Algebra ('09) SweGrid PTaCL ('12) PBel ('08) DKAL ('08) RT ('01) XACML v3.0 ('13) SecPAL for Grid WSO2 ID Server
BelLog
Delegatjon Compositjon Delegatjon + Compositjon
KeyNote PDP (RFC 2704)
... ...
How to Build Access Control Systems
Specify Policy Verify Policy Construct PDP
➔ Formal semantjcs ➔ Support for
delegatjon
➔ Support for
compositjon
➔ Analysis language ➔ Decision algorithms ➔ Effjcient evaluatjon
algorithm
How to Build Access Control Systems
Specify Policy Verify Policy Construct PDP
➔ Formal semantjcs ➔ Support for
delegatjon
➔ Support for
compositjon
➔ Analysis language ➔ Decision algorithms ➔ Effjcient evaluatjon
algorithm
Belnap Logic + Datalog = BelLog
(Program) (rule) (literal) (atom) Truth ordering Knowledge ordering
Belnap Logic (stratjfjed) Datalog
Belnap Logic + Datalog = BelLog
(Program) (rule) (literal) (atom) Truth ordering Knowledge ordering
Belnap Logic (stratjfjed) Datalog
Belnap Logic + Datalog = BelLog
(Program) (rule) (literal) (atom) Truth ordering Knowledge ordering
Belnap Logic (stratjfjed) Datalog
Belnap Logic + Datalog = BelLog
(Program) (rule) (literal) (atom) Truth ordering Knowledge ordering
Belnap Logic (stratjfjed) Datalog
BelLog
(Program) (rule) (literal) (atom) Negatjon on truth Negatjon on knowledge
Belnap Logic + Datalog = BelLog
(Program) (rule) (literal) (atom) Truth ordering Knowledge ordering
Belnap Logic (stratjfjed) Datalog
BelLog
(Program) (rule) (literal) (atom) Negatjon on truth Negatjon on knowledge
Semantjcs
Extend stratjfjed Datalog to four- valued fjxed-point semantjcs
BelLog Examples
BelLog Examples
Transitjve delegatjon
BelLog Examples
Transitjve delegatjon Policy targets
BelLog Examples
Transitjve delegatjon Policy targets Agreement
BelLog Examples
Transitjve delegatjon Confmict-override Policy targets Agreement
BelLog Examples
Transitjve delegatjon Confmict-override Policy targets Agreement
Other idioms?
➔ Formal semantjcs ➔ Support for
delegatjon
➔ Support for
compositjon
➔ Analysis language ➔ Decision algorithms ➔ Effjcient evaluatjon
algorithm
How to Build Access Control Systems
Specify Policy Verify Policy Construct PDP
Policy Analysis
Does the policy meet its requirements?
Requirements Policy
Policy Analysis
Does the policy meet its requirements?
Requirements Policy Questjons
Policy Analysis
Does the policy meet its requirements?
Requirements Policy Questjons Analyzer
Policy Analysis
Does the policy meet its requirements?
Requirements Policy Questjons Analyzer
Counter- example Policy checked
Fix
Policy Analysis
Does the policy meet its requirements?
Requirements Policy Questjons Analyzer
Counter- example Policy checked
Fix
How do we write this?
Policy Analysis
Does the policy meet its requirements?
Requirements Policy Questjons Analyzer
Counter- example Policy checked
Fix
How do we write this? Decidability? Complexity?
Analysis Questjons
Syntax
– Is policy P2 more permissive than P1 for all inputs
that satjsfy the conditjon c?
(conditjon) (questjon)
Analysis Questjons
All requests
Requests granted by P2 Requests granted by P1
Syntax
– Is policy P2 more permissive than P1 for all inputs
that satjsfy the conditjon c?
(conditjon) (questjon)
For a given input:
Analysis Questjons
All requests
Requests granted by P2 Requests granted by P1
Syntax
– Is policy P2 more permissive than P1 for all inputs
that satjsfy the conditjon c?
(conditjon) (questjon)
For a given input:
Analysis Questjons
All requests
Requests granted by P2 Requests granted by P1
Syntax
– Is policy P2 more permissive than P1 for all inputs
that satjsfy the conditjon c?
(conditjon) (questjon)
For a given input: Check for all inputs that satjsfy the conditjon
Example: Analysis Questjon
Requirement
If the requester is a project leader, then grant access.
Policy
Example: Analysis Questjon
Requirement
If the requester is a project leader, then grant access.
Analysis Questjon Policy
Analysis
Analysis
Theorem 1
Policy containment is undecidable
Analysis
Theorem 2
Policy containment for unary-input policies* is in CO-NEXP-COMPLETE
Theorem 1
Policy containment is undecidable
*Unary-input policies
– Example:
Analysis
Theorem 3
Policy containment for a fjnite universe is in CO-NP-COMPLETE
Theorem 2
Policy containment for unary-input policies* is in CO-NEXP-COMPLETE
Theorem 1
Policy containment is undecidable
*Unary-input policies
– Example:
➔ Formal semantjcs ➔ Support for
delegatjon
➔ Support for
compositjon
➔ Analysis language ➔ Decision algorithms ➔ Effjcient evaluatjon
algorithm
How to Build Access Control Systems
Specify Policy Verify Policy Construct PDP
Constructjng PDPs
Policy Interpreter htup://bellog.org GitHub htups://github.com/ptsankov/bellog/ Theorem 4
Policy entailment is in PTIME
Limitatjons
– Analysis of administratjve changes – Analysis complexity and tool support – Usability