May 7, 20031 Specification and Construction of Secure Distributed Collaboration Systems Anand Tripathi Department of Computer Science University of Minnesota,

Slides:



Advertisements
Similar presentations
Towards Remote Policy Enforcement for Runtime Protection of Mobile Code Using Trusted Computing Xinwen Zhang Francesco Parisi-Presicce Ravi Sandhu
Advertisements

Outline  Introduction  Background  Distributed DBMS Architecture  Distributed Database Design  Semantic Data Control ➠ View Management ➠ Data Security.
Unveiling ProjectWise V8 XM Edition. ProjectWise V8 XM Edition An integrated system of collaboration servers that enable your AEC project teams, your.
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
Policy Based Design of Secure Distributed Collaboration Systems Tanvir Ahmed Department of Computer Science University of Minnesota, Twin Cities.
Specification and Verification of Security Requirements in a Programming Model for Decentralized CSCW Systems Paper Report: Specification and Verification.
Process Model for Access Control Wael Hassan University of Ottawa Luigi Logrippo, Université du Québec en Outaouais.
8.2 Discretionary Access Control Models Weiling Li.
Model-Driven Design and Administration of Access Control in Enterprise Applications April 2005.
Oracle Beehive Vivek Pavle Orabyte LLC Orabyte.
Bilkent University Department of Computer Engineering
6.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory Infrastructure.
Protocols for Secure Interactions in Distributed Collaboration Systems Masters Plan B Presentation 26 th November 2002 Richa Kumar Advisor: Dr. Anand Tripathi.
Using Architecture Frameworks
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
A Heterogeneous Network Access Service based on PERMIS and SAML Gabriel López Millán University of Murcia EuroPKI Workshop 2005.
Hands-On Microsoft Windows Server 2003 Administration Chapter 3 Administering Active Directory.
Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science.
Role Based Access control By Ganesh Godavari. Outline of the talk Motivation Terms and Definitions Current Access Control Mechanism Role Based Access.
Dr. Kalpakis CMSC 461, Database Management Systems Introduction.
Lecture 7 Access Control
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 4 “Overview”.
An Introduction to Rational Rose Real-Time
Understanding Active Directory
GMD German National Research Center for Information Technology Innovation through Research Jörg M. Haake Applying Collaborative Open Hypermedia.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
WMS systems manage and coordinate several independent subtasks. The coordination problems get even more serious when the subtasks are performed on separate.
Chapter 7: WORKING WITH GROUPS
1 TAPAS Workshop Nicola Mezzetti - TAPAS Workshop Bologna Achieving Security and Privacy on the Grid Nicola Mezzetti.
© G. Dhillon, IS Department Virginia Commonwealth University Principles of IS Security Formal Models.
1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006.
RECALL THE MAIN COMPONENTS OF KIM Functional User Interfaces We just looked at these Reference Implementation We will talk about these later Service Interface.
CONTENTS Arrival Characters Definition Merits Chararterstics Workflows Wfms Workflow engine Workflows levels & categories.
DCE (distributed computing environment) DCE (distributed computing environment)
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
© Wiley Inc All Rights Reserved. MCSE: Windows Server 2003 Active Directory Planning, Implementation, and Maintenance Study Guide, Second Edition.
1 Dept of Information and Communication Technology Creating Objects in Flexible Authorization Framework ¹ Dep. of Information and Communication Technology,
The Grid System Design Liu Xiangrui Beijing Institute of Technology.
Next-generation databases Active databases: when a particular event occurs and given conditions are satisfied then some actions are executed. An active.
New Cryptographic Techniques for Active Networks Sandra Murphy Trusted Information Systems March 16, 1999.
1 Vigil : Enforcing Security in Ubiquitous Environments Authors : Lalana Kagal, Jeffrey Undercoffer, Anupam Joshi, Tim Finin Presented by : Amit Choudhri.
Chapter 2: System Models. Objectives To provide students with conceptual models to support their study of distributed systems. To motivate the study of.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Information Security - City College1 Access Control in Collaborative Systems Authors: Emis Simo David Naco.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Secure Systems Research Group - FAU 1 A Trust Model for Web Services Ph.D Dissertation Progess Report Candidate: Nelly A. Delessy, Advisor: Dr E.B. Fernandez.
Software Security II Karl Lieberherr. What is Security Enforcing a policy that describes rules for accessing resources. Policy may be explicit or implicit.
Jini Architecture Introduction System Overview An Example.
ROLE BASED ACCESS CONTROL 1 Group 4 : Lê Qu ố c Thanh Tr ầ n Vi ệ t Tu ấ n Anh.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Computer Security: Principles and Practice
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
Chapter 19: Building Systems with Assurance Dr. Wayne Summers Department of Computer Science Columbus State University
Protection & Security Greg Bilodeau CS 5204 October 13, 2009.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
Towards a Benchmark for the Evaluation of LD Expressiveness and Suitability Manuel Caeiro Rodríguez
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
1 SOA Seminar Seminar on Service Oriented Architecture SOA Reference Model OASIS 2006.
PREPARED BY: MS. ANGELA R.ICO & MS. AILEEN E. QUITNO (MSE-COE) COURSE TITLE: OPERATING SYSTEM PROF. GISELA MAY A. ALBANO PREPARED BY: MS. ANGELA R.ICO.
처음 페이지로 이동 Groupware and Computer Supported Cooperative Work n Clarence Ellis and Jacques Wainer n 발표자 : 임산공학과 김 훈.
Introduction: Databases and Database Systems Lecture # 1 June 19,2012 National University of Computer and Emerging Sciences.
Chapter 29: Program Security Dr. Wayne Summers Department of Computer Science Columbus State University
Building Distributed Educational Applications using P2P
Chapter 29: Program Security
Implementing Distributed Workflow Systems from XML Specifications
Ponder policy toolkit Jovana Balkoski, Rashid Mijumbi
Presentation transcript:

May 7, Specification and Construction of Secure Distributed Collaboration Systems Anand Tripathi Department of Computer Science University of Minnesota, Minneapolis This work was supported by NSF grant ITR and EIA

May 7, Team Members Tanvir Ahmed (Ph.D. candidate) Richa Kumar (currently with Microsoft)

May 7, Outline Introduction –Research Goals: Requirements in Secure Collaboration A Model for Coordination and Security Specifications Middleware Execution Model and Design Issues –Policy based construction of runtime environment Verification of security properties using finite state model checking Future Directions

May 7, Introduction

May 7, Research Goals Rapid construction of secure distributed CSCW (Computer Supported Cooperative Work) systems from their high level specifications Collaboration groups may be formed ad hoc. Virtual organizations spanning different independent enterprises. Peer-to-peer management of collaboration activities –No single entity trusted by all to manage all aspects of a collaboration

May 7, CSCW Systems Multiple users cooperate using shared artifacts towards some common objectives. Groupware Systems Real-time synchronous interactions Tightly coupled Unstructured and ad-hoc coordination Concurrency issues Minimal security Whiteboard systems, Conferencing tools Workflow Systems Asynchronous, loosely coupled interactions Structured interactions based on existing business models Persistence of shared objects Security: important concern Client-server model with securely managed servers Office / Health-care systems

May 7, A Virtual Organization Enterprise A Enterprise C Enterprise B Enterprise D Activities Coordination / synchronization Security Requirements

May 7, Dynamic and Ad Hoc Collaborations Peer-to-peer management of collaboration activities. Different participants perform functions for managing various aspects of a collaboration environment. –Decentralized management Need for a distributed trust model for assigning management functions to the participants.

May 7, Research Approach 1.A specification model for CSCW systems. Security and Coordination Requirements 2.Derivation of policy modules from the specifications. 3.A policy-driven middleware for secure distributed collaboration. Specification of a Collaboration Environment Derivation of Policy Modules from Specification Policy Driven Distributed Middleware Components and Services Runtime Environment

May 7, Policy-Based Approach Decouples coordination and security aspects of a collaboration from the implementation of its functionality. –Collaborative systems may evolve with changes in administrative policies and user experience. –Integration of new objects, devices, or tools may be needed. –Collaboration environments may span multiple administrative domains. Different policies can be easily plugged in.

May 7, Role-Based Model for CSCW ExamPaper Examiner Grader Student GradeSheet AnswerBook users roles objects Course Examination: Example of a CSCW Activity

May 7, Research Approach Collaboration Systems Specification Analysis and Verification Tools Consistency of coordination constraints Coordination Dependency Analysis Security conflicts in assigning management functions to users Derivation of Policy Templates Object Access Control Policies Event Subscription/Notification Policies Role Management Policies Middleware Components and Functions Generic managers for roles and objects Creation of collaboration-specific policy objects at runtime Integration of policy objects with generic managers & application objects

May 7, A Role-Based Model for CSCW A role defines a set of operations Role operations represent a participant’s tasks and privileges to perform actions on shared objects –A role represents a protection domain Access rights are associated with a role Role operations need satisfy coordination constraints. Current RBAC (Role Based Access Control) models do not adequately support the dynamic and context sensitive requirements of CSCW systems.

May 7, Security and Coordination Requirements in Collaboration Systems

May 7, Requirements for Collaboration Specification Coordination requirements –participants in the same role (intra-role) –participants in different roles (inter-role) Security requirements –Role admission Authentication and authorization of users –“Separation-of-Duties” –Dynamic access control policies Requires a unified model for coordination and security Enforcement of security policies –Who can be trusted to enforce a given policy?

May 7, Intra-Role Coordination Models Independent participation –Participants in a role work independently –Each participant has his/her own workspace –No coordination among the role participants Cooperative participation –Coordinate among themselves A role task can be performed by only one person –Participants in the “nurse-on-duty” role administer daily medication only once to a patient. –Joint participation All participants must perform the role operation together –Three banker managers open a bank vault jointly. –Unrestricted participation Users sharing a whiteboard in a meeting

May 7, Role Admission Constraints Specifies conditions that need to be satisfied when a user requests to join a role. For example: –A list of users who are allowed to join –List of users to be disallowed to gain membership –A user's current or prior membership in some other roles –Role membership cardinality –Events that must happen before a user could be admitted in a role

May 7, Separation-of-Duties Static separation-of-duty –A user can never join two security sensitive roles. Dynamic separation-of-duty –A user cannot join two security sensitive roles concurrently. User-user conflicts User-role conflicts Operational separation-of-duty –In a business process, two sensitive operations should never be performed by the same user. –Object-based separation-of-duties A user in a role cannot perform two sensitive operations on the same object.

May 7, Dynamic Access Control Policies A role operation may be allowed to be executed only after the occurrence of certain events. Role activation or invalidation conditions need to be checked and enforced at runtime. History-based separation-of-duties concerns. Access policies for an object may change: –Creation/termination of activities –Completion of some collaboration phase

May 7, Privacy Hide identities of participants’ in one role from other –E.g., Graders do not know the identity of the candidate Presence of a participant may be made visible only through a role or a pseudonym in a role

May 7, Hierarchical Activity Organization New nested activities may be created with existing or new roles An activity is instantiated multiple times, possibly concurrently, with different sets of users and objects Requirement: Certain roles/objects in the parent activity may be needed to be bound to the roles/objects in a new activity.

May 7, A Model for Specifying Collaboration Systems

May 7, Collaboration Activity Activity Definition –It defines a naming scope for objects and roles. –A large-scale collaboration may involve many activities, which may be nested hierarchically. Activity Template –Defines a reusable pattern for collaboration.

May 7, Activity Template Specification 1.Role Specification –Role Admission Constraints Role operations for users to: join, leave, admit, remove –Role Activation Constraints Conditions that must be true for a user to invoke any of the role operations –Role Operations: an operation definition has two parts Precondition and Action 2.Object Specification –Method Signature –Access Control 3.Nested Activity Templates

May 7, Activity Creation Role Assignment –Static Assignment (Role Reflection) : All users from a role in the parent activity are assigned to a role in the new activity (specified in activity definition). –Dynamic Assignment: Users are assigned to roles in the new activity at the time of activity creation. Objects in the parent activity may be needed to be passed to nested activities. –Access control policies for such objects may need to be updated.

May 7, Activity ExamSession ExamPaperAnswerBook Activity ExamSession ExamPaperAnswerBook Example: Course Activity ExamPaper Activity ExamSession ExamPaperAnswerBook Role CheckerRole Candidate Role Assistant Role Examinee Role Examiner Role Grader AnswerBook GradeSheet Role Instructor Role Student Activity Examination Activity Course Role assignment Role reflection Object parameters

May 7, Activity, Role, Object Management Meta Roles –Creator role: user initiating an activity instance. Creator may not always be trusted for managing the activity. –Owner role is trusted to manage the activity instance. The owner role has “vested interest” in managing the entity.

May 7, Activity, Role, Object Management Activity ownership: –Activity template can specify a role in the outer scope as the owner. –If not specified, the owner of the parent activity is the owner. Role ownership –Activity template can specify the owner. –If not specified, the owner of its activity is the owner. Object ownership –Role creating an object is its owner.

May 7, Role Related Specification Functions Psuedo-variables: thisUser, thisRole, … Membership functions: Boolean function member( UserID, RoleName ) member ( thisUser, Instructor ) member ( Tom, thisRole ) List of current members in a role is given by: members( RoleName ) Number of members in a list: # (members( RoleName ))

May 7, Event Specification Three types of events related to each role operation and object method execution: –“request”, “start”, “finish” (Model by Roberts and Verjus, IFIP 1977) –Example: ExamSession.Checker.Grade.finish Event Counters: #(eventName): number of times the event has occurred Derived events: –Filtering an event list based some predicate –Example: opName.start(invoker=John)

May 7, ExamSession Activity An instance of this activity is created by a student in the Examinee role. Only the student creating this activity should be able to join the Candidate role. Only a member of the Grader role in the Examination activity can join the Checker role. This activity must be managed at a Grader’s node, and not at its creator’s node (i.e. student’s node). ActivityTemplate ExamSession ExamPaperAnswerBook Role CheckerRole Candidate

May 7, ExamSession Specification (1) ACTIVITY ExamSession (OWNER Grader, OBJECTS (ExamPaper exam, AnswerBook ans), ASSIGNED_ROLES Candidate) { TERMINATION_CONDITION # (Checker.Grade.finish) > 0 ROLE Checker { ADMISSION_CONSTRAINTS #members(thisRole) < 1 & member(thisUser, parentActivity.Grader) OPERATION Grade { PRECONDITION # (Candidate.Submit.finish) = 1 ACTION ans.setGrade(data) } } ROLE Candidate { … } }

May 7, ExamSession Specification (2) ROLE Candidate { ADMISSION CONSTRAINTS member(thisUser, parentActivity.Examinee) & member(thisActivity.Creator, thisUser) & members(thisRole) < 1 ACTIVATION CONSTRAINTS date > DATE(Mar, 22, 2002, 8:00) & date < DATE(Mar, 22, 2002, 11:00) OPERATION StartExam { PRECONDITION #(StartExam.start) = 0 ACTION { ans = new AnswerBook( ); exam.readPaper( ) } OPERATION Write { PRECONDITION #(StartExam.finish) = 1 ACTION ans.writeAnswer(data) OPERATION Submit { PRECONDITION #(Write.finish) > 0 ACTION ChangeOwner (ans, Checker) } }

May 7, Middleware Framework

May 7, Middleware Design Issues 1.Decentralized management of roles/objects: –All user nodes may not be equally trusted –A single node may not be trusted by all users –How to select a node where an entity should be managed? 2.Consistency issues in distributed enforcement of coordination preconditions. 3.Security issues in event based coordination –Only the events from authorized entities must be used –Policies for authorized event subscription/notification 4. Dynamic access control policies depend on the collaboration state –Policies for access control of shared objects may change with time as new activities are created

May 7, Middleware Components and Services Role Definitions Generic Role Mangers Policy Modules Activity Definitions Generic Activity Mangers Policy Modules Object Definitions Generic Object Mangers Policy Modules Middleware Components Collaboration Specification with Application Level Objects Middleware Services Name ServicePublic Key ServiceActivity Management

May 7, User Interaction Model User Coordination Interface (UCI) Role Manager Object Manager User Authentication by role manager Role membership certificates Invocation of role operations by user Authentication of role manager by the object manager Invocation of object operations on behalf of the user Object Cache

May 7, Policy Modules Role Management Policy Modules –Role admission, activation, and operation preconditions Role-based Access Control Policy Modules –Policies for creating objects and activities –Access control on object method invocation Event Subscription and Notification Policy Modules –Entities allowed to subscribe to certain types of events –Entities allowed to send specific types of events

May 7, Access Control Policy (ACP) Template.OBJECT(ExamPaper, $z) SUBJECT { ACTIVITY_TEMPLATE = $y.ExamSession, OBJECT = ACTIVITY(Course, $x). ACTIVITY(Examination, $y) OWNER = $x.Instructor ENTRY { SUBJECT = $y.Examiner PERMISSION = setPaper CONDITION = ( #( $y.Examiner.SetPaper.start) = 0 ) } ENTRY { ROLE = Candidate } PERMISSION = readPaper }

May 7, ACP for an ExamPaper Object OBJECT = Course.chemistry.Examination.midterm.ExamPaper.exam OWNER = Course.chemistry.Instructor ENTRY { SUBJECT =..Examination.midterm.Examiner PERMISSION = setPaper CONDITION = ( #(..Examination.midterm.Examiner.SetPaper.start) = 0 ) } ENTRY { SUBJECT {ACTIVITY_TEMPLATE =..Examination.midterm.ExamSession, ROLE = Candidate } PERMISSION = readPaper } $x = Course.chemistry, $y =..Examination.midterm, $z =..ExamPaper.exam

May 7, Verification of Security Properties

May 7, Objectives of Policy Verification User interactions follow coordination and task flow requirements. Roles do not have conflicting or inconsistent constraints. Confidential information cannot flow to unauthorized users. Authorized information can be accessed. Any temporal or conditional constraints on accessing objects can be satisfied. The safety property that no rights can be leaked to unauthorized users.

May 7, Verification of Global Properties 1.Reachability of Operations –Example: OPERATION Op1 PRECONDITION #(Op2.finish) = 1 OPERATION Op2 PRECONDITION #(Op1.finish) = 1 2.Task Flow –Requirements are expressed in path expression constructs: (Campbell and Habermann, 1974) sequence(;), selection( () ) with a count (:n) restrictor Example: Examination := Examiner.SetPaper; Examinee.ExamSession.start

May 7, Global Security Properties 3.Role Based Constraints –Example of inconsistent constraint: ROLE B VALIDATION CONSTRAINTS ! member(A) ROLE C ADMISSION CONSTRAINTS member(A) & member(B) 4.Confidentiality and Information Flow –Condition based constraints “A participant of the examinee role cannot access the content of the exam paper before start of his/her own exam session”. “Identity of a candidate should not be known to the grader until the grades are submitted”.

May 7, Global Security Properties 5.Integrity and Access Leakage –Due to owner assignments, participants of the owner roles get extended privileges. –Express integrity policies to check unintentional leakage of access rights. “A participant of the examinee role can only modify his/her answer book, and that is allowed only during his/her exam-session”. 6.Decentralized Management –Untrusted users in administrative roles may actively try to violate sensitive security requirements

May 7, Verification Methodology Verification is performed by modeling the system using SPIN. Problem: Search space explosion Solution: Aspect specific verification: –Ignore properties, which are not in concern when verifying a specific property or can be independently verified.

May 7, Verification Methodology Verification methodology follows a precedence among the properties it checks. Based on aspects of the global requirements developed four verification models: (1)Task Model (2)Role Model (3) Information Flow Model (4) Owner Assignment Model i. Role constraints ii. Entity access and creation iii. Precondition check

May 7, Related Work Other policy based approaches: –COCA: Prolog based coordination policies for interactive applications –DCWPL: Coordination language to deal group interaction issues and uses predefined roles and functions –CSDL (Cooperative Systems Design Language, ICDCS’94) Similarity with programming methodologies: Aspect-oriented programming, Generative programming,

May 7, Conclusions We have developed a role based specification model and a policy-driven middleware to manage the runtime execution environment of secure distributed collaboration systems. The middleware support –Distributed management of collaboration entities –Derivation and enforcement of security and coordination policies based on trust relationships among users and roles Verification of Security Properties using SPIN

May 7, Current and Future Work Experimentation with collaborative systems with different security and coordination policies. (Tanvir Ahmed and REU students Jordan Raney and Sara Holmdahl) Object caching and replication (John Eberhard) Verification of security properties (Tanvir Ahmed, Ivan Osipkov) Extend this system to support ubiquitous and pervasive computing environments.

May 7, Thank you.