<!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>Certification and Authentication of Data Structures</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, Boston University</institution>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Computer Science, Brown University</institution>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Roberto Tamassia</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>We study the design of secure protocols for efficiently verifying the results of queries on data structures that are outsourced to untrusted servers, where answers are processed over relational databases in the RAM model of computation. We introduce a new authentication framework that, by design and through the new concept of query certification, aims at verifying the validity of the answer, rather than each step of the algorithm that generates the answer. Our framework efficiently reduces the authentication of general queries to that of set-membership queries, and provides sufficient conditions for achieving super-efficient answer verification (in time asymptotically less than the time spent to answer the query).</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>The emergence of cloud computing has introduced new data management and
dissemination models, where data is typically processed by untrusted, often unknown,
machines. In this distributed computing setting, we would like to assure users that
computations performed in the cloud have the same output as if they were locally executed.</p>
      <p>In this paper, we study the design of secure and efficient protocols for proving the
correctness of computations on data that is outsourced to remote untrusted servers.
Here, a data owner outsources a database to a third-party responder who answers
incoming queries on it. Assuming that the responder may erroneously or maliciously
modify the query results, our goal is to augment the data structure and the associated
protocols so that end-users receive efficiently verifiable proofs of the returned answers.</p>
      <p>
        Verifying the output of algorithms has been the subject of research in the context of
correctness checking, including work on the certification of programs, data structures,
and graph and geometric algorithms (e.g., [
        <xref ref-type="bibr" rid="ref17 ref30 ref6 ref7">6, 7, 17, 30</xref>
        ]). However, these schemes do not
fully solve our authentication problem as they protect users only against implementation
errors.
      </p>
      <p>
        Extensive research over the last decade has led to the development of
authenticated data structures (e.g., [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]), where a data structure is augmented with the use
of cryptographic primitives to store authentication information that allows to compute
proofs of answers to queries. Research has initially focused on authenticated
dictionaries (e.g., [
        <xref ref-type="bibr" rid="ref10 ref20 ref29 ref3 ref31">3, 10, 20, 29, 31</xref>
        ]). Various authentication schemes have been proposed for
database operations (e.g., [
        <xref ref-type="bibr" rid="ref1 ref12 ref15 ref19 ref21 ref23 ref25 ref33 ref5">1, 5, 12, 15, 19, 21, 23, 25, 33</xref>
        ]) and for geometric and graph
search problems (e.g., [
        <xref ref-type="bibr" rid="ref13 ref16 ref26 ref27 ref34">13, 16, 26, 27, 34</xref>
        ]). These schemes verify the results of
specific types of queries using custom constructions whose security is proved with ad hoc
methods.
      </p>
      <p>
        Preliminary progress has also been made on the design of more general
authentication techniques for searching in directed acyclic graphs [
        <xref ref-type="bibr" rid="ref13 ref16">13, 16</xref>
        ] and verifying certain
search algorithms [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. However, these methods share the following characteristics:
they operate in the pointer machine model of computation (i.e., queries involve searches
in linked data structures); they verify step by step the computation that generates the
answer (i.e., the entire search path in the data structure); and they provide solutions only
for the static case (i.e., no updates are allowed in the data set). Therefore, the resulting
protocols are usually less practical and possibly more costly than needed.
      </p>
      <p>In this work, we propose an authentication framework that provides new techniques
for systematically building efficient and secure data authentication schemes. We
depart from previous approaches by (1) decoupling the answer-generation process and the
answer-verification process in a general query model over dynamic data; and (2)
achieving the separation of the algorithmic and cryptographic components in the design of
data authentication schemes. Our main result is that a very general class of query types
can be authenticated securely and without loss of efficiency.</p>
      <p>We provide a formal definition for the problem of verifying query answers through
query authentication schemes in a setting where the (honest) data owner and the
(malicious) query responder are distinct entities, and where end-users do not trust (the
authenticity of) the answers to their queries. Aiming at general results, we use the RAM
computational model as well as a general data type and query model. The central idea in
our framework is as follows: in contrast to approaches that authenticate the execution of
the algorithm that answers a query, we propose an answer-based approach where only
the information that is necessary for the answer verification is being authenticated.</p>
      <p>
        To achieve our goal, and inspired by certifying algorithms (e.g., [
        <xref ref-type="bibr" rid="ref17 ref7">7, 17</xref>
        ]), we
introduce the concept of query certification, which models answer verification in the
clientserver model and in an information-theoretic sense (i.e., the server cannot cheat the
client). In particular, a certification data structure for a query type defines information
and corresponding algorithms that are sufficient to verify the correctness of the answer
to any concrete query. We then identify the inherent relationship between query
certification and query authentication, and put forward a new approach for data
authentication. We show that for any query type, we can build an authenticated data structure that
provides authenticated queries in the bounded computational model (i.e., under some
hardness assumptions, the responder cannot cheat a user) by first designing a
certification data structure for the same query type and then applying simple cryptographic
constructions to its functionality. Our framework thus achieves modularity by separating
the algorithmic from the cryptographic design considerations: to build an authenticated
data structure, one can first simply design a related certification data structure, which,
in turn, is automatically transformed into a query authentication scheme.
      </p>
      <p>
        Moreover, this transformation of a certification data structure into an authenticated
data structure satisfies an important property: to verify an answer to a general query,
the authenticated data structure can only use a query authentication scheme for
setmembership queries, that is, protocols that verify membership in sets (actually, only
positive answers to these queries). To show this property, we introduce the concept of
query reducibility in data authentication. Informally, we say that query of type A is
authentically reduced to query of type B if a query authentication scheme for B leads to
a query authentication scheme for A. We thus show that any query problem over
relational databases is authentically reduced to the fundamental set-membership problem in
a way that preserves efficiency. The usefulness of this reduction stems from the fact that
several efficient cryptographic constructions exist for set-membership query
authentication schemes, including Merkle trees [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], distributed Merkle trees [
        <xref ref-type="bibr" rid="ref32 ref9">9, 32</xref>
        ], one-way
accumulators [
        <xref ref-type="bibr" rid="ref22 ref4">4, 22</xref>
        ], and authenticated skip lists [
        <xref ref-type="bibr" rid="ref11 ref28 ref31 ref8">8, 11, 28, 31</xref>
        ] and hash tables [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ]).
      </p>
      <p>
        Finally, our framework yields a method for achieving super-efficient data
authentication, where verifying the answer is asymptotically faster than answering the query.
Indeed, although the above completeness result is proven by verifying the query-answering
algorithm (thus extending previous possibility results [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] to general queries over
dynamic data), we demonstrate that super-efficient certification structures exist for certain
query types. This allows us to exploit the computational gap that is often observed
between answering a query and verifying its answer (see, e.g., [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]), and to leverage
existing results on correctness checking in data authentication. Overall, super-efficient
verification can be achieved in our framework by designing new super-efficient certification
structures, or by constructing new cryptographic primitives for optimal set-membership
verification, or by improving on both directions.
      </p>
      <p>The rest of this paper is organized as follows. In Section 2, we introduce certification
data structures, which model answer testability, a core concept in our work, and provide
a constructive proof of their existence. In Section 3, we describe query authentication
schemes. In Section 4, we present our main possibility results for data authentication
and, in Section 5, we present some applications of our framework.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Certification Data Structures</title>
      <p>
        A (structured) data set S = (E , R) consists of: (i) a collection E = {E1, . . . , Et} of
sets of data elements such that, for 1 ≤ i ≤ t, set Ei is a subset of a universe Ui, and
(ii) a collection R = {R1, . . . , Rk} of indexed sequences of tuples of data elements
such that, for 1 ≤ i ≤ k, sequence Ri = (Ri[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], . . . , Ri[mi]) consists of mi distinct
pi-tuples from Ej1 × . . . × Ejpi , where 1 ≤ j1 ≤ . . . ≤ jpi ≤ t and pi &lt; p for some
t
integers p and mi. The size n of data set S = (E , R) is defined as n = Pi=1 |Ei|. Also,
we assume that t, k and p are constants (with respect to n).
      </p>
      <p>Our data model shares concepts from the relational database model using indexed
sequences of tuples, i.e., each member Ri of R is an array of tuples, where each
tuple can be indexed by an integer. Thus, very general data organization and algorithmic
paradigms are captured. For instance, a graph G = (V, E) may correspond to data set
SG = (E , R), where E = V and R consists of a single sequence of indexed pairs
representing relation E (edges in G). More complex graphs, e.g., with edge directions,
weights, costs or associated data elements, can be represented by appropriately
including new primitive data-element sets in E and corresponding sequences in R describing
the structure of data elements as well as various relations among them.</p>
      <p>A query operation QS on data set S = (E , R) is a computable function QS : Q →
AS , where Q is the query space (the set of all possible queries q of specific type that
can be issued about S) and AS is the answer space (the set of all possible answers to
queries on S drawn from Q). The answer of a query q ∈ Q under QS is QS (q) ∈ AS .
An element a ∈ AS of the answer space is the correct answer for query q if and only
if QS (q) = a. The above description captures general query operations on data sets
that are based on relations. The only requirement is that any query in the query space
is mapped to a unique answer in the answer space and that any answer corresponds to
some query.1</p>
      <p>For example, if SG = (E , R) represents a subdivision of the plane into the polygons
induced by the vertices and edges of a planar graph G embedded in the plane, the point
location query operation maps a point in the plane (query) to the unique element of the
subdivision (region, edge, or vertex) containing it (answer).</p>
      <p>Regarding the complexity of query answering, we only require that query operation
QS is efficiently computable. Typically, function QS is evaluated on query q ∈ Q
by an algorithm that operates over S through a data structure that supports queries
in Q. A query data structure D(QS ) for a query operation QS : Q → AS on data set
S = (E , R) consists of a structured data set (EQ, RQ), such that E ⊂ EQ and R ⊂
RQ and an algorithm Answer, which on input a query q ∈ Q and data set (EQ, RQ),
returns QS (q) ∈ AS in time polynomial in n and |q| by accessing and processing
tuples in R. We write D(QS ) = (EQ, RQ, Answer). Given input query q, algorithm
Answer operates over S through the use of D(QS ): by processing relations in RQ,
Answer accesses relations in R, evaluates conditions over elements in S and produces
the answer.</p>
      <p>
        For example, for the point location algorithm based on the chain method [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], data
set (EQ, RQ) represents a two-level search structure; here, data set SG = (E , R)
includes information about the regions defined by the embedded planar graph G.
      </p>
      <p>A data set S is static if it stays the same over time and dynamic if it evolves through
update operations performed on S. An update operation US for S is a function that
given an update y ∈ Y, Y being the set of all possible updates, results in changing one
or more data elements in E and one or more tuples in R. If S is static (resp. dynamic),
data set (EQ, RQ) can be constructed (resp. updated) by some algorithm ConstrQ (resp.
UpdateQ) that runs on input S (resp. S and y ∈ Y) in polynomial time in n.</p>
      <p>Our data querying model achieves generality by combining the expressiveness of
relational databases with the power of the RAM computation model. By using
indexannotated relations, complex data organizations are easily represented and accessed.
For instance, indirect addressing is supported by treating indexes as a distinct data type
which is included in E . Thus, our model strictly contains the pointer machine model.</p>
      <p>We now explore the decoupling of query answering and answer verification. We
start by defining the notion of answer testability, formally expressed through a
certification data structure. This notion captures the following property in data querying:
query operations on any data set return verifiable answers that can be tested to be
cor1 Unique answers are used without loss of generality as we can appropriately augment the query
space to include the index of the answer (according a fixed ordering) that we wish to obtain.
rect given a (minimal) subset of specially selected relations over elements of the data
set. In essence, queries are information-theoretically certified to return valid answers.
Definition 1 (Certification Data Structure). Let D(QS ) = (EQ, RQ, Answer) be a
query data structure for query operation QS : Q → AS on data set S = (E , R) of
size n. A certification data structure for S with respect to D(QS ) is a triplet C(QS ) =
((EC , RC ), Certify, Verify), where (EC , RC ), called the certification image of S, is a
structured data set and Certify and Verify are algorithms with the following properties:
Answer tests: On input query q ∈ Q and data sets (EQ, RQ) and (EC , RC ), algorithm
Certify returns answer a = QS (q) and an answer test τ , which is a sequence of
pairs (i, j), each indexing a tuple Ri[j] of RC . Answer test τ defines a subset
RC (τ ) ⊆ RC , called the certification support of answer a.</p>
      <p>Answer testability: On input query q ∈ Q, data set (EC , RC ), answer a ∈ AS and
answer test τ , algorithm Verify accesses and processes only relations in RC (τ )
and returns either 0 (rejects) or 1 (accepts).</p>
      <p>Test reliability: (i) For all q ∈ Q, Verify(q, RC , Certify(q, (EQ, RQ), (EC , RC ))) = 1
(completeness); and (ii) for all queries q, answers a, and answer tests τ , whenever
it is Verify(q, RC , a, τ ) = 1, we have that a = QS (q) (soundness).</p>
      <p>Regarding complexity measures for certification data structure C(QS ), we say: (1)
C(QS ) is answer-efficient if the time complexity TC (n) of Certify is asymptotically
at most the time complexity TA(n) of Answer, i.e., TC (n) is O(TA(n)); (2) C(QS )
is time-efficient (resp. time super-efficient) if the time complexity TV (n) of Verify is
asymptotically at most (resp. less than) the time complexity TA(n) of Answer, i.e.,
TV (n) is O(TA(n)) (resp. o(TA(n))); and analogously (3) C(QS ) is space-efficient
(resp. space super-efficient) if the space requirement SC (n) of (EC , RC ) is
asymptotically at most (resp. less than) the space requirement SQ(n) of (EQ, RQ), i.e., SC (n)
is O(SQ(n)) (resp. o(SQ(n))). If S is static, data set (EC , RC ) can be constructed by
some algorithm ConstrC that runs on input S in polynomial time in n.</p>
      <p>For simplicity, the above definition corresponds to the static case. The dynamic
case can be defined similarly. Informally, an update algorithm UpdateC is responsible
to handle updates in data set S by accordingly updating C(QS ); that is, it produces
the updated set (E C′ , R′C ) and, in particular, the set of tuples where R′C and RC differ.
Algorithm UpdateC additionally produces an update test (as the answer test above, a set
of indices for tuples in RC ) that validates the performed changes. Similarly, an update
testing algorithm Updtest, on input an update y ∈ Y , set RC , a set of tuples (changes
in RC ) and an update test, accepts if and only if the tuples correspond to the correct,
according to y, new or deleted tuples in RC . Similarly, we can define update efficiency
and update-testing (super-)efficiency for C(QS ), with respect to the time complexity of
UpdateC and Updtest, respectively, as they asymptotically compare to UpdateQ.</p>
      <p>Certification data structures introduce a new dimension in the study of data
querying and answer validation. They support certification of queries in a setting where the
notions of query answering and answer validation are conceptually and algorithmically
separated in a clean way. In particular, answer validation is based merely on the
certification image (EC , RC ) of S = (E , R) (these two sets share tuples, possibly, through a
subset relation) and not on set (EQ, RQ) of the query data structure. Also, query
certification depends only on the certification support of the answer, i.e., subset R(τ ).</p>
      <p>We first prove that for every query type, there is an efficient certification structure, a
completeness result showing that all queries can be certified without loss of efficiency.
Theorem 1. Any query data structure for any query operation on a data set admits a
certification data structure that is answer-efficient, time-efficient, update-testing-efficient,
and space-efficient.</p>
      <p>Proof. (Sketch.) We discuss the static case; the dynamic case is treated analogously.
Let S = (E , R) be a data set of size n, QS a query operation on S and D(QS ) =
(EQ, RQ, Answer) a query data structure for QS . We describe a certification data
structure C(QS ) = ((EC , RC ), Certify, Verify) for S with respect to D(QS ). First we set
(EC , RC ) = (EQ, RQ). Algorithm Certify is an augmented version of Answer. Given
a query q ∈ Q and sets (EC , RC ), (EQ, RQ), Certify creates an empty sequence τ of
indices of tuples in RC and then it runs Answer on input (q, (EQ, RQ)) to produce the
answer QS (q). Also, any time algorithm Answer accesses a tuple Ri[j] in RQ,
algorithm Certify adds (i, j) to the end of sequence τ . When Answer terminates, so does
Certify, and returns the output a = QS (q) produced by Answer and sequence τ as the
corresponding answer test. Algorithm Verify as an augmented version of Answer
operating as follows. On input a query q ∈ Q, set (EC , RC ), an answer a and a sequence τ ,
algorithm Verify starts executing algorithm Answer on input (q, (EQ, RQ)) and checks
the execution of Answer subject to sequence τ . That is, each time Answer retrieves a
tuple Ri[j] in (EQ, RQ), Verify removes the first element of τ and compares it to (i, j),
rejecting the input if the comparison fails. When Answer terminates, the answer
computed by Answer is compared with the answer provided as input: if the two answers
agree (are equal) then Verify accepts its input, otherwise it rejects.</p>
      <p>Completeness and soundness conditions are satisfied by construction. Finally, our
certification data structure is answer-, time- and space-efficient. This follows from the
fact that for any inputs, Certify and Verify do a total amount of work that is only by a
constant factor more than the work of Answer, thus TC (n) = O(TA(n)) and TV (n) =
O(TA(n)), and the fact that (EC , RC ) = (EQ, RQ), thus SC (n) = O(SQ(n)). Observe
that each pair (i, j) in the answer test τ is accessed in constant time. ⊓⊔</p>
      <p>
        Certification data structures are designed to accompany two-party data query
protocols as follows: party A possesses sets (EQ, RQ) and (EC , RC ) and runs Certify,
and party B possesses set (EC , RC ) and runs Verify. The underlying outsourced set
S is controlled by B by creating update and query operations for S. Although both
operations are performed at A, B is able to verify their correctness. Thus, this setting
models certified outsourced computation: at any point in time, B maintains a correct
certification image of S, allowing verification without loss of efficiency, by Theorem 1.
Although its existential proof is simple (both parties execute the same algorithms on the
same data) yet, its significance is justified by the following:
1. In addition to showing that Definition 1 is meaningful, Theorem 1 proves the
feasibility of answer testability for any computable query in a general querying and
computational model.
2. Time super-efficient certification is in general feasible (e.g., for range searching [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ],
related SQL queries, point location, convex hull [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]), so outsourced computations
remain meaningful. For instance, super-efficient certification for point location can
be achieved using a trapezoidal decomposition of the subdivision as the
certification image. In this setting, the answer test for a point location corresponds to a
trapezoid containing the point.
3. Using cryptography in the bounded computational model, data certification can be
used to achieve authentication and consistency in third-party models and space
super-efficiency of certified outsourced computations in client-server models (see
Section 5).
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Authenticated Data Structures</title>
      <p>We describe a general model for data authentication by introducing query
authentication schemes, cryptographic protocols for verifying the results of general queries over
data sets. We extend certification structures to achieve correctness validation (in a
computational sense) in a setting where the owner of a data set does not control the data
structure used to answer queries. Instead, queries are answered by an untrusted,
possibly malicious, party, and answers are augmented with a proof used to verify validity.</p>
      <p>A three-party data querying model consists of a source S, a responder R and a user
U , where: (1) source S creates (and owns) a dynamic data set S, which is maintained
by query data structure D(QS ) for query operation QS : Q → AS on S; (2) responder
R stores S, by maintaining a copy of D(QS ) and some auxiliary information for S;
(3) user U issues queries about S to responder R by sending to R a query q ∈ Q; (4) on
a query q ∈ Q issued by U , R computes answer a = QS (q) and sends a to U ; (5) on an
update y ∈ Y for S issued by S, S and D(QS ) are appropriately updated by S and R.
Definition 2 (Query Authentication Scheme). A query authentication scheme for query
operation QS : Q → AS on set S is a quadruple of algorithms (G, Auth, Res, Ver) s.t.:
Key generation: Algorithm G takes as input a security parameter 1κ, and outputs a key
pair (PK , SK ). We write (PK , SK ) ← G(1κ).</p>
      <p>Authenticator: Algorithm Auth takes as input the secret and public key (SK , PK ), the
query space Q (or an encoding of the query type) and data set S of size n and
outputs an authentication string α and a verification structure V, that is (α, V) ←
Auth(SK , PK , Q, S), where α, V ∈ {0, 1}∗.</p>
      <p>Responder: Algorithm Res takes as input a query q ∈ Q, a data set S of size n and
a verification structure V ∈ {0, 1}∗ and outputs an answer-proof pair (a, p) ←
Res(q, S, V), where a ∈ AS and p ∈ {0, 1}∗.</p>
      <p>Verifier: Algorithm Ver takes as input the public key PK , a query q ∈ Q, an
answerproof pair (a, p) ∈ AS × {0, 1}∗ and an authentication string α ∈ {0, 1}∗ and
either accepts the input, or rejects, i.e., {0, 1} ← Ver(PK , q, (a, p), α).
Updates: For the dynamic case, we additionally require the existence of an update
algorithm AuthU that complements algorithm Auth and handles updates; namely,
AuthU given update y ∈ Y, it updates the authentication string and the verification
structure: (α′, V′) ← AuthU (SK , PK , Q, S, y, α, V).</p>
      <p>We require two properties for a query authentication scheme: correctness and
security. Correctness mandates that a verification algorithm should accept valid
answerproof pairs generated by the responder. Security dictates that, given any query issued
by U , a computationally bounded malicious responder R cannot compute an incorrect
answer and an associated proof such that U accepts this pair (thus, incorrectly
validating a fake answer). In our three-party data querying model, we assume that U trusts
S but not R, and that R always participates in the protocol (i.e., we do not consider
denial-of-service attacks).</p>
      <p>Definition 3 (Correctness &amp; Security). We say that a query authentication scheme
(G, Auth, Res, Ver) is correct if for all queries q ∈ Q, if (α, V) ← Auth(SK , PK , Q, S)
and additionally (a, p) ← Res(q, S, V), then with overwhelming probability it holds
that 1 ← Ver(PK , q, (a, p), α) and QS (q) = a. We say that a query authentication
scheme (G, Auth, Res, Ver) for query operation QS : Q → AS on structured data set
S is secure, if no probabilistic polynomial-time adversary A, given any query q ∈ Q,
public key PK and oracle access to the authenticator algorithm Auth, can output an
authentication string α, an answer a′ and a proof p′, such that a′ is an incorrect answer
that passes the verification test, that is, a′ 6= QS (q) and 1 ← Ver(PK , q, (a′, p′), α).</p>
      <p>We say that a correct and secure query authentication scheme (G, Auth, Res, Ver)
for queries in query space Q on a data set S constitutes an authenticated data structure
for this type of queries. It is implied that, given an authentication string α, for algorithm
Ver it holds that, for all queries q ∈ Q, with all but negligible probability (that is
measured over the probability space of the responder algorithm) it holds that QS (q) =
a if and only if there exists p s.t. 1 ← Ver(PK , q, (a, p), α).
4</p>
    </sec>
    <sec id="sec-4">
      <title>Authentication Reductions</title>
      <p>We now describe the main results of our work. First, we introduce the notion of
reducibility in data authentication by defining reductions between query authentication
schemes. We then prove that the authentication of any query is reduced to the
authentication of set membership queries. In fact, we need to authenticate only positive
answers—that is, relation ∈, but not ∈/, is authenticated. Next, we present implications
of this result.</p>
      <p>Using certification structures, we provide a general methodology for constructing
correct and secure query authentication schemes. Also, based on super-efficient query
certification, we develop a method for data authentication where only the information
necessary for answer verification is authenticated, and not the entire execution of the
search algorithm, which leads to a framework for the design of authentication structures
with super-efficient verification.</p>
      <p>Let QAS (QS , S) denote a query authentication scheme (QAS) for QS and S.
Authenticated reductions among QASs allow the design of a new QAS using no other tools
but only what another QAS provides, in a way that preserves correctness and security.</p>
      <p>In particular, let S and S′ be data sets, QS : Q → AS , Q′S : Q′ → A′S be
query operations on S and S′ respectively, and QAS (QS , S) = (G, Auth, Res, Ver),
QAS (Q′S , S′) = (G′, Auth′, Res′, Ver′) be query authentication schemes for QS on
S and Q′S on S′ respectively. We say that QAS (QS , S) is authentically reduced to
QAS (Q′S , S′), if key generation algorithms G and G′ are identical, QAS (QS , S) uses
the public and secret keys generated by G never explicitly, but only implicitly through
black-box invocations of algorithms Auth′, Res′ and Ver′, and QAS(QS , S) is correct
and secure whenever QAS (Q′S , S′) is correct and secure.</p>
      <p>Let S = (E , R) be a structured data set and QS : Q → AS be any query operation.
Let D(QS ) = (EQ, RQ, Answer) be a query data structure for QS . By Theorem 1, we
know that there exists a certification data structure C(QS ) = ((EC , RC ), Certify, Verify)
for S with respect to QS . Let Q∈ : Q(RC ) → {yes, no} be the set membership query
operation, where the query space Q(RC ) is the indexed tuples that exist in RC .
Assuming the existence of a secure and correct QAS (Q∈, RC ) = (G′, Auth′, Res′, Ver′),
we construct QAS (QS , S) = (G, Auth, Res, Ver), a query authentication scheme for
QS and S, parameterized by QAS (Q∈, RC ) for set membership queries.
Key-generation algorithm. Same as G′, thus, SK = SK ′ and PK = PK ′.
Authenticator. The authenticator algorithm Auth computes structured data set SC =
(EC , RC ) of the certification structure C(QS ) = ((EC , RC ), Certify, Verify) using
S and ConstrC . Then Auth runs algorithm Auth′ on input SK ′, PK ′, Q∈ and RC .</p>
      <p>Then, Auth outputs the pair (α′, V′) ← Auth′(SK ′, PK ′, Q∈, RC ).</p>
      <p>Responder. The responder algorithm Res first computes the structured data sets SQ =
(EQ, RQ) and SC = (EC , RC ) using S and algorithms ConstrQ and ConstrC .
Then, on input q, SQ and SC it simply runs algorithm Certify to produce its pair
(a, τ ). Then Res constructs the certification support RC (τ ) of answer a by
accessing set RC with the use of indices in τ . For every tuple hti in RC , algorithm Res
runs the responder algorithm Res′ on inputs hti, RC and V′ to get (a′(t), p′(t)) ←
Res′(hti, RC , V′) and, if (t1, . . . , t|τ|) is the sequence of tuples accessed in total,
Res creates sequence p′ = (p′(t1), . . . , p′(t|τ|)), sets p = (τ, RC (τ ), p′) and
finally outputs (a, p).</p>
      <p>Verifier. The verifier algorithm Ver first checks if the proof p and answer a are both
well-formed and, if not, it rejects. Otherwise, by appropriately processing the proof
p, algorithm Ver runs algorithm Verify on inputs q, RC (τ ), a and τ . Whenever
algorithm Verify needs to access and process a tuple htii, where htii is the i-th tuple
accessed by Verify, algorithm Ver runs Ver′ on inputs PK ′, htii, (yes, p′(ti)) and α′
and if 0 ← Ver′(PK ′, htii, (yes, p′(ti)), α′), algorithm Ver rejects. Otherwise, Ver
continues with the computation. Finally, Ver accepts if and only if Verify accepts.</p>
      <p>We have thus constructed QAS (QS , S), where QS is a general query operation of
set S, parameterized by QAS (Q∈, RC ), where Q∈ is the set membership query and
RC is the certification image of S with respect to the certification data structure in use.
Theorem 2. Let QAS (Q∈, RC ) be a correct and secure query authentication scheme
for set membership queries. Given any data set S and query operation QS , the query
authentication scheme QAS (QS , S) constructed above is correct and secure.
Proof. (Sketch.) We start by first discussing the correctness property. Suppose that
query authentication scheme (G′, Auth′, Res′, Ver′) is correct. We want to show that
scheme (G, Auth, Res, Ver) is correct. This follows from checking that the verifier Ver
does not reject when given an answer-proof pair from the responder Res, for any query
issued in Q. Indeed, from the completeness property of the certification data structure
the answer testing algorithm Verify does not reject, and additionally the correctness of
(G′, Auth′, Res′, Ver′) guarantee that Ver does not reject because of a rejection by Ver′.
For the security we argue as follows. Suppose that (G′, Auth′, Res′, Ver′) is secure.
Assume that (G, Auth, Res, Ver) is not secure, then with non-negligible probability Res
responds to a query q ∈ Q incorrectly but still Ver fails to reject its input. Based on
the soundness property of the certification data structure in use, we must admit that it is
not Certify that cheats the verifier, that is, it is not the indices in sequence τ that cause
the problem, but rather the fact that algorithm Verify runs on incorrect data. Then there
must exist at least one element verified to be a member of RC that it is not authentic,
meaning that its index is correct but one or more of the data elements in the tuple have
been (maliciously) altered. We thus conclude that for at least one query the verification
algorithm Ver′ of query authentication scheme (G′, Auth′, Res′, Ver′) failed to reject on
an invalid query-answer pair, a contradiction. ⊓⊔
Theorem 3. For any query operation QS on any data set S, there exists a secure and
correct query authentication scheme QAS (QS , S) based on a certification data
structure C(QS ).</p>
      <p>Proof. It follows from Theorem 1, Theorem 2 and the fact that there exist secure query
authentication schemes for membership queries. ⊓⊔</p>
      <p>By Theorem 3, all query operations can be authenticated in the three-party
authentication model given a corresponding certification structure, which can be constructed
for query problems from the query data structure (Theorem 1). Our results hold for the
RAM model of computation, which strictly includes the pointer machine model. Our
framework can be further extended to super-efficient verification, as described in the
following theorem.</p>
      <p>Theorem 4. Let S be a data set and Qs be a query operation on S. If there exists a
time (space) super-efficient certification data structure for QS , then there exists a time
(space) super-efficient authenticated data structure for QS .
5</p>
    </sec>
    <sec id="sec-5">
      <title>Applications</title>
      <p>We briefly overview applications of our framework. In the bounded computational
model, we can achieve storage outsourcing, where the certification image (EC , RC )
of a data set S is stored by an untrusted entity. Consider a certification data structure,
where party A (server computations are outsourced to) runs Certify and party B (client
data originates from) runs Verify. It is possible for B to store only a cryptographic
commitment of (EC , RC ) and still be able to verify its integrity throughout a series of
updates on an initially empty set S. We refer to this property as consistency: data source
B checks that any update on S, and thus on (EC , RC ), is in accordance with the history
of previous updates. The idea is to use cryptographic primitives (e.g., hashing) that
provide commitments of sets, subject to which membership can be securely checked. The
following result finds applications to cloud storage, where a client (small computational
device, B) uses space super-efficient protocols to check the integrity of data stored at
an untrusted server (A).</p>
      <p>Theorem 5. In the bounded computational model, any certification data structure can
be transformed to a consistent client-server data outsourcing scheme with
constantspace storage at the client.</p>
      <p>
        This result can be used to extend the construction of Section 4, where the data
source stores the certification image, while the responder stores the data set and the
certification image (parties B and A in our previous discussion). Using Theorem 5, the
data source can outsource the certification image to the responder and still be able to
check the data correctness and consistency, using constant space (similar to [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]).
Theorem 6. For any query operation QS on any data set S, there exists a secure and
correct query authentication scheme QAS (QS , S) based on a certification data
structure C(QS ) such that the source uses constant-space storage.
      </p>
      <p>
        Finally, applying our results to the peer-to-peer Merkle tree realization [
        <xref ref-type="bibr" rid="ref32 ref9">9, 32</xref>
        ] (a
distributed authenticated dictionary that provides a secure distributed query
authentication scheme for membership queries), we obtain that all queries can be authenticated
with a responder implemented over a distributed peer-to-peer network.
Theorem 7. For any query operation on data sets, there exists a query authentication
scheme with a distributed responder and with constant-space storage used at the source.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Atallah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Cho</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Kundu</surname>
          </string-name>
          .
          <article-title>Efficient data authentication in an environment of untrusted third-party distributors</article-title>
          .
          <source>Proc. ICDE</source>
          , pp.
          <fpage>696</fpage>
          -
          <lpage>704</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Blum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Evans</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Gemmell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kannan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Naor</surname>
          </string-name>
          .
          <article-title>Checking the correctness of memories</article-title>
          .
          <source>Algorithmica</source>
          ,
          <volume>12</volume>
          (
          <issue>2</issue>
          /3):
          <fpage>225</fpage>
          -
          <lpage>244</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A.</given-names>
            <surname>Buldas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Laud</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Lipmaa</surname>
          </string-name>
          .
          <article-title>Accountable certificate management using undeniable attestations</article-title>
          .
          <source>Proc. CCS</source>
          , pp.
          <fpage>9</fpage>
          -
          <lpage>17</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J.</given-names>
            <surname>Camenisch</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Lysyanskaya</surname>
          </string-name>
          .
          <article-title>Dynamic accumulators and application to efficient revocation of anonymous credentials</article-title>
          .
          <source>Proc. CRYPTO</source>
          , pp.
          <fpage>61</fpage>
          -
          <lpage>76</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>P.</given-names>
            <surname>Devanbu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gertz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Martel</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S. G.</given-names>
            <surname>Stubblebine</surname>
          </string-name>
          .
          <article-title>Authentic data publication over the Internet</article-title>
          .
          <source>Journal of Computer Security</source>
          ,
          <volume>11</volume>
          (
          <issue>3</issue>
          ):
          <fpage>291</fpage>
          -
          <lpage>314</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>G. Di</given-names>
            <surname>Battista</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Liotta</surname>
          </string-name>
          .
          <article-title>Upward planarity checking: “Faces are more than polygons”</article-title>
          .
          <source>Proc. GD</source>
          , pp.
          <fpage>72</fpage>
          -
          <lpage>86</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>U.</given-names>
            <surname>Finkler</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Mehlhorn</surname>
          </string-name>
          .
          <article-title>Checking priority queues</article-title>
          .
          <source>Proc. SODA</source>
          , pp.
          <fpage>901</fpage>
          -
          <lpage>902</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M. T.</given-names>
            <surname>Goodrich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Papamanthou</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Tamassia</surname>
          </string-name>
          .
          <article-title>On the cost of persistence and authentication in skip lists</article-title>
          .
          <source>Proc. WEA</source>
          , pp.
          <fpage>94</fpage>
          -
          <lpage>107</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M. T.</given-names>
            <surname>Goodrich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. Z.</given-names>
            <surname>Sun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Tamassia</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Triandopoulos</surname>
          </string-name>
          .
          <article-title>Reliable resource searching in peer-to-peer networks</article-title>
          .
          <source>Proc. SecureComm</source>
          . pp.
          <fpage>437</fpage>
          -
          <lpage>447</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M. T.</given-names>
            <surname>Goodrich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Tamassia</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Hasic</surname>
          </string-name>
          .
          <article-title>An efficient dynamic and distributed cryptographic accumulator</article-title>
          .
          <source>Proc. ISC</source>
          , pp.
          <fpage>372</fpage>
          -
          <lpage>388</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M. T.</given-names>
            <surname>Goodrich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Tamassia</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Schwerin</surname>
          </string-name>
          .
          <article-title>Implementation of an authenticated dictionary with skip lists and commutative hashing</article-title>
          .
          <source>Proc. DISCEX II</source>
          , pp.
          <fpage>68</fpage>
          -
          <lpage>82</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M. T.</given-names>
            <surname>Goodrich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Tamassia</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Triandopoulos</surname>
          </string-name>
          .
          <article-title>Super-efficient verification of dynamic outsourced databases</article-title>
          .
          <source>Proc. CT-RSA</source>
          , pp.
          <fpage>407</fpage>
          -
          <lpage>424</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>M. T.</given-names>
            <surname>Goodrich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Tamassia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Triandopoulos</surname>
          </string-name>
          .
          <article-title>Authenticated data structures for graph and geometric searching</article-title>
          .
          <source>Algorithmica, DOI 10.1007/s00453-009-9355-7</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>D. T.</given-names>
            <surname>Lee</surname>
          </string-name>
          and
          <string-name>
            <given-names>F. P.</given-names>
            <surname>Preparata</surname>
          </string-name>
          .
          <article-title>Location of a point in a planar subdivision and its applications</article-title>
          .
          <source>SIAM J. Comput.</source>
          ,
          <volume>6</volume>
          (
          <issue>3</issue>
          ):
          <fpage>594</fpage>
          -
          <lpage>606</lpage>
          ,
          <year>1977</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>F.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Hadjieleftheriou</surname>
          </string-name>
          , G. Kollios, and
          <string-name>
            <given-names>L.</given-names>
            <surname>Reyzin</surname>
          </string-name>
          .
          <article-title>Dynamic authenticated index structures for outsourced databases</article-title>
          .
          <source>Proc. SIGMOD</source>
          , pp.
          <fpage>121</fpage>
          -
          <lpage>132</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>C.</given-names>
            <surname>Martel</surname>
          </string-name>
          , G. Nuckolls,
          <string-name>
            <given-names>P.</given-names>
            <surname>Devanbu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gertz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kwong</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S. G.</given-names>
            <surname>Stubblebine</surname>
          </string-name>
          .
          <article-title>A general model for authenticated data structures</article-title>
          .
          <source>Algorithmica</source>
          ,
          <volume>39</volume>
          (
          <issue>1</issue>
          ):
          <fpage>21</fpage>
          -
          <lpage>41</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>K.</given-names>
            <surname>Mehlhorn</surname>
          </string-name>
          , S. Na¨her, M. Seel,
          <string-name>
            <given-names>R.</given-names>
            <surname>Seidel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Schilz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Schirra</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Uhrig</surname>
          </string-name>
          .
          <article-title>Checking geometric programs or verification of geometric structures</article-title>
          .
          <source>CGTA</source>
          ,
          <volume>12</volume>
          (
          <issue>1-2</issue>
          ):
          <fpage>85</fpage>
          -
          <lpage>103</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>R. C.</given-names>
            <surname>Merkle</surname>
          </string-name>
          .
          <article-title>A certified digital signature</article-title>
          .
          <source>Proc. CRYPTO</source>
          , pp.
          <fpage>218</fpage>
          -
          <lpage>238</lpage>
          ,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>G.</given-names>
            <surname>Miklau</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Suciu</surname>
          </string-name>
          .
          <article-title>Implementing a tamper-evident database system</article-title>
          .
          <source>Proc. ASIAN</source>
          , pp.
          <fpage>28</fpage>
          -
          <lpage>48</lpage>
          .
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>M.</given-names>
            <surname>Naor</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Nissim</surname>
          </string-name>
          .
          <article-title>Certificate revocation and certificate update</article-title>
          .
          <source>Proc. USENIX Security</source>
          , pp.
          <fpage>217</fpage>
          -
          <lpage>228</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>M.</given-names>
            <surname>Narasimha</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Tsudik</surname>
          </string-name>
          .
          <article-title>Authentication of outsourced databases using signature aggregation and chaining</article-title>
          .
          <source>Proc. DASFAA</source>
          , pp.
          <fpage>420</fpage>
          -
          <lpage>436</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>L.</given-names>
            <surname>Nguyen</surname>
          </string-name>
          .
          <article-title>Accumulators from bilinear pairings and applications</article-title>
          .
          <source>Proc. CT-RSA</source>
          pp.
          <fpage>275</fpage>
          -
          <lpage>292</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>G.</given-names>
            <surname>Nuckolls</surname>
          </string-name>
          .
          <article-title>Verified query results from hybrid authentication trees</article-title>
          .
          <source>Proc. DBSec</source>
          , pp.
          <fpage>84</fpage>
          -
          <lpage>98</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>R.</given-names>
            <surname>Ostrovsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Rackoff</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Smith.</surname>
          </string-name>
          <article-title>Efficient consistency proofs for generalized queries on a committed database</article-title>
          .
          <source>Proc. ICALP</source>
          , pp.
          <fpage>1041</fpage>
          -
          <lpage>1053</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>H.</given-names>
            <surname>Pang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Jain</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Ramamritham</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.-L.</given-names>
            <surname>Tan</surname>
          </string-name>
          .
          <article-title>Verifying completeness of relational query results in data publishing</article-title>
          .
          <source>Proc. SIGMOD</source>
          , pp.
          <fpage>407</fpage>
          -
          <lpage>418</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>H.</given-names>
            <surname>Pang</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Mouratidis</surname>
          </string-name>
          .
          <article-title>Authenticating the query results of text search engines</article-title>
          .
          <source>PVLDB</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ):
          <fpage>126</fpage>
          -
          <lpage>137</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>S.</given-names>
            <surname>Papadopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Papadias</surname>
          </string-name>
          , W. Cheng, and
          <string-name>
            <given-names>K.-L.</given-names>
            <surname>Tan</surname>
          </string-name>
          .
          <article-title>Separating authentication from query execution in outsourced databases</article-title>
          .
          <source>Proc. ICDE</source>
          , pp.
          <fpage>1148</fpage>
          -
          <lpage>1151</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>C.</given-names>
            <surname>Papamanthou</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Tamassia</surname>
          </string-name>
          .
          <article-title>Time and space efficient algorithms for two-party authenticated data structures</article-title>
          .
          <source>Proc. ICICS</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>15</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>C.</given-names>
            <surname>Papamanthou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Tamassia</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Triandopoulos</surname>
          </string-name>
          .
          <article-title>Authenticated hash tables</article-title>
          .
          <source>Proc. CCS</source>
          , pp.
          <fpage>437</fpage>
          -
          <lpage>448</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>G. F.</given-names>
            <surname>Sullivan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Wilson</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G. M.</given-names>
            <surname>Masson</surname>
          </string-name>
          .
          <article-title>Certification of computational results</article-title>
          .
          <source>IEEE Trans. Comput.</source>
          ,
          <volume>44</volume>
          (
          <issue>7</issue>
          ):
          <fpage>833</fpage>
          -
          <lpage>847</lpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>R.</given-names>
            <surname>Tamassia</surname>
          </string-name>
          and
          <string-name>
            <given-names>N.</given-names>
            <surname>Triandopoulos</surname>
          </string-name>
          .
          <article-title>Computational bounds on hierarchical data processing with applications to information security</article-title>
          .
          <source>Proc. ICALP</source>
          , pp.
          <fpage>153</fpage>
          -
          <lpage>165</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>R.</given-names>
            <surname>Tamassia</surname>
          </string-name>
          and
          <string-name>
            <given-names>N.</given-names>
            <surname>Triandopoulos</surname>
          </string-name>
          .
          <article-title>Efficient content authentication in peer-to-peer networks</article-title>
          .
          <source>Proc. ACNS</source>
          , pp.
          <fpage>354</fpage>
          -
          <lpage>372</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Papadias</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Papadopoulos</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Kalnis</surname>
          </string-name>
          .
          <article-title>Authenticated join processing in outsourced databases</article-title>
          .
          <source>Proc. SIGMOD</source>
          , pp.
          <fpage>5</fpage>
          -
          <lpage>18</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Papadopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Papadias</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Kollios</surname>
          </string-name>
          .
          <article-title>Authenticated indexing for outsourced spatial databases</article-title>
          .
          <source>VLDB J</source>
          .,
          <volume>18</volume>
          (
          <issue>3</issue>
          ):
          <fpage>631</fpage>
          -
          <lpage>648</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>