• No results found

Types for Role-based Access Control of Dynamic Web Data

N/A
N/A
Protected

Academic year: 2021

Share "Types for Role-based Access Control of Dynamic Web Data"

Copied!
44
0
0

Loading.... (view fulltext now)

Full text

(1)

Types for Role-based Access Control of

Dynamic Web Data

Mariangiola Dezani-Ciancaglini1 Silvia Ghilezan2 Svetlana Jakši´c2 Jovanka Pantovi´c2

1Università di Torino 2University of Novi Sad

(2)

Outline

1 Motivation

Related Work

Access control -rXdπ-calculus

2 rXdπ-calculus Syntax Semantics 3 Types Types Safety

(3)

Outline

1 Motivation

Related Work

Access control -rXdπ-calculus

2 rXdπ-calculus Syntax Semantics 3 Types Types Safety

(4)

Distributed systems - decentralised

peer-to-peer networks

• management of semi-structured and distributed data

• processes with differentroleshave different access rights

• different access policies in different locations

• exchange between data and processes preserving access control

• dynamic changes of access rights • One solution - typed models

• control of access

(5)

Distributed systems - decentralised

peer-to-peer networks

• management of semi-structured and distributed data

• processes with differentroleshave different access rights

• different access policies in different locations

• exchange between data and processes preserving access control

• dynamic changes of access rights

One solution - typed models • control of access

(6)

Related work

• Xdπcalculus - extension of Active XML - Gardner, Maffeis

• localised mobile processes

• distributed, dynamic, semi-structured web data

• Variety of type systems fordπand related calculi

• controlling the use of accesses and mobility of processes

• Security types for Xdπ

Dezani, Ghilezan, Pantovic, Varacca, 2008

• partially ordered set (with bottom) as security levels

• control of movements rights

(7)

Distributed Network

Location

T

R

l

Location

(8)

Access Rights

T

R

l

T

R

m

T

S

l Security conditions

• not all data is visible to all processes

(9)

Roles

stvpr login{st} connection{pr} enable(st)loginprqpr CLASSROOM login{st} connection{st} PUBLIC

(10)

Roles

stvpr login{st} connection{pr} enable(st)loginprqpr CLASSROOM login{st} connection{st} PUBLIC

(11)

Roles

stvpr login{st} connection{pr} enable(st)loginprqpr CLASSROOM login{st} connection{st} PUBLIC

(12)

Outline

1 Motivation Related Work

Access control -rXdπ-calculus

2 rXdπ-calculus Syntax Semantics 3 Types Types Safety

(13)

Locations, Networks

T

R

l

• Eachlocationconsists of data in a form of a tree and a process

• A well-formednetworkis a parallel composition (|) of

locationswith different names.

(14)

Data

CLASSROOM login{st} a{st} conncetion{pr} p@λ R PUBLIC login{st} a{st} connection{st} p@λ R • R-scripted process • p-path • p@λ-pointer

• run,read,change

(15)

Data

CLASSROOM login{st} a{st} conncetion{pr} p@λ R PUBLIC login{st} a{st} connection{st} p@λ R • R-scripted process • p-path • p@λ-pointer

• run,read,change

(16)

Processes

π-calculus

P ::= 0 the nil process

|| P|P composition of processes

|| ¯cTvhvi output valuevon a channelc || cTv(x).P input parameterized by a variablex || !cTv(x).P replication of an input process

(17)

Processes

π-calculus

P ::= 0 the nil process

|| P|P composition of processes

|| ¯cTvhvi output valuevon a channelc || cTv(x).P input parameterized by a variablex || !cTv(x).P replication of an input process

dπ-calculus

P ::= goλ.R migrate to locationλ,continue asR

Xdπ-calculus

P ::= runp run command || readp(χ).P read command || changep(χ,V).P change command

(18)

Processes

rXdπ-calculus

P ::= enable(r)p.P gives permission to the roler

to access data on the pathp

|| disable(r)p.P removes the rolerfrom roles that are

allowed to access data on the pathp

R ::= Pqρ single process with rolesρ

|| R|R parallel composition of processes with roles

(19)

Interactions in the System

• Communication

• Movement

• Interaction with local data

• Permission change

(20)

Interactions in the System

• Communication

T

P

q

ρ

Q

q

σ

l • Movement

• Interaction with local data

• Permission change

(21)

Interactions in the System

• Communication • Movement

T

P

q

ρ

l

T

Q

q

σ

m

• Interaction with local data

• Permission change

(22)

Interactions in the System

• Communication

• Movement

• Interaction with local data

T

P

q

ρ

l

• Permission change

(23)

Interactions in the System

• Communication

• Movement

• Interaction with local data

• Permission change

T

P

q

ρ

l

(24)

Operational Semantics - Example

@ aα bβ@l cρ b β @ dγ l (readaα(y(β)@x(σ,E,D)).changeaα(y1(β)@x1(σ,E,D),R) .gox.enable(r)yqρ)qρ 0

(25)

Operational Semantics - Example

@ aα bβ@l cρ b β @ dγ l (readaα(y(β)@x(σ,E,D)).changeaα(y1(β)@x1(σ,E,D),R) .gox.enable(r)yqρ)qρ 0

(26)

Operational Semantics - Example

@ aα bβ@l cρ b β @ dγ l (changeaα(y1(β)@x1(σ,E,D),R).gol.enable(r)bβqρ)qρ 0

(27)

Operational Semantics - Example

@ aα bβ@l cρ b β @ dγ l (changeaα(y1(β)@x1(σ,E,D),R).gol.enable(r)βbqρ)qρ0

(28)

Operational Semantics - Example

@ aα R cρ b β @ dγ l (gol.enable(r)bβqρ)qρ 0

(29)

Operational Semantics - Example

@ aα R cρ b β @ dγ l (gol.enable(r)bβqρ)qρ 0

(30)

Operational Semantics - Example

@ aα R cρ b β @ dγ l enable(r)bβqρ

(31)

Operational Semantics - Example

@ aα R cρ b β @ dγ l enable(r)bβqρ

(32)

Operational Semantics - Example

@ aα R cρ b β @ dγ∪{r} l

(33)

Outline

1 Motivation Related Work

Access control -rXdπ-calculus

2 rXdπ-calculus Syntax Semantics 3 Types Types Safety

(34)

Type System

Main goals

• to control communication of values

• to control migration and activation of processes

• to control access to data and their modification Location Policy

(σ,E,D)

• σ: set of minimal roles which can access data

• E: policy for role enabling

(35)

Type System

Main goals

• to control communication of values

• to control migration and activation of processes

• to control access to data and their modification

Location Policy

(σ,E,D)

• σ: set of minimal roles which can access data

• E: policy for role enabling

(36)

Type System - Example

(37)

Type System - Example

stvstivasvprofvdeanwhere i∈I.

FACULTY: (σF,EF,DF)

σF={sti} EF= ({prof},as) DC= ({dean},sti) FACULTY

(38)

Type System - Example

stvstivasvprofvdeanwhere i∈I.

FACULTY: (σF,EF,DF) σF={sti} EF= ({prof},as) DC= ({dean},sti) service{sti} records{pr} booklet{sti} mark mark FACULTY

(39)

Type System - Example

stvstivasvprofvdeanwhere i∈I.

FACULTY: (σF,EF,DF) σF={sti} EF= ({prof},as) DC= ({dean},sti) service{sti} records{pr} booklet{sti} mark mark FACULTY enable(as)serviceprqpr

(40)

Type System - Example

stvstivasvprofvdeanwhere i∈I.

FACULTY: (σF,EF,DF) σF={sti} EF= ({prof},as) DC= ({dean},sti) service{sti} records{pr} booklet{sti} mark mark FACULTY

(41)

Type System - Example

stvstivasvprofvdeanwhere i∈I.

FACULTY: (σF,EF,DF) σF={sti} EF= ({prof},as) DC= ({dean},sti) service{sti} records{pr} booklet{sti} mark mark FACULTY enable(sti)serviceprqpr

(42)

Safety properties

• (Subject reduction) If`N:Net andNN0, then `N0:Net.

• Properties of location policies and communication:

P0 All trees and processes in a location agree with the location policy;

P1 A process with roles can communicate only values with characteristic roles accessible to the process.

• Properties of migration between locations:

P2 A process with roles can migrate to another location only if it is well typed for that location.

• Properties of access of processes to local data trees:

P3 A process with roles looks for a path in the local tree only if the path is accessible to the process.

(43)

Safety properties

• Properties of manipulation of local data trees by processes:

P4 A script is activated in a location only if the corresponding process with roles can stay in that location;

P5 A process with roles generated by a read command in a location can stay in that location;

P6 A process with roles can erase a subtree of data only if it can access all data;

P7 A tree built by a change command in a location can stay in that location;

P8 A process with roles can add a role to an edge in the local tree only if this is allowed by the location policy;

P9 A tree built by an enable command in a location can stay in that location;

P10 A process with roles can erase a role from an edge in the local tree only if this is allowed by the location policy;

(44)

RDP 2011

Announcement

May 29 to June 3, 2011 Novi Sad, Serbia

References

Related documents

Each household head of the flock owner in each village was interviewed and information regarding composition, management practices, flock ownership patterns, flock

A one standard deviation increase in durability of political regime, and in the ease and fluidity of political participation, increase the first VAT collection efficiency

1 Project Management T-Kit Important elements in running European youth projects THE YOUNG PEOPLE OBJECTIVES ORGANISATION LEADERSHIP Values and Principles... would like to see

• US$ 2 billion of negative results covered by private US$ 2 billion of negative results covered by private enterprises that will build the networks. enterprises

Thirdly, we can observed in the teaching of non-Islamic religions is a significant shift from the traditional religious understanding to modern and pluralistic religious education

9 randomly selected European EQUIS accredited schools (average % international

process. The audio signal is detected by the piezoelectric sensor and amplified by the amplifier, preferably at least 1000 times. The amplified signal is filtered by low pass filter

The Preferred Alternatives are consistent with this policy because they will not impair valuable coastal waters and resources or reverse vital economic, social, and environmental