<!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>
      <journal-title-group>
        <journal-title>Workshop, Stavropol and Arkhyz, Russian Federation</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>The Knowledge Base Paradigm Applied to Delegation Revocation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marcos Cramer TU Dresden</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pieter Van Hertum KU Leuven</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Zohreh Baniasadi University of Luxembourg</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2019</year>
      </pub-date>
      <volume>1</volume>
      <fpage>7</fpage>
      <lpage>09</lpage>
      <abstract>
        <p>In ownership-based access control frameworks with the possibility of delegating permissions and administrative rights, delegation chains will form. There are di erent ways to treat delegation chains when revoking rights, which give rise to di erent revocation schemes. In this paper, we investigate the problem of delegation revocation from the perspective of the knowledge base paradigm. A knowledge base is a formal speci cation of domain knowledge in a rich formal language. Multiple forms of inference can be applied to this formal speci cation in order to solve various problems and tasks that arise in the domain. In other words, the paradigm proposes a strict separation of concerns between information and problem solving. The knowledge base that we use in this paper speci es the e ects of the various revocation schemes. By applying di erent inferences to this knowledge base, we can solve the following tasks: to determine the state of the system after a certain delegation or revocation; to interactively simulate the progression of the system state through time; to determine whether a user has a certain permission or administrative right given a certain state of the system; to verify invariants of the system; and to determine which revocation schemes give rise to a certain speci ed set of desired outcomes.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        In ownership-based frameworks for access control, it is common to allow principals (users or processes) to grant
both permissions and administrative rights to other principals in the system. Often it is desirable to grant a
principal the right to further grant permissions and administrative rights to other principals. This may lead to
delegation chains starting at a source of authority (the owner of a resource) and passing on certain permissions
to other principals in the chain [
        <xref ref-type="bibr" rid="ref20 ref23 ref27 ref7">20, 23, 7, 27</xref>
        ].
      </p>
      <p>
        Furthermore, such frameworks commonly allow a principal to revoke a permission that she granted to another
principal [
        <xref ref-type="bibr" rid="ref17 ref28 ref3 ref7">17, 28, 7, 3</xref>
        ]. Depending on the reasons for the revocation, di erent ways to treat the chain of principals
whose permissions depended on the second principal's delegation rights can be desirable [
        <xref ref-type="bibr" rid="ref17 ref8">17, 8</xref>
        ]. For example, if
one is revoking a permission given to an employee because he is moving to another position in the company, it
makes sense to keep the permissions of principals who received them from this employee; but if one is revoking a
permission from a user who has abused his rights and is hence distrusted by the user who granted the permission,
it makes sense to delete the permissions of principals who received them from this user. Any algorithm that
determines which permissions to keep intact and which permissions to delete when revoking a permission is called
a revocation scheme.
      </p>
      <p>
        Hagstrom et al. [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] have presented a framework for classifying possible revocation schemes along three
dimensions: the extent of the revocation to other grantees (propagation), the e ect on other grants to the same grantee
(dominance), and the permanence of the negation of rights (resilience). Since there are two options along each
dimension, there are in total eight di erent revocation schemes in Hagstrom et al.'s framework. This classi cation
was based on revocation schemes that had been implemented in database management systems [
        <xref ref-type="bibr" rid="ref15 ref16 ref4 ref5">16, 15, 5, 4</xref>
        ].
      </p>
      <p>
        In this paper, we investigate the problem of delegation revocation from the perspective of the knowledge base
paradigm, a declarative programming paradigm based on the idea of strictly separating information and problem
solving. A knowledge base is a formal speci cation of domain knowledge in a rich formal language. Multiple
forms of inference can be applied to this formal speci cation in order to solve various problems and tasks that
arise in the domain. The IDP system is an implementation of the knowledge base paradigm with associated
formal language FO( ), an extension of rst-order logic [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>In this paper we present an application of the knowledge base paradigm to delegation revocation, realized
in the IDP system. We have written a formal speci cation of the eight revocation schemes in Hagstrom et
al.'s framework, which formally described their e ects. By applying di erent inferences to this speci cation, we
can solve various tasks that can be useful both for implementing a system which allows for these revocation
schemes and for supporting a user of such a system: Given a certain state of the system and a certain action
(delegation or revocation), one inference determines the state of the system after this action. Another inference
can interactively simulate the progression of the system state through time. A third determines whether a user
has a certain permission or administrative right given a certain state of the system. A fourth inference allows
to verify that the system satis es certain invariants. Finally, there is an inference that allows a user to specify
a set of desired outcomes (e.g. that a certain user should no longer have a certain right while another user is
una ected) and determine which actions give rise to this outcome.</p>
      <p>The paper is structured as follows: We introduce Hagstrom et al.'s delegation revocation framework in Section
2. In Section 3 we motivate and describe the knowledge base paradigm, the IDP system and its speci cation
language FO( ). Section 4 presents the application of the knowledge base paradigm to Hagstrom et al.'s framework.
Section 5 discusses related work and section 6 concludes.
2</p>
    </sec>
    <sec id="sec-2">
      <title>The delegation revocation framework</title>
      <p>
        In this section we present Hagstrom et al.'s [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] delegation revocation framework in a slightly simpli ed way.
      </p>
      <p>
        Let P be the set of principals (users or processes) in the system, let O be the set of objects for which
authorizations can be stated, and let A be the set of access types, i.e. of actions that principals may perform
on objects. For every object o 2 O, there is a source of authority (SOA), for example the owner of le o, which
is a principal that has full power over object o and is the ultimate authority with respect to accesses to object
o. For any a 2 A and o 2 O, the SOA of o can grant the right to access a on object o to other principals in
the system, and can also delegate the right to grant access and to grant this delegation right. Therefore two
kinds of permissions are distinguished: Permission means that only access right is granted, while permission
means that both access and delegation rights are granted. Additionally, Hagstrom et al.'s framework allows for
negative authorizations, which can be used to block a principal's access or delegation rights without deleting any
authorization. Due to space limitations, we restrict ourselves to the fragment of Hagstrom et al.'s framework
consisting of positive authorizations only. In a technical report to this paper, negative authorizations are taken
into account [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>We assume that all authorizations in the system are stored in an authorization speci cation, and that every
authorization is of the form (i; j; a; o; ), where i; j 2 P , a 2 A, o 2 O, and 2 f ; g is a permission. The
meaning of this authorization is that principal i is granting some permission concerning access type a on object
o to principal j. If b is T , the permission contains the right to delegate the permission further.</p>
      <p>Note that there is no interaction between the rights of principals concerning di erent access-object pairs
(a; o), so we can consider a and o to be xed for the rest of the paper. Therefore we simplify an authorization
(i; j; a; o; ) to (i; j; ).
2.1</p>
      <p>
        Delegation chains and connectivity property
Hagstrom et al. use the notion of a principal p having a permission without formally de ning it. The intended
meaning of this can be formalized using the notion of a rooted delegation chain:1
1The idea to formalize Hagstrom et al.'s notion of having a permission in this way was rst proposed by Aucher et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>is a sequence p1; : : : ; pn of
i there is a rooted delegation chain for principal p
De nition 1 A rooted delegation chain for principal i with respect to permssion
principals satisfying the following properties:
1. p1 is the source of authority.
2. pn is i.
3. For every integer k with 1
4. For every integer k with 1
5. n = .</p>
      <p>k &lt; n, an authorization (pk; pk+1; k) is in place.</p>
      <p>k &lt; n 1, k = .</p>
      <p>De nition 2 We say that a principal p has permission
with respect to permission .</p>
      <p>Hagstrom et al.'s framework allows an authorization (i; j; ) to be in the authorization speci cation only if
i has delegation right. This is called the connectivity property, and it can be viewed as an invariant that any
system based on Hagstrom et al.'s framework needs to satisfy:
Connectivity property: For every authorization (i; j; ) in the authorization speci cation, i has permission .
2.2</p>
      <p>
        The three dimensions
Hagstrom et al. [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] have introduced three dimensions according to which revocation schemes can be classi ed.
These are called propagation, dominance and resilience:
      </p>
      <p>Propagation. The decision of a principal i to revoke an authorization previously granted to a principal j
may either be intended to a ect only the direct recipient j or to a ect all the other users in turn authorized by
j. In the rst case, we say that the revocation is local, in the second case that it is global.</p>
      <p>Dominance. This dimension deals with the case when a principal losing a permission in a revocation still
has permissions from other grantors. If these other grantors' are dependent on the revoker, she can dominate
these grantors and revoke the permissions from them. This is called strong revocation. The revoker can also
perform a weak revocation, where permissions from other grantors to a principal losing a permission are kept.</p>
      <p>In order to formalize this dimension, we need to de ne what we mean by a principal's delegation rights to be
independent of another principal:
De nition 3 A principal j has delegation rights independent of a principal i with respect to permission
there is an rooted delegation chain for j with respect to that does not contain the principal i.
i</p>
      <p>Resilience. This dimension distinguishes revocation by removal of positive authorizations from revocation by
negative authorizations which just inactivate positive authorizations. Given that we concentrate on the fragment
of Hagstrom et al.'s framework without negative revocations, we will not explain this dimension in detail.</p>
      <p>
        Since there are two options along each of the three dimensions, Hagstrom et al. de ned eight di erent
revocation schemes. The technical report of this paper contains an illustration of these revocation schemes [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>The knowledge base paradigm and the FO( ) KB project</title>
      <p>
        Declarative systems have proven their merit in many application domains: From planning to scheduling to
security contexts, many challenges have been tackled using declarative approach. For example, Barker et al.
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] used a rule-based approach to determine access rights in an access control system. Advantages of such an
approach are readability and maintainability of a speci cation. However, only one task is supported in a rule
based system, or in any other decalarative system. Every system has its own syntactical style, terminology,
conceptualization, and designated style of inference (rule based systems do chaining, databases do querying,
answer set programming generates answer sets, etc.). Yet, in all of them, propositions need to be expressed.
Take, e.g., \each lecture takes place at some time slot". This proposition could be an expression to be deduced
from a formal speci cation if the task was a veri cation problem, or to be queried in a database, or it could be
a constraint for a scheduling problem. It is, in the rst place, just a piece of information and we see no reason
why depending on the task to be solved, it should be expressed in a di erent formalism.
      </p>
      <p>
        The knowledge base (KB ) paradigm [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] was proposed as an answer to this. The KB paradigm applies a
strict separation of concerns to information and problem solving. A KB system allows information to be stored
in a knowledge base, and provides a range of inference methods. With these inference methods various types
of problems and tasks can be solved using the same knowledge base. As such the knowledge base is neither a
program nor a description of a problem, it cannot be executed or run. It is nothing but information. However,
this information can be used to solve multiple sorts of problems. Many declarative problem solving paradigms are
mono-inferential: they are based on one form of inference. In comparison, the KB paradigm is multi-inferential.
      </p>
      <p>
        The FO( ) KB project is a research project in which an implementation of the KB paradigm is being developed.
Its aim is to integrate di erent useful language constructs and forms of inference from di erent declarative
paradigms in one rich declarative language and a KB system. So far, it has led to the KB language FO( ) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]
and the KB system IDP [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], which are used in this paper.
3.1
      </p>
      <p>
        The speci cation language FO( )
FO( ) refers to a class of extensions of rst-order logic (FO). The language of the current version of the IDP
system (IDP 3) is FO(T, ID, Agg, arit, PF): FO extended with types, inductive de nitions, aggregates, arithmetic
and partial functions (see [
        <xref ref-type="bibr" rid="ref13 ref22">13, 22</xref>
        ]). In this work, we will only work (and as such, introduce) a subset of this
language: F O(T; ID): typed rst-order logic with inductive de nitions. Abusing notation, we will use FO( ) as
an abbreviation of this language.
3.2
      </p>
      <p>An FO( ) speci cation
A speci cation of domain knowledge in FO( ) can consist of 3 types of building blocks: a vocabulary , a theory
T and a (partial) structure S.</p>
      <p>The vocabulary declares the symbols used in the associated theories and structures. It is a set of type
symbols (denoted as T ) and predicate symbols (denoted as P ). Every predicate P of arity n has a xed type
[ 1; : : : ; n], where 1; : : : ; n are type symbols. Variables, atoms and rst-order formulas are de ned as usual.</p>
      <p>
        A theory is a set of rst-order formulas and inductive de nitions. An inductive de nition in FO( ) is a set
of rules of the form P (t) ', with ' a rst-order formula. We call P (t) the head (head( )) and ' the body
(body( )) of the rule. The symbols that occur in the head of a rule in are called the de ned symbols in .
All other symbols that occur in are called the parameters of . The semantics used for inductive de nitions
is the well-founded semantics; as argued in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], this captures the intended meaning of all forms of inductive
de nitions commonly used in mathematics and computer science. Informally a structure S satis es if the
interpretation of a de ned predicate P in the well-founded model of S, constructed relative to the restriction of
S to the parameters of , is exactly the relation P S .
      </p>
      <p>The following example illustrates the use of an inductive de nition in a theory by presenting the de ntion of
\reachable" in FO( ).</p>
      <p>Example 1 Assume a vocabulary containing a type N ode, and 2 predicates: Edge(N ode; N ode) and
Reachable(N ode; N ode). Informally, Edge states that there is an edge between two nodes, while Reachable
states that there is a path of edges between 2 notes. We de ne what reachability means in terms of the edges,
using an inductive de nition in FO( ):
( 8x : Reachable(x; x):
)</p>
      <sec id="sec-3-1">
        <title>8x y : Reachable(x; y)</title>
      </sec>
      <sec id="sec-3-2">
        <title>9z : Reachable(x; z) ^ Edge(z; y):</title>
        <p>Given a vocabulary , a partial structure gives an interpretation to (a subset of) the elements of . Before we
de ne formally what an interpretation is, we de ne the concept of a partial set, which is a generalisation of a set
in a 3-valued context: A partial set on domain D is a function from D to ft; u; f g. A partial set is two-valued
(or total) if u does not belong to its range. A (partial) structure S consists of a domain D for all types in T
and an assignment of a partial set P S to each predicate or function symbol P 2 P , called the interpretation
of P in S. The interpretation P S of a predicate symbol P with type [ 1; : : : ; n] in S is a partial set on domain
D 1 : : : D n . In case the interpretation of a predicate P in S is a two-valued set, we abuse notation and use
P S as shorthand for fdjP S (d) = tg.</p>
        <p>We call a partial structure total if the interpretation P S of every predicate symbol P 2 P is a total set. Note
that with the abuse of notation just explained, a total structure as we have de ned it can be identi ed with a
rst-order structure as it is usually de ned.</p>
        <p>Given two partial structures S = (D; I) and S0 = (D; I0), we write S p S0 (and say S is more precise than S0,
or S0 expands S) i for every predicate symbol P 2 P with type [ 1; : : : ; n] and every tuple d 2 D 1 : : : D n
such that P I (d) 6= u, we have P I0 (d) = P I (d).
3.3</p>
        <p>
          The reasoning engine
In the FO( ) KB project, a implementation of a KB System was developed: the IDP system [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. IDP takes an
FO( ) speci cation (that is, a combination of vocabularies, theories and/or structures) and can do a number of
reasoning tasks, by applying a suitable form of inference on this speci cation. Below, we present the inferences
that we need in this paper:
Modelexpand(T; S): Input: theory T and partial structure S. Output: either a total structure I such that I
is a model of T and S p I, or UNSAT if there is no such I. Modelexpand [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ] is a generalization for FO( )
theories of the modelexpansion task as de ned in Mitchell et al. [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ].
        </p>
        <p>Allmodels(T; S): Input: theory T and partial structure S. Output: the set of all total structures I such that</p>
        <p>I is a model of T and S p I.</p>
        <p>Query(S; E): Input: a (partial) structure S and a set expression E = fx j '(x)g. Output: the set AQ = fx j
'(x)S = tg.</p>
        <p>
          Progression(T; Si): In [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], LTC theories (Linear Time Calculus) are proposed, a syntactic subclass of FO( )
theories that allow to naturally model dynamic systems. An LTC theory consists of three types of constraints:
constraints about the initial situation, invariants, and \bistate" formulas that relate the state on the current
point in time with that of the next. Note that the speci cation presenten in Subsection 4.1 below is an LTC
theory.
        </p>
        <p>The Progression inference: Input: an LTC theory T and a structure Si that provides information about the
state of the system on a time point t. Output: a structure St+1 that represents the next state (or a next
possible state) at time point t + 1. Repeating this process, we can compute all subsequent states, e ectively
simulating the dynamic system de ned by T .
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Delegation revocation in the KB paradigm</title>
      <p>In this section, we explain how the KB paradigm can be applied to delegation revocation. For this purpose, we
show how the delegation revocation framework de ned in Section 2 can be speci ed in FO( ), and how inferences
on this speci cation can solve various tasks that arise in the domain. Some of these tasks are tasks that any
system implementing the delegation revocation framework needs to solve, while others are tasks that support a
user of such a system.</p>
      <p>We have built a prototype in IDP in which this application of the KB paradigm is realized. This prototype also
covers the negative authorizations and negative revocation schemes that this paper does not explain due to space
restrictions. This prototype can be downloaded at http://icr.uni.lu/mcramer/downloads/hagstrom-R&amp;DS.
zip and run in IDP 3.
4.1</p>
      <p>The FO( ) speci cation of the delegation revocation framework
In this subsection, we describe how Hagstrom et al.'s delegation revocation framework, which we de ned
semiformally in Section 2, can be formally speci ed in FO( ).2 In this subsection, we use IDP syntax for FO( ): The
symbols &amp;, |, ~, ! and ? mean ^, _, :, 8 and 9 respectively, and &lt;- means (in inductive de nitions).</p>
      <p>The FO( ) speci cation models the change of the authorization speci cation over time. We allow for four types
of objects: Time, principal, scheme and permission. Time points are integers. There is a constant SOA of type
principal that denotes the source of authority. The type scheme consists of the four delete revocation schemes
(WLD, WGD, SLD and SGD) and two schemes for granting the two di erent kinds of permissions (grant access and
grant deleg). The permissions are access and deleg. Positive authorizations are modelled by the predicate
pos auth. The authorizations cannot be modelled as objects, because they change over time, while FO( )
assumes a constant domain of objects.</p>
      <p>As IDP only works with nite domains, the type Time actually just consists of a nite set of consecutive
integers. There is a constant Start for the rst time point. The unary partial function Next maps a time point
t to the next time point t+1, as long as t is not the last time point included in the domain.</p>
      <p>2For a version of the speci cation that includes the formal speci cation of the vocabulary, that also covers negative authorizations,
and that contains comments that clarify various details, see the le MainTheory.idp of the prototype that can be downloaded at
http://icr.uni.lu/mcramer/downloads/hagstrom-R&amp;DS.zip.</p>
      <p>The predicate pos auth for positive authorizations takes four arguments: pos auth(t,i,j,a) means that at
time t, a positive authorization from principal i to principal j for permission a is in place. There is a tertiary
predicate pos auth start for specifying the positive authorizations that are in place at the rst time point.</p>
      <p>Changes in the authorization speci cation are always triggered by some action by a principal:
action(t,s,i,j) means that at time t, principal i performs an action of the (revocation or grant) scheme
s a ecting principal j. These actions can lead to authorizations being deleted and/or new authorizations being
included in the authorization speci cation. delete(t,i,j,a) means that between time points t-1 and t, the
positive authorization from i to j for permission a gets deleted. new(t,i,j,a) means that between time points
t-1 and t, a new positive authorization from i to j for permission a gets added to the authorization speci cation.</p>
      <p>pos auth is de ned inductively by setting its values at the rst time point Start to the start con guration
speci ed by pos auth start, and by modifying its values between time t and t+1 according to the changes
speci ed by delete and new:
f
p o s a u t h ( S t a r t , p1 , p2 , a )&lt; p o s a u t h s t a r t ( p 1 , p2 , a ) .
p o s a u t h ( N e x t ( t ) , p1 , p2 , a )&lt; p o s a u t h ( t , p1 , p2 , a ) &amp;
p o s a u t h ( N e x t ( t ) , p1 , p2 , a )&lt; new(Next(t ) , p1 , p2 , a ) . g
d e l e t e ( N e x t ( t ) , p1 , p2 , a ) .</p>
      <p>The predicate chain(t,i,a) expresses that at time t, there exists a rooted delegation chain for principal i
with respect to permission a. In Section 2, rooted delegation chains are de ned by quantifying over sequences of
principals. This is in e ect a second-order quanti cation, which is not possible in the rst-order language FO( ).
However, chain(t,i,a) can be equivalently de ned through an inductive de nition as follows:3
f
c h a i n ( t , SOA, d e l e g ) .</p>
      <p>c h a i n ( t , p1 , a ) &lt; ? p2 : c h a i n ( t , p2 , d e l e g ) &amp; p o s a u t h ( t , p2 , p1 , a ) . g</p>
      <p>The predicate can delegate(t,i) expresses that principal i has permission del. The predicate ind(t,i,j,a)
models the independence of principal i from principal j with respect to a permission a, and the access right of
principal i. These two predicates are de ned as follows:
c a n d e l e g a t e ( t , i ) &lt;
i n d ( t , SOA, p , a ) &lt;
i n d ( t , p1 , p2 , a ) &lt;</p>
      <p>? a1 : c h a i n ( t , i , d e l e g ) . g
SOA = p .</p>
      <p>p1 = p2 &amp; ?p : i n d ( t , p , p2 , a ) &amp; p o s a u t h ( t , p , p1 , a ) . g
f
f
f
f</p>
      <p>The di erent e ects of the di erent deletion revocation schemes are captured by the de nitions of the predicates
delete and new. delete is de ned via an inductive de nition with four clauses:
d e l e t e ( N e x t ( t ) , i , j , a )&lt; p o s a u t h ( t , i , j , a ) &amp; a c t i o n ( t , s , i , j ) &amp;</p>
      <p>( s=WLD j s=SLD j s=WGD j s=SGD) .
d e l e t e ( N e x t ( t ) , j , k , a )&lt; p o s a u t h ( t , j , k , a ) &amp; c a n d e l e g a t e ( N e x t ( t ) , j ) .
d e l e t e ( N e x t ( t ) , k , j , a )&lt; p o s a u t h ( t , k , j , a ) &amp; a c t i o n ( t , SLD, i , j ) &amp; i n d ( t , k , i , a1 ) .
d e l e t e ( N e x t ( t ) , z , w, a )&lt; p o s a u t h ( t , z , w, a ) &amp; a c t i o n ( t ,SGD, i , j )</p>
      <p>&amp; d e l e t e ( N e x t ( t ) , p , w, a1 ) &amp; i n d ( t , z , i , a2 ) . g
The rst clause just states that in any deletion revocation scheme from i to j, the positive authorization from i to
j is deleted. The second clause de nes the propagation of deletion by specifying that any positive authorization
from i to j gets deleted if i is losing its delegation right. The last two clauses capture the meaning of strong vs.
weak dominance by specifying the additional deletions that are needed in strong revocation schemes.</p>
      <p>The predicate new takes care that new authorizations are added either when an action to grant a new
permission takes place ( rst clause of the de nition of new) or when a local revocation requires the addition of a new
authorization (second clause):
new(Next(t ) , i , j , a ) &lt;
? ds : ( ( d s=g r a n t a c c e s s &amp; a = a c c e s s ) j ( d s=g r a n t d e l e g &amp; a = d e l e g ) ) &amp;
a c t i o n ( t , ds , i , j ) &amp; c a n d e l e g a t e ( t , i ) .
new(Next(t ) , i , k , a ) &lt; ? j s : ( s=WLD j s=SLD) &amp; a c t i o n ( t , s , i , j ) &amp;
( ? z : p o s a u t h ( t , z , k , a ) &amp; c a n d e l e g a t e ( t , z ) ) &amp;</p>
      <p>( ? z : p o s a u t h ( t , z , k , a ) &amp; c a n d e l e g a t e ( N e x t ( t ) , z ) ) . g
3Note that rst-order logic with inductive de nitions has an expressivity that lies strictly between the expressivity of rst-order
and second-order logic.
Informally, the second clause of this de nition says that if in a local revocation scheme revoking a positive
authorization from principal i to principal j, j is losing its delegation right, then every positive authorization
from j to another principal k must be replaced by a positive authorization of the same authorization type from
i to k. This new authorization from i to k ensures that the propagation de ned in the second clause of the
de nition of delete does not continue beyond j.</p>
      <p>The predicate access right(t,i) means that principal i has access right at time t:
f
a c c e s s r i g h t ( t , p ) &lt;</p>
      <p>c h a i n ( t , p , a ) . g
In this subsection we explain how di erent logical inferences, when applied to the FO( ) speci cation explained
above, can solve various tasks that can be useful both for implementing a system which allows for delegation
revocation and for supporting a user of such a system.</p>
      <p>Let us rst consider tasks that a system that implements Hagstrom et al.'s delegation revocation framework
needs to solve. Given a certain state of the system, de ned by which authorizations are currently included in the
authorization speci cation, and a given action (a delegation or revocation performed by some principal), the new
state of the system after this action needs to be determined. This task can be performed using the Modelexpand
inference as follows: Let T be the FO( ) speci cation of the delegation revocation framework. Let S be a partial
structure with the following properties:</p>
      <p>The time domain of S contains only the two time points 0 and 1.</p>
      <p>S assigns to the predicate pos auth start the set of all authorizations currently included in the authorization
speci cation.</p>
      <p>S assigns to the predicate action the given action at time 0.</p>
      <p>The value of all other predicates is unde ned in S.</p>
      <p>In this case, Modelexpand(T ,S) is a total structure that expands S and that is a model of T . Being a total
structure, it assigns to pos auth a set A of quadruples of the form (t; i; j; a), where t is a time point (0 or
1), i and j are principals and a is a permission. Then the set A0 := f(i; j; a) j (1; i; j; a) 2 Ag is the set of
authorizations that constitutes the authorization speci cation after the action. (Note that since all predicates
other than pos auth start and action are de ned in T through an inductive de nition, there is a unique model
of T that expands S, so that the result of this inference is deterministic.)</p>
      <p>This way we can determine the e ect of a single action. It could be iterated by setting the value of
pos auth start to be A0 for the next iteration of this procedure. But the IDP system also supports an
inference, namely the Progression inference, that is designed for this kind of temporal progression of a structure
based on a theory with a type for time. The input structure of this inference provides information about the
state of the system on a time point t; in our case that is the authorization speci cation at a given time. The
output is a structure that represents the state of the authorization speci cation at time point t + 1. So the step
of extracting A0 from A that was required for iterating the above inference is no longer needed. So this inference
can more straightforwardly be iterated, giving rise to an interactive simulation of the progression of the system
state through time.</p>
      <p>Of course, a system implementing Hagstrom et al.'s framework does not only need to determine how the
authorization speci cation changes over time, but also needs to determine whether a principal requesting access
or performing a certain administrative action actually has access right or the right to perform the action in
question. This can be done with the Query inference: For example, if S is the partial structure that assigns to
the predicate pos auth start the set of all authorizations currently included in the authorization speci cation,
Query(S,fi j access right(Start,i)g) returns the set of principals that have access right according to the
current authorization speci cation.</p>
      <p>When designing a system, one can avoid an erroneous design by specifying invariants that the system must
satisfy at any moment during the execution of the system, and verify that these invariants are actually satis ed
by the system. In the case of a system based on Hagstrom et al.'s delegation revocation system, an example of
an invariant that the system must satisfy is the connectivity property de ned in subsection 2.1. We must, of
course assume, that the system starts in a state that satis es the connectivity property. All that remains to be
shown, then, is that if the connectivity property holds at some time point t, it must also hold at the next time
point t + 1.</p>
      <p>One way that this can be done is by calling an automated theorem prover to prove this implication. However,
this is not always viable, as the theory may be too complex for an automated theorem prover to be able to nd
a proof of the invariant. This is the case for our speci cation.</p>
      <p>Another possibility is to prove that the invariant holds in xed structures. In our case, we can x a partial
structure S with time points 0 and 1 and without any information about the predicates. In this case, the only
information that we are xing is the number of principals. We can then prove that the invariant holds for a xed
number of principals by establishing, using Modelexpand(T 0,S), that there is no total structure expanding S that
is a model of the theory T 0 consisting of our speci cation T together with the statement that the connectivity
property holds at time point 0 but not at time point 1. With this method, we have veri ed the connectivity
property for any system with n principals for n 8.</p>
      <p>Despite this limitation to very small domains, this limited veri cation can be useful for avoiding erroneous
design, as errors tend to already show up at relatively small domains. It should be added that the logical
methodology of the KB paradigm lends itself well to the usage of interactive theorem provers common in software
veri cation in order to fully verify invariants over complex speci cations. The integration of IDP and interactive
theorem provers is, however, still future work.</p>
      <p>Finally, let us turn to a task that supports a user of a system based on Hagstrom et al.'s delegation revocation
framework: A principal i may want to reach a certain outcome, e.g. that a given principal j should no longer
have a certain right while another principal k is una ected. i may want to nd out all revocation schemes that
lead to the desired outcome. This can be achieved by computing Allmodels(T2,S), where S is the structure
that assigns the current authorization speci cation to pos auth start, and T2 is the theory consisting of our
speci cation of the delegation revocation framework together with the statement that the action at time point 0
is performed by i, and the statement that the desired outcome holds at time point 1. The values of the predicate
action at time point 0 in the models returned by Allmodels(T2,S) are the actions that i can perform in order
to get the desired outcome.</p>
      <p>Furthermore, i may want to reach a certain outcome for some given principals while minimally in uencing the
permissions of other principals. In that case, i can de ne a cost function, e.g. that every change in a permission
of a principal has a cost of 1, and search the models returned by Allmodels(T2,S) for the one with the minimal
cost.</p>
      <p>The IDP prototype that we have built can perform all the di erent tasks described in this subsection.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Related work</title>
      <p>
        While the KB paradigm and its implementation IDP, are fairly young, its applicability has been investigated and
illustrated in multiple domains. In [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], the connection with Business Rules was investigated. Business Rules
are well-represented in industry for knowledge-intensive applications and as such were used as a comparison
to evaluate the KB paradigm. A typical Business Rules application, the EU-Rent Car-Rental company, was
modelled in FO( ), and two use cases were investigated.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ], the authors looked at applications of the IDP system, for interactive con guration systems, where the
system is used to guide a user through a search space, looking for a valid con guration. The advantages of an
explicit modeling of domain knowledge in con guration were large: the adaptability in case the domain knowledge
changes and the fact that the same speci cation of knowledge could be reused in di erent tasks being the most
important. This work was extended in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], where eight di erent reasoning tasks used in a con guration system
were identi ed and implemented using logical inferences on 1 knowledge base, containing all domain knowledge.
      </p>
      <p>
        While the KB paradigm has not been previously applied to the problem of delegation revocation, other
logical methods have been applied to this access control problem: Aucher et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] presented a formalization of
Hagstrom et al.'s eight revocation schemes in a dynamic variant of propositional logic that resembles imperative
programming languages. Furthermore, they extended their formalization with a notion of trust. Their
formalization only supports the tasks of determining the state of the system after a certain action and of determining
whether a user has a certain permission given a certain state of the system; the other tasks described in this
paper are not supported by their formalization.
      </p>
      <p>
        Two of the authors of the current paper have de ned a modi ed version of Hagstrom et al.'s delegation
revocation framework as well as Trust Delegation Logic, a logic of trust designed for studying the reasons
for performing di erent revocation schemes de ned [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. This work was motivated by problems we discovered
with Hagstrom et al.'s delegation revocation framework when we produced the rst FO( ) speci cation of the
framework, e.g. the problem that variations in the timing of the actions of various principals can have undesirable
side-e ects. These problems are documented in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], and a systematic methodology to avoid problems
of this kind is studied in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. As this example shows, formally specifying something in FO( ) can generally help
understanding it better and uncovering problematic features.
      </p>
      <p>
        In another related work, two of the authors of the current paper have de ned a modeling language for
access control based on autoepistemic logic and have exempli ed its applicability to access control by modeling
delegation revocation in a way that is similar to the way delegation revocation is modeled in the current paper [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ].
6
      </p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>
        In this paper, we have explained the bene ts of the knowledge base paradigm when applied to delegation
revocation. The knowledge base paradigm proposes a strict separation between knowledge and problem solving.
In our application, the knowledge is represented by an FO( ) speci cation of Hagstrom et al. [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] delegation
revocation framework. By applying various logical inferences to this speci cation, multiple tasks that arise when
implementing or using a delegation revocation system were solved. This way, the same information was reused
for solving various problems.
      </p>
      <p>Our work constitutes a proof of concept, and we hope that it will inspire other researchers in computer security
to consider the possibility of applying the methodology of the knowledge base paradigm to their research.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Guillaume</given-names>
            <surname>Aucher</surname>
          </string-name>
          , Steve Barker, Guido Boella, Valerio Genovese, and Leendert van der Torre.
          <article-title>Dynamics in Delegation and Revocation Schemes: A Logical Approach</article-title>
          . In Yingjiu Li, editor,
          <source>Data and Applications Security</source>
          and
          <string-name>
            <surname>Privacy</surname>
            <given-names>XXV</given-names>
          </string-name>
          , volume
          <volume>6818</volume>
          of Lecture Notes in Computer Science, pages
          <volume>90</volume>
          {
          <fpage>105</fpage>
          . Springer Berlin,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Steve</given-names>
            <surname>Barker</surname>
          </string-name>
          .
          <article-title>The next 700 access control models or a unifying meta-model?</article-title>
          <source>In Proceedings of the 14th ACM symposium on Access control models and technologies</source>
          ,
          <source>SACMAT '09</source>
          , pages
          <fpage>187</fpage>
          {
          <fpage>196</fpage>
          . ACM,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Steve</given-names>
            <surname>Barker</surname>
          </string-name>
          , Guido Boella, Dov Gabbay, and
          <string-name>
            <given-names>Valerio</given-names>
            <surname>Genovese</surname>
          </string-name>
          .
          <article-title>Reasoning about delegation and revocation schemes in answer set programming</article-title>
          .
          <source>Journal of Logic and Computation</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>E.</given-names>
            <surname>Bertino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Samarati</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Jajodia</surname>
          </string-name>
          .
          <article-title>An extended authorization model for relational databases</article-title>
          .
          <source>Knowledge and Data Engineering</source>
          , IEEE Transactions on,
          <volume>9</volume>
          (
          <issue>1</issue>
          ):
          <volume>85</volume>
          {
          <fpage>101</fpage>
          ,
          <string-name>
            <surname>Jan</surname>
          </string-name>
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Elisa</given-names>
            <surname>Bertino</surname>
          </string-name>
          , Sushil Jajodia, and
          <string-name>
            <given-names>Pierangela</given-names>
            <surname>Samarati</surname>
          </string-name>
          .
          <article-title>A Non-timestamped Authorization Model for Data Management Systems</article-title>
          .
          <source>In Proceedings of the 3rd ACM Conference on Computer and Communications Security, CCS '96</source>
          , pages
          <fpage>169</fpage>
          {
          <fpage>178</fpage>
          , New York, NY, USA,
          <year>1996</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Bart</given-names>
            <surname>Bogaerts</surname>
          </string-name>
          , Joachim Jansen, Maurice Bruynooghe, Broes De Cat, Joost Vennekens, and
          <string-name>
            <given-names>Marc</given-names>
            <surname>Denecker</surname>
          </string-name>
          .
          <article-title>Simulating Dynamic Systems Using Linear Time Calculus Theories</article-title>
          . TPLP,
          <volume>14</volume>
          (
          <issue>4</issue>
          {5):
          <volume>477</volume>
          {
          <issue>492</issue>
          , 7
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Ajay</given-names>
            <surname>Chander</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Drew</given-names>
            <surname>Dean</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and John C.</given-names>
            <surname>Mitchell</surname>
          </string-name>
          .
          <article-title>Reconstructing trust management</article-title>
          .
          <source>Journal of Computer Security</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Marcos</given-names>
            <surname>Cramer</surname>
          </string-name>
          , Diego Agust n Ambrossio, and Pieter van Hertum.
          <article-title>A Logic of Trust for Reasoning about Delegation and Revocation</article-title>
          .
          <source>In Proceedings of the 20th ACM Symposium on Access Control Models and Technologies</source>
          , pages
          <volume>173</volume>
          {
          <fpage>184</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Marcos</given-names>
            <surname>Cramer</surname>
          </string-name>
          , Zohreh Baniasadi, and Pieter Van Hertum.
          <article-title>Technical report of \The Knowledge Base Paradigm Applied to Delegation Revocation"</article-title>
          . arXiv e-prints, page arXiv:
          <year>1908</year>
          .11132,
          <year>Aug 2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Marcos</given-names>
            <surname>Cramer</surname>
          </string-name>
          and
          <string-name>
            <given-names>Giovanni</given-names>
            <surname>Casini</surname>
          </string-name>
          .
          <article-title>Postulates for Revocation Schemes</article-title>
          .
          <source>In International Conference on Principles of Security and Trust</source>
          , pages
          <volume>232</volume>
          {
          <fpage>252</fpage>
          . Springer,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Marcos</surname>
            <given-names>Cramer</given-names>
          </string-name>
          , Pieter Van Hertum,
          <string-name>
            <surname>Ruben Lapauw</surname>
            , Ingmar Dasseville, and
            <given-names>Marc</given-names>
          </string-name>
          <string-name>
            <surname>Denecker</surname>
          </string-name>
          .
          <article-title>Resilient Delegation Revocation with Precedence for Predecessors is NP-Complete</article-title>
          .
          <source>In Proceedings of the Computer Security Foundations Symposium (CSF)</source>
          <year>2016</year>
          , in print.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Broes De Cat</surname>
            , Bart Bogaerts, Maurice Bruynooghe, Gerda Janssens, and
            <given-names>Marc</given-names>
          </string-name>
          <string-name>
            <surname>Denecker</surname>
          </string-name>
          .
          <article-title>Predicate Logic As a Modeling Language: The IDP System</article-title>
          .
          <source>In Michael Kifer and Yanhong</source>
          Annie Liu, editors,
          <source>Declarative Logic Programming</source>
          , pages
          <volume>279</volume>
          {
          <fpage>323</fpage>
          .
          <article-title>Association for Computing Machinery</article-title>
          and Morgan &amp; Claypool, New York, NY, USA,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Marc</given-names>
            <surname>Denecker</surname>
          </string-name>
          and
          <string-name>
            <given-names>Eugenia</given-names>
            <surname>Ternovska</surname>
          </string-name>
          .
          <article-title>A Logic of Nonmonotone Inductive De nitions</article-title>
          .
          <source>ACM Trans. Comput. Log.</source>
          ,
          <volume>9</volume>
          (
          <issue>2</issue>
          ):
          <volume>14</volume>
          :1{
          <fpage>14</fpage>
          :
          <fpage>52</fpage>
          ,
          <string-name>
            <surname>April</surname>
          </string-name>
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Marc</given-names>
            <surname>Denecker</surname>
          </string-name>
          and
          <string-name>
            <given-names>Joost</given-names>
            <surname>Vennekens</surname>
          </string-name>
          .
          <article-title>Building a Knowledge Base System for an Integration of Logic Programming and Classical Logic. In Mar a Garc a de la Banda</article-title>
          and Enrico Pontelli, editors,
          <source>ICLP</source>
          , volume
          <volume>5366</volume>
          <source>of LNCS</source>
          , pages
          <volume>71</volume>
          {
          <fpage>76</fpage>
          . Springer,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>Ronald</given-names>
            <surname>Fagin</surname>
          </string-name>
          .
          <article-title>On an Authorization Mechanism</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .,
          <volume>3</volume>
          (
          <issue>3</issue>
          ):
          <volume>310</volume>
          {
          <fpage>319</fpage>
          ,
          <year>September 1978</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Patricia</surname>
            <given-names>P.</given-names>
          </string-name>
          <article-title>Gri ths</article-title>
          and
          <string-name>
            <surname>Bradford</surname>
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Wade</surname>
          </string-name>
          .
          <article-title>An Authorization Mechanism for a Relational Database System</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .,
          <volume>1</volume>
          (
          <issue>3</issue>
          ):
          <volume>242</volume>
          {
          <fpage>255</fpage>
          ,
          <year>September 1976</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Asa</given-names>
            <surname>Hagstr</surname>
          </string-name>
          <article-title>om, Sushil Jajodia, Francesco Parisi-Presicce, and Duminda Wijesekera. Revocations { A Classi cation</article-title>
          .
          <source>In Proceedings of the 14th IEEE Workshop on Computer Security Foundations, CSFW '01</source>
          , pages
          <fpage>44</fpage>
          {, Washington, DC, USA,
          <year>2001</year>
          . IEEE Computer Society.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Pieter</surname>
            <given-names>Van Hertum</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ingmar Dasseville</surname>
            , Gerda Janssens, and
            <given-names>Marc</given-names>
          </string-name>
          <string-name>
            <surname>Denecker</surname>
          </string-name>
          .
          <article-title>The KB Paradigm and Its Application to Interactive Con guration</article-title>
          . In Marco Gavanelli and John H. Reppy, editors,
          <source>Practical Aspects of Declarative Languages - 18th International Symposium, PADL</source>
          <year>2016</year>
          ,
          <article-title>St</article-title>
          . Petersburg, FL, USA, January
          <volume>18</volume>
          -
          <issue>19</issue>
          ,
          <year>2016</year>
          . Proceedings, volume
          <volume>9585</volume>
          of Lecture Notes in Computer Science, pages
          <volume>13</volume>
          {
          <fpage>29</fpage>
          . Springer,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Pieter</surname>
            <given-names>Van Hertum</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Joost Vennekens</surname>
            , Bart Bogaerts, Jo Devriendt, and
            <given-names>Marc</given-names>
          </string-name>
          <string-name>
            <surname>Denecker</surname>
          </string-name>
          .
          <article-title>The e ects of buying a new car: an extension of the IDP Knowledge Base System</article-title>
          .
          <source>TPLP</source>
          ,
          <volume>13</volume>
          (
          <issue>4</issue>
          {
          <fpage>5</fpage>
          -
          <string-name>
            <surname>Online-Supplement</surname>
            <given-names>)</given-names>
          </string-name>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>Ninghui</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Benjamin N.</given-names>
            <surname>Grosof</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Joan</given-names>
            <surname>Feigenbaum</surname>
          </string-name>
          .
          <article-title>Delegation Logic: A Logic-based Approach to Distributed Authorization</article-title>
          .
          <source>ACM Transaction on Information and System Security</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>David</surname>
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Mitchell</surname>
            and
            <given-names>Eugenia</given-names>
          </string-name>
          <string-name>
            <surname>Ternovska</surname>
          </string-name>
          .
          <article-title>A Framework for Representing and Solving NP Search Problems</article-title>
          . In Manuela M.
          <article-title>Veloso</article-title>
          and Subbarao Kambhampati, editors,
          <source>AAAI</source>
          , pages
          <volume>430</volume>
          {
          <fpage>435</fpage>
          . AAAI Press / The MIT Press,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Nikolay</surname>
            <given-names>Pelov</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Marc</given-names>
            <surname>Denecker</surname>
          </string-name>
          , and Maurice Bruynooghe.
          <article-title>Well-founded and Stable Semantics of Logic Programs with Aggregates</article-title>
          .
          <source>TPLP</source>
          ,
          <volume>7</volume>
          (
          <issue>3</issue>
          ):
          <volume>301</volume>
          {
          <fpage>353</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Roberto</surname>
            <given-names>Tamassia</given-names>
          </string-name>
          , Danfeng Yao, and
          <string-name>
            <surname>William</surname>
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Winsborough</surname>
          </string-name>
          .
          <article-title>Role-Based Cascaded Delegation</article-title>
          .
          <source>In Proceedings of the 9th ACM symposium on Access control models and technologies</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Pieter</surname>
            <given-names>Van Hertum</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marcos Cramer</surname>
            , Bart Bogaerts, and
            <given-names>Marc</given-names>
          </string-name>
          <string-name>
            <surname>Denecker</surname>
          </string-name>
          .
          <article-title>Distributed Autoepistemic Logic and Its Application to Access Control</article-title>
          .
          <source>In Proceedings of the Twenty-Fifth International Joint Conference on Arti cial Intelligence</source>
          ,
          <source>IJCAI'16</source>
          , pages
          <fpage>1286</fpage>
          {
          <fpage>1292</fpage>
          . AAAI Press,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <surname>Hanne</surname>
            <given-names>Vlaeminck</given-names>
          </string-name>
          , Joost Vennekens, and
          <string-name>
            <given-names>Marc</given-names>
            <surname>Denecker</surname>
          </string-name>
          .
          <article-title>A logical framework for con guration software</article-title>
          . In Antonio Porto and Francisco Javier Lopez-Fraguas, editors,
          <source>Proceedings of the 11th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming, September 7-9</source>
          ,
          <year>2009</year>
          , Coimbra, Portugal, pages
          <volume>141</volume>
          {
          <fpage>148</fpage>
          . ACM,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <surname>Johan</surname>
            <given-names>Wittocx</given-names>
          </string-name>
          , Maarten Marien, and
          <string-name>
            <given-names>Marc</given-names>
            <surname>Denecker</surname>
          </string-name>
          .
          <article-title>The idp system: A model expansion system for an extension of classical logic</article-title>
          . In Marc Denecker, editor,
          <source>LaSh</source>
          , pages
          <volume>153</volume>
          {
          <fpage>165</fpage>
          .
          <string-name>
            <surname>ACCO</surname>
          </string-name>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>Danfeng</given-names>
            <surname>Yao</surname>
          </string-name>
          and
          <string-name>
            <given-names>Roberto</given-names>
            <surname>Tamassia</surname>
          </string-name>
          .
          <article-title>Compact and Anonymous Role-Based Authorization Chain</article-title>
          .
          <source>ACM Transactions on Information and System Security</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <surname>Longhua</surname>
            <given-names>Zhang</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gail-Joon Ahn</surname>
          </string-name>
          , and
          <string-name>
            <surname>Bei-Tseng Chu</surname>
          </string-name>
          .
          <article-title>A rule-based framework for role-based delegation and revocation</article-title>
          .
          <source>ACM Transactions on Information and System Security</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>