<!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>Model support for confidential service-oriented business processes</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andreas Lehmann</string-name>
          <email>andreas.lehmann@uni-rostock.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Niels Lohmann</string-name>
          <email>niels.lohmann@uni-rostock.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universita ̈t Rostock, Institut fu ̈r Informatik</institution>
          ,
          <addr-line>18051 Rostock</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>A core motivation of service-oriented execution of business processes is the opportunity to reduce costs by outsourcing certain tasks to third-party service providers. For legal or economic reasons, it might be undesirable that delicate information (e. g., customer data, trade secrets, or financial details) “leak” to the involved third parties. The absence of such leaks - called noninterference - can be checked automatically. To this end, a model is required in which each task is assessed as either confidential or public. A drawback of this method is that (1) this distinction has to be made for each task prior to the verification and that (2) an unsuccessful check requires a new confidentiality assessment followed by another verification step. This paper introduces a full-automatic technique to complete partial confidentiality assessments while guaranteeing noninterference. The proposed technique can be integrated into the design phase of a service-oriented business process and help the modeler choose which tasks can be safely outsourced.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Service-oriented computing aims at reducing complexity and costs by replacing
large monolithic systems by interacting components, called services. Such services
are offered by service providers and can be flexibly reused in service compositions.
As a result, business owners can focus on their core business and outsource other
tasks to (possibly cheaper) third-party service providers according to their needs.
This trend has led to paradigms such as software as a service, infrastructure as a
service, or platform as a service.</p>
      <p>
        The service-oriented execution of a business process adds new challenges, as
a business process is usually a very sensitive asset of each company. Though the
interplay with third parties can be regulated by contracts, a business owner should
never entirely trust other agents. Consequently, only uncritical tasks may be
outsourced. To ensure noninterference (i. e., the absence of information leaks) in a
service-oriented business process, three steps need to be taken: First, the modeler
needs to assess each task whether it is confidential or public. This assessment may
be straightforward given the nature of the tasks (e. g., processing financial data),
but can also be arbitrary for noncritical tasks. Second, the assessment needs to
be checked for information leaks. In the context of this paper, we speak of an
information leak if a third party can derive confidential runtime information of
the business process (e. g., the outcome of choices). Recently [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], we investigated
low
      </p>
      <p>
        high
noninterference in terms of Petri net models and showed that modern model
checking techniques [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] allow to check noninterference of industrial models in
fractions of seconds. Finally, the public tasks of the business process can be
delegated to third-party service providers, whereas the confidential tasks remain
in the responsibility of the business process owner. Apparently, an information
leak can be avoided by assessing more tasks as confidential and hence by reducing
the number of outsourced tasks. This would, however, contradict the idea of
service-orientation.
      </p>
      <p>Contribution. The contribution of the paper is twofold. Instead of requiring a
complete confidentiality assessment, we first present an approach that completes a
partial assessment while guaranteeing noninterference. As a second contribution,
we provide a characterization of all valid assessments. This enables the modeler
to interactively assess tasks by automatically removing any invalid choices.
Furthermore, a characterization of all possible assessments can be seen as a first step
toward finding a cost-optimal assessment assuming given costs for each transition
that cannot be outsourced.</p>
      <p>Organization. The rest of this paper is organized as follows. The next section
introduces the fundamental concepts of noninterference and a running example we
shall use throughout the paper. Section 3 presents our completion approach and
a compact representation of all noninterfering assessments. We further discusses
several optimizations to avoid combinatorial explosion. In Sect. 4, we provide
first experimental results using 559 industrial business process models. Section 5
concludes the paper and sketches a research agenda of future extensions.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <p>
        We consider the Petri net representation of business process models as a basis for
the analysis. For this, mappings from common modeling languages, such as
WSBPEL, BPMN, and EPC, exist [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. To express the confidentiality requirements, we
separate the tasks — modeled by Petri net transitions — into two logical security
domains: high for confidential and low for public.
      </p>
      <p>The Petri net in Fig. 1 models a service-oriented insurance claim business
process. After submitting the claim, further information is collected and decided
whether to initiate a fraud investigation or to prepare the resulting payment
before the process finishes. In this example the submitting task is public, because
claims can be submitted via a Web site or a call center. The tasks can be
(a) causal place
(b) conflict place</p>
      <p>2c
outsourced and the respective transition is labeled low. The submission process
may contain no confidential data but must only be used to establish the first
contact between the insurant and his insurance. The task that initiates a fraud
investigation is, however, confidential yielding a high labeling.</p>
      <p>
        An undesired leak happens whenever information meant to remain in the high
domain leaks to the low domain. The analysis of noninterference for such Petri
net models is carried out with positive place-based noninterference (PBNI+) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
PBNI+ is an approach to encode and reason about structural noninterference
(and hence information flow control) in Petri nets. The idea is that some specific
places in the net encode different noninterference properties which are leaks from
the high to the low domain. In our example “collected” could be such a place,
because the following decision depends on it. So in case “collect” is a high labeled
transition, the transitions “initiate” and “prepare” should also be labeled high. In
demonstrating the absence of such places in the net, one proves noninterferences.
      </p>
      <p>Figure 2 depicts the two types of possible interference places, the causal
case (a) and the conflict case (b). In the causal case, the low labeled transition t2
can only fire after the high labeled transition t1 has fired, so the fact that t1 (and
its corresponding confidential task) has fired is leaked. In the conflict case the
two transitions t3 and t4 are mutually exclusive, which means that from firing
of the low labeled transition t4 one may deduce that the high labeled transition
t3 has not fired. Both cases can be expressed as a triple (s, h, l) of a place s, a
high labeled transition h, and a low labeled transition l. In our running example
“collected” is both a causal and a conflict place and the triples are (“collected”,
“collect”, “prepare”) and (“collected”, “initiate”, “prepare”).</p>
      <p>
        A labeled Petri net is secure in terms of PBNI+ if it contains no such places.
Although it appears like a structural property, the behavior of the net needs to
be considered to decide PBNI+, because there must be a behavioral dependency
between the creation or consumption of the token on the place s by the involved
transition h and l. This dependency can only be checked by taking the behavior
of the net (i. e., its state space) into account. Based on our previous work [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ],
these checks can be expressed as independent reachability problems instead of an
examination of the whole state space. Therefore, all checks can be done locally
for each specific triple (s, h, l). Figure 3 depicts the pattern for the causal case
(cf. 2(a)) in which the place “goal” is interesting according to reachability. The
interested reader is referred to [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Completion of partial confidentiality assessment</title>
      <p>The PBNI+ check has several drawbacks: First, it requires a complete
confidentiality assessment; that is, each transition has to be labeled with either high or
low. This means that the modeler needs to make a manual decision for each
transition whether the modeled task is confidential or public. Such choices can be
very arbitrary, yet still affect overall noninterference. That said, if an information
leak was detected, the assessment has to be manually corrected and re-checked.</p>
      <p>
        To this end, we propose to provide a characterization of all valid confidential
assessments given a partial (or even empty) confidentiality assessment. Whereas
previous work [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] showed that a noninterference check is quite fast, a naive
enumeration of all possible assessments has two major downsides:
1. Assuming t transitions in the net, 2t assessments need to be considered. Even
with an average checking time of 30 milliseconds the exponential blowup
makes this enumeration not applicable to industrial models with hundreds of
transitions.
2. Even if we can determine the valid assessments, an explicit representation is
infeasible due to the same exponential blowup. However, only a complete list
of all valid assessments gives the modeler maximal freedom to come up with
an optimal outsourcing plan.
      </p>
      <p>The rest of this section presents reduction ideas how to tackle each mentioned
problem.
3.1</p>
      <p>Reducing the number of checks
Considering all possible assessments, one would end up with checking 2t
assignments, if a net has t transitions. For each assignment more than one check (triples
in terms of the reachability problem) may be necessary. Therefore it is necessary
to reduce the number of checks considerably. In our running example with 4
transitions we already start with 24 = 16 possible assignments. In Tab. 1 all
possible 16 assignments are listed.</p>
      <p>
        Based on our observation, all checks are independent from each other, so they
can be executed independently [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In fact, this does not reduce their number,
but all potential critical assignments follow from the structure of the Petri net,
because for PBNI+ only potential causal and conflict places are relevant. This
means, that only specific parts (the triples) of the net are interesting, which are in
O(p · t · (t − 1)) if a net has t transitions and p places. Consider a potential conflict
place s with two transition t1 and t2 in its postset. Without any assignment on t1
and t2 there are two possible triples (s,t1,t2) and (s,t2,t1). In the first triple t1 is
2
×
×
×
×
4
3
×
×
×
×
4
4
×
×
×
×
4
5
×
×
×
×
4
labeled high and t2 is labeled low ([t1 7→ high, t2 7→ low]) and in the second triple
it is the other way around. Both other combinations ([t1 7→ low, t2 7→ low] and
[t1 7→ high, t2 7→ high]) are not interesting according to PBNI+. Each of these two
possible triples will occur in 2t−2 of all possible assignments, because of fixing
the assignment of the two transitions. In our running example one can identify 5
of these triples:
1. (“collected”, “initiate”, “prepare”): potential conflict place “collected”,
2. (“collected”, “prepare”, “initiate”): potential conflict place “collected”,
3. (“collected”, “collect”, “initiate”): potential causal place “collected”,
4. (“collected”, “collect”, “prepare”): potential causal place “collected”, and
5. (“submitted”, “submit”, “collect”): potential causal place “submitted”.
Table 1 lists all these triples (same enumeration) for all possible assignments. For
instance, in line 2, where just “prepare” is assigned high, only the second triple
needs to be checked, resulting in a single check for this assignments.
      </p>
      <p>Combining these two observations it is not necessary to check all 2t assignments
(by performing O(2t · (p · t · (t − 1))) checks), but it is enough to check only the
potential critical triples which are in O(p · t · (t − 1)), because they are common
through the net structure. Back to our running example: Each of these 5 triples
occur 24−2 = 4 times over all 16 assignments yielding to the sum of 20 checks.
However, it is not necessary to perform all 20 checks (× in Tab. 1), but is is
sufficient to check each possible triple (columns in Tab. 1) once.</p>
      <p>(a)
(b)
(c)
(d)</p>
      <p>In case the modeler has already assigned some confidentiality, the set of
potential critical triples decrease and further triples can be ruled out. In fact our
running example has two preassigned tasks (“submit” 7→ low and “initiate” 7→
high), so two triples (columns 1 and 4) are left to decide for all 16 assignments
whether they are noninterfering.</p>
      <p>To summarize, the main idea is to identify structural causal and conflict
triples (columns in terms of the table) once for the net which has polynomial
complexity in the net size. Afterwards perform these polynomial many checks
(locally and independently) also once and represent all valid assignments in a
compact way, which is the content of the following subsection.
3.2</p>
      <p>
        Compact characterization of valid assessments
To fight the exponential blowup of the number of the valid assignments, we
employ a symbolic representation, namely binary decision diagrams (BDDs) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
BDDs are successfully used in verification [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] as they can represent sets of bit
vectors very compactly.
      </p>
      <p>Figure 4(a) depicts an example of a BDD that represents all valid
confidentiality assessments of the running example. The oval nodes are labeled with
transition names and represent decisions whether to assess the transition as high
(continuous outgoing arrow) or low (dashed outgoing arrow). After a sequence of
decisions, either the node “valid” or “invalid” is reached which describes the status
of the resulting assessment. Note that Fig. 4(a) does not mention the “collect”
transition: This means that either label is valid for this transition, resulting in 2
valid assessments (cf. Fig. 4(b)). We can further derive that the pay task must be
confidential in any case. In case no initial assessment is given (i. e., no transition
is initially labeled high or low), the resulting BDD (cf. Fig. 4(c)) characterizes 2
additional valid assessments: setting all transitions to high or all transitions to
low (cf. Fig. 4(d)).</p>
      <p>The construction of the BDDs from the noninterference verification results
use standard BDD operations for which efficient algorithms exist. In particular,
Algorithm 1 Overall algorithm
Require: Petri net N
1: BDD ← true
2: for all relevant potential causal/conflict triples (s, h, l) do
3: create net N(s,h,l) and perform reachability check
4: if place “goal” can be marked (i.e., s is an active causal/conflict place) then
5: BDD ← BDD ∧ ¬(h ∧ ¬l))
6: end if
7: end for
8: return BDD
the addition of further constraints (e. g., further assessments of the modeler) can
be realized at modeling time and be used to guide the confidentiality assessment.</p>
      <p>Algorithm 1 describes how a complete characterization of all valid assessments
can be calculated. We begin with a BDD that assigns true (viz. “high”) to all
transitions. Then, we check for each potential causal and conflict triple (s, h, l)
whether it is an actual violation of noninterference using the reachability check
sketched in Fig. 2. In case a violation is found, the respective (partial) assignment
is excluded by adding the constraint ¬(h ∧ ¬l) to the BDD. This excludes
assignments [h 7→ high, l 7→ low].
4</p>
    </sec>
    <sec id="sec-4">
      <title>Experimental results</title>
      <p>
        The evaluation uses a library of 559 industrial business processes from different
business branches, including financial services, ERP, supply-chain, and online
sales [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. They contain no semantic information with respect to the security
domains; that is, they are not labeled for security analysis. To this end, this is a
good start for our approach, because we can characterize all possible confidential
assessments. Table 2 summarizes their experimental results.
      </p>
      <p>As summarized in Tab. 2 we only need to perform 282 checks for the biggest
process (no assignments) in contrast to more than 2100 checks, which takes 3
seconds on a desktop computer. For this process, the respective BDD has 1,054
nodes.
possible assignments (main factor for checks)
sum of triples (necessary checks)
minimum
average</p>
      <p>maximum
1</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>Summary. Confidentiality is important in service-oriented business processes,
because business processes are sensitive asset of each company. To express such
confidentiality requirements one can use PBNI+, which can be verified on the fly
for business processes. So the next step after the verification of a complete assessed
business process is to support the modeler in 2 ways: firstly by automatically
complete a partial assessed business process and, secondly, by providing a complete
characterization of all valid assessments. As shown in this paper, first numbers
on runtime are very promising.</p>
      <p>Lessons learnt. It is possible to derive all 2t assessments with only polynomial
many checks. The independence shown earlier is essential for this reduction. A
polynomial number of checks is feasible for industrial business processes. In order
to represent all 2t assessments, necessary to provide a complete support for all
assessments, existing model checking techniques (BDD) are used which proved
their scalability in industrial settings.</p>
      <p>Future work. Future work aims at two directions: Firstly, provide some interactive
design support where only possible choices are offered and obvious ones are set
automatically. One way could be an integration into an existing business process
modeling tool with a graphical user interface. Second, enhance the approach with
costs aspects. Based on the complete representation of all valid assessments one
could reason about the costs for each assessment.</p>
      <p>Acknowledgement. This work was partially funded by the DFG (German research
foundation) in the project WS4Dsec in the priority program Reliably Secure
Software Systems (SPP 1496).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Accorsi</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lehmann</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Automated and fast information flow analysis for business process models (</article-title>
          <year>2012</year>
          ), unpublished manuscript available at http://www.informatik. uni-rostock.de/˜al357/reader.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bryant</surname>
          </string-name>
          , R.E.:
          <article-title>Graph-based algorithms for Boolean function manipulation</article-title>
          .
          <source>IEEE Trans</source>
          . Computers C-
          <volume>35</volume>
          (
          <issue>8</issue>
          ),
          <fpage>677</fpage>
          -
          <lpage>691</lpage>
          (
          <year>1986</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Burch</surname>
            ,
            <given-names>J.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clarke</surname>
            ,
            <given-names>E.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McMillan</surname>
            ,
            <given-names>K.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dill</surname>
            ,
            <given-names>D.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hwang</surname>
            ,
            <given-names>L.J.</given-names>
          </string-name>
          :
          <article-title>Symbolic model checking: 1020 states and beyond</article-title>
          .
          <source>Inf. Comput</source>
          .
          <volume>98</volume>
          (
          <issue>2</issue>
          ),
          <fpage>142</fpage>
          -
          <lpage>170</lpage>
          (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Busi</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gorrieri</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Structural non-interference in elementary and trace nets</article-title>
          .
          <source>Mathematical Structures in Computer Science</source>
          <volume>19</volume>
          (
          <issue>6</issue>
          ),
          <fpage>1065</fpage>
          -
          <lpage>1090</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Fahland</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Favre</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koehler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          , Vo¨lzer, H.,
          <string-name>
            <surname>Wolf</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Analysis on demand: Instantaneous soundness checking of industrial business process models</article-title>
          .
          <source>Data Knowl. Eng</source>
          .
          <volume>70</volume>
          (
          <issue>5</issue>
          ),
          <fpage>448</fpage>
          -
          <lpage>466</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Verbeek</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dijkman</surname>
            ,
            <given-names>R.M.:</given-names>
          </string-name>
          <article-title>Petri net transformations for business processes - a survey</article-title>
          .
          <source>LNCS ToPNoC II(5460)</source>
          ,
          <fpage>46</fpage>
          -
          <lpage>63</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Wolf</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Generating Petri net state spaces</article-title>
          .
          <source>In: ICATPN 2007</source>
          . pp.
          <fpage>29</fpage>
          -
          <lpage>42</lpage>
          . LNCS 4546, Springer (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>