Department of Computer Science A flexible access control model for web services Elisa Bertino, Anna Cinzia Squicciarini Lorenzo Martino, Federica Paci CERIAS and CS Department, Purdue University DICO, University of Milano SLIDE 1 Outline Overview of Ws-Attribute Based Access control (Ws-AC1) Underlying technologies – Digital identity management – Trust negotiation system Access control model System architecture Conclusions and future work Web Services A Web service is a Web-Based application that can be Published Located Invoked Compared to centralized systems and clientserver environments, a Web service is much more dynamic and security for such an environment poses unique challenges. Web Services: Access Control An important issue is represented by the development of suitable access control models, able to restrict access to Web services to authorized users. Web services are quite different with respect to objects typically protected in conventional systems, since they consist of software modules, to be executed, upon service requests, according to a set of associated input parameters. security technologies commonly adopted for Web sites and traditional access control models are not enough! WS-AC1 Fine-grained access control system for Web services – Supporting gradual verification of user attributes – Characterized by capabilities for negotiating service parameters – Fully integrated with existing standards (WSDL, UDDI, Ws-Policy). An adaptive system, supporting the notion of context influencing service provisioning Ws-AC1: goals The goal of Ws-AC1 is to express, validate and enforce access control policies without assuming pre-established trust in the users invoking the web services. Underlying Technologies Digital Identity Management What is digital identity? – Digital identity can be defined as the digital representation of the information known about a specific individual or organization Technically, the term DI usually refers to two different concepts: – Nym – a nym gives a user an identity under which to operate when interacting with other parties. Nyms can be strongly bound to a physical identity – Partial identity – partially identities refer to the set of properties that can be associated with an individual, such as name, birth-date, credit cards. Any subset of such properties represents a partial identity of the user Underlying Technologies -Trust Negotiation Interactions between strangers - In conventional systems user identity is known in advance and can be used for performing access control - In open systems partecipants may have no pre-existing relationship and may not share a common security domain Mutual authentication - Assumption on the counterpart honesty no longer holds Both participants need to authenticate each other Underlying Technologies - Trust Negotiation A promising approach for open systems where most of the interactions occur between strangers. The goal: establish trust between parties in order to exchange sensitive information and services The approach: establish trust by verifying properties of the other party. Ws-AC1: service description Services are defined in terms of a description, containining information like identity attributes (AuthAttrs) and service parameters (Parameters), required to submit access requests. – Service parameters represent information the requester has to provide to activate the operation supported by the service and information related to level of QoS required by the user. Each parameter has an associated domain specifying the legal values Each service has an associated type defined according to the existing classifications supported by the UDDI registries. Service Description - example The service description of the TravelAgency web service can be defined as follows: – Serv-descr = <TravelAgency;Business; (Departure, Destination, DepartureDate, ReturnDate, MeansofTransport, HotelPreferences, Fare); (Age, PictureId)> where TravelAgency is the service identifier, Departure, Destination, DepartureDate, ReturnDate, MeansofTransport, HotelPreferences are the service parameters necessary to invoke the booking service, Age and PictureId are two attributes used by the WS-AC1 system to identify the service requester. Ws-AC1 access control model Access conditions – expressed in terms of partial identities – take into account also the parameters characterizing web services. Concept of access negotiation – Web service negotiation in Ws-AC deals with the possibility for trusted users to dynamically change their access requests in order to obtain authorizations. Ws-AC1 access control policies An access control policy is defined by: – A service identifier or a service type – A set of conditions against partial identities of subjects – A set of parameter specifications – A set of parameter constraints A constraint restricts the set of values associated with a parameter on the basis of value of the context variables and/or of the values assumed by other parameters defining the service. Ws-AC1 access control policies -examples Policy Pol1 – pol1 = < Travel; {Age > 26, Student}; {Departure, Destination, Fare}; {Fare=gold Departure= Chicago} {Destination {Toronto, Rome, Berlin} Student> – It authorizes subjects older than 26 traveling from Chicago to get a special fare and restrict possible destinations for students; Policy Pol2 – < Travel; {Age < 18, Citizenship=America}; { Departure, Destination, MeansofTransport}; {MeansofTransport {bus, plane} Departure=Rome AND Destination= Milan} > – It authorizes subjects that are younger than 18 travelling from Rome to Milan to use either a bus or a plane for reaching the destination Ws-AC1 protocol 1. Access requests are received specified by constraining service parameters, and subject partial identities Note: a subject before releasing partial identity information may require to establish trust by using trust negotiation 2. Ws AC1 access control consists of two phases: 1. Subject authentication 2. Parameter negotiation Subject Authentication If the attribute values specified by the user in the access request do not satisfy all the conditions of any corresponding access control policy, the access request is said partially compliant. The system can then require the user to provide the additional attributes of the policy not appearing in the service description. Parameter Negotiation Once the subject has been authenticated, the system extracts the compliant access control policies, in order to establish whether the subject request can be: accepted as it is must be rejected has to be negotiated. A request negotiation results in eliminating and/or modifying some of the service parameters specified within an access request that made it not immediately acceptable. Access responses in Ws-AC1 There are three possible replies: 1. The submitted attributes match with a policy for the specified service request and the specified service parameters are acceptable by the policy Request is granted 2. 3. The submitted attributes do not match with any policy for the specified service request Request is rejected The submitted attributes match with a policy for the specified service request but the specified service parameters are not acceptable by the policy Negotiate request Access responses in Ws-AC1 - example Requests: – [Travel; {Student}; { Departure=Rome, Destination=New York, Fare=Gold }] It is partially compliant with Pol1, since attribute AGE is lacking. It requires further attributes to be submitted in order to be processed. – [Travel;{Student, Age=25}; { Departure=Rome, Fare=Gold}] It fully complies with Pol2; however it must be negotiated since the parameter DESTINATION is missing – [Travel;{DrivingLicence_Issuer=Italy}; { Departure=Rome, Fare=Gold}] It is rejected since it does not match the subject specification of any policy Encoding WS-AC1 policies using Ws-Policy In order to be as flexible as possible the system is implementation independent and can thus function with any specific web service technology In addition, it is compliant with the existing standards for security for web services. Indeed, services are described using WSDL and access control policies describing the conditions required to grant access to services are represented using Ws-Policy Ws-AC1 policies vs WS-Policies Ws-Policy is a specification that defines a general framework to describe a broad range of Web service policies. Ws-Policy defines a policy as a collection of alternatives. Each alternative is a collection of assertions. To encode Ws-AC1 access control policies we define a new type of policy assertions, since no public specification we are aware of define assertions suitable for expressing attribute conditions and parameter conditions required by Ws-AC1 policy formalism. WS- AC1 System Architecture Open issues – Negotiation of parameters: How can subjects negotiate service parameters? – Delegation: How to manage delegated access requests? – Cached policies: How and where keep track of previous access requests? – Policy protection: How to protect UDDI registries where AC policies are stored? Future work – Delegation mechanisms for credentials – Automated mechanisms supporting negotiations of parameters – Authorization derivation rules, allowing authorizations on a service to be automatically derived from authorizations specified on other services. – Security analysis of Ws-AC1 to test system security and reliability.