<!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>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Privacy Preservation of Semantic Trajectory Databases using Query Auditing Techniques</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Despina Kopanaki</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nikos Pelekis</string-name>
          <email>npelekis@unipi.gr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dept. of Informatics, University of Piraeus</institution>
          ,
          <country country="GR">Greece</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dept. of Statistics and Insurance Science, University of Piraeus</institution>
          ,
          <country country="GR">Greece</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2017</year>
      </pub-date>
      <abstract>
        <p>Existing approaches that publish anonymized spatiotemporal traces of mobile humans deal with the preservation of privacy operating under the assumption that most of the information in the original dataset can be disclosed without causing any privacy violation. However, an alternative strategy considers that data stays in-house to the hosting organization and privacy-preserving mobility data management systems are in charge of privacy-aware sharing of the mobility data. Furthermore, human trajectories are nowadays enriched with semantic information by using background geographic information and/or by user-provided data via location-based social media. This new type of representation of personal movements as sequences of places visited by a person during his/her movement poses even greater privacy violation threats. To facilitate privacy-aware sharing of mobility data, we design a semantic-aware MOD engine were all potential privacy breaches that may occur when answering a query, are prevented through an auditing mechanism. Moreover, in order to improve user friendliness and system functionality of the aforementioned engine, we propose Zoom-Out algorithm as a distinct component, whose objective is to modify the initial query that cannot be answered at first due to privacy violation, to the 'nearest' query that can be possibly answered with 'safety'. Privacy-aware query engine; mobility data; anonymity; semantic trajectories.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        Nowadays, the ease of collecting and storing data from an
increasing variety of devices where positioning technologies
(GPS) are embedded along with their enhanced processing
capabilities, led inevitably to the desire of revealing useful
information from them. Alongside this progress, potential
breaches of individuals’ privacy came to the light. Space-time
‘fingerprints’ of each recording moving entity (i.e. trajectories)
may prove to be a dangerous tool in the hands of a malicious user.
The scientific community has proposed various approaches to
protect individual’s privacy ([
        <xref ref-type="bibr" rid="ref1">1</xref>
        ][
        <xref ref-type="bibr" rid="ref2">2</xref>
        ][
        <xref ref-type="bibr" rid="ref6">6</xref>
        ][
        <xref ref-type="bibr" rid="ref7">7</xref>
        ][
        <xref ref-type="bibr" rid="ref8">8</xref>
        ][
        <xref ref-type="bibr" rid="ref9">9</xref>
        ][
        <xref ref-type="bibr" rid="ref11">11</xref>
        ][
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]).
Most of the aforementioned studies, define raw trajectories as
sequences of points on a geometric space, focusing on their
spatiotemporal nature without complementing raw data with
additional information from the application context. However, the
      </p>
      <p>Distribution of this paper is permitted under the terms of the Creative
Commons license CC-by-nc-nd 4.0
Inspired by the work previously described and considering the
richer representation of semantic trajectories, we design a
querybased auditing mechanism that can effectively identify and block
a range of potential attacks that could lead to user identification or
tracking, for privacy-aware sharing of in-house semantic mobility
data. The proposed mechanism provides an answer if k-anonymity
principle is not violated w.r.t the user’s current history. Moreover,
we propose an algorithm, called Zoum-Out, which modifies the
original query that cannot be answered at first due to privacy
restrictions, to the most similar query that can be safely answered.
The algorithm generalizes space, time and/or semantic dimension
of one or more sub-queries w.r.t. to a distortion threshold.
Summarizing, in this paper we make the following contributions:
•
•
•</p>
      <p>We identify various types of attacks and thus privacy
violations that malevolent users may try to pursue when
querying the original semantic trajectory database.</p>
      <p>We design a query-based auditing mechanism that can
effectively identify and block a range of potential
attacks that could lead to user identification or tracking.
We propose Zoom-Out algorithm aiming at increasing
user friendliness of the proposed mechanism by
modifying the (original) query posed that cannot be
answered due to privacy violation, to the ‘nearest’
possible ‘safe’ query.</p>
      <p>The rest of the paper is structured as follows: Section 2 presents
related work. Section 3 introduces different types of attacks of a
malevolent user. Section 4 provides the auditing mechanism that
handles the previously described attacks as well as the Zoom-Out
algorithm. Finally, Section 5 concludes the paper.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>
        Methods that have been proposed so far to tackle the issue of
privacy-preserving mobility data publication mostly adopt the
principle of k-anonymity, which was originally proposed for
relational databases [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. k-anonymity principle is the most
common approach that has been adopted for the anonymization of
both relational and mobility data. For mobility data, it states that a
dataset must be anonymized so that every trajectory is
indistinguishable from at least k-1 other trajectories.
      </p>
      <p>
        Hoh and Gruteser [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] presented a data perturbation algorithm that
is based on path crossing. When two non-intersecting trajectories
are close enough, it generates a fake crossing in the sanitized
dataset to prevent adversaries from tracking a complete user's
trajectory. Terrovitis and Mamoulis [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] consider datasets as
sequences of places visited by users. Based on the assumption that
a malevolent user holds partial information of users’ trajectories, a
suppression technique is proposed that eradicates the least number
of places from a user’s trajectory so that the remaining trajectory
is k-anonymous.
      </p>
      <p>
        Abul et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] proposed a k-anonymity approach that relies on the
inherent uncertainty of moving objects whereabouts where a
trajectory is considered as a cylinder. The anonymity algorithm
identifies trajectories that lie close to each other in time, employs
space translation and generates clusters of at least k trajectories.
Each cluster of k trajectories forms an anonymity region and the
co-clustered trajectories can be released. To achieve space-time
translation, the authors proposed W4M [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], which uses a different
distance measure that allows time-warping.
      </p>
      <p>
        Nergiz et al. [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] proposed a coarsening strategy to generate a
sanitized dataset that consists of k-anonymous sequences. The
algorithm first generalizes a set of trajectories into a set of
sequences of k-anonymized regions, reconstructs, consolidates the
trajectories of the original dataset into clusters of k and
anonymizes the trajectories in each cluster. Monreale et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
proposed another anonymization approach that is based on the
combination of spatial generalization and k-anonymity principle.
The geographical area covered by the trajectories belonging to the
dataset is partitioned into sub-areas. The original trajectories are
then generalized and transformed so as to satisfy k-anonymity
principle.
      </p>
      <p>
        Mahdavifar et al. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] introduced the idea of non-uniform privacy
requirements, whereby each trajectory is associated with its own
privacy level indicating the number of trajectories it should be
indistinguishable from. Kopanaki et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] introduced the problem
of Personalized (K,∆)-anonymity where user-specific privacy
requirements are used to avoid over-anonymization and decrease
information distortion. They proposed efficient modifications to
state-of-the-art (k,δ)-anonymization algorithms by introducing
techniques built upon users’ personalized privacy settings and
trajectory segmentation.
      </p>
      <p>
        Recently, in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] authors faced the problem of anonymizing
semantic trajectories. To release a safe version of a semantic
trajectory dataset, they propose a method that generalizes
sequences of visited places based on a privacy place taxonomy.
On the other hand, in several sharing scenarios data should stay
in-house to the hosting organization and the information must
remain private. This is the case when a data holder is not willing
or is not able due to regulations to publish the entire dataset.
Assuming that at least part of the data has to become available to
possibly untrusted third parties for analysis purposes, a
mechanism is needed in order to ensure that no sensitive
information will be released during this process. Along this
direction, methodologies have been proposed for disclosure
control in statistical databases [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. These approaches support only
count and/or sum queries, since no other information can be made
available to the inquirer.
      </p>
      <p>
        Gkoulalas-Divanis and Verykios [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] first described the design
principles of a query engine that protects user privacy by
generating fake trajectories. The idea behind [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] is that malevolent
users who query the trajectory database should not be able to
discover (with high confidence) any real trajectory that is returned
as part of the answer set of their query, while they can use the
returned data to support their analytic tasks.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] and [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] authors extend and developed a privacy-aware
query engine along with a benchmark framework. The proposed
engine audits queries for trajectory data to block potential attacks
to user privacy, supports range, distance, and k-nearest neighbor
spatial and spatiotemporal queries, and preserves user anonymity
in answers to queries by returning realistic fakes trajectories,
while protecting user-specific sensitive locations.
      </p>
      <p>
        Finally, in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] authors proposed a data stream management
system aiming at preserving users’ privacy by enforcing
Hippocratic principles. Limited collection, limited use and limited
disclosure of data are the main privacy requirements that the
system implements.
      </p>
      <p>To the best of our knowledge, this is the first work that proposes a
query auditing mechanism for semantically-enriched mobility
data, able to provide answers while ensuring that no personal
information will be disclosed to untrusted third parties.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Privacy Attacks</title>
      <p>The main purpose of every attack of a malevolent is to broaden
her knowledge about an individual or a situation that interests her.
This occurs when the attacker raises her confidence about an
event that may be related to an individual who is the ‘target’ or a
situation for which she wishes to acquire more specific
knowledge. Usually, a malevolent has prior knowledge, i.e. time,
place, type of event and/or semantics (or any possible
combination) about an individual.</p>
      <p>In our setting, each query may contain one or more sub-queries
(i.e. standalone spatiotemporal range queries with key words
constrains within another query) . Moreover, overlapping queries
is a sequence of at least two queries posed by a user, having as a
characteristic that the criteria of these successive questions are
overlapping. We assume that the queries differ only in one
dimension (space / time / semantics) or in the number of the
subqueries that each one contains.</p>
      <p>User Identification Attack. In this attack the identity of a user can
be revealed by posing overlapping queries in spatial and/or
temporal dimension. The attacker poses a query and if the number
of trajectories is at least k, proceeds with one or more queries
modifying each time only the same dimension such that every
time the new query contains the previous one.</p>
      <p>Let’s assume that a user poses query Q1 that contains n
trajectories where n³k and then Q2 which returns as an answer
n+m trajectories, where m&lt;k. The malevolent may conclude that
the area corresponding to the difference between Q1 and Q2
contains m trajectories which is less than threshold k, thus privacy
violation is occurred.</p>
      <p>Consider the example depicted in Figure 1. A user poses a query
Q1: Find people starting from area A between [8.00-8.30am] and,
then, stop at area B between [9.15-11.30pm]. This query contains
two different sub-queries, each one able to provide an answer if
posed independently from the other. The same user poses query
Q2: Find people starting from area A’ between [8.00-8.30am]
and, then, stop at area B between [9.15-11.30pm]. The answer of
Q1 contains 7 trajectories while the answer of Q2 contains 8
trajectories. Thus, the malevolent can easily infer that only person
appears in the area A’-A. By combining this knowledge with
additional information, the malevolent can identify this person.
In the same line, assume the following example that takes into
account the semantic dimension. The user poses query Q1 and the
answer corresponds to a specific spatiotemporal area that includes
7 stop episodes. During Q2 the malevolent maintains the criteria of
Q1 but also adds tag=‘work’. The output of Q2 contains 6
trajectories. The malevolent can conclude that one entity was not
working.</p>
      <p>Sequential Tracking Attack. In this attack the user is tracked
down through her trajectory by a set of focused queries. A
malevolent poses a sequence of queries, which differ only in the
number of the sub-queries that each one contains. Between two
consecutive queries, assume that Q1 contains n sub-queries and Q2
contains n+m, where m³1. To achieve an attack the malevolent
should know that her target participates in n sub-queries. Then the
malevolent may compare the number of the trajectories that
answer the query consisting of n sub-queries in relation to n+m. If
the difference of the number of trajectories that are participating
in the answer of the two queries is less than k, the malevolent may
conclude sensitive information about the target.</p>
      <p>Consider the following example. The malevolent is aware of a
target home and working address and the goal is to learn if the
target slept at her home. Assume that k=4. The user poses query
Q1 with a sub-query that for sure contains the target (how many
people stayed during the night in area A and during the day were
working in area B). The number of trajectories that fulfil Q1 is 6.
Q2 contains the same sub-queries with Q1 along with a new
subquery that asks for those that returned after work back to area A
during the night. If the answer of Q2 returns 5 trajectories, then the
malevolent may assume that the target did not spend the night at
home. If the result again was 6, then she would be certain that the
target returned to her home. However, by posing two queries her
confidence was increased.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Attack Prevention</title>
      <p>To prevent the previously described attacks, an auditing
mechanism is required:
• to ensure that k-anonymity principle is not violated before
answering each query;
• to protect sensitive episodes that include sensitive
information about entities and should not be disclosed to the
attackers;
• to properly modify the original query if k-anonymity
principle is violated, so as to make it acceptable;
• to allow the data owner to have knowledge about the extent
of the data leakage by examining the history of user queries
to the database.</p>
    </sec>
    <sec id="sec-5">
      <title>4.1 Sensitive Episodes</title>
      <p>Sensitive episodes correspond to known locations that contain
particularly sensitive information and can expose the identity of a
user. We call such locations sensitive for a user as no information
should be disclosed to the attackers. In order to deal with
userdefined sensitive episodes, the auditing mechanism initially does
not include the sensitive episodes as part of the answer set of the
query. If the number of non-sensitive episodes exceeds threshold k
then sensitive episodes are incorporated in the answer set.</p>
    </sec>
    <sec id="sec-6">
      <title>4.2 Zoum-Out Algorithm</title>
      <p>When a user poses a query to the database, she is willing to gain
knowledge about whether there are semantic trajectories that are
answering the query w.r.t. some criteria. If the number of the
semantic trajectories composing the result set are less than the
anonymity threshold k, the query is not safe to be answered. This
ensures a first level of privacy protection.</p>
      <p>The main idea of the proposed approach is that instead of not
providing an answer when k-anonymity principle is violated, an
auditing mechanism should try to answer the query posed by a
user in any case. In other words, the mechanism will provide an
answer of the most ‘similar’ query to the original that fulfills
kanonymity principle by relaxing conditions via generalization.
Query relaxation enlarges the search range to include additional
information. The output of this process is like a generalized query
in one or more possible dimensions. Put differently, a user seeks
to query an area but the mechanism resolves it for a zoomed-out
area that is generalized up to a permissible degree of analysis.
The main goal of implementing such an approach is to increase
user friendliness and improve database functionality. A user can
gain information without posing consecutive queries expanding
the criteria set until an answer is provided. To achieve this the
mechanism allows the generalization of one or more criteria, of
the sub-queries that constitute the original query. The
generalization may occur in the spatial, the temporal or even the
semantic dimension.</p>
      <p>Algorithm 1. Zoom-Out
Input: (1) anonymity threshold k, (2) initial query with sub-queries Q
= &lt;SQ1, SQ2,…, SQn&gt;, (3) a semantic trajectory database D, (4)
distortion limit dist, (5) array H[tr_id, freq, SQ1, SQ2, …, SQn]
Output: Q’= &lt;SQ’1, SQ’2,…, SQ’n&gt;
1. Q’ ¬ Q; H ¬ Æ;
2. Ntr ¬ Count(Q’)
3. repeat
4. Something_Changed ¬ False;
5. for i=1 to n do
6. Execute_Query(in SQ’i out tr_ids)
7. Fill_Help_Table(in H, tr_ids out H)
8. end for
9. Find_Freq_Position(in H, n out i)
10. episode_found ¬ False
11. repeat
12. Compute_Distortion_Units(in out episode_found, H, i)
13. Select_best_candidate_episode(in H, dist, i out tr_id,
Let’s assume that the answer of query Q consists of less than k
trajectories. The output of the algorithm is a modified query Q’. If
the modification process is successful, then the execution of query
Q’ will result at least k trajectories. The sets of subqueries in Q
and Q’ are of the same size. Each sub-query of Q’ is either the
same or generalized w.r.t. the corresponding sub-query contained
in Q.</p>
      <p>An obvious approach would be to apply the aforementioned
method only in case where a query cannot be answered marginally
w.r.t. to k-anonymity threshold. A threshold should then be
required based on which the mechanism would be activated every
time that the query could not be answered. In such a case where
the mechanism is activated only if few trajectories are missing
from the answer set, privacy breach may occur. A malevolent user
can easily assume that the modified query does contain certain
number of additional trajectories within the returned extra area.
An obvious solution is to apply Zoom-Out algorithm regardless of
the number of trajectories that are needed to reach k-anonymity
principle.</p>
      <p>The goal of the algorithm is to modify one or more sub-queries to
provide an answer to the user. To enable the algorithm to decide
which episode is preferable to be included in the answer of the
modified query, the algorithm should be able to compare the
distortion (the specific definition of a distortion metric is
orthogonal to our approach) that is caused on each sub-query
when trying to include two or more candidate episodes. A unit
that calculates the distortion caused due to the generalization of
one or more dimensions on one or more sub-queries is required.
The distortion should be as low as possible to maintain the
information that the user required when posing the original query.
Zoom-Out algorithm takes as input a semantic trajectory database,
the original query posed by a user that cannot be answered,
anonymity threshold k and a matrix H. The output of the
algorithm is the modified query along with the corresponding
subqueries.</p>
      <p>The algorithm after the initialization process (lines 1-2) continues
with a loop phase where each sub-query of the original query is
executed individually and the trajectories that comprise each one
are retrieved (line 6). Each trajectory id of these trajectories is
inserted into a matrix (H) along with the frequency indicating its
appearance (freq) in all sub-queries (line 7). Thus, H is a tuple
containing trajectory id (traj_id), frequency (freq) and the
subqueries (SQi). The maximum value that the counter (freq) can take
in each record is equal to the number of the sub-queries. Consider
as an example a query with three sub-queries, the counter for each
trajectory in matrix H will receive a value ranging from 1 up to 3.
If the counter receives the maximum value, the episodes of this
trajectory are identified in all sub-queries, thus this trajectory is
returned as an answer to the overall query.</p>
      <p>Based on matrix H, the algorithm detects the trajectory or
trajectories with frequency (i.e., number of sub-queries) less than
the maximum possible frequency but at the same time with the
highest value among the other trajectories in the matrix (line 9).
Subsequently, a loop starts that ensures that if no episode is found,
the algorithm will search the trajectory that has the subsequent
smaller frequency. This loop ends either when permissible
episodes can be integrated, or if all the remaining trajectories from
the matrix have been investigated and no episode is found (line
15). To define the most appropriate candidate episodes, the
algorithm employs a process called Compute_Distortion_Units. A
metric function is used that calculates the distortion caused in a
sub-query in order to be modified so as include an episode from
the trajectory. In case we have a distortion unit greater than a
distortion limit (user-defined), the episode takes the tag INF and
the algorithm proceeds with the next trajectory. Under these
conditions the algorithm selects as preferable the episode that has
the lowest distortion unit value (line 13).</p>
      <p>As a next step, the sub-query is modified in one or more
dimensions to contain the episode that minimizes the distortion
(line 17). The repetition ends (line 19) either if k trajectories have
frequency equal to the number of sub-queries or if no episodes
were integrated.</p>
      <p>During the generalization process of the sub-queries, a privacy
breach may occur. Let’s assume that the spatial dimension of the
area that the query covers is enlarged so as to contain exactly k
episodes. The spatial generalization should be the minimum
possible in order to keep the distortion caused from this process as
low as possible. To achieve this, most of the episodes that are
added will appear in the borders of the modified area. The
malevolent user thus will be more confident that between the
query posed and the modified query will be at least one episode.
In order to avoid such a violation, the modified query is expanded
on each side by a randomly generated percentage R (line 21).
Finally, we get as output the final modified query along with its
sub-queries (line 22).</p>
    </sec>
    <sec id="sec-7">
      <title>4.3 Query Auditing</title>
      <p>The main goal of the Query-Auditing algorithm is to prevent any
privacy violation that may occur. The input of the algorithm is the
anonymity threshold k, the initial query posed by the user along
with the corresponding sub-queries, a semantic trajectory database
D and the id of the user posing the query. The algorithm first
executes query Q and gets the number of trajectories that belong
to the answer set (line 1). Then, the episodes that are considered
as sensitive are defined and removed from the answer set (line 2).</p>
      <p>ep_id)
14. i ¬ i+1
15. until episode_found or EOF
16. if episode_found then
17. Embed_New_Episode(in H, tr_id, ep_id, in out SQ’i,</p>
      <p>Something_Changed)
18. Νtr ¬ Count(Q’)
19. until (not Something_Changed) or (Ntr=k)
20. Compute_Random_Number(in Rmin, Rmax out R)
21. Compute_New_Episodes(in Q’, R out Q’)
22. return Q’
Algorithm 2. Query Auditing Algorithm
Input: (1) anonymity threshold k, (2) initial query with sub-queries, Q
= &lt;SQ1, SQ2,…, SQn&gt;, (3) a semantic trajectory database, D, (4) user id,
uid
Output: FQ
1. FQ ¬ Execute Q
2. Find all sensitive episodes, remove them from FQ
3. if ||FQ||&lt;k then
4. Q ¬ Zoom-Out (k, Q, D, dist, H[tr_id, freq, SQ1, SQ2, …, SQn])
5. if Q = Q then return false
6. else
7. for each SQi Q do
8. for each Qj D where user_id=uid do
9. for each SQjm Qj do
10. if SQi overlaps SQjm then
11. if SQ# − SQ%&amp; ≥ k then
12. QD = QD U Create_dummy_query (SQi - SQjm)
13. else
14. return false
15. end for
16. end for
17. end for
18. Add sensitive episodes to FQ
19. QD ¬ QD U Q
20. return FQ
If the number of episodes is less than k, Zoom-Out algorithm,
previously described, is called to modify the original query and
try to provide an answer (line 4). If Zoom-Out algorithm is not
able to modify the query w.r.t. a distortion threshold, no answer is
provided to the user and the algorithm ends (lines 5). Contrary, if
the original query Q or the modified query F_Q have equal or
more than k episodes, the auditing mechanism continues to further
investigate the query based on user’s history. Note that in this
approach, we assume that sub-queries are totally overlapping.
Approaches that have been proposed so far, do not provide any
answer when two queries posed by the same user are overlapping
to prevent any privacy violation. To increase user friendliness and
system functionality, we argue that the previous approach is very
conservative and the algorithm should proceed to further
examination before denying an answer. Let’s assume that k=3, a
user poses query Q1: A®B®C®D which is satisfied by 7
semantic trajectories. The same user poses Q2: A®B and the
answer contains 4 trajectories. Since the difference of these two
queries that corresponds to query C®D is equal to k, no privacy
violation can be caused. However, the auditor even though has not
directly reply to the query C®D, the information has been
inferred. To prevent future violation, the algorithm generates a
fake query that is stored in the database and corresponds to the
difference of the two queries Q1-Q2.</p>
      <p>The auditor proceeds by comparing every sub-query of Q with all
the sub-queries that belong to queries posed from the user in the
past. Every time two sub-queries are overlapping, the auditor
checks if the number of trajectories belonging to the difference of
the corresponding sub-queries is equal or greater than k (lines
711). If so, a dummy query corresponding to the difference is
created (line 12). Otherwise, the algorithm ends and no answer is
provided to the user (line 14). Finally, if the query is executed, the
sensitive episodes are added to the answer, the query is stored in
the database and the answer is returned to the user (lines 18-20).</p>
    </sec>
    <sec id="sec-8">
      <title>5. CONCLUSIONS</title>
      <p>In this paper, we proposed an envisioned query engine able to
provide safe answers to queries posed by users in semantic
trajectory databases. Different types of privacy attacks have been
addressed and an effective auditing mechanism able to prevent
privacy braches have been proposed. Finally, Zoom-Out algorithm
is able to modify an initially not acceptable query to the closest
one that can be safely answered, thus increasing the user
friendliness of the engine. As a future work, we plan to finalize
the implementation of the proposed query engine and testbed its
utility.</p>
    </sec>
    <sec id="sec-9">
      <title>6. ACKNOWLEDGMENTS</title>
      <p>The publication of this paper has been partly supported by the
University of Piraeus Research Center.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Abul</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bonchi</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nanni</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2008</year>
          ).
          <article-title>Never walk alone: Uncertainty for anonymity in moving objects databases</article-title>
          .
          <source>In Proc. of International Conference on Data Engineering</source>
          , ICDE, pp.
          <fpage>376</fpage>
          -
          <lpage>385</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Abul</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bonchi</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nanni</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2010</year>
          ).
          <article-title>Anonymization of moving objects databases by clustering and perturbation</article-title>
          .
          <source>Information Systems</source>
          ,
          <volume>35</volume>
          (
          <issue>8</issue>
          ), pp.
          <fpage>884</fpage>
          -
          <lpage>910</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Adam</surname>
            ,
            <given-names>N.R.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Worthmann</surname>
            ,
            <given-names>J. C.</given-names>
          </string-name>
          , (
          <year>1989</year>
          ).
          <article-title>Security-control methods for statistical databases: A comparative study</article-title>
          .
          <source>ACM Computing Surveys</source>
          ,
          <volume>21</volume>
          (
          <issue>4</issue>
          ):
          <fpage>515</fpage>
          -
          <lpage>556</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Chow</surname>
            ,
            <given-names>C. Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mokbel</surname>
            ,
            <given-names>M. F.</given-names>
          </string-name>
          (
          <year>2011</year>
          ).
          <article-title>Trajectory privacy in location-based services and data publication</article-title>
          .
          <source>ACM SIGKDD Explorations Newsletter</source>
          ,
          <volume>13</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>19</fpage>
          -
          <lpage>29</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Gkoulalas-Divanis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Verykios</surname>
            ,
            <given-names>V. S.</given-names>
          </string-name>
          , (
          <year>2008</year>
          )
          <article-title>A privacy-aware trajectory tracking query engine</article-title>
          .
          <source>SIGKDD Explorations</source>
          ,
          <volume>10</volume>
          (
          <issue>1</issue>
          ):
          <fpage>40</fpage>
          -
          <lpage>49</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Hoh</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gruteser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2005</year>
          ).
          <article-title>Protecting location privacy through path confusion</article-title>
          .
          <source>In Proc. of SecureComm</source>
          , pp.
          <fpage>194</fpage>
          -
          <lpage>205</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Kopanaki</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Theodossopoulos</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pelekis</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kopanakis</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Theodoridis</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          , (
          <year>2016</year>
          ).
          <article-title>Who Cares about Others' Privacy: Personalized Anonymization of Moving Object Trajectories</article-title>
          .
          <source>In Proc. of the 19th International Conference on Extending Database Technology</source>
          ,
          <fpage>425</fpage>
          -
          <lpage>436</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Mahdavifar</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abadi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kahani</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mahdikhani</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          (
          <year>2012</year>
          ).
          <article-title>A clustering-based approach for personalized privacy preserving publication of moving object trajectory data</article-title>
          .
          <source>In Proc. of Network and System Security</source>
          , pp.
          <fpage>149</fpage>
          -
          <lpage>165</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Monreale</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Andrienko</surname>
            ,
            <given-names>G. L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Andrienko</surname>
            ,
            <given-names>N. V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giannotti</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pedreschi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rinzivillo</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wrobel</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2010</year>
          ).
          <article-title>Movement data anonymity through generalization</article-title>
          .
          <source>Transactions on Data Privacy</source>
          ,
          <volume>3</volume>
          (
          <issue>2</issue>
          ), pp.
          <fpage>91</fpage>
          -
          <lpage>121</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Monreale</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Trasarti</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pedreschi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Renso</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bogorny</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          , (
          <year>2011</year>
          ).
          <article-title>C-safety: a framework for the anonymization of semantic trajectories</article-title>
          .
          <source>Transactions on Data Privacy</source>
          ,
          <volume>4</volume>
          (
          <issue>2</issue>
          ), pp.
          <fpage>73</fpage>
          -
          <lpage>101</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Nergiz</surname>
            ,
            <given-names>M. E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Atzori</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Saygin</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          (
          <year>2008</year>
          ).
          <article-title>Towards trajectory anonymization: a generalization-based approach</article-title>
          .
          <source>In Proc. of the ACM International Workshop on Security and Privacy in GIS and LBS</source>
          , SIGSPATIAL pp.
          <fpage>52</fpage>
          -
          <lpage>61</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Parent</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Spaccapietra</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Renso</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Andrienko</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Andrienko</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bogorny</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Damiani</surname>
            ,
            <given-names>M.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>GkoulalasDivanis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Macedo</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pelekis</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Theodoridis</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          , (
          <year>2013</year>
          ).
          <article-title>Semantic trajectories modeling and analysis</article-title>
          .
          <source>ACM Computing Surveys (CSUR)</source>
          ,
          <volume>45</volume>
          (
          <issue>4</issue>
          ), p.
          <fpage>42</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Pelekis</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gkoulalas-Divanis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vodas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kopanaki</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Theodoridis</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          , (
          <year>2011</year>
          ).
          <article-title>Privacy-aware querying over sensitive trajectory data</article-title>
          .
          <source>In Proc. of the 20th ACM international conference on Information and knowledge management</source>
          , pp.
          <fpage>895</fpage>
          -
          <lpage>904</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Pelekis</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gkoulalas-Divanis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vodas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Plemenos</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kopanaki</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Theodoridis</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          , (
          <year>2012</year>
          ).
          <article-title>Private-HERMES: a benchmark framework for privacy-preserving mobility data querying and mining methods</article-title>
          .
          <source>In Proc. of the 15th International Conference on Extending Database Technology</source>
          , pp.
          <fpage>598</fpage>
          -
          <lpage>601</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Sweeney</surname>
            ,
            <given-names>L</given-names>
          </string-name>
          (
          <year>2002</year>
          )
          <article-title>k-anonymity: a model for protecting privacy</article-title>
          .
          <source>International Journal on Uncertainty, Fuzziness and Knowledge Based Systems</source>
          ,
          <volume>10</volume>
          (
          <issue>5</issue>
          ), pp.
          <fpage>557</fpage>
          -
          <lpage>570</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Terrovitis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mamoulis</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          (
          <year>2008</year>
          ).
          <article-title>Privacy preservation in the publication of trajectories</article-title>
          .
          <source>In Proc. of International Conference on Mobile Data Management MDM</source>
          , pp.
          <fpage>65</fpage>
          -
          <lpage>72</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Wu</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xiang</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ng</surname>
            ,
            <given-names>W.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wu</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Xue</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , (
          <year>2014</year>
          ).
          <article-title>HipStream: A Privacy-Preserving System for Managing Mobility Data Streams</article-title>
          .
          <source>In 2014 IEEE 15th International Conference on Mobile Data Management</source>
          , pp.
          <fpage>360</fpage>
          -
          <lpage>363</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>