<!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>Preserving Privacy in Dynamic Web Service Composition</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>German Research Center for Artificial Intelligence (DFKI GmbH) Stuhlsatzenhausweg 3</institution>
          ,
          <addr-line>66123 Saarbru ̈cken</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The proliferation of web services as self-contained web accessible programs and
the idea of the Semantic Web of making information computer-interpretable enables
the dynamic composition of complex services assembled from various individual
services and typically distributed over the web. Following the paradigm of pervasive
computing, pro-active agents are installed on mobile phones or PDAs operating on
the web and handle the context-aware discovery of appropriate services and use
AIbased plan generation techniques to dynamically compose the retrieved service to
solve complex tasks. Functional composition of complex services is well understood
and supported.</p>
      <p>
        However, the introduction of web services in general and dynamic web service
composition (e.g. [
        <xref ref-type="bibr" rid="ref2 ref7">2, 7</xref>
        ]) in particular requires appropriate security facilities to
guarantee the security requirements of all participants. On the one hand, web services
have to be protected against misuse of their resources, and on the other hand, the
user of web services require the privacy of their data. Standard approaches for
secure execution of services such as those using REI [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] or Ponder [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] are based on the
specification of access control policies to control the individual execution of services
and thus focus on the first task. We propose an approach [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ] to ensure the privacy
of user data by introducing a dynamic security check between plan generation and
execution of the plan. Thereby we can guarantee that the execution of a synthesized
plan will not distribute user’s or newly generated data to a non-entitled web service.
We make use of techniques developed in program language security in general and
an adapted version of Volpano Smith’s [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ] security type calculus in particular.
      </p>
      <p>
        To protect the privacy of user related information, the data used in web
services is always classified according to its confidentiality. Web services require the
corresponding clearances to deal with confidential data. Both classifications and
clearances are denoted by a so-called security types. There is a partial ordering ≤
on security types which allow us to compare them. The set of all security types
together with ≤ forms a lattice. Similar to the approach presented by Bell and
LaPadula [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], the idea is that a web service is only entitled to obtain a specific datum
if its clearance is at least as high as the classification of the data.
      </p>
      <p>However, in practice we would like to select the clearances of web services and
also the classification of data with respect to individual categories or types of
information. For instance, while we trust a travel agent to keep our travel routes
confidential we might have mixed feelings when providing the same agent with a
direct debit authorization for our bank account. Analogously, a given datum may
allow us, for instance, to infer confidential information about the location of a
person or confidential information about his bank account. Hence, both classifications
of data and clearances of web services are described by a vector of security types.
Each entry in the vector denotes the classification or clearance with respect to a
particular category or roles (like, for instance, location or payment information).</p>
      <p>The clearances of web services are assessed by the owner of the planning agent
or, in case of a delegation, by an agent acting on behalf of the provider. Thus, an
information provider (typically the user) can specify which web service it trusts to
keep data private with respect to given categories, or not. Analogously, the user
determines the classification of the data that he enters to the agent and that will
be provided to web services during plan execution. Web services classify data they
provide as an output by integrating the classifications of all data used to compute
the result. The data can be either input data from the caller or own data. In the first
case the classification is given by the caller and in the second case the requirements
of their own security policies for this data has to be taken into account.</p>
      <p>The set of categories used to invoke a web service may change while processing
the request. When a called web service provides new information, it may introduce
a new category and classify the new data also with respect to this new category. In
this way a subsequently called web service can formulate its security requirements
for its provided data by defining also the clearances of all web services with respect
to the new category. In this case, all data provided by the calling web service have
to be classified as public with respect to the newly introduced categories. This is
to avoid the blocking of external data by classifying them as confidential for a new
category but providing no web service with a corresponding clearance.</p>
      <p>All the above mechanisms are embedded in the extended type calculus. The
extension belongs to the call of web services. In this context, we defined security
specifications for web services which are defined and published by the agents similiar
to the functional specifications. Thus, the information flow of confidential data
is monitored by the type calculus which propagates the security requirements of
the user and of the involved web services along the planning and execution of
dynamically composed web services.</p>
      <p>The described mechanisms together with the type system prevent any kind of
“accidental” revealment because the plans are checked before the execution.
However, the user of a planning agent has to trust that the web service will not send
confidential data to some unauthorised web services. To overcome this problem we
expand our approach by the application of certified web services. To ensure that
only the certified parts of an agent get knowledge of the received input the approach
has to be extended by the application of Trusted Computing or Proof Carry Code
mechanisms.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>D. E.</given-names>
            <surname>Bell</surname>
          </string-name>
          and
          <string-name>
            <surname>L. LaPadula.</surname>
          </string-name>
          <article-title>Secure computer systems: Unified exposition and multics interpretation</article-title>
          .
          <source>Technical Report MTR-2997</source>
          , MITRE,
          <year>1976</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>J.</given-names>
            <surname>Brison</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Martin</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.I. McIlraith</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.A.</given-names>
            <surname>Stein</surname>
          </string-name>
          .
          <article-title>Agent-based composite services in DAML-S: The behavior-oriented design of an intelligent semantic web</article-title>
          .
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Naranker</given-names>
            <surname>Dulay</surname>
          </string-name>
          , Nicodemos Damianou, Emil Lupu, and
          <string-name>
            <given-names>Morris</given-names>
            <surname>Sloman</surname>
          </string-name>
          .
          <article-title>A policy language for the management of distributed agents</article-title>
          .
          <source>In Agent Oriented Software Engineering (AOSE-2001)</source>
          , pages
          <fpage>84</fpage>
          -
          <lpage>100</lpage>
          . Springer, LNCS
          <volume>2222</volume>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Dieter</given-names>
            <surname>Hutter</surname>
          </string-name>
          and
          <string-name>
            <given-names>Melanie</given-names>
            <surname>Volkamer</surname>
          </string-name>
          .
          <article-title>Information flow control to secure dynamic web-service composition</article-title>
          .
          <source>In 3nd International Confernce on Security in Pervasive Computing</source>
          . Springer, LNCS,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Dieter</given-names>
            <surname>Hutter</surname>
          </string-name>
          , Melanie Volkamer, Matthias Klusch, and
          <string-name>
            <given-names>Andreas</given-names>
            <surname>Gerber</surname>
          </string-name>
          .
          <article-title>Provably secure execution of composed semantic web services</article-title>
          .
          <source>In International AAMAS-Workshop on Privacy and Security in Agent-based Collaborative Environments</source>
          , PSACE-2006, Hakodate, Japan,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Anand</given-names>
            <surname>Patwardhan</surname>
          </string-name>
          , Vlad Korolev, Lalana Kagal, and
          <string-name>
            <given-names>Anupam</given-names>
            <surname>Joshi</surname>
          </string-name>
          .
          <article-title>Enforcing policies in pervasive environments</article-title>
          .
          <source>In Mobile and Ubiquitous Systems, MobiQuitous-2004</source>
          , pages
          <fpage>299</fpage>
          -
          <lpage>308</lpage>
          . IEEE Computer Society,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>M.</given-names>
            <surname>Sheshagiri</surname>
          </string-name>
          , M. desJardins, and
          <string-name>
            <given-names>T.</given-names>
            <surname>Finin</surname>
          </string-name>
          .
          <article-title>A planner for composing services described in DAML-S</article-title>
          .
          <source>In Proceedings of AAMAS 2003 Workshop on Web Services and Agent-Based Engineering</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Dennis</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Volpano</surname>
            and
            <given-names>Geoffrey</given-names>
          </string-name>
          <string-name>
            <surname>Smith</surname>
          </string-name>
          .
          <article-title>A sound type system for secure flow analysis</article-title>
          .
          <source>Journal of Computer Security</source>
          ,
          <volume>4</volume>
          (
          <issue>3</issue>
          ):
          <fpage>167</fpage>
          -
          <lpage>187</lpage>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Dennis</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Volpano</surname>
            and
            <given-names>Geoffrey</given-names>
          </string-name>
          <string-name>
            <surname>Smith</surname>
          </string-name>
          .
          <article-title>A type-based approach to program security</article-title>
          .
          <source>In TAPSOFT'97: Theory and Practice of Software Development</source>
          , pages
          <fpage>607</fpage>
          -
          <lpage>621</lpage>
          . Springer, LNCS
          <volume>1214</volume>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>