<!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>Difference in Security Policies for Dynamic Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Martin Ka¨ hmer</string-name>
          <email>kaehmer@iig.uni-freiburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Computer Science and Social Studies, Dept. of Telematics University of Freiburg</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>2</fpage>
      <lpage>4</lpage>
      <abstract>
        <p>Advances in three aspects of computing, namely reachability, pervasiveness, and autonomy, lead to highly dynamic systems, whose components increasingly manage themselves. However, their security and trustworthiness must always be evaluated in the user's context and in tight association with his personal goals and current preferences. Therefore, this paper defines an operator for policies to determine the difference in policies. This policy operator enables the user to check for additional permissions that would come along with the acceptance of a new or modified policy and can assist him in estimating the risk he puts his security or privacy in before adopting it.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>DYNAMIC SYSTEMS</title>
      <p>The growing potential to combine devices with different
capabilities and purposes has led to the development of
densely networked, decentralized systems. In these systems,
components are becoming increasingly autonomous; they
avidly collect data in various forms and adapt to their
environment as well as to the users’ requirements. Their
changing and possibly conflicting demands lead to a continuous
negotiation of requirements and ad hoc relationships. These
features lay the technical foundation for highly dynamic
systems and, thus, for a plethora of new applications building
up an infrastructure of services.</p>
      <p>
        When utilized for delivering tailored services to improve
customer relationship in a future supermarket [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], for
example, dynamic systems do not just allow for the delivery
of universal services, such as product finders or information
searches. By taking the customers’ context into account,
such as the products already picked or the current position
of the cart, or considering name, age or purchasing history
stored on customers’ PDAs, the supermarket can offer
individualized or even personalized services which adapt to the
current needs of the customers [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>As such systems are continuously becoming an essential
feature of everyday life, the consideration of their security
and privacy management is highly important. The
acceptance of these systems is greatly affected by the capability
of the user to keep control over the usage of his personal
resources and to observe the systems’ adherence to his
preferences.</p>
    </sec>
    <sec id="sec-2">
      <title>POLICIES: USER STILL IN THE LOOP</title>
      <p>The ability of autonomous components to operate
independently without constant human supervision and their
adaptation to current context by automated reconfiguration
seem to push the user out of the control loop. For their
management, the user interaction appears to be dispensable.</p>
      <p>Yet, it is important to realize that the evaluation of
security and privacy risks cannot be an issue for those expert
security administrators alone, who set up some default guards
constraining the system’s behavior. Although the border of
automation will be moved in such environments, the user
cannot be completely released from the responsibility of
formulating his goals and preferences as a personal security
policy. Trustworthiness and risks cannot exclusively be
assessed by central administrators, especially when his privacy
is endangered.</p>
      <p>Hence, the user needs to transfer his own policy stored on
a suitable communication device, such as a personal PDA,
to the system. However, his policy will often not be the only
clincher for the system’s security decisions. If there is a set
of global security rules in place guarding the environment,
the user will not be able to overrule it. The system will more
likely incorporate the user’s policy and subordinate its rules
to the global ones. Similarly, the resulting policy shared by
the system components may be a conjunction of multiple
user policies, if the system is used by more than one user at
the same time.</p>
      <p>
        In consequence, the high dynamics of such systems forbid
this shared policy to be permanently determined and,
therefore, to be analyzed for the components’ security behavior in
advance (technical or legal policy enforcement is not within
the scope of this paper; e.g. see [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] for further information).
A user cannot predict the future system composition. Its
parameters may change so quickly that a determined and
subsequently analyzed policy becomes useless after minutes
or even seconds.
      </p>
      <p>
        More importantly, users are often unable to predict even
their own future behavior. As surveys have shown, users
take a very pragmatic approach to security. Willing to make
security and privacy trade-offs according to the current
situation or to the current communication partners, they adapt
their own policies or spontaneously commit their resources
and personal data to a foreign one to reflect the dynamics
of such systems [
        <xref ref-type="bibr" rid="ref11 ref4">11, 4</xref>
        ].
      </p>
      <p>
        Since users who have a method to observe and preview the
result of their interaction make significantly less
securityrelated operating errors [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], they need appropriate support
for adapting the often complex policy sets and for evaluating
the impact of the changes made. A step in this direction
is the definition of the policy difference presented in the
following chapter. This difference operator allows the user
for the reduction of a modified or updated policy to only
those parts that are relevant to him for his further security
negotiations and decisions.
(a) P2 grants further
actions, hence the (white)
difference P2−1 is not empty.
(b) P2−1 is empty, i.e. P2
is completely covered by P1
and weakly refines it.
      </p>
    </sec>
    <sec id="sec-3">
      <title>ANALYSIS OF POLICIES</title>
      <p>
        Usage control policies integrate the diverse security
policy concepts into a unified policy model [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. With this, the
user is not just able to declare who may access his resources,
i.e. his own system components and his personal data. By
means of obligations, he can also control their usage once
they have been handed over to a foreign security domain.
Combined with abstracting elements and categorizing them
into hierarchies found in many access control languages, such
policies are ideal for the intuitive specification of users’
requirements in dynamic systems. Featuring both, IBM’s
policy language EPAL [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] builds the basis for our definition
of policy difference, though the underlying concept can be
easily transferred to other usage control languages.
      </p>
      <p>
        For better understanding of the next section, some
properties of the abstract syntax and semantic of EPAL are
presented, but definitively without the claim of
completeness. Hierarchies for users U , data D, purposes P and
actions A build the vocabulary V oc together with conditions
C(V ar), and obligations O. Similar to hierarchies, an
obligation model defines an imply-relation on the power set of
all obligations indicating that fulfilling a set of obligations
implies fulfilling all of its subsets. Given a vocabulary, a
policy P = (V oc, R, gc, dr, do) consists of a global enabler
gc ∈ C(V ar), the default dr of ruling r ∈ {+, ◦, −}
according to “allow”, “do not care”, and “deny”, a set of
default obligations do, and an ordered list of rules R ∈
{U × D × P × A × C(V ar) × r × ℘(O)}. A rule matches a
request q ∈ {U × D × P × A}, if its conditions are satisfied
by the given assignment χ of environment variables, and all
elements of the request are equal to or children of their rule
counterparts. The first matching rule in P gives the result
evalP (q, χ) = (r, o). For a complete specification, see [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
3.1
      </p>
    </sec>
    <sec id="sec-4">
      <title>Policy Difference</title>
      <p>Whenever the user wants to update his own policy, or the
shared system policy is to be changed, e.g. by merging it
with a new personal one, the user is faced with the question
of whether to accept this new policy version or to decline it
and, perhaps, enter a further round of negotiation.</p>
      <p>For this decision, both old and new policy versions are to
be compared with each other. If the new version is
equivalent to or even more restrictive than the old one, an
automated process can be used to indicate acceptance. What
happens, however, if none of these checks is positive, and
the new version is more permissive? In this case, the user
needs to be called in to decide on further actions. To
prevent him from being overwhelmed by complex policy sets,
the difference in the new and old policy reveals to him only
those permissions granted by the former, but not by the
latter, i.e. a reduction to only those permissions relevant for
consideration at this time.</p>
      <p>Taking up the shop example, a non-empty difference
indicates to the customer the extra permission that is not
covered by the regulations P1 he has set for the treatment
of his data, but that the shop demands for the usage and
tailoring of its services (cf. Fig. 1(a)). Otherwise, he can
verify by an empty difference that the shop’s policy P2 is
more restrictive and, thus, safe to use (cf. Fig. 1(b)).</p>
      <p>Fig. 2 shows an example reduced to the consideration of
the data hierarchy: P1 allows some actions on data D1,
whereas P2 allows the same actions on D2 and D4.
Computing the difference, written P2−1, reveals that P2 extends
the permission to D2 and its children D5 and D6, but not to
D4, as it is already covered by the permission on D1 by P1.
From the user’s point of view, the permission on D1 and D3
taken by P2 (i.e. P1−2) are not of primary interest, because
no possibly unintended permission is inserted.</p>
      <p>
        Owing to the limited space, we assume a single vocabulary
for both policies. In the style of [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], the notion of policy
difference is defined as follows:
Definition (Policy Difference). Let two policies P1 and P2
be given with Pi = (V oc, Ri, gci, dri, doi) for i = 1, 2 and
equal vocabulary. Then, the rule set of the difference P2−1
gives the same request results as P2, but it is only enabled
for those requests q and assignments χ of condition
variables, for which one of the following statements holds, where
(ri, oi) = evalPi (q, χ) for i = 1, 2:
• gc1(χ) = f alse
and
(r2 ∈ {+, ◦}
or o2 6= ∅)
• o1 does not imply o2
• r1 = ◦ and r2 = +
• r1 = − and r2 ∈ {+, ◦}
      </p>
      <p>A first implementation can be made using a brute force
approach. One simply evaluates both input policies for any
possible request q and any possible assignment χ and
compares their rulings and obligation sets. A rule (q, C2, r2, o2)
generated from a given q and χ is part of P2−1, if policy P1
is globally disabled and, therefore, not active in context χ,
but P2 does not prohibit the requested action or commits
the requester to future actions. For all other q and χ, the
generated rules are part of the difference, unless o2 does not
contain any new obligation and is a subset of o1. In this case,
it is up to the comparison of the rulings only. If r1 is
dominated by r2, i.e. r2 is more permissive, the corresponding
rule is part of P2−1, too.</p>
      <p>
        As this brute force approach tests all valid combinations of
requests and condition variables, their amount grows
exponentially with the number of vocabulary variables. Thus, a
more efficient algorithm is desired, e.g. by grouping requests
with the same matching rules or neglecting rules that will
always be hidden by matching rules with higher priority, as
Backes et al. propose for their efficient algorithm to test on
policy refinement [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Exploiting the semantic of the policy
language or rather its evaluation function to reduce the
difference problem to only the relevant combinations is part of
future work.
      </p>
    </sec>
    <sec id="sec-5">
      <title>RELATED WORK</title>
      <p>
        Currently, the comparison of such policies is made by a
refinement check [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], which enables the automated
verification that one policy also fulfills the other one or, in case
of weak refinement, that the former is less permissive. For
this test, an efficient algorithm is given in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], but in case of
verification failure, the user gets no hint of its cause.
Furthermore, weak refinement can be mapped to the evaluation
of the policy difference: if P2−1 is empty, then P2 is more
restrictive and weakly refines P1 (cf. Fig. 1(b)).
      </p>
      <p>
        For the limited name-space of P3P, the Privacy Bird [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
implements a refinement test. Preferences are specified as
a selection from a predefined set of high-level rules the bird
tests separately against the site’s policy. If one of them is
not refined, its description tag is shown to the user. Using
policy difference, the conflicting parts are indicated to the
user without any clever name-space separation ex ante.
      </p>
      <p>
        There is ongoing work on the evaluation of policy changes
and their compliance with meta rules, such as “separation
of duty” [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], but research is focused on RBAC and
corresponding algebras only.
      </p>
      <p>
        Finally, there is an approach using model checking with
dynamic logic [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. While this approach allows for an elegant
representation of policy changes, a formal model of the
system is needed, which will be difficult, if not impossible to
acquire in a highly dynamic system.
      </p>
    </sec>
    <sec id="sec-6">
      <title>CONCLUSION AND FURTHER WORK</title>
      <p>In this paper, we put forward the user’s point of view on
policies in dynamic systems. We argue that despite their
autonomous behavior the components still need user’s
supervision. While the user adapts his usage control policies over
time, he needs support for observing the possible impact
of the changes. For this, we define the difference between
two policy versions, which reveals exactly those permissions
additionally granted by the new policy.</p>
      <p>
        This definition is just the first step in the direction of
usable policy management, and there is considerable work
to be done. First, an efficient algorithm for computing the
difference is to be developed. Subsequently, it will be
transfered to syntax and semantic of NAPS [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], which enhances
EPAL’s algebra by closure under composition and
conjunction, both of them being essential policy operations in
dynamic systems. Finally, it still remains open as to how the
difference can be presented in a suitable form to the user in
order to assist him in his further security decisions.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>P.</given-names>
            <surname>Ashley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hada</surname>
          </string-name>
          , G. Karjoth,
          <string-name>
            <given-names>C.</given-names>
            <surname>Powers</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Schunter</surname>
          </string-name>
          .
          <article-title>Enterprise privacy authorization language (EPAL 1.2)</article-title>
          .
          <source>Submission to W3C</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Backes</surname>
          </string-name>
          , G. Karjoth,
          <string-name>
            <given-names>W.</given-names>
            <surname>Bagga</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Schunter</surname>
          </string-name>
          .
          <article-title>Efficient comparison of enterprise privacy policies</article-title>
          .
          <source>In Proc. of 2004 ACM Symposium on Applied Computing</source>
          , pages
          <fpage>375</fpage>
          -
          <lpage>382</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M.</given-names>
            <surname>Backes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Pfitzmann</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Schunter</surname>
          </string-name>
          .
          <article-title>A toolkit for managing enterprise privacy policies</article-title>
          .
          <source>In Proc. of 8th European Symposium On Research In Computer Security (ESORICS)</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>L. F.</given-names>
            <surname>Cranor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Guduru</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Arjula</surname>
          </string-name>
          .
          <article-title>User interfaces for privacy agents</article-title>
          . To appear
          <source>in ACM Transactions on Computer-Human Interaction</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Hilty</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Basin</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pretschner</surname>
          </string-name>
          .
          <article-title>On obligations</article-title>
          .
          <source>In Proc. of 10th European Symposium On Research In Computer Security (ESORICS)</source>
          , pages
          <fpage>98</fpage>
          -
          <lpage>117</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J.</given-names>
            <surname>Kaiser</surname>
          </string-name>
          .
          <article-title>Besteht eine Beziehung zwischen Nutzbarkeit und Sicherheit? PIK “Sicherheit”</article-title>
          ,
          <volume>26</volume>
          (
          <issue>1</issue>
          ):
          <fpage>48</fpage>
          -
          <lpage>51</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>METRO</given-names>
            <surname>Group</surname>
          </string-name>
          .
          <article-title>Future store initiative</article-title>
          . http://www.future-store.org/,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J.</given-names>
            <surname>Park</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Sandhu</surname>
          </string-name>
          .
          <article-title>The U CON ABC usage control model</article-title>
          .
          <source>ACM Transactions on Information and System Security (TISSEC)</source>
          ,
          <volume>7</volume>
          (
          <issue>1</issue>
          ):
          <fpage>128</fpage>
          -
          <lpage>174</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>R.</given-names>
            <surname>Pucella</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Weissman</surname>
          </string-name>
          .
          <article-title>Reasoning about dynamic policies</article-title>
          .
          <source>In Proc. of 7th Int. Conf. on Foundations of Software Science and Computation Structures (FOSSACS'04)</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Raub</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Steinwandt</surname>
          </string-name>
          .
          <article-title>An algebra for enterprise privacy policies closed under composition and conjunction</article-title>
          . In To appear
          <source>in Proc.of Int. Conf. on Emerging Trends in Information and Communication Security (ETRICS)</source>
          , pages
          <fpage>132</fpage>
          -
          <lpage>146</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>S.</given-names>
            <surname>Sackmann</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Stru¨cker, and</article-title>
          <string-name>
            <given-names>R.</given-names>
            <surname>Accorsi</surname>
          </string-name>
          .
          <article-title>Customizing services in privacy-aware highly dynamic systems</article-title>
          . To appear
          <source>in Comm. of the ACM</source>
          ,
          <year>Sept 2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A.</given-names>
            <surname>Schaad</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Moffett</surname>
          </string-name>
          .
          <article-title>A lightweight approach to specification and analysis of role-based access control extensions</article-title>
          .
          <source>In Proc. 7th ACM Symposium on Access Control Models and Technologies (SACMAT)</source>
          , pages
          <fpage>13</fpage>
          -
          <lpage>22</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>