Title: Protocols for Secure Interactions in Distributed Collaboration Systems
1Protocols for Secure Interactions in Distributed
Collaboration Systems
- Masters Plan B Presentation26th November 2002
Richa KumarAdvisor Dr. Anand
TripathiComputer and Information Science - University of Minnesota
2Outline
- Background
- Collaborative Systems
- Construction of collaborative systems from high
level specifications - Role-based model for collaboration
- Interaction between collaboration entities
- Middleware components and generic managers
- Runtime security requirements
- Security protocols
- Conclusions
3Collaboration Systems
- CSCW (Computer Supported Cooperative Work)
Systems - Workflow Structured asynchronous interactions,
e.g. medicare systems, office automation systems - Groupware Less structured synchronous
interactions, e.g. whiteboard - Characteristics of CSCW systems
- Group of users, shared objects, common objectives
- Important Issues
- Coordination
- SECURITY
4Background Building a Collaboration Environment
from High-level Specifications
Collaboration Specification
Derivation of Policy Templates
1. Object access control
2. Event subscription and notification
3. Role management policies
Analysis and Verification Tools
4. Meta-policies ownership, policy updates
1. Consistency of coordination constraints
2. Security vs. ownership conflicts
Middleware
1. Generic managers and secure interaction
protocols
2. Runtime creation of activity specific policy
objects from policy templates
3. Integration of policy objects with generic
managers
5BackgroundBasic Entities in a collaboration
Activity
users
roles
objects
GradeSheet
Examiner
ExamPaper
Grader
AnswerBook
Student
6Background Role-Based Model
- Roles
- A role defines a set of operations executed by a
participant - Role operations represent a participants tasks
and privileges to perform actions on shared
objects - Operations
- Preconditions to coordinate users actions
- Actions method invocations, synchronization
actions - Operation related events start, finish
- Role admission Constraints
- Meta roles Owner
7Background Role-Based Model
- Activities
- Protection domain for roles, objects and
privileges - Hierarchical nesting of activities
- Activity template defines a reusable pattern for
collaboration - Objects
- Managed on servers trusted by their owners
- Objects may enforce both role-based as well as
user-id based access control - Role-based access control is derived from role
operation definitions - Dynamic access control facilitated by operation
preconditions
8Collaboration Components
User Coordination Interface
User Coordination Interface
User Coordination Interface
Collaboration Specification with Application
Level Objects
Activity Definitions
Role Definitions
Object Definitions
Policy Modules
Policy Modules
Policy Modules
Generic Role Managers
Generic Activity Managers
Generic Object Managers
Middleware Components
Name Service
Public Key Service
Activity Management
Middleware Services
9Distributed Middleware
- Participants may be from different administrative
domains - No single node may be trusted by all participants
- Not all participants are equally trusted for
enforcing collaboration policies - Owner role for an entity defines which
participants can be trusted for managing the
entity - Manager is maintained on owners trusted site
- Managers within the same activity may be
distributed
10Generic Manager Functionality
- Evaluation of conditions
- Role admission constraints, operation
preconditions, activity termination conditions - Conditions are based on
- Event counts related to role operations
- Conditions are represented as tree structures
- Leaf nodes event counts
- Internal nodes operators and, or, -
- Nodes updated using two strategies
- Push model Event notifications
- Pull model Context based evaluation
11Generic Manager Functionality
- Peer-peer event service
- Event Generators
- Generation of primitive event counts and event
predicates based on operation start and finish - Based on subscription policy
- Event Handlers
- Updating condition trees on incoming events
- Based on notification policy
- Ticketing Module
- Creation and verification of tickets used in
interaction protocols - Data structures for maintaining context
information
12Generic Manager Design
Event Notification
Event Subscription
Role Manager/Adapter Object
Ticketing
OPERATION TABLE
INCOMING EVENT TABLE
Handler
OpName
Precondition
Action
Event
Source
EVENT MANAGER TABLE
Primitive Event
Count Information
Event Generators
op1.start
3, u11, u2 2
op1.start gt 2
op1.start(invoker thisUser) 0
To event dispatcher
13Object Manager
- An object manager is constructed for each object
in the collaboration system - Extends the generic object manager
- Adapts the interface of the object to include
ticketing for authentication and session
management - Object Interface Adapter Interface
- m1() m1(ticket)
- m2(int) m2(int, ticket)
- M3(String) m3(String, ticket)
14Interaction Among Basic Entities
User
Role
Object
1
2
1
2
3
4
1
2
4
3
5
2
1
3
4
15Runtime Security Requirements
- User authentication during role admission and
operation invocation - Facilitate enforcement of role admission policies
and preconditions - Integrity of operation context
- Authorization for invoking object methods
- Role context of the user must be established and
verified - Object methods are invoked by the role manager on
behalf of the user -- role manager needs to be
authenticated - User based access control may need to be
performed - User may need to provide the role manager with
authorization to invoke object methods on its
behalf - Object manager may not trust role manager
- Prevent role manager from forging requests on
behalf of user
16Runtime Security Requirements(2)
- User-Object Interaction
- Role manager initiates the user-object session
- Preconditions verified only once at the time of
session initialization - Subsequent requests verified for valid session
information - Session management
- Authentication of user
- Integrity of method name, parameters and session
id - Prevent replay (possibly by same user at a later
time) - Not dealing with confidentiality
- User needs to authenticate the object manager,
which sends the object interface - User may not know a priori which object manager
will be involved as part of the role operation
due to the notion of role operation abstraction - Event notifications must be authenticated
17Name and Certificate Service
- Secure Name Service
- Component of Ajanta a java based mobile agent
programming framework - Every entity in the collaboration has a unique
name given by the name service - URN Uniform Resource Name (RFC 2141)
- Associated with each entity is a public-private
key pair for authentication - Name service also issues X509 Certificates for
providing a secure binding between the entitys
name and public key
18Basic Authentication Protocol
Basic Challenge Response protocol used in Ajanta
Client C
Server S
19Role Operation Invocation Protocol
User U
Role Manager R
InvokeOperation(opName, Ticketop)
Ticketop R, NrSign(U) , Ticketu
Ticketu R, u_contextSign(U), u_context
u_context U, UCI, opName, TS
1. Role Manager verifies basic ticket for user
authentication
2. Verifies user ticket for integrity of
operation context
3. Checks operation preconditions
20Role-Object Interaction Protocol
Role Manager R
Object Manager O
objRef.method(parameters, Ticketm)
Ticketm R, O, No, method, parameters
Sign(R), Ticketro
Ticketro O, TicketuSign(R), Ticketu
Ticketu ticket provided by user U
1. Object manager verifies extended basic ticket
for role authentication
2. Operation preconditions are checked for
enforcing dynamic access control
3. User Ticket verified for user authorization
and user based access control
4. Ticketro is used by the object manager to
establish a session with the user
21User-Object Interaction
User U
Object Manager O
interfaceRef, Ticketou
Ticketou O, U, Ticketu, Nou , sessionId
Sign(O), Nou, sessionId, Ticketro
Ticketu ticket provided by U to R (included in
Ticketro )
Ticketro ticket provided by R to O to initiate
a session
1. User verifies that the user ticket is still
valid (one time use only)
2. Object managers identity is extracted from
Ticketro
3. Basic ticket verified for authentication
(one-time user ticket acts as a nonce)
22User-Object Interaction
User U
Object Manager O
method(parameters, Tickets)
Tickets U, O, Nou, s_contextSign(u)
,s_context
s_context U, UCI, sessionId, method,
parameters
1. Extended basic ticket verified for user
authentication
2. Integrity of session context is verified
3. Operation context obtained from session table
4. Operation-to-method mapping verified
23Data Structures for Session Mgmt.
Role Manager
UCI
User
Object
Object Manager
Session Table
Object Interface
Op-methods mapping
op
ticket
id
ticket
Access Control
User Ticketing
Object Ticketing
Object Manager
User Coordination Interface
24Preventing Attacks
- Impersonation
- Man in the middle
- Prevented by including destination entitys
identity in each ticket (Due to Gavin Lowe, 1995) - Replay attack
- Tickets include nonces where both parties can
communicate to establish the initial challenge - Time stamps used where nonces cannot be
pre-established - Assumption of securely synchronized clocks
- Tampering of request parameters
- Request parameters are signed
25Preventing Attacks (2)
- Role manager forging user requests
- By requiring that the role manager present to the
object manager a signed authorization from the
user, this can be prevented. - If role operation preconditions are not
satisfied, the role manager may use the
authorization at a later time. Time stamps are
used to prevent this. - Authenticating the object manager
- Authenticating the correct object manager
- Identity certified by the role manager
- User gets back the initial delegation given to
role manager - Role operation was really initiated by the user
- User tickets valid only for one time use
- Object manager signs a known piece of information
for authentication. Also provides signature on
sessionId for integrity. Time-stamp included for
freshness.
26Preventing Attacks (3)
- Session Termination
- Session is invalidated after the
session-terminating method is invoked for a
given object interface preventing a user from
using a stale session id for circumventing
dynamic access control - Session timeout
27Conclusions and Future Work
- Generic Middleware components and their
interactions - Security protocols
- Authentication
- Access control
- Integrity of request parameters
- Future Work
- Meet requirements of confidentiality and
pseudonyms - Analysis of security protocols
28The End.
29Literature on Designing Protocols
- Prudent Engineering Practice for Cryptographic
Protocols - Martin Abadi and Roger Needham, 1995
- Hidden Assumptions in Cryptographic Protocols
- C. Boyd, 1990
- An Attack on the Needham-Schroeder Public-key
Authentication Protocol - Gavin Lowe