<!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>Security-Sensitive Tackling of Obstructed Workflow Executions</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Julius Holderer</string-name>
          <email>holderer@iig.uni-freiburg.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Josep Carmona</string-name>
          <email>jcarmona@cs.upc.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gu¨nter Mu¨ller</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universitat Polit`ecnica de Catalunya</institution>
          ,
          <addr-line>Barcelona</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Freiburg</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>126</fpage>
      <lpage>137</lpage>
      <abstract>
        <p>Imposing access control onto workflows considerably reduces the set of users authorized to execute the workflow tasks. Further constraints (e.g. Separation of Duties) as well as unexpected unavailabilty of users may finally obstruct the successful workflow execution. To still complete the execution of an obstructed workflow, we envisage a hybrid approach. If a log is provided, we partition its traces into “successful” and “obstructed” ones by analysing the given workflow and its authorizations. An obstruction should then be solved by finding its nearest match from the list of successful traces. If no log is provided, we flatten the workflow and its authorizations into a Petri net and encode the obstruction with a corresponding “obstruction marking”. The structural theory of Petri nets shall then be tweaked to provide a minimized Parikh vector, that may violate given firing rules, however reach a complete marking and by that, complete the workflow.</p>
      </abstract>
      <kwd-group>
        <kwd>workflow satisfiability</kwd>
        <kwd>authorization</kwd>
        <kwd>obstruction</kwd>
        <kwd>Petri nets</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        From the Soci´et´e G´en´erale scandal with loss of nearly five billion Euro caused by
shuffling transactions [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] to more recent scandals, for instance in the automotive
industry (e.g. the “Dieselgate” [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]) - the increasing number of corporate fraud
cases underline the growing demand for security and control in enterprises and
their corresponding information systems. These systems increasingly adapt to
a process-oriented view to reach the intended business goals. These so called
process-aware information systems (PAIS) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] can help to mitigate such
fraudulent situations by enhancing workflows with authorization constraints. In this
respect security in business processes gains more and more importance [
        <xref ref-type="bibr" rid="ref1 ref22">22, 1</xref>
        ].
Classic computer security [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] usually follows the CIA-triade, trying to achieve or
sustain confidentiality, integrity and availability, or simply “keeping bad things
from happening”. Security in business processes, however, should also consider
to “make good things happen” by reaching the intended business goals in
completing corresponding processes.
      </p>
      <p>
        The interplay of security in business processes and this notion of process
availability can be shown by analysing the impact of introducing authorization
in PAIS to achieve confidentiality and integrity. First, access control policies are
added on top of users contributing in the process, controlling who is authorized to
perform which task. On top of that, further constraints are defined, for instance
“separation of duties” (SoD) constraints [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] or contrary “binding of duties”(BoD)
constraints. Moreover, users can be on vacation or become ill. In this way, the
set of authorized users to execute the tasks in a process is drastically reduced
and can result in a state where no user can be found to execute the given task
at hand, obstructing workflow execution.
      </p>
      <p>
        An obstruction describes a state of a workflow instance where the
enforcement of the authorization policy conflicts with the business objectives. At the
control-flow level, the business objectives can be achieved by executing a task
t but at the task-execution level there is no user who is authorized to execute
t without violating the given authorization policy [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The following minimal
example depicts this notion of (un-)satisfiability in workflows.
1.1
      </p>
    </sec>
    <sec id="sec-2">
      <title>Running Example</title>
      <p>
        Figure 1 illustrates a simplified payment workflow and a user-task assignment.
Now, we add an SoD constraint for t1 and t2, meaning that the preparation of
payment needs to be done by a different user than the one who approves the
payment. Given the user-task assignment in Fig. 1(b), if u2 executes t1, t2 can
be performed by u1. If u1 executes t1, she can not execute t2 due to the imposed
SoD constraint, although she basically is authorized to perform this task. u2 can
neither execute t2, since he is not authorized at all. This situation indicates an
obstruction of the workflow resulting from given authorization constraints [
        <xref ref-type="bibr" rid="ref13 ref2 ref3">2, 3,
13</xref>
        ].
      </p>
      <p>
        (a) Simplified Payment Worfklow
(b) User-Task Assignment
the assumption that P=NP) the NP-complete WSP is efficiently solvable for a
growing number of constraint types. Regarding access control systems in
general, there mainly exist two approaches for the case when no user is available to
access a certain object [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]: either alternative constraints are defined
(“Breakthe-Glass”) that override existing policies or another user is empowered to access
the object by use of delegation. However, classic delegation requires the delegator
to be available to perform the delegation and involves the danger that delegation
capabilities are misused (e.g. collusion [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]). Considering these deficits, the
approach of Crampton et al. [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] suggests the concept of auto-delegation, in which
qualifications are introduced that indicate a potential delegatee. Examples on
how the qualification hierarchy may be computed based on an access
controlmodel are given. However, the auto-delegation mechanism only exists as a first
concept so far, which seems promising for the use in PAIS. In summary, the state
of the art on workflow satisfiability only scarcely solves the consequent practical
problems in terms of obstructions in workflow executions at runtime. Therefore,
we envisage to develop an approach that caters for the detection of obstructions
and policy-wise sound workarounds that allow their execution.
1.3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Structure</title>
      <p>This paper aims to show our intended solution to this problem. We first state
Petri nets, events logs, authorization and structural theory formally and
introduce the corresponding terminology in Section 2. On top of that, we present
our approach to tackle obstructed workflows based on the model and logs in
Section 3 and show its potential applications in Section 4. Section 5 concludes
and presents further research steps on the topic.
2</p>
      <sec id="sec-3-1">
        <title>Preliminaries</title>
        <p>We first give the definition of a Petri net to model workflows with a clear
execution semantics. Then, we introduce users, user-task authorization and define SoD
and BoD Constraints. In this way, we are able to grasp unsatisfiability in
workflows formally, leading us to introduce structural theory as a way to encounter
this (see Section 3.1).
2.1</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Petri Nets and Event Logs</title>
      <p>
        Definition 1 (Petri net). A Petri net [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] is a 4-tuple N = P, T, F , m0 ,
where P is the set of places, T is the set of transitions, satisfying P ∩ T = ∅
and F : (P × T ) ∪ (T × P ) → {0, 1} is the flow relation, and m0 is the initial
marking. A marking is an assignment of a non-negative integer to each place.
If k is assigned to place p by marking m (denoted m(p) = k), we say that p
is marked with k tokens. Given a node x ∈ P ∪ T , its pre-set and post-set are
denoted by •x and x• respectively.
      </p>
      <p>A transition t is enabled in a marking m when all places in •t are marked.
When a transition t is enabled, it can fire by removing a token from each place
in •t and putting a token to each place in t•. A marking m is reachable from
m if there is a sequence of firings t1t2 . . . tn that transforms m into m , denoted
by m[t1t2 . . . tn m . A sequence of transitions t1t2 . . . tn is a feasible sequence if
it is firable from m0.</p>
    </sec>
    <sec id="sec-5">
      <title>Definition 2 (System Net, Full Firing Sequences). A system net defines</title>
      <p>a set of sequences, each one starting from the initial marking and ending in the
final marking. A system net is a tuple SN = (N, mstart, mend), where N is a
WF-net and the two last elements define the initial and final marking of the
net, respectively. The set {σ | (N, mstart)[σ (N, mend)} denotes all the full firing
sequences of SN .</p>
      <p>Definition 3 (Trace, Event Log, Parikh vector). Given an alphabet of
events T = {t1, . . . , tn}, a trace is a word σ ∈ T ∗ that represents a finite
sequence of events. An event log L ∈ B(T ∗) is a multiset of traces. |σ|a represents
the number of occurrences of a in σ. The Parikh vector of a sequence of events
is a function : T ∗ → Nn defined as σ = (|σ|t1 , . . . , |σ|tn ). For simplicity, we will
also represent |σ|ti as σ(ti). The support of a Parikh vector σ, denoted by supp(σ)
is the set {ti|σ(ti) &gt; 0}.</p>
      <p>
        Workflow processes can be represented in a simple way by using workflow
nets (WF-nets) [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. A WF-net is a Petri net with a place start (denoting the
initial state of the system) with no incoming arcs and a place end (denoting the
final state of the system) with no outgoing arcs, and every other node is within
a path between start and end. The transitions in a WF-net represent tasks.
For the sake of simplicity, the techniques of this paper assume that models are
specified with WF-nets.
2.2
      </p>
    </sec>
    <sec id="sec-6">
      <title>Security in Workflows</title>
      <p>
        To connect WF-nets with users and authorization, we adapt the definitions
from [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. Further constraints regarding workflow satisfiabilty analysis have
already been investigated [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. However, in this paper we focus on the SoD related
binary constraints, which are sufficient to reach an obstructed state.
Definition 4 (Authorization). A configuration is given by a tuple U, B ,
where U ⊆ U is a set of users and B = {ρ1, · · · , ρm} ⊆ B is a set of binary
relations such that ρi ⊆ U × U (i ∈ [1, m]). Furthermore, we assume that B
contains two predefined binary relations = and =, which denote equality (for
BoD) and inequality (for SoD), respectively. A configuration U, B defines the
environment in which a workflow is to be run.
      </p>
      <p>A workflow is represented as a tuple N, T A, C , where N is a WF-net, T A ⊆
U × T is the user-task authorization where (u, t) ∈ T A indicates that a user u
is authorized to perform transition or task t, and C is a set of constraints.
Definition 5 (Constraints, Workflow Satisfiability). Each of the constraints
takes one of the following forms:
1. ρ(t1, t2) : the user who performs t1 and the user who perform t2 must
satisfy the binary relation ρ.
2. ρ(∃X, t) : there exists a task t ∈ X such that ρ(t , t) holds, i.e., the user
who performs t and the user who performs t satisfy ρ.
3. ρ(t, ∃X) : there exists a task t ∈ X such that ρ(t, t ) holds.
4. ρ(∀X, t) : for each task t ∈ X, ρ(t , t) must hold.
5. ρ(t, ∀X) : for each task t ∈ X, ρ(t, t ) must hold.</p>
      <p>Consider the simplified payment workflow in Figure 1a. Let t1prepare , t2approve
denote the two tasks in the workflow. The SoD constraint of the workflow can
be represented in tuple-based specification = (t1prepare , t2approve ) .</p>
      <p>A plan P for workflow W = N, T A, C is a subset of U × T such that,
for every task ti ∈ T , there is exactly one tuple (ua, ti) in P , where ua ∈ U .
Intuitively, a plan assigns exactly one user to every task in a workflow. Given
a workflow W = N, T A, C and a configuration Γ = U, B , we say that a plan
P is valid for W under Γ if and only if for every (u, t) ∈ P, u is an authorized
user of t and no constraint in C is violated. We say that W is satisfiable under
Γ if and only if there exists a plan P that is valid for W under Γ .</p>
      <p>
        The Workflow Satisfiability Problem (WSP) checks whether a workflow W is
satisfiable under a configuration Γ . Given configuration U, B , checking whether
W is satisfiable under Γ is equivalent to checking whether there is a valid plan
for W under Γ . Note that there can be multiple valid plans for a workflow W
under a configuration. In fact, it is the existence of multiple valid plans that
makes it possible for W to be completed even if a number of users are absent.
Therefore, the notion of resilience in workflows is introduced [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]: Given a
workflow W and an integer n ≥ 0, a configuration U, B is resilient for W up
to n absent users if and only if for every size-n subset U of U , W is satisfiable
under (U − U ), B . In our example, the absence of either u1 or u2 would
result in an unsatisfiable workflow wherefore it is not resilient for n &gt; 0 absent
users. However, although the regarded workflow is satisfiable, it still contains an
obstruction (cf. Section 1.1). We show how we plan to capture such obstructions
based on a WF-net with an “obstruction marking” in Section 3.1.
2.3
      </p>
    </sec>
    <sec id="sec-7">
      <title>Structural Theory of Petri Nets</title>
      <p>Let N = P, T, F , m0 be a Petri net. Given a feasible sequence m0 →σ m, the
number of tokens for a place p in m is equal to the tokens of p in m0 plus the
tokens added by the input transitions of p in σ minus the tokens removed by the
output transitions of p in σ:
m(p) = m0(p) +
|σ|t F (t, p) −</p>
      <p>|σ|t F (p, t)
t∈•p</p>
      <p>t∈ p•
00110 t4
t3
10000
t1
01100
t2</p>
      <p>The marking equations for all the places in the net can be written in the
following matrix form (see Fig. 2(c) as an example): m = m0 + N · σ, where N
∈ ZP ×T is the incidence matrix of the net: N(p, t) = F (t, p) − F (p, t).</p>
      <p>If a marking m is reachable from m0, then there exists a sequence σ such
σ
that m0 → m, and the following system of equations has at least the solution
X = σ
m = m0 + N · X
(1)</p>
      <p>
        If (1) is infeasible, then m is not reachable from m0. The inverse does not
hold in general: there are markings satisfying (1) which are not reachable. Those
markings are said to be spurious [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Figure 2(a)-(c) presents an example of
a net with spurious markings: the Parikh vector σ = (2, 1, 0, 0, 1, 0) and the
marking m = (0, 0, 1, 1, 0) are a solution to the marking equation, as shown in
Fig. 2(c). However, m is not reachable by any feasible sequence. Figure 2(b)
depicts the graph containing the reachable markings and the spurious markings
(shadowed). The numbers inside the states represent the tokens at each place
(p1, . . . , p5). This graph is called the potential reachability graph. The initial
marking is represented by the state (1, 0, 0, 0, 0). The marking (0, 0, 1, 1, 0) is
only reachable from the initial state by visiting a negative marking through the
sequence t1t2t5t1, as shown in Fig. 2(b). Therefore, equation (1) provides only a
sufficient condition for reachability of a marking.
      </p>
      <p>
        For well-structured Petri nets, e.g. when the net is free-choice [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], live,
bounded and reversible, equation (1) together with a collection of sets of places
(called traps invariants) of the system completely characterizes reachability [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
For the rest of cases, the problem of the spurious solutions can be palliated by the
use of trap invariants [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], or by the addition of some special places named
cutting implicit places [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] to the original Petri net that remove spurious solutions
from the original marking equation.
3
      </p>
      <sec id="sec-7-1">
        <title>Tackling Obstructed Workflows</title>
        <p>To tackle an obstructed state in a workflow, we envisage a hybrid approach,
depending on the existence of historical information. In case no historical
information is provided, in Section 3.1 we propose a model-based exploration approach
that suggests the minimal amount of resources to be added into the model to
escape from an obstructed state. When historical information is provided in form
of an event log, the method presented in Section 3.2 could be used, which simply
detects the most similar historical successful trace.
3.1</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>Model-based Obstruction Solving</title>
      <p>
        If only the model of a workflow with its authorizations and constraints are given,
we intend to solve an obstructed state not by changing the model (cf. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]), but
by finding the best path with minimal violation. By flattening the workflow with
its authorizations and users into a Petri net and encoding the obstruction with
a corresponding marking, the marking equation shall be tweaked to provide a
minimized Parikh vector to reach a completed marking, possibly violating given
firing rules. The minimal Parikh vector shall be computed by solving the marking
equation in the domain of Natural numbers, using Integer Linear Programming
(ILP) techniques [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>Flattening of Authorization Data into WF-net Given the example
workflow in Fig. 1(a), we flatten the authorization and constraints into a WF-net step
by step. This encoding may only show our intention and needs to be developed
further in terms of WF-net soundness. The following steps shall give the
intention of this flattening of authorization data into a WF-net and will be refined in
more detail in future.
First, because of the absence of ambiguous gateways in the model in Fig. 1(a),
we can easily transform the workflow into the Petri net in Fig 3. To model access
control, we assume the simple access control model without roles from Fig 1(b)).
The user-task allocation is noted by the corresponding transitions (e.g. u1t1 in
Fig. 4(a)). Firing u1t1 for instance represents the decision of who shall execute</p>
      <p>SoD
u1t2
(a) WF-net with access control
(b) Fig. 4a with SoD
a specific task. In a further step, we model the SoD constraint in Fig. 4(b) by
introducing a choice place for all users authorized for both tasks. In this way,
we are able to model SoD constraints for sequential as well as concurrent tasks.
A generalized way to model SoD constraints in WF-nets shall be provided in
future.</p>
      <p>The initial marking of the net is represented in Fig. 4(b). After t1 has been
executed by u1, we are running in an obstructed state. This obstructed marking
is represented in Fig. 5.</p>
      <p>Tweaking the marking equation Given an obstruction marking mobs and
a final marking mend, the ILP model below sketches our intended approach for
using the marking equation:</p>
    </sec>
    <sec id="sec-9">
      <title>ILP model for Completing an Obstruction State mobs</title>
      <p>Min cost(X, Δ) subject to:
mlive = mobs + Δ
mend = mlive + N · X</p>
      <p>X, Δ ≥ 0 X ∈ N|T | Δ ∈ N|P |
After an obstructed marking mobs has been reached, the idea would be to add the
necessary tokens to the deadlocked model in order to take the current obstructed
marking to a final state. The ILP model above has two sets of variables3: Δ is
the addition of tokens to mobs that takes to an unobstructed marking mlive,
and X is the Parikh vector that will take from mlive to mend. A solution to
the ILP model will then jointly decide the necessary amount of tokens and the
consequent firings to be made to reach mend. Remarkably, the cost function
is a minimization that considers both the length of the trace completing the
workflow (through the Parikh vector X) and the amount of tokens needed to
escape from the obstruction marking (the variables Δ), thus globally optimizing
these two decisions. We consider the cost as a user-defined function, since perhaps
different costs can be assigned depending on the context, e.g., if a shortest path
is preferred independently of the violations performed then one can set cost 0
(or significantly less than X variables) to Δ variables. On the other hand, if the
amount of violations should be reduced, the opposite cost can be set. Also, the
cost for variables in the X vector may differ, e.g., if the firing of certain activities
should be incentivated/avoided. The same holds for the Δ variables.</p>
      <p>For instance, for the Petri net of Fig. 5, the ILP model above (assigning
unitary costs to both X and Δ) will find the solution Δ = (0, 0, 0, 1, 0, 0, 0, 0),
i.e., putting a token in the SoD place, and X = (0, 1, 0, 0, 1), with X according
to the order t1, t2, u1t1, u2t1, u1t2.</p>
      <p>Clearly, the assignment on Δ and X variables defines the violations to make
in order to complete the workflow. Assessing the impact and meaning of these
violations for the authorization, constraints and users is a further challenge here,
representing a next step in our research dealing with security in business
processes.
3.2</p>
    </sec>
    <sec id="sec-10">
      <title>Log-based Obstruction Work-Around</title>
      <p>If there is historical information of the process, i.e. logs, our intention is to
exploit this information and divide the cases of the log into successful and
obstructed ones, based on the analysis of obstructions with the given model. Here,
existing approaches analysing satisfiability and obstructions in workflows could
be adapted to the extended WF-net incorporating authorization and SoD
constraints.Given such partition of the logs, we intend to take an obstructed trace
and find its nearest match to the successfully executed traces. The nearest match
would then propose the partial sequence for the rest of execution to reach a
completed state.
3 mlive can be computed from mobs and Δ.
The presented approach provides a range of applications. It could be used to
recommend who shall perform which tasks, for example in a Break-Glass
situation, or as an assisted delegation, showing potential best delegates (with least
violation) to the delegator. The core idea behind the approach however, is to
enable automated delegation. Moreover, obstruction analysis techniques could
also help policy-designer to improve their policies. We envisage to conduct a
case study to further investigate and underline the practical applications of the
approach.
5</p>
      <sec id="sec-10-1">
        <title>Conclusion and Future</title>
        <p>
          Our work is located in the tension between security controls on the one hand
and maintaining flexibility in terms of process availability on the other. The
intention here is to take a certain degree of violation into account to still succeed
the workflow. As a next step, we aim to define more general solutions on how to
flatten SoD and BoD constraints into WF-nets. Regarding the presented
modelbased approach there is the limitation that the Parikh vector does not propose
a certain order of executing the transitions. In this regard, results need to be
investigated further. Moreover, to better assess the violations taken into account,
future work will also aim to use profiling techniques based on logs. Moreover, we
want to implement the developed methods into the Security Workflow Analysis
Toolkit (SWAT) [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] to provide more specific evidence on how a reliable solution
in an organizational software system should be constituted.
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Rafael</given-names>
            <surname>Accorsi</surname>
          </string-name>
          .
          <source>Sicherheit im Prozessmanagement. digma Zeitschrift fu¨r Datenrecht und Informationssicherheit</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>David</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Basin</surname>
            ,
            <given-names>Samuel J.</given-names>
          </string-name>
          <string-name>
            <surname>Burri</surname>
          </string-name>
          , and Gu¨nter Karjoth.
          <article-title>Obstruction-free authorization enforcement: Aligning security with business objectives</article-title>
          .
          <source>In CSF</source>
          , pages
          <fpage>99</fpage>
          -
          <lpage>113</lpage>
          . IEEE Computer Society,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>David</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Basin</surname>
            ,
            <given-names>Samuel J.</given-names>
          </string-name>
          <string-name>
            <surname>Burri</surname>
          </string-name>
          , and Gu¨nter Karjoth.
          <article-title>Optimal workflow-aware authorizations</article-title>
          . In Vijay Atluri, Jaideep Vaidya, Axel Kern, and Murat Kantarcioglu, editors,
          <source>SACMAT</source>
          , pages
          <fpage>93</fpage>
          -
          <lpage>102</lpage>
          . ACM,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Matt</given-names>
            <surname>Bishop</surname>
          </string-name>
          . Introduction to Computer Security.
          <string-name>
            <surname>Addison-Wesley Professional</surname>
          </string-name>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Reinhardt</given-names>
            <surname>Botha</surname>
          </string-name>
          and
          <string-name>
            <given-names>Jan</given-names>
            <surname>Eloff</surname>
          </string-name>
          .
          <article-title>Separation of duties for access control enforcement in workflow environments</article-title>
          .
          <source>IBM Systems Journal</source>
          ,
          <volume>40</volume>
          (
          <issue>3</issue>
          ):
          <fpage>666</fpage>
          -
          <lpage>682</lpage>
          ,
          <year>March 2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Samuel</surname>
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Burri</surname>
          </string-name>
          .
          <article-title>Modeling and enforcing workflow authorizations</article-title>
          .
          <source>PhD thesis</source>
          , ETH, Zu¨rich,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Josep</given-names>
            <surname>Carmona</surname>
          </string-name>
          and
          <string-name>
            <given-names>Jordi</given-names>
            <surname>Cortadella</surname>
          </string-name>
          .
          <article-title>Encoding large asynchronous controllers with ILP techniques</article-title>
          .
          <source>IEEE Trans. on CAD of Integrated Circuits and Systems</source>
          ,
          <volume>27</volume>
          (
          <issue>1</issue>
          ):
          <fpage>20</fpage>
          -
          <lpage>33</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Nicola</given-names>
            <surname>Clark</surname>
          </string-name>
          and
          <string-name>
            <given-names>David</given-names>
            <surname>Jolly</surname>
          </string-name>
          .
          <article-title>Societe generale loses $7 billion in trading fraud</article-title>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Jason</given-names>
            <surname>Crampton</surname>
          </string-name>
          and
          <string-name>
            <given-names>Gregory</given-names>
            <surname>Gutin</surname>
          </string-name>
          .
          <article-title>Constraint expressions and workflow satisfiability</article-title>
          . In Mauro Conti, Jaideep Vaidya, and Andreas Schaad, editors,
          <source>SACMAT</source>
          , pages
          <fpage>73</fpage>
          -
          <lpage>84</lpage>
          . ACM,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>Jason</given-names>
            <surname>Crampton</surname>
          </string-name>
          and
          <string-name>
            <given-names>Charles</given-names>
            <surname>Morisset</surname>
          </string-name>
          .
          <article-title>An auto-delegation mechanism for access control systems</article-title>
          . In Jorge Cu´ellar, Javier Lopez, Gilles Barthe, and Alexander Pretschner, editors,
          <source>STM</source>
          , volume
          <volume>6710</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
          . Springer,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>J.</given-names>
            <surname>Desel</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Esparza</surname>
          </string-name>
          .
          <article-title>Reachability in cyclic extended free-choice systems</article-title>
          .
          <source>TCS 114</source>
          ,
          <string-name>
            <surname>Elsevier</surname>
            <given-names>Science Publishers B.V.</given-names>
          </string-name>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>J.</given-names>
            <surname>Esparza</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Melzer</surname>
          </string-name>
          .
          <article-title>Verification of safety properties using integer programming: Beyond the state equation</article-title>
          .
          <source>Formal Methods in System Design</source>
          , (
          <volume>16</volume>
          ):
          <fpage>159</fpage>
          -
          <lpage>189</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Julius</surname>
            <given-names>Holderer</given-names>
          </string-name>
          , Rafael Accorsi, and
          <article-title>Gu¨nter Mu¨ller. When four-eyes become too much: a survey on the interplay of authorization constraints and workflow resilience</article-title>
          . In Roger L. Wainwright, Juan Manuel Corchado, Alessio Bechini, and Jiman Hong, editors,
          <source>Proceedings of the 30th Annual ACM Symposium on Applied Computing</source>
          , Salamanca, Spain,
          <source>April 13-17</source>
          ,
          <year>2015</year>
          , pages
          <fpage>1245</fpage>
          -
          <lpage>1248</lpage>
          . ACM,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>Maria</given-names>
            <surname>Leitner</surname>
          </string-name>
          and
          <string-name>
            <given-names>Stefanie</given-names>
            <surname>Rinderle-Ma</surname>
          </string-name>
          .
          <article-title>A systematic review on security in process-aware information systems - constitution, challenges, and future directions</article-title>
          .
          <source>Information &amp;amp; Software Technology</source>
          ,
          <volume>56</volume>
          (
          <issue>3</issue>
          ):
          <fpage>273</fpage>
          -
          <lpage>293</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>T.</given-names>
            <surname>Murata</surname>
          </string-name>
          .
          <article-title>Petri nets: Properties, analysis and applications</article-title>
          .
          <source>Proceedings of the IEEE</source>
          ,
          <volume>77</volume>
          (
          <issue>4</issue>
          ):
          <fpage>541</fpage>
          -
          <lpage>574</lpage>
          ,
          <year>April 1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Rafael</surname>
            <given-names>Accorsi</given-names>
          </string-name>
          , Julius Holderer, Thomas Stocker, and
          <string-name>
            <surname>Richard</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Zahoransky</surname>
          </string-name>
          .
          <article-title>Security workflow analysis toolkit</article-title>
          . In Stefan Katzenbeisser, Volkmar Lotz, and Edgar R. Weippl, editors,
          <source>Sicherheit</source>
          <year>2014</year>
          :
          <article-title>Sicherheit, Schutz und Zuverla¨ssigkeit, Beitra¨ge der 7. Jahrestagung des Fachbereichs Sicherheit der Gesellschaft fu¨r Informatik e</article-title>
          .V. (GI),
          <volume>19</volume>
          .-
          <fpage>21</fpage>
          . Ma¨rz
          <year>2014</year>
          ,
          <string-name>
            <surname>Wien</surname>
          </string-name>
          , O¨sterreich, volume
          <volume>228</volume>
          <source>of LNI</source>
          , pages
          <fpage>433</fpage>
          -
          <lpage>442</lpage>
          . GI,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>M. Silva</surname>
            , E. Teruel, and
            <given-names>J. M.</given-names>
          </string-name>
          <string-name>
            <surname>Colom</surname>
          </string-name>
          .
          <article-title>Linear algebraic and linear programming techniques for the analysis of place/transition net systems</article-title>
          . In Reisig, W. and
          <string-name>
            <surname>Rozenberg</surname>
          </string-name>
          , G., editors,
          <source>Lecture Notes in Computer Science: Lectures on Petri Nets I: Basic Models</source>
          , volume
          <volume>1491</volume>
          , pages
          <fpage>309</fpage>
          -
          <lpage>373</lpage>
          . Springer-Verlag,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>R. L.</given-names>
            <surname>Trope</surname>
          </string-name>
          and
          <string-name>
            <given-names>E. K.</given-names>
            <surname>Ressler</surname>
          </string-name>
          .
          <article-title>Mettle fatigue: Vw's single-point-of-failure ethics</article-title>
          .
          <source>IEEE Security Privacy</source>
          ,
          <volume>14</volume>
          (
          <issue>1</issue>
          ):
          <fpage>12</fpage>
          -
          <lpage>30</lpage>
          ,
          <year>Jan 2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Wil</surname>
            <given-names>M. P. van der Aalst.</given-names>
          </string-name>
          <article-title>The application of Petri nets to workflow management</article-title>
          .
          <source>Journal of Circuits, Systems, and Computers</source>
          ,
          <volume>8</volume>
          (
          <issue>1</issue>
          ):
          <fpage>21</fpage>
          -
          <lpage>66</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>Qihua</given-names>
            <surname>Wang</surname>
          </string-name>
          and
          <string-name>
            <given-names>Ninghui</given-names>
            <surname>Li</surname>
          </string-name>
          .
          <article-title>Satisfiability and resiliency in workflow authorization systems</article-title>
          .
          <source>ACM Trans. Inf. Syst. Secur.</source>
          ,
          <volume>13</volume>
          (
          <issue>4</issue>
          ):
          <volume>40</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>40</lpage>
          :
          <fpage>35</fpage>
          ,
          <year>December 2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Qihua</surname>
            <given-names>Wang</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Ninghui</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and Hong</given-names>
            <surname>Chen</surname>
          </string-name>
          .
          <article-title>On the security of delegation in access control systems</article-title>
          . In Sushil Jajodia and Javier Lo´pez, editors,
          <source>ESORICS</source>
          , volume
          <volume>5283</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>317</fpage>
          -
          <lpage>332</lpage>
          . Springer,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Christian</surname>
            <given-names>Wolter</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Michael</given-names>
            <surname>Menzel</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Christoph</given-names>
            <surname>Meinel</surname>
          </string-name>
          .
          <article-title>Modelling security goals in business processes</article-title>
          .
          <source>In Modellierung</source>
          , volume
          <volume>127</volume>
          , pages
          <fpage>201</fpage>
          -
          <lpage>216</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>