<!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>
      <article-id pub-id-type="doi">10.1007/978-3-662-46823-4\_13</article-id>
      <title-group>
        <article-title>Process Opacity and Insertion Functions</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Damas P. Gruska</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>M. Carmen Ruiz</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Comenius University</institution>
          ,
          <addr-line>Slovak Republic</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universidad de Castilla-La Mancha</institution>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2014</year>
      </pub-date>
      <volume>8974</volume>
      <fpage>151</fpage>
      <lpage>160</lpage>
      <abstract>
        <p>Time insertion functions as a way how to guarantee state-based security with respect to timing attacks are proposed and studied. As regards the security property, we work with the property called process opacity. First, we define timing attacks and later we show how security with respect to them can be enforced by such functions. The time insertion function can alter the time behaviour of the original system by inserting some time delays to guarantee its security. We investigate conditions under which such functions do exist and also some of their properties.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;state-based security</kwd>
        <kwd>process opacity</kwd>
        <kwd>process algebras</kwd>
        <kwd>information flow</kwd>
        <kwd>insertion function</kwd>
        <kwd>timing attack</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Even relatively recently discovered possible attacks on most of currently used processors
(Meltdown and Spectre) also belong to timing attacks. To protect systems against timing attacks
we propose application of inserting functions (see [
        <xref ref-type="bibr" rid="ref10 ref11 ref12 ref9">9, 10, 11, 12</xref>
        ]). Such functions can add some
idling between actions to enforce process’s security. In this paper we investigate conditions
under which such functions do exist and also their properties.
      </p>
      <p>
        As regards formalism, we will work with a timed process algebra and opacity, which is
the security property based on an absence of information flow. This formalism enables us to
formalize timing attacks. In [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] we have introduced time insertion functions to guarantee
language-based security and showed some of their properties. In [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] we studied conditions
under which there exists a timed insertion function for a given process and security
languagebased security property and we have presented some decidability and undecidability results.
In this paper we define and study time insertion functions for state-based security property
process opacity.
      </p>
      <p>The paper is organized as follows. In Section 2 we describe the timed process algebra TPA
which will be used as a basic formalism and information flow state-based security process
opacity. The next section is devoted to time insertion functions as a way how to guarantee state
this security property with respect to timing attacks.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Working Formalism</title>
      <p>
        In this section we briefly recall Timed Process Algebra, TPA for short (for more details see [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]).
TPA is based on Milner’s Calculus of Communicating Systems (for short, CCS, see [16]) but
the special time action  which expresses elapsing of (discrete) time is added and hence the set
of actions is extended from  to . The presented language is a slight simplification of
Timed Security Process Algebra (tSPA) introduced in [17]. We omit an explicit idling operator
 used in tSPA and instead of this we allow implicit idling of processes. Hence processes can
perform either "enforced idling" by performing  actions which are explicitly expressed in their
descriptions or "voluntary idling" (i.e. for example, the process .  can perform  action
despite the fact that this action is not formally expressed in the process specification). But
in both cases internal communications have priority to action  in the parallel composition.
Moreover we do not divide actions into private and public ones as it is in tSPA. TPA difers
also from the tCryptoSPA (see [18]). TPA does not use value passing and strictly preserves time
determinancy in case of choice operator + what is not the case of tCryptoSPA (see [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]).
      </p>
      <p>To define the language TPA, we first assume a set of atomic action symbols  not containing
symbols  and , and such that for every  ∈  there exists  ∈  and  = . We define
 =  ∪ { },  =  ∪ {},  =  ∪ {}. We assume that , , . . . range over ,
, , . . . range over , and ,  . . . range over .</p>
      <p>We give a structural operational semantics of terms by means of labeled transition systems.
The set of terms represents a set of states, labels are actions from . The transition relation
→ is a subset of TPA ×  × TPA. We write  →  ′ instead of (, ,  ′) ∈ → and  ̸ → if
there is no  ′ such that  →  ′. The meaning of the expression  →  ′ is that the term 
can evolve to  ′ by performing action , by  → we will denote that there exists a term  ′
such that  →  ′. We define the transition relation as the least relation satisfying the inference
rules for CCS plus the following inference rules:</p>
      <p>→  
2

be performed by  , i.e. ( ) = {| →.,  ∈ * }.</p>
      <p>For  = 1.2. . . . .,  ∈  we write  → instead of  →1 →2 . . . → and we say that
 is a trace of  . The set of all traces of  will be denoted by  ( ). By  we denote the
empty sequence and by  * we denote the set of sequences of elements from  . We use ⇒ for
transitions including  actions (see [16]). By | we will denote the sequence obtained from 
by removing all actions not belonging to . By ( ) we will denote a set of actions which can</p>
      <p>We define two behavior equivalences trace equivalence and weak bisimulation, respectively
(see [16]).</p>
      <sec id="sec-2-1">
        <title>Definition 1.</title>
        <p>′}.</p>
        <p>The set of weak traces of process  is defined as  ( ) = { ∈ ⋆|∃ ′. ⇒
Two processes  and  are weakly trace equivalent if  ( ) =  ().
relating  and .</p>
      </sec>
      <sec id="sec-2-2">
        <title>Definition 2.</title>
        <p>Let (TPA, , →) be a labelled transition system (LTS). A relation ℜ ⊆
TPA× TPA
is called a weak bisimulation if it is symmetric and it satisfies the following condition: if (, ) ∈
ℜ and  →  ′,  ∈  then there exists a process ′ such that  ⇒̂︀ ′ and ( ′, ′) ∈ ℜ
Two processes ,  are weakly bisimilar, abbreviated  ≈ , if there exists a weak bisimulation
.</p>
        <p>To formalize an information flow we do not divide actions into public and private ones at the
system description level, as it is done for example in [18], but we use a more general concept of
observation and opacity. This concept was exploited in [19] and [20] in a framework of Petri
Nets and transition systems, respectively. Firstly we define observation function on sequences
from ⋆. Various variants of observation functions difers according to contexts which they
take into account. For example, an observation of an action can depend on the previous actions.
⋆
( ≥</p>
        <p>→</p>
      </sec>
      <sec id="sec-2-3">
        <title>Definition 3 (Observation).</title>
        <p>Θ⋆ is an observation function. It is called static /dynamic /orwellian / m-orwellian</p>
        <p>Let Θ be a set of elements called observables. Any function  :
1) if the following conditions hold respectively (below we assume  = 1 . . . ):
() = ′(1) . . . ′(),
• static if there is a mapping ′ :  → Θ ∪ { } such that for every  ∈ ⋆ it holds
• dynamic if there is a mapping ′ : ⋆
→</p>
        <p>Θ ∪ { } such that for every  ∈ ⋆ it
holds () = ′(1).′(1.2) . . . ′(1 . . . ),
it holds () = ′(1, ).′(2, ) . . . ′(, ),
• orwellian if there is a mapping ′ :  × ⋆
→ Θ ∪ { } such that for every  ∈ ⋆
 = {1,− +1}.{1,− +1}+1 . . . {,+− 1}.
• m-orwellian if there is a mapping ′ :  × ⋆ → Θ ∪ { } such that for every  ∈
⋆ it holds () = ′(1, 1).′(2, 2) . . . ′(, ) where
In the case of the static observation function each action is observed independently from
its context. In the case of the dynamic observation function an observation of an action
depends on the previous ones, in the case of the orwellian and m-orwellian observation function
an observation of an action depends on the all and on  previous actions in the sequence,
respectively. The static observation function is the special case of m-orwellian one for  = 1.
Note that from the practical point of view the m-orwellian observation functions are the most
interesting ones. An observation expresses what an observer - eavesdropper can see from a
system behavior and we will alternatively use both the terms (observation - observer) with the
same meaning. Note that the same action can be seen diferently during an observation (except
static observation function) and this express a possibility to accumulate some knowledge by
intruder. For example, an action not visible at the beginning could become somehow observable.
From now on we will assume that Θ ⊆ .</p>
        <p>Now let us assume hat an intruder is interested whether a given process has reached a
state with some given property which is expressed by a (total) predicate. This property might
be process deadlock, capability to execute only traces with some given actions, capability to
perform at the same actions form a given set, incapacity to idle (to perform  action ) etc. We
do not put any restriction on such predicates but we only assume that they are consistent with
some suitable behavioral equivalence. The formal definition follows.</p>
        <p>Definition 4. We say that the predicate  over processes is consistent with respect to relation ∼=
if whenever  ∼=  ′ then ( ) ⇔ ( ′).</p>
        <p>As the consistency relation ∼= we could take bisimulation, weak bisimulation, weak trace
equivalence or any other suitable equivalence.</p>
        <p>An intruder cannot learn validity of predicate  observing process’s behaviour if there are
two traces, undistinguished for him (by observation function ), where one leads to a state
which satisfy  and another one leads to a state for which ¬ holds. The formal definition
follows.</p>
        <p>Definition 5 (Process Opacity). Given process  , a predicate  over processes is process opaque
w.r.t. the observation function  whenever  →  ′ for
 ∈ * and ( ′) holds then there exists  ′′ such that  ′
→  ′′ for some ′ ∈ *
and ¬( ′′) holds and moreover () = (′). The set of processes for which the predicate 
is process opaque w.r.t. to the  will be denoted by   .</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Insertion functions</title>
      <p>Timing attacks belong to powerful tools for attackers who can observe or interfere with systems
in real time. On the other side these techniques is useless for of-line systems and hence they
could be consider safe with respect to attackers who cannot observe (real) time behaviour. By
the presented formalism we have a way how to distinguish these two cases. First we define
untimed version of an observation function, i.e. a function which does not take into account time
information. From now on we will consider observation functions  : ⋆ → ⋆ for which
there exists untimed variants  . Function  is untimed variant of  if () = (|),
i.e. untimed variant represents an observer who does not see elapsing of time since both traces,
with and without actions , are seen equally. Now we can formally describe situation when a
process could be jeopardized by a timing attack i.e. is secure only if an observer cannot see
elapsing of time.</p>
      <p>Definition 6 (Timinig Attacks). We say that process  is prone to timing attacks with respect
to  and  if  ̸∈   but  ∈   .</p>
      <p>Example 1. Let us assume an intruder who tries to learn whether a private action ℎ was
performed by a given process while (s)he can observe only public action  but not ℎ itself. Then
process  = .. + ... is not opaque for static observation function () =  for  ̸= ,
() =  and (), ¬() hold, i.e.  ̸∈   . But if an observer cannot see elapsing of time

this process is opaque, i.e.  ∈   .</p>
      <p />
      <p>
        From now on we will consider only processes which are prone to timing attacks (see Definition
6) and moreover we will assume that predicate  is decidable. There are basically three ways
how to solve vulnerability to timing attacks except putting a system of-line. First, redesign
the system, put some monitor or supervisor which prevents dangerous behavior which could
leak some classified information (see, for example, [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]) or hide this leakage by inserting some
time delays between system’s action (see [
        <xref ref-type="bibr" rid="ref10 ref12">12, 10</xref>
        ] for general insertion functions for
nondeterministic finite automata). Now we will define and study this possibility. First we need
some notation. For , ′ ∈ * and  = 1.2 . . .  we will write  ≪  ′ for  ⊂ 
if ′ = 1.1.2 . . . . where  ∈ * for every , 1 ≤  ≤ . In general, an insertion
function inserts additional actions between original process’s actions (given by trace ) such
that for the resulting trace ′ we have  ≪  ′ and ′ is still a possible trace of the process.
In our case we would consider insertion functions (called time insertion functions) which insert
only time actions i.e. such functions that  ≪ {} ′. Results of an insertion function depends
on previous process behaviour. We can define this dependency similarly as it is defined for
observation functions.
      </p>
      <p>
        Definition 7 (Time Insertion function). Any function ℱ : ⋆ → ⋆ is an insertion
function if for every  ∈ * we have  ≪ {} ℱ (). It is called static /dynamic /orwellian /
morwellian ( ≥ 1) if the following conditions hold respectively (below we assume  = 1 . . . ):
• static if there is a mapping  :  → {}* such that for every  ∈ ⋆ it holds
ℱ () = 1. (1).2. (2) . . . . (),
• dynamic if there is a mapping  : ⋆ → {}* such that for every  ∈ ⋆ it holds
ℱ () = 1. (1).2. (1.2) . . . . (1. . . . .),
• orwellian if there is a mapping  ′ :  × ⋆ → {}* such that for every  ∈ ⋆ it
holds ℱ () = 1. (1, ).2. (2, ) . . . . (, ),
 = {1,− +1}.{1,− +1}+1 . . . {,+− 1}.
• m-orwellian if there is a mapping  ′ : × ⋆ → {}* such that for every  ∈ ⋆ it
holds ℱ () = 1. (1, 1).2. (2, 2) . . . . (, ),
Note that contrary to general insertion function (see [
        <xref ref-type="bibr" rid="ref10 ref12">12, 10</xref>
        ]) inserting time actions is much
simpler due to transition rules 1, 2, . The purpose of time insertion function is to guaranty
security with respect to process opacity. Let  ̸∈   but  ∈   , i.e. the process  is

prone to timing attack with respect to  and . If  and  is clear from a context we will omit
it. Now we define what it means that process can be immunized by a time insertion function.
′′, such that  →′′  ′′′ such that ¬( ′′′) holds and () = (′′).
      </p>
      <p>Definition 8. We say that process  can be immunized for process opacity with respect to a
predicate  over ⋆ and the observation function  if for every  ′,  →  ′ such that ( ′)
holds and there does not exists  ′′ such that  →′  ′′ for some ′ such that () = (′) and
( ′′) does not hold, there exist ,  ≪ {}  such that  →  ′′ and and there exists  ′′′ and
In Fig. 1 process immunization is depicted.</p>
      <p />
      <p>=⇒
′
̸=⇒
=⇒
′′
=⇒
( ′)
¬( ′′)
( ′)
¬( ′′′)
()
‖
(′)
()
‖
(′′)</p>
      <p>Now we will study an existence of time insertion functions. First we need some notations.
We begin with observational functions which do not see  actions.</p>
      <p>Definition 9. We say that observational function  is not sensitive to  action if () =
(|) for every  ∈ * . Otherwise we say that  is sensitive to  action.
Example 2. Process ,  = . + (.|¯. ) ∖ {}, cannot be immunized if  is sensitive to 
action and (), ¬() hold. An immunization should put a time delay into the trace performed
by the right part of the process  but this subprocess cannot perform  action due to the inference
rule   before communication by means of channel .</p>
      <p>Lemma 1. Let  is prone to timing attack with respect to  and . Let  ̸∈ ( ),  is sequential
(i.e. does not contain parallel composition) and  is static. Then  can be immunized.</p>
      <p>Another problem, which causes that processes cannot be immunized, is related to observation
of time, namely, if this observation is context sensitive, as it is stated by the following example.
Example 3. Process ,  = ℎ..  + ..  cannot be immunized for dynamic  such that
(.ℎ.* .′) = (.′), (..′) = ()..(′), if  does not end with action ℎ we have
(..′) = ()..(′), and (), ¬() hold.</p>
      <sec id="sec-3-1">
        <title>Now we define time contextuality formally.</title>
        <p>Definition 10. We say that observational function  is time non-contextual if () = (′)
for every , ′ such that  ≪ {} ′.</p>
        <p>Proposition 1. Let process  is prone to timing attacks with respect to  and time non-contextual
observation function  which does not see  . Then  can be immunized for opacity with respect
to timing attacks.</p>
        <p>Proof 1. The main idea. Let  ̸∈   but  ∈   . This means that there exists a
 
sequence  and  ′ such that  →  ′, ( ′) holds and there does not exist  ′′ such that  →′  ′′
for some ′ such that () = (′) and ( ′′) does not hold.</p>
        <p>Suppose that  cannot be immunized, i.e. for every ,  ≪ {}  if  →  ′′′, ( ′′′) holds,
there does not exist  ′′′′′ such that  →′′  ′′′′ for some ′′ such that () = (′′′). But due
to our assumption we have () = () and hence it is with contradiction that  is prone to
timing attacks.</p>
        <p>Corollary 1. Let  is a static observation function such that ( ) =  and () = . Then
process  which is prone to timing attacks with respect to  and observation function  can
be immunized for process opacity with respect to timing attacks.</p>
        <p>Under some special conditions time insertion functions can be computed efectively a it is
stated by the following proposition.</p>
        <p>Proposition 2. Let process  is prone to timing attacks with respect to  and time non-contextual
observation function  which does not see  . Then  can be immunized for opacity with respect
to timing attacks by a m-orwellian insertion function, moreover such one, which can be emulated
by finite state process.</p>
        <p>
          Proof 2. Sketch. The prove follows an idea from Proposition 3 and Theorem 4.10 and Lemma
4.5.in [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], where insertion functions are modeled by processes run in parallel with  .
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>No we define what it means that a predicate is time sensitive.</title>
        <p>Definition 11. We say that predicate  is time sensitive if whenever ( ) holds for  then there
exists ,  &gt; 0 such that  →  ′ and ( ′) does not hold.</p>
        <p>Proposition 3. Let process  is prone to timing attacks with respect to time sensitive predicate
¬ and time non-contextual observation function  which does not see  . Then  can be
immunized for opacity with respect to timing attacks,  and .</p>
        <p>Proof 3. Sketch. By inserting some time actions after performing a sequence we can always reach
a state for which  holds and hence  becomes safe with respect to  ¬.

Corollary 2. Let process  is prone to timing attacks with respect  and time non-contextual
observation function  which does not see  . Let ¬ is not time sensitive predicate then  can
be immunized for opacity with respect to timing attacks and  and.</p>
        <p>In general, we cannot decide whether process can be immunized as it is stated by the
following proposition. Fortunately, it is decidable for the most important static and m-orwellian
observation functions.</p>
        <p>Proposition 4. Immunizability is undecidable i.e. it cannot be decided whether  can be
immunized for opacity with respect to timing attacks.</p>
        <p>Proof 4. Sketch. Let  represents i-th Turing machine under some numeration of all Turing
machines. We start with generalized process from Example 3. Let  = ℎ.. + ∑︀∈ ...
Let (.ℎ..′) = (.′) whenever  halts with the empty tape and (.ℎ..′) =
()..(′) otherwise. It is easy to check that immunization of  is undecidable.
Proposition 5. Immunizability is decidable for static and m-orwellian observation function .
Proof 5. According to Proposition 3 it is enough to show that observation function  is time
noncontextual observation function and it does not see  . Clearly both these properties are decidable
for static and m-orwellian observation functions.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusions</title>
      <p>
        We have investigated time insertion functions for timed process algebra which enforce the
security with respect to timing attack formalized process opacity. Time insertion functions
add some delays to system’s behaviour to prevent a timing attack. We study an existence of
an insertion function for a given process, given observational function and a predicate over
processes. In future work we plan to investigate minimal insertion functions, i.e. such functions
which add as little as possible time delays to guarantee process’s security with respect to timing
attacks. The presented approach allows us to exploit also process algebras enriched by operators
expressing other "parameters" (space, distribution, networking architecture, power consumption
and so on). Hence we could obtain security properties which have not only theoretical but
also practical value. Moreover, we can use similar techniques as in [21] to minimize time,
as well as other resources, added to process’s behaviour. Moreover, we plan to model both
observation functions as well as predicates over processes by processes themselves, to obtain
some complexity results as it was done in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] for trace based variant of opacity.
      </p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgement</title>
      <p>This work was supported by the Slovak Research and Development Agency under the Contract
no. APVV-19-0220 (ORBIS) and by the Slovak VEGA agency under Contract no. 1/0778/18
(KATO).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>P.</given-names>
            <surname>Ramadge</surname>
          </string-name>
          , W. Wonham,
          <article-title>The control of discrete event systems</article-title>
          ,
          <source>Proceedings of the IEEE</source>
          <volume>77</volume>
          (
          <year>1989</year>
          )
          <fpage>81</fpage>
          -
          <lpage>98</lpage>
          . doi:
          <volume>10</volume>
          .1109/5.21072.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D. P.</given-names>
            <surname>Gruska</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. C.</given-names>
            <surname>Ruiz</surname>
          </string-name>
          ,
          <article-title>Opacity-enforcing for process algebras</article-title>
          , in: B.
          <string-name>
            <surname>Schlinglof</surname>
          </string-name>
          , S. Akili (Eds.),
          <source>Proceedings of the 27th International Workshop on Concurrency, Specification and Programming</source>
          , Berlin, Germany,
          <source>September 24-26</source>
          ,
          <year>2018</year>
          , volume
          <volume>2240</volume>
          <source>of CEUR Workshop Proceedings, CEUR-WS.org</source>
          ,
          <year>2018</year>
          . URL: http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>2240</volume>
          /paper1.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P. C.</given-names>
            <surname>Kocher</surname>
          </string-name>
          ,
          <article-title>Timing attacks on implementations of difie-hellman, rsa, dss, and other systems</article-title>
          , in: N.
          <string-name>
            <surname>Koblitz</surname>
          </string-name>
          (Ed.),
          <source>Advances in Cryptology - CRYPTO '96</source>
          , Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>1996</year>
          , pp.
          <fpage>104</fpage>
          -
          <lpage>113</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J.-F.</given-names>
            <surname>Dhem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Koeune</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.-A.</given-names>
            <surname>Leroux</surname>
          </string-name>
          , P. MestrÃ©,
          <string-name>
            <surname>J.-J. Quisquater</surname>
            ,
            <given-names>J.-L.</given-names>
          </string-name>
          <string-name>
            <surname>Willems</surname>
          </string-name>
          ,
          <article-title>A practical implementation of the timing attack</article-title>
          , volume
          <year>1820</year>
          ,
          <year>1998</year>
          , pp.
          <fpage>167</fpage>
          -
          <lpage>182</lpage>
          . doi:
          <volume>10</volume>
          .1007/ 10721064_
          <fpage>15</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>H.</given-names>
            <surname>Handschuh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. M.</given-names>
            <surname>Heys</surname>
          </string-name>
          ,
          <article-title>A timing attack on rc5</article-title>
          ,
          <source>in: Proceedings of the Selected Areas in Cryptography, SAC '98</source>
          , Springer-Verlag, Berlin, Heidelberg,
          <year>1998</year>
          , p.
          <fpage>306</fpage>
          -
          <lpage>318</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Hevia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kiwi</surname>
          </string-name>
          ,
          <article-title>Strength of two data encryption standard implementations under timing attacks</article-title>
          ,
          <source>ACM Trans. Inf. Syst. Secur</source>
          .
          <volume>2</volume>
          (
          <year>1999</year>
          )
          <fpage>416</fpage>
          -
          <lpage>437</lpage>
          . URL: https://doi.org/10.1145/ 330382.330390. doi:
          <volume>10</volume>
          .1145/330382.330390.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>F.</given-names>
            <surname>Koeune</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Koeune</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-J.</given-names>
            <surname>Quisquater</surname>
          </string-name>
          , J. jacques
          <string-name>
            <surname>Quisquater</surname>
          </string-name>
          ,
          <article-title>A timing attack against Rijndael</article-title>
          ,
          <source>Technical Report</source>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>D. X.</given-names>
            <surname>Song</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Wagner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Tian</surname>
          </string-name>
          ,
          <article-title>Timing analysis of keystrokes and timing attacks on ssh</article-title>
          ,
          <source>in: Proceedings of the 10th Conference on USENIX Security Symposium - Volume 10, SSYM'01</source>
          ,
          <string-name>
            <given-names>USENIX</given-names>
            <surname>Association</surname>
          </string-name>
          , USA,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>R.</given-names>
            <surname>Jacob</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-J.</given-names>
            <surname>Lesage</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.-M. Faure</surname>
          </string-name>
          ,
          <article-title>Overview of discrete event systems opacity: Models, validation, and quantification</article-title>
          ,
          <source>Annual Reviews in Control</source>
          <volume>41</volume>
          (
          <year>2016</year>
          )
          <fpage>135</fpage>
          -
          <lpage>146</lpage>
          . URL: https: //www.sciencedirect.com/science/article/pii/S1367578816300189. doi:https://doi.org/ 10.1016/j.arcontrol.
          <year>2016</year>
          .
          <volume>04</volume>
          .015.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>C.</given-names>
            <surname>Keroglou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Ricker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Lafortune</surname>
          </string-name>
          ,
          <article-title>Insertion functions with memory for opacity enforcement</article-title>
          ,
          <source>IFAC-PapersOnLine</source>
          <volume>51</volume>
          (
          <year>2018</year>
          )
          <fpage>394</fpage>
          -
          <lpage>399</lpage>
          . URL: https://www.sciencedirect.com/science/ article/pii/S240589631830661X. doi:https://doi.org/10.1016/j.ifacol.
          <year>2018</year>
          .
          <volume>06</volume>
          . 331,
          <source>14th IFAC Workshop on Discrete Event Systems WODES</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>C.</given-names>
            <surname>Keroglou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Lafortune</surname>
          </string-name>
          ,
          <article-title>Embedded insertion functions for opacity enforcement</article-title>
          ,
          <source>IEEE Transactions on Automatic Control</source>
          <volume>66</volume>
          (
          <year>2021</year>
          )
          <fpage>4184</fpage>
          -
          <lpage>4191</lpage>
          . doi:
          <volume>10</volume>
          .1109/TAC.
          <year>2020</year>
          .
          <volume>3037891</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Y.-C. Wu</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Lafortune</surname>
          </string-name>
          ,
          <article-title>Enforcement of opacity properties using insertion functions</article-title>
          ,
          <source>in: 2012 IEEE 51st IEEE Conference on Decision and Control (CDC)</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>6722</fpage>
          -
          <lpage>6728</lpage>
          . doi:
          <volume>10</volume>
          .1109/CDC.
          <year>2012</year>
          .
          <volume>6426760</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>D. P.</given-names>
            <surname>Gruska</surname>
          </string-name>
          ,
          <article-title>Security and time insertion</article-title>
          ,
          <source>Proceedings of the 23rd Pan-Hellenic Conference on Informatics</source>
          (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>D. P.</given-names>
            <surname>Gruska</surname>
          </string-name>
          ,
          <article-title>Time insertion functions</article-title>
          ,
          <source>in: Proceedings CSMML</source>
          <year>2021</year>
          , to appear,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>D. P.</given-names>
            <surname>Gruska</surname>
          </string-name>
          ,
          <article-title>Process opacity for timed process algebra</article-title>
          , in: A.
          <string-name>
            <surname>Voronkov</surname>
          </string-name>
          , I. B.
          <string-name>
            <surname>Virbitskaite</surname>
          </string-name>
          (Eds.),
          <source>Perspectives of System Informatics - 9th International Ershov Informatics Conference, PSI</source>
          <year>2014</year>
          ,
          <article-title>St</article-title>
          . Petersburg, Russia, June 24-27,
          <year>2014</year>
          . Revised Selected Papers,
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>