<!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 OWL DL Reasoning to decide about authorization in RBAC?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Martin Knechtel</string-name>
          <email>martin.knechtel@sap.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jan Hladik</string-name>
          <email>jan.hladik@sap.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Frithjof Dau</string-name>
          <email>frithjof.dau@sap.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>SAP AG, SAP Research CEC Dresden</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Role Based Access Control (RBAC) [1] is a standardized model to indirectly assign permissions to users by user roles. We follow the proposal of Chae and Shiri [2] to additionally introduce a hierarchy of object classes in addition to the hierarchy of user roles along which permissions are inherited. This makes sense, since e.g. in file systems the inheritance of permissions along the directory tree is common. Different formalizations are suitable for RBAC, especially Description Logics has been proposed multiple times in literature. Description Logic (DL) [3] systems provide their users with inference services that deduce implicit knowledge from the explicitly represented knowledge. The proposal by Chae and Shiri [2] is based on DL but has several flaws, which we want to fix with this paper. The authors apply essential properties of DL in a wrong way and do not respect DL semantics, do not use ABox assertions correctly, miss a discussion of the open world assumption and get wrong results with their running example. For a more detailed discussion of these issues, please refer to [4].</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>A DL Ontology for RBAC-CH</title>
      <p>
        We decided to formally model RBAC-CH by means of a DL, and a crucial modeling
issue is which DL constructors are needed in order to decide which DL is used in our
approach. On the side of the concept constructors, we essentially need only the
constructors of ALC, i.e. top and bottom, conjunction, disjunction, negation, and
existential and value restrictions (we do not need number restrictions). Moreover, we use the
“fills” constructor P : a (= ∃P.{a}) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. However, we do require some more powerful
constructors for properties. Besides inverse properties and subproperty relationships,
we need property chain inclusion axioms, i.e. axioms P1 ◦ P2 v P . This particular
feature has been added to OWL in the step from OWL DL, which is based on the DL
SHOIN (D), to OWL 2, which is based on SROIQ(D) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. For this reason, and as
OWL 2 is (likely) to become a de facto standard, We decided to base our formalization
on SROIQ(D).
? This research was funded by the German Federal Ministry of Economics and Technology
under the promotional reference 01MQ07012 and the German Federal Ministry of Education
and Research under grant number 01IA08001A. The responsibility for this publication lies
with the authors.
      </p>
      <p>The ontology consists of ABox and TBox. The user role hierarchy, the object class
hierarchy and permissions of user roles to object classes are defined in the TBox. The
assertions of user individuals to user roles as well as object individuals to object classes
are defined in the ABox. From these explicit facts a reasoner can infer the permissions
of individual users to individual objects in the ABox by full calculation of property
extensions, and they can be queried at runtime. Also permissions from the perspective
of an object, called the Access Control List (ACL) can be queried.</p>
      <p>
        Permissions are modeled by object properties. The definition of permissions for
user roles on object classes has an important requirement: permissions are exhaustive
for every individual of a user role and every individual of an object class, e.g. “all system
administrators can read all types of files”. Obviously it is essential to model such
statements in any formal approach to RBAC, but statements like these are not generally
supported by OWL. However Rudolph et al. propose in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] the concept product to express
such statements, which can be simulated in the very expressive DL SROIQ. The
concept product putting all individuals of concept C in relation to all individuals of concept
D by object property P is written as C × D v P . The following steps are performed to
simulate the concept product in SROIQ: (1) delete the axiom C × D v P , (2) add a
new generalized property chain inclusion axiom P 1 ◦ P 2 v P , where P 1, P 2 are fresh
property names, (3) introduce fresh nominal {a} and add TBox axioms C v ∃P 1.{a}
and D v ∃P 2−.{a}. For details further details refer to [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-2">
      <title>Working Example and Comparison</title>
      <p>
        The TBox contains the concept hierarchy with the user roles as well as the object class
hierarchy as depicted in Fig. 1 analogously to the scenario in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In the concept
definitions, we use abbreviations for the user roles Remote Client (RemCli), Local Client
(LocCli), Manager (Mag), Operating System Developer (OSDev) and System
Administrator (SysAdmin). We also use abbreviations for the file types System File (SysFile),
Electronic Journal (ElcJ), Executable File (ExeFile), Local File (LocFile),
Configuration File (ConFile), Program File (ProFile) and Executable System File (ExeSysFile).
The concept hierarchies are defined explicitly in the form of General Concept Inclusions
(GCIs).
      </p>
      <p>Furthermore the TBox contains the assignment of permissions for user roles on
objects. In the following example, we define that every remote client can execute every
executable file with the concept product RemCli × ExeF ile v canExecute. The
concept product is simulated in SROIQ with canBeExecutedBy ≡ canExecute−,
canExecute1 ◦ canExecute2− v canExecute, RemCli v ∃canExecute1.{a},
ExeF ile v ∃canExecute2.{a}. The ABox contains assertions of users to user roles
and files to object classes in the form OSDev(edward), P roF ile(programF ile1)
etc. After full calculation of property extensions by a reasoner, we can directly read the
authorizations from the inferred object properties between the ABox individuals. In our
example, for the individual edward we find the Capability entry canExecute(edward,
programF ile1) and for the individual programF ile1 we find the ACL entry
canBeExecutedBy(programF ile1, edward). The resulting knowledge base is
depicted in Fig. 2.</p>
      <p>
        In the example we only defined “remote client can execute executable files. The
example scenario from [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] we stick to contains further explicit permissions, which we
have given in Tab. 1. We took them in our complete ontology. The definition is
analogous to our given example, whereas x represents the action canExecute, and r and w
represent canRead and canW rite respectively. The reading direction to construct the
concept products is Role × ObjectClass v action.
      </p>
      <p>
        Due to the user role hierarchy and the object class hierarchy, explicit permissions
in Tab. 1 induce implicit permissions made explicit by the DL reasoner in Tab. 2. In [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]
some inferences are not correct which we have additionally given in braces.
4
      </p>
    </sec>
    <sec id="sec-3">
      <title>Conclusion and Outlook</title>
      <p>
        We presented an approach for an access control model with object hierarchy by means
of DL. We have fixed the flaws in the existing approach [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and applied the concept
product in our OWL 2 ontology. The permissions are not defined explicitly for users
to objects but for user roles to object classes. Individual users are asserted to user roles
and objects are asserted to object classes. The full calculation of property extensions
makes permissions between individuals explicit.
      </p>
      <p>Our current work focuses on increasing usability: We want to adhere to the
distinction of explicit and implicit permissions like we have compared them in the tables 1 and
2. We claim that this reduces effort to assign permissions and helps to avoid mistakes by
granting unwanted permissions. We want to investigate two directions. In one direction,
the user shall be able to define the intended permissions in the access matrix, and the
user role hierarchy and object hierarchy is then automatically derived. This would help
to get insights in the user role and object hierarchy which have not been obvious before.
Methods from formal concept analysis (FCA) may be appropriate in this context. In
the opposite direction, given a user role hierarchy and object class hierarchy, an access
matrix can be completed and updated at changes with inferred permissions. This allows
the user to keep track of inferred permission in addition to his explicit permissions.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>R.</given-names>
            <surname>Sandhu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Ferraiolo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Kuhn</surname>
          </string-name>
          , “
          <article-title>The NIST model for role-based access control: towards a unified standard,”</article-title>
          <source>in RBAC '00: Proceedings of the fifth ACM workshop on Role-based access control</source>
          , (New York, NY, USA), pp.
          <fpage>47</fpage>
          -
          <lpage>63</lpage>
          , ACM,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>J.-H.</given-names>
            <surname>Chae</surname>
          </string-name>
          and
          <string-name>
            <given-names>N.</given-names>
            <surname>Shiri</surname>
          </string-name>
          , “
          <article-title>Formalization of RBAC policy with object class hierarchy,” in Information Security Practice</article-title>
          and
          <string-name>
            <surname>Experience (ISPEC) (E. Dawson</surname>
          </string-name>
          and D. S. Wong, eds.), vol.
          <volume>4464</volume>
          of Lecture Notes in Computer Science, pp.
          <fpage>162</fpage>
          -
          <lpage>176</lpage>
          , Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. L.</given-names>
            <surname>McGuinness</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Nardi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P. F.</given-names>
            <surname>Patel-Schneider</surname>
          </string-name>
          ,
          <source>The Description Logic Handbook: Theory, Implementation and Applications</source>
          . Cambridge University Press, 2. ed.,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>M.</given-names>
            <surname>Knechtel</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Hladik</surname>
          </string-name>
          , “
          <article-title>RBAC authorization decision with DL reasoning,”</article-title>
          <source>in Proceedings of the IADIS International Conference WWW/Internet</source>
          <year>2007</year>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Kutz</surname>
          </string-name>
          , and U. Sattler, “
          <article-title>The even more irresistible SROIQ,”</article-title>
          <source>in Proceedings of the 10th International Conference on Principles of Knowledge Representation and Reasoning (KR</source>
          <year>2006</year>
          ),
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>S.</given-names>
            <surname>Rudolph</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Krötzsch</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Hitzler</surname>
          </string-name>
          , “
          <article-title>All elephants are bigger than all mice</article-title>
          ,”
          <source>in Proceedings of the 21st International Workshop on Description Logics (DL2008)</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>