Types for Role-based Access Control of Dynamic Web Data



Similar documents
A Distributed Calculus for Role-Based Access Control

Dynamic Process/Service Composition/Combination

File Server Migration

SQL Server Training Course Content

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip

ABET General Outcomes. Student Learning Outcomes for BS in Computing

FOPR-I1O23 - Fundamentals of Programming

Introducing Formal Methods. Software Engineering and Formal Methods

CURRICULUM VITAE EDUCATION:

Principles of Distributed Database Systems

HOW TO SILENTLY INSTALL CLOUD LINK REMOTELY WITHOUT SUPERVISION

Big Data Development CASSANDRA NoSQL Training - Workshop. March 13 to am to 5 pm HOTEL DUBAI GRAND DUBAI

SAP BusinessObjects Business Intelligence (BI) platform Document Version: 4.1, Support Package Report Conversion Tool Guide

AnzioWin FTP Dialog. AnzioWin version 15.0 and later

Novell ZENworks 10 Configuration Management SP3

EVENT VIEWER IN WINDOWS 7

IBM Campaign and IBM Silverpop Engage Version 1 Release 2 August 31, Integration Guide IBM

A Workbench for Prototyping XML Data Exchange (extended abstract)

The following was taken directly from the ARD (Apple Remote Desktop) operator s manual:

BackupAgent LabTech Integration Installation and Usage

Techniques and Tools for Rich Internet Applications Testing

Software Life-Cycle Management

Representation of E-documents in AIDA Project

Peer to Peer Search Engine and Collaboration Platform Based on JXTA Protocol

Using Peer to Peer Dynamic Querying in Grid Information Services

HP TeamSite Developer - Training Agenda

EXTRA. Vulnerability scanners are indispensable both VULNERABILITY SCANNER

Course Design Document: IS412: Enterprise Business Solutions Enterprise Process Integration using SAP Software. Version 1.6

SelectSurvey.NET IT Staff Training

Methodological Approaches to Evaluation of Information System Functionality Performances and Importance of Successfulness Factors Analysis

Software Verification and Testing. Lecture Notes: Temporal Logics

StaRVOOrS: A Tool for Combined Static and Runtime Verification of Java

BCKPLBO Logivision

Optimizing Business Continuity Management with NetIQ PlateSpin Protect and AppManager. Best Practices and Reference Architecture

Directory-enabled Lights-Out Management

Analyzing Network Servers. Disk Space Utilization Analysis. DiskBoss - Data Management Solution

System Requirement Specification for A Distributed Desktop Search and Document Sharing Tool for Local Area Networks

Expanding the CASEsim Framework to Facilitate Load Balancing of Social Network Simulations

CryptographicallyEnforced

Analysis report examination with CUBE

XP24000/XP20000 Performance Monitor User Guide

Crystal Converter User Guide

Log Management and Intrusion Detection

CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing

IBM: Using Queue Replication

1 crossover cable. the PCs. network

SOE. managing change in system development projects: configuration management

Forms Printer User Guide

Novell Distributed File Services Administration Guide

Forefront Client Security. Ronald Beekelaar Beekelaar Consultancy

N02-IBM Managed File Transfer Technical Mastery Test v1

OFBiz Addons goals, howto use, howto manage. Nicolas Malin, Nov. 2012

COMPUTER SCIENCE AND ENGINEERING

Databases 2011 The Relational Model and SQL

RT Support Ticket System

Access Control and Audit Trail Software

SMock A Test Platform for the Evaluation of Monitoring Tools

Citrix EdgeSight for Load Testing User s Guide. Citrx EdgeSight for Load Testing 2.7

Roberto Barbera. Centralized bookkeeping and monitoring in ALICE

INTEGRATION OF XML DATA IN PEER-TO-PEER E-COMMERCE APPLICATIONS

Survey on Load Rebalancing for Distributed File System in Cloud

STRATEGIES ON SOFTWARE INTEGRATION

Unicenter Desktop DNA r11

Performance Evaluation of Natural and Surrogate Key Database Architectures

SPHOL205: Introduction to Backup & Restore in SharePoint Hands-On Lab. Lab Manual

Temporal Logics. Computation Tree Logic

Monitoring Networks through Multiparty Session Types

A Visual Language Based System for the Efficient Management of the Software Development Process.

Semi-structured Data. 1 - Introduction

TIBCO Spotfire Server Migration. Migration Manual

Proceedings of the International MultiConference of Engineers and Computer Scientists 2013 Vol I, IMECS 2013, March 13-15, 2013, Hong Kong

Avatier Identity Management Suite

Project 2: Firewall Design (Phase I)

ESB Features Comparison

Objectives of Lecture 1. Labs and TAs. Class and Office Hours. CMPUT 391: Introduction. Introduction

IBM Endpoint Manager Version 9.1. Patch Management for Red Hat Enterprise Linux User's Guide

DIABLO VALLEY COLLEGE CATALOG

GET STARTED WITH A SIMPLE, FAST AND COST EFFECTIVE ORACLE FUSION SALES CLOUD ADOPTION TODAY!

Clustering through Decision Tree Construction in Geology

1. INTERFACE ENHANCEMENTS 2. REPORTING ENHANCEMENTS

CONVERTING FROM NETKEEPER ISAM v6.32 to NETKEEPER SQL

Upgrading to advanced editions of Acronis Backup & Recovery 10. Technical white paper

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Peer-to-Peer Networks. Chapter 6: P2P Content Distribution

Transcription:

Types for Role-based Access Control of Dynamic Web Data Mariangiola Dezani-Ciancaglini 1 Silvia Ghilezan 2 Svetlana Jakšić 2 Jovanka Pantović 2 1 Università di Torino 2 University of Novi Sad SVARM 2010, Edinburgh

Outline 1 Motivation Related Work Access control - RXdπ-calculus 2 RXdπ-calculus Syntax Semantics 3 Types Types Safety

Outline 1 Motivation Related Work Access control - RXdπ-calculus 2 RXdπ-calculus Syntax Semantics 3 Types Types Safety

Distributed systems - decentralised peer-to-peer networks management of semi-structured and distributed data processes with different roles have 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 control of movements rights

Distributed systems - decentralised peer-to-peer networks management of semi-structured and distributed data processes with different roles have 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 control of movements rights

Related work Xdπ calculus - extension of Active XML - Gardner, Maffeis localised mobile processes distributed, dynamic, semi-structured web data Variety of type systems for dπ 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 network invariant and initial network

Distributed Network Location l T R Location A peer or a location is represented with data and a process.

Access Rights l l T R T S m T R Security conditions not all data is visible to all processes different locations with different access policies

Roles st pr CLASSROOM PUBLIC login {st} login {st} enable(st) login pr pr connection {pr} connection {st}

Roles st pr CLASSROOM PUBLIC login {st} login {st} enable(st) login pr pr connection {pr} connection {st}

Roles st pr CLASSROOM PUBLIC login {st} login {st} enable(st) login pr pr connection {pr} connection {st}

Outline 1 Motivation Related Work Access control - RXdπ-calculus 2 RXdπ-calculus Syntax Semantics 3 Types Types Safety

Locations, Networks l T R Each location consists of data in a form of a tree and a process A well-formed network is a parallel composition ( ) of locations with different names. N ::= 0 N N l[t R] (νc Tv )N

Data CLASSROOM PUBLIC login {st} login {st} a {st} conncetion {pr} a {st} connection {st} p@λ R p@λ R R-scripted process p-path p@λ-pointer run, read, change dynamic changes of access rights

Data CLASSROOM PUBLIC login {st} login {st} a {st} conncetion {pr} a {st} connection {st} p@λ R p@λ R R-scripted process p-path p@λ-pointer run, read, change dynamic changes of access rights

Processes π-calculus P ::= 0 the nil process P P composition of processes c Tv v output value v on a channel c c Tv (x).p input parameterized by a variable x!c Tv (x).p replication of an input process

Processes π-calculus P ::= 0 the nil process P P composition of processes c Tv v output value v on a channel c c Tv (x).p input parameterized by a variable x!c Tv (x).p replication of an input process dπ-calculus P ::= go λ.r migrate to location λ, continue as R Xdπ-calculus P ::= run p run command read p(χ).p read command change p (χ, V ).P change command

Processes RXdπ-calculus P ::= enable(r) p.p gives permission to the role r to access data on the path p disable(r) p.p removes the role rfrom roles that are allowed to access data on the path p R ::= P ρ single process with roles ρ R R parallel composition of processes with roles (νc Tv )R restriction of channel name c

Interactions in the System Communication Movement Interaction with local data Permission change Reduction rules formally describe interactions in the system.

Interactions in the System Communication l T P ρ Q σ Movement Interaction with local data Permission change Reduction rules formally describe interactions in the system.

Interactions in the System Communication Movement l m T P ρ T Q σ Interaction with local data Permission change Reduction rules formally describe interactions in the system.

Interactions in the System Communication Movement Interaction with local data l T P ρ Permission change Reduction rules formally describe interactions in the system.

Interactions in the System Communication Movement Interaction with local data Permission change l T P ρ Reduction rules formally describe interactions in the system.

Operational Semantics - Example a α b β @l c ρ b β dγ (read a α (y (β) @x (σ,e,d) ).change a α (y (β) 1.go x.enable(r) y ρ ) ρ @x (σ,e,d), R) 1 l

Operational Semantics - Example a α b β @l c ρ b β dγ (read a α (y (β) @x (σ,e,d) ).change a α (y (β) 1.go x.enable(r) y ρ ) ρ @x (σ,e,d), R) 1 l

Operational Semantics - Example a α b β @l c ρ b β dγ (change a α (y (β) 1 @x (σ,e,d), R).go l.enable(r) 1 b β ρ ) ρ l

Operational Semantics - Example a α b β @l c ρ b β dγ (change a α (y (β) 1 @x (σ,e,d), R).go l.enable(r) β 1 b ρ ) ρ l

Operational Semantics - Example R a α c ρ b β dγ (go l.enable(r) b β ρ ) ρ l

Operational Semantics - Example R a α c ρ b β dγ (go l.enable(r) b β ρ ) ρ l

Operational Semantics - Example R a α c ρ b β dγ enable(r) b β ρ l

Operational Semantics - Example R a α c ρ b β dγ enable(r) b β ρ l

Operational Semantics - Example R a α c ρ b β dγ {r} l

Outline 1 Motivation Related Work Access control - RXdπ-calculus 2 RXdπ-calculus Syntax Semantics 3 Types Types Safety

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 D: policy for role disabling

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 D: policy for role disabling

Type System - Example st st i as prof dean where i I.

Type System - Example st st i as prof dean where i I. FACULTY : (σ F, E F, D F ) σ F = {st i } E F = ({prof}, as) D C = ({dean}, st i ) FACULTY

Type System - Example st st i as prof dean where i I. FACULTY : (σ F, E F, D F ) σ F = {st i } E F = ({prof}, as) D C = ({dean}, st i ) FACULTY service {st i} records {pr} booklet {st i} mark mark

Type System - Example st st i as prof dean where i I. FACULTY : (σ F, E F, D F ) σ F = {st i } E F = ({prof}, as) D C = ({dean}, st i ) FACULTY service {st i} records {pr} booklet {st i} enable(as) service pr pr mark mark

Type System - Example st st i as prof dean where i I. FACULTY : (σ F, E F, D F ) σ F = {st i } E F = ({prof}, as) D C = ({dean}, st i ) FACULTY service {st i} records {pr} booklet {st i} disable(st i ) service pr dean mark mark

Type System - Example st st i as prof dean where i I. FACULTY : (σ F, E F, D F ) σ F = {st i } E F = ({prof}, as) D C = ({dean}, st i ) FACULTY service {st i} records {pr} booklet {st i} enable(st i ) service pr pr mark mark

Safety properties (Subject reduction) If N : Net and N N, then N : 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.

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; P11 A tree built by a disable command in a location can stay in that location.

May 29 to June 3, 2011 Novi Sad, Serbia http://www.rdp2011.uns.ac.rs/ RDP 2011 Announcement