240 likes | 356 Views
This paper discusses the challenges of enterprise-wide access control in heterogeneous web services, focusing on the regulation of synchronous communication. It outlines the motivations for such control, existing approaches, and proposes a solution based on Local Global Integration (LGI). The solution emphasizes controlling both request arguments and responses, ensuring compliance with a communal policy tailored for various user needs, such as in healthcare settings. It also addresses the intricacies of communication regulations within web services, presenting examples and implementation techniques for effective access control.
E N D
Regulating the SynchronousInteraction of Web-Services Constantin Serban Department of Computer Science Rutgers University 1
Outline • Enterprise-wide access control : motivation • Current approaches and LGI-based solution • Regulating synchronous communication • Controlling the request arguments • Controlling the answer • Conclusions 2
Enterprise-wide access control • Enterprises increasingly rely on heterogeneous collections of web services • Each WS may have its own server-centric policy • Question: how does one establish a communal, enterprise wide policy? • How to ensure that this policy is complied with 3
Enterprise wide access control Enterprise policy WS WS 4
Communal AC –a Case Study • Consider a healthcare system composed of multipleheterogeneous services maintaining patient records. • An example of a communal AC policy: • Doctors can access patient records, in full. • Researchers can access specified parts of the records, and they have to pay for it, in proportion to the volume of data received. • All accesses to patient records are to be monitored. • Such a policy has to be specified at the enterprise level, and complied with by all WS and their users 5
Server-Centric AC Client Access Control Request Server Response 6
Server-Centric AC • Each server has its own AC policy • The enforcement of the policy is at the discretion of the server Client Access Control Request Server Response 7
Communal AC (XACML & Others) P PDP: Policy Decision Point PDP PEP: Policy Enforcement Point Client PEP Request Server Response 8
Communal AC (XACML & Others) • The policy can be enterprise wide • But the enforcement is still at the discretion of the server • Moreover, it is application-dependent P PDP: Policy Decision Point PDP PEP: Policy Enforcement Point Client PEP Request Server Response 9
Communal ACvia central Reference Monitor (RM) • Carries enterprise-wide policy • Access control is mandatory Client Request P Server Response RM 10
Communal AC via central RM • Not scalable, and potential bottleneck Client Request P Server Response RM Client Client Server 11
Communal AC via LGI Client Req P P Server Resp Controller Controller 12
Communal AC via LGI • Both controllers carry the same policy • Access control is mandatory, stateful, fine-grained Client Req P P Server Resp Controller Controller 13
Types of communication in WS • Regulation of message exchange using LGI (previous presentation) • Significant portion of WS traffic is synchronous (SOAP-RPC) • Regulation of synchronous communication has several peculiar aspects 14
Outline • Enterprise-wide access control : motivation • Current approaches and LGI-based solution • Regulating synchronous communication • Controlling the request arguments • Controlling the answer • Conclusions 15
Regulating synchronous communication • Control both therequestand the response • Regulate both at the client side and at the server side—maintaining state in both • Sensitive to: • Request arguments • Return value • State, of both client and server; state of the communication between the request and the response • Impose constraints on the communication protocol: time-outs, load balancing, etc 16
Control over the request • Purpose • Specify under what condition a client can make a certain request to a service • different than what client can access the service • Access control based on: • Source and target of the request, their state, the request and its parameters 17
Control over the response • Control information might be available only at the time of the response • The state of both the client and the server are best updated based on response data • For other purposes: auditing, accounting, etc. 18
Response control : Example 1 • A healthcare system provides a generic service to access a patient’s record. • Clients can be both doctors and researchers • Doctors can access each record in full, researches can access some of the information within a record • Access control scheme can blackout the sensitive data in a record after the service responds. 19
Response Example 1(cont’d) Controller Controller Client getRecord(id#) P P Server recordAns ------- ------- diagnostic medication recordAns ssn name diagnostic medication 20
Response control : Example 2 • Researchers pay only if a request is satisfied, and in proportion to the volume of the data received • Update the state (token, others…) of the researcher only if the request was successful • Increase/decrease the reputation of the server • The answer itself determines the change in the state of (either, both) server/client 21
Response Example 2(cont’d) Controller Controller Client getRecord(id#) P P Server recordAns decreaseBudget updateReputation 22
Implementation • RRMI – Regulated RMI : source level RMI compatible • Full stub/skeleton generation • RRMI Registry fully implemented with LGI control • Policies written in Java in a simple, concise form. • Good performance : overhead in the order of few hundreds of micro-s/method call • Part of a subsequent release of the Moses platform • Work in progress: move the protocol to SOAP 23
Summary • WS are required to comply to enterprise-wide policies • Several approaches in access control • LGI control model for WS • Synchronous interaction of WS • Stateful and fine grained control • Control over the reply in synchronous interaction 24