<!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>On the Use of OWL Reasoning for Evaluating Access Control Policies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Fabio Marfia</string-name>
          <email>a@polimi.it</email>
          <email>fabio.marfia@polimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mario Arrigoni Neri Filippo Pellegrini</string-name>
          <email>lippo1.pellegrini@mail.polimi.it</email>
          <email>mario.arrigonineri@unibg.it</email>
          <email>mario.arrigonineri@unibg.it filippo1.pellegrini@mail.polimi.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Colombetti</string-name>
          <email>marco.colombetti@polimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Politecnico di Milano, DEIB - Department of</institution>
          ,
          <addr-line>Information, Electronics and, Bioengineering, Via Ponzio, 34/5, 20133, Milano -</addr-line>
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Bergamo Politecnico di Milano, Department of Computer DEIB - Department of, Engineering and Mathematical Information</institution>
          ,
          <addr-line>Electronics and, Methods Bioengineering, viale Marconi, 5 Via Ponzio, 34/5, 24044, Dalmine (BG) - Italy 20133, Milano -</addr-line>
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <fpage>71</fpage>
      <lpage>74</lpage>
      <abstract>
        <p>We present a Description Logics approach to the management of XACML policies. We explain how policies can be mapped to a DL axiomatization, and how authorization requests can be answered using standard DL reasoning tools. Our model represents a valid substratum for managing policies whose expressivity can not be captured by standard engines. Furthermore, advanced security functionalities, as Policy Harmonization and Policy Explanation, can be implemented in the context of the present model.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Access Control</kwd>
        <kwd>Policy Languages</kwd>
        <kwd>Description Logics</kwd>
        <kwd>Reasoning</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>As data engineers decided to create application-independent
logical mechanisms of data storage in the '60s, and rst
database systems became available, the chance of modeling
logically-independent policy management systems has been
considered in the last decade.</p>
      <p>As a matter of facts, an increasing number of distributed
applications have been meeting complex problems in
managing distribution and access authorizations of contents in the
last years. Description and enforcement of policies can
become a very complex task in large systems. An independent
Policy Management architecture represents a scalable and
re-usable environment for: formally specifying policies
(Policy Editing and Storing); automatically asserting, according
to the speci ed policies, whether an agent is authorized to
commit an act, or not (Policy Evaluation); automatically
resolving con icts between policies (Policy Harmonization);
generating human-readable explanations of the causes of a
speci c policy evaluation (Policy Explanation); eventually
enforce an agent to commit an act or perpetrate
penalization acts against agents, as a response to policy violations
(Policy Enforcement).</p>
      <p>
        Several standard languages have been de ned for the formal
representation of policies in such type of environment.
However, in fact, the current de facto standard in access control
policy languages is represented by XACML [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>
        XACML de nes standard protocols for transmitting
credentials, requesting resources, de ning and storing access
policies; together with the de nition of a general security layer,
made up of di erent and specialised software components [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
Such a layer deals with the aforementioned tasks of
allowing policy administrators to edit and store policies, handling
con icts between contradictory decrees, providing a ultimate
response for access requests, together with an explanation
of such a response eventually.
      </p>
      <p>
        We present an implementation of an XACML-compliant
framework in this paper, based on OWL and reasoning
technologies. The expression and application of deontic propositions
is well known in literature, however, as far as we know, this
is the rst time they are applied with the speci c aim of
providing a solution for an XACML security layer, even if
activities for formalizing XACML policies with Description
Logics (DL) were done in the past, for Policy Harmonization
purposes [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>Relying many core functionalities on DL reasoning
activities, performances result worse than any known XACML
engine's. Consequently, the present approach has to be
considered in cases where current XACML technologies are
unable to capture the expressiveness of the policies involved,
or as a substratum for providing advanced functionalities as,
e.g., Policy Explanation.</p>
      <p>The paper proceeds as follows: we present the modular
structure of the framework in Section 2. We explain how
DL axioms are generated from a collection of XACML
policies, and how policy evaluation is done in Section 3.</p>
    </sec>
    <sec id="sec-2">
      <title>2. THE POLICY FRAMEWORK</title>
      <p>
        As described in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], the XACML standard de nes a
general framework for receiving data requests and handling
responses according to an arbitrarily large collection of
policies, that are stored in a repository according to a standard
XML-compliant model. The subsequent architectural
components are de ned for the framework:
      </p>
      <p>Policy Enforcement Point (PEP): Point which
intercepts user's access request to a resource, makes a
evaluation request to the PDP to obtain the access
evaluation (i.e. access to the resource is approved or
rejected), and acts on the received evaluation;
Policy Decision Point (PDP): Point which
evaluates access requests against authorization policies
before issuing access responses;
Policy Administration Point (PAP): Point which
manages access authorization policies;
Policy Information Point (PIP): The system
entity that acts as a source of attribute values;
Context Handler: the Context Handler deals with
the coordination of the communications between PDP,
PEP and PIP; in particular, it acts in order to return
the output of the PDP to the PEP as a response for
an access request, consisting eventually in a retrieved
resource.</p>
      <p>The technology behind the PEP, that is developed in order
to enforce or regulate access to resources, is strongly
domain dependent and it is not matter of the current work.
The PDP is provided with a Policy Evaluator component
that interfaces with a DL Reasoner. Policy evaluations and
explanations are generated by the PDP as a result of a
reasoning activity on three di erent ontologies:
1. A Policy Terminological Box (TBOX), that is the
expression of the active policies and it is obtained as a
result of an algorithmic translation from an XACML
collection of policies. Tasks such as providing an
interface for policy editing to policy administrators,
synchronizing the TBOX ontology with XACML policies,
harmonizing con ict between policies, are delegated to
the PAP.
2. A Domain TBOX, representing a meaningful
portrayal of the application domain. It is arbitrarily
expressive and it is thought to cover the whole collection
of concepts and relations involved in the application
domain.
3. A Domain Assertional BOX (ABOX), gathering
the di erent descriptions of the individuals and
resources involved in the application domain. They are
represented as an instantiations of the concepts and
relations depicted in the Domain TBOX.</p>
      <p>Both Domain TBOX and ABOX are stored and managed
by the PIP.</p>
    </sec>
    <sec id="sec-3">
      <title>3. POLICIES AS AXIOMATIC</title>
    </sec>
    <sec id="sec-4">
      <title>PROPOSITIONS</title>
      <p>As presented in Section 2, the PAP allows a policy
administrator to edit and store policies in the form of an XACML
collection. XACML represents the XML-compliant
description of the policies in the environment, while the DL form of
the same collection is represented by an OWL TBOX.
Policies are translated from the former representation to the
latter automatically.</p>
      <p>
        Kolovski et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] present how to formalize XACML
policies, using a more complex syntax than DL, de ned DDL .
      </p>
      <p>
        That is done according to three types of XACML combining
algorithms (see also [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]): permit-overrides, deny-overrides,
      </p>
      <p>rst-applicable. We decided to reduce the expressivity of
the XACML collection speci able by the PAP, in respect
to the aforementioned formalisation, as follows: the policy
collection is reduced to a set of XACML rules, applying
according to the policy combining algorithm deny-overrides
only. The algorithm takes into consideration every rule, and,
then, if both access deny and permit apply, an access deny
is returned as a response. Whether nothing is found to be
applied in the whole set of rules, a nal general policy is
de ned in order to deny any access. Such approach allows
to rely on standard DL technologies for reasoning without
involving the DDL formalisation, obtaining better
performances and an easier policy representation. We believe that
such simpli cation is a su cient approach for satisfying the
requirements of many real-life environments in which, for
security reasons, every access is denied ex-ante, while policies
are applied for modifying such default behaviour.</p>
      <p>In order for the rules to be properly translated into an OWL
TBOX, they can not be expressed arbitrarily: we have then
identi ed ve di erent policy archetypes, according to which
the policies must be de ned. The identi ed archetypes cover
a wide range of expressiveness, in particular the three
standard models IBAC (Identity Based Access Control), RBAC
(Role Based Access Control) and ABAC (Attribute Based
Access Control) are covered by the model.</p>
      <p>The ve di erent policy archetypes are shown in Table 1.</p>
      <p>Each policy can be composed with others using AND or OR
conjunctions in our model, as foreseen by XACML
protocol, in order to generate complex rules. Furthermore, each
ID
1
2
3
4
5
A single subject is allowed to access to one or more re- John Andrews can read Healthcare Assistant
sources Documents
A group of subjects is allowed to access to one or more Medical Consultants can write a Medical
Regularesources tion Document
cOensslytosuobnjeecotrs mwoitrhe rsepseocuircceasttributes are allowed to ac- Females can not read Andrology Documents
wOminotlrhye srspeusebocjuierccctesasitntraibsupteesci acrereallalotiwoendwtiothaaccneostshetro sounbejeocrt dAoctuumtoernotf3a05p8e7r1son that is not of age can read
laOarntetleyarlslsouuwbbejjedecctttsoinacacesspsetcoi cthreelraetsioounrcweisththaantotrheeferrsutobjtehcet hAe/ssuhbejewcotrkcasninread all the records of the ward
policy can be positive or negative, allowing the policy
administrator to permit or deny access to speci c resources.</p>
      <p>We describe two between the ve policy archetypes, together
with policy examples, in Section 3.1, while specifying how
each type of policy is translated into a set of axioms. We
describe how policies can be combined with AND or OR
conjunctions in Section 3.2. We present how the PDP can
obtain policy evaluations from the generated axioms in
Section 3.3.
3.1</p>
    </sec>
    <sec id="sec-5">
      <title>Policy Archetypes</title>
      <sec id="sec-5-1">
        <title>3.1.1 Type 3 - ABAC Simple Policy</title>
        <p>The Type 3 archetype represents the permission released or
denied to a single subject characterized by one or more
attributes, for the access to a resource or a group of resources.
A sample XACML Type 3 rule is shown in Table 1, allowing
every subject with dataProperty hasGender equal to "F" to
read the group of resources AndrologyDocument. The
policy is translated into a TBOX ontological policy with the
subsequent procedure. First, an OWL class is generated,
containing only the individuals characterized by the
aforementioned property:</p>
        <sec id="sec-5-1-1">
          <title>Class: hasGender_F_Class equivalentTo: hasGender value "F"</title>
          <p>Then, the functional Identity Property
identityOn_hasGender_F_Class is de ned for the
generated class, representing the property of each member of the
class pointing to the member itself:</p>
        </sec>
        <sec id="sec-5-1-2">
          <title>Class: hasGender_F_Class equivalentTo: identityOn_hasGender_F_Class some Self</title>
          <p>The same is done for the group of resources, represented in
the Domain TBOX ontology by the class
AndrologyDocument:</p>
        </sec>
        <sec id="sec-5-1-3">
          <title>Class:</title>
        </sec>
        <sec id="sec-5-1-4">
          <title>AndrologyDocument equivalentTo: identityOn_AndrologyDocument some Self</title>
          <p>Finally, the negative permission to be annotated, CanNotRead,
is de ned as a superproperty of a speci c property chain, as
follows:
objectProperty:
identityOn_hasGender_F_Class o
topObjectProperty o
identityOn_AndrologyDocument</p>
        </sec>
        <sec id="sec-5-1-5">
          <title>SubPropertyOf:</title>
        </sec>
        <sec id="sec-5-1-6">
          <title>CanNotRead</title>
          <p>All the individuals with the dataProperty hasGender value
"F" are connected in this way with the property CanNotRead
to each resource belonging to the class AndrologyDocument.</p>
        </sec>
      </sec>
      <sec id="sec-5-2">
        <title>3.1.2 Type 5 - Triangular Relation Policy</title>
        <p>The Type 5 policy archetype puts in relation the subject and
the resource generating the permission only in the case that
a common individual is in a speci c connection with both of
them. The added permission property represents the side of
a triangle in such a case, where its vertexes are represented
by the subject, the resource and the individual in common.
A sample Type 5 rule is shown in Table 1, allowing every
subject to read every MedicalRecord of the ward in which
he worksIn.</p>
        <p>The OWL axiomatic expression of such a policy is
characterized by a single property chain expressed as a subproperty
of the involved permission property:
objectProperty:
worksIn o
ownsRecord</p>
        <sec id="sec-5-2-1">
          <title>SubPropertyOf: canRead</title>
        </sec>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>3.2 Combining Policies</title>
      <p>As stated, the presented policies can be also expressed
together in a single XACML rule using AND or OR
operators. As it can be understood, each archetype di ers from
the others for the way in which the subject requirements
are expressed only, while the expression of permission and
resources (a single one, or a group) are the same. So, a
joined expression of two policies can be, for example,
allowing a Medic that is male to read every AndrologyDocument.
That is an expression of a Type 2 + Type 3 policy.
In case that many policies are joined with an OR
conjunction, it is su cient to translate each policy singularly into a
TBOX policy. In case that many policies are joined with an
AND conjunction, the approach changes whether none, one
or more Type 5 policy are present. In case that no Type 5
policy is present, a new class is de ned as an intersection of
all the classes that identify the subject requirements for
every policy. Then, a new Identity Property is created for the
class and the positive or negative permission is assigned as
a superproperty of the property chain between the created
Identity Property, the topOjbectProperty and the Identity
Property on the resources, as it is done for any of the Type
1 to 4 archetypes.</p>
      <p>In case that one Type 5 policy is present, a new class is
de ned as an intersection of all the classes that identify the
subject requirements for every policy of Type 1 to 4. Then,
a new Identity Property is created for the class and the
positive or negative permission is assigned as a superproperty of
the property chain between the just created Identity
Property and the two object properties involved in the Type 5
policy.</p>
      <p>
        Expression of an axiomatic policy is not possible, using DL,
in case of AND conjunction between more than one Type
5 policies. That because speci cation of double paths
between the same identities is involved, and it is not possible.
However, the issue can be addressed using SWRL Rules [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
    </sec>
    <sec id="sec-7">
      <title>3.3 Policy Evaluation</title>
      <p>
        Once the XACML policies are correctly translated into a
Policy TBOX by the PAP, when the PDP receives an XACML
access request from the Context Handler (more formally, an
XACML Context [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]), it retrieves the Policy TBOX from the
PAP and the Domain TBOX and ABOX from the PIP.
After that, the task of Policy Evaluation reduces itself to
the process of querying the set of the retrieved ontologies,
for verifying whether they logically entail or not two
speci c theorems: the one stating that the subject can do the
requested action on the requested resource (positive
permission theorem), and the one stating that the subject can not
do the requested action on the requested resource (negative
permission theorem).
      </p>
      <p>
        Whether only the positive permission theorem is found, a
positive authorization is returned by the PDP to the
Context Handler. A negative authorization is returned in any
other case. As an example, we can assume that the
permission request for john_andrews to read the document
document_305871 is received by the PDP from the Context
Handler. Two DL queries [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] are sent, then, to the set of
ontologies for retrieving the two subsequent theorems:
      </p>
      <sec id="sec-7-1">
        <title>1. john_andrews canRead document_305871.</title>
      </sec>
      <sec id="sec-7-2">
        <title>2. john_andrews canNotRead document_305871.</title>
        <p>If theorem 1 is found only, the response of the PDP is a
positive authorization. Otherwise, the response is a negative
authorization.</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>4. CONCLUSION AND FUTURE WORK</title>
      <p>
        We measured the algorithm performances in respect to the
best known XACML engines [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. While policy conversion
to DL is executed within a reasonable time, Policy Decision
performances are worse than any known XACML engine, in
the order of 100x in time approximately. Anyway, we believe
that our solution can be a reasonable alternative in a
reallife scenario to ordinary XACML engines for the subsequent
reasons:
      </p>
      <p>An optimized code and an e cient hardware can
support a usable PDP engine for real-time interactions in
real-life environments;
DL expressiveness can be used to de ne policies which
complexity can not be caught by ordinary XACML
engines;
External applications can generate interesting portrays
of the regulation state by accessing to the framework
semantics for an end-user;
Automatic agents may regulate their behaviour by
reading and reasoning on provided policies;
Advanced complex tasks can be exploited that are
almost impossible for ordinary XACML frameworks; as
Policy Explanation, or Policy Harmonization.</p>
      <p>
        Policy Explanation can be provided together with the
response using OWL Explanation technology [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], as already
done by Mar a [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. A Policy Harmonization service based
on the OWL policy representation can be developed for the
framework, accordingly to what presented by Kolovski et al.
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>DL</given-names>
            <surname>Query</surname>
          </string-name>
          guide
          <article-title>- Protege DLQueryTab</article-title>
          . http://protegewiki.stanford.edu/wiki/DLQueryTab,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Horridge</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Parsia</surname>
          </string-name>
          , and
          <string-name>
            <given-names>U.</given-names>
            <surname>Sattler</surname>
          </string-name>
          .
          <article-title>Laconic and Precise Justi cations in OWL</article-title>
          .
          <source>In Proceedings of the 7th International Conference on The Semantic Web, ISWC '08</source>
          , pages
          <fpage>323</fpage>
          {
          <fpage>338</fpage>
          , Berlin, Heidelberg,
          <year>2008</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>V.</given-names>
            <surname>Kolovski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hendler</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Parsia</surname>
          </string-name>
          .
          <article-title>Analyzing Web Access Control Policies</article-title>
          .
          <source>In Proceedings of the 16th International Conference on World Wide Web, WWW '07</source>
          , pages
          <fpage>677</fpage>
          {
          <fpage>686</fpage>
          , New York, NY, USA,
          <year>2007</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>F.</given-names>
            <surname>Mar</surname>
          </string-name>
          <article-title>a. Using Abductive and Inductive Inference to Generate Policy Explanations</article-title>
          . In M. Obaidat,
          <string-name>
            <given-names>A.</given-names>
            <surname>Holzinger</surname>
          </string-name>
          , and P. Samarati, editors,
          <source>Proceedings of International Conference on Security and Cryptography (SECRYPT</source>
          <year>2014</year>
          ). SciTePress,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Mourad</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Jebbaoui.</surname>
          </string-name>
          SBA-XACML:
          <article-title>Set-based approach providing e cient policy decision process for accessing Web services</article-title>
          .
          <source>Expert Syst. Appl.</source>
          ,
          <volume>42</volume>
          (
          <issue>1</issue>
          ):
          <volume>165</volume>
          {
          <fpage>178</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>SWRL</given-names>
            <surname>: A Semantic Web</surname>
          </string-name>
          <article-title>Rule Language Combining OWL and RuleML</article-title>
          . http://www.w3.org/Submission/SWRL/,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>OASIS</given-names>
            <surname>XACML</surname>
          </string-name>
          <article-title>Version 3.0 Speci cation</article-title>
          . http://docs.oasis-open.
          <source>org/xacml/3</source>
          .0/xacml-3. 0
          <article-title>-core-spec-cs-01-en</article-title>
          .pdf,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>OASIS</given-names>
            <surname>eXtensible Access Control Markup</surname>
          </string-name>
          <article-title>Language (XACML)</article-title>
          . https://www.oasis-open.org/committees/xacml/,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>