Rewrite-Based Access Control Policies in Distributed Environments - - PowerPoint PPT Presentation

rewrite based access control policies in distributed
SMART_READER_LITE
LIVE PREVIEW

Rewrite-Based Access Control Policies in Distributed Environments - - PowerPoint PPT Presentation

Rewrite-Based Access Control Policies in Distributed Environments Maribel Fern andez Kings College London Joint work with Clara Bertolissi (LIF, Univ. Marseilles) 12th CREST Open Workshop - Security and Code April 2011 M. Fern andez


slide-1
SLIDE 1

Rewrite-Based Access Control Policies in Distributed Environments

Maribel Fern´ andez

King’s College London

Joint work with Clara Bertolissi (LIF, Univ. Marseilles) 12th CREST Open Workshop - Security and Code April 2011

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-2
SLIDE 2

Motivations - Access Control

Access control is of fundamental importance in computer security. Formal specifications of access control models and policies make it possible to

  • compare policies rigorously,
  • understand the consequences of changes
  • prove properties of policies.
  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-3
SLIDE 3

Motivations - Authorisation models

Over the last few years, a wide range of access control models have been developed.

  • Access Control Lists
  • Discretionary Access Control
  • Mandatory Access Control
  • Role-based Access control
  • Task-based Access Control
  • Event-based Access Control
  • . . .
  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-4
SLIDE 4

Motivations - Authorisation models

Over the last few years, a wide range of access control models have been developed.

  • Access Control Lists
  • Discretionary Access Control
  • Mandatory Access Control
  • Role-based Access control
  • Task-based Access Control
  • Event-based Access Control
  • . . .
  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-5
SLIDE 5

MetaModel

Barker [Sacmat09] proposes a general meta-model for access control based on the primitive notion of a category. Advantages:

  • a core set of principles of access control, can be

specialised for domain-specific applications

  • abstracts away many of the complexities of specific access

control models

  • helps to understand and write policies
  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-6
SLIDE 6

Rewriting

We propose an operational semantics for the access control metamodel, using term rewriting. Advantages:

  • Expressivity: rewriting systems have been used to specify

computational paradigms and access control models (e.g. ACL, RBAC, dynamic models s.a. DEBAC and ASAC)

  • Well-developed theory: rewriting techniques used to prove

properties of policies

  • Tools such as ELAN, MAUDE, CiME, TOM, etc. for

rapid prototyping of access control policies.

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-7
SLIDE 7

Contributions

  • rewrite-based specification of the category-based access

control metamodel — operational semantics

  • technique to prove totality and consistency of access

control policies

  • encoding of well-known access control models: RBAC,

MAC, DAC and DEBAC (expressive power)

  • A distributed version of the metamodel:
  • centralised or distributed access request evaluation
  • distributed federations where each site may run a

different access control policy (possibly with a different access control model)

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-8
SLIDE 8

This talk

  • The category-based meta-model M
  • Introduction to term rewriting
  • Rewrite-based specification of M:
  • definition
  • request evaluation
  • properties
  • expressive power
  • Distributed metamodel
  • Conclusions and future work
  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-9
SLIDE 9

The metamodel M

Based on the notion of category: a class, group, or domain, to which entities or concepts belong Particular cases: role, security clearance, discrete measure of trust and other standard groupings used in access control

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-10
SLIDE 10

The metamodel M

Entities in M are denoted by constants:

  • countable set C of categories: c0, c1, . . .
  • countable set P of principals: p1, p2, . . .
  • countable set A of actions: a1, a2, . . .
  • countable set R of resources: r1, r2, . . .
  • countable set S of situational identifiers (locations, times)

Entities are assigned to distinct classes or groups: categories.

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-11
SLIDE 11

M: relationships between entities

  • Principal-category assignment PCA:

(p, c) ∈ PCA iff p ∈ P is assigned to c ∈ C

  • Permissions ARCA:

(a, r, c) ∈ ARCA iff action a ∈ A on resource r ∈ R may be performed by principals in the category c ∈ C

  • Authorisations PAR:

(p, a, r) ∈ PAR iff p ∈ P may perform action a ∈ A on resource r ∈ R PAR defines the set of authorisations that hold according to the policy that specifies PCA and ARCA

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-12
SLIDE 12

Axioms

Core axiom: (a1) ∀p ∈ P, ∀a ∈ A, ∀r ∈ R, ∀c ∈ C, (p, c) ∈ PCA ∧ (∃c′ ∈ C, c ⊆ c′ ∧ (a, r, c′) ∈ ARCA) ⇒ (p, a, r) ∈ PAR where ⊆ is a relationship between categories, e.g. equality, set inclusion, . . . Operationally, (a1) is realised through a set of function definitions

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-13
SLIDE 13

Term Rewriting

Term rewriting systems are defined by a set of terms and a set

  • f rewrite rules that are used to ’reduce’ terms.

Terms: T(F, X) built up from a signature F (function symbols with fixed arities) and a set of variables X. Var(t) denotes the set of variables occurring in t. Rewrite rules: R = {li → ri}i∈I, where li, ri are terms, li ∈ X, and Var(ri) ⊆ Var(li). Rewrite step in R: t →R u (reflexive-transitive closure: t →∗

R u).

Irreducible terms are in normal form.

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-14
SLIDE 14

Term Rewriting: Example

  • Natural numbers: 0, s(0), s(s(0)), . . .

Booleans: True, False Lists of numbers: nil, cons(0, nil), cons(s(0), nil), . . .

  • Conditional:

if-then-else(True, X, Y ) → X if-then-else(False, X, Y ) → Y

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-15
SLIDE 15

Term Rewriting: Example

Operators on sets represented as lists: Union(nil, x) → x Union(cons(x, y), z) → if In(x, z) then Union(y, z) else cons(x, Union(y, z)) Inter(nil, x) → nil Inter(cons(x, y), z) → if In(x, z) then cons(x, Inter(y, z)) else Inter(y, z) where In is a membership operator defined by rewrite rules Example: Union(cons(0, nil), cons(0, s(0))) → if In(0, cons(0, s(0))) then Union(nil, cons(0, s(0))) else cons(0, Union(nil, cons(0, s(0))) →∗ Union(nil, cons(0, s(0))) → cons(0, s(0))

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-16
SLIDE 16

M: Operational Semantics

Rewrite-based specification of the axiom (a1): (a2) par(P, A, R) → if (A, R) ∈ arca∗(contain(pca(P))) then grant else deny grant and deny are answers pca returns the list of categories assigned to a principal contain computes the set of categories that contain any of the categories given in the list pca(P) ∈ is a membership operator on lists arca returns the list of all the permissions assigned to the categories in a set

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-17
SLIDE 17

Evaluating access requests

An access request by a principal p to perform the action a on the resource r is evaluated simply by rewriting par(p, a, r) to normal form. Proposition: The rewrite-based definition of PAR is a correct realisation of the axiom (a1): par(p, a, r) →∗ grant if and only if (p, a, r) ∈ PAR

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-18
SLIDE 18

DTRS: distributed rewriting

DTRSs are term rewriting systems where rules are partitioned into modules (associated to sites). Each module has a unique identifier and function symbols are annotated with module identifiers. fν indicates that the definition of f is in the site ν. If a symbol f is used without a site annotation, we assume the function is local.

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-19
SLIDE 19

Example policy

Employees in a company are classified as managers, senior managers or senior executives. To be categorised as a senior executive (SeniorExec), a principal must be a senior manager (SeniorMng) according to the information in site ν1 and must be a member of the executive board. Any senior executive is permitted to read the salary of an employee, provided the employee works in a profitable branch and is categorised as a Manager (Manager). All managers’ names are recorded locally, and the list of profitable branches is kept up to date at site ν2 .

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-20
SLIDE 20

Example policy in M

We add to the generic rules: pca(P) → if SeniorMng ∈ pcaυ1(P) then (if P ∈ ExecBoard then [SeniorExec] else [SeniorMng]) else [Manager] arca(SeniorExec) → zip-read(managers(profbranchυ2) zip-read, given a list L = [l1, . . . , ln], returns a list of pairs [(read, l1), . . . , (read, ln)] profbranch, defined at site υ2, returns the list of branches that are profitable manager returns the name of the manager of a branch B given as a parameter (managers does the same for a list of branches).

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-21
SLIDE 21

Evaluating access requests

par(Smith, read, TomSalary) → if (read, TomSalary) ∈ arca(pca(Smith)) then grant else deny → if (read, TomSalary) ∈ arca(SeniorExec) then grant else deny → if (read, TomSalary) ∈ [(read, GreenFile), . . . , (read, TomSalary)] then grant else deny → grant assuming ExecBoard → [Taylor , Smith, Clarke] profbranchν2 → [Strand, Union] manager(Strand) → [Tom]

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-22
SLIDE 22

Properties

Totality: Each request from a valid principal p to perform a valid action a on a resource r receives as answer. Consistency: For any p ∈ P, a ∈ A, r ∈ R, at most one result is possible for a request par(p, a, r). Soundness and Completeness: For any p ∈ P, a ∈ A, r ∈ R, an access request by p to perform the action a on r is granted if and only if p belongs to a category that has the permission (a, r).

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-23
SLIDE 23

Properties

Totality and consistency can proved by checking:

  • confluence — results are unique.
  • termination — all requests produce a result

There are several results that provide sufficient conditions for these properties to hold. [Muller92,KlopOomstRaams93,Breazu-Tannen] [Gallier,Bakel,Barbanera,Fernandez,Blanqui,Jouannaud,Okada,...]

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-24
SLIDE 24

Application

The policy in the company example is consistent and total. It is also sound and complete: if p is a SeniorExec and m is the manager of a profitable branch b, then a request from p to read m’s file will be granted. Proof: using properties of the rewrite system defining the policy (ortogonality, hierarchical union).

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-25
SLIDE 25

Expressiveness

A range of existing access control models can be represented as specialised instances of M [ESSOS 2010]:

  • (static) access control models: DAC, MAC (including

Bell-LaPadula),

  • RBAC (including time and location constraints)
  • Chinese Wall
  • dynamic models: DEBAC
  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-26
SLIDE 26

Distributed Category-Based Metamodel

S: identifiers for sites (locations) Families of relations PCAs, ARCAs and PARs, and in addition BARCAs (banned actions) and BARs (non-authorised access). Also a relation UNDET s, if PARs and BARs are not complete, i.e., some access requests are neither authorised nor denied (undeterminate answer). PAR defines the global authorisation policy as a composition

  • f the local policies defined by PARs and BARs (conflict

resolution).

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-27
SLIDE 27

Distributed Axioms

(b1) ∀p ∈ P, ∀a ∈ A, ∀r ∈ R, ∀c ∈ C, ∀s ∈ S (p, c) ∈ PCAs ∧ (∃c′ ∈ C, c ⊆ c′ ∧ (a, r, c′) ∈ ARCAs) ⇒ (p, a, r) ∈ PARs (c1) ∀p ∈ P, ∀a ∈ A, ∀r ∈ R, ∀c ∈ C, ∀s ∈ S (p, c) ∈ PCAs ∧ (∃c′ ∈ C, c ⊆ c′ ∧ (a, r, c′) ∈ BARCAs) ⇒ (p, a, r) ∈ BARs (d1) ∀p ∈ P, ∀a ∈ A, ∀r ∈ R, ∀c ∈ C, ∀s ∈ S (p, c) ∈ PCAs ∧ (a, r, c) ∈ ARCAs ∧ (a, r, c) ∈ BARCAs ⇒ (p, a, r) ∈ UNDET s (e1) ∀s ∈ S, ARCAs ∩ BARCAs = ∅ (f 1) ∀p ∈ P, ∀a ∈ A, ∀r ∈ R, (p, a, r) ∈ OPpar{PARs, BARs|s ∈ S} ⇒ (p, a, r) ∈PAR (g1) ∀p ∈ P, ∀a ∈ A, ∀r ∈ R, (p, a, r) ∈ OPbar{PARs, BARs|s ∈ S} ⇒ (p, a, r) ∈BAR (h1) PAR ∩ BAR = ∅

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-28
SLIDE 28

Combining policies

UNDET s ⊆ P × A × R: (p, a, r) ∈ UNDET s iff the action a ∈ A on resource r ∈ R is neither allowed nor forbidden for the principal p ∈ P at site s ∈ S. The final authorisation is computed by specialising the definition of the operators OPpar and OPbar (application dependent) Example: in a system with two sites s, t ∈ S, OPbar = (BARs ∨ BARt) OPpar = ((PARs/BARt) ∨ (PARt/BARs)) corresponds to a union operator giving priority to deny.

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-29
SLIDE 29

Operational semantics

(b2) pars(P, A, R) → if (A, R) ∈ arca∗

s(contain(pcas(P)))

then grant else deny (c2, d2) pars(P, A, R) → if (A, R) ∈ arca∗

s(contain(pcas(P)))

then grant else if (A, R) ∈ barca∗

s(contain(pcas(P)))

then deny else undet (f 2, g2) Auth(P, A, R, s1, . . . , sn) → fauth(op, pars1(P, A, R), . . . , parsn(P, A, R))

  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments

slide-30
SLIDE 30

Conclusion

  • Global policies easily built as a combination of local

policies using rewrite systems.

  • Different combinations can be expressed
  • Properties of the policies, such as totality and

consistency, follow from modularity results of rewriting.

  • Executable specifications, using rewrite-based

programming languages.

  • Several case studies: virtual museum, bank, hospital
  • Implementation methods, programming language design
  • M. Fern´

andez Rewrite-Based Access Control Policies in Distributed Environments