<!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>A new approach for WS-Policy Intersection using Partial Ordered Sets</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Abeer Elsafie</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christian Mainka</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>J¨org Schwenk</string-name>
          <email>joerg.schwenkg@rub.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Horst G ̈ortz Institute for IT-Security, Ruhr-University Bochum</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>WS-Policy is a framework that can be used to describe assertions for web services message exchange. In the context of Service Oriented Architectures and Clouds, where web services are belonging to, machine-to-machine communication is one of its core ideas. When those machines try to apply WS-Policy, mainly two events can occur: First, the machine-exchanged policies have common assertions - there is an intersection. Second, there is no direct intersection and the participants must reach an agreement by minimal adjustments to the policies. This paper introduces a new approach for reaching intersection by computing adjustments to the policies using partial ordering.</p>
      </abstract>
      <kwd-group>
        <kwd>WS-Policy Intersection</kwd>
        <kwd>Partial Ordered Sets</kwd>
        <kwd>Hasse Diagram</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        In the field of web services, requirements and capabilities can be described using
XML according to the WS-Policy specification [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The policies can be applied
to the web services message exchange, which is commonly machine-to-machine
communication with multiple participants, for assuring security goals. This leads
to the need for WS-Policy intersection, a technique used when two or more
web services want to communicate and fulfill each others policy. Currently, this
approach can only handle the case that intersection within the participating
policies exists [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Otherwise it fails and the further communication cannot be
achieved.
      </p>
      <p>Hence, our motivation is to find a way to make intersection possible even in
the case that there is no direct intersection by adjusting one or both party’s policy,
e.g. by adding some policy aspects. This is achieved by a multi-layer approach:
First, every WS-Policy, which can be seen as a set of Boolean terms, is converted
into its disjunctive normal form (DN F ), so that policies are easy to compare
and finding matching terms is simple. In the case that there is a match, the
decision for the participants is obviously done. If there is no direct intersection,
this paper introduces a model for an arbitrary number of parties, that computes
these adjustments using partial order sets to enforce policy intersection for all
participants.</p>
    </sec>
    <sec id="sec-2">
      <title>Foundations</title>
      <p>
        WS-Policy and Policy Intersection
WS-Policy is a framework for describing policies using XML [
        <xref ref-type="bibr" rid="ref1 ref3">3,1</xref>
        ]. In the context
of web services, it is commonly used to specify which parts of a message should
be signed or encrypted using WS-SecurityPolicy [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The structure of a WS-Policy
can be seen as a Boolean term, but written in XML. It consists of an enveloping
&lt;Policy/&gt; element which can contain arbitrary AND (element: &lt;All/&gt;) and XOR
(element: &lt;ExactlyOne/&gt;) expressions. For each term, there exists a disjunktive
normal form (DN F ). It is an XOR-junction of propositions derived from the
compact form using boolean algebra [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Consider the following example, which
does not use any XML for simplicity:
      </p>
      <p>A1 ∧ (A2 ⊕ A3) D=NF</p>
      <p>A1 ∧ A2 ⊕ A1 ∧ A3</p>
      <p>A|ltern{aztive}1 A|ltern{aztive}1</p>
      <p>From the DN F , one can easily see the policy alternative: They are a bundle
of assertions which must be fulfilled.</p>
      <p>
        The WS-Policy Intersection process identifies compatible policy alternatives
included in all parties policies or returns nothing if there are no matches [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Two
alternatives are compatible, if the sets of included assertions are identical.
2.2
      </p>
      <p>Ordered Sets and Hasse Diagrams
A partially ordered set (poset) is a mathematic tool generalizing the concept
of arranging and ordering elements. In a poset, there exists a relation between
pairs of elements, e.g. the ”≤”-relation, so that the elements can be compared.
When this relation exists for each possible pair, then the poset is called a chain
(or total ordered set). In addition a poset in which no two distinct elements are
comparable is called antichain.</p>
      <p>A Lattice is an ordered set where every pair of elements has a least upper
bound (LUB) and a greatest lower bound (GLB). In our approach we assume that
the posets are all Lattices.</p>
      <p>
        A Hasse or Lattice diagram is a visualization of the finite poset in the form
of a drawing, in which nodes are elements of the poset and arrows between
related nodes represent the order relation between these elements [
        <xref ref-type="bibr" rid="ref7 ref8">7,8</xref>
        ]. In the
next section we introduce an example providing a detailed overview of the usage
of Hasse diagram.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>WS-Policy Intersection Model</title>
      <p>The evaluation of WS-Policy Intersection consists of two main layers as shown in
Figure 1:</p>
      <p>
        The preparation layer is responsible for converting each policy into its
corresponding DN F . This is achieved either manually or using an software-tool [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and
Policy2
.
.
      </p>
      <p>.</p>
      <p>Policyn</p>
      <p>Preparation
Generate DN F
Intersection?
o
N
Yes</p>
      <p>Evaluation
Bound Extract</p>
      <p>Decide</p>
      <p>Result
is outside the scope of this research. Afterwards, the policy intersection
examination unit compares the DN F policies and forwards the results to the evaluation
layer. If there is intersection, which means compatible alternatives exist, they
are directly forwarded to the decision making unit, which chooses the strongest
alternative. In the case of no intersection, the bound extraction unit takes part.
It first identifies all ordered sets, which can be chains like AES128 &lt; AES256 or
anti-chains which cannot be compared, e.g. SignHeader and SignBody. Afterwards,
all sets are combined to one Hasse diagram as shown in Figure 2.</p>
      <p>{AES256, SignHeader+Body}
{AES256, SignHeader} LUB {AES128, SignHeader+Body}
{AES256, SignBody}
A1P1 {AES128, SignHeader}
{SignHeader}</p>
      <p>GLB {AES128}
{AES256}
∅</p>
      <p>
        1
{AES128, SignBody} AP2
{SignBody}
Consider the two policies P1 and P2, having the alternatives AP1 1 as
1 and AP2
shown. Obviously, they are not compatible. Using the Hasse diagram, the least
upper bound (LUB) and the greatest lower bound (GLB) can be easily extracted.
In general if we consider that the posets used are all lattices, where each two
elements have a LUB/GLB, then we can easily use the meet and join for finding
these bounds [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Finally the bounds are forwarded to the decision unit, which
has to decide if the GLB or either the LUB should be used.
      </p>
      <p>Note that building the DN F can drastically increase the size of each policy and
thus, building the Hasse diagram might lead to a very large model. Nevertheless,
the authors believe to the best of their knowledge that this approach will hold
for real examples. We stress that a real implementation and evaluation is needed
to prove this.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Related Work</title>
      <p>
        Researchers in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] investigated a mechanism for calculating compatibility of
alternatives. An approach for comparing policies and checking compatibility
between alternatives in terms of its assertions to reach intersection is shown
in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Policy reconciliation algorithm, a technique to reach policy
agreement between two party communication, is introduced in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Another
research using a web ontology language (OWL-DL) is based on the idea that
policy assertions and alternatives are mapped in to program classes using OWL
to measure compatibility [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Our research focuses on how to examine intersection
and find solution for policy agreement by means of partial ordering.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions and Future Work</title>
      <p>This paper presents a model for WS-Policy Intersection using Partial ordered
sets. It is the first solution which is able to (1) handle more than two parties and
(2) makes proposals for the case that the policies are not directly compatible.</p>
      <p>For future work we plan to investigate a real protocol for multi-party
negotiation which is applied to the needs and capabilities of a Web services. Additionally,
we will add an implementation to show the practical usability.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. W3C Recommendation, “
          <source>Web Service Policy</source>
          <volume>1</volume>
          .
          <fpage>5</fpage>
          - Framework,” http://www.w3. org/TR/ws-policy/, Sep.
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. --, “Web Service Policy Intersection,” http://www.w3.org/TR/ws-policy/, Sep.
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. --,
          <source>“Web Service Policy</source>
          <volume>1</volume>
          .
          <fpage>5</fpage>
          - Primer,” http://www.w3.org/TR/ws-policy-primer/, Nov.
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>OASIS</given-names>
            <surname>Standard</surname>
          </string-name>
          , “Web Service Security Policy,” http://docs.oasis-open.org/ws-sx/ ws-securitypolicy/, Feb.
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>J.</given-names>
            <surname>Eldon</surname>
          </string-name>
          <string-name>
            <surname>Whitesitt</surname>
          </string-name>
          ,
          <article-title>Boolean algebra and its applications</article-title>
          .
          <source>Courier Dover</source>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>V.</given-names>
            <surname>Kolovski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Parsia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Katz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Hendler</surname>
          </string-name>
          , “
          <article-title>Representing Web Service Policies in OWL-DL,”</article-title>
          in In International Semantic Web Conference (ISWC). Springer, Nov.
          <year>2005</year>
          , pp.
          <fpage>461</fpage>
          -
          <lpage>475</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>W.</given-names>
            <surname>Strunk</surname>
          </string-name>
          , Jr. and
          <string-name>
            <given-names>E. B.</given-names>
            <surname>White</surname>
          </string-name>
          , Order Relation, 3rd ed. Macmillan,
          <year>1979</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>M.-C. van Leunen</surname>
          </string-name>
          ,
          <article-title>Partial order</article-title>
          .
          <source>Knopf</source>
          ,
          <year>1979</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>T. A. S. F.</given-names>
            <surname>Group</surname>
          </string-name>
          , “The Apache Software Foundation,” https://ws.apache.org/ neethi/, Jul.
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>T.</given-names>
            <surname>Lavarack</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Coetzee</surname>
          </string-name>
          , “Considering Web Services Security Policy Compatibility,” in
          <source>The 9th Annual Information Security for South Africa Conference</source>
          ,
          <source>(ISSA</source>
          <year>2010</year>
          ). IEEE Press,
          <year>Aug</year>
          .
          <year>2010</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>B.</given-names>
            <surname>Hollunder</surname>
          </string-name>
          , “
          <article-title>Domain-Specific Processing of Policies or: WS-Policy Intersection Revisited,”</article-title>
          <source>in IEEE 7th International Conference on Web Service (ICWS2009)</source>
          . IEEE Press,
          <year>Jul</year>
          .
          <year>2009</year>
          , pp.
          <fpage>246</fpage>
          -
          <lpage>253</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. S. Hudert,
          <string-name>
            <given-names>T.</given-names>
            <surname>Eymann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Ludwig</surname>
          </string-name>
          , and G. Wirtz, “
          <string-name>
            <given-names>A Negotiation</given-names>
            <surname>Protocol Description Language for Automated Service Level Agreement Negotiations</surname>
          </string-name>
          ,” in Commerce and Enterprise Computing,
          <year>2009</year>
          . CEC '
          <fpage>09</fpage>
          . . IEEE Press,
          <year>Aug 2009</year>
          , pp.
          <fpage>162</fpage>
          -
          <lpage>169</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>A. P. P McDaniel</surname>
          </string-name>
          , “
          <article-title>Methods and limitations of Security Policy Reconciliation,” in 2002 IEEE Symposium on Security and Privacy</article-title>
          . IEEE Press,
          <year>May 2002</year>
          , pp.
          <fpage>73</fpage>
          -
          <lpage>87</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>