48
Composite Decentralized Access Control Petar Tsankov, Srdjan Marinovic, Mohammad Torabi Dash, David Basin Instute of Informaon Security ETH Zurich

Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Composite DecentralizedAccess Control

Petar Tsankov, Srdjan Marinovic, Mohammad Torabi Dashti, David Basin

Institute of Information SecurityETH Zurich

Page 2: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Example: SweGrid

Access Control Requirements– A project leader delegates his authority

over resources to principals– A project leader composes the principals'

policies (e.g., using permit-override)

GoalProvides computational and storage resources to researchers

Page 3: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Delegation

Multiple principals can issue access rights

Researchers

access rights access rights

delegations

Projectleader

Dave

ProjectLeader

Bob

Researchers

Page 4: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Delegation

Multiple principals can issue access rights

Researchers

access rights access rights

delegations

Decentralized Access Control

Projectleader

Dave

ProjectLeader

Bob

Researchers

Page 5: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Composition

Policy decisions in large-scale systems– Grant, Deny, Not-applicable, Conflict

Dave

Project leader

+Bob

Composition operators, e.g.:● Permit-override● Deny-override● Conflict-override

+

Page 6: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Composite Access Control

Composition

Policy decisions in large-scale systems– Grant, Deny, Not-applicable, Conflict

Dave

Project leader

+Bob

Composition operators, e.g.:● Permit-override● Deny-override● Conflict-override

+

Page 7: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

System Model

Subjects Resources

Page 8: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

System ModelRequirements

control access

Subjects Resources

Principals

Page 9: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

System Model

PEP

PDP

Requirements

control access

Subjects Resources

Principals

Policies

Page 10: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Related Work

Systems andstandards

Formalfoundations

Page 11: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Related Work

Systems andstandards

Formalfoundations DKAL ('08)

RT ('01)

SecPAL for Grid

Delegation

KeyNote PDP(RFC 2704)

...

Page 12: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Related Work

Systems andstandards

Formalfoundations

XACML v2.0

D-Algebra ('09)PTaCL ('12)

PBel ('08)DKAL ('08)RT ('01)

SecPAL for Grid

Delegation Composition

KeyNote PDP(RFC 2704)

......

Page 13: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Related Work

Systems andstandards

Formalfoundations

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

Delegation CompositionDelegation + Composition

KeyNote PDP(RFC 2704)

......

Page 14: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Related Work

Systems andstandards

Formalfoundations

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

Delegation CompositionDelegation + Composition

KeyNote PDP(RFC 2704)

......

Page 15: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

How to Build Access Control Systems

SpecifyPolicy

VerifyPolicy

ConstructPDP

➔ Formal semantics

➔ Support fordelegation

➔ Support forcomposition

➔ Analysis language

➔ Decision algorithms

➔ Efficient evaluation algorithm

Page 16: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

How to Build Access Control Systems

SpecifyPolicy

VerifyPolicy

ConstructPDP

➔ Formal semantics

➔ Support fordelegation

➔ Support forcomposition

➔ Analysis language

➔ Decision algorithms

➔ Efficient evaluation algorithm

Page 17: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Belnap Logic + Datalog = BelLog

(Program)(rule)

(literal)(atom)Tr

uth

orde

ring

Knowledge ordering

Belnap Logic (stratified) Datalog

Page 18: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Belnap Logic + Datalog = BelLog

(Program)(rule)

(literal)(atom)Tr

uth

orde

ring

Knowledge ordering

Belnap Logic (stratified) Datalog

Page 19: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Belnap Logic + Datalog = BelLog

(Program)(rule)

(literal)(atom)Tr

uth

orde

ring

Knowledge ordering

Belnap Logic (stratified) Datalog

Page 20: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Belnap Logic + Datalog = BelLog

(Program)(rule)

(literal)(atom)Tr

uth

orde

ring

Knowledge ordering

Belnap Logic (stratified) Datalog

BelLog

(Program)(rule)(literal)(atom)

Negation on truthNegation on knowledge

Page 21: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Belnap Logic + Datalog = BelLog

(Program)(rule)

(literal)(atom)Tr

uth

orde

ring

Knowledge ordering

Belnap Logic (stratified) Datalog

BelLog

(Program)(rule)(literal)(atom)

Negation on truthNegation on knowledge

SemanticsExtend stratified Datalog to four-valued fixed-point semantics

Page 22: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

BelLog Examples

Page 23: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

BelLog Examples

Transitive delegation

Page 24: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

BelLog Examples

Transitive delegation

Policy targets

Page 25: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

BelLog Examples

Transitive delegation

Policy targets

Agreement

Page 26: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

BelLog Examples

Transitive delegation

Conflict-override

Policy targets

Agreement

Page 27: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

BelLog Examples

Transitive delegation

Conflict-override

Policy targets

Agreement

Other idioms?

Page 28: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

➔ Formal semantics

➔ Support fordelegation

➔ Support forcomposition

➔ Analysis language

➔ Decision algorithms

➔ Efficient evaluation algorithm

How to Build Access Control Systems

SpecifyPolicy

VerifyPolicy

ConstructPDP

Page 29: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Policy Analysis

Does the policy meet its requirements?

RequirementsPolicy

Page 30: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Policy Analysis

Does the policy meet its requirements?

RequirementsPolicy

Questions

Page 31: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Policy Analysis

Does the policy meet its requirements?

RequirementsPolicy

Questions

Analyzer

Page 32: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Policy Analysis

Does the policy meet its requirements?

RequirementsPolicy

Questions

Analyzer

Counter-example

Policychecked

Fix

Page 33: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Policy Analysis

Does the policy meet its requirements?

RequirementsPolicy

Questions

Analyzer

Counter-example

Policychecked

Fix

How do we write this?

Page 34: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Policy Analysis

Does the policy meet its requirements?

RequirementsPolicy

Questions

Analyzer

Counter-example

Policychecked

Fix

How do we write this?

Decidability?Complexity?

Page 35: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Analysis Questions

Syntax

– Is policy P2 more permissive than P1 for all inputs that satisfy the condition c?

(condition)

(question)

Page 36: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Analysis Questions

All requests Requests granted by P2

Requestsgranted by P1

Syntax

– Is policy P2 more permissive than P1 for all inputs that satisfy the condition c?

(condition)

(question)

For a given input:

Page 37: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Analysis Questions

All requests Requests granted by P2

Requestsgranted by P1

Syntax

– Is policy P2 more permissive than P1 for all inputs that satisfy the condition c?

(condition)

(question)

For a given input:

Page 38: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Analysis Questions

All requests Requests granted by P2

Requestsgranted by P1

Syntax

– Is policy P2 more permissive than P1 for all inputs that satisfy the condition c?

(condition)

(question)

For a given input: Check for all inputs that satisfy the condition

Page 39: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Example: Analysis Question

RequirementIf the requester is a project leader, then grant access.

Policy

Page 40: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Example: Analysis Question

RequirementIf the requester is a project leader, then grant access.

Analysis Question

Policy

Page 41: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Analysis

Page 42: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Analysis

Theorem 1Policy containment is undecidable

Page 43: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Analysis

Theorem 2 Policy containment for unary-input policies* is in CO-NEXP-COMPLETE

Theorem 1Policy containment is undecidable

*Unary-input policies– Example:

Page 44: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Analysis

Theorem 3Policy containment for a finite universe is in CO-NP-COMPLETE

Theorem 2 Policy containment for unary-input policies* is in CO-NEXP-COMPLETE

Theorem 1Policy containment is undecidable

*Unary-input policies– Example:

Page 45: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

➔ Formal semantics

➔ Support fordelegation

➔ Support forcomposition

➔ Analysis language

➔ Decision algorithms

➔ Efficient evaluation algorithm

How to Build Access Control Systems

SpecifyPolicy

VerifyPolicy

ConstructPDP

Page 46: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Constructing PDPs

Policy Interpreterhttp://bellog.org

GitHubhttps://github.com/ptsankov/bellog/

Theorem 4 Policy entailment is in PTIME

Page 47: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

Limitations

– Analysis of administrative changes– Analysis complexity and tool support– Usability

Page 48: Composite Decentralized Access Control · 2018-09-05 · Example: SweGrid Access Control Requirements – A project leader delegates his authority over resources to principals –

BelLog Contributions

A foundation for composite decentralized

access controlPolicy analysis

framework

BelLog PDP (www.bellog.org)