=Paper=
{{Paper
|id=Vol-1298/paper13
|storemode=property
|title=Towards a Reference Architecture for Access Control in Distributed Web Applications
|pdfUrl=https://ceur-ws.org/Vol-1298/paper13.pdf
|volume=Vol-1298
|dblpUrl=https://dblp.org/rec/conf/essos/UtthaBR14
}}
==Towards a Reference Architecture for Access Control in Distributed Web Applications==
Towards a Reference Architecture for Access Control in Distributed Web Applications Worachet Uttha1 , Clara Bertolissi1,2 , and Silvio Ranise2 1 LIF, CNRS UMR 7279 & AMU, Marseille, France 2 FBK, Trento, Italy Abstract. Web services are independently written and managed, each with its own access control policy, thus it is challenging to control the access to the information they own. A particularly difficult case occurs when a service invokes another service to satisfy an initial request. We call this ”Transitive access problem”. To tackle this issue, we propose to use XACML for defining Attribute based Access Control (ABAC) poli- cies for web services. We focus on the authorisation issue of access control and solve the transitive access problem by integrating in the XACML ar- chitecture a module for supporting multiple attribute domains. 1 Introduction : Problem and Motivation Nowadays organisations increasingly employ distributed systems in order to im- prove their service performance. Web services, which are a form of distributed system architecture, seem to become the preferred implementation technology for realising the integration and interaction between various systems in Inter- net and Intranet environments. They also offer many benefits over other types of distributed computing architectures, such as maximum service sharing, reuse and interoperability. Web services, each managing their own security policies, must interoperate while maintaining secure access to their information. Therefore, in this context, access control becomes one of the challenging issues that must be well-defined in order to ensure a secure cooperation. A particularly difficult case involves a service that invokes another service to complete its computation and serve a request. We call it the ”Transitive access problem”. We assume here that there is a unique path from one service to another. Web service orchestration issues are beyond the scope of this work. To explain it in a more concrete way, we give next an example about a medical scenario inspired from [1] that can be seen as an instance of the scenario in Figure 1. We suppose that Attribute Based Access Control (ABAC) is in place in the different services provided by the medical clinic. The ABAC model is well- adapted for open, dynamic and distributed scenarios, since users can identify themselves by using their attributes unlike Identity Based Access Control where the access is directly associated with a user’s identifier[4]. In our example, we consider a clinic composed of four entities, each entity providing one or more web services protected by ABAC. Fig. 1. Access control with a mediation service – Clinical management: manages the scheduling of patients and captures the actions performed by doctors and nurses. – Laboratory information system: tracks the tests to be performed and their results. – Patient records: maintains historical data about patients health. – Web portal: provides convenient web access to the previous three services. It does not store any confidential data locally. Instead, when the user requests a page, the portal makes service calls to the other services using the requesting user’s attributes. The transitive access problem occurs for instance when a user requests a page from the Web portal that calls the Clinical management service in order to retrieve details of tests that have been ordered by the doctor. In this case, the Clinical management service needs to invoke the Laboratory information system to satisfy this request. As each service is protected by its own access control pol- icy, the requester may have the right to make a call to the Clinical management but this does not mean that he has the right to invoke the Laboratory infor- mation system to retrieve the test results. To solve this problem, we will work with the eXtensible Access Control Markup Language (XACML)[9]. XACML is an OASIS standard for authorisation decision making that includes a flexible attribute based authorisation model where access control decision can be made based on the attributes of the subject, the action and the target. We propose to add to the XACML architecture a component that can delegate attributes of one entity to someone else. This implies the definition of a mapping on a (sub)set of attributes that belong to different policy domains. 2 Aims and Objectives Our main goal during this Ph.D. thesis is to provide an efficient and adaptive solution for access control in the context of Web Services. We can divide our main goal into four sub-goals : – Specification. We aim at identifying and representing the different features of access control needed in a distributed and dynamic context such as web services. We want to highlight key challenging issues and outline possible ways to overcome them. – Design. We want to extend capacities and abilities of existing standard tools in order to respond to the problematic issues identified in the first part. – Implementation. We expect to have an implementation of our solutions able to provide both the desired functionality and the required security of the system. – Validation. We will validate our approach through concrete case studies. In particular, in the specification phase, we have focused on the transitive ac- cess problem for web services, since managing access in the case of transitive calls is a challenging issue and no satisfactory solution is available in the literature (see next Section for a discussion). Therefore, the main expected contribution of this part is providing an alternative specification of the access control model that could solve the transitive access problem. One of the important issues to address is the presence of multiple domains, since each service has its own access control policy based on attributes and users may not be recognised in every domain. We propose to delegate (a subset of) user’s attributes from one domain to another. For that, we need to define a delegation graph, which is a Directed Acyclic Graph (DAG), that describes who (i.e. the delegator) has the right to delegate what (i.e. part of his attributes) to whom. This suppose to have previously reached an agreement between the different participants on a set of attributes that are allowed to be delegated. Concerning the design, we have chosen to improve the access control for Service Oriented Architecture (SOA) based on Web Services standard. For the implementation, we add a support to the XACML architec- ture in order to delegate requester’s attributes from one service to another in the case of multiple domains. Finally we want to test our results on practical case studies, suitable to represent the transitive access problem. 3 Related work and expected contributions The transitive access problem occurs frequently in big organisations which em- ploy many services, each with its own access control policy. In [2], a solution for transitive access has been proposed but it addresses to the case of a single organisation: all services have the same access control model which is defined as Authorisation Based Access Control (ZBAC). In this context, there is no need to federate identities and find a global agreement on the meaning of attributes. [3] considers multiple policy domains and dynamic delegation of authority from one user to another focusing on the use of credentials. However, it does not specifically consider the problem of access request evaluation and access deci- sion making in the case of transitive calls. [5] addresses the problem of access control for web service composition. The access policies are specified in Pure- Past Linear Temporal Logic (PPLTL) that allows to exploit the history of service invocations to make access control decisions. However, we think that in practice the specification of policies in PPLTL is not very friendly from the point of view of a security designer. [6] and [7] also discuss access control in web service com- position. Nevertheless, their approach is different from ours. They consider the issue of service unavailability along a pathway to a target service, and they solve it by invoking dynamically alternative services belonging to different domains. As Single Sign On (SSO) [8] has provided a single authentication mechanism thus enhancing the interoperability of web services, in the same way we aim to reach a standard for the authorisation aspect of web service access control. We do not consider only the specification of security policies or the management of security in the system, but we aim at considering the whole security architecture of the system, keeping in mind the satisfaction of the security requirements while guaranteeing the desired functionality. Summarising, we aim at producing a reference architecture and implemen- tation which will provide a significant improvement towards the standardisation of access control in Services Oriented Architectures. 4 Work progress Specification of the model We have decided to use access control policies specified following the ABAC model. Due to the presence of multiple domains, we have defined a delegation policy based on the mapping of a sub-set of attributes belonging to different policy domains. This is formalised by a delegation graph in the form of DAG which describes the way requesters’ attributes (e.g. roles in the medical clinic example) are delegated in each service. The delegation graph is of crucial importance to determinate access request decisions in the case of transitive service invocation. Architecture At architectural level, adding a support for the delegation of at- tributes in XACML requires some considerations before deciding where such a component could be incorporated into the XACML model (see Fig. 2). The major actors in the XACML model are: the Policy Administration Point (PAP) which manages access authorisation policies, the Policy Decision Point (PDP) which evaluates access requests before issuing access decisions, the Policy Enforcement Point (PEP) which is the endpoint for authorisation request and response, the Policy Information Point (PIP) acts as the source of various attribute values and the Context handler which converts a request from its native form into XACML format and an XACML response into its native representation. The delegation module could be called by the PEP. In this case each application will need to be modified in order to use a delegation module, since the PEP is an application Fig. 2. XACML Extended : PIP with delegation dependent component. It could be also called by the Context Handler. In this case, existing components, i.e. PEP, do not need to change. The only one that needs to change is the Context handler itself. Another solution is to integrate the delegation module to the PIP, in which case existing application do not need to be modified since the PIP is the closest component and has a direct link to subjects, resources and environment. The last one is our preferred approach since in our opinion it represent an easy and efficient way of incorporating the delegation module into the XACML architecture. Our approach has been adapted from [3]. The authors in [3] propose to add to the XACML conceptual model a component for the delegation of authority dealing with the managing of attribute credentials issued by trusted authorities. We do not consider attribute trusting issues in our work, instead we introduce the delegation graph as a means to delegate attributes, and thus privileges, to other users across different domains. Implementation We are currently implementing our extended XACML model. We use the WSO2 Identity Server, which has an XACML engine embedded and acts as PAP and PDP. We have chosen as case study the medical clinic and implemented all services as a web service standard (UDDI for services discovery, WSDL for interface definitions and SAOP for invocations, all of which use XML as the communications format) based on SOA. Future work Once we have a functional implementation prototype, we plan to apply our solution to concrete case studies such as the online services provided by the University of Trento for students (see the Smart Campus Project http: //www.smartcampuslab.it). 5 Conclusion We have modelled our problem by using ABAC policies and introduced an XAML module for the delegation of attributes. This allows us to solve the access control problem in case of transitive access requests. We are currently implementing our extension in the XACML standard and would like to apply our solution to concrete case studies. The main contribution of our research to the field of engineering secure systems is on the one hand, to ensure both the required security and the desired functionality of systems based on SOA, in par- ticular in the case of transitive access requests; on the other hand, we provide the specification and implementation of policies and security requirements by adding a support to existing standard tools. Acknowledgments This work was partially supported by the RESTATE Pro- gramme, co-funded by the European Union under the FP7 COFUND Marie Curie Action—Grant agreement no. 267224. References [1] Fischer, J.; Majumdar, R. ”A Theory of Role Composition”, IEEE International Conference on Web Services, ICWS ’08, pages 320-328, 2008. [2] Karp, A.H.; Jun Li, ”Solving the Transitive Access Problem for the Services Ori- ented Architecture.” ARES, page 46-53. IEEE Computer Society, (2010). [3] D. W Chadwick; S. Otenko; T. A. Nguyen, ”Adding Support to XACML for Dy- namic Delegation of Authority in Multiple Domains”, in Communications and Mul- timedia Security. LNCS 4237. Springer , pp. 67-86, 2006. [4] A. Esfandi; M.. Sabbari. ”Study of Access Control Issue in Web Services”, Inter- national Journal of Computer Applications 49(1):11-16, July 2012. [5] Srivatsa, M.; Iyengar, A., ”An Access Control System for Web Service Composi- tions,” IEEE International Conference on Web Services, ICWS’07, pp.1-8, 2007. [6] Wei She; I-Ling Yen; Thuraisingham, B.; Bertino, E., ”Security-Aware Service Composition with Fine-Grained Information Flow Control,” Services Computing, IEEE Transactions on , vol.6, no.3, pp.330,343, July-Sept. 2013 [7] M. Mecella, M. Ouzzani, F. Paci, and E. Bertino. 2006. ”Access control enforce- ment for conversation-based web services”. In Proceedings of the 15th international conference on World Wide Web (WWW ’06). ACM, New York, NY, USA, 257-266. [8] Single Sign On (SSO), http://www.opengroup.org/security/sso [9] ”eXtensible Access Control Markup Language (XACML)” v3.0, 22 Jan. 2013, avail- able from https://www.oasis-open.org/committees/xacml