• No results found

Rewrite-Based Access Control Policies in Distributed Environments

N/A
N/A
Protected

Academic year: 2021

Share "Rewrite-Based Access Control Policies in Distributed Environments"

Copied!
30
0
0

Loading.... (view fulltext now)

Full text

(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

(2)

Motivations - Access Control

Access control is of fundamental importance in computer security.

Formal specificationsof access control models and policies

make it possible to

• compare policies rigorously,

• understand the consequences of changes

(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

(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

(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

(6)

Rewriting

We propose an operational semantics for the access control

metamodel, usingterm 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

(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)

(8)

This talk

• The category-based meta-model M

• Introduction to term rewriting

• Rewrite-based specification ofM: • definition • request evaluation • properties • expressive power • Distributed metamodel

(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

(10)

The metamodel

M

Entities inM 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 setS ofsituational identifiers (locations, times)

(11)

M

: relationships between entities

• Principal-category assignmentPCA:

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

• PermissionsARCA:

(a,r,c)∈ ARCA iff action a∈A on resourcer ∈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

resourcer ∈ R

PAR defines the set of authorisations that hold according to

(12)

Axioms

Core axiom:

(a1) ∀p ∈ P, ∀a ∈ A, ∀r ∈ R, ∀c ∈ C,

(p,c)∈ PCA ∧(∃c0 ∈ C,c c0 (a,r,c0)∈ 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

(13)

Term Rewriting

Term rewriting systems are defined by a set ofterms and a set

of rewrite rules that are used to ’reduce’ terms.

Terms: T(F,X) built up from a signature F (function symbolswith 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 6∈ X,

and Var(ri)⊆Var(li).

Rewrite step inR:

(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

(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)))

(16)

M

: Operational Semantics

Rewrite-based specification of the axiom (a1):

(a2) par(P,A,R) → if (A,R)∈arca∗(contain(pca(P)))

then grantelse deny

grantand deny are answers

pcareturns 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

arcareturns the list of all the permissions assigned to the

(17)

Evaluating access requests

An access request by a principalp to perform the action a on

the resourcer 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):

(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 off is in the site ν.

If a symbol f is used without a site annotation, we assume the

(19)

Example policy

Employees in a company are classified as managers, senior managers or senior executives.

To be categorised as asenior 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).

(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 listL = [l1, . . . ,ln], returns a list of pairs

[(read,l1), . . . ,(read,ln)]

profbranch, defined at siteυ2, returns the list of branches that

are profitable

(21)

Evaluating access requests

par(Smith,read,TomSalary)

→ if (read,TomSalary)∈arca(pca(Smith))

then grantelse deny

→ if (read,TomSalary)∈arca(SeniorExec)

then grantelse deny

→ if (read,TomSalary)∈[(read,GreenFile), . . . ,(read,TomSalary)]

then grantelse deny

→ grant

assuming

ExecBoard → [Taylor , Smith, Clarke]

(22)

Properties

Totality: Each request from a valid principal p to perform a

valid actiona 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 anyp ∈ P, a∈ A, r ∈ R,

an access request by p to perform the action a onr is granted

if and only ifp belongs to a category that has the permission

(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]

(24)

Application

The policy in the company example is consistent and total.

It is also sound and complete: ifp is a SeniorExec and m is

the manager of a profitable branchb, then a request fromp to

read m’s file will be granted.

Proof: using properties of the rewrite system defining the policy (ortogonality, hierarchical union).

(25)

Expressiveness

A range of existing access control models can be represented

as specialised instances ofM [ESSOS 2010]:

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

Bell-LaPadula),

• RBAC (including time and location constraints)

• Chinese Wall

(26)

Distributed Category-Based Metamodel

S: identifiers for sites (locations)

Families of relationsPCAs,ARCAs and PARs, and in

additionBARCAs (banned actions) and BARs

(non-authorised access).

Also a relationU N DETs, 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

of the local policies defined byPARs and BARs (conflict

(27)

Distributed Axioms

(b1) ∀p ∈ P, ∀a ∈ A, ∀r ∈ R, ∀c ∈ C, ∀s ∈ S (p,c)∈ PCAs ∧(∃c0 ∈ C,c ⊆c0 ∧(a,r,c0)∈ ARCAs) ⇒(p,a,r)∈ PARs (c1) ∀p ∈ P, ∀a ∈ A, ∀r ∈ R, ∀c ∈ C, ∀s ∈ S (p,c)∈ PCAs ∧(∃c0 ∈ C,c ⊆c0∧(a,r,c0)∈ BARCAs) ⇒(p,a,r)∈ BARs (d1) ∀p ∈ P, ∀a ∈ A, ∀r ∈ R, ∀c ∈ C, ∀s ∈ S

(p,c)∈ PCAs ∧(a,r,c)6∈ ARCAs ∧(a,r,c)6∈ BARCAs ⇒(p,a,r)∈ U N DETs

(e1) ∀s ∈ S, ARCAs ∩ BARCAs =∅

(f1) ∀p ∈ P, ∀a ∈ A, ∀r ∈ R,

(p,a,r)∈ OPpar{PARs,BARs|s ∈S} ⇒(p,a,r)∈ PAR

(28)

Combining policies

U N DETs ⊆ P × A × R:

(p,a,r)∈ U N DETs iff the action a ∈ Aon 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 sitess,t ∈ S,

OPbar = (BARs ∨ BARt)

OPpar = ((PARs/BARt)∨(PARt/BARs))

(29)

Operational semantics

(b2) pars(P,A,R) → if

(A,R)∈arca∗s(contain(pcas(P)))

then grantelse deny

(c2,d2) pars(P,A,R) → if

(A,R)∈arca∗s(contain(pcas(P)))

then grantelse

if

(A,R)∈barca∗s(contain(pcas(P)))

then deny else undet

(f2,g2) Auth(P,A,R,s1, . . . ,sn) →

fauth(op,pars

(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

References

Related documents

The spatial analysis of soil depth, slope, zinc and salinity levels based on the information available on the database are undertaken in order to produce the geographical

We conducted longitudinal analyses that aimed to exam- ine how (i) caregiving commencement and (ii) its duration were associated with caregiver psychological distress and

It is important that the scope of the work for the project be completely defined in the contract so that disagreements over scope changes can be minimized. However, it is common

Eventually the Eastern Telegraph Company began to see the benefits of wireless, especially for ship-to-shore communications, and started installing it on their cable.. As

CA No hold conference - autodial Combined feature, not supported -- CCOS Controlled class of service  Change COR Access Code FAC CFW Call forward all calls 

As Nick envisages the moment of Gatsby’s death he is challenging a distinctly American definition of failure where Gatsby takes the outline of a new modern hero.. Here I would

Building on these arguments, my hypothesis is that there is no trade-off between the performance of students from different social backgrounds and with different abilities: When

Semantic correspondence methods based on CNNs use different training sets. Following these approaches, we train a network on the.. training split in the PF-PASCAL dataset. We