A Salient Missing Link in RFID Security Protocols

,


Introduction
As a result of their low production costs and tiny size, RFID tags are considered as the replacement technology for bar codes and other means of traditional identification tools which traditionally find many applications in manufacturing, supply chain management, and inventory control. A typical RFID system consists of mainly three components: tags, one or more readers, and a back-end server. On top of this hardware, a set of networking rules including the authentication (or identification) protocols reside.
RFID technology raises significant privacy issues regarding the traceability concerns. While a person could be traced by tracking his/her mobile phone through a carrier, such a method is no more useful once the phone is turned off. However, this is not the case for someone carrying an RFID gadget. First of all, most users are not aware that they are carrying RFID tags. In fact, even if they know it, tags could not be turned off in general and worse, it automatically responds to queries via radio signals. Therefore, in RFID systems, the attack scenarios and accompanying countermeasures are quite different than the typical wired or wireless systems.
Although public key cryptography has the necessary primitives to solve this sort of problems in various networks, it is not trivial to implement these primitives in networks having constraint devices such as RFID tags without breaking the cost boundaries. In fact, it is a challenging task to design authentication protocols for low-cost RFID tags resisting all of the known attacks and threats and at the same time fulfill the so-called RFID tag specifications. Therefore, solving this delicate task has recently aroused the interest of the security community, and many authentication protocols have been proposed for RFID security. Unfortunately, most of these, like [1][2][3][4][5][6][7][8][9][10][11], failed to address the requirements to a satisfactory extent partially because of not having a common adversary and system definitions.
In this study, our goal is to point out a salient missing link in RFID security protocols, namely, the back-end server (or the database) role and potential pitfalls or side channels in RFID system realization. In side channel analysis, an attacker utilizes some legitimate function queries in order to collect the corresponding responses of a cryptographic system while it is functioning in a normal mode. If those responses reveal some unwanted information about the secrecy or privacy, 2 EURASIP Journal on Wireless Communications and Networking this leakage is called side channel information and these responses are called side channels. In this respect, careless deployments of "secure" RFID authentication protocols are not exceptions and subject to side channel attacks.
Focusing on lightweight RFID security protocols, we examine the server responses for several RFID tags and realize that if the database querying is performed through a static process, the RFID system is subject to a timing attack that could easily jeopardize the system's untraceability criteria. Supporting analysis and experiments of this observation are presented with the following outline. In Section 2, after giving a brief update on related work, we describe the basic authentication protocol (BAP) as a building block used in describing our attack model. BAP will further be a basis for various RFID authentication protocols that are vulnerable to the attack. In Section 3, we present our attack model and give probability of its success in terms of the system parameters. Section 4 investigates security of some RFID protocols against the proposed attack. In Section 5, we propose solutions to fix the security flaw. Finally, we conclude in Section 6.

Related Work.
The potential security risks in RFID systems hinging the differences in computation time are mentioned in a few published work. Juels and Weis [12] introduced the idea that witnessing a reader's success in identifying a tag could be used in distinguishing two different tags, that is, breaking the privacy of the protocol. For instance, opening a door with a proximity card or acceptance of a payment card can give this information. This ability of the adversary is also touched by Vaudenay [13] and it is formalized in Vaudenay's privacy model. Moreover, Juels-Weis point that computation time of the reader can shed critical light on protocol design and showed that O-TRAP protocol [14] cannot provide strong privacy under this side channel information.
In [14], Burmester et al. briefly considered timing phenomenon by claiming: "In particular the time taken for each pass must be constant. This can be done by inserting an artificial delay on the trusted server". Alternatively, Tsudik [10] has investigated the RFID security protocols against timing attacks targeting computations carried in the tag. It is stated that the time variance in tag computations corresponds to different states of the tags that might make them distinguishable. More recently, Erguler et al. [15] and Erguler and Anarim [16] have exploited the time differences in reader/server responses for different tag states in order to distinguish the tags. They have shown that two protocols described in [17,18] are vulnerable to such attacks.
At the time this paper was under review, Avoine et al. [19] had extended the Vaudenay's privacy model by formalizing the computational time of the reader. The authors define a new privacy level-TIMEFUL-which is determined by leaked information from the computational time of the reader and add this notion to the privacy levels of model in [13]. Moreover, they present theoretical solutions to the time problem by assigning boolean decisions about TIMEFUL-PRIVACY of a protocol. However, the parameters that may affect the success of the adversary, such as precision of reader time measurement, have been addressed as an engineering problem.
In this paper, we present the actual implementation results and probabilistic analysis for successful timing attack.
To be more precise, we give the success probability of the attack in terms of the system parameters such as the number of tags, number of cryptographic operations that have to be carried out, and server's computational power.

Notation and the BAP.
In general, an RFID mutual authentication protocol requires at least three rounds: the reader initiates the communication (Round 1), the tag produces a challenge and sends it to the reader (Round 2), and the reader replies to the challenge (Round 3). In most lightweight RFID authentication protocols, including [1-3, 5, 20-29] (Weis et al.'s the randomized access control scheme [20] performs an exhaustive search in identification of the tag), the server could need to query its entire database in order to authenticate responder tag in Round 2. In fact, this should not be confused with the simple database search since this querying corresponds to a cryptographic exhaustive search where every single query needs a cryptographic operation having a nontrivial time complexity. Therefore, the time complexity of the authentication phase becomes linear in time (i.e., O(N) where N denotes the number of tags in the system). We define these systems as follows.
Definition 1. An RFID system is called linear-time authentication system denoted with LAS if its server performs an exhaustive search to identify or authenticate a tag.
In order to measure the running time differences for different tag searches, it is sufficient to have an exhaustive search process which is identical for each search instance. In fact, for some cases it is possible to achieve some side channels even if the processes are not identical. However, we keep these cases out of our scope and formally define the exhaustive search process as follows.
Definition 2. Let P be the item to be searched, let S be the set of the search space, and let (C t ) = {c 1 , c 2 , . . . , c t , . . .} be a sequence on S (i.e., (C t ) : N → S). If (C t ) is one-to-one on S and C t = 0 for t > N, then we call (C t ) the query sequence for P.
Note that the query sequence gives the order of the exhaustive search process. For instance, the query sequence having the general term C t = t for t ∈ N with the initial condition c 1 = 1 clearly gives the standard exhaustive search process as shown in Figure 1. If this is taken as the process for every search item P, it would be possible to compare the measurements of search time differences. Definition 3. An LAS RFID scheme is said to be static lineartime authentication system represented as SLAS if the query sequence for all searched items is identical.
It is equivalent to say that for an SLAS RFID scheme, in tag identification/authentication step the order for choosing the candidates amongst the whole database is the same for all sessions. As the number of tags in the system increases, variance in elapsed time of the reader responses corresponding to the different RFID tags can be measurable for an SLAS RFID scheme. If an adversary is able to access this time difference (an adversary may know the amount of time spent for the tag authentication procedures on the server by simply measuring the elapsed time between the tag's authentication request and its response from the server. Note that this may not be a challenge response; it may be the protocol payload showing whether the server is succeeded or not, in identifying a legitimate tag), then this information will be used as a tool to trace the tags in our attack model.

BAP.
BAP is a generic challenge response authentication protocol used as a basis for most of the RFID authentication protocols. We use the following notations: A step by step description of the BAP that satisfies the LAS properties is given below.
Step 1. R challenges T with a random nonce r R .
Step 2. T chooses a random nonce r T and computes M 1 = f K (r R , r T ), where K is the secret information and different for each tag and f () is a symmetric cryptographic operation. Then it transmits the result with r T to R.
Step 3. R delivers the messages from T to DB with r R .
Step 4. DB maintains a list of pairs (ID; K i ) and identifies T by performing an exhaustive search of all stored tag records by computing M 1 = f Ki (r R , r T ) for each stored ID i in turn, until it finds a match with M 1 . If a match is found, DB regards the ID as the identity of T .
Step 5. R replies to challenge of T .
Note that throughout this text, BAP will be used in description of our attack model and will be a basis for many RFID authentication protocols that are vulnerable to the attack.

The Timing Attack
Timing attacks provide an attacker with secrets maintained in a security system by measuring the time it takes the system to respond to various queries. For instance, Kocher [30] Process designed a timing attack to recover secret keys used for RSA decryption. In addition, Brumley and Boneh presented a timing attack on unprotected OpenSSL implementations and showed that such attack was practical, that is, an attacker could measure the response-time variances of a secure Web server and could derive that servers RSA private key [31]. With a similar approach, since in different steps of the RFID protocols, tags, and the server execute different processes, if time taken to execute these steps differs based on the input of tags' state or responses, an attacker can attempt to mount a timing attack to distinguish the tags by analyzing the time variances corresponding to their input. So, with precise measurements of the time difference, an attacker can easily trace the tags and break the untraceability property of the protocol.
Intuitively, a protocol satisfies untraceability if an adversary is not able to recognize a previously observed tag [32]. Untraceability issue has been treated formally in different security models, notably driven by Avoine in [33], by Vaudenay in [13], by Van Le et al. in [34], by Juels and Weis in [12], and by Deursen et al. in [35]. The Juels-Weis model characterizes a very strong adversary with a relatively simple definition and according to this model untraceability is defined in terms of privacy experiments by which an adversary could distinguish two different tags within the limits of its computational power and functionality-call bounds. Throughout this text, we adopt the terms and notions of [12] to our needs. In this privacy model, two of the available functions for an adversary are ReaderInit and TagInit. When receiving a ReaderInit message, R initializes a new session and returns the first challenge of an interactive challenge-response protocol. On the other side, by receiving TagInit message a tag T is involved in the 4 EURASIP Journal on Wireless Communications and Networking corresponding protocol session and it may respond to a protocol message or challenge. For an RFID system S, the privacy experiment, Exp priv S , consists of the following two phases: (1) Learning Phase. in this phase, according to Juels-Weis privacy model [12], an adversary A might initiate a communication with the reader R (ReaderInit) or a tag T (TagInit). Also, A has the ability to modify, insert, or delete messages that agree with the corresponding protocol's procedures. In other words, A controls the communication channel between R and each T and may make any ReaderInit or TagInit calls in any interleaved order without exceeding its parameter bounds.
(2) Challenge Phase. in this phase, the adversary A selects two tag candidates T 0 and T 1 and tests these with the identifers ID 0 and ID 1 , respectively. Depending on a randomly chosen bit b ∈ {0, 1}, A is given a challenger identifier ID b from the set {ID 0 , ID 1 }. That is, A is given access to one of these tags randomly, called T b . The adversary might again interact with the reader and the tags. Eventually, at some point, A decides to terminate the experiment and returns the bit b as its guess for the value of b. The success of A in guessing b is equivalent to its success of breaking the untraceability, and is quantified as A's advantage in distinguishing the tag's identity compared to random selection. This is expressed formally as: where k is the security parameter (i.e., the bit length of the unknown secret ID). An RFID system, S, achieves untraceability if Adv Exp A,S (k)<ε(k) for some negligible function ε(). It is equivalent to say that an attack is successful in tracing the tags if the adversary has a nonnegligible advantage in guessing the selected tag. As an illustrative example, assume that the probability of a correct guess is 1/2 (i.e., Pr[ b = b] = 1/2). In this case, Adv  In our attack model, we suppose the examined protocol is based on SLAS BAP which we call SBAP and for the privacy experiments, the adversary can follow the steps below.
In the learning phase, two tags T 0 and T 1 are randomly selected and then the adversary observes successful authenticated protocols between the reader and the tags and notes respective elapsed time of the reader responses as Δ 0 and Δ 1 .

Learning Phase
(1) A randomly chooses a pair of distinct tags T 0 and T 1 .
(2) A initiates communication with R using Read-erInit and gets r R0 .
(5) A delivers T 0 response to R.
(7) A initiates communication with R using Read-erInit and gets r R1 .
(10) A delivers T 1 response to R.
Notice that in our attack, A always provides an answer. Thus in the challenge phase, if |Δ 0 − Δ 1 | < γ, he makes a random guess for the selected tag T * b . On the other hand, if |Δ 0 − Δ 1 | ≥ γ, the adversary only observes a successful authentication between the legitimate reader and the selected tag and records time duration between the second and the third message flow, call it Δ * . If Δ * ≈ Δ 0 , the challenge tag is T 0 ; otherwise the selected tag is T 1 .

Challenge Phase
(i) If |Δ 0 − Δ 1 | < γ, then A randomly flips a coin for the value of b.
(2) A initiates communication with R using Read-erInit and gets r R . , related to the tags T i and T j , respectively, such that the adversary cannot distinguish the tags by using the above attack. It is equivalent to say that n max x,y∈ [1,N] x − y such that c x = item i , c y = item j ,
Proof. If |Δ i − Δ j | < γ, then the A cannot realize time difference, and so does not have a nonnegligible advantage in distinguishing the tags. We know that |Δ i − Δ j | = |x − y| · m · β, so |x − y| · m · β < γ must be satisfied to give a negligible advantage to the adversary. Hence the maximum index difference n can be expressed as Definition 5. For privacy experiment Exp z , suppose T i and T j are selected and c x = item i , c y = item j denote the respective candidates in the exhaustive search process. Then the discrete random variable Q Exp z , describing the probability of being |x − y| > n, that is, A can sense the time difference, is defined as below

Proposition 1. If N denotes number of tags in the database, then for any selected tags T i and T j , the A's advantage by considering the described attack is expressed as
Proof. Success probability of the attack depends on Pr[Q Exp = 1]. If Q Exp = 0, that is, |x − y| ≤ n, the adversary has zero advantage since he could just as well have flipped a coin to make the guess, which would have given him the same probability of correct guessing. On the other hand if Q Exp = 1, he can recognize the time difference of the reader responses and makes a correct guess for the privacy experiment with maximum advantage. Therefore, the correct guess probability can be expressed as The marginal probabilities of Pr[Q Exp ] is derived as follows:  (7) in (6), we obtain From (1) we obtain In Figure 2, advantage of the adversary for different n and N values is shown. Note that as N n, Adv Exp A (k) becomes closer to 1/2, which is the maximum advantage.
Therefore, for N n, advantage of an adversary can be approximated as In order to illustrate the realization of the presented attack, we consider a real life scenario in a library, where tags are used to identify books and the protocol is an SBAP. Example 1. We consider an SBAP RFID scheme installed in a public library to substitute bar codes on the books. Suppose the library has got about 1 million of books, N = 1 000000, and we assume that there are about 100000 candidates between c x and c y as the candidates related to some books book i and book j , respectively, in the database, that is, |x − y| = 100000. Besides, we suppose that timing resolution of an adversary who attempts to apply the proposed attack is one millisecond and also to identify a single tag the server needs a single cryptographic operation which is performed in one microsecond. Thus, β = 10 −6 , γ = 10 −3 , and m = 1.
In the light of given information, it is obvious that book i identification process will be faster than those of book j 's. Moreover, by using (3) we obtain n = 1000. Because n < |x − y| = 100000, the adversary can easily distinguish these two tags by comparing the elapsed time between 2nd and 3rd rounds of the protocols for each tag.

Analysis of Some RFID Schemes
In this section, we examine some RFID privacy schemes proposed in the literature: Those of Song and Mitchell (SM) [5], a challenge/response-based protocol by [3], the scheme of Duc et al. [22], and the model proposed by Ohkubo et al. (OSK) [2]. In our analysis, we do not consider whether or not these protocols have been cryptanalyzed previously by some different type attacks like denial of service, tag impersonation, replay attacks, or others; rather we focus on realization of our attack for these schemes. The common point of these models is that how the candidates are chosen from database in the search process is not defined exactly, and this makes them vulnerable against our attack. In the following parts, we assume that the system relies on a single computer which takes 2 −20 seconds to carry out a cryptographic operation, that is, β = 2 −20 , the number of tags in the system, N, is 2 20 and γ = 2 −10 seconds (i.e., ≈1 ms), unless otherwise is stated. Furthermore, below we only give the three message flows of the protocol since these parts interest us. Update of the secrets and other details can be found in the corresponding study.

The SM Protocol and Analysis. Song and Mitchell
proposed an RFID authentication protocol in [5]. In this scheme, a server stores secrets u i and t i for each tag T i as well as the most recent secrets u i and t i . Initially, secret u i is a string of l bits assigned to T i , and t i = H(u i ). Firstly, the reader sends a random bit-string r 1 to the tag. The tag generates a random bit-string r 2 , computes two messages M 1 = t i ⊕ r 2 and M 2 = f ti (r 1 ⊕ r 2 ), where f is a keyed hash function, and sends (M 1 , M 2 ) back to the reader. The reader delivers (r 1 , M 1 , M 2 ) to the back-end server for tag authentication. The server will search in its database for a record (u j , t j ) or ( u j , t j ) such that M 2 = f tj (r 1 ⊕ M 1 ⊕ t j ). If a match is found, the server computes r 2 = M 1 ⊕ t j , and then computes M 3 = u j ⊕ (r 2 l/2). Finally, the reader forwards M 3 to tag.
The steps of our attack described in Section 3 can be directly applied on SM protocol. In exhaustive search process for each candidate, two cryptographic operations, f tj (r 1 ⊕ M 1 ⊕t j ) and f tj (r 1 ⊕M 1 ⊕ t j ), are executed, so m = 2. By using (3), we obtain n = 512. Also from (9), Adv Exp A,SM (k) = 0.4995 is computed.
Besides, in [29] an improvement to SM protocol is proposed and to the best of our knowledge it has received no attacks yet. However, same weakness also exists in this protocol and it can be easily broken with our attack.

The Rhee's Protocol and Analysis.
A challenge-response authentication protocol based on a hash function is proposed in [3]. The scheme is vulnerable to our attack as the back-end database is required to perform an ID search to find the specific information related to the tag requesting authentication. The protocol can be summarized as follows.
The reader transmits Query and a random number R reader . The tag generates a random number R tag , computes H(ID R reader R tag ) generated by itself, and sends the result with R tag to the reader. The reader delivers the tag's response to the back-end server. Next, for each ID stored in the backend database, the back-end database concatenates ID, R reader , and R tag then hashes it and checks whether or not it is equal to hash result obtained from the tag to authenticate it. The search process continues till a match is found. If the authentication is successful, the back-end database sends H(ID R tag ) to the reader and the reader forwards it to the tag.
In the brute force search of server for each candidate, one cryptographic operation is done, so m = 1. If we replace the values in (3), we get n = 1024 and this leads to Adv Exp A (k) = 0.499 for our attack.

The Duc et al.'s Protocol and Analysis.
In [22], a challenge-response protocol for RFID was proposed by Duc et al. According to the protocol, the server stores the following values for each tag: EPC i , tag's access pin PIN i and the tag key K i . We can briefly describe the steps of the protocol as given below.
The reader firstly queries a request to tag. The tag generates a random number r, computes M 1 = CRC(EPC i r) ⊕ K i and C = CRC(M 1 ⊕ r). Then the tag sends the values (M 1 , C, r) back to the reader, which will forward these values to the server, where EPC i is electronic product code and CRC stands for cyclic redundancy code. For each tuple (EPC i , K i ) in back-end database, the server verifies that M 1 ⊕ K i equals CRC(EPC r) and C = CRC(M 1 ⊕ r). If it can find a match, then the tag is successfully identified and authenticated. Next, the server computes M 2 = CRC(EPC i PIN r)⊕K i and sends M 2 to the tag through the reader. Now let us apply the proposed attack on Duc et al.'s protocol. Since CRC computation consumes less time than hash or other symmetric encryption, we assume server can evaluate a CRC operation in 2 −28 seconds so β = 2 −28 . Moreover, for each entry from database, one CRC is calculated; m = 1. For these values, n = 2 18 is evaluated and from (9) it means Adv Exp A (k) = 0.28 for our attack.

The OSK Protocol and Analysis.
The protocol proposed in [2] relies on hash chains. When a tag is queried by a reader, it sends a hash of its current identifier with H 1 and then updates it using a second hash function H 2 . Each tag stores in its memory a random identifier s 1 i . The message flows of the protocol can be depicted as follows: the reader  ). On the server side, from r k i , the system identifies the corresponding tag. In order to do this, it constructs the hash chains from each N initial value until it finds the match with r k i or until it reaches a given maximum limit δ on the chain length. The threshold δ is the number of read operations on a single tag between two updates of the database. A suited size for δ could be 128 as mentioned in [36].
Notice that OSK protocol does not exactly fit to the steps of BAP, because after identification of the tag, the reader does not send any message to the tag. Hence, how we can apply the proposed attack on OSK could arise in our minds. Although the reader does not respond in the third message flow, as presented in [12] the adversary can record the elapsed time till tag identification is realized by observing a validation event. For example, opening a door with a proximity card or acceptance of a payment card can be used as validation events. Nevertheless, one can argue that the work of attacker is more difficult than the cases of previous protocols. Therefore, we assume that the attacker's time distinguishing capability may be lower and set γ = 1 seconds. In addition, according to OSK protocol for each trial, 2 δ hash operations are computed. For δ = 128, we get m = 256, and by using (3), n = 4096 is evaluated. As a result, from the equation for advantage of the adversary Adv The source code was compiled using the MS Visual C# compiler with default optimizations. All of the experiments were run under the configuration shown in Table 1. We used random keys generated by .net System.Random class key generation routine. We measured the time using stopwatch class and take the averages in order to measure elapsed time accurately.
In the implementation of Rhee's protocol, we use the standard SHA-1 in MS .net System.Security.Cryptography class where we write a custom class for CRC implementation used in Duc et al.'s protocol. Our CRC routine uses a lookup table which reflects the lightweight feature of the protocol as it outperforms the SHA-1 implementation. In Tables 2  and 3, timings for exhaustive search steps of the protocols are tabulated, where "index difference" stands for |x − y| as mentioned in Lemma 1. As formulated in the previous

Countermeasures
Before giving our countermeasure against the proposed attack, we want to elaborate on some other obvious but not efficient techniques that remedy the security flaw. With consideration of the previous parts, intuitively one can provide security against the proposed timing attack by realizing the condition that the server response time variation for different tags is negligible, in other words, the server responds with an equal time and this is same for all tags. This condition can be achieved by using look-up tables as mentioned in [19] or artificially padding the delay in reader responses for all tags as reported in [14]. For the lookuptable model the server stores all possible answers of tags that are precomputed previously. Thus, in authentication phase the server avoids to make an exhaustive search, and instead responds in constant-time. Note that although this solution fixes the problem, constructing such a scheme with satisfying security and implementation requirements is impractical. In fact, if such a system exists, then clearly the use of exhaustive search in tag identification would be abandoned. On the other hand, inserting an artificial delay at the server side, determined by the worst case time, definitely eradicates the security flaw. However, this is clearly undesirable, because it reduces the efficiency of the overall system.
Our timing analysis and the experimental results of the previous section exploit the use of an SLAS RFID scheme which uses a static exhaustive search process on server authentication. However, if a dynamic search process is employed the described timing analysis would fail in measuring the running time differences for different tag searches. In this respect, the simplest countermeasure to avoid such attacks would be simply changing the starting 8 EURASIP Journal on Wireless Communications and Networking point of the exhaustive search process. We formulate this countermeasure as follows.
Countermeasure 1. Let an RFID system implements an SLAS scheme, having the same query sequence (C t ) for all of its search items such as {P 0 , P 1 , . . . , P l } for some positive integer l. Choosing nonidentical random query sequences (C t ) for all search items gives the desired protection for the described attacks.
Although Countermeasure 1 gives a wide range of selection having different implementation complexities, naturally, the simplest countermeasures come from setting minimal differences between query sequences. Observe that query sequences (C t ) can also be seen as permutations on N items where N is the number tags. Thus, composing the query sequences with the following constant cyclic permutation π j gives nonidentical shifted query sequences: π j (i)=i+r j mod N, for random r j , j = 0, 1,. . ., l, 0<i≤N.
In other words, for all search items {P 0 , P 1 , . . . , P l } we have the following general terms for the corresponding query sequences C πj (t) , for j = 0, 1, . . . , l.
In fact, this modification corresponds to random selection of the starting point of the exhaustive search process. Since we use different query sequences for different tag searches, for any selected two tags the index difference will also be different. Therefore, timing attacks would fail in measuring the time differences.

Conclusion
It is shown that exhaustive search process is crucial in RFID authentication protocols. Although the protocol might satisfy the necessary security requirements of the RFID system specifications, careless deployments of database search mechanisms could jeopardize the security of the whole system. Therefore, it should not be left to user's choice and has to be described precisely in the system specifications. We believe our attempt would point out this salient missing link in RFID security protocols and address the potential pitfalls or side channels in realizations.
In order to support our observation through a careful analysis we give the minimum index difference of two selected tags in database such that the attacker succeeds. In addition, the success probability of the proposed attack model is derived in terms of the number of tags in the system, number of cryptographic operations carried out by the server, the computational power of the server, and the sensitivity of the attacker in timing.
As a countermeasure for the timing attack, we propose a dynamic search process which would fail in measuring the running time differences for different tag searches. We claim that choosing nonidentical random query sequences (C t ) for all search items gives the desired protection for the described attacks.