Specification and Enforcement of Authorization Constraints in Workflow Management Systems.

Slides:



Advertisements
Similar presentations
Constraint Satisfaction Problems
Advertisements

Constraint Satisfaction Problems Russell and Norvig: Chapter
Constraint Satisfaction Problems
CSCI 115 Chapter 6 Order Relations and Structures.
DS.GR.14 Graph Matching Input: 2 digraphs G1 = (V1,E1), G2 = (V2,E2) Questions to ask: 1.Are G1 and G2 isomorphic? 2.Is G1 isomorphic to a subgraph of.
CSC411Artificial Intelligence 1 Chapter 3 Structures and Strategies For Space State Search Contents Graph Theory Strategies for Space State Search Using.
ECE 667 Synthesis and Verification of Digital Circuits
A System to Generate Test Data and Symbolically Execute Programs Lori A. Clarke September 1976.
This lecture topic (two lectures) Chapter 6.1 – 6.4, except
Outline  Introduction  Background  Distributed DBMS Architecture  Distributed Database Design  Semantic Data Control ➠ View Management ➠ Data Security.
1 Constraint Satisfaction Problems A Quick Overview (based on AIMA book slides)
1 CMSC 471 Fall 2002 Class #6 – Wednesday, September 18.
This lecture topic (two lectures) Chapter 6.1 – 6.4, except 6.3.3
Leena Suhl University of Paderborn, Germany
1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized.
Abstraction and Modular Reasoning for the Verification of Software Corina Pasareanu NASA Ames Research Center.
MBD and CSP Meir Kalech Partially based on slides of Jia You and Brian Williams.
Artificial Intelligence Constraint satisfaction problems Fall 2008 professor: Luigi Ceccaroni.
All Hands Meeting, 2006 Title: Grid Workflow Scheduling in WOSE (Workflow Optimisation Services for e- Science Applications) Authors: Yash Patel, Andrew.
Weizmann Institute Tuning SAT-checkers for Bounded Model-Checking A bounded guided tour Ofer Shtrichman Weizmann Institute & IBM (HRL)
Sequential Optimization without State Space Exploration A. Mehrota, S. Qadeer, V. Singhal, R. Brayton, A. Sangiovanni-Vincentelli, A. Aziz Presented by:
Sharing Aggregate Computation for Distributed Queries Ryan Huebsch, UC Berkeley Minos Garofalakis, Yahoo! Research † Joe Hellerstein, UC Berkeley Ion Stoica,
CPSC 322, Lecture 12Slide 1 CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12 (Textbook Chpt ) January, 29, 2010.
Shirokuro : A Backtracking Approach Benjamin Bush Faculty Advisors: Dr. Russ Abbott, Dr. Gary Brookfield Department of Computer Science, Department of.
Hierarchical Constraint Satisfaction in Spatial Database Dimitris Papadias, Panos Kalnis And Nikos Mamoulis.
Jean-Charles REGIN Michel RUEHER ILOG Sophia Antipolis Université de Nice – Sophia Antipolis A global constraint combining.
Branch and Bound Algorithm for Solving Integer Linear Programming
Defining Polynomials p 1 (n) is the bound on the length of an input pair p 2 (n) is the bound on the running time of f p 3 (n) is a bound on the number.
Software Testing and QA Theory and Practice (Chapter 4: Control Flow Testing) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and Practice.
272: Software Engineering Fall 2012 Instructor: Tevfik Bultan Lecture 4: SMT-based Bounded Model Checking of Concurrent Software.
CIS 720 Distributed algorithms. “Paint on the forehead” problem Each of you can see other’s forehead but not your own. I announce “some of you have paint.
Constraint Satisfaction Problems
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
System/Software Testing
Decision Procedures An Algorithmic Point of View
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
CS162 Week 8 Kyle Dewey. Overview Example online going over fail03.not (from the test suite) in depth A type system for secure information flow Implementing.
Software Reviews & testing Software Reviews & testing An Overview.
An Investigation on Testing RBAC Constraints Presented by Jiao Chen 04/29/2003.
Scheduling policies for real- time embedded systems.
Contents of Chapter 7 Chapter 7 Backtracking 7.1 The General method
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
Constraint Satisfaction CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Hande ÇAKIN IES 503 TERM PROJECT CONSTRAINT SATISFACTION PROBLEMS.
Introduction to Problem Solving. Steps in Programming A Very Simplified Picture –Problem Definition & Analysis – High Level Strategy for a solution –Arriving.
Detecting Group Differences: Mining Contrast Sets Author: Stephen D. Bay Advisor: Dr. Hsu Graduate: Yan-Cheng Lin.
Chapter 5 Constraint Satisfaction Problems
A System to Generate Test Data and Symbolically Execute Programs Lori A. Clarke Presented by: Xia Cheng.
Reasoning about the Behavior of Semantic Web Services with Concurrent Transaction Logic Presented By Dumitru Roman, Michael Kifer University of Innsbruk,
Arc Consistency CPSC 322 – CSP 3 Textbook § 4.5 February 2, 2011.
System To Generate Test Data: The Analysis Program Syed Nabeel.
Estimating Recombination Rates. Daly et al., 2001 Daly and others were looking at a 500kb region in 5q31 (Crohn disease region) 103 SNPs were genotyped.
CS162 Week 8 Kyle Dewey. Overview Example online going over fail03.not (from the test suite) in depth A type system for secure information flow Implementing.
The Selection Algorithm : Design & Analysis [10].
1998 년 8 월 7 일 Data Engineering Lab 성 유진 1 Exploratory Mining and Pruning Optimization of Constrained Associations Rules.
Modelling and Solving Configuration Problems on Business
Chapter 14: System Protection
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Control Flow Testing Handouts
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 4 Control Flow Testing
Relational Algebra - Part 1
Input Space Partition Testing CS 4501 / 6501 Software Testing
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Abstract Major Cloud computing companies have started to integrate frameworks for parallel data processing in their product portfolio, making it easy for.
A Dynamic Critical Path Algorithm for Scheduling Scientific Workflow Applications on Global Grids e-Science IEEE 2007 Report: Wei-Cheng Lee
Outline of the Chapter Basic Idea Outline of Control Flow Testing
CS137: Electronic Design Automation
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Chapter 5: General search strategies: Look-ahead
CS 405G: Introduction to Database Systems
Presentation transcript:

Specification and Enforcement of Authorization Constraints in Workflow Management Systems

2 Preliminaries Specification Workflow, constraint base Enforcement Static analysis, pruning, planning, runtime algorithms System architecture

3 Workflow Role Specification, W, is a list of task role specifications [TS i.. TS n ], where, TS i : (T i, (RS i, > i ), act i ) T i : task RS i : set of roles authorized to execute T i > i : local role order relationship act i : number of possible activations of Ti association of roles with tasks

4 Constraint base (CB) constraints specification language Constants: user, role, task, set of constraints Variables: V U, V R, V T, V C, V IN Predicate symbols : Specification, Execution, Planning, Comparison, Aggregate Constraint rules

5 CB Consistency Consistent IFF constraints are satisfiable No PANIC predicate must_execute_u (John, T1) and cannot_do_u (John, T1) should not exist must_execute_r (Manager, T1) and cannot_do_r (Manager, T1) should not exist

6 Constraint Specification Language Specification Predicates Execution Predicates Planning Predicates Aggregate Predicates Constraint Specification Language Rules

7 Specification Predicates role (R,T) : task can be performed by role user (u, T) : user has a role that can perform T belong (u, R) : user belongs to role R glb (R i, T j ) : R i is greatest lower bound of RS j lub (R i,T j ) : R i is least upper bound of RS j > : global order, R 1 > R 2 : R 1 dominates R 2 > k : local order for T k, R 1 > k R 2 : R 1 dominates R 2

8 Execution predicates execute u (u, T, k) : k-th. activation of T is executed by u execute r (R, T, k) : k-th. activation of T is executed by R abort (T, k) : k-th. activation of T is aborted success (T, k) : k-th. activation of T is executed successfully Planning predicates cannot_do u (u, T) : user cannot do task cannot_do r (R, T) : role cannot do task must_execute u (u, T) : user must execute task must_execute r (r, T) : role must execute task statically_checked (C): can be checked without execution panic : if true, there is constraint that is not satisfied

9 Aggregate predicates count avg min max sum Constraints on: Roles, User assignments Types of constraints: Static, Dynamic, Hybrid Constraints Examples: Least privilege, Separation of duty, Time constraints, Resource constraints, Event constraints

10 Constraint Rules Explicit assignment (specification & execution predicates) Static checking ( statically_checked(C) predicate ) Integrity ( panic predicate) Static ( planning / specification predicate) Dynamic ( planning/ specification/ execution predicate)

11 Example Workflow Role Specification, W = [(T1, ({Refund Clerk}, {}), 1), (T2, ({Refund Manager, General Manager}, {}), 2), (T3, ({Refund Manager, General Manager}, {}), 1), (T4, ({Refund Clerk}, {}), 1)]

12 C1: At least 3 roles must be associated with workflow. C2: Task T2 must be executed by a role dominating the roles that execute tasks T1 and T4, unless T1, T2, and T4 are executed by the role General Manager. C3:If a user belongs to role Refund Clerk and has performed task T1, then he cannot perform T4 C4:If a user has performed task T2, then he cannot perform task T3. C5:Each activation of task T2 must be executed by a different user. C6:If more than four activations of task T1, within the same workflow, executed by one single individual abort, then the same person cannot execute task T1 anymore. C7:If Bob executes task T2, then he cannot execute task T4.

13 Consistency analysis and planning Steps Static analysis If fails, back to system security officer Success iff not PANIC and only static subset is consistent Pruning Eliminate redundant rules Planning Schedule generation of roles and users with tasks If no assignment is generated, error report to security officer If number of task activations exceed number stated in WF, planner is re-activated Runtime Phase Executed upon each task activation and termination

14 Static Analysis Phase Input workflow, W CB(W) Output False, if static CB(W) inconsistent Denied_Roles(Ti), Obliged_Roles(Ti), Denied_Users(Ti), Obliged_Users(Ti), Model of static part of CB(W)

15 Pruning Phase Modify workflow specification according to result from static analysis phase, to eliminate redundancy and increase efficiency Example if Obliged_Roles is non empty set, all the roles in the set is removed from specification. if Obliged_Roles is empty set, all the roles in the Denied_Roles set is pruned from the set of roles that can be assigned to the task

16 Planning Phase Generates set of possible assignments of roles and users to tasks, while satisfying all the constraints Two subphases 1. Role planning 2. User planning Role Planning Assumption: all activations of a task must be executed by the same role. Use of CB as hypothetical reasoner Generation of Role Assignment Graph (RAG)

17 Candidate role assignments are built incrementally by recursively calling the role-assignment procedure Each path can contain one and only one node for each task User Planning Similar strategies as role planning Not always efficient due to number of users Need for heuristics to reduce search space URAG(W) is produced

18 Runtime Phase (1) Two subphases 1. Task activation phase 2. Task termination phase To verify and maintain consistency, URAG(W) is pruned after each task activation Task termination phase is performed upon task execution Dynamic SoD is ensured during task termination

19 Time constraints Roles based Task time User based

20 System architecture