<!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>Using Description Logics in Relation Based Access Control</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Rui Zhang</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alessandro Artale</string-name>
          <email>artale@inf.unibz.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fausto Giunchiglia</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bruno Crispo</string-name>
          <email>crispog@disi.unitn.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Faculty of Computer Science Free University of Bozen-Bolzano I-39100 Bolzano</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Faculty of Information Engineering and Computer Science I-38100 Trento</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Relation Based Access Control (RelBAC ) is an access control model designed for the new scenarios of access control on Web 2.0. Under this model, we discuss in this paper how to formalize with Description Logics the typical authorization problems of access control together with the enforcement of an important security property: Separation of Duties (SoD) and some high level security policies about the composition of those subjects on which to separate the duties.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Access control is an important branch of computer security. Nowadays, access
control models become more and more complex in order to represent the
dynamics of the subject, i.e., the new scenario where objects and permissions of access
control are located on the web. Early access control models, such as Mandatory
Access Control and Discretionary Access Control, have evolved to more
complex models such as Role-Based Access Control (RBAC) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and, most recently,
Relation-Based Access Control (RelBAC ) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Complex models, such as RBAC,
have been deeply studied and many logical formalisms have been proposed to
formalize their access control policies. In particular, it has been shown how RelBAC
can be used to model access control in terms of lightweight ontologies [
        <xref ref-type="bibr" rid="ref18 ref6 ref7">6, 7, 18</xref>
        ] of
users, objects and permissions, and how this can be exploited to automatically
manage permissions.
      </p>
      <p>
        In this paper, we discuss how to formalize the typical authorization
problems in the RelBAC model with a speci c Description Logic (DL), i.e., the DL
ALCQIBO [
        <xref ref-type="bibr" rid="ref13 ref14 ref16">13, 14, 16</xref>
        ]. RelBAC is a new model designed specially for the
various dynamic scenarios of Web 2.0 in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. It is natural and exible such that it
is easy to understand and use for personal resources of an ordinary web user
(see, e.g., photos on Flickr1). The main feature of RelBAC is that a permission,
intuitively the operation allowed to be performed on some resource, is modeled
as a binary relation between a set of subjects and a set of objects. Furthermore,
it is exible enough to enforce cardinality related access such as to restrict that
`anonymous users can view no more than 5 of my photos'. RelBAC is formalized
      </p>
      <sec id="sec-1-1">
        <title>1 http://www. ickr.com</title>
        <p>with an access control domain speci c Description Logic in order to provide
formal syntax and semantics plus an automated reasoning mechanism to facilitate
the access control management.</p>
        <p>The contributions of this paper are as follows:
{ Focusing on authorization problem of RelBAC , we discuss the usage of DL
to formalize access control policies.
{ Di erent formalizations of Separation of Duties (SoD ) are analyzed as an
important security property.
{ Dynamic SoD and high-level security policies about SoD are also formally
represented and discussed.</p>
        <p>The rest of the paper is organized as follows. Section 2 describes the DL
exploited to capture the access control problems. Section 3 discusses the
expressiveness of the proposed DL to faithfully capture the RelBAC application
domain. In Section 4 we discuss the logical formalization of a security property,
i.e., Separation of Duties. The related work is summarized in Section 5 and we
make our concluding remarks in Section 6.
2</p>
        <p>
          The Description Logic ALCQI BO
The logic ALCQIBO extends the description logic ALC [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] with quali ed
cardinalities, inverse roles, nominals and Boolean for roles (see [
          <xref ref-type="bibr" rid="ref13 ref14 ref16">16, 14, 13</xref>
          ] for
extensions of DLs with Booleans between roles). We de ne the syntax of ALCQIBO
as follows.
        </p>
        <p>De nition 1 (ALCQIBO Syntax). Let NC, NR and NI be pairwise disjoint
and countably in nite sets of concept names, role names and individual names.
Then concept expressions and role expressions are de ned as follows:
C; D ::= A j :C j C u D j
R; S ::= P j R
j :R j R u S
n R:C j faig
where A 2 NC, P 2 NR, ai 2 NI and n 2 N.</p>
        <p>A Knowledge Base (KB) is a pair K = hT ; Ai where T , called TBox, is a nite
set of general concept inclusions (GCIs) of the form C v D and a nite set of
general role inclusions (GRIs) of the form R v S, while A, called ABox, is a
nite set of concept and role assertions of the form C(ai) and R(ai; aj ), with
ai; aj 2 NI.</p>
        <p>An ALCQIBO-interpretation, I, is a pair ( ; I ) where is a non-empty
set called the domain of I and I is a function mapping each A 2 NC to a subset
AI and each P 2 NR to a relation P I . Furthermore, I applies
also to individuals by mapping each individual name ai 2 NI into an element
aiI 2 such that aiI 6= ajI , for all i 6= j, i.e., we adopt the so called unique name
assumption (UNA). We extend the mapping I to complex roles and concepts
as follows:
(R )I := f(y; x) 2
(:R)I :=</p>
        <p>j (x; y) 2 RI g;
n RI ; (:C)I :=</p>
        <p>n CI ;
(R u S)I := RI \ SI ; (C u D)I := CI \ DI ;
(&gt; n R:C)I := fx 2
j ]fy 2
j (x; y) 2 RI and y 2 CI g
ng;
faigI := faiI g:
An ALCQIBO-interpretation I = ( ; I ) is said a model of a KB, K, i it
satis es CI DI , for all C v D 2 K, RI SI , for all R v S 2 K, aiI 2 CI ,
for all C(ai) 2 A, and (aiI ; ajI ) 2 RI , for all R(ai; aj ) 2 A. In this case we say
that K is satis able and write I j= K. A concept C (role R) is satis able w.r.t.
K if there exists a model I of K such that CI 6= ; (RI 6= ;).</p>
        <p>As usual, we can de ne a number of useful abbreviations:</p>
        <p>C t D for :(:C u :D)
(6 n R:C) for :(&gt; n + 1 R:C)
(= n R:C) for :(&gt; n + 1 R:C) u (&gt; n R:C)
9R:C for (&gt; 1 R:C)
8R:C for (6 0 R::C)
&gt; for A t :A (for some concept A)
? for :&gt;</p>
        <p>U for R t :R (for some role R)</p>
        <p>
          Note that, TBox axioms can be internalized. Indeed, we can encode each
axiom C v D as the concept expression 8U :(:C t D), while each role axiom
R v S can be encoded as the concept expression 8U :8(R u :S):?. (To encode
ABox assertions as concept expressions see [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]).
        </p>
        <p>
          Concerning the complexity of ALCQIBO, KB satis ability can be reduced
to reason over the two-variable rst-order fragment with counting quanti ers
which is NExpTime-complete [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. On the other hand, Boolean modal logic is a
proper sub-language of ALCQIBO and it is NExpTime-complete [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. Summing
up, reasoning in ALCQIBO is NExpTime-complete.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>The Authorization Problem in RelBAC</title>
      <p>Here we discuss the authorization problem, which deals with questions like `who
is authorized to access what'. We distinguish two di erent phases: general
authorizations on group of users and sets of resources, and ground authorizations
onto individual users and/or resource instances.
3.1</p>
      <sec id="sec-2-1">
        <title>General Authorizations</title>
        <p>In RelBAC , a generic permission P (e.g., Write) is modeled as a binary relation
between a class of users U (e.g., SW-Developer) and a class of objects O (e.g.,
Java-Code). The following general constraints can be captured in ALCQIBO.
1. `The permission P applies only between users U and objects O'.</p>
        <p>This is a form of domain and range constraint for the binary relation P and
can be modeled in ALCQIBO with the following axioms:</p>
        <p>Domain Restriction</p>
        <p>Range Restriction
9P:&gt; v U
9P :&gt; v O
2. `Users in U can access just objects in O with P '
`Objects in O can be accessed just from users in U with P '.</p>
        <p>We can represent these constraint using universal restrictions as:
U v 8P:O Universal Restriction</p>
        <p>O v 8P :U Universal Restriction
3. `Users in U are allowed to access (with P ) at most n objects in O'
`At most n users in U are allowed to access any given object in O with P '.
We can represent these constraints using cardinality constraints as:
U v (6 n P:O) Cardinality Restriction</p>
        <p>O v (6 n P :U ) Cardinality Restriction
4. `Users in U have access to at least m objects in O with P '
`At least m users in U have access to any object in O with P '.</p>
        <p>We can represent these constraints using cardinality constraints as:
U v (&gt; m P:O) Cardinality Restriction</p>
        <p>O v (&gt; m P :U ) Cardinality Restriction
5. `All users in U have access to all objects in O with P '
`All objects in O are accessed by all users in U with P '.</p>
        <p>This rule de nes a so called Total Access Control rule (TAC) and can be
captured using the negation of roles constructor in cardinality restriction:
U v 8:P::O
O v 8:P ::U</p>
        <p>TAC Rule</p>
        <p>TAC Rule
3.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Ground Authorizations</title>
        <p>Using the ABox mechanism of ALCQIBO we can assert particular facts
associated to given individuals of the domain. The following is a list of the most
common assignments concerning single individuals that can be captured in ALCQIBO
(in the following u and o are individuals in NI, P is a role in NR, U and O are
concepts in NC).
1. `The user u is allowed to access the object o with P '.</p>
        <p>This is represented as: P (u; o).</p>
        <p>For example, U pdate(david; mb903ll=a) says that `David is allowed to update
the entry MB903LL/A'.
2. `The user u is allowed to access maximum n objects in O with P '.</p>
        <p>This is represented as: (6 n P:O)(u).</p>
        <p>For example, (6 5 U pdate:Digital)(David) says that `David is allowed to
update maximum 5 entries of Digital'.
3. `The user u is allowed to access minimum n objects in O with P '.</p>
        <p>This is represented as: (&gt; n P:O)(u).</p>
        <p>For example, (&gt; 5 U pdate:Digital)(David) says that `David is allowed to
update minimum 5 entries of Digital'.
4. `The user u is allowed to access all objects in O with P '.</p>
        <p>This is represented as: (8:P::O)(u).</p>
        <p>For example, (8:U pdate::Digital)(David) says that `David is allowed to
update all entries in Digital'.
5. `Minimum n users in U are allowed to access the object o with P '.</p>
        <p>This is represented as: (&gt; nP :U )(o).</p>
        <p>For example, (&gt; 3 U pdate :Apple)(mb903ll=a) says that `At least 3 friends
from Apple are allowed to update the entry MB903LL/A'.
6. `All users in U are allowed to access the object o with P '.</p>
        <p>This is represented as: U v 9P:fog.</p>
        <p>For example, Apple v 9U pdate:fmb903ll=ag says that `All friends from
Apple are allowed to update the entry MB903LL/A'.</p>
        <p>
          Besides the traditional access control rules which can specify only
`one-toone' and `one-to-many' mappings about individuals, we see that the ABox of
ALCQIBO provides many ways to write a ground access control rule in
RelBAC . Altogether, as is shown in Figure 1 (taken from [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]), RelBAC can
specify 15 kinds of access control rules with a single DL axiom (counting
minimum/maximum/equal cardinality restriction as one). These rules show, both
the power of RelBAC as an access control model and the expressiveness of the
logic to be able to capture this scenario. The cardinality related rules (formed
with cardinality restriction) are important especially in those scenarios where
number is a key factor for access control.
        </p>
        <p>So far we discussed the permission assignments at design time. When an
access control request arrives at run time the access control should decide whether
to accept or deny these requests according to the assignments done at design
time. Since a RelBAC system is an ALCQIBO KB, while a request is captured
by an ABox, then at run time the system decides to grant an access if by adding
the ABox to the current KB the resulting KB is satis able.
4</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Separation of Duties</title>
      <p>
        Separation of Duties SoD is an important security property in modern access
control systems. It enforces that more than one person is required to complete
a task. In this section, we will discuss the general meaning of an SoD, its
enforcement at design and run time and the high-level security policy [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] for an
SoD.
4.1
      </p>
      <sec id="sec-3-1">
        <title>General SoD</title>
      </sec>
      <sec id="sec-3-2">
        <title>De nition 2 (Separation of Duties SoD ). An SoD states that, if a sensi</title>
        <p>tive task consists of two steps, then two di erent users should perform mutually
exclusive steps. More generally, when a sensitive task is composed of n steps, an
SoD constraint requires the cooperation of at least k (for some k 6 n) di erent
users to complete the task.</p>
        <p>
          In one of the most well-known access control model, RBAC[
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], SoD is
enforced with the help of restrictions on the `roles2'. The SoD that `di erent users
should perform two di erent steps of a task' can be enforced at design time by
restricting any user from the assignments to the two roles, each of which is
assigned the permission to carry out a step of the two. For a more general SoD that
`di erent users should perform n di erent steps of a task', each step is modeled
as an RBAC role Ri, and the SoD is formally expressed as the following formula:
R1 u ::: u Ri u ::: u Rn v ?.
        </p>
        <p>In RelBAC , a permission is a relation which links a subject with an
object. To enforce this SoD in RelBAC , we can simply assert an axiom about the
permissions. For example, suppose in a scenario of sales force automation3, to
initiate, process, check and archive an order should not be completed by only one
user. Suppose Initiate, Process, Check and Archive are four permissions with the
same domain as users and co-domain as orders. The SoD above can be expressed
in RelBAC as</p>
        <p>Initiate u P rocess u Check u Archive v ?
This policy restricts any pair (u; o) from belonging to all four sets Initiate,
Process, Check and Archive.</p>
        <p>In general, given n steps of a task step1; :::; stepn, the SoD requires at least
k (k 6 n) users can ful ll all these n steps. Suppose any of the k users can ful ll
2 To be di erentiated from a DL role, the `role' in the RBAC model is a component
simulating the real world enterprise organism. A user can only execute a permission
assigned to the role that s/he can activate.
3 http://www.salesforce.com
(k
1)
m &lt; n i:e:
m 6 dn=(k
1)e
1
because k; m; n are all integers. This means intuitively that any user can be
assigned to at most m of these duties as restricted in Formula 1. Thus, any m + 1
of these duties should not be assigned to one user. Then RelBAC can enforce
the SoD with the following axiom:
maximum m steps. In the worst case, everyone can ful ll equal number of steps,
and satis es the following DL axiom:
(1)
(2)
Cndn=(k 1)e dn=(k 1)e</p>
        <p>G ( l
i=1
j=1</p>
        <p>Pij ) v ?
in which Pij stands for one of the m permissions for each step, and Cnk is the
binomial coe cient of `n choose k'.</p>
        <p>Following the example above, given the 4 duties in the SFA scenario, an SoD
requires that at least 3 users should be involved. This SoD can be enforced as
follows.</p>
        <p>(Initiate u P rocess) t (Check u Initiate) t (P rocess u Archive)t
(P rocess u Check) t (Archive u Initiate) t (Check u Archive) v ?
as Cndn=(k 1)e = Cd4=2e = C42 = 6.</p>
        <p>4</p>
        <p>An SoD can be enforced both at design and at run time. Up to now, we have
discussed the SoD designed by the administrator o -line. An SoD enforced at
run time intuitively means that the duties to be separated can be assigned to
one user during design, but cannot be executed by her simultaneously.</p>
        <p>RBAC ful lls it with the concept of session as representatives of the user at
run time by restricting sessions from activation of separated roles. To enforce
an SoD at run time, the concept of `session' has been introduced in the RBAC
model. At run time, a user activates sessions to execute permissions. The duties
assigned to the user at design time and restricted to be executed simultaneously
are separated by enforcing that no session can execute them at the same time.</p>
        <p>In RelBAC , we do not need the concept of `session', but use a run time
permission to describe the state of a permission in execution to enforce SoD at
run time.</p>
      </sec>
      <sec id="sec-3-3">
        <title>De nition 3 (Run Time Permission - RTP ). A RTP describes the current</title>
        <p>execution of a permission. We assume that the name of a RTP is formed by
alternating the verb (phrase) denoting the permission into the present participle
of the verb (phrase). A user cannot be assigned to a RTP unless she has the
permission for the original permission.</p>
        <p>For each RelBAC permission, a RTP is introduced. For example, assume that
Initiating is the RTP for the permission Initiate. As said above, a user cannot
execute the permission Initiating without having the permission Initiate. Now,
the SoD `a user cannot initiate and process an order at the same time ' is enforced
as follows (we assume that both permissions have the same range, Order):</p>
        <p>Initiating u P rocessing v ?
In the real world, a user can be granted the permission to initiate an order (as
a customer) and to process an order (as a sales agent), but cannot perform the
two permissions (duties) simultaneously in order to avoid the process of one's
own order.</p>
        <p>Although an SoD can be enforced at design and run time with similar role
axioms in RelBAC , the mechanisms regulating it are di erent. To enforce an SoD
at run time, the monitoring mechanism should inform the access control system
in real time, so that the current state such as Alice is initiating an order `Bolzano'
should be recognized. Then the knowledge base should be updated with the new
assertion Initiating(alice; bolzano). Therefore, the above SoD (ruling out the
possibility of initiating and processing an order at the same time) in the KB K
entails the following:</p>
        <p>K t fInitiating(alice; bolzano)g j= :P rocessing(alice; bolzano)
although Alice might have permissions to both initiate and process some order.
For the general SoD property, the composition of the k users to complete the task
is sometimes important. The administrator may like to constraint rst that these
users are from certain groups, cardinality related constraints are also necessary
for the composition.</p>
        <p>
          N.Li et al. studied SoD in detailed requirements for speci c attributes of the
users in addition to numbers of each kind of users. An algebra was proposed in
[
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] to specify complex policies combining requirements on user attributes and
number. On top of the cardinality constraints for given duties, the algebra can
specify the composition of the users for the SoD which they regard as high-level
security policy. For example, beyond to restrict that at least 2 users should be
involved for the 4 steps in the SFA schema of Section 4.1, it further enforces that
the set of users that can complete the order ful llment task involve customer(s)
to initiate the order and sales manager(s) to check the order. For example, the
composition of the user set should be as follows.
1. At least one sales manager to check orders and at least one customer to
initiate orders.
2. At least one sales manager and at least one customer and maybe some other
sales manager or customer involved, but no others than those two kinds of
users.
3. Exactly two users, one sales manager and one customer.
        </p>
        <p>Case 1 means that a customer should be involved to initiate the order and a
manager should be involved to check the order, for the other users, the
administrator does not care who processes and archives the order. Case 2 speci es that
only customer and manager can be involved which means the same manager (or
some other manager) will take charge of the duties to process and to archive.
Case 3 is the most strict by allowing only one customer and one manager to be
involved.</p>
        <p>RelBAC can achieve this kind of constraints with object-centric rules with
the cardinality restriction constructor. For example, as for the cases above, the
three constraints for the set of users can be formalized as follows.</p>
        <p>Order v (&gt; 1 Initiate :Customer) u (&gt; 1 Check :M anager)
Order v 8Involve:(Customer t M anager) u</p>
        <p>(&gt; 1 Initiate :Customer) u (&gt; 1 Check :M anager)
Order v (= 2 Involve:(Customer t M anager)) u
(= 1 Initiate :Customer) u (= 1 Check :M anager)
u :9 Involve:(Customer u M anager)
Where Involve is a permission more general than any of the 4 permissions for
the 4 duties in the above schema, i.e.</p>
        <p>Initiate
t P rocess
t Check
t Archive
v Involve</p>
        <p>This kind of high-level security policy complements the general SoD policy as
discussed in Section 4.1 because it has the full power to describe the composition
of the set of subjects including the exact cardinality.
5</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Related Work</title>
      <p>
        Description Logics [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] arouse the interests in the AI community for their
expressiveness and decidability of the reasoning services. Various papers describe the
use of Description Logics to formalize access control models and use state of the
art Description Logic reasoners to formalize security properties and check their
consistency (see, e.g. [
        <xref ref-type="bibr" rid="ref18 ref19 ref2 ref5 ref8 ref9">2, 5, 8, 9, 18, 19</xref>
        ]).
      </p>
      <p>
        F.Giunchiglia et al. introduced in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] the RelBAC model together with a
domain speci c Description Logic as the formalism. RelBAC captures, with
subsumption axioms, the dynamic hierarchies of the subjects, objects and
permissions and provides, with cardinality restrictions, powerful cardinality related
speci cations of access control rules. The theory of Lightweight Ontology [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] can
be used to model the social community into ontologies as discussed in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and
can facilitate the management of knowledge hierarchies and access control rules.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] an early attempt was made by C.Zhao et al. to apply DLs to the
representation of policies in the RBAC model. In their proposal, users, roles,
sessions and permissions are formalized as DL concepts but objects are regarded
as encapsulated inside permissions together with operations. This results in an
explosion in the number of permissions and the corresponding di culty to
specify policies about objects. Moreover, they proposed to use only the existential
restriction constructor for permission assignments.
      </p>
      <p>
        Another formalization of RBAC in DLs was proposed by J.Chae et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ],
where an operation is represented by a DL role. Their system has several critical
points, and in particular:
{ Miss use of existential quanti er. In the semantics of their formalization,
the assignment with the formula `Admin v 9CanRead:Log' assigns to all
administrators the read access to all log les. But the DL semantics of this
formula enforces only the existence of some connections between
administrators and log les. In our case, the TAC rules are introduced to cover precisely
this case (see Sect. 3.1).
{ The formalization of `assign' and `classify' into DL roles seems redundant.
      </p>
      <p>These DL roles are supposed to connect users to RBAC roles or object to
object classes. We explicitly use an ABox mechanism to better deal with
individuals.</p>
      <p>However, their work is relevant for our approach since:
{ They inspired us in the way they formalized operation, i.e., by introducing
a binary relation from a subject to an object.
{ They extended RBAC with the object hierarchy similar to the user hierarchy
which facilitates the permission propagation.</p>
      <p>
        Recently, T.Finin et al. proposed to use OWL4 language as the formalization
of the RBAC model in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. They provide two ways to formalize a RBAC role,
as a class or as an attribute. N3Logic is used together with DL subsumption
reasoning. Authorization decision queries can be answered using DL reasoners
in their system.
      </p>
      <p>
        Another important work is related with the formalization of SoD. N.Li et al.
studied SoD in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], and proposed an algebra to specify the composition of the
users that share the duties. In [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] N.Li et al. modeled the problem of an SoD
of n duties among k users with a rst order logic formula as
      </p>
      <p>k 1
8u1:::uk 1 2 U (( [ auth perms [ui]) 6 fp1:::png)
i=1
(3)
with universal quanti er on arbitrary k 1 users in space of U . Formula 3
speci es that the collection of all the permissions explicitly/implicitly assigned
to this k 1 users should not be a superset of all the n steps of duties. Their
solution has the complexity of (jU jk 1 n) which explodes to the cardinality of
the subject space. In RelBAC , as shown in Formulas 2, our solution enforces a
su cient but not necessary condition of the SoD because the `ceiling' operator
(d e) is an approximation of the exact value for n=(k 1). For example, in the
schema above, the representation are the same for k = 3 and k = 4. However the</p>
      <sec id="sec-4-1">
        <title>4 http://www.w3.org/TR/owl-guide/</title>
        <p>
          computational complexity is only (nn=k). Considering that the number of steps
which is n, is far less than the number of users in the system, which is jU j, our
method is more e cient than [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
        </p>
        <p>
          An existing industry standard is XACML [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] which is an XML based access
control policy language without formal semantics such as in a logic. Kolovski et
al. used DL to provide formal semantics for XACML in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. RelBAC , in contrast,
is not only a new access control model, but also a logic with well de ned syntax
and semantics to express web-based access control policies.
6
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>In this paper, we discussed a domain speci c Description Logic, i.e. ALCQIBO
for access control, in which the reasoning is NExpTime-complete. Exploiting
ALCQIBO to formalize the RelBAC model, we have been able to formalize
the typical authorization problem of access control. Besides, we studied the
formalization of an important security property which is the Separation of Duties
(SoD ). Furthermore, di erent aspects of SoD can be formalized in ALCQIBO
such as dynamic SoD and high level security policy of SoD.</p>
      <p>
        A basic version of RelBAC has been implemented as described in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. But
the evaluation results with a general purpose DL reasoner, Pellet [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], are not
good enough to achieve real-time response. The future work of this direction is
to adapt such general purpose DL reasoners to access control knowledge bases
for more e cient reasoning.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Franz</given-names>
            <surname>Baader</surname>
          </string-name>
          , Diego Calvanese, Deborah L.
          <string-name>
            <surname>McGuinness</surname>
          </string-name>
          ,
          <string-name>
            <surname>Daniele Nardi</surname>
          </string-name>
          , and Peter F.
          <article-title>Patel-Schneider, editors. The description logic handbook: theory, implementation, and applications</article-title>
          . Cambridge University Press, New York, NY, USA,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Jung-Hwa Chae</surname>
            and
            <given-names>Nematollaah</given-names>
          </string-name>
          <string-name>
            <surname>Shiri</surname>
          </string-name>
          .
          <article-title>Formalization of rbac policy with object class hierarchy</article-title>
          . In Ed Dawson and Duncan S. Wong, editors,
          <source>ISPEC</source>
          , volume
          <volume>4464</volume>
          of Lecture Notes in Computer Science, pages
          <volume>162</volume>
          {
          <fpage>176</fpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>OASIS eXtensible Access Control Markup</surname>
          </string-name>
          <article-title>Language (XACML) TC</article-title>
          . http://www.oasis-open.org/committees/tc home.
          <source>php? wg abbrev=xacml.</source>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>David</surname>
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Ferraiolo</surname>
            , Ravi S. Sandhu,
            <given-names>Serban I.</given-names>
          </string-name>
          <string-name>
            <surname>Gavrila</surname>
            , D. Richard Kuhn, and
            <given-names>Ramaswamy</given-names>
          </string-name>
          <string-name>
            <surname>Chandramouli</surname>
          </string-name>
          .
          <article-title>Proposed NIST standard for role-based access control</article-title>
          .
          <source>Information and System Security</source>
          ,
          <volume>4</volume>
          (
          <issue>3</issue>
          ):
          <volume>224</volume>
          {
          <fpage>274</fpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>T.</given-names>
            <surname>Finin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Joshi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Kagal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Niu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Sandhu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Winsborough</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Thuraisingham</surname>
          </string-name>
          . Rowlbac:
          <article-title>representing role based access control in owl</article-title>
          .
          <source>In SACMAT '08: Proceedings of the 13th ACM symposium on Access control models and technologies</source>
          , pages
          <volume>73</volume>
          {
          <fpage>82</fpage>
          , New York, NY, USA,
          <year>2008</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Fausto</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          , Maurizio Marchese, and
          <string-name>
            <given-names>Ilya</given-names>
            <surname>Zaihrayeu</surname>
          </string-name>
          .
          <article-title>Encoding classi cations into lightweight ontologies</article-title>
          .
          <source>In ESWC</source>
          , pages
          <volume>80</volume>
          {
          <fpage>94</fpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Fausto</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          and
          <string-name>
            <given-names>Ilya</given-names>
            <surname>Zaihrayeu</surname>
          </string-name>
          .
          <article-title>Lightweight ontologies</article-title>
          .
          <source>In Encyclopedia of Database Systems</source>
          . Springer,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Fausto</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          , Rui Zhang, and
          <string-name>
            <given-names>Bruno</given-names>
            <surname>Crispo</surname>
          </string-name>
          .
          <article-title>Relbac: Relation based access control</article-title>
          .
          <source>In SKG '08: Proceedings of the 2008 Fourth International Conference on Semantics, Knowledge and Grid</source>
          , pages
          <fpage>3</fpage>
          <lpage>{</lpage>
          11, Washington, DC, USA,
          <year>2008</year>
          . IEEE Computer Society.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Fausto</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          , Rui Zhang, and
          <string-name>
            <given-names>Bruno</given-names>
            <surname>Crispo</surname>
          </string-name>
          .
          <article-title>Ontology driven community access control</article-title>
          .
          <source>In SPOT2009 - Trust and Privacy on the Social and Semantic Web</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Vladimir</surname>
            <given-names>Kolovski</given-names>
          </string-name>
          , James Hendler, and
          <string-name>
            <given-names>Bijan</given-names>
            <surname>Parsia</surname>
          </string-name>
          .
          <article-title>Analyzing web access control policies</article-title>
          .
          <source>In WWW '07: Proceedings of the 16th international conference on World Wide Web</source>
          , pages
          <volume>677</volume>
          {
          <fpage>686</fpage>
          , New York, NY, USA,
          <year>2007</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Ninghui</surname>
            <given-names>Li</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Mahesh V.</given-names>
            <surname>Tripunitara</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Ziad</given-names>
            <surname>Bizri</surname>
          </string-name>
          .
          <article-title>On mutually exclusive roles and separation-of-duty</article-title>
          .
          <source>ACM Transactions on Information System Security</source>
          ,
          <volume>10</volume>
          (
          <issue>2</issue>
          ):
          <fpage>5</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>Ninghui</given-names>
            <surname>Li</surname>
          </string-name>
          and
          <string-name>
            <given-names>Qihua</given-names>
            <surname>Wang</surname>
          </string-name>
          .
          <article-title>Beyond separation of duty: an algebra for specifying high-level security policies</article-title>
          .
          <source>In CCS '06: Proceedings of the 13th ACM conference on Computer and communications security</source>
          , pages
          <volume>356</volume>
          {
          <fpage>369</fpage>
          , New York, NY, USA,
          <year>2006</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>C.</given-names>
            <surname>Lutz</surname>
          </string-name>
          and
          <string-name>
            <given-names>U.</given-names>
            <surname>Sattler</surname>
          </string-name>
          .
          <article-title>The complexity of reasoning with boolean modal logics</article-title>
          . In Frank Wolter, Heinrich Wansing, Maarten de Rijke, and Michael Zakharyaschev, editors,
          <source>Advances in Modal Logics</source>
          Volume
          <volume>3</volume>
          .
          <string-name>
            <given-names>CSLI</given-names>
            <surname>Publications</surname>
          </string-name>
          , Stanford,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>C.</given-names>
            <surname>Lutz</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Walther</surname>
          </string-name>
          .
          <article-title>Pdl with negation of atomic programs</article-title>
          .
          <source>Journal of Applied Non-Classical Logic</source>
          ,
          <volume>15</volume>
          (
          <issue>2</issue>
          ):
          <volume>189</volume>
          {
          <fpage>214</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Ian</surname>
          </string-name>
          Pratt-Hartmann.
          <article-title>Complexity of the two-variable fragment with counting quanti ers</article-title>
          .
          <source>J. of Logic</source>
          , Lang. and Inf.,
          <volume>14</volume>
          (
          <issue>3</issue>
          ):
          <volume>369</volume>
          {
          <fpage>395</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>R. A.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Tishkovsky</surname>
          </string-name>
          .
          <article-title>Using tableau to decide expressive description logics with role negation</article-title>
          . In K. Aberer, K.-S. Choi,
          <string-name>
            <given-names>N. Fridman</given-names>
            <surname>Noy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Allemang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.-I.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. J. B.</given-names>
            <surname>Nixon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Golbeck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Mika</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Maynard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Mizoguchi</surname>
          </string-name>
          , G. Schreiber, and P. Cudre-Mauroux, editors,
          <source>The Semantic Web, 6th International Semantic Web Conference, 2nd Asian Semantic Web Conference</source>
          ,
          <string-name>
            <surname>ISWC</surname>
          </string-name>
          <year>2007</year>
          +
          <article-title>ASWC 2007, Busan</article-title>
          , Korea,
          <source>November</source>
          <volume>11</volume>
          {
          <fpage>15</fpage>
          ,
          <year>2007</year>
          , volume
          <volume>4825</volume>
          of Lecture Notes in Computer Science, pages
          <volume>438</volume>
          {
          <fpage>451</fpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. E.
          <string-name>
            <surname>Sirin</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B. Cuenca</given-names>
          </string-name>
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Kalyanpur</surname>
            , and
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Katz. Pellet</surname>
          </string-name>
          :
          <article-title>A practical owl-dl reasoner. Submitted for publication to Journal of Web Semantics</article-title>
          .,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18. Rui Zhang.
          <source>RelBAC: Relation Based Access Control</source>
          .
          <source>PhD thesis</source>
          , University of Trento,
          <year>March 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Chen</surname>
            <given-names>Zhao</given-names>
          </string-name>
          ,
          <source>NuerMaimaiti Heilili</source>
          , Shengping Liu, and
          <string-name>
            <given-names>Zuoquan</given-names>
            <surname>Lin</surname>
          </string-name>
          .
          <article-title>Representation and reasoning on rbac: A description logic approach</article-title>
          . In Dang Van Hung and Martin Wirsing, editors,
          <source>ICTAC</source>
          , volume
          <volume>3722</volume>
          of Lecture Notes in Computer Science, pages
          <volume>381</volume>
          {
          <fpage>393</fpage>
          . Springer,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>