<!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>An operational framework to reason about policy behavior in trust management systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Edelmira Pasarella</string-name>
          <email>edelmira@lsi.upc.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jorge Lobo</string-name>
          <email>jorge.lobo@upf.edu</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dpto de L.S.I., Universitat Polite`cnica de Catalunya</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>ICREA - Universitat Pompeu Fabra</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper we show that the logical framework proposed by Becker et al. to reason about security policy behavior in a trust management context can be captured by an operational framework that is based on the language proposed by Miller to deal with scoping and/or modules in logic programming in 1989. The framework of Becker et al. uses propositional Horn clauses to represent both policies and credentials, implications in clauses are interpreted in counterfactual logic, a Hilbert-style proof is defined and a system based on SAT is used to proof whether properties about credentials, permissions and policies are valid in trust management systems, i.e. formulas that are true for all possible policies. Our contribution is to show that instead of using a SAT system, this kind of validation can rely on the operational semantics (derivability relation) of Miller's language, which is very close to derivability in logic programs, opening up the possibility to extend Becker et al.'s framework to the more practical first order case since Miller's language is first order.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Trust Management Systems (TMS) [BFL96] are perhaps the most common
model to describe distributed access control. In this model, there are (1)
policies that define under what conditions a subject is able to access resources, (2)
credentials that are provided by the subject in order to fulfill policies and (3)
decisions of whether a subject has particular permissions. One of the most popular
ways to describe TMS is to use logic programming-like languages for definition
of policies and credentials (see for example [DeT02], [JIM01],[LGF00],[LM03]).</p>
    </sec>
    <sec id="sec-2">
      <title>Then, permissions are decided by inferences done combining policy and creden</title>
      <p>tials.</p>
      <p>Working under this framework, Becker et al. [BRS12] have recently
proposed a logic system in which one can reason about TMS in general. In this
system, a Hilbert-style axiomatization is defined and a system based on SAT
solvers is used to prove automatically TMS properties. In their logic, policies
and credentials are formalized using propositional logic programs, while
permissions are propositional Boolean formulas. Trust management behavior, i.e.
to determine whether a permission p is true under a policy P when presenting a
set of credentials Q, is captured by proving that the statement Q p holds in the
policy P.3 This statement is true if p holds in the policy P extended with those
clauses in the credentials Q: P [ Q ` p.</p>
    </sec>
    <sec id="sec-3">
      <title>Example 1. To illustrate how policies, credentials and permissions are expressed, let us consider a very simple example about purchasing digital goods. The policy of the seller is:</title>
      <sec id="sec-3-1">
        <title>X :paid(Music; 1:99$) X :download(Music) paypal(X ;V ) wire transfer(X ;V )</title>
        <p>that says ”if X paid the fee Fee for the music Music, X is able to download</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Music” and, there are two ways in which X can pay a fee V : either by means of</title>
      <p>paypal or by means of a wire transfer”.4 These statements represent schemes
of policies for specific values of the arguments. Credentials for paying the fee
presented by a subject X to request download permission can be written as
follows:</p>
      <p>(paypal(X ; 1:99$) X :paid(song; 1:99$)) X :download(song)</p>
    </sec>
    <sec id="sec-5">
      <title>To allow the subject X to download Music, the system has to join the policy and</title>
      <p>the credential (paypal(X ; 1:99$) X :paid(song; 1:99)) in a single program and
then verify that the permission X :download(song) holds in it.</p>
    </sec>
    <sec id="sec-6">
      <title>The important contribution of Becker et al.’s work is the definition of valid</title>
      <p>formulas in TMS. Informally, these are formulas that are true regardless of the
policies and credentials that can be defined in the TMS. Hence, they are able
to describe how to approach proofs such as proving attacks (i.e. discovering
policies) in specific TMS systems, or general properties such as the transitivity
of credential-based derivations.</p>
      <p>The authors, however, argue that Hilbert style axiomatizations are difficult
for building proofs because they are not goal oriented. Hence, they resort to an
algorithm that interleaves syntactic transformations of formulas and calls to SAT
solvers in order to do automatic verifications. In their paper there is an argument
but not a proof that the mechanization is correct. A proof may be possible but
probably not easy.</p>
    </sec>
    <sec id="sec-7">
      <title>3 In [BRS12] formulas like Q G are written as QG but we will follow Miller’s notation.</title>
    </sec>
    <sec id="sec-8">
      <title>4 We make the simplifying assumption that no third party is involved in the TMS and that the</title>
      <p>seller has access to paypal and the bank.</p>
      <p>In this work we show that the logical framework proposed by Becker et al.
can be captured by an operational framework that is based on a language
proposed by Miller in 1989 to deal with scoping and/or modules in logic
programming. Our contribution is to show that we can rely on the operational semantics
(derivability relation) of Miller’s language, which is very close to derivability in
logic programs, to do goal oriented formula verification. This connection also
open the possibility of extending Becker et al.’s framework to the more practical
first order case since Miller’s language is first order.
2</p>
      <p>Trust management systems</p>
    </sec>
    <sec id="sec-9">
      <title>In the following we assume the existence of an underlying propositional signature S that consists of a countable set of propositional variables. We call these propositional symbols S-atoms. For the sake of simplicity, in the following, we omit the prefix S- when it is clear from the context.</title>
      <p>Definition 1. Programs, clauses and goals are defined using the BNF presented
below, where A, F, C, P and G range over (1) atoms, conjunctions of atoms, (2)
clauses, (3) programs and (4) goals, respectively.</p>
      <p>(1) F ::= true j A j F ^ F
(3) P ::= C j C; P
(2) C ::= F A
(4) G ::= F j :G j P</p>
      <p>G j G ^ G j G _ G
Perhaps the most unusual definition is the definition of goals. A goal is either
an expression of the form P G, where P is a program and (inductively) G
a goal or an expression corresponding to a propositional formula built with the
standard connectives :, ^ and _. We note that our goals are the formulas defined
in Becker et al.’s. As usual, we define implication, G1 ! G2, as :G1 _ G2 and
equivalence, G1 $ G2, as (G1 ! G2) ^ (G2 ! G1). Throughout the rest of the
paper, we adopt the following conventions: P and Q denote programs. Clauses
may be embraced in parenthesis. In a clause of the form true p we simply
write p.
2.1</p>
      <p>Reasoning in trust management systems</p>
    </sec>
    <sec id="sec-10">
      <title>In this section we introduce an operational framework to reason about policies,</title>
      <p>credentials and permissions. We denote this framework by Oˆ -TMF. The Oˆ -TMF
framework is based on the language introduced in [Mil89]. The semantics is
presented in terms of a derivation relation over sequents. A sequent is a pair
of the form P ` G, where the program P is called the antecedent and the goal</p>
    </sec>
    <sec id="sec-11">
      <title>G the succedent. As explained earlier, the intuitive interpretation of embedded</title>
      <p>implications is that, given a program P, to prove the query Q G it is necessary
to prove G with the program P [ Q. This is formalized in [Mil89] using the
following inference rule:</p>
      <p>P [ Q ` G</p>
      <p>P ` Q G
2.2</p>
      <p>Oˆ - proof rules</p>
      <sec id="sec-11-1">
        <title>The inference rules for sequents in Oˆ -TMF are defined over Programs</title>
        <p>as follows</p>
        <sec id="sec-11-1-1">
          <title>Goals</title>
          <p>P`POˆ`GOˆ1G_iG2 i = 1; 2
P`Oˆ :G1^:G2
P`Oˆ :(G1_G2)</p>
          <p>P`Oˆ G1 P`Oˆ G2</p>
          <p>P`Oˆ G1^G2
P`Oˆ :G1_:G2
P`Oˆ :(G1^G2)</p>
          <p>P[Q`Oˆ G
P`Q G</p>
          <p>P`Oˆ A
P`Oˆ ::A</p>
          <p>P`Oˆ Q :G
P`Oˆ :(Q G)
An Oˆ -proof for P `Oˆ G is a tree in which nodes are labeled with sequents such
that (i) the root node is labeled with P `Oˆ G, (ii) the internal nodes are instances
of one of the above inference rules and (iii) the leaf nodes are labeled with
initial sequents. An initial sequents is a sequent of the form P0 `Oˆ G0 where G0
is a propositional formula that is true in the minimal model of P0.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-12">
      <title>We can prove the validity of formulas as follow. First, we need the following definition:</title>
      <sec id="sec-12-1">
        <title>Definition 2. Let G be a goal and SG be the signature formed by the set of</title>
        <p>propositional atoms occurring in G. G is valid, `Oˆ G, in the Oˆ -TMF if and only
if it is not possible to find a SG-policy D such that D `Oˆ :G</p>
      </sec>
    </sec>
    <sec id="sec-13">
      <title>As we will see in the next section, our definition of validity in TMS is equivalent to Becker et al.’s definition. We now illustrate with an example how Definition 2 can be used to prove the validity of the formula given Example V.4. of [BRS12]:</title>
      <p>G = :a ^ d :e ^ (a b ^ c d) e ! c ^ d a where SG = fa; b; c; d; eg.
Following Definition 2, `Oˆ G if and only if it is not possible to find SG-policy D
such that D `Oˆ :G. Hence, we have to prove that there is not D such that
D `Oˆ :(:a ^ d
:e ^ (a
b ^ c
d)
e ! c ^ d</p>
    </sec>
    <sec id="sec-14">
      <title>This is (classically) equivalent to:</title>
      <p>D `Oˆ :a ^ d
:e ^ (a
b ^ c
d)
e ^ (:c _ :(d
a)
a))
Distributing ^ over _ we obtain that we have to prove there is no D such that:
1. D `Oˆ :a ^ d
:e ^ (a
b ^ c
d)</p>
      <p>e ^ :c
(a) D `Oˆ :a: Since we are looking for a counter-example, we need to make
this sequent an initial sequent, so we have to construct a policy D whose
minimal model, MD, contains the valuation a = f alse. This is a 2= MD. It
is worth to notice that the scoping of D is the whole formula.
(b) D `Oˆ d :e: if and only if D [fdg `Oˆ :e and this is an initial sequent
if the valuation e = f alse is in the minimal model of D [fdg. Hence,
e 2= MD.
(c) D `Oˆ (a b ^ c d) e: if and only if D [fa b; c dg `Oˆ e but this
is not possible since :e holds in MD.</p>
      <p>Therefore, D 0Oˆ :a ^ d :e ^ (a b ^ c d) e ^ :c
2. D `Oˆ :a ^ d :e ^ (a b ^ c d) e ^ :(d a). In this case, directly by
item 1c above we get that D 0Oˆ :a ^ d :e ^ (a b ^ c d) e ^ :(d a)
Since we cannot construct a (counter-example) policy for :G, then `Oˆ G.
3</p>
      <p>Equivalence of Oˆ -TMF and Becker et al.’s TMS</p>
    </sec>
    <sec id="sec-15">
      <title>In this section we briefly described how to show that our definition of validity is</title>
      <p>equivalent to Becker et al.’s. First, we recall some definitions from [BRS12]. Let
basic goals be atoms and classical propositional compound formulas expressed
in terms of ^ and :. Let P be a policy, MP its minimal model and G a basic goal.</p>
    </sec>
    <sec id="sec-16">
      <title>Then, P G if and only if G holds in MP. Additionally, Becker et al. inductively</title>
      <p>define that P Q G if and only if P [ Q G, where Q is a policy. A goal</p>
    </sec>
    <sec id="sec-17">
      <title>G is valid, G, if and only if for every policy P, P G. In order to deal with goals that allow the evaluation of policies together with credentials, we need the following lemma.</title>
      <p>Proposition 1. Let Q</p>
      <sec id="sec-17-1">
        <title>G be a goal. Then, for all policies P</title>
        <p>P Q G if and only if P `Oˆ Q G
The proof follows by induction by showing that P Q1 : : : Qk G iff P `Oˆ
Q1 : : : Qk G using the definition of and the -Oˆ rule. As a corollary we
also have</p>
        <p>P G if and only if P `Oˆ G (1)</p>
      </sec>
    </sec>
    <sec id="sec-18">
      <title>We use one of the main results in [BRS12] as well. This is, the equivalence between their derivability and their proof system validity . Given a formula j, j if and only if</title>
      <p>` j
(2)</p>
      <p>Oˆ G
Theorem 1. Let G be a goal. Then, ` G if and only if
Proof. From (1) and (2) it follows that ` G if and only if
`Oˆ G</p>
    </sec>
    <sec id="sec-19">
      <title>G if and only if</title>
      <p>Final remarks</p>
    </sec>
    <sec id="sec-20">
      <title>In this work we have presented a very operational definition of validity in TMS.</title>
    </sec>
    <sec id="sec-21">
      <title>Based on this result we have designed a top-down proof procedure of validity.</title>
    </sec>
    <sec id="sec-22">
      <title>This procedure works similar to abduction in logic programs with the addition</title>
      <p>that not only atoms but also rules can be assumed in order to find Ds (see Def. 2).</p>
    </sec>
    <sec id="sec-23">
      <title>We are able also to describe a model theoretic semantics based on Kripke struc</title>
      <p>tures following Miller’s models. In particular, Miller interprets a world of a
Kripke’s model as a program and the knowledge at each world as its minimal
model. This intuition can be explained in terms of two basic ideas of modal
logic. The first one is the notion that a world may be considered to represent
the “knowledge” that we have at a certain moment. The second idea is that a
formula can be considered to hold if we can infer its truth from the knowledge
that we have now or one that we may acquire in the “future”, capturing the idea
of credentials. Details will appear in the full version of this paper.</p>
      <p>An important consequence of the connections between Miller’s language
and the propositional logic for reasoning in TMS is the possibility of lifting the
results to policies, credentials and permissions with variables. We cannot apply
directly Miller’s results because his logic doesn’t deal with negation. There is,
however, an extensions to Miller’s logic that deals with normal logic programs
[POPN12], but we need to work out the details of the axiomatization since the
approach in [POPN12] uses a notion similar to Clark’s completion as opposed
to minimal models. Complementary to these extensions we will also like to
check how an implementation of validity using our approach will compare to
the implementation of Becker et al.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [BRS12]
          <string-name>
            <surname>Becker</surname>
            ,
            <given-names>M. Y.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Russo</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Sultana</surname>
          </string-name>
          , N.:
          <article-title>Foundations of logic-based trust management</article-title>
          .
          <source>In Proc. of IEEE Symposium on Security and Privacy</source>
          ,
          <volume>161</volume>
          -
          <fpage>175</fpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [BFL96]
          <string-name>
            <surname>Blaze</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Feigenbaum</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Lacy</surname>
          </string-name>
          , J.:
          <article-title>Decentralized trust management</article-title>
          .
          <source>In Proc. IEEE Symposium on Security and Privacy</source>
          ,
          <year>1996</year>
          .
          <fpage>164</fpage>
          -
          <lpage>173</lpage>
          (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>[DeT02] DeTreville</surname>
          </string-name>
          , J.:
          <article-title>Binder, a logic-based security language</article-title>
          .
          <source>In Proc. of IEEE Symposium on Security and Privacy</source>
          ,
          <year>2002</year>
          ,
          <fpage>105</fpage>
          -
          <lpage>113</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [JIM01]
          <string-name>
            <surname>Jim</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>SD3: A trust management system with certified evaluation</article-title>
          .
          <source>In Proc. of IEEE Symposium on Security and Privacy, Security and Privacy</source>
          ,
          <year>2001</year>
          .
          <fpage>106</fpage>
          -
          <lpage>115</lpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [LGF00]
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Grosof</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Feigenbaum</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>A practically implementable and tractable delegation logic</article-title>
          <source>In Proc. of IEEE Symposium on Security and Privacy</source>
          ,
          <volume>27</volume>
          -
          <fpage>42</fpage>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [LM03]
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <article-title>and</article-title>
          <string-name>
            <surname>Mitchell</surname>
            ,
            <given-names>J. C.</given-names>
          </string-name>
          :
          <article-title>Datalog with constraints: A foundation for trust management languages</article-title>
          .
          <source>In Practical Aspects of Declarative Languages</source>
          ,
          <fpage>58</fpage>
          -
          <lpage>73</lpage>
          ,
          <year>2003</year>
          . Springer
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [Mil89]
          <string-name>
            <surname>Miller</surname>
            ,
            <given-names>D.:</given-names>
          </string-name>
          <article-title>A logical analysis of modules in logic programming</article-title>
          .
          <source>The Journal of Logic Programming</source>
          , Vol.
          <volume>6</volume>
          ,
          <issue>1</issue>
          ,
          <fpage>79</fpage>
          -
          <lpage>108</lpage>
          (
          <year>1989</year>
          ). Elsevier
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [POPN12]
          <string-name>
            <surname>Pasarella</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Orejas</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Pino</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Navarro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Semantics of structured normal logic programs</article-title>
          .
          <source>The Journal of Logic and Algebraic Programming</source>
          , Vol.
          <volume>81</volume>
          ,
          <issue>5</issue>
          ,
          <fpage>559</fpage>
          -
          <lpage>584</lpage>
          (
          <year>2012</year>
          ). Elsevier
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>