<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Towards a Reference Architecture for Access Control in Distributed Web Applications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Worachet Uttha</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Clara Bertolissi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Silvio Ranise</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>FBK</institution>
          ,
          <addr-line>Trento</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Introduction : Problem and Motivation</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>LIF, CNRS UMR 7279 &amp; AMU</institution>
          ,
          <addr-line>Marseille</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>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 di cult 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 de ning Attribute based Access Control (ABAC) policies for web services. We focus on the authorisation issue of access control and solve the transitive access problem by integrating in the XACML architecture a module for supporting multiple attribute domains.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>{ 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 con dential data locally. Instead, when the user requests a
page, the portal makes service calls to the other services using the requesting
user's attributes.</p>
      <p>
        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
policy, 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
information system to retrieve the test results. To solve this problem, we will work
with the eXtensible Access Control Markup Language (XACML)[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. XACML is
an OASIS standard for authorisation decision making that includes a exible
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 de nition of a mapping on a (sub)set of
attributes that belong to di erent policy domains.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Aims and Objectives</title>
      <p>Our main goal during this Ph.D. thesis is to provide an e cient and adaptive
solution for access control in the context of Web Services. We can divide our
main goal into four sub-goals :
{ Speci cation. We aim at identifying and representing the di erent 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 identi ed in the rst 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.</p>
      <p>In particular, in the speci cation phase, we have focused on the transitive
access 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 speci cation 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 de ne 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 di erent 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
architecture 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</p>
    </sec>
    <sec id="sec-3">
      <title>Related work and expected contributions</title>
      <p>
        The transitive access problem occurs frequently in big organisations which
employ many services, each with its own access control policy. In [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], 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 de ned as
Authorisation Based Access Control (ZBAC). In this context, there is no need
to federate identities and nd a global agreement on the meaning of attributes.
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] considers multiple policy domains and dynamic delegation of authority from
one user to another focusing on the use of credentials. However, it does not
speci cally consider the problem of access request evaluation and access
decision making in the case of transitive calls. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] addresses the problem of access
control for web service composition. The access policies are speci ed in
PurePast 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 speci cation of policies in PPLTL is not very friendly from the point of view
of a security designer. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] also discuss access control in web service
composition. Nevertheless, their approach is di erent 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 di erent domains.
      </p>
      <p>
        As Single Sign On (SSO) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] 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 speci cation 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.
      </p>
      <p>Summarising, we aim at producing a reference architecture and
implementation which will provide a signi cant improvement towards the standardisation
of access control in Services Oriented Architectures.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Work progress</title>
      <p>Speci cation of the model We have decided to use access control policies speci ed
following the ABAC model. Due to the presence of multiple domains, we have
de ned a delegation policy based on the mapping of a sub-set of attributes
belonging to di erent 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.</p>
      <p>Architecture At architectural level, adding a support for the delegation of
attributes 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
modi ed in order to use a delegation module, since the PEP is an application
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 modi ed 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 e cient way of incorporating the
delegation module into the XACML architecture.</p>
      <p>
        Our approach has been adapted from [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The authors in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] 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 di erent domains.
      </p>
      <p>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 de nitions and SAOP for invocations, all of which use XML
as the communications format) based on SOA.</p>
      <p>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</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>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 eld 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
particular in the case of transitive access requests; on the other hand, we provide
the speci cation and implementation of policies and security requirements by
adding a support to existing standard tools.</p>
      <p>Acknowledgments This work was partially supported by the RESTATE
Programme, co-funded by the European Union under the FP7 COFUND Marie
Curie Action|Grant agreement no. 267224.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Fischer</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ; Majumdar,
          <string-name>
            <surname>R.</surname>
          </string-name>
          <article-title>"A Theory of Role Composition"</article-title>
          ,
          <source>IEEE International Conference on Web Services, ICWS '08</source>
          , pages
          <fpage>320</fpage>
          -
          <lpage>328</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Karp</surname>
            ,
            <given-names>A.H.; Jun</given-names>
          </string-name>
          <string-name>
            <surname>Li</surname>
          </string-name>
          ,
          <article-title>"Solving the Transitive Access Problem for the Services Oriented Architecture."</article-title>
          <source>ARES</source>
          , page
          <volume>46</volume>
          -
          <fpage>53</fpage>
          . IEEE Computer Society, (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D. W</given-names>
            <surname>Chadwick</surname>
          </string-name>
          ; S. Otenko; T. A.
          <string-name>
            <surname>Nguyen</surname>
          </string-name>
          ,
          <article-title>"Adding Support to XACML for Dynamic Delegation of Authority in Multiple Domains"</article-title>
          ,
          <source>in Communications and Multimedia Security. LNCS 4237</source>
          . Springer , pp.
          <fpage>67</fpage>
          -
          <lpage>86</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Esfandi; M.. Sabbari</surname>
          </string-name>
          .
          <article-title>"Study of Access Control Issue in Web Services"</article-title>
          ,
          <source>International Journal of Computer Applications</source>
          <volume>49</volume>
          (
          <issue>1</issue>
          ):
          <fpage>11</fpage>
          -
          <lpage>16</lpage>
          ,
          <year>July 2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Srivatsa</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Iyengar</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <article-title>"An Access Control System for Web Service Compositions,"</article-title>
          <source>IEEE International Conference on Web Services, ICWS'07</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Wei</given-names>
            <surname>She; I-Ling</surname>
          </string-name>
          <string-name>
            <surname>Yen</surname>
          </string-name>
          ; Thuraisingham,
          <string-name>
            <given-names>B.</given-names>
            ;
            <surname>Bertino</surname>
          </string-name>
          ,
          <string-name>
            <surname>E.</surname>
          </string-name>
          ,
          <article-title>"Security-Aware Service Composition with Fine-Grained Information Flow Control," Services Computing, IEEE Transactions on</article-title>
          , vol.
          <volume>6</volume>
          , no.
          <issue>3</issue>
          , pp.
          <volume>330</volume>
          ,
          <issue>343</issue>
          ,
          <string-name>
            <surname>July-Sept</surname>
          </string-name>
          .
          <year>2013</year>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Mecella</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ouzzani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Paci</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Bertino</surname>
          </string-name>
          .
          <year>2006</year>
          .
          <article-title>"Access control enforcement for conversation-based web services"</article-title>
          .
          <source>In Proceedings of the 15th international conference on World Wide Web (WWW '06)</source>
          . ACM, New York, NY, USA,
          <fpage>257</fpage>
          -
          <lpage>266</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Single</given-names>
            <surname>Sign</surname>
          </string-name>
          <article-title>On (SSO)</article-title>
          , http://www.opengroup.org/security/sso
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <source>[9] "eXtensible Access Control Markup Language (XACML)" v3.0</source>
          ,
          <issue>22</issue>
          <year>Jan</year>
          .
          <year>2013</year>
          , available from https://www.oasis-open.org/committees/xacml
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>