<!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>Architectural Access Control Policy Refinement and Verification under Uncertainty</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sebastian Hahner</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>KASTEL - Institute of Information Security and Dependability, Karlsruhe Institute of Technology (KIT)</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <fpage>13</fpage>
      <lpage>17</lpage>
      <abstract>
        <p>In our connected world, confidentiality is a central quality requirement. A commonly used mechanism to meet confidentiality requirements is access control. However, access control policies are usually not defined on the architectural abstraction level and are imprecise during design time due to the high degree of uncertainty. This impedes early considerations of confidentiality as implied by "Privacy by Design". We propose an approach to refine and verify access control policies while handling uncertainty that fills the gap between high-level confidentiality requirements and low-level access control.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Software Architecture</kwd>
        <kwd>Access Control</kwd>
        <kwd>Uncertainty</kwd>
        <kwd>Confidentiality</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        In today’s world, a lot of data is measured, collected, and exchanged, e.g., in the context of
social media, online shopping, smart home, or the Internet of Things (IoT). Here, confidentiality
demands that “information is not made available or disclosed to unauthorized individuals,
entities, or processes” [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. As implied by “Privacy by Design”, confidentiality requirements
should be considered early in system design [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], e.g., by minimizing data collection and applying
access control. Access control policies can be used to declare fine-grained rules on whether
requests to data and resources should be accepted or rejected [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        However, the information required to define and verify precise policies is limited at design
time. We identify the following problems: First, policies are enforced using access control
systems—a low-level security mechanism [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]—and are usually not defined in architectural
abstraction (P1). Second, real-world confidentiality requirements are complex [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and too
abstract to make clear assumptions about confidentiality during design time ( P2). This can
result in over-estimations that restrict functionality by denying legitimate access [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Last, the
high degree of uncertainty impedes early refinement and verification of policies ( P3).
      </p>
      <p>
        The impact of uncertainty on software architectures has already been discussed in related
work [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ]. Uncertainty-aware access control has been proposed to incorporate trust in access
decisions [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ]. Also, policy refinement has been discussed to close the gap between definition
and verification [
        <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
        ]. To the best of our knowledge, none of these refinement approaches do
consider uncertainty and its impact on confidentiality. Additionally, architectural uncertainty is
more often discussed in the context of performance, cost, or reliability analyses [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
Our vision to tackle these limitations is to consider uncertainty in definition, refinement, and
verification of access control policies. We propose architecture-level modeling and refinement
of policies and the adaptation of existing confidentiality analyses. Based on this vision and the
problems (P1 – P3) stated above, we define the following research questions:
RQ1 How to treat uncertainty on diferent abstraction levels and in varying context regarding
its impact on confidentiality?
RQ2 How to refine high-level confidentiality requirements based on architectural modeling?
RQ3 How to verify refined policies against system architectures while considering uncertainty?
The benefits of this approach include a more precise impact assessment of uncertainty on access
control policies. Based on the extended modeling, we aim for early feedback on confidentiality.
      </p>
      <p>After summarizing related work in Section 2, we propose our approach in Section 3 and
discuss the planned evaluation in Section 4. Section 5 concludes this paper.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>We group related work in three categories: Handling uncertainty in architectural modeling,
uncertainty-aware access control, and policy refinement. We consider our approach to be in
between these categories because they all lack either the architectural abstraction, the explicit
treatment of uncertainty, or the refinement of confidentiality requirements.</p>
      <p>
        Uncertainty-aware modeling approaches consider uncertainty as first-class entity in software
architectures. Noppen et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] discuss design decisions under imperfect information by
explicitly modeling uncertain aspects of the architecture based on fuzzy techniques and design
trees. Esfahani et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] present GuideArch, an approach to explore the architectural solution
space under uncertainty. This shall enable software architects to identify critical design decisions.
Although these approaches consider uncertainty and fuzziness on architectural abstraction
level, they do not consider confidentiality or other privacy-related quality properties.
      </p>
      <p>
        In contrast, uncertainty-aware access control directly considers imperfect information in
modeling access decisions. Bures et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] propose situational patterns to cope with uncertainty
in highly dynamic environments like Industry 4.0. Hengartner and Zhong [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] present an
access control model for distributed systems that incorporates trust by explicitly specifying
remaining uncertainty in access decisions. The common gap of uncertainty-aware approaches
to model access control is the lack of refinement of high-level confidentiality requirements
whose abstraction is also a source of uncertainty.
      </p>
      <p>
        To guide software architects from high-level requirements to low-level policies, access control
policy refinement techniques have been proposed. Su et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] discuss the automated
decomposition of policies based on the resource hierarchy in distributed applications. He and Antón [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
present and approach to define and refine access control policies by analyzing the specification
of requirements and the system’s database design. Unfortunately, these approaches do not
explicitly consider any kind of uncertainty.
      </p>
      <p>getPersonalData()
storeInternal()</p>
      <p>storeExternal()
?
Online Store</p>
      <p>?
«implements»</p>
      <sec id="sec-2-1">
        <title>Database System B</title>
        <p>«deploy»</p>
      </sec>
      <sec id="sec-2-2">
        <title>Database System A</title>
        <p>«deploy» ? «deploy»</p>
      </sec>
      <sec id="sec-2-3">
        <title>Shop Server</title>
        <p>(European)</p>
      </sec>
      <sec id="sec-2-4">
        <title>Database Server</title>
        <p>(Non-European)</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Proposed Approach for Architectural Policy Analysis</title>
      <p>
        Our approach is based on existing classifications of uncertainty that define the dimensions
nature, level, and location [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. The nature describes whether the uncertainty originates due to
lack of information (i.e., epistemic) or inherent variability (i.e., aleatory). The level states how
much is known about the uncertain influence. The location describes where the uncertainty
occurs, e.g., in context, model structure, or input. Regarding software architectures, the sources
system structure, system behavior and system environment have also been proposed [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>
        Figure 1 shows diferent sources of uncertainty based on an exemplary software architecture
that consists of multiple components, deployment locations as well as a modeled system behavior.
Here, epistemic uncertainty occurs by the lack of information on architectural design decisions
such as component or deployment choices. Additionally, the runtime behavior is a source of
uncertainty, especially regarding imprecise access control policies in complex systems [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The
environment and system input are sources of aleatory uncertainty, e.g., caused by imperfect
sensor information or unexpected user behavior. Although this example is far from being
comprehensive, it illustrates that uncertainty—even only regarding known unknowns—is
wideranging but can be precisely described, e.g., by using and extending existing taxonomies.
      </p>
      <p>
        Our approach includes architecture-level modeling, refinement, and verification of access
control policies for business information systems. Based on design-time specification of
uncertainty in architectural models, architects shall be able to estimate the impact of
uncertainty on confidentiality, to iteratively refine high-level condfientiality requirements and verify
uncertainty-aflicted access control policies [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. This addresses the problems of abstraction (P1),
over-estimation (P2) and uncertainty (P3). Our approach provides the following contributions:
C1 A metamodel for architecture-level access control policies under uncertainty.
C2 An uncertainty impact analysis of architectural design decisions on confidentiality.
C3 An uncertainty-aware, design-time access control policy refinement process.
      </p>
      <p>
        C4 Policy verification based on adapting existing architecture-level confidentiality analyses.
To close the gap between high-level confidentiality requirements and low-level policy
enforcement, we envision a continuous method that includes definition, refinement, and verification.
We plan to expand the architecture description language Palladio [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] with means to express
uncertainty in the architectural model and in policies (C1). This shall enable architects to describe
confidentiality requirements in a structured way [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Based on characterizing diferent types
of uncertainty and analyzing their propagation through the architecture, we aim to support
architects with impact analysis capabilities to identify crucial design decisions for confidentiality
early (C2). A refinement process resolves known uncertainty based on the modeled architecture
and yields refined policies with higher precision and defined assumptions ( C3). To ensure
the validity of such refined polices ( C4), they can be modeled, e.g., as constraints for existing
architectural data flow analyses [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Note, that this process is iterative and thus can also be
used to verify already refined policies against changes in requirements, system, or environment.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. Planned Evaluation</title>
      <p>
        We plan to evaluate our approach by using a Goal-Question-Metric-plan [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] with the goals:
G1 Evaluate the expressiveness of the architecture-level modeling of policies and uncertainty.
G2 Evaluate the accuracy of the uncertainty impact analysis for confidentiality.
G3 Evaluate the correctness of the uncertainty-aware access control policy refinement.
      </p>
      <p>
        G4 Evaluate the accuracy of the verification of access control policies under uncertainty.
Regarding goal G1, we ask whether our metamodel can express diferent access control policy
models and real-world software architectures under uncertainty. To evaluate goal G2, we plan
to track the propagation and thus the impact of uncertainty in these architectures. Regarding
goal G3, we evaluate the correctness by conducting a formal proof, e.g., by formalizing the
system and its policies using a suitable formalism [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] and verifying the implication between
coarse and refined policies. For goal G4, we evaluate the accuracy of the verification, e.g., by
reusing already defined scenarios [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and measuring precision and recall.
      </p>
      <p>
        The biggest threat to validity of the planed evaluation is the existence of case studies which
are important for external validity. We try to complement the case study-based evaluation
whenever possible, e.g., by conducting a formal correctness proof in goal G3. Still, we rely on
case studies with at least an architecture description and defined confidentiality requirements.
A viable example is the German open-source contact tracing app Corona-Warn-App [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] that
handles sensitive data and provides comprehensive public documentation. Another approach
could be extracting failure causes from public data breaches and derive simplified scenarios.
      </p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>We proposed our approach for uncertainty-aware policy refinement and verification. So far,
we collected first results regarding architectural uncertainty and the refinement process. More
comprehensive insights on the relation of uncertainty and confidentiality have yet to be gained.
This work was supported by funding of the Helmholtz Association (HGF) through the
Competence Center for Applied Security Technology (KASTEL) (46.23).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>ISO</given-names>
            , ISO/IEC 27000:
            <surname>2018(E) Information</surname>
          </string-name>
          technology
          <article-title>- Security techniques - Information security management systems - Overview and vocabulary</article-title>
          , Standard,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>P.</given-names>
            <surname>Schaar</surname>
          </string-name>
          , Privacy by design,
          <source>Identity in the Information Society</source>
          <volume>3</volume>
          (
          <year>2010</year>
          )
          <fpage>267</fpage>
          -
          <lpage>274</lpage>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P.</given-names>
            <surname>Samarati</surname>
          </string-name>
          , S. de Vimercati, Access Control: Policies, Models, and Mechanisms,
          <source>in: Foundations of Security Analysis and Design</source>
          , Springer,
          <year>2001</year>
          , pp.
          <fpage>137</fpage>
          -
          <lpage>196</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J.</given-names>
            <surname>Juerjens</surname>
          </string-name>
          ,
          <article-title>Principles for secure systems design</article-title>
          ,
          <source>PhD Thesis</source>
          , University of Oxford,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Noppen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , et al.,
          <article-title>Software development with imperfect information</article-title>
          ,
          <source>Soft computing 12</source>
          (
          <year>2008</year>
          )
          <fpage>3</fpage>
          -
          <lpage>28</lpage>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>N.</given-names>
            <surname>Esfahani</surname>
          </string-name>
          , et al.,
          <article-title>GuideArch: Guiding the exploration of architectural solution space under uncertainty</article-title>
          ,
          <source>in: ICSE</source>
          ,
          <year>2013</year>
          , pp.
          <fpage>43</fpage>
          -
          <lpage>52</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>T.</given-names>
            <surname>Bures</surname>
          </string-name>
          , et al.,
          <article-title>Capturing Dynamicity and Uncertainty in Security and Trust via Situational Patterns</article-title>
          , in: Leveraging Applications of Formal Methods, Verification and Validation: Engineering Principles, Springer,
          <year>2020</year>
          , pp.
          <fpage>295</fpage>
          -
          <lpage>310</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>U.</given-names>
            <surname>Hengartner</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Zhong, Distributed, Uncertainty-Aware Access Control for Pervasive Computing</article-title>
          , in: PerComW,
          <year>2007</year>
          , pp.
          <fpage>241</fpage>
          -
          <lpage>246</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Linying</given-names>
            <surname>Su</surname>
          </string-name>
          , et al.,
          <source>Automated decomposition of access control policies</source>
          ,
          <source>in: POLICY</source>
          ,
          <year>2005</year>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>13</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Q.</given-names>
            <surname>He</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. I. Antón</surname>
          </string-name>
          ,
          <article-title>Requirements-based Access Control Analysis and Policy Specification (ReCAPS)</article-title>
          ,
          <source>Information and Software Technology</source>
          <volume>51</volume>
          (
          <year>2009</year>
          )
          <fpage>993</fpage>
          -
          <lpage>1009</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>D.</given-names>
            <surname>Sobhy</surname>
          </string-name>
          , et al.,
          <article-title>Evaluation of Software Architectures under Uncertainty: A Systematic Literature Review</article-title>
          ,
          <source>ACM Transactions on Software Engineering and Methodology</source>
          (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>D.</given-names>
            <surname>Perez-Palacin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Mirandola</surname>
          </string-name>
          ,
          <article-title>Uncertainties in the modeling of self-adaptive systems</article-title>
          , in: ICPE,
          <year>2014</year>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>14</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>S.</given-names>
            <surname>Hahner</surname>
          </string-name>
          ,
          <article-title>Dealing with Uncertainty in Architectural Confidentiality Analysis</article-title>
          ,
          <source>in: Proceedings of the Software Engineering 2021 Satellite Events</source>
          ,
          <year>2021</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>R. H.</given-names>
            <surname>Reussner</surname>
          </string-name>
          , et al.,
          <article-title>Modeling and Simulating Software Architectures: The Palladio Approach</article-title>
          , The MIT Press,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>S.</given-names>
            <surname>Hahner</surname>
          </string-name>
          , et al.,
          <article-title>Modeling Data Flow Constraints for Design-Time Confidentiality Analyses</article-title>
          , in: ICSA-C,
          <year>2021</year>
          , pp.
          <fpage>15</fpage>
          -
          <lpage>21</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>V. R.</given-names>
            <surname>Basili</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. M.</given-names>
            <surname>Weiss</surname>
          </string-name>
          ,
          <article-title>A Methodology for Collecting Valid Software Engineering Data</article-title>
          ,
          <source>IEEE Transactions on Software Engineering SE-10</source>
          (
          <year>1984</year>
          )
          <fpage>728</fpage>
          -
          <lpage>738</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>S.</given-names>
            <surname>Seifermann</surname>
          </string-name>
          , et al.,
          <article-title>Data-driven software architecture for analyzing confidentiality</article-title>
          ,
          <source>in: ICSA</source>
          ,
          <year>2019</year>
          , p.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Robert</given-names>
            <surname>Koch Institute</surname>
          </string-name>
          , et al.,
          <string-name>
            <surname>Corona-</surname>
          </string-name>
          Warn-App
          <string-name>
            <surname>Open-Source Project</surname>
            <given-names>Website</given-names>
          </string-name>
          ,
          <year>2020</year>
          . URL: https://www.coronawarn.app/en/, accessed 7/29/
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>