You are on page 1of 6

Storage-Awareness: RFID Private Authentication based on Sparse Tree ∗

Weijia Wang, Yong Li, Lei Hu and Li Lu


State Key Laboratory of Information Security, Graduate University of Chinese Academy of Sciences
{wwj, yli, hu, luli}@is.ac.cn

Abstract The advantages of using RFID technology is growing


tremendously and is gaining much attention, which is seen
As the growing use of Radio Frequency Identification by an increase in its deployment, such as object tracking
(RFID) technology to enhance ubiquitous computing envi- and monitoring, supply-chain management, and personal-
ronments, the privacy protection problem becomes a crucial ized information services. However, these low-cost tags
issue. The objective of private authentication for RFID sys- provide no access control and tamper resistance to sensitive
tems is to allow valid readers explicitly authenticate their information and hence pose new risks to security and pri-
dominated tags without leaking tags’ private information. vacy. For example, without privacy protection, any RFID
To achieve strong privacy, recently, Lu et al. propose a reader can identify a consumer’s ID via the emitted serial
Strong and lightweight RFID Private Authentication proto- number from the tag. As a result, a buyer can be tracked
col (SPA), which enables dynamic key-updating mechanism and profiled by unauthorized marketers. Therefore, a se-
for balanced tree based authentication approaches. How- cure RFID system must meet two requirements, which also
ever, due to its balanced tree structure, SPA is still suscep- are the objective of private authentication. On one hand,
tible to compromising attacks. In this paper, we propose a valid reader must successfully identify the valid tags; on
a Storage-Aware Private Authentication protocol (SAPA). the other hand, misbehaving readers should not be able to
This scheme employs the sparse tree structure, and treats retrieve private information from these tags.
the path of each tag in the tree as an independent secret. As
a result, SAPA enjoys perfect privacy and largely reduces Related work. To address the above privacy protection
the space for storing key sequence on the side of the tag, issue in RFID system, many efforts have been made to
while keeping the key search complexity on the side of the achieve efficient private authentication. One method is
reader still be logarithmic. to employ encryptions in RFID authentication. Each tag
shares a unique key with the RFID reader and sends an en-
crypted authentication message to the reader. Instead of
identifying the tag directly, the reader hereby searches all
1 Introduction keys that it holds to recover the authentication message and
identify the tag.
Radio Frequency Identification (RFID) is a technology Weis et al. [12] first advanced the general approach of
for automated identification of objects in a contactless man- key search for RFID-tag identification. They proposed a
ner. RFID systems are made up of small and inexpen- hash function based authentication scheme, HashLock, to
sive transponders (tags) inserted into the objects, of read- avoid tags being tracked. In this approach, each tag shares
ers which communicate with tags using radio frequencies, a secret key k with the reader. The reader sends a random
and usually of a back-end database which contains infor- number r as the authentication request. To respond to the
mation on the tag. Tags, which have the ability to store reader, the tag generates a hash value on the inputs of r and
data and derive their power from the signal of an interro- k. The reader then computes h(k, r) with all stored keys
gating reader, are small microchips designed for wireless until it finds a key to recover r, thereby identifies the tag.
data transmission in response to interrogation by an RFID The search complexity of HashLock is linear to n, where
reader. Readers are often regarded as a simple conduit to n is the number of tags in the system. In practice, if the
back-end database; and it is generally assumed that the con- set of tags {Ti }ni=1 is large, then key search can be pro-
nection between reader and back-end database is a secure hibitively costly. Most subsequent approaches in the liter-
link. Thus, in this context, our focus is put on the commu- ature are aimed at reducing the cost of key search. In [7],
nication link between tags and reader. these approaches are classified into three types.
∗ Supported by NSFC(60573053). Tree based approaches: ([10, 9, 4, 8]) Molnar et al. [10]

Third International Workshop on Security


Privacy and Trust in Pervasive and Ubiquitous Computing (SecPerU 2007)
0-7695-2863-5/07 $25.00 © 2007
proposed a scheme in which a tag contains multiple keys updating from bottom to top in the tree, the tight relation-
instead of a single symmetric key. A virtual hierarchical ships among the adjoining tags is not essentially resolved
tree structure is constructed by the reader to organize these since they still use the balanced tree structure. On the other
keys. Every node in the tree, except the root, stores a unique hand, corresponding to balanced tree structure, especially in
key. Each tag is associated with a unique leaf node. Keys in a large scale RFID system, a long sequence of keys should
the path from the root to the leaf node are hereby distributed be stored, which can hardly be afforded for low-cost tags.
to this tag. If the tree has a depth d and branching factor α, In this paper, we propose a Storage-Aware Private Au-
each tag contains d keys and the entire tree can support up thentication protocol (SAPA). This scheme achieves an ef-
to N = αd tags. fective and efficient key-updating based on a sparse tree
A tag authenticates to a reader using each of its d keys. structure. In SAPA, for the first time, we treat the path of
The reader can identify a tag by performing a breadth-first each tag in the sparse tree as an independent secret. Instead
search in the key tree. In each hierarchy, the reader can nar- of the redundant keys in the non-leaf node [10, 8], such se-
row the search set within α keys. Thus, the reader only cret is stored in the tag and is updated by directly using a
needs to search d · α keys for each tag’s authentication. cryptographic hash function. As a result, SAPA enjoys per-
Therefore, the key search complexity of identifying a given fect privacy. Furthermore, by our approach, the key search
tag is improved from O(N ) to O(log N ). complexity on the side of the reader is still kept logarithmic,
In [4], Dimitriou provided a more efficient scheme which while the space for storing key sequence on the side of the
performs the authentication via one message from the tag to tag is largely reduced.
the reader and no further interactions. However, the tree
based approaches are often vulnerable to the Tag Compro- 2 SAPA Protocol
mising Attack. Because tags share keys with others in the
tree structure and most tree based approaches are lack of
2.1 Prior Schemes Overview
key-updating mechanism, compromising one tag results in
compromising secrets in other tags. To address this prob-
The primitive tree based scheme [10] is static, in which
lem, Lu et al. [8] proposed a Strong and lightweight RFID
the reader organizes and stores the keys for all tags by using
Private Authentication protocol (SPA) , which enables dy-
a balanced tree. Each node of the tree stores a key. A se-
namic key-updating approach for balanced tree based au-
quence of keys assigned to each tag are in turn disposed on
thentication approaches.
a unique path from the root to the leaf. The reader can iden-
Synchronization approaches: ([11, 6, 3]) Ohkubo et al.
tify a tag by performing a breadth-first search in the key
[11] employed counter and window technique to enhance
tree. This algorithm for the tag identification is efficient,
the authentication security. But such scheme is vulnerable
because the complexity of tree-based key search is logarith-
to Desynchronization Attack, in which an invalid reader can
mic. However, due to using the static tree structure, each
interrogate a tag many times so that the counter of this tag
tag will share some keys with others, more or less, which
exceeds the window recorded in the valid reader. For this,
leads to the leakage of parts of keys of innocent tags when
in [6, 3], by allowing tags report the number of incomplete
some tags are compromised.
authentications or increasing tag’s counter only after suc-
For this, very recently, Lu et al. [8] proposed a dynamic
cessful mutual authentications, the authors proposed their
key-updating scheme, SPA, which reduces the key relation-
respective protocols to mitigate the impact from desynchro-
ship between compromised tags and uncompromised ones
nization attacks. Those protocols, however, degrade the
by recursively updating keys in the tree. In this solution,
anonymity of tags. An attacker is still able to interrogate
the whole protocol procedure consists of two stages: Iden-
a given tag enough times so that the tag will be immediately
tification and synchronous key-updating. For example, as
recognized when replying unchanged responses.
shown in Fig.1, there are four tags T1 , T2 , T3 and T4 , and
Time-space tradeoff approaches:([1, 5]) Avoine [1] con-
the reader R stores their keys with a balance binary tree,
verted the key search problem to an attempt of breaking a
where all subtree state bits sli,j and sri,j are assumed to be
symmetric key. In [5], Hellman studied the key-breaking
zero in the beginning. Upon successfully identifying T1 ,
problem and claimed that to recover a symmetric key k from
the reader R updates k2,1 , sets the bit sl1,1 to be 1, and then
a ciphertext needs pre-computation and stores O(N 2/3 )
sends to tag T1 the synchronization updating information
possible keys. Accordingly, the key search complexity is
as a response. Similarly, when R finishes identifying T2 , it
O(N 2/3 ) in key-breaking based approaches.
updates k2,2 and set sr1,1 as 1. And then R checks sl1,1 and
Our contributions. Balanced tree based approaches are sr1,1 . If both of them are 1, R updates k1,1 , stores the old
t
efficient, nevertheless, not secure due to the tight relation- value in the temporary key k1,1 for the next identification
l
ships among the adjoining tags in the tree. Although Lu for T1 and in the end sets s0 as 1. Until now, one can easily
et al.[8] attempts to address this problem by recursive key- conclude that the key updating algorithm from the leaf to

Third International Workshop on Security


Privacy and Trust in Pervasive and Ubiquitous Computing (SecPerU 2007)
0-7695-2863-5/07 $25.00 © 2007
k0t ,k0 k m1 001
KH
l r s0l 1 s0r 1
s0 s0 k m2 010
k m3 110
k1t,1,k1,1 k1,t2,k 1,2
s1l,1 1 s1r,1 1 s1l, 2 0 s1r, 2 1
s1l,1 s1r,1 s1l,2 s1r,2

s2l ,1 0 s2r,1 1 s2l , 2 1 s2r , 2 0 s2l , 4 1 s2r , 4 0


k2,1 k2,2 k2,3 k2,4
T1 T2 T3 T4 k r1 k r2 kr3
T1 T2 T3
Figure 1. The balanced tree of SPA
Figure 2. The sparse tree of SAPA

the root is recursive, so here we no longer make a further


description. Refer to [8] for more details.
In fact, both ideas of the two schemes above make use R Ti
Request, r1
of the balanced tree structure to improve the search speed −
−−−−−−−−−−− →
at the cost of the storage of secrets held by each tag. For Identification. r2 , W Computing W .
←−−−−−−−−−−−−
example, let us consider the case that there are n = 220 tags
Computing ∆ ∆ Checking ∆
and each key is 64 bit, as a result each tags should store −
−−−−−−−−−−−

and key-Updating. then updating keys.
20 × 64 = 1280 bit keys, which will be a hard job for some
tags lack of memory resources.
On the other hand, although the key-updating mecha- Figure 3. The identification of SAPA .
nism in Lu et al.’s scheme, to a certain extent, reduces
the key relationship as a whole, local key relationships, es-
pecially between the tags whose last keys are brother leaf
nodes (we refer to them as brother tag, for simplicity), are d denote the depth of the tree. To present our scheme more
still kept relatively static. Therefore the compromise of clearly, we only described the scheme in terms of a binary
some tag still imperil the privacy of its brother tag seriously tree, but nothing restricts the sparse-tree-based scheme to
even if the aforementioned updating tactic is employed. binary trees. Hence α = 2 in the following. The secrets
To address the two problems above, we propose our so- held by each tag is a key triple (kh , km , kr ), where kh and
lution SAPA. kr are corresponding to the root and the leaf node in the
key tree S, respectively; km represents the path from the
2.2 Basic Idea of SAPA root to the leaf, of which each bit denote which subtree the
path will pass through (i.e. 0 refer to left subtree and 1 does
right one) in each level of the tree S. Each non-leaf node
In SAPA, we make use of a sparse tree structure, instead
is assigned with two state bit sl and sr , which are used to
of a balanced tree, to organize all tags’s keys. In the tree,
denote whether its left or right subtree exists.
none of non-leaf nodes (except the root) stores keys, and
each path from the root to the leaf, as an independent se- In the initialization, the tree S is empty. When the
cret, is held by the corresponding tags and is updated by us- n tags {T1 , T2 , ..., Tn } are enrolled into the system, the
ing cryptographic hash function in the key-updating stage. reader R first builds a root for the tree S and assigns to
As a result, with logarithmic search complexity, our scheme it a number KH chosen at random. Next, R generates n
1
enjoys both low key-storage cost and perfect privacy on the binary {(Km , Kr1 ), ..., (Kmn
, Krn )} randomly. For each bi-
side of tags. In the following , we present the description of nary (Km , Kr ), R inserts a branch (or path) in the tree
i i
our scheme which consists of four components: initializa- from the root, level by level, in turn according to each bit
tion, identification, key-updating and maintenance. of Km i
, assigns Kri to the leaf node of the branch, and
then distributes (KH , Km i
, Kri ) to tag Ti as its key triple
2.3 Initialization (kh , km , kr ). In the end, the reader R finishes assigning the
i i i

n tags to n branches in a sparse binary tree S. For simplicity


It is assumed that there are n tags Ti , 1 ≤ i ≤ n, and of exposition, we consider a simple and trivial case, where
a reader R in the RFID system. The reader R stores and there are only tree tags T1 , T2 and T3 and a sparse binary
organizes keys of all tags by using a sparse tree, called key tree of three levels are used to manage them, as illustrated
tree S. Let α denote the branching factor of the key tree and in Fig.2.

Third International Workshop on Security


Privacy and Trust in Pervasive and Ubiquitous Computing (SecPerU 2007)
0-7695-2863-5/07 $25.00 © 2007
2.4 Identification key tree S by the identification procedure. For generat-
ing new keys, R still makes use of the hash function h.
Let h denote a cryptographic hash function: {0, 1}∗ → Let khi , km i
, kri be the old key held by Ti , which also are
{0, 1}lr , where lr be a security parameter in the system. in the form of a branch in S mastered by the reader. The
i 
The authentication procedure between the reader R and a reader computes a new key from the old key as km =

tag Ti comprises three rounds, as illustrated in Fig.3. In h(km i
, kri , r1 , r2 , 1), kri = h(kri , km i
, r1 , r2 , 2). Next, the
the first round, R starts the protocol by sending a “Request” reader invokes the branch-deletion algorithm to erase the
i
and a nonce r1 to tag Ti . In the second round, upon request, branch corresponding to km from the tree S and inserts a
Ti generates a nonce r2 and computes a sequence of hash i 
new one corresponding to km in S by applying the branch-

chains insert algorithm. Finally it stores kri in the leaf node of the
new branch. Upon finishing the key-updating, R sends a
W ={h(khi , r1 , r2 ), h(h(khi , r1 , r2 ), km
i
[1]), ..., synchronization message ∆ = h(km i
, kri , r2 , r1 , 3) to Ti , as
h(h(h(...h(khi , r1 , r2 )), km
i
[l]), kri )}, shown in Fig.3. Having received these messages, Ti first
verifies whether or not ∆ = h(km i
, kri , r2 , r1 , 3). If yes, Ti
where km i
[j] denotes the j-th bit in the binary string km i
and updates its keys according to the synchronization message,
i
l is the size of km . Upon receipt of the authentication in- that is, it computes new keys just as the reader does above.
formation from Ti , R begins to identify Ti with the help of In the end, both the tag Ti and the reader R will share a new
i  i
key tree S. By using KH stored in the root, the reader R secret triple {khi , km , kr }.
first verify the first item h(khi , r1 , r2 ) in the authentication As for the updating of KH shared by all tags, we can
sequence. If it is valid, R invokes a recursive algorithm to implement it easily by employing the similar method as in
identify the following hash chains level by level in terms of [8].
the subtree state bit of non-leaf nodes until the leaf node.
For the example in Fig.2, the reader R authenticates tag 2.6 Maintenance
T1 . Let M = h(kh1 , r1 , r2 ), and the authenticators sequence
from T1 can be shown as follows Compared with the scheme provide by Lu et al. [8], it is
much easier for the system to withdraw or add tags in our
{M, h(M, 0), h(h(M, 0), 0), h(h(h(M, 0), 0), 1), scheme. For withdrawing a tag, the system calls the branch-
h(h(h(h(M, 0), 0), 1), kr1 )}. deletion algorithm to delete the corresponding branch from
the key tree. For adding a new one, the system chooses a
After successfully verifying M with h(KH , r1 , r2 ), new secret triple randomly, assigns it to the new tag and then
R computes h(h(KH , r1 , r2 ), 0) (if sl0 = 1) and invokes the branch-insert algorithm to add a corresponding
h(h(KH , r1 , r2 ), 1) (if sr0 = 1), and then compares them new branch from the root.
with the received h(M, 0). It is clear that the former is equal
to h(M, 0), which means that the tag is belonging to the left 3 Security Analysis
subtree of the root, thereby R continues to verify the next
hash chain by checking sl1,1 and sr1,1 . The rest identifica- In this section, we focus on the formal analysis of the
tion procedure may be deduced by analogy until R extends privacy of SAPA under compromising attack. The informal
the path (001) of T1 from the root to the leaf. Finally, R analyses of our scheme on the security requirements men-
finishes authenticating the whole hash chain sequence by tioned in [4] are similar to those of SPA in [8].
verifying the last hash chain with the leaf node kr1 . Note
that if both subtree state bit are zero or both the compar- 3.1 Model and Definition
isons between the hash chain from the target tag and the
reader’s own computation result fail at corresponding level Compromising attack is a serious active attack, in which
in the tree, the identification procedure of the tag fail and by compromising some tags’ keys, attackers attempt to trace
stop. the uncompromised ones. In the following, we make use of
a attack model to formalize the ability of adversary.
2.5 Key-Updating The model in this paper is mainly based on Avoine’s at-
tack model [2], in which the attackers and the RFID system
In the following, we introduce the key-updating algo- are abstracted into two participants: the Adversary A and
rithm, which are invoked by the reader after the aforemen- the Challenger C. Attacking-defending between the attack-
tioned identification step, as shown in Fig.3. It is assumed ers and the RFID system is like a game between A and C.
that the target tag is Ti , and the reader R has obtained Any attack on a given R or T can be represented as A’s
its corresponding branch from the root to the leaf in the calling on one of its oracle as follows:

Third International Workshop on Security


Privacy and Trust in Pervasive and Ubiquitous Computing (SecPerU 2007)
0-7695-2863-5/07 $25.00 © 2007
Query(T, m1 , m3 ): A sends a request m1 to T . Subse- Proof. In the proof, we use the random oracle model
quently, A receives a response from T . A then sends the (ROM) [14], in which hash functions are used as black box
message m3 to T . by attackers for whom they are indistinguishable from per-
Send(R, m2 ): A sends a message m2 to R and receives fectly random functions. Let A be an adversary attacking
R’s response. SAPA by asking at most qh queries to the hash oracle, qE
Execution(T, R): A acts as a man in the middle and ex- queries to the Execution oracle, qS queries to the Send ora-
ecutes an instance of P with T and R, respectively. A then cle, and qQ queries to the Query oracle. For simplicity, we
modifies the received response message from one side and assume that all tags held by challenger C (the RFID system)
relays it to another side. except T0 and T1 have been compromised by the adversary
Reveal(T ): After accessing this oracle of T , A compro- A. This means that the first keys kh ’s of T0 and T1 , which
mises T , which means A obtains T ’s keys. Note that A can is same for all tags, has been obtained by A, and the second
distinguish any given tag T from other tags if it can obtain keys km ’s of them used in each authenticating procedure
T ’s keys. also can be inferred by verifying the hash chain. We in-
Based on these oracles, the detailed procedure of a game crementally define a sequence of games starting at the real
between A and C is demonstrated by following steps. game G0 and ending up at the game G4 in which the advan-
1. A interacts with C by asking the above four oracles in tage of the adversary is zero. We define Succi as the event
polynomial times. that A guesses b hidden in C correctly in game Gi , and then
2. A tells C that the guess begins. C chooses two uncom- use the Shoup’s lemma [13] to bound their probabilities.
promised tags T0 and T1 . Furthermore, we assume that when the game below
3. For two tags T0 and T1 chosen by C, A accesses the aborts or stops with no answer for b hidden in the oracles
oracles (except the Reveal oracle) of T0 and T1 . For T0 from A, we guess a random bit for b, in which the success
and T1 , let OT0 and OT1 denote the sets of accessed oracles, probability of the adversary is straightforwardly 1/2.
respectively. Game G0 : This game represents the real attack game,
4. C selects a bit uniformly at random, and then provides where all the instances of C modeled as oracles are avail-
the oracles of the corresponding tag Tb (if b = 0, Tb = T0 , able to the adversary. By definition, we have
otherwise, Tb = T1 ) to A. For simplicity, we denote Tb as
A (A) = 2 · P r[Succ0 ] − 1.
cr
T . A then accesses T ’s oracles (except the Reveal oracle). AdvSAP (1)
Let OT denote the set of accessed oracles of T . Game G1 : In this game, C simulates the hash oracles (h,
5. Based on the results from OT0 , OT1 and OT , A out- but also additional hash function h :{0, 1}∗ → {0, 1}lr that
puts a bit b . If b = b, we say A succeeds; otherwise, A will appear in the Game G4 ) by maintaining hash lists Λ as
loses. In the model, we assume that A can access the or- follows.
acles of OT0 , OT1 and OT in polynomial times. Since T0
and T1 are randomly chosen from uncompromised tags, if • For a hash-query h(q) (resp. h (q)), such that a record
A can not guess successfully with the probability which is (q, t) appears in Λh (resp. Λh ), the answer is t. Oth-
non-negligibly higher than 1/2, it means that the RFID sys- erwise one chooses a random element t ∈ {0, 1}lr ,
tem is compromising resistance. answers with it, and adds the record (q, t) to Λh (resp.
Λh ).
3.2 Security Proof It also simulates all the authentication instances, as the
real system would do, for Query, Send and Executive-
Based on the above model, we formally show our queries. For this simulation, we can find that the game is
scheme SAPA satisfies compromising resistance by the fol- perfectly indistinguishable from the real attacks.
lowing theorem. Game G2 : In this game, C cancels games in which some
collision appears:
Theorem 1. Let qE , qS and qQ denote the number of
queries to Execution, Send and Query oracles, respectively, • collisions on the partial transcripts((r1 ,·)(r2 ,·)). Note
and let qh be the number of queries to the random oracle h. that transcripts involve at least one honesty party, and
Then, thus one of r1 or r2 is truly uniformly distributed.
(qE + qS + qQ )2 + qh2 • collisions on the output of h.
A (qE , qS , qQ ) ≤
cr
AdvSAP
2 · 2 lr
qS + qQ + qE + qh Since both probabilities are bounded by the birthday
+ (q +q +q )2 q2
2 lr paradox: P r[coll2 ] ≤ E 2·2Slr Q + 2·2hlr , we can get the
following lemma.
where lr is the security parameter in the RFID system.

Third International Workshop on Security


Privacy and Trust in Pervasive and Ubiquitous Computing (SecPerU 2007)
0-7695-2863-5/07 $25.00 © 2007
(qE +qS +qQ )2 +qh
2
Lemma 1. |P r[Succ2 ] − P r[Succ1 ]| < 2·2lr
. References
Game G3 : In this game, we modify the simulation of the or-
[1] G. Avoine, E. Dysli, P. Oechslin, “Reducing Time
acles by changing the authentication message from tags into
Complexity in RFID Systems,” in Proceedings of
{r2 , kh , rm , h(r1 , r2 , kh , km , kr )}, where rm is the random
SAC, 2005.
number selected by the oracles. Since there is no occurrence
of collisions and the adversary A has obtained the first key [2] G. Avoine, “Adversarial Model for Radio Frequency
kh , it is clear that the success possibility of A in the game Identification,” in Cryptology ePrint Archive, 2005.
is exactly the one in the previous.
Game G4 : In this game, C uses the its private oracles h , [3] T. Dimitriou, “A Lightweight RFID Protocol to Pro-
instead h, to generate the authentication messages and syn- tect Against Traceability and Cloning Attacks,” in Pro-
chronization ones. The two games G4 and G3 are perfectly ceedings of SecureComm, 2005.
indistinguishable unless A queries the hash functions h on
[4] T. Dimitriou, “A Secure and Efficient RFID Protocol
{r1 , r2 , kh , km , kr } or {km , kr , r2 , r1 , 3}. So, the lemma
that Could make Big Brother (partially) Obsolete,” in
follows from the fact that probability of the occurrence of
q +q +q +q Proceedings of IEEE PerCom, 2006.
the above two queries is at most S Q2lr E h .
qS +qQ +qE +qh [5] M. Hellman, “A Cryptanalytic Time-Memory Trade-
Lemma 2. |P r[Succ4 ] − P r[Succ3 ]| < 2lr
. off,” in IEEE Transactions on Information Theory,
Thus far, since no information on the bit b hidden by in 1980.
C is leaked to the adversary, we have P r[Succ4 ] = 1/2.
[6] A. Juels, “Minimalist cryptography for low-cost RFID
Combining with the previous lemmas, one gets the result
tags,” in Proceedings of SCN, 2004.
on compromising resistance in Theorem 1.
[7] A. Juels, “RFID Security and Privacy: a Research Sur-
4 Conclusions and Future Work vey,” in IEEE Journal on Selected Areas in Communi-
cations, 2006.
In this paper, we propose a RFID private authentication [8] L. Lu, J. Han, L. Hu, Y. Liu, and L. M. Ni, “Dy-
scheme, SAPA, to provide perfect privacy and low storage- namic Key-Updating: Privacy-Preserving Authentica-
cost for tags. To keep the pseudo-randomness and one-way tion for RFID Systems,” in Proceedings of IEEE Per-
properties of the cryptographic hash function and the sparse Com, 2007.
degree of the key tree, we suggest to use MD5 or SHA-1
as the hash function h in practice. For reducing the number [9] D. Molnar, A. Soppera, D. Wagner, “A Scalable, Del-
of computation rounds of tags, it is preferential to set the egatable Pseudonym Protocol Enabling Ownership
branching factor of the key tree α = 16 and encrypt four Transfer of RFID Tags,” in Proceedings of SAC, 2005.
bits of the second key of the secret with the hash function
[10] D. Molnar, D. Wagner, “Privacy and Security in Li-
each time. In a large scale RFID system, where are 220
brary RFID: Issues, Practices, and Structures,” in Pro-
tags or more, the search complexity of the reader will be 4
ceedings of ACM CCS, 2004
times as the one in the scheme of [8], and the complexities
of computations and communications of each tag will be [11] M. Ohkubo, K. Suzuki, S. Kinoshita, “Efficient hash-
nearly same as the ones of the scheme [8]. However, it is chain based RFID privacy protection scheme,” in Pro-
well known that the reader in the RFID system is assumed ceedings of Ubicomp, Workshop Privacy, 2004.
to be powerful, so it is justified to use our scheme to win
an overall improvement on privacy and save tag’s storage at [12] S. Weis, S. Sarma, R. Rivest, D. Engels, “Security and
the cost of acceptable increases in the search complexity of privacy aspects of low-cost radio frequency identifica-
the reader. tion systems” in Proceedings of SPC, 2003.
Certainly, especially for some small scale RFID systems,
[13] V. Shoup, “OAEP Reconsidered,” in Proceedings of
to limit the depth of the sparse key tree (i.e. to reduce
Cryptology, 2001.
the computation and communication cost in the tag side)
to a certain degree, we can consider to reduce the length [14] M. Bellare, P. Rogaway, “Random Oracles are Practi-
of the second key in the secret triple and only use parts cal: A Paradigm for Designing Efficient Protocols,” in
of hash function’s output, which will introduce some ad- Proceedings of ACM CCS, 1993.
ditional key-updating synchronization mechanism between
tags and the reader for treating potential hash collisions. It
will be an interesting challenge in the future work.

Third International Workshop on Security


Privacy and Trust in Pervasive and Ubiquitous Computing (SecPerU 2007)
0-7695-2863-5/07 $25.00 © 2007

You might also like