<!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>Engineering Authorization Services for the Service Oriented Architecture</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Information and Networked Systems Security Research, Department of Computing, Macquarie University</institution>
          ,
          <addr-line>Sydney, NSW, 2109</addr-line>
          ,
          <country country="AU">Australia</country>
        </aff>
      </contrib-group>
      <fpage>7</fpage>
      <lpage>12</lpage>
      <abstract>
        <p>The service-oriented architecture (SOA) can be used to build new solutions leveraging services, to cleave together existing applications or to cleave apart existing applications. The SOA provides many bene¯ts such as cost saving to organizations by increasing the speed of implementation of any application(s) required and reducing the expenditure on integration technologies. However, security is one of the main roadblocks for enterprises to delay development and deployment of their services. Although there are standards for providing con¯dentiality, integrity and message authentication for services, there is not yet a standard speci¯cation for authorization services for the SOA. We address this important gap in the area of security for the SOA. In particular, we will propose an authorization policy language as well as an authorization framework for the SOA.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The SOA is an architectural style and its aim is to achieve loose coupling among
interacting distributed software systems. The SOA can be de¯ned as a way of
designing and implementing enterprise applications that deals with the
intercommunication of loosely coupled, coarse grained, reusable artifacts (services). The
SOA is made up of independent services interconnected via messaging.
Platform independent service interfaces are de¯ned to invoke these services. The
SOA consists of service providers and service consumers. Service providers
de¯ne what the service looks like and how to invoke it through an implementation
independent service interface. Service consumers use this interface to invoke the
service. The SOA also provides discovery mechanism to act as an intermediary.
Service providers publish their service interface using the discovery mechanism
for consumers to ¯nd and invoke the service.</p>
      <p>There are three broad categories of service use. 1) To build new solutions with
services. Services enable enterprises to have independent pieces within
applications that can be developed and maintained independently and also to
scaleout. 2) To cleave together existing applications. Services enable connectivity
Business-to-Business (B2B) and Enterprise Application Integration (EAI).
Services also let us formulate business processes to enable work°ows across
heterogeneous environments in turn letting us tap in to the IT infrastructure, and 3)
To cleave apart existing applications. Use cases of the SOA include Supply Chain
Management, Customer Relationship Management (CRM), Enterprise
Application Integration (EAI), Enterprise Resource Planning (ERP), and Portal Web
Sites amongst others. The SOA enables cost saving by increasing the speed of
implementation of any application(s) required and reducing the expenditure on
integration technologies. The SOA provides enterprise agility, to quickly respond
to rapidly changing market needs and business requirements by quickly building
new applications and quickly updating old applications.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Securing the SOA</title>
      <p>In general, security for the SOA is a broad and complex area covering a range of
technologies. At present, there are several e®orts underway that are striving to
provide security services such as authentication between participating entities,
con¯dentiality and integrity of communications. A variety of existing
technologies can contribute to this area such as TLS/SSL and IPSec. There are also
related security functionalities such as XML Signature and XML Encryption
and their natural extensions to integrate these security features into
technologies such as SOAP and WSDL.</p>
      <p>
        The WS-Security speci¯cation describes enhancements to SOAP messaging
to provide message integrity, con¯dentiality and authentication. There is also
work on XKMS de¯ning interfaces to key management and trust services based
on SOAP and WSDL. However, while there is a large amount of work on general
access control and more recently on distributed systems authorization, research
in the area of authorization for Web services is still at an early stage. There is
not yet a speci¯cation or a standard for Web services authorization. There are
attempts by di®erent research groups to de¯ne authorization frameworks [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and
authorization policy speci¯cation mechanisms [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] for Web services. Currently
most Web service based applications, having gone through the authentication
process, make authorization decisions using application speci¯c access control
functions that results in the practice of frequently re-inventing the wheel. This
motivated us to have a closer look at authorization service requirements for
the SOA. We will ¯rst address the area of design of an authorization policy
language for the SOA. Then we will propose an authorization framework for
the SOA. Finally, we will demonstrate these authorization services using a case
study in the health care domain.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Authorization Policy Language for the SOA [3]</title>
      <p>Languages have long been recognized in computing as ideal vehicles for dealing
with expression and structuring of complex and dynamic relationships. Over the
recent years, a language-based approach to specifying access control policies has
(rightly) gained prominence, which is helpful for not only supporting a range
of access control policies but also in separating out the policy representation
from policy enforcement. One standard authorization policy language de¯ned
for the SOA can replace dozens of application-speci¯c languages.
Administrators save time and money because they are not required to rewrite their policies
in many di®erent languages. Developers save time and money because they need
not invent new policy languages and write code to support them. They can reuse
existing code. If one policy language speci¯cation is standardized, good tools for
writing and managing policies for that language will emerge. Policy languages
in which one can specify policies using XML have an advantage over other
languages such as Ponder, as Web services based applications using the language can
leverage on the bene¯ts of XML such as inter-operability over multiple platforms
in a heterogeneous environment. A policy language based on XML technology
with its own namespaces and schemas is necessary in a heterogeneous
environment of Web services. Also if an XML based policy language is used, standard
speci¯cations such as XML Encryption and XML Signature can be leveraged to
secure and sign those policies where required. Such a policy languages policies
can be speci¯ed and referred to by any service based application whether it is
running on a Java based platform or the .NET platform. When designing the
authorization policy language, we took into consideration the support for a range
of authorization policies such as the dynamic separation of duty policy, that are
likely to be required for services deployed in a commercial environment.</p>
      <p>
        In particular, we will discuss the following in the dissertation: (a) Survey of
authorization policy languages for distributed systems, (b) Analysis of the
authorization policy language used by .NET MyServices [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], (c) Extensions to the
authorization policy language used by .NET MyServices, (d) Design of
XMLbased authorization policy language for the SOA, (e) Design of standard APIs
to the policy language and the policy engine, and (f) Implementation of the
policy language and the policy evaluation engine leveraging existing XACL policy
language and engine.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Survey and Analysis of Authorization Frameworks[5]</title>
      <p>We have carried out a comprehensive survey of existing authorization models
both for traditional distributed systems as well as authorization models built for
di®erent layers of the SOA.</p>
      <p>We will discuss the following in this section: (a) Survey and analysis of
authorization frameworks built for stand-alone systems, (b) Survey and analysis
of authorization frameworks built for distributed systems, and (c) Survey and
analysis of authorization frameworks built for the SOA.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Authorization Framework Design Requirements [6]</title>
      <p>We will then lay out the design requirements for authorization services built
for di®erent layers of the SOA. Broadly speaking, the SOA comprises of Web
services and business work°ows built using Web services. These work°ows are
called business processes. Figure 1 shows the layers comprising the SOA.</p>
      <p>
        Authorization requirements di®er for the Web services and business processes
layers of the SOA. Authorization services for the Web services layer have special
design requirements as Web services present a complex layered system. For
instance, a service may be a front-end to an enterprise system and the enterprise
system may access information stored in databases and ¯les. Web services may
be used by enterprises to expose the functionality of legacy applications to users
in a heterogeneous environment. Or new business applications could be
written to leverage bene¯ts o®ered by Web services. This means an authorization
architecture for Web services must support multiple models of access control.
This enables legacy applications to use the access control models they have
already been using as well as new Web services applications to use new models of
access control or other well-known models of access control such as role-based
access control (RBAC). An authorization architecture for the business process
layer of the SOA must provide orchestration services to coordinate the
authorization decisions from individual partners authorization policy evaluators. Each
partner must be allowed to control its own authorization policies and also not
require disclosing them to the entire work°ow or to the work°ow engine. Even
in cases where the binding to actual end-points of partner services happens
dynamically at runtime, the authorization architecture must be able to orchestrate
the partners authorization policy evaluators and arrive at an authorization
decision. Currently existing authorization frameworks are either designed for the
Web services layer [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] or the business process layer [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] of the SOA. There is no
uni¯ed model available that provides a comprehensive design of an
authorization framework that provides authorization support to both Web services and
business processes comprising the SOA.
6
      </p>
    </sec>
    <sec id="sec-6">
      <title>Authorization Framework for the SOA</title>
      <p>We will propose a uni¯ed authorization framework for the SOA. The framework
will provide two separate architectures (indicated by the light grey colored boxes
in Figure 1) that extend the security layers of Web services (WSAA) and business
processes (BPAA). The BPAA relies on the features provided by the WSAA. In
particular, we will discuss the following:
6.1</p>
      <p>
        Web Services Authorization Architecture (WSAA) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]
(a) Design of the authorization administration and runtime APIs. The
administration API is useful to group together a set of related Web services into
collections to e±ciently manage their authorization related information such as what
privileges are required to be sent by a client before invoking a Web service. The
runtime API is useful to invoke the necessary authorization components and
receive an authorization decision, (b) Implementation of the authorization
architecture APIs within the .NET framework, and (c) Bene¯ts of the proposed
architecture.
6.2
      </p>
      <p>Business Processes Authorization Architecture (BPAA)
(a) Design of the authorization administration and runtime APIs. The
administration API is useful to de¯ne a business process and mange its authorization
related information. The runtime API is useful to invoke the necessary
authorization components and receive an authorization decision, (b) Implementation
of the authorization architecture APIs within the .NET framework, and (c)
Bene¯ts of the proposed architecture.
6.3</p>
      <p>Extensions to Other Layers of the SOA
We will also describe our extensions to the Web services description and
messaging layers to support the authorization frameworks for Web services and business
processes (indicated by the dark grey colored boxes in Figure 1). Extensions to
the description layer are required to make prospective clients aware of what
authorization privileges are required to invoke a Web service or a business process.
Extensions to the messaging layer are required to carry authorization related
privileges, for instance, in the form of credentials.
7</p>
    </sec>
    <sec id="sec-7">
      <title>Demonstration of Authorization Services in a Health</title>
    </sec>
    <sec id="sec-8">
      <title>Care Application</title>
      <p>We will demonstrate the proposed authorization services the policy language
and the authorization framework for the SOA using a case study in the health
care domain. In particular, we will discuss the following:</p>
      <p>(a) Demonstration of the proposed policy language and policy engine
features, (b) Demonstration of the authorization services provided by WSAA and
BPAA, and (c) Demonstration of the proposed extensions to the service
description and messaging layers.</p>
    </sec>
    <sec id="sec-9">
      <title>Conclusion</title>
      <p>The service-oriented architecture (SOA) can be used to build new solutions
leveraging services, to cleave together existing applications or to cleave apart existing
applications. The SOA provides many bene¯ts such as cost saving to
organizations by increasing the speed of implementation of any application(s) required
and reducing the expenditure on integration technologies. However, security is
one of the main roadblocks for enterprises to delay development and deployment
of their services. Although there are standards for providing con¯dentiality,
integrity and message authentication for services, there is not yet a standard
speci¯cation for authorization. We will address this gap in the area of security for the
SOA. In the dissertation, we will ¯rst address the area of authorization policies
and describe our proposal of an XML-based authorization policy language and
its evaluation engine for the SOA. Then we will discuss the authorization
framework requirements for the SOA. They di®er for the Web services and business
processes layers comprising the SOA. We highlighted the major di®erences in
this paper. In particular, we will describe two separate authorization
architectures designed using the requirements we laid out after carrying a comprehensive
survey of authorization models built for stand-alone and distributed systems as
well as for the SOA. Finally, we will demonstrate the authorization policy
language and the authorization framework for the SOA using a case study in the
health care domain.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>R.</given-names>
            <surname>Kraft</surname>
          </string-name>
          .
          <article-title>Designing a Distributed Access Control Processor for Network Services on the Web</article-title>
          .
          <source>In ACM Workshop on XML Security</source>
          , Fairfax,
          <string-name>
            <surname>VA</surname>
          </string-name>
          , USA,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>S.</given-names>
            <surname>Godik</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Moses</surname>
          </string-name>
          .
          <source>eXtensible Access Control Markup Language v1.1 (XACML)</source>
          ,
          <source>07 August</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>S.</given-names>
            <surname>Indrakanti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Varadharajan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Hitchens</surname>
          </string-name>
          .
          <article-title>Authorization Service for Web Services and its Application in a Healthcare Domain</article-title>
          .
          <source>International Journal for Web Services Research</source>
          , Idea Group Publishing, vol.
          <volume>2</volume>
          , issue 4, pages
          <fpage>94</fpage>
          -
          <lpage>119</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Microsoft</given-names>
            <surname>Corporation</surname>
          </string-name>
          . Microsoft .NET MyServices Speci¯cation, Microsoft Press,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>S.</given-names>
            <surname>Indrakanti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Varadharajan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Hitchens</surname>
          </string-name>
          .
          <article-title>Analysis of Existing Authorization Models and Requirements for Design of Authorization Framework for the Service Oriented Architecture</article-title>
          .
          <source>In The 2005 International Symposium of Web Services and Applications</source>
          , Las Vegas, USA,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>S.</given-names>
            <surname>Indrakanti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Varadharajan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Hitchens</surname>
          </string-name>
          .
          <article-title>Principles for the Design of Authorization Framework for the Service Oriented Architecture</article-title>
          .
          <source>In International Conference on Internet Technologies and Applications (ITA 05)</source>
          , Wrexham, North Wales, UK,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>H.</given-names>
            <surname>Koshutanski</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Massacci</surname>
          </string-name>
          .
          <article-title>An Access Control System for Business Processes for Web Services</article-title>
          . Informatica e Telecomunicazioni, University of Trento,
          <source>Technical Report DIT-02-102</source>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>S.</given-names>
            <surname>Indrakanti</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Varadharajan</surname>
          </string-name>
          .
          <source>An Authorization Architecture for Web Services In 19th Annual IFIP WG 11.3 Working Conference on Data and Applications Security</source>
          , Storrs, Connecticut, USA,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>