RFID Security and Privacy (Synthesis Lectures On Information Security, Privacy PDF
RFID Security and Privacy (Synthesis Lectures On Information Security, Privacy PDF
LI • DENG • BERTINO
SYNTHESIS LECTURES ON
INFORMATION SECURITY, PRIVACY, AND TRUST
M
&C Mor gan &Cl aypool Publishers
As a fast-evolving new area, RFID security and privacy has quickly grown from a hungry infant to
an energetic teenager during recent years. Much of the exciting development in this area is summarized
About SYNTHESIs
This volume is a printed version of a work that appears in the Synthesis
Digital Library of Engineering and Computer Science. Synthesis Lectures
provide concise, original presentations of important research and development MOR GAN &CL AYPOOL
topics, published quickly, in digital and print formats. For more information
visit www.morganclaypool.com
ISBN: 978-1-62705-325-9
SYNTHESIS LECTURES ON
Mor gan &Cl aypool Publishers 90000
INFORMATION SECURITY, PRIVACY, AND TRUST
w w w. m o r g a n c l a y p o o l . c o m
9 781627 053259
Elisa Bertino & Ravi Sandhu, Series Editors
RFID Security and Privacy
Synthesis Lectures on
Information Security, Privacy,
& Trust
Editors
Elisa Bertino, Purdue University
Ravi Sandhu, University of Texas, San Antonio
e Synthesis Lectures Series on Information Security, Privacy, and Trust publishes 50- to 100-page
publications on topics pertaining to all aspects of the theory and practice of Information Security,
Privacy, and Trust. e scope largely follows the purview of premier computer security research
journals such as ACM Transactions on Information and System Security, IEEE Transactions on
Dependable and Secure Computing and Journal of Cryptology, and premier research conferences,
such as ACM CCS, ACM SACMAT, ACM AsiaCCS, ACM CODASPY, IEEE Security and
Privacy, IEEE Computer Security Foundations, ACSAC, ESORICS, Crypto, EuroCrypt and
AsiaCrypt. In addition to the research topics typically covered in such journals and conferences, the
series also solicits lectures on legal, policy, social, business, and economic issues addressed to a
technical audience of scientists and engineers. Lectures on significant industry developments by
leading practitioners are also solicited.
Hardware Malware
Christian Krieg, Adrian Dabrowski, Heidelinde Hobel, Katharina Krombholz, and Edgar Weippl
2013
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in
any form or by any means—electronic, mechanical, photocopy, recording, or any other except for brief quotations
in printed reviews, without the prior permission of the publisher.
DOI 10.2200/S00550ED1V01Y201311SPT007
Lecture #7
Series Editors: Elisa Bertino, Purdue University
Ravi Sandhu, University of Texas, San Antonio
Series ISSN
Synthesis Lectures on Information Security, Privacy, & Trust
Print 1945-9742 Electronic 1945-9750
RFID Security and Privacy
Yingjiu Li
Singapore Management University
Robert H. Deng
Singapore Management University
Elisa Bertino
Purdue University
M
&C Morgan & cLaypool publishers
ABSTRACT
As a fast-evolving new area, RFID security and privacy has quickly grown from a hungry infant to
an energetic teenager during recent years. Much of the exciting development in this area is sum-
marized in this book with rigorous analyses and insightful comments. In particular, a systematic
overview on RFID security and privacy is provided at both the physical and network level. At
the physical level, RFID security means that RFID devices should be identified with assurance
in the presence of attacks, while RFID privacy requires that RFID devices should be identified
without disclosure of any valuable information about the devices. At the network level, RFID se-
curity means that RFID information should be shared with authorized parties only, while RFID
privacy further requires that RFID information should be shared without disclosure of valuable
RFID information to any honest-but-curious server which coordinates information sharing. Not
only does this book summarize the past, but it also provides new research results, especially at the
network level. Several future directions are envisioned to be promising for advancing the research
in this area.
KEYWORDS
RFID technology, RFID system, RFID security, RFID privacy, authentication, ac-
cess control, EPCglobal Network
vii
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 RFID Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 RFID Technology at the Physical Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 RFID Technology at the Network Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 RFID Security and Privacy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Preface
e purpose of this book is to provide a systematic overview on RFID security and privacy which
has been rigorously researched over the past decade. A unique feature of this book is that it orga-
nizes all material in two dimensions: (i) RFID security and privacy at (ii) physical and network
levels. Consequently, the following chapters are covered in this book.
• Chapter 1: Introduction. is chapter provides background knowledge about RFID tech-
nology as well as the two dimensions by which we organize this book. In one dimension,
RFID technology at the physical level is used to identify physical objects with RFID de-
vices, and RFID technology at the network level is used to share RFID information among
networked parties. In another dimension, security means that authorized entities can oper-
ate correctly in the presence of attacks, and privacy implies that an adversary cannot obtain
any unauthorized information from its attacks.
• Chapter 2: RFID Security at the Physical Level. e major concern in this chapter is how
to identify RFID devices correctly in the presence of attacks. is concern is addressed in
RFID tag/reader/mutual authentication, key distribution, path authentication, and clone
tag detection. RFID tag/reader/mutual authentication requires that only valid tags or/and
valid readers are accepted under certain adversary models. Since most RFID authentication
solutions rely on secret keys which are shared between tags and readers, the key distribution
problem should be addressed which deals with how to distribute necessary keys to readers in
a secure and timely manner. Another security issue at the physical level is path authentica-
tion, which accepts only those valid tags that have passed through valid paths. Finally, clone
tag detection is used to identify possible clone tags which bear the same IDs as genuine tags
in an RFID system.
• Chapter 3: RFID Privacy at the Physical Level. RFID privacy at the physical level requires
that RFID devices should be identified without disclosure of any valuable information about
the devices. While fixed pseudonyms may be used to prevent an adversary from knowing real
tag IDs, it is more challenging to ensure that an adversary cannot trace the movement of any
target tag from RFID communications. Various privacy notions are defined, analyzed, and
compared in a single-reader system, including indistinguishability based privacy (an adver-
sary cannot distinguish between two uncorrupted tags), unpredictability based privacy (an
adversary cannot distinguish protocol messages from random numbers), zero knowledge-
based privacy (whatever information an adversary can obtain from interacting with a target
tag can be derived by any simulator without interacting with the target tag), Vaudenay’s pri-
vacy framework with eight types of adversaries, and universal composibility-based privacy
x PREFACE
framework. In addition, various privacy notions are investigated in a multi-reader system,
including tag unlinkability, step unlinkability, and path privacy in path authentication, as
well as old owner’s privacy and new owner’s privacy in ownership transfer.
• Chapter 4: RFID Security at the Network Level. RFID security at the network level re-
quires that RFID information should be shared with authorized parties only. In EPCglobal
Network, which is a standard architecture for sharing RFID information, a new type of ac-
cess control (namely List-Chain-BAC) policies is defined for each EPCIS to specify who
can access its event data in EPCIS and who can query its event indexing data in EPCDS.
A unique feature of such access control policies is that they are defined based on partner
relationship with respect to certain RFID tags. is chapter also presents efficient new
algorithms for (i) EPCDS to enforce all policies defined by participating EPCISes and
(ii) EPCIS to enforce its policy when its event data are queried by users.
• Chapter 5: RFID Privacy at the Network Level. At the network level, RFID privacy re-
quires that RFID information should be shared without disclosure of valuable information
to any honest-but-curious server which coordinates information sharing. In EPCglobal
Network, it is crucial to protect the information registered by each EPCIS at EPCDS if
EPCDS is not fully trusted. is chapter discusses how to achieve anonymity of tag ID and
anti-tracing of tag ID in EPCDS.
• Chapter 6: Summary and Future Directions. After summarizing the major content of this
book, this chapter provides a list of promising directions for advancing the research in RFID
security and privacy.
Acknowledgments
e authors would like to thank their collaborators, postdocs, and students, especially Dr. Tieyan
Li, Professor Yunlei Zhao, Professor Changshe Ma, Dr. Eng Wah Lee, Wei He, Dr. Guilin
Wang, Dr. Junzhuo Lai, Dr. Kuo-Hui Yeh, Dr. Kevin Chiew, Dr. Chunhua Su, Dr. Jie Shi, Dr.
Qiang Yan, Dr. Zhongyang Zhang, Hongbing Wang, Shaoying Cai, Su Mon Kywe, Bing Liang,
and Ge Fu for their valuable contributions in research on RFID security and privacy.
e authors are also grateful to Diane D. Cerra and her colleagues at Morgan & Claypool
Publishers for their help and support in preparing this book for publication.
CHAPTER 1
Introduction
1.1 RFID TECHNOLOGY
Radio-Frequency IDentification (RFID) is a technology for an automated identification of ob-
jects using radio waves. RFID technology is widely envisioned to replace barcode technology in
the near future. Currently, RFID technology has been increasingly diffused in many applications
and industries, including supply chain management, manufacturing, logistics, supermarket, phar-
maceutical, hospital, library, airport, transportation, passport, bank notes, smartphone, payment,
asset management, and many more. In an emerging world of Internet of ings (IoT), RFID tech-
nology enables almost everything in the real world to be connected to a virtual cyber world so that
people can interact with the things remotely and conveniently. In this sense, RFID technology
would revolutionize network and IT technology, improve productivity, and change human life
significantly.
RFID technology can be investigated and applied at both the physical and network levels.
RFID technology at a physical level is mainly used to identify physical objects with RFID devices,
while RFID technology at a network level is mainly used to share the RFID related information
among networked parties.
information. RFID readers are more powerful RFID devices which interact with nearby RFID
tags via a wireless radio wave channel, and interact with a back-end server via the traditional
network connections (e.g., bluetooth, LAN, or internet). An RFID communication protocol is
executed by an RFID reader, its nearby tags, and a back-end server so as to identify the IDs
associated with the tags and to obtain more information about corresponding physical objects.
RFID technology is different from a traditional barcode technology in the following as-
pects. First, an RFID reader can interact with multiple RFID tags automatically and speedily
(certain RFID tags can be read at a speed of 1000 tags per second), while a barcode reader must
scan barcodes one by one manually. Second, an RFID reader can interact with RFID tags at a
distance (which may range from several centimeters to over 100 meters) without a line of sight,
while a barcode must be scanned with a line of sight in close proximity. ird, compared to a
barcode, an RFID tag can store much more information regarding physical objects such as ID
and access password. Lastly, the information stored in an RFID tag can be updated easily while
the information contained in a barcode is static. With all these differences, RFID technology
has triggered tremendous interests in replacing a barcode technology and developing numerous
innovative applications.
RFID tags can be active, passive, or battery-assisted passive. An active tag has a battery
on board and it can transmit electronic signals periodically. A passive tag has no battery, which
harvests power from the electronic signals of nearby RFID readers. A battery-assisted passive
tag has a small battery on board but it is activated only when receiving signals of nearby RFID
readers.
e electronic signals between RFID readers and tags may operate in different frequency
bands, such as standard near field communication (NFC) band 13.56 MHz (HF), and standard
EPC Gen 2 band 860-960 MHz (UHF). Usually, the higher the frequency, the longer the op-
erating distance between RFID reader and RFID tag, and the higher the data transmission rate.
NFC may operate in a range of centimeters, while EPC Gen 2 in a range of meters.
e nominal distances specified in RFID standards represent the maximal distances at
which a normal reader can reliably interact with a tag. An adversary equipped with sensitive
readers may interact with a tag from a distance longer than the nominal distance. In addition, an
adversary may eavesdrop on existing tag-to-reader communications and reader-to-tag communi-
cations at increasingly longer distances.
A major concern in RFID applications is the cost of RFID tags, especially in a large-scale
deployment. Passive tags may cost a few U.S. cents each, while battery-assisted tags and active
tags are more expensive, at a cost of a few U.S. dollars or even higher. With the Moore’s Law, the
1.3. RFID TECHNOLOGY AT THE NETWORK LEVEL 3
cost of RFID tags drops fast. A wide adoption of RFID technology is unstoppable when the cost
is low enough as compared to the various benefits it brings in.
Several organizations, including EPCglobal and ISO, have set up standards for RFID tech-
nology. In particular, EPCglobal, a joint venture between GS1 and GS1 US, leads the develop-
ment of industry wide global standards for the use of mostly passive RFID tags and EPC in today’s
global trading networks. It defines a UHF Class 1 Generation 2 (EPC Gen 2) air interface for
communication between RFID reader and EPC Gen 2 tags [2]. EPC Gen 2 tags are widely
adopted low-cost passive tags with a memory structure illustrated in Fig. 1.2. An EPC Gen 2
tag consists four memory banks, including 96 bit EPC number, 32-64 bit tag identifier (TID)
indicating the manufacturer of the tag, 64 bit reserved bank consisting of 32 bit kill password and
32 bit access password, and a user memory bank which may vary from 0–2048 bits or even more
depending on the manufacturer. EPC Gen 2 tags can be read at a speed of 1000 tags per second
and written at 7 tags per second given correct access passwords. EPC Gen 2 tags support on-
chip Cyclic Redundancy Code (CRC) computation, 16-bit Pseudo-Random Number Generator
(PRNG), and other lightweight operations such as XOR, MOD, and string concatenation.
CHAPTER 2
• Tag/Reader/Mutual Authentication: Tag authentication means that only valid tags are ac-
cepted by valid readers, while reader authentication requires that only valid readers are ac-
cepted by valid tags. Mutual authentication implies both tag authentication and reader au-
thentication.
• Key Distribution: Most RFID authentication solutions rely on secret keys which are shared
between tags and readers. In the case that a large number of tags are processed by multiple
parties, the key distribution problem should be addressed which deals with how to distribute
all necessary keys to each party in a secure and timely manner.
• Path Authentication: Path authentication is to accept only those valid tags that have passed
through valid paths, where valid paths are legitimate sequences of steps which valid tags
should follow.
• Clone Tag Detection: Clone tags bear the same IDs as genuine tags. Clone tag detection
identifies possible clone tags when both genuine tags and clone tags are processed in an
RFID system.
8 2. RFID SECURITY AT THE PHYSICAL LEVEL
2.1 TAG/READER/MUTUAL AUTHENTICATION
RFID tag/reader authentication means that only valid tags/readers are accepted by valid read-
ers/tags. Tag/reader authentication is usually performed based on certain secret keys stored in each
valid tag/reader and this fact is verified by a valid reader/tag in authentication process. Tag/reader
authentication being secure means that without corrupting a target tag/reader, it is computation-
ally infeasible for an adversary to impersonate the tag/reader.
More formally, the security property of RFID authentication can be defined in terms of
completeness and soundness [98, 110, 116]. Intuitively, completeness means that after any at-
tacks made by an adversary, authentication processes are still complete (i.e., uncorrupted tags and
readers can resume authentication processes whenever attacks stop). Soundness means that an un-
corrupted tag/reader is authenticated only if the corresponding protocol conversations complete
correctly. A formal description of these concepts will be given in Chapter 3.
In general, authentication may be performed with or without identification. Since identi-
fication is a major purpose of using RFID technology, we consider identification as a necessary
step in authentication.
1. the reader generates a random bit string r and sends it to the tag;
2. the tag digitally signs r with its privacy key ki and transmits generated signature sigi and
its certificate certi to the reader; and
where the certificate certi is issued to tag Ti ’s ID and it is signed by a certification authority
trusted by the reader. In this solution, the random string r should be long enough to thwart
replay attacks.
A simple public key solution can also be used for reader authentication as shown in [9],
where a public key-enabled tag attended by a person can verify a reader’s public key certificate
with efficient revocation checking. Hein et al. proved that it is feasible to implement ECC on
RFID chips [13].
2. e tag computes h D Fki .r/ and transmits h and its ID value IDi to the reader.
3. e reader authenticates the tag by verifying that h D Fki .r/ according to ki indexed by
IDi .
Provided that r is long enough and the keyed one-way function Fki is appropriately constructed
and deployed, it is computationally infeasible for an adversary to simulate any valid tag without
corrupting it. is protocol can be easily revised to achieve mutual authentication.
2. e tag generates another random bit string r2 , computes h1 D Fki .r1 / and transmits h1 ,
r2 and its ID value IDi to the reader.
3. e reader authenticates the tag by verifying that h1 D Fki .r1 /. If the tag is authenticated,
the reader computes h2 D Fki .r2 ; IDi / and transmits it to the tag; else it aborts the protocol.
OSK Internal Hash Chain In [44], Ohkubo, Suzuki and Kinoshita (OSK) proposed a scheme
which can be used for tag authentication. Under the scheme, each tag Ti has a initial secret key ki1
in its storage, which is different from other tags. e tag is equipped with two different one-way
hash functions H and G , where H is used to update the tag secret and G is used to compute a
tag pseudonym. A backend server maintains a list of pairs (IDi ; ki1 ).
10 2. RFID SECURITY AT THE PHYSICAL LEVEL
Each time tag Ti is queried by a reader, the tag will compute a pseudonym G.kij / from
its current secret key kij , transmit the pseudonym to the reader, and update its secret key to
kij C1 D H.kij /. To authenticate the tag, the backend server would perform an exhaustive search
to compute G.H ` .ki1 // for all keys stored in its database, incrementally iterating through each
value of ` (starting from zero) until a match with the received pseudonym is found.
is scheme provides tag authentication against passive attacks only. An active adversary
can simply query a valid tag and then replay its response to a valid reader, which would verify the
response and assume that it is from a valid tag [47].
Due to the need to compute hash chains and to perform exhaustive search during tag au-
thentication, a large amount of computational overhead is incurred at the backend server. Avoine
and Oechslin described a way to improve the efficiency of key search in OSK scheme based on
time-memory trade-off [46]; however, the security vulnerability of OSK scheme still exists.
YA-TRAP In [48], Tsudik proposed Yet Another Trivial RFID Authentication Protocol (YA-
TRAP). e protocol uses a time-based challenge issued by a reader to authenticate a tag. Each
tag Ti stores a secret key ki shared with a valid reader (or backend server) and records a timestamp
tlast which could be updated by a reader during the last protocol session. During the next protocol
session, the tag receives a timestamp tcurr from the reader and checks whether tcurr > tlast and
tcurr tmax . If the conditions are satisfied, the tag replies with the response
h D Hki .tcurr /;
where Hki is a keyed hash function computed with the secret key ki . e tag then updates
tlast tcurr . On the other hand, if any of the conditions is violated, the tag would simply re-
spond with a random number. To authenticate the tag, a valid reader (or backend server) searches
for appropriate ki in its record which can be used to verify h D Hki .tcurr /. To improve the effi-
ciency of tag authentication, the reader can pre-compute a table of h for all ki and all possible
tcurr in a time interval; tag authentication can be performed by looking up in the table.
YA-TRAP can be used to authenticate tags in the presence of passive attacks. An active
adversary who monitors the communication between various valid tags and readers can predict
a legitimate value for tcurr , use it to query a valid tag, and obtain a valid response. Moreover,
the adversary can repeatedly query the tag and use the obtained responses to impersonate it at
different time.
is scheme is also vulnerable to a denial of service attack, in which an adversary may
send tcurr D tmax to a target tag. In this case, a legitimate reader would no longer obtain any valid
responses from the target tag.
YA-TRAP+ and O-TRAP In [49], Chatmon et al. proposed YA-TRAP+ and the Optimistic
Trivial RFID Authentication Protocol (O-TRAP) to mitigate the drawbacks in YA-TRAP. Both
protocols provide tag authentication, while YA-TRAP+ can perform reader authentication as
well.
2.1. TAG/READER/MUTUAL AUTHENTICATION 11
In YA-TRAP+, each tag Ti stores ki and tlast and receives tcurr as a challenge from a reader
as in YA-TRAP. In addition, the tag also receives a random challenge r1 from the reader. e
tag’s response h1 is computed as follows:
Hki .0; tcurr ; r1 / if tcurr > tlast
h1 D ;
Hki .1; r2 ; r1 / otherwise
where r2 is a random number generated by the tag. Both r2 and h1 are sent to the reader. Under
YA-TRAP+, a valid reader would authenticate the tag by searching for appropriate ki which can
be used to verify h1 . Note that this authentication can be performed no matter whether the tag’s
copy of tlast is valid or not.
A valid reader can check out whether a tag has been desynchronized (i.e., tcurr tlast ) based
on the value of h1 . If the tag is desynchronized, YA-TRAP+ provides an optional pass to allow
the reader to resynchronize itself with the tag by sending a message h2 as follows:
e tag can then verify h2 and update tlast tcurr accordingly. While this step can be used to
verify the authenticity of the timestamp tcurr , it can also be used to authenticate the reader.
YA-TRAP+ is essentially a challenge response protocol with an additional capability of
detecting whether a tag has been desynchronized. To authenticate a tag, YA-TRAP+ requires a
valid reader (or backend server) to perform an exhaustive search of tag keys for verifying h1 .
e authors of YA-TRAP+ also proposed another tag authentication scheme, O-TRAP.
In O-TRAP, a reader uses a random challenge instead of a timestamp to authenticate a tag. Each
tag Ti uses a pseudonym nji to identify itself. e pseudonym has to be kept secret until it is
revealed by the tag when queried by a reader. ereafter, the pseudonym is updated with
where ki is a secret key stored in tag Ti and in the reader’s database, and Hki is a keyed hash
function. In O-TRAP, tag Ti generates a response h when queried by a reader with a random
challenge r , where
Both nji and h are sent to the reader. e reader uses tag pseudonym nji to locate tag secret
key ki (provided that the tag has not been desynchronized from the reader) and verify h. If h is
verified successfully, the reader updates nji C1 Hki .nji / in its database so that the pseudonym
is synchronized between tag and reader.
A valid tag would be desynchronized if an adversary induces the tag to update its
pseudonym. A valid reader would have to perform an exhaustive search on ki so as to find the
right match for h.
12 2. RFID SECURITY AT THE PHYSICAL LEVEL
LRP-PTCA In [47], Dimitriou proposed a Lightweight RFID Protocol to Protect against
Traceability and Cloning Attacks (LRP-PTCA). Under this protocol, each tag Ti has a unique
secret value kij in its storage; a valid reader (or backend server) has a record (H.kij /; kij ; IDi ) in
its database, where H is cryptographic hash function. Let Hk be a keyed hash function and G be
a one-way function. LRP-PTCA mutual authentication scheme works as follows between tag Ti
and a valid reader.
3. e reader retrieves kij from its database using H.kij / as an index and verifies Hk j .r2 ; r1 /;
i
if successful, the reader accepts the tag, updates kij C1 D G.kij / in its database, computes,
and transmits Hk j C1 .r2 ; r1 / to the tag; otherwise, the reader rejects the tag and aborts this
i
protocol.
4. e tag verifies HG.k j / .r2 ; r1 /; if successful, the tag accepts the reader and updates its key
i
kij C1 D G.kij /; otherwise, the tag rejects the reader.
In this protocol, a tag key is updated only after the tag authenticates the reader; therefore,
an adversary cannot induce a tag to update its key as in desynchronization attacks. It is possible
that an adversary blocks or alters the last message sent from reader to tag so that the tag does
not update its key while the reader has already updated it. To mitigate this attack, the reader
can maintain two records for each tag Ti , the updated one (H.kij C1 /; kij C1 ; IDi ) and the old one
(H.kij /; kij ; IDi ). Tag authentication can be performed efficiently without exhaustive search.
TBPA In [51], Molnar and Wagner proposed a Tree-Based Private Authentication (TBPA)
scheme. Let Fk be a cryptographic pseudo-random function (PRF); let ID and k be a tag’s ID
and secret key, respectively. At the server side, a balanced binary tree of secrets is used to index all
tags, where each leaf note points to a pair of .ID; k/. In a tag’s memory, the following are stored:
a pair of .ID; k/, and a sequence of secrets k1 (root), k2 ; : : : ; kd (leaf ) corresponding to the notes
along a path in the binary tree with the leaf note pointing to the tag’s .ID; k/. e scheme works
as follows between reader and tag.
• [Round 1 challenge:] e reader generates a random number r1 and sends it to the tag.
• [Round 1 response:] e tag generates a random number r10 , computes 1 D Fk1 .0; r1 ; r10 /,
and transmits r10 ; 1 to the reader.
• [Round 2 challenge:] e reader finds k1 in its tree (root) that satisfies 1 , generates a random
number r2 , computes 1 D Fk1 .1; r1 ; r10 /, and sends r2 ; 1 to the tag.
2.1. TAG/READER/MUTUAL AUTHENTICATION 13
• [Round 2 response:] e tag verifies 1 , generates a random number r20 , computes 2 D
Fk2 .0; r2 ; r20 /, and transmits r20 ; 2 to the reader.
•
• [Round d challenge:] e reader finds kd 1 in its tree that satisfies d 1 , generates a random
number rd , computes d 1 D Fkd 1 .1; rd 1 ; rd0 1 /, and sends rd ; d 1 to the tag.
• [Last round challenge:] e reader finds kd in its tree (leaf ) that satisfies d , retrieves .ID; k/,
computes d D Fkd .1; rd ; rd0 /, generates a random number r , and sends d ; r to the tag.
In this protocol, whenever the verification of i , i , for 1 i d , or ID fails, the protocol aborts.
e computation overhead incurred for tag authentication is O.log n/, which is more efficient as
compared to O.n/ if an exhaustive search of tag key is performed in tag authentication, where n
is the total number of tags in the system. e tradeoffs of this efficiency improvement are high
communication overhead (O.log n/ rounds of communications), high storage requirement on tag
(O.log n/ secrets in each tag), and high computation overhead on tag (O.log n/ random number
generations and O.log n/ PRF evaluations).
A vulnerability of this protocol is that if one tag is corrupted, other tags which share some
secrets with the corrupted tag will be affected (which may lead to privacy breach as discussed in
the next chapter). It is also costly to update tag secrets since some keys are shared across different
tags. For example, if the root secret k1 is updated, all tags in the system should update their secrets.
SPA Dimitriou [50] investigated how to reduce the communication overhead in RFID authen-
tication using a tree structure similar to TBPA scheme. Based on Dimitriou’s method, Lu et al.
[52] further investigated on how to update tag secrets in their Strong and Lightweight RFID
Private Authentication (SPA) protocol. Slightly different from TBPA scheme, SPA assumes that
each leaf note in the tree structure points to a tag’s ID. It also assumes that each tag stores a se-
quence of secrets k1 (root), k2 ; : : : ; kd (leaf ) which are the notes lying along a path of the index
tree. Let H be a cryptographic hash function. SPA works as follows between a reader and a tag.
Triggered Hash Chain and Variants In [54], Henrici and Muller proposed the Triggered Hash
Chain scheme. e scheme uses three different secure hash functions F; G , and H . e first hash
function is used by a valid tag to authenticate itself to a reader, the second hash function is used
by a valid reader to authenticate itself to a tag and to trigger an update of the tag’s key, and the
third hash function is used by both reader and tag to update the tag’s key. Let k be a tag’s key
and let .k; ID/ be a tuple stored in the backend server connected by a valid reader. e protocol
works as follows between a reader and a tag.
3. e reader authenticates the tag by verifying F .k/ in the server’s database (which can be
implemented by searching in a pre-computed table of .k; ID; F .k/); if it fails, the protocol
aborts; otherwise, the reader sends G.k/ to the tag, and updates the tag key k H.k/.
4. e tag authenticates the reader by verifying G.k/; if it fails, the protocol aborts; otherwise,
the tag updates its key k H.k/.
Since the reader’s last message in the above protocol (i.e., G.k/ in step 3) may not go
through (e.g., due to desynchronization attacks or electronic noise), the backend server needs to
keep a copy of each tag’s previous key in its database. e backend server will use the previous tag
key to authenticate a tag if the current tag key fails.
While this solution provides resilience to desynchronization attacks, it gives rise to a major
problem. When a tag is in a desynchronization status, an active adversary who has eavesdropped
16 2. RFID SECURITY AT THE PHYSICAL LEVEL
the previous protocol running can impersonate the tag by replaying F .k/, or impersonate a valid
reader by replaying G.k/.
In order to thwart the attack of replaying F .k/, two variants of the Triggered Hash Chain
scheme were proposed by Lim et al. [55]. e first variant (Challenge-Response Triggered Hash
or CRTH scheme) uses a challenge-response mechanism to enhance the original scheme: (i) the
reader sends a random number r in step 1, (ii) the tag replies with F .k; r/ in step 2, and (iii) this
reply F .k; r/ is verified by the reader in step 3 with an exhaustive search on k . Note that it is not
possible to pre-compute a table of F .k; r/ for all k and r due to the use of a fresh random number
in each protocol session.
e second variant (Forward-Rolling Triggered Hash or FRTH scheme) adopts a similar
mechanism used in the RIPP-FS protocol: (i) the reader sends the current time tn and a Lamport
hash value h to the tag in step 1, (ii) the tag replies with F .k; tn / in step 2 provided that the reader
is authenticated by verifying tn and h as in the RIPP-FS protocol, and (iii) the tag’s reply F .k; tn /
is verified by the reader in step 3. By enumerating all possible tn , the reader can maintain a table
of pre-computed .k; tn ; F .k; tn // for tag authentication in step 3.
In order to thwart the attack of replaying G.k/, the tag can generate a random number r 0
and append r 0 to its reply message in step 2. en, the reader sends G.k; r 0 / to the tag in step 3,
and the tag updates its key k after verifying G.k; r 0 / in step 4.
RCSC In [18], Li and Ding proposed a protocol for RFID Communications in Supply Chains
(RCSC). In this protocol, each tag Ti shares a secret key ki with a backend server connected
to valid readers. Let IDi be the ID of tag Ti . e tag stores a pseudonym ˛ D IDi ˚ ki in its
memory. A backend server maintains a database of .IDi ; ki /. Let H be a cryptographic hash
function. e protocol works as follows between a reader and a tag.
3. e reader authenticates the tag by searching in its database for a single record .IDi ; ki /
such that h D H.r ˚ IDi ˚ ki /; if the verification fails, the protocol aborts; otherwise, the
reader updates ki to a random ki0 and transmits a D ki ˚ ki0 and b D H.a ˚ IDi ˚ ki / to
the tag.
4. e tag authenticates the reader by verifying b D H.a ˚ ˛/. If it fails, the protocol aborts;
otherwise, the tag updates its pseudonym ˛ to be ˛ ˚ a.
To improve the efficiency of tag authentication, it is assumed that a fresh random number r can
be used for authenticating a batch of multiple tags, instead of a single tag. Before the arrival of
a batch of tags, the reader can generate a random number r and pre-compute a table .IDi ; ki ; h/
for all unmarked tags in its database. erefore, the authentication of each batch of tags can be
performed by searching in the pre-computed table.
2.1. TAG/READER/MUTUAL AUTHENTICATION 17
Since the reader’s last message in the above protocol (i.e., .a; b/ in step 3) may not go
through, the reader needs to keep a copy of each tag’s previous key in its database. e reader will
use the previous tag key to authenticate a tag if the current tag key cannot be verified.
Similar to Triggered Hash Chain and its varints, this protocol is subject to an attack of
replaying a; b in step 3 if the tag’s pseudonym is not updated in the last valid protocol session.
Moreover, an active adversary can query a valid tag with any random number r in step 1 and
get its reply h in step 2; then, the adversary can send .r; h/ instead of .a; b/ to the tag in step 3
and update the tag’s pseudonym ˛ in step 4. is desynchronization attack would render the tag
unrecognizable in the future.
In order to address the above attacks, the tag can generate a random number r 0 and send
h; r 0 in step 2. en, the reader sends a D ki ˚ ki0 and b D H.r 0 ˚ a ˚ IDi ˚ ki / to the tag in
step 3, and the tag updates its pseudonym ˛ after verifying b D H.r 0 ˚ a ˚ ˛/ in step 4.
A Brief Summary on Hash-Based Solutions Among the hash-based solutions reviewed above,
we highlight that OSK Internal Hash, YA-TRAP, and Triggered Hash Chain provide no guar-
antee on tag authentication; OSK Internal Hash, YA-TRAP, YA-TRAP+, and O-TRAP are not
designed to provide reader authentication; and RIPP-FS and Triggered Hash Chain are weak in
reader authentication.
In terms of computation on the reader/server side, the hash based solutions can be classified
into three categories: (i) exhaustive search, (ii) tree-based search, and (iii) table look-up. OSK
Internal Hash, YA-TRAP+, O-TRAP (for desynchronized tags), and CRTH belong to the first
category. Given an RFID system of n tags, the complexity of authenticating a tag is O.n/ in this
category. In the second category, TBPA and SPA use a tree structure to reduce the complexity
to O.log n/. e last category includes LRP-PTCA, YA-TRAP, O-TRAP (for synchronized
tags), RIPP-FS, Triggered Hash Chain, FRTH, and RCSC. e complexity of a table look-up
is negligible (often considered as O.1/) as compared to an exhaustive search or tree-based search.
In terms of computation on the tag side, most schemes require O.1/ hash or PRF compu-
tations except that the tree-based schemes, including TBPA and SPA, require O.log n/ hash or
PRF computations.
All schemes require O.n/ storage on the server side for storing tag IDs, keys, and other
information for all n tags. In terms of tag memory, the tree-based schemes (TBPA and SPA)
require O.log n/ storage while other schemes require O.1/ storage.
e communication cost can be measured by both the number of rounds and the communi-
cation overhead in each round. Except for TBPA scheme, which requires O.log n/ rounds, other
schemes requires two or three rounds of communication. e communication overhead of each
round is O.1/ for all schemes except that it is O.log n/ for the tag-to-reader communication in
SPA.
18 2. RFID SECURITY AT THE PHYSICAL LEVEL
2.1.4 LIGHTWEIGHT SOLUTIONS
Symmetric key-based and hash-based RFID authentication protocols are still too costly for low-
cost RFID tags. Low-cost tags, such as EPC Gen 2 tags, are equipped with a couple of thousand
gates in hardware implementations, which are mainly devoted to basic operations [19]. Only a
few hundred gates can be used for security operations [20]. In comparison, the smallest known
AES 128-bit implementation requires 3400 gate equivalents [11] on RFID tag design. As for
on-tag hash functions, the most compact hash function requires about 4000 gate equivalents [21]
constructed based on the block cipher PRESENT [15] with 128-bit output; a SHA-1 imple-
mentation on RFID tags requires about 5500 gate equivalents [14].
Lightweight (or ultra-lightweight) RFID authentication protocols are designed for low-
cost tags to perform only the most basic bitwise and arithmetic operations. Unfortunately, most
lightweight RFID authentication protocols have security flaws. Several examples are given below.
Peris-Lopez et al. proposed two lightweight RFID mutual authentication protocols,
LMAP [22] and M2 AP [23]. ese two protocols use only simple bitwise operations, includ-
ing bitwise XOR, bitwise OR, bitwise AND, and modular addition, which require only about
300 gate equivalents in tag design. Li and Wang discovered that these protocols suffer from a de-
nial of service attack (an adversary who eavesdrops one protocol run can desynchronize a tag and
make it unrecognizable) and full disclosure attack (an adversary who interacts with a reader and a
tag can derive all secret information about the tag) [24]. Li and Wang also proposed countermea-
sures to improve the security of LMAP and M2 AP. Unfortunately, Chien and Huang discovered
that the improved scheme is still subject to a full disclosure attack [25].
Another example is “SASI: an new ultra-lightweight RFID authentication protocol pro-
viding strong authentication and strong integrity” proposed by Chien [26]. A passive attack can
be used to reveal the secret information of tag by eavesdropping a number of protocol sessions
[28]. In addition, two desynchronization attacks are discovered by Sun et al. to break this protocol
[27].
For EPC Gen 2 tags, no authentication mechanism is given in EPC class 1 generation
2 standards (or ISO 18000-6C standards). Each EPC Gen 2 tag is in its open state by factory
default; that is, access password is all zeros and all memory banks can be read or written by any
EPC Gen 2 reader. If a non-zero access password is assigned to a tag, the tag is moved to its
secured state. After that, an EPC Gen 2 reader can send the right access password to the tag and
choose to lock any of its memory bank or change the lock state (only reserved bank, including kill
password and access password, can be both read and write locked; other banks can be read locked
only). e kill password can be used by an EPC Gen 2 reader to disable the tag permanently.
Since the access password sent by a reader to a tag is not protected, an adversary can
eavesdrop it and access the tag later. To address such vulnerability, Konidala et al. proposed a
lightweight RFID mutual authentication protocol [29], where a simple pad generation (PadGen)
function is used to generate cover-coding pads to mask a tag’s access password before it is trans-
mitted between reader and tag. e pads are generated based on the tag’s access password, kill
2.1. TAG/READER/MUTUAL AUTHENTICATION 19
password, and random numbers which are known to both reader and tag in interaction for mutual
authentication.
Peris-Lopez et al. discovered some security flaws in this protocol such that an adversary
can recover both access password and kill password with a high probability [30]. To address the
weaknesses of Konidala-Kim-Kim protocol, different PadGen functions are proposed by Huang
et al. [31, 32]; unfortunately, the revised solutions are still vulnerable since an adversary can recover
a tag’s access password with a high probability [33].
ere exist many other lightweight RFID authentication protocols such as [70, 71, 72].
Most of these protocols are weak in terms of security or they need more assessment. It is still
challenging to design lightweight RFID authentication protocols that are provably secure under
a strong adversary model. A promising direction to address this challenge is given below.
HB Protocol and Variants HB is a lightweight tag authentication protocol due to Hopper and
Blum [56]. Let k be an `-bit secret key shared between a tag and a reader. Let be a random
noise bit generated by a tag which takes value 1 with probability < 0:5. HB protocol works as
follows between a reader and a tag.
• A single round:
1. e reader generates a `-bit random number r and sends it as challenge to the tag.
2. e tag generates a random noise bit with parameter , computes a D .r ı k/ ˚
(where ı means binary inner product), and transmits a as response to the reader.
‹
3. e reader checks whether the tag’s response a is correct (i.e., a D r ı k ).
• Repeat rounds.
• Accept if fewer than of tag responses are incorrect.
HB protocol is lightweight since it requires a tag to perform bitwise AND and XOR operations
only; also, a single noise bit can be cheaply generated in each round. HB protocol is proven
secure against passive adversary. If the noise bit is not used in HB, a passive adversary capturing
enough challenge-response pairs can easily derive k by solving a linear equation system. However,
with the noise bit involved, the problem of deriving k from multiple challenge-response pairs
is NP-Hard. is problem is often referred to as the Learning Parity in the Presence of Noise
(LPN) problem.
HB protocol is vulnerable to active adversary. For example, an active adversary can send a
challenge r D .1; 0; 0; : : : ; 0/ to a tag. e tag will reply with k1 ˚ where k1 is the first bit of
k . Observing multiple rounds, the adversary can get the true value of k1 from the majority of tag
responses. Similarly, the adversary can derive k2 ; : : : k` .
To address the vulnerability of HB against active adversary, Juels and Weis proposed HB+
[57], where tag and reader share two keys k; k 0 of length `. e protocol works as follows between
a reader and a tag.
20 2. RFID SECURITY AT THE PHYSICAL LEVEL
• A single round:
1. e tag generates an `-bit random number r 0 and sends it as blinding factor to the
reader.
2. e reader generates an `-bit random number r and sends it as challenge to the tag.
3. e tag generates a random noise bit with parameter , computes a D .r ı k/ ˚ .r 0 ı
k 0 / ˚ , and transmits a as response to the reader.
‹
4. e reader checks whether the tag’s response a is correct (i.e., a D .r ı k/ ˚ .r 0 ı k 0 /);
• Repeat rounds.
• Accept if fewer than of tag responses are incorrect.
HB+ protocol is proven secure in a detection-based model where an adversary can only initiate
or observe successful authentication sessions in its learning phase—if an authentication session
fails, the adversary is considered to have been unsuccessful. A more desirable model is prevention
based, in which an adversary can learn from both successful sessions and unsuccessful sessions
(e.g., by monitoring a valid reader’s output). e prevention-based model can be used to ensure
against tag cloning regardless of whether or not an adversary is detected in its learning process.
Under the prevention-based model, HB+ is vulnerable to an active man-in-the-middle
attack [58]. In this attack, an adversary modifies all reader challenges r to r ˚ .1; 0; 0; : : : 0/,
which lead to tag responses
erefore, all tag responses are affected by k1 – either all are flipped (k1 D 1) or they remain to
their original values. e adversary observes the reader’s reaction: if the reader accepts the tag,
then k1 D 0; otherwise, k1 D 1. Similarly, the adversary can obtain k2 ; : : : k` .
Besides the attack, it should be noted that HB+ may not be suitable for efficient imple-
mentation on low-cost tags because: (i) a multi-bit random number must be generated by tag in
each round and (ii) there is no good set of parameters so far for choosing `; , and in HB+ due
to contradictory upper bounds and lower bounds of these parameters. e upper bounds of these
parameters should be determined according to tag memory constraint (on `), time and bandwidth
constraint (on ), false acceptance rate, and false reject rate requirements (on ). On the other
hand, the lower bounds of these parameters should be determined such that a computationally
bounded adversary cannot succeed in impersonating a tag with a probability noticeably higher
than 1/2.
Besides HB+, many other HB variants exist, including HBCC [59], HB-MP [60], HB
[61], HB-MPC [62], Trusted-HB [63], and HB# [64]. However, all of these protocols are proven
2.1. TAG/READER/MUTUAL AUTHENTICATION 21
N
insecure against certain man-in-the-middle attacks. Some recent results (e.g., HB [65]) requires
a two-dimensional matrix as tag key, which may not fit into the memory of low-cost RFID tags
such as EPC Gen 2 tags. Clearly, more research effort should be made on designing lightweight
RFID authentication protocols that are suitable for low-cost RFID tags.
t ı
dD c;
2
Secret Sharing Across Space Sender A shares a secret key y with receiver B across a set of tags
T1 ; : : : Tn in a case (or pallet). A transforms y into n shares S1 ; : : : ; Sn and stores each share Si
in tag Ti such that y can only be recovered from at least k (where k < n) shares. In this case, the
limited adversary access assumption means that an adversary cannot access any k or more than k
tags in a case of n tags.
In a perfect secret sharing scheme, the length of each share Si is the same as that of key y
(e.g., 128 bits). Of course, for RFID applications, the shorter the length of each share, the better.
A generic robust secret sharing scheme with tiny shares, which is named as tiny secret sharing
(TSS) scheme, is proposed in [73] to reduce the length of each share to 16 bits or less with proper
parameters.
e fact of B being able to recover a secret key y in a secure environment means that most
of the tags (at least k out of n tags) in the case are present and thus authenticated. is means that
party B can authentication a group of tags in a case with no necessity of authenticating individual
tags.
In order to protect the secrecy of tag data (e.g., EPC code) mi associated with each tag
Ti , one may encrypt mi with y and store the ciphertext Ey .mi / together with the share Si in Ti .
Only the legitimate receiver who can read at least k shares from a case of n tags can recover the
key y and thus have access to the content mi of each tag.
Secret Sharing Across Time In the case that an adversary has the capability of scanning all
tags in some whole cases, it is vulnerable to use “secret sharing across space” since the adversary
can recover the secret key with enough shares in attacks. A “secret sharing across time” solution,
24 2. RFID SECURITY AT THE PHYSICAL LEVEL
which is named sliding-window information secret sharing (SWISS), is proposed to address this
vulnerability. e assumption is that an adversary cannot get access to more than k 1 cases in
any contiguous sequence of n cases.
In SWISS, a secret key yi is assigned for each case i . A share Sj of yi is generated by the
sender A and written to case j (the share can be distributed across tags or written on a case-
specific tag). e sender A sends a sequence of cases to the receiver B. Within any contiguous
sequence of n cases, only the legitimate receiver who receives at least k shares is able to recover
all assigned keys for the received cases. e construction of SWISS ensures that the size of each
share is a small constant independent of n and k [73].
Batch Goods Delivery Scenario ree different roles in a batch goods delivery scenario: Alice,
Bob and Carol. Alice, denoted by A, is the sender of a batch of goods (e.g., a manufacturer); Bob,
denoted by B, is the receiver of the batch (e.g., a distributor who receives the goods from A); and
Carol, denoted by C , is the ird Party Logistics (3PL) partner (e.g., a transporter or carrier of
the goods from A to B).
Suppose A and B (and C ) signed contracts for the purchase and delivery of some goods
beforehand. Now, the goods must be delivered from A to B by C to fulfill the contracts. If each
item of the goods is attached with an RFID tag, a supply chain party can process the goods in
an efficient way (by scanning all items once in a whole). It is also desirable to provide necessary
security features such as anti-cloning without incurring much additional cost.
As an example, Fig. 2.1 illustrates the scenario where a batch of 50 tags are packed into 3
cases, including a 5 5 case, a 4 4 case and a 3 3 case. ese cases are delivered from A to B
2.2. KEY DISTRIBUTION 25
via different physical flows by C (including C1, C2, C3, respectively). Some shared information
prepared by A can be sent to B and C separately via the information flow. Facilitated with RFID
technology, C can scan all RFID tags periodically during delivery, until all of them arrive at
B. e scanning can be used to check the existence of most tags in the batch. If any adversary
exists in the delivery path, however, s/he may clone some tags and thus replace authentic goods
with counterfeited goods even though the adversary may not be able to know the secret keys for
decrypting the tags’ contents as in the secret sharing schemes proposed in [73]. To address this
concern, it is proposed that the RFID tag authentication problem should be tackled such that
nobody (even C ) except A and B can access the tags’ content while C is enabled to check the
existence of most of the tags in a batch conveniently.
Two kinds of flows are identified during the process of goods delivery. One is the physical
flow in which the goods are transported by C through containers on ships or trucks. e other
is the information flow between A, B, and C . e information collected from both flows is used
for the purpose of achieving certain desired security properties.
Desired Security Properties e following security properties are identified for guaranteeing
secure goods delivery in the batch goods delivery scenario.
• Authentication of tags in cases. C wants to authenticate RFID tags case by case periodi-
cally. Other than authentication purpose, C has no more advantage to access or even clone
any tags. Both group authentication (case based), and individual tag authentication are nec-
essary for C to operate efficiently and accurately.
• Authentication of tags in batch. B wants to authenticate RFID tags in batches as the final
verification. Being the new owner of the tags, B shall grasp all (secret) information about
individual tags and have the capability to update the tags.
• Accessibility of individual tags. Besides A, only B can access individual tags. C or any
adversaries cannot access nor clone any tags.
26 2. RFID SECURITY AT THE PHYSICAL LEVEL
• Secrecy of tag IDs. In the sense of protecting tag identifier, all tags’ IDs are encrypted by
a secret key, which can only be recovered by B. Without necessary authorization, C cannot
even access the encrypted IDs.
To address the “key distribution” problem, Li et al. designed a resilient secret sharing (RSS)
scheme which has the desired properties [74].
Resilient Secret Sharing Scheme: Preliminaries. In order to achieve all the security properties,
a resilient secret sharing (RSS) scheme is designed. e proposed scheme inherits the merits of
JPP solutions in terms of tiny shares and secret sharing based on error-correcting code. It also
enhances JPP solutions with stronger security due to collecting shares from two different sources,
including physical flow and information flow.
As defined in [73]: an n-party secret-sharing scheme is a pair of algorithms ˘ D
.Share; Recover/ operating over a message space X, where
Utilizing Error Correcting Code (ECC), a generalization of the secret sharing scheme is de-
fined as ˘ ECC D .ShareECC ; RecoverECC /. An .n; k; d /Q -ECC operates over an alphabet ˙ of
size j˙ j D Q. ShareECC maps ˙ k ! ˙ n such that the minimum Hamming distance in symbols
between (valid) output vectors is d . For such share function (ShareECC ), there is a corresponding
recover function (RecoverECC ) that recovers a message successfully with up to .d 1/=2 errors or
d 1 erasures.
An adversary model for RSS is adapted from [73], which in turn is obtained by extending
the model given in [75]. Two security requirements are defined under the adversary model: privacy
and robustness. Given a limited number of shares, an attack against privacy aims to recover a secret
x shared among n parties. A robustness attacker tries to tamper a number of shares such that a
legal user cannot recover the correct secret x . Formal definitions on the two security requirements
are given below.
An ordinary adversary can actively attack the communication links. e privacy require-
ment means that an underinformed adversary, who has access to limited number of shares, should
not be able to recover the secret unless he can get access to at least k correct shares. In particular,
we consider gradated, rather than perfect or computational secret sharing schemes. In gradated
secret sharing schemes, an adversary with limited number of shares may be able to get partial
information about the secret, though it cannot completely recover the secret itself. Moreover, the
more the shares the adversary obtains, the more information it reveals. In the following formal
2.2. KEY DISTRIBUTION 27
definition of privacy, oracle corrupt.S; i / is defined as a function of .S; i /, i.e., when the adversary
submits i it will get Si , the i -th share of a secret x .
Definition 2.1 Privacy A (k; n)-RSS scheme (˘ ; X) satisfies .qp ; tp ; "p /-privacy w.r.t. under-
informed attackers, if for any adversary A who can make qp corrupt queries to acquire qp shares
(Sp denotes the set of these qp shares) corresponding to a shared secret x and can run within the
time of tp , A’s advantage to win the following experiment ExpPri Pri
A , i.e., ExpA outputs 1, is not
greater than "p :
4
AdvP ri
A Œ˘ ˘ ; X D PrŒExpPri
A D 1 "p : .1/
Experiment ExpPri A
1) x R X
2) S D .S1 ; ; Si ; ; Sn / Share.x/
3) x 0
A corrupt.S;/
.Sp W Sp S ^ jSp j D qp /
4) Return ‘1’ if x D x 0 , else ‘0’.
Privacy Experiment
Informally, the robustness requirement means that the original secret can be recovered even
if the adversary has tampered some of the shares corresponding to the shared secret.
Definition 2.2 Robustness A (k,n) RSS scheme (˘ ; X) is .qr ; tr ; "r /-robust, if for any adver-
sary A who can make qr corrupt queries to get and tamper qr shares (those original and tampered
qr shares form sets Sr0 and Sr00 , respectively) of a shared secret x , which is selected by A itself, and
has running time within tr , A’s advantage to win the following experiment ExpRob A , i.e., ExpA
Rob
Definition and Security of RSS Recall McEliece’s secret sharing scheme based on Reed-
Solomon (RS) codes [76]. Let B D .b1 ; b2 ; : : : ; bk / be the secret, where bi is an m-bit sym-
bol in GF(2m ). ere exists a unique codeword D in the .k; n/-RS code (n < 2m ) with D D
.d1 ; d2 ; : : : ; dn /, where di D bi for 1 i k . Only the rest n k symbols fdi j.k C 1 i n/g
are available for distribution to those sharing the secret. Of all shares, at least k shares are required
to recover the secret.
28 2. RFID SECURITY AT THE PHYSICAL LEVEL
Experiment ExpRob A
1) x A, where x 2 X
2) S D .S1 ; ; Si ; ; Sn / Share.x/
3) Sr00 Acorrupt.S;/ , where jSr00 j D qr
4) x 0 RecoverfSr00 [ .S Sr0 /g
0
5) Return ‘1’ if x ¤ x , else ‘0’.
Robustness Experiment
At a high level, RSS scheme aims at achieving resiliency by combining shares from both
physical flow and information flow. Suppose there is only one case containing r tags in the physical
flow, and a database as the source of an information flow. One portion of the shares (typically
one share for each tag) is assigned to the tags, while the other portion of the shares is stored in
the database. For a .k; n/-RS code, one may assign r shares to r tags and n k r shares to the
database (assuming r < n k ). It is required that any single flow can not contribute enough shares
on recovering the secret (so, r < k and n k r < k ). In other words, the secret is recovered with
shares contributed from both flows as illustrated in Fig. 2.2.
Figure 2.2: RSS Scheme [74]. A secret x is shared into n k available shares, in which r shares are
distributed into r tags respectively and the other n k r shares are stored in a database.
Ideally, all r tags in a case can be scanned for sorting out all r shares. However, 100% reading
is typically not guaranteed in practice as there always be some (e.g., 2 3%) reading failures in
realistic RFID deployments. Suppose all but ı tags are correctly scanned, up to r ı shares can
2.2. KEY DISTRIBUTION 29
be obtained from the readings. Tolerating the reading errors, RSS scheme allows more shares
contributed from the information flow so as to compensate the missing shares in the physical
flow. To ensure this resiliency, ı more shares are required to be stored in the database.
In ECC-based secret sharing scheme, a share is a symbol in a codeword (e.g., in RS code),
which is much shorter than the original secret. An adversary could launch a guessing attack to try
all the possibilities of a missing share. For instance, for a RS-code on GF(2m ), such guessing attack
needs 2m brute-force trials. To defend against the guessing attack launched by an adversary who
can scan all tags, RSS scheme requires at least t shares contributed by the server in any recovery
operation. us, a brute-force guessing attack may take 2t m trials to recover the secret. is
means, given system security parameter 128 bits, and m D 16, one may choose t D 8.
According to the above requirements, RSS scheme allocates a minimum t shares and a
maximum t C ı shares to be stored in the database. On the other hand, the server should not be
able to calculate the secret alone with its own shares, or even in a brute force attack; therefore,
it is required that k 2t C ı . e assumption on server is that it either collects all tags in a case
and reads r r ı tags, or collects no tag/case at all. Since any combination of r C t shares is
enough to recover the original secret, the threshold is set to k D r C t . Also, k 2t C ı implies
r t C ı ; otherwise, the server is able to guess up to t 1 shares.
A formal definition on RSS and a theorem on its security are given below [74].
Definition 2.3 RSS Scheme A .k; n/m;t;r;ı -RSS scheme is a tuple (˘ ECC ; X), satisfying
t m ( is the security parameter of the system), k D r C t , r t C ı , and n D 2r C 2t C ı ;
˘ ECC distributes n k shares of a secret x 2 X, to the tags (totally r shares) and to the database
(totally t C ı shares). Collecting r ı r shares from tags, and correspondingly, t C ı t
shares from the database, suffices to recover x .
eorem 2.4 Security of RSS (a) For .k; n/m;t;r;ı -RSS scheme (˘ ECC ; X), any underin-
formed adversary A’s advantage is bounded by "p :
AdvPri
A Œ˘˘ ECC ; X "p 1=2m.k qp /
; .3/
where qp k D r C t .
(b) For .k; n/m;t;r;ı -RSS scheme (˘ ECC ; X), any adversary A with unbounded running time
making up to qr d=2 (or qr b.d 1/=2c) corruptions has advantage zero to win the experi-
ment ExpRob
A :
AdvRob ˘ ECC ; X D "r D 0:
A Œ˘ .4/
30 2. RFID SECURITY AT THE PHYSICAL LEVEL
Secret Generation and Sharing Consider an example where there are totally R tags attached on
goods as a batch to be transferred from A to B, via C . e tags in the batch are allocated equally
into l cases, each having r tags (R D l r ). It is assumed the batch has a suitable size such that r
or R is not too big to be contained; otherwise, the batch can be considered as a number of blocks
with suitable sizes, which are processed as one unit.
Before the delivery of goods, A generates a secret x for each case and y for the whole batch
such that x; y 2 X and jxj D jyj D , where is the security parameter of the system.
At case level, A employs a .k; n/m;t;r;ı -RSS scheme according to the definition of RSS and
distributes the case secret x . For all r tags in a case, A assigns one share to each tag. A also assigns
t C ı shares to C to facilitate the verification by C on such case during delivery.
At batch level, A employs a .K; N /m;t;R; -RSS scheme to distribute the batch secret y .
For all R tags in a batch, A assigns one share to each tag. A then assigns t C shares to B to
facilitate the verification by B on the whole batch.
In this setting, a tag is assigned with two shares: one for the case and one for the batch.
Collecting the shares from the tags, C and B can recover the case secret and batch secret, respec-
tively, together with their contributed shares given by A. e schematic of RSS construction is
illustrated in Fig. 2.3.
Figure 2.3: Schematic of RSS Construction [74]. e case secret x is shared for Case 1, in which r
shares are distributed into tags and the rest n k r shares are stored in the database (to be assigned
to C ); the batch secret y is shared, in which R shares are distributed into all tags in the batch and the
rest N K R shares are stored in the database (to be assigned to B). us, an encoded tag carries 2
shares.
2.2. KEY DISTRIBUTION 31
Tag Encoding Two shares are assigned to each tag Ti , including a case share Six A C
Share .x/
(1 i r ) and a batch share Sjy ShareA B .y/ (1 j R). e size of each share could be
m D 16 bits, which is tiny (e.g., 32 bits in total for carrying 2 shares) and suitable to be embedded
into an EPC Gen 2 tag. In practice, another 16 bits (or less) are used for making the shares in
an ordered sequence. us, for an EPC Gen 2 tag, 48 lower significant bits (LSBs) of the EPC
memory bank can be used for storing the sequence number and the shares; the other 48 bits
can be left untouched for classification purpose, or filled with arbitrary random value for privacy
purpose. e overall value in the EPC memory is then named as pseudo-ID (or PID) for a tag.
e original 96-bit EPC code, denoted as ID, is moved from the “EPC Memory” Bank
to the “User Memory” Bank. To provide secrecy protection to the EPC code, it is stored in an
encrypted form, so that no one can decrypt it and obtain the original code without a proper
key. As B will be the next owner of the tags, B should possess the proper secret to decrypt the
real IDs of received tags. Since y is the only secret shared between A and B, the encryption
key e is derived from y such that e D H.y/, where H.:/ is a cryptographic hash function. en
the encryption key e is used to encrypt the EPC code (in any authenticated encryption mode):
f D Enc _Auth.e; ID/, where Enc _Auth.:/ is any authenticated encryption algorithm.
ID
To achieve authentication purpose, a tag’s Access and Kill passwords (or PINs), denoted as
APIN and KPIN , serve as authenticators by C or B on performing password-based authentication
as in [77]. Slightly different from the protocol [77] on using a full (32-bit) Access password or
Kill password for authentication purpose, two halves of Access and Kill passwords of a tag are
used for the same purpose, such that C is refrained from either access or kill a tag with its own
knowledge on the halves of passwords. Party B can still authenticate and access a tag individually,
by deriving the full Access and Kill passwords.
A specific construction is to generate a half APIN and a half KPIN with C ’s secret x , and
the other halves with B’s secret y . Let C D H.xjjPID/ and B D H.yjjPID/ for a tag with EPC
PID. e 16 lowest significant bits (LSBs) of C are used as the 16 LSBs of APIN ; the other 16
most significant bits (MSBs) of C are used as the 16 LSBs of KPIN . Also, the 16 LSBs of B are
used as the 16 MSBs of APIN ; the other 16 MSBs of B are used as the 16 MSBs of KPIN . us,
APIN D ŒAPIN31W16 jjŒAPIN15W0 D ŒB 15W0 jjŒC 15W0
KPIN D ŒKPIN31W16 jjŒKPIN15W0 D ŒB 31W16 jjŒC 31W16
Note that for C to conduct the password-based authentication, a positive or negative result
is expected from the tag indicating whether the correct halves of Access and Kill passwords are
presented to it. Although this is not fully conforming with current EPC Gen 2 specifications, it
is argued that achieving the above half-password-based authentication on a tag is rather simple
with a re-designed circuit on the password logic.
To summarize, a tag is encoded by writing (i) the secret shares in the EPC memory, (ii) the
encrypted EPC code in the user memory, and (iii) the access and kill passwords in the reserved
memory.
32 2. RFID SECURITY AT THE PHYSICAL LEVEL
Secret Recovery and Verification During delivery, C would verify the tags in a case from time
to time. Let p be the total number of collected shares in a case. If r ı p r , C can recover
the secret x by contributing up to t C r p shares; otherwise, there is no enough shares for C
to recover the secret. Based on the secret value, C can generate the halves of Access and Kill
passwords for each tag. C can then authenticate each tag by performing the half-password-based
authentication protocol described above.
When all goods are delivered to B, B would verify the tags in a batch. Let P denote the
number of shares that B collects from all the cases in the batch. If R P R, B can recover
the secret y by contributing up to t C R P shares; otherwise, there is no enough shares for B
to recover the secret. Based on the secret value, B can generate the other halves of Access and Kill
passwords for each tag in the batch. B can obtain from C the complementary halves of Access
and Kill passwords of each tag, or generate by itself the half passwords by collecting all shares
from C .
Whatsoever, B can access all the tags and even kill all the tags as the new owner. Suppose B
accesses a tag and reads its encrypted ID (IDf ), B can decrypt and authenticate it with e derived
from y and obtain the original EPC code of the tag.
Summary of Security Properties We summarize the desired security properties in secure goods
delivery and show how they are achieved using the RSS scheme.
I Key distribution. RSS scheme ensures that only B and C can derive the secrets they share
with A. Without additional shares from B and C , no adversary can derive any secret by
solely collecting shares from tags. A securely distributes the secrets to B and C via both
physical and information flows.
I Authentication. C can verify that most tags in a batch or case are presented by recovering
a secret. In addition, every single tag can be authenticated by C via half-password-based
authentication. Similarly, B can verify the whole batch together and authenticate individual
tags one by one.
I Accessibility and Anti-cloning. Only B except A can derive full Access and Kill passwords for
all tags in a batch, and thus access these tags with proper passwords. No adversary, including
C , can derive full passwords for accessing or cloning the tags.
I Secrecy of tag ID. Only B except A can obtain the original tag ID. e secrecy of the tag’s
ID is protected against C or any adversary.
Compared to the JPP mechanisms [73], the RSS scheme improves the security with addi-
tional shares contributed from information flow. Other than key distribution, RSS construction
provides more desired security properties such as anti-cloning.
Parameterization In real-world implementations, the “Philips UCODE” Gen 2 tag can be em-
ployed. e tag has 512 bits of on-chip memory, containing a 96-bit EPC memory, a 32-bit TID
2.2. KEY DISTRIBUTION 33
memory, a 128-bit programmable user memory and a 64-bit reserved memory for storing Ac-
cess and Kill passwords. As required by the scheme, the original EPC code is replaced with the
shares in EPC memory, and the encrypted (and authenticated) EPC code is stored into the user
memory.
As an example, consider totally 100 tags in a batch which are packed equally into 5 cases
each having 20 tags exactly. At the case level, a .28; 60/-RSS scheme is employed so that given a
case, at least 28 shares are required to recover the case secret. e RSS scheme works over the field
GF .216 /, so a share (codeword) should have 16 bits. At the beginning, A generates uniformly at
random a 448-bit secret x for C . e secret is then encoded into 60 16-bit symbols with a .28; 60/-
RS code. From which, 32 parity symbols are ready to be shared. Exactly one share is assigned to
each tag and 12 shares are sent to C by A. Without the shares from C , one can maximally collect
20 shares from the tags so that s/he is not able to recover the secret (even by brute force attacks).
Given additional shares for recovering the secret, C can tolerate up to 4 or 20% reading errors on
scanning the tags in the case.
Similarly, at the batch level, A and B employ a .108; 236/-RSS scheme so that one needs
to collect at least 108 shares to recover the batch secret. A generates uniformly at random a 1728-
bit long secret y for B. In the working field GF .216 /, the secret is extended into 236 16-bit
symbols with a .108; 236/-RS code, of which 128 symbols are ready to be shared. us, 28 shares
are assigned to B and 100 share to the tags. With this setting, no one, except B, can collect more
than 108 shares to successfully recover the secret. Given additional shares for recovering the secret,
B can tolerate up to 20 or 20% errors on scanning all the tags in the batch.
As an ECC algorithm requires that the codewords be in an ordered sequence, the sequence
numbers of codewords should be assigned to tags explicitly. For this reason, additional 16 bits
in the EPC memory bank are used for the purpose of storing a sequence number. is allows a
quite long sequence containing enough number (up to 65536) of tags in a whole batch. To this
end, 48 LSBs of the EPC memory are used (to store shares and sequence number) and the other
48 MSBs are left untouched. Depending on applications, one may either retain these 48 MSBs
serving as an EPC header for rough classification purpose, or fill this field with random values
for privacy protection.
e next step is to encrypt the EPC code which is now set as 48 bits discarding the header.
e secret y is hashed with SHA-256 and the lowest significant 128 bits of the output are taken
as the encryption key. en a block cipher (AES-128) in an authenticated encryption mode (e.g.,
OCB mode [78]) is applied on the EPC code with padding bits. e 128-bit encrypted and
authenticated message is then stored in the user memory.
Note that both EPC memory and user memory have similar physical and deployment char-
acteristics (regarding the password-based lock, unlock, permalock, and password-based write opera-
tions on these memory banks) according to EPCglobal Gen 2 standard [2]. To allow B update
the tags while passing the goods to some downstream parties, the EPC memory and user mem-
ory should be rewritable. Such (re)write operation is typically allowed in a secured state, which
34 2. RFID SECURITY AT THE PHYSICAL LEVEL
is transitioned from an open state by providing the correct Access password. Only the sender A
and the receiver B can derive 32-bit Access password and Kill password, while the deliverer C can
only derive the lower halves of the passwords. Note that it is not practical for C to access or kill a
tag with the knowledge of the halves of its passwords, since guessing the other half of the Access
password needs 216 trials on the tag, which could be efficiently prevented by tag manufacture’s
disabling the tag when multiple false passwords are tried (to thwart denial of service attack by
anyone but C , a false password is counted only if the lower half of the password is correct).
e following parameters should be known in practice: the total number of tags in a batch,
the number of tags r in a case, and the threshold values k and K on recovering the secrets. In the
example given above, the tags are formatted with (28; 60)-RSS scheme for a case and (108; 236)-
RSS scheme for a batch. e thresholds k and K can be set small (e.g., k D 28, K D 108) but
a bit greater than the total number of tags in a case or batch so that the recovery of secrets must
involve additional shares from C or B, instead of solely depends on reading all the tags in a case
or batch. On the other hand, n or N should be chosen properly to maximally tolerate reading
errors (20% for example) in a case or batch.
Recall that it is required r t C ı in the definition of RSS scheme. If the number r of
tags in a case is relatively small, one can adjust some parameters in RSS scheme. Without loss of
security, one may put multiple shares on a tag or enlarge the size of a single share to minimize the
value of t . For instance, if there are only 2 tags in a case, one can use .8; 16/32;4;2;0 -RSS scheme
with 2 shares on a tag or .4; 8/64;2;2;0 -RSS scheme with one big share on a tag. In an extreme
case where there is only one tag per case, a .2; 4/96;1;1;0 -RSS scheme can be used for filling tag
EPC memory with a single share so as to achieve a maximum 96-bit security.
A Note on Group Authentication and Grouping Proof Group authentication means that only
certain groups of valid tags are accepted as a whole (instead of individually) by a valid reader.
Group authentication is particularly useful in some application scenarios such as third party lo-
gistics (3PL), where a third party delivering tagged items should be able to authenticate a group
(case or batch) of tags without the capability of identifying or cloning individual tags. e se-
cret sharing schemes presented in this section, including TSS, SWISS, and RSS, can be used
for group authentication of EPC Gen 2 tags which tolerate certain error readings as common in
practice.
Group authentication is slightly different from grouping proof [79, 81, 82, 83, 84] where a
reader aims to prove to a verifier that a group of tags coexist or are processed together. In grouping
proof, the reader is not trusted in a sense that it cannot generate a grouping proof without reading
the corresponding tags; it is the verifier who authenticates the group of tags by verifying the
grouping proof submitted by the reader. In comparison, group authentication enables a reader to
authenticate a group of tags directly without involving a verifier. In 3PL applications, a reader in
group authentication is not fully trusted in a sense that it cannot identify or clone individual tags.
e RSS scheme is designed for group authentication of low-cost tags such as EPC Gen 2
tags. For crypto tags, Cai et al. proposed two other group authentication schemes in 3PL supply
2.3. PATH AUTHENTICATION 35
chain scenario [80], one based on aggregate MAC, and the other based on aggregate signature.
ese two schemes, however, are not resilient to any error readings.
2.3.1 TRACKER
Blass et al. proposed a path authentication solution, named TRACKER, which is suitable for
EPC Gen 2 tags [86]. TRACKER does not rely on a centralized server to collect and store path
information from readers; instead, it relies on each tag to store its path information, which is
updated by each reader along its path, and finally verified by a manager against a set of valid
paths. After an initialization stage, all readers and the manager can work offline.
X̀
QP .x/ D a0 x ` C ai x ` i
(2.1)
iD1
where all coefficients and operations are in Fq . Given a path P , a path mark .P / is defined as
the evaluation of QP .x/ at x0 , where x0 is a generator of Fq . e probability that two different
paths result in the same path mark is 1=q [92].
TRACKER Initialization Issuer I selects a generator x0 of the finite field Fq , and selects ran-
domly a value a0 2 Fq , where q is a large prime with length jqj D 160 bits. I also generates a
random bit string k0 with length jk0 j D 160 bits. e initial step v0 , which represents the issuer,
is associated with .x0 ; a0 ; k0 /.
Let D jV j be the number of steps/readers in the supply chain. For each reader Ri , 1
i , issuer I generates a random number ai 2 Fq and a random bit string ki of 160 bits. I sends
to each Ri , which represents step vi , the tuple .x0 ; ai ; ki / using a secure channel.
Also using a secure channel, Issuer I sends to manager M the following information: x0
and .i; ai ; ki / for 0 i . It is assumed that M knows all valid paths in Svalid ; then M computes
path marks .Pvalid / and records pairs .Pvalid ; .Pvalid // for all valid paths Pvalid 2 Svalid . M also
initiates a database DBclone to be empty for clone tag detection.
2.3. PATH AUTHENTICATION 37
For each new tag T entering the supply chain, issuer I writes into the tag an initial state
sT0 D .ID; 0 ; 0 /, where ID is the tag’s ID value, 0 D a0 is the path mark for step v0 , and
0 D HMACk0 .ID/ is an HMAC signature combining ID and step v0 .
Tag and Reader Interaction Assume that tag T arrives at step vi after taking path P D
v0 v1 vi !1 . At step vi , reader Ri reads out the tag’s current state sTi 1 D .ID; i 1 ; i 1 /. With
.x0 ; ai ; ki /, reader Ri computes a new state sTi D .ID; i ; i / and writes it into T , where
i D i 1 x0 C ai
i D HMACki . i 1 /:
With jqj D 160 bits and HMAC of output size of 160 bits, the storage requirement on
each tag is 3 160 D 480 bits, which is suitable for EPC Gen 2 tags.
Path Verification When tag T arrives at a checkpoint in supply chain, manager M reads out
the tag’s state sT` D .ID; ` ; ` /. First, M checks whether ID is in DBclone . If ID 2 DBclone , then
M outputs and rejects T . In such a case, T is considered as a clone tag since it has been accepted
by the manager before and thus it appears in DBclone .
Otherwise, M checks whether ` is a valid path mark in its list of pairs .Pvalid ; .Pvalid //
for all Pvalid 2 Svalid . If there is no match, M outputs and rejects T .
If there is a match ` D .Pvalidi /, M checks whether T ’s signature ` satisfies the follow-
ing equation assuming Pvalidi D v0 v1 ! v` :
` D HMACk` .HMACk` 1 . HMACk0 .ID///:
If the above equation holds, M outputs Pvalidi and adds ID into DBclone ; otherwise, M outputs
and rejects T .
Security Claims and Comments e security of TRACKER can be evaluated with respect to
soundness and completeness in the presence of attacks. Soundness means that if a valid path Pvalid
of tag T is returned by manager M , then T must have gone through path Pvalid exactly in the
supply chain. Completeness means that if T has gone through a valid path Pvalid when it arrives
at a checkpoint, manager M must return Pvalid .
An adversary in TRACKER is modeled to have full control over the network and know
about the validity of tags’ states. In a learning stage, the adversary can move forward all tags
in supply chain, select tags, read and re-write tags, and query for tag states. e adversary is not
assumed to know any secret information from issuer, manager or any readers. In a challenge stage,
the adversary may choose any tag, read and re-write with any state information; alternatively, the
adversary may create a new tag and write some state in it.
TRACKER is said to be secure in terms of soundness if an adversary is not able to generate
a state corresponding to a valid path with a probability higher than simply guessing, where the
probability of simple guessing is jSvalid j=jS j. e completeness of TRACKER cannot be guaran-
teed since any adversary can simply write arbitrary information into a tag and thus spoil its path
38 2. RFID SECURITY AT THE PHYSICAL LEVEL
detection. e completeness of TRACKER could be assumed if all valid tags are write-protected
with access passwords; nonetheless, the distribution of access passwords must be addressed ap-
propriately.
PRF-Based Path Authentication Cai et al. proposed a path authentication solution without
using a polynomial to represent a path [91]. Instead, it uses a pseudorandom function (PRF) to
generate a path signature, in a way similar to the HMAC signature used in TRACKER.
In the initialization stage, issuer I generates a random secret key kj for each reader Rj and
sends it to Rj via a secure channel. Issuer I generates a random key k0 for itself, which is the
starting point of all valid paths. For each tag Ti , issuer I writes an initial state .IDi ; PRF k0 .IDi //
to the tag, where IDi is the tag ID, and PRF k0 is a PRF function with parameter k0 .
It is assumed that each tag Ti goes through a valid path Pi D .Ri0 ; Ri1 ; : : : Ri` / from issuer
I to manager M . Knowing this fact, issuer I computes vi D PRF ki` .PRF ki` 1 . PRF k0 .IDi ///
and stores a copy of .IDi ; vi / in manager M ’s database.
When tag Ti reaches reader Rj , reader Rj reads out the tag’s current state .IDi ; vi /, and
updates vi with PRF kj .vi / in the tag. When the tag arrives at a checkpoint, manager M reads
out the tag’s state .IDi ; vi / and checks whether there is a same tuple in M ’s database for path
authentication.
It is not difficult to extend this solution to a more general case in which each tag may go
though multiple valid paths. It is also easy to extend this solution to a case where each reader can
perform path authentication provided that each reader knows all valid paths leading to it.
Distributed Path Authentication Cai et al. proposed a distributed path authentication scheme
which can be used in dynamic supply chains [89]. Similar to CHECKER [88], this solution al-
lows each reader to perform path authentication. e difference is that it is not assumed that
each reader knows all valid paths leading to it as well as corresponding path verification keys; in-
stead, it involves a trusted server to store and update all valid paths as well as corresponding path
verification keys. Similar to TRACKER [86], each tag’s state consists of a tag ID, a path mark,
and a path signature on tag ID. While the tag ID and the path mark are the same as used in
TRACKER, the path signature is formed using an ordered multisignature scheme (OMS) pro-
posed by Boldyreva et al. [93]. e path signature can be verified by any reader using appropriate
path verification keys, which can be obtained by querying the trusted server with corresponding
path mark. After the path signature is verified, the current reader may update the path mark and
the path signature using its own secret keys. Finally, the current reader queries the trusted server
again: if the updated path mark is new in the server’s record, then the current reader updates the
server with a new valid path and corresponding verification key for future path authentication.
To reduce the reliance on the trusted server in path authentication, each reader may cache
path marks and path verification keys so that it does not need to query the trusted server in path
authentication unless the path mark is not in its cache.
Compared to CHECKER [88], all valid paths and verification keys are maintained by a
trusted server rather than by each reader. is solution is more suitable to be used in a dynamic
40 2. RFID SECURITY AT THE PHYSICAL LEVEL
supply chain where readers may leave or join the supply chain freely and where existing valid
paths may be updated at any time. Another difference is that CHECKER involves exhaustive
search on verification keys due to no use of path mark in tag state, while in this distributed path
authentication scheme, path mark is used to index path verification key in the trusted server.
Compared to TRACKER [86] and PRF-based path authentication [91], which require
that all tags start from the issuer and that the manager knows all valid paths and all secret in-
formation of all readers, the distributed path authentication scheme assumes that all readers are
independent: each reader does not share its secret with any other readers or trusted server; each
reader is able to initialize tags, perform path authentication, and update valid paths.
Two-Level Path Authentication Wang et al. proposed a two-level path authentication protocol
in EPCglobal Network structure [90]. In this protocol, a tag’s path can be generated dynamically
without a centralized control where each reader in a tag’s path can verify the tag’s path using
the reader’s own private key. is protocol can be performed at two levels, within EPCIS and
among EPCIS. Within EPCIS, all tag paths are constructed as a tree structure in which a parent
node/reader generates a private key for each of its son nodes/readers. Among EPCIS, a tag’s state
is signed by the current EPCIS and encrypted using the next EPCIS’ public key. is protocol
may not be practical as a reader’s private key is generated by its parent reader; a parent reader may
impersonate its son nodes in path authentication.
Adversary Model e adversary model used in tailing is strong in a sense that an adversary
controls a subset of readers and it may corrupt some readers participating in clone detection. At a
corrupted reader, an adversary may simulate the presence of an RFID tag, block the scanning of
selected nearby tags, and modify the data contents except for tag IDs of passing tags. Note that
the IDs of valid tags are assumed to be read-only, which cannot be modified by an adversary.
At any point in a supply chain, an adversary may insert a clone tag, which carries a valid
tag ID appearing in the supply chain. It is assumed that the clone tag must appear after the
corresponding genuine tag enters the supply chain (in a verifiable event called into-the-chain)
and before it leaves the chain (in a verifiable event called out-of-the-chain); otherwise, it can be
easily detected in a whitelist-based detection.
An adversary is assumed to know all the paths of valid tags (or genuine products) and clone
tags (or counterfeit products). However, the adversary is not capable of modifying the paths of
valid tags, or the timing of valid tags spending in different steps of supply chain.
Tailing In tailing, each tag stores a tag tail and a tail pointer for clone detection besides the tag’s
normal data content (e.g., EPC and access password). A tag tail consists of a sequence of random
bits¹. When a tag goes through a series of readers participating in clone detection, the n-th reader
writes a random bit in the (n mod t )-th position in the tag’s tail, where t is the size of the tag
tail in bits. Without requiring that each reader know its position in writing, a tail pointer is used
to record the most recently tail position which is written in each tag.
More precisely, when a tag passes a reader, the reader (i) reads out the tag’s ID, tail, and
tail pointer, (ii) increments the tail pointer by 1 mod t and stores it in the tag’s memory, (iii)
generates a random bit and writes to the tag’s tail indexed by the tail pointer, and (iv) creates a tag
event with attributes .ID; T; L; S; TT; TP; TF/ in its local database, where ID is the tag’s ID, T is
the timestamp for processing this tag, L is the location in which the tag is processed, S indicates
the type of event process (e.g., receiving, stocking, or shipping), TT is the tag tail, TP is the tag’s
pointer, and TF is a tailing flag which is used to indicate whether the reader participates in the
clone detection for this tag.
Upon requested by a supply chain partner for clone detection on a particular tag, the cen-
tralized detector collects all of the events about this tag from participating readers. e collected
events form the tag’s trace. For each pair of time-consecutive events ei and eiC1 in the trace, the
following rules are verified:
¹In general, a tag tail consists of a sequence of random symbols; it is shown that the use of 1-bit symbols is better than multi-bit
symbols in terms of the probability in clone detection [94].
42 2. RFID SECURITY AT THE PHYSICAL LEVEL
where TT i and TPi are tag tail and tail pointer in event ei , respectively, and TT iC1 and TPiC1 are
tag tail and tail pointer in event eiC1 , respectively. If any pair fails the rule verification, it shows
an evidence of cloning.
Evaluation of Tailing Clone detection may fail due to two reasons: false event consistency and
weak visibility. False event consistency means suppression or loss of clone evidence due to at-
tacks. is can certainly happen in the extreme case in which an adversary controls all the readers
through which a clone tag passes. In other cases, the probability of detection failure (i.e., false
negative) should be measured on how difficult an adversary can make a clone tag tail and tail
pointer consistent with corresponding genuine tag in different settings.
Another reason for clone detection to fail is weak visibility, which is a result of blind zones
and reader errors in practice. Weak visibility is modelled by the existence of misevents, misreads,
and miswrites in processing tags by participating readers. A misevent happens when an event
relevant to clone detection is not reported to the detector, while the involving tag’s tail and tail
pointer are correctly updated. e lost event may lead to a false positive in clone detection since
two reported time-consecutive events, the event right before the lost event and the event right
after, are not consistent.
A misread occurs when a tag is not read by a reader which participates in clone detection;
consequently, no tail update or event creation is performed. A misread may lead to false negative
since a cloned tag may pass unnoticed due to misread.
Finally, a miswrite means that a tag write operation fails after performing a read operation
correctly. In this situation, a reader should flag the tailing flag of created event so as to make
the event unusable by the detector. A miswrite happens when a reader (i) receives a write failure
message, or receives no reply when writing a tag. In this latter case, the tag’s memory is either (ii)
not modified, or (iii) correctly modified, or (iv) incorrectly modified. e above cases (i) and (ii)
are similar to a misread, case (iii) is comparable to a misevent, and case (iv) creates inconsistencies
which may raise a false positive in clone detection.
e false negative rate, or an adversary’s success probability of avoiding clone detection, can
be measured analytically. e false negative rate is limited in tailing even if an adversary corrupts
a majority of readers in a clone path. For example, blocking 2, 3, 4 out of 5 readers randomly
gives false negative rate of 0.81, 3.6, and 12.5%, respectively. If the adversary chooses the optimal
strategy in attacks, corrupting 2, 3, 4 out of 5 readers leads to false negative rate of 15, 52, and
90%, respectively. e false negative rate due to misreads can be analyzed similarly as random
blocking of readers.
Formally, let E D .0 ; : : : n / denote a sequence of clone evidences (a clone evidence is
a pair of time-consecutive events involving a clone event and a genuine event) observed by the
detector. e probability Ppass that all clone evidences pass rule verification is
n
X
1 1
Ppass .E/ D . /a0 . /ai bi ;
2t 1Clog t 2t 1
iD1
2.4. CLONE TAG DETECTION 43
where log t is the entropy of tail pointer, ai D 0 when an adversary cancels out evidence i (oth-
erwise, ai D 1), bi D 0 when the number of events (no matter clone or genuine events) between
evidence i 1 and i is not a multiple of t (otherwise, bi D 1). e overall adversary’s success
probability can be written as
X
Psucc D P rob.E/ Ppass .E/;
E
where P rob.E/ is the probability of clone evidence sequence E appearing among all possible
clone evidence sequences which could be observed by the detector. Note that the above analysis
depends on an adversary’s capability which affects the values of Prob.E/, ai , and bi . A hierarchy
of adversaries with increasing capability is modeled in [94], including the following.
• An adversary inserts clone tags at selected points without corrupting readers.
• An adversary can corrupt a set of readers chosen randomly on a clone path. However, the
adversary has no knowledge of genuine paths.
• An adversary can eavesdrop on a genuine path so as to inject clones with correct memory
content.
• An adversary knows relative event timestamps and genuine paths. After injecting a clone
with correct memory content, it can corrupt any reader in its path to cancel out clone evi-
dence in certain attack strategy.
e higher the adversary’s capability, the higher the percentage of clone evidence sequences lead-
ing to Ppass D 1. On the other hand, it is shown in tailing that the negative impacts (i.e., false
positives) due to misevents and miswrites can be mitigated without increasing the false negative
rate significantly. Misevents can be mitigated by tolerating a particular type of tail and pointer
inconsistencies between two reported time-consecutive events assuming that there could be some
misevents in between. Miswrites are mitigated by recording write failures if a reader does not
receive a correct write response from a tag. If an event is marked as write-failure, then the incon-
sistencies between this event and succeeding event are ignored in clone detection.
Recent Development on Batch Clone Detection A major challenge in supply chain manage-
ment is to efficiently handle a increasing number of RFID products. e tailing approach suffers
from performance bottlenecks because a centralized detector records and analyzes traces of indi-
vidual products. A practical solution should work efficiently in real-world RFID systems, where
products are moved and processed in batches. e authors of this book are currently working on a
batch clone detection scheme which can solve the above challenges. It requires a few bits of stor-
age in RFID tags and it is suitable for standard EPC Gen 2 tags. Clone detection is performed
on batch level, which significantly reduces the storage and computational overheads.
45
CHAPTER 3
1. the reader generates a random bit string r and sends it to the tag;
2. the tag computes h D Fki .r/ and transmits h and its ID value IDi to the reader; and
3. the reader authenticates the tag by verifying that h D Fki .r/ according to ki indexed by
IDi ,
46 3. RFID PRIVACY AT THE PHYSICAL LEVEL
where ki is a secret key stored in tag Ti , and Fk is a keyed one-way function with key k . Clearly,
this protocol is subject to tag identity attack since a tag’s ID is given in the tag’s reply. is protocol
can be easily modified to protect tag identity as follows:
1. the reader generates a random bit string r and sends it to the tag;
2. the tag computes h D Fki .r/ and transmits h to the reader; and
3. the reader authenticates the tag by verifying that h D Fki .r/ for an existing pair .ki ; IDi /
in its database.
However, this revised protocol is subject to tag traceability attack since an adversary can use the
same r to query all tags at different locations all the time so that a target tag can be traced with
the same “pseudonym” h. To address this issue, the protocol can be further revised as:
1. the reader generates a random bit string r1 and sends it to the tag;
2. the tag generates another random bit string r2 , computes h D Fki .r1 ; r2 / and transmits
r2 ; h to the reader; and
3. the reader authenticates the tag by verifying that h D Fki .r1 ; r2 / for an existing pair .ki ; IDi /
in its database.
In this protocol, a tag’s reply to any query (even if the same query is repetitively sent by an ad-
versary) is randomized due to the use of tag random r2 . Such technique can be used to achieve
RFID privacy in RFID protocol design.
e notion of RFID privacy in terms of anti-tracing can be extended from uncorrupted tags
to corrupted ones, leading to the notions of forward privacy and backward privacy. Intuitively,
forward privacy means that an adversary cannot trace a tag according to the tag’s past commu-
nication messages before the tag is corrupted by the adversary. Backward privacy means that an
adversary cannot trace a tag even after the tag is corrupted by the adversary. A tag being corrupted
means that all information stored in the tag at the moment of tag corruption is available to an
adversary.
Note that in Section 2.1.3, many authentication protocols are designed to have additional
privacy features such as anti-tracing and forward privacy. e anti-tracing property is usually
achieved by randomizing a tag’s reply, while forward privacy can be achieved by updating a tag’s
secret during authentication process. In the former case, it is possible to reduce the complexity of
identifying a tag from exhaustive search to tree-based search or table look-up. In the latter case,
desynchronization threats should be addressed so as to make the updated secret consistent on the
reader side and on the tag side.
In this chapter, we focus on various RFID privacy notions which define what anti-tracing
means in an RFID system where an adversary exists. e adversary’s goal is to trace a target tag,
which could be modeled as wining a privacy game with a probability higher than a random guess
or distinguishing between an adversary’s world and a simulator’s world.
3.1. INDISTINGUISHABILITY-BASED PRIVACY AND UNPREDICTABILITY 47
We first consider the privacy notions in a single-reader system, including indistinguisha-
bility based privacy, unpredictability based privacy, zero-knowledge based privacy, Vaudenay’s
privacy framework, and universal composibility based privacy. We analyze and compare these
RFID privacy notions. We also discuss RFID privacy notions in a multi-reader system, including
path privacy and ownership transfer. In this chapter, we clarify that all privacy notions are inves-
tigated at protocol level instead of at lower levels such as tracing based on fingerprints of radio
frequency signals or based on physical appearance of products/tags.
3.1.1 PRELIMINARIES
To provide formal definitions on the privacy notions, we need to provide a formal treatment
of underlying math notation, pseudorandom functions, RFID system model, adversary model,
completeness, and soundness of RFID systems [95, 97].
Mathematical Notation If A.; ; :::/ is a randomized algorithm, then y A.x1 ; x2 ; :::I cn/
means that y is assigned with the unique output of algorithm A on inputs x1 ; x2 ; ::: and coins
cn, while y A.x1 ; x2 ; :::/ is a shorthand for first picking cn at random and then setting y
A.x1 ; x2 ; :::I cn/. Let y AO1 ;:::;On .x1 ; x2 ; :::/ denote that y is assigned with the output of al-
gorithm A which takes x1 ; x2 ; ::: as inputs and has oracle accesses to O1 ; :::; On . If S is a set,
then s 2R S indicates that s is chosen uniformly at random from S . If x1 ; x2 ; ::: are strings, then
x1 jjx2 jj denotes the concatenation of them. If x is a string, then jxj denotes its bit length in
binary code. If S is a set, then jSj denotes its cardinality (i.e., the number of elements of S ). Let
Pr[E ] denote the probability that an event E occurs, N denote the set of all nonnegative integers,
and R denote the set of all real numbers.
Expptpt
T .F;
; m; n/
1. b 2R f0; 1g
2. if b D 1 then k 2R K and set f D Fk ,
otherwise f 2R RandD!R
3. b 0 T Of
time algorithm T , given
; m; n as input and with access to an oracle Of for a function f 2R
F or f 2R RandD!R , outputs either 0 or 1. Figure 3.1 shows a PTPT for F .
Definition 3.2 An algorithm T passes PTPT for function family F if it correctly guesses the
random bit which is selected by the PTPT experiment, i.e., b 0 D b . e advantage of algorithm
T is defined as
1
AdvT .
; m; n/ D jPrŒb 0 D b j; (3.1)
2
where the probability is taken over the choice of f in F and the coin tosses of algorithm T .
Indexing Each function in F has a unique
-bit key (index) associated with it. It is easy to select
a function f 2 F randomly if
random bits are available.
ere exists a polynomial time algorithm such that, given input of a key
Polynomial Time Evaluation
(index) k 2 K and an argument x 2 D, it outputs F .k; x/.
Pseudorandomness No probabilistic polynomial time algorithm T can pass the PTPT for F with
non-negligible advantage.
For convenience, Fk .x/ and F .k; x/ are used interchangeably for a PRF family F .
Model of RFID System An RFID system comprises of a single legitimate reader R and a set of
` tags T1 ; :::; T` . Note that the single reader may represent multiple readers without distinguish-
ing their identities; also, an adversary can use its own readers to interact with tags. e reader
and the tags are probabilistic polynomial time interactive Turing machines. Typically, each tag
is a passive transponder identified by a unique ID and has only limited memory which can be
used to store only several keys and/or some state information. e reader is composed of one or
more transceivers and a backend processing subsystem. It is assumed that the reader is secure,
3.1. INDISTINGUISHABILITY-BASED PRIVACY AND UNPREDICTABILITY 49
Reader R Tag Ti
c2R PCH
!
r2PFT
f 2PFR
!
which means that an adversary cannot obtain any information about the RFID system from the
legitimate reader except the information obtained from RFID communications and from tags (in
other words, the legitimate reader is a “black-box” to an adversary).
Every tag exchanges messages with the reader through a protocol . In the following, a
canonical protocol is used to describe a generic privacy-preserving challenge-response RFID au-
thentication protocol as shown in Figure 3.2. e protocol is invoked by the reader R sending
a challenge message c to the tag Ti , which upon receiving the challenge message c responds with
a message r , where r is computed according to the tag’s key kTi , the challenge message c , its coin
toss cnTi , and its internal state sTi . e response r can be written as r D FTi .kTi ; cnTi ; sTi ; c/,
where FTi is a function computed by the tag. is protocol can be executed in two or three rounds.
In the third round, if exists, the reader sends the tag the final message f , which is computed ac-
cording to the reader’s internal state sR , it’s coin toss cnR , the challenge message c , and the tag’s
response r . e final message can be written as f D FR .kR ; cnR ; sR ; c; r/, where FR is a func-
tion computed by the reader based on a key kR , which may or may not be the same as kTi . Let
PCH ; PFT ; PFR ; PK ; PCN ; PS denote the challenge message space, the range of function FT , the
final message space, the key space of the tag, the coin space of the tag, and the state information
space of the tag, respectively. is canonical form of RFID protocols will be used in defining
indistinguishability based privacy notion and unpredictability based privacy notion.
Definition 3.4 RFID System An RFID system RS is defined to be a tuple .R; T ; ReaderSetup;
TagSetup; ReaderStart; TagCompute, ReaderCompute; /, where
ReaderSetup( ) It is a setup procedure which generates the system parameter and key kR (if
needed) for the reader R according to the security parameter . It also setups a database for
the reader R to store necessary information for tag identification.
TagSetup(Ti ; )It is a setup procedure which generates key kTi for a tag Ti and sets the tag’s initial
internal state st0 . It also associates the tag Ti with its unique ID as well as other necessary
information such as tag key and/or tag state information as a record in the database of reader
R.
ReaderStart It is an algorithm for reader R to generate a session identifier sid of a new session and
a challenge message csid of the session.
50 3. RFID PRIVACY AT THE PHYSICAL LEVEL
TagCompute(Ti ; sid; csid )
It is an algorithm for tag Ti to compute its response rsid , taking a session
identifier sid and challenge message csid as input.
Protocol .R; Ti / It is a canonical interactive protocol between the reader R and the tag Ti . Each
session of protocol is associated with a unique session identifier sid. As an abusing of the
notation, let
.csid ; rsid ; fsid / .R; Ti ; sid/
denote the running of protocol between R and Ti with challenge message csid and session
identifier sid. e external output of the protocol .R; Ti / is the tuple .csid ; rsid ; fsid /. A
tuple .c; r; f / is said to be a valid set of protocol messages of .R; Ti / if there exists a
session identifier sid such that
A tag Ti is said to be accepted if its corresponding record is identified by the reader R in its
database upon performing protocol .R; Ti /.
Note that, ReaderStart, TagCompute, and ReaderCompute algorithms can be obtained from
the protocol . For convenience, let RS D .R; T ; ReaderSetup, TagSetup, / denote an RFID
system.
InitReader It invokes the reader R to start a session of protocol and generate a session identifier
sid and challenge message csid 2R PCH . e reader returns the session identifier sid and the
challenge message csid .
SetTag(Ti ) It updates the key and state information to tag Ti and returns the tag’s current key and
internal state information.
SendRes(sid; c; r ) It takes the challenge and response messages c; r with session identifier sid as
input and (in three-round protocol) returns the reader’s final message fsid .
3.1. INDISTINGUISHABILITY-BASED PRIVACY AND UNPREDICTABILITY 51
Let O1 ; O2 ; O3 , and O4 denote InitReader, InitTag, SetTag and SendRes oracles, respectively.
e four kinds of queries defined above can be used to model most, if not all, of the at-
tacks to RFID communications or tags, including eavesdropping, alteration of communication
messages, replay attacks, corruption of tags, and physical or side-channel attacks to tags. For ex-
ample, eavesdropping can be modeled as follows: first call InitReader() to get .sid; csid /, then call
InitTag(sid; csid ) to get .sid; rsid /, and finally call SendRes(sid; csid ; rsid ) to get fsid . For another ex-
ample, any tag key compromise due to tag corruption or physical or side-channel attacks can be
modeled by sending the SetTag query to the tag.
Completeness and Soundness of RFID System e completeness and soundness of RFID sys-
tems are defined by Damgård and Pedersen [98]. Informally, completeness means that a legiti-
mate tag will always be accepted by the legitimate reader, and the soundness means that only a
legitimate tag will be accepted by the legitimate reader.
Definition 3.5 Completeness Assume that at the end of every session with sid, the output of
session is tuple .csid ; rsid ; fsid /, where rsid is correctly generated by a legitimate tag. Completeness
means that the reader outputs “accept” with probability 1 for any such session.
Next, consider the soundness experiment Expsound A Œ; `; q; s; v as shown in Figure 3.3,
where `; q; s; v are experiment parameters. e adversary A is given an RFID system RS as input
and is allowed to launch O1 ; O2 ; and O4 oracle queries without exceeding q; s; and v overall calls,
respectively. At the end of the experiment, A outputs a tuple .csid ; rsid ; fsid / and a tag Tj 2 T .
Let E denote the event that rsid is not sent by tag Tj in session sid while the reader R accepts
the tag Tj in session sid with protocol message tuple .csid ; rsid ; fsid /.
Definition 3.6 An adversary A .; t; q; s; v/-breaks the soundness of the RFID system RS if
the probability that event E occurs is at least and the running time of A is at most t .
Definition 3.7 Soundness e RFID system RS provides .; t; q; s; v/-soundness if there ex-
ists no adversary A which can .; t; q; s; v/-break the soundness of RS .
Note that the above definition of soundness is compatible with the weak soundness in-
troduced in [98], in which strong soundness has also been defined (strong soundness allows an
adversary to launch SetTag oracle, or O3 , queries to corrupt any tags except tag Tj ).
52 3. RFID PRIVACY AT THE PHYSICAL LEVEL
1
Advind ind
A .; `; q; s; u; v/ D jPrŒExpA Œ; `; q; s; u; v D 1 j;
2
where the probability is taken over the choice of tag set T and the coin tosses of adversary A.
of A is at most t .
3.1. INDISTINGUISHABILITY-BASED PRIVACY AND UNPREDICTABILITY 53
Definition 3.10 Ind-Privacy An RFID system RS is said to be .; t; q; s; u; v/-ind-private if
there exists no adversary who can .; t; q; s; u; v/-break the ind-privacy of RS .
e ind-privacy implies that an adversary cannot distinguish between any two tags in the
tag set T which the adversary has not corrupted. is definition can be easily extended to the
case where an adversary cannot distinguish between any tags in the tag set T that have not
been corrupted. is latter case may be considered as an incarnation of the notion of -privacy (or
-anonymity) [100] in the RFID system.
1
Advunp unp
A .; `; q; s; u; v/ D jPrŒExpA Œ; `; q; s; u; v D 1 j;
2
where the probability is taken over the choice of tag set T and the coin tosses of adversary A.
of A is at most t .
4. b 2R f0; 1g;
5. if b D 0 then .r ; f / 2R PRS PFR ,
else run the protocol with the challenge message c0 ;
get the transcripts of the protocol execution .c0 ; r0 ; f0 /;
set .r ; f / D .r0 ; f0 /;
6. b 0 AO 2
1 ;O2 ;O3 ;O4
.R; T 0 ; st; r ; f /; //guess stage
7. the experiment outputs 1 if b 0 D b , 0 otherwise.
and is required to infer whether the challenge message pair .r ; f / is chosen from the output of
running the protocol .R; Tc / with test message c0 .
0
Definition 3.14 e advantage of adversary A in experiment Expunp
A is defined as:
0 0 1
Advunp unp
A .; `; q; s; u; v/ D jPrŒExpA Œ; `; q; s; u; v D 1 j;
2
where the probability is taken over the choice of tag set T and the coin tosses of adversary A.
Definition 3.15 An adversary A .; t; q; s; u; v/-breaks the unp0 -privacy of RFID system RS
0 unp0
A .; `; q; s; u; v/ of A in experiment ExpA
if the advantage Advunp is at least and the running
time of A is at most t .
Definition 3.16 Unp0 -Privacy An RFID system RS is said to be .; t; q; s; u; v/-unp0 -private
if there exists no adversary who can .; t; q; s; ; u; v/-break the unp0 -privacy of RS .
56 3. RFID PRIVACY AT THE PHYSICAL LEVEL
A Counterexample Ma et al. [95] introduced an efficient 2-round protocol and proved that it
is unp0 -private, where the adversary is provided with tag response r only in the guess stage. e
unp0 -privacy model is robust for 2-round RFID protocols, as demonstrated in [95]; however, this
model has a deficiency when applied to 3-round protocols [96, 97].
To show this, the 2-round protocol of Ma et al. [95] is modified to a 3-round mutual
authentication protocol as illustrated in Figure 3.7. is new protocol has a clear weakness with
respect to privacy but can be proven to be unp0 -private.
Let F W f0; 1glk f0; 1gld ! f0; 1glr be a PRF family. Let ctr 2 f0; 1glr be a counter. Let
pad1 2 f0; 1glp1 and pad2 2 f0; 1glp2 be two paddings such that lr C lp1 D ld . e RFID system
is constructed as follows.
ReaderSetup( ) It sets up a reader R with D fF; pad1 ; pad2 g according to security parameter .
TagSetup(Ti ; ) It sets up a tag Ti with a key ki 2 f0; 1glk , a counter ctri D 1 and a 1-bit flag si D
0. It also stores a tuple .Ii ; ki ; ctri ; IDi / in the reader’s database, where Ii D Fki .ctri kpad1 /
and IDi is the tag’s identity.
Protocol .R; Ti / R first sends a challenge c 2R f0; 1glc to Ti , where lc C lr C lp2 D ld . Upon
receiving c , Ti executes the following steps:
Upon receiving the response .r1 kIi ; r2 /, R identifies the tag from its database as follows.
1. Search for the tuple .Ii ; ki ; ctr0i ; IDi / using Ii as an index. If such a tuple exists, com-
pute Fki .ckIi kpad2 / and then:
(a) if ctr0i D Fki .ckIi kpad2 / ˚ r1 , update ctr0i D ctr0i C 1 and Ii D Fki .ctr0i kpad1 /,
respond with f D Fki .ckctr0i kr2 /, and accept the tag; or
(b) else abort the protocol.
2. Else look up the database for a tuple .Ii0 ; ki ; ctr0i ; IDi / in an exhaustive search such that
ctri D Fki .ckIi kr2 / ˚ r1 and Fki .ctri kpad1 / D Ii . en:
(a) if such a tuple exists, update ctr0i D ctri C 1 and Ii0 D Fki .ctr0i jjpad1 /, respond
with f D Fki .ckctr0i kr2 /, and accept the tag; or
(b) else abort the protocol.
Upon receiving f , Ti checks whether f D Fki .ckctri kr2 /. If not, Ti rejects the reader. Else,
Ti sets si D 0 and accepts the reader.
3.1. INDISTINGUISHABILITY-BASED PRIVACY AND UNPREDICTABILITY 57
Reader R Tag Ti
{.Ii ; ki ; ctri ; IDi /} .ki ; ctri ; si /
c 2R f0;1glc
!
r2 2R f0; 1glp2 ;
Ii D Fki .ctri kpad1 /,
If si D 0,
r1 kIi ;r2 r1 D Fki .ckIi kpad2 / ˚ ctri I
Else,
r1 D Fki .ckIi kr2 / ˚ ctri :
ctri D ctri C 1;
si D 1:
If find the tuple .Ii ; ki ; ctr0i ; IDi /, then
If ctr0i D Fki .ckIi kpad2 / ˚ r1 , then
update ctr0i D ctr0i C 1 and Ii D Fk .ctr0i kpad1 /,
compute f D Fki .ckctr0i kr2 / and accept the tag.
Else abort. If f D Fki .ckctri kr2 /,
Else If 9.Ii0 ; ki ; ctr0i ; IDi / such that f set si D 0 and accept the reader.
!
ctri D Fki .ckIi kr2 / ˚ r1 and Fki .ctri kpad1 / D Ii , Else,
then reject the reader.
update ctr0i D ctri C 1 and Ii0 D Fki .ctr0i kpad1 /
compute f D Fki .ckctr0i kr2 / and accept the tag.
Else abort.
A flaw of the protocol is that an active attacker can find out whether a tag’s state is s D 0 or
s D 1. If a tag is in state s D 0, the reader does not verify the integrity of r2 ; while if the tag is in
state s D 1, this verification occurs implicitly. Note that under normal circumstances tags will be
in state s D 0. Hence, an active attacker can flag a tag by setting its state to s D 1 and trace the
tag in subsequent protocol sessions. Nonetheless, the following theorem states that the protocol
is unp0 -private.
eorem 3.17 e above mutual authentication RFID protocol is unp 0 -private, assuming that
the function family F W f0; 1glk f0; 1gld ! f0; 1glr is a PRF family [97].
Unp -Privacy e limitation in the definition of unp0 -privacy, as shown in the counterexample,
is due to the constraint imposed on the adversary A2 . In particular, A2 is not allowed to query
oracles on the challenge tag Tc . A remedy to this limitation is unp -privacy model [96, 97].
e intuition of unp -privacy model is that no adversary should be able to distinguish the
output of a real tag from that of a virtual tag, given transcripts of multiple protocol sessions of
both tags, where a virtual tag is defined as a tag without any secret information. is implies that
no adversary can link a real tag and its behavior without learning its secret key. Note that unp -
58 3. RFID PRIVACY AT THE PHYSICAL LEVEL
privacy does not impose any restrictions on the number of oracle queries issued by the adversary
to the challenge tag.
?
Experiment Expunp A Œ; `; q; s; u; v
1. setup the reader R and a set of tags T with jT j D `;
2. fTc ; st g AO 1
1 ;O2 ;O3 ;O4
.R; T /; //learning stage
3. b 2R f0; 1g;
4. b 0 A2O1 ;O2 ;O4 .R; Tc ; st/; //guess stage
4.1 when A2 queries O1 ; O2 and O4 oracles, if b D 1, run the algorithm
ReaderStart, TagCompute, ReaderCompute respectively, and return the results;
4.2 else b D 0, return a random element from PCH , PFT , PFR , respectively.
5. the experiment outputs 1 if b 0 D b , 0 otherwise.
If b D 0, choose fsid 2 PFR and forward fsid to A2 ; else, run the algorithm
SendRes.sid; csid ; rsid /
ReaderCompute.sid; csid ; rsid / and forward the result to A2 .
Definition 3.20 Unp? -Privacy An RFID system RS is said to be .; t; q; s; u; v/-unp? -private
if there exists no adversary who can .; t; q; s; ; u; v/-break the unp? -privacy of RS .
Note that the protocol given in Figure 3.7 does not satisfy unp? -privacy model. In the
?
unp -privacy experiment, if b D 0, the adversary modifies the second message randomly; with
overwhelming probability, the third message of the protocol is empty. However, if b D 1, the
third message is always a random value and not empty. erefore, with overwhelming probability,
the adversary can distinguish the two cases.
0
Definition 3.21 e advantage of adversary A in the ind0 -privacy experiment Expind
A is defined
as:
0 0 1
Advind ind
A .; `; q; s; u; v/ D jPrŒExpA D 1 j;
2
60 3. RFID PRIVACY AT THE PHYSICAL LEVEL
0
Experiment Expind A Œ; `; q; s; u; v; w
1. setup the reader R and a set of tags T with jT j D `;
2. fTi ; Tj ; st g A1O1 ;O2 ;O3 ;O4 .R; T /; //learning stage
3. b 2R f0; 1g;
4. if b D 0 then Tc D Ti , else Tc D Tj ;
5. b 0 AO 2
1 ;O2 ;O4
.R; Tc ; st /; //guess stage
6. the experiment outputs 1 if b 0 D b , 0 otherwise.
where the probability is taken over the choice of tag set T and the coin tosses of the adversary A.
Definition 3.22 An adversary A .; t; q; s; u; v/-breaks the ind0 -privacy of RFID system RS if
0
ind0
its advantage Advind
A .; `; q; s; u; v/ in experiment ExpA is at least and its running time is at
most t .
Definition 3.23 Ind0 -Privacy An RFID system RS is said to be .; t; q; s; u; v/-ind0 -private if
there exists no adversary A who can .; t; q; s; ; u; v/-break the ind0 -privacy of RS .
Ind-Privacy ” Ind0 -Privacy e only difference between ind-privacy and ind0 -privacy is that,
in ind-privacy an adversary can issue oracle queries to any tag in T 0 \ fTc g in the guess stage,
while in ind0 -privacy, an adversary can only issue oracle queries on Tc in the guess stage. In other
words, ind0 -privacy puts more restrictions on the adversary, so ind-privacy implies ind0 -privacy.
However, in ind0 -privacy, the adversary can issue O3 queries to all tags in T 0 D T fTi ; Tj g in
the learning stage, obtain the secret and state information of all tags in T 0 and store them in a list
TagKey-List. In the guess stage, when the adversary wants to make O1 ; O2 ; O3 ; O4 queries to any
tag in T 0 , the adversary can obtain the corresponding query answers itself using TagKey-List. As a
result, the restriction on the adversary does not weaken its power in the ind0 -privacy model, and
ind0 -privacy implies ind-privacy.
eorem 3.24 Ind-Privacy ” Ind0 -Privacy For an RFID system RS D .R; T ; ReaderSetup;
TagSetup; /, ind-privacy is equivalent to i nd 0 -privacy [97].
3.1. INDISTINGUISHABILITY-BASED PRIVACY AND UNPREDICTABILITY 61
0 ?
Unp -Privacy H) Ind -Privacy Recall that unp -privacy indicates that no PPT adversary can
distinguish the transcripts of protocol execution between reader and a real tag from those of proto-
col execution between reader and a virtual tag. In this latter case, protocol transcripts are random
values. e underlying intuition of ind0 -privacy is that no PPT adversary can distinguish the
transcripts of protocol execution between reader and two distinct tags. It is obvious that no PPT
adversary can distinguish between two random values. erefore, if the transcripts of protocol
execution between reader and each tag looks random, no adversary can distinguish the transcripts
of protocol execution between reader and two distinct tags. In other words, unp? -privacy implies
ind0 -privacy.
eorem 3.25 Unp -Privacy H) Ind0 -Privacy Assume that the RFID system RS D .R; T ;
ReaderSetup; TagSetup; / is .; t; q; s; u; v/-unp -private, then it is .; t; q; s; u; v/-i nd 0 -private
[97].
Unp -Privacy H) Ind-Privacy From eorems 3.24 and 3.25, one can derive the following.
eorem 3.26 Unp -Privacy H) Ind-Privacy Assume that the RFID system RS is unp -
private, then it is ind-private.
Ind-Privacy H) = Unp -privacy An ind-private RFID protocol implies that the distributions of
protocol transcripts between reader and any two tags are computationally indistinguishable. Note
that, the distribution could be any distribution, not necessarily random distribution. A unp -
privacy RFID protocol requires that the distribution of the protocol transcripts is random. Hence,
ind-privacy does not imply unp -privacy.
Let RS D fR; T ; ReaderSetup; TagSetup; g be any RFID system. A new RFID system
RS 0 D fR; T ; ReaderSetup; TagSetup; 0 g can be constructed such that .c; rjjr; f / 0 .R; Ti /
holds for every protocol message .c; r; f / .R; Ti /. en, one can derive the following.
eorem 3.27 If RFID system RS is ind-private, then RFID system RS 0 is also ind-private,
but not unp -private.
where
eorem 3.28 If the RFID system RS D .R; T ; ReaderSetup; TagSetup; / is complete, sound,
and unp -private, then the constructed function family G W K D ! R is a PRF family [97].
Unp -Privacy (H PRF An RFID system with unp -privacy can be constructed by imple-
menting a PRF on each tag. Let F W f0; 1glk f0; 1gld ! f0; 1glr be a PRF family, ctr 2 f0; 1glr
be a counter, and pad1 2 f0; 1glp1 be a padding such that lr C lp1 D ld . e RFID system is
constructed as follows and the protocol is illustrated in Figure 3.10.
ReaderSetup( ) It sets up a reader R with D fF; pad1 ; pad2 g according to security parameter .
TagSetup(Ti ; )It sets up a tag Ti with a key ki 2 f0; 1glk and a counter ctri D 1. It also stores
a tuple .Ii ; ki ; ctri ; IDi / in the reader’s database, where Ii D Fki .ctri kpad1 / and IDi is the
tag’s identity.
3.1. INDISTINGUISHABILITY-BASED PRIVACY AND UNPREDICTABILITY 63
Reader R Tag Ti
{.Ii ; ki ; ctri ; IDi /} .ki ; ctri /
c 2R f0;1glc
!
r2 2R f0; 1glp2 ;
r1 kIi ;r2 Ii D Fki .ctri kpad1 /,
r1 D Fki .ckIi kr2 / ˚ ctri :
ctri D ctri C 1:
If find the tuple .Ii ; ki ; ctr0i ; IDi /, then
If ctr0i D Fki .ckIi kr2 / ˚ r1 , then
update ctr0i D ctr0i C 1 and Ii D Fk .ctr0i kpad1 /,
compute f D Fki .ckctr0i kr2 / and accept the tag.
If f D Fki .ckctri kr2 /,
Else f 2R f0; 1glr and reject the tag.
f accept the reader.
Else If 9.Ii0 ; ki ; ctr0i ; IDi / such that !
Else,
ctri D Fki .ckIi kr2 / ˚ r1 and Fki .ctri kpad1 / D Ii ,
reject the reader.
then
update ctr0i D ctri C 1 and Ii0 D Fki .ctr0i kpad1 /
compute f D Fki .ckctr0i kr2 / and accept the tag.
Else f 2R f0; 1glr and reject the tag.
Protocol .R; Ti /R sends a challenge c 2R f0; 1glc to Ti . Upon receiving c , Ti executes the fol-
lowing steps.
1. randomly choose r2 2 f0; 1glp2 , where lc C lr C lp2 D ld .
2. Compute Ii D Fki .ctri kpad1 / and r1 D Fki .ckIi kr2 / ˚ ctri .
3. Respond with .r1 kIi ; r2 / and increment ctri by 1.
Upon receiving the response .r1 kIi ; r2 /, R identifies the tag from its database as follows.
1. Search for the tuple .Ii ; ki ; ctr0i ; IDi / using Ii as an index. If such a tuple exists, com-
pute Fki .ckIi kr2 / and then:
(a) If ctr0i D Fki .ckIi kr2 / ˚ r1 , update ctr0i D ctr0i C 1 and Ii D Fki .ctr0i kpad1 /, re-
spond with f D Fki .ckctr0i kr2 / and accept the tag.
(b) Else, respond with f 2R f0; 1glr and reject the tag.
2. Else look up the database for a tuple .Ii0 ; ki ; ctr0i ; IDi / in an exhaustive search such that
ctri D Fki .ckIi kr2 / ˚ r1 and Fki .ctri kpad1 / D Ii . en:
(a) If such a tuple exists, update ctr0i D ctri C 1 and Ii0 D Fki .ctr0i jjpad1 /, respond
with f D Fki .ckctr0i kr2 / and accept the tag.
(b) Else, respond with f 2R f0; 1glr and reject the tag.
Upon receiving f , Ti checks whether f D Fki .ckctri kr2 /. If not, Ti rejects the reader;
otherwise, accepts.
64 3. RFID PRIVACY AT THE PHYSICAL LEVEL
e following theorem proves that the constructed RFID system is unp -private.
eorem 3.29 If the function family F W f0; 1glk f0; 1gld ! f0; 1glr is a PRF family, then the
RFID system RS D .R; T ; ReaderSetup; TagSetup; / defined above is unp -private [97].
Unp -Privacy ” PRF Combining eorems 3.28 and 3.29, one can derive the following.
eorem 3.30 An RFID system RS D .R; T ; ReaderSetup; TagSetup; / with unp -privacy can
be constructed if and only if each tag Ti 2 T is empowered to compute a PRF, provided that RS
is complete and sound.
is theorem indicates that to ensure unp -privacy, the computational power of tags cannot
be weaker than that of computing a PRF. In other words, the minimal requirement on tags to
achieve unp -privacy is the ability to compute a PRF or its equivalents such as symmetric block
ciphers and cryptographic hash functions [103].
is minimal requirement highlights why many lightweight RFID protocols (e.g. [29, 34,
71, 104]) have privacy flaws [105, 106], as these protocols are constructed based on simple oper-
ations such as XOR, bit inner product, 16-bit pseudo-random number generator (PRNG), and
cyclic redundancy checksum (CRC) without using any computation equivalent to PRF.
e RFID research community has in recent years realized the importance of implementing
strong and yet lightweight cryptographic primitives for low-cost RFID tags [107] and significant
progress has been made in this area. For instance, an efficient hardware implementation for the
Advanced Encryption Standard (AES) requires 3,400 gate equivalents (GEs) [11]. A specially
designed block cipher, PRESENT, can further reduce the hardware requirement to as few as 1,570
GEs with reasonable security (80 bits) and performance [43]. For asymmetric cryptography, a
minimum 113-bit ECC can be realized in hardware with a much larger chip area (at least 10,000
GEs) [108].
Note that the minimal requirement does not imply that every RFID system constructed
based on PRF or its equivalents is unp? -privacy. For example, the RFID systems given in [45, 109]
are reported to have privacy vulnerabilities, though they are constructed based on symmetric en-
cryption schemes or cryptographic hash functions. How to apply PRF or its equivalents in de-
signing an efficient and low-cost RFID system with unp? -privacy remains interesting for further
investigation.
e protocol illustrated in Figure 3.10 can be considered as an example of such design,
which is motivated from the protocol given in [95]. One advantage of this protocol is that it
is most efficient in identifying a tag in normal situations in which desynchronization does not
happen frequently; it resorts occasionally to exhaustive search to identify a tag that has been
desynchronized, but resumes to exact match of index again after a successful read of the tag until
the next desynchronization attack.
3.2. ZERO-KNOWLEDGE-BASED PRIVACY 65
e minimal condition reflects the equivalence between unp -privacy and PRF family. PRF
can also be used to construct RFID systems with ind-privacy. However, the other direction is
uncertain. An open problem is to find the minimal condition for enforcing ind-privacy in RFID
systems.
3.2.1 PRELIMINARIES
e mathematical notations, negligible function and pseudorandom functions used in defining
zk-privacy are essentially the same as used in defining ind-privacy and unp-privacy in the pre-
vious section. A slight difference is that a security parameter is used consistently in defining
and analyzing zk-privacy in this section. To be complete, we provide necessary preliminaries for
defining zk-privacy even if there are some overlaps with the previous section.
A function f W N ! R is said to be negligible if for every c > 0 there exits a number
m 2 N such that f ./ < 1c holds for all > m, where N is the set of all non-negative inte-
gers, and R is the set of all real numbers. Two distribution ensembles fX.; z/g2N;z2f0;1g and
fY.; z/g2N;z2f0;1g are computationally indistinguishable, if for any probabilistic polynomial-
time (PPT) algorithm D , and for sufficiently large 2 N and any z 2 f0; 1g , it holds that
j PrŒD.; z; X/ D 1 PrŒD.; z; Y / D 1j is negligible in .
On a security parameter , let m./ and l./ be two positive polynomials in . Goldreich et
al. defined pseudorandom functions [114] as follows:
RFID System Setting Consider an RFID system comprising of a single legitimate reader (or
multiple readers without distinguishing their identities) R and a set of ` tags T D fT1 ; :::; T` g,
where ` is a polynomial in security parameter . e reader and the tags are probabilistic polyno-
mial time interactive Turing machines. An RFID system .R; T / is setup by a procedure, denoted
Setup(; `). Specifically, on .; `/, this setup procedure generates a public system parameter R ,
1
a reader secret-key kR and initial internal state sR (if needed) for R. It may also setup an initial
database DB 1 for R to store necessary information for identifying and authenticating tags. For
each i , 1 i `, this procedure generates a public parameter Ti and an initial secret-key kT1i for
tag Ti and sets the tag’s initial internal state to be sT1i (typically, sT1i includes the public parameters
R and Ti ). It also associates each tag Ti with a unique ID, as well as other necessary information
such as tag key and/or tag state information, and inserts it as a record in a database DB 1 of R.
Note that Ti or/and sT1i can be empty strings.
Let para D .R ; 1 ; ; ` / denote public system parameters. It is assumed that in the
RFID system, the reader is secure, which is a “black-box” to an adversary.
A tag Ti , 1 i `, exchanges messages with reader R through a protocol .R; Ti /. With-
out loss of generality, it is assumed that a protocol run of is always initiated by R and consists
3.2. ZERO-KNOWLEDGE-BASED PRIVACY 67
of 2
C 1 rounds¹ for some
1. Each protocol run of is called a session. It is assumed that
each tag interacts with the reader sequentially, but multiple tags can interact with the reader “con-
currently” (with some anti-collision protocols). To allow and distinguish concurrent sessions (at
the side of reader R), each session of protocol is associated with a unique session identifier
sid. In practice, sid is typically generated by the reader when it is invoked to send the first-round
message. It is assumed that each message from tag to reader always bears a session-identifier.
Each tag Ti , as well as reader R, uses fresh and independent random coins (generated on
the fly) in each session, in case it is an randomized algorithm. It is assumed that the random coins
used in each session are erased once the session is completed (whether successfully finished or
aborted). Also, in each session run, the tag may update its internal state and secret-key, and the
reader may update its internal state and database. It is assumed that the update process of new
internal state and secret-key by an uncorrupted tag automatically overwrites (i.e., erases) its old
internal state and secret-key.
Given security parameter , it is assumed that each tag Ti takes part in at most s (sequen-
tial) sessions in its life time² with R, and thus R involves at most s` sessions, where s is some
polynomial in . In practice, the value s can be a fixed constant (e.g., s D 228 [115]).
More precisely, for the j -th session (ordered by the session initiation time) where 1
j s`, the reader R takes the input from the system parameters para, its secret-key kR , cur-
j j
rent internal state sR , database DB j , random coins R , and a partial transcript T , where T is
either an empty string (which indicates the starting of a new session) or a sequence of messages
.sid; c1 ; ˛1 ; c2 ; ˛2 ; ; cu ; ˛u /, 1 u
(which indicates the on-going of session with sid). e
reader R outputs the next message cuC1 . In the case of T D .sid; c1 ; ˛1 ; c2 ; ˛2 ; ; c
; ˛
/, be-
sides sending back the last-round message c
C1 , the reader R also updates its internal state to
j C1
sR , its database to DB j C1 , and stops the session by additionally outputting a bit, denoted by
osid sid sid
R . is output bit indicates either acceptance (oR D 1) or rejection (oR D 0) of the current
session.
Without loss of generality, it is assumed that the j -th session run by the reader R
corresponds to the v -th session (of session-identifier sid) run by tag Ti , where 1 v s
and 1 i `. In this session, Ti takes the input from the system parameters para, its cur-
rent secret-key kTvi , current internal state sTvi , random coins Tvi , and a partial transcript T D
.sid; c1 ; ˛1 ; ; ˛u 1 ; cu /, where 1 u
. e tag Ti outputs the next message .sid; ˛u /. In
the case of T D .sid; c1 ; ˛1 ; ; c
; ˛
; c
C1 / (i.e., Ti has received the last-round message of the
session with sid), Ti updates its internal state to sTvC1 i
, its secret-key to kTvC1
i
, and stops the ses-
sid
sion by additionally outputting a bit, denoted by oTi . is output bit indicates either acceptance
Ti D 1) or rejection (oTi D 0) of the current session run by Ti .
(osid sid
¹For protocols of 2
rounds with the last-round message sent by tag, we can define, by default, the .2
C 1/-th round (from
reader to tag) to be the output of R that indicates acceptation or rejection of the protocol run. Also, without loss of generality,
it is assumed that R and Ti exchange some system public parameters in the first two rounds.
²It is assumed that s is large enough so that any tag can never run up to s sessions in its life time; otherwise, an adversary may
distinguish two tags, thus violate their privacy, by running one tag more than s times while the other less than s times [99].
68 3. RFID PRIVACY AT THE PHYSICAL LEVEL
Note that in the above description, it is assumed that the reader and tags update their
internal states, database, or keys at the end of each protocol run. In reality, this can be performed
at any point of each protocol run. Also, for RFID protocol with unidirectional authentication
from tag to reader, the tag may not have a session output. In this case, the session output osid Ti is
set to “0”.
Adversary After an RFID system .R; T / is setup by invoking Setup(; `), An adversary A is
modeled as a probabilistic polynomial-time concurrent man-in-the-middle (CMIM) against
.R; T /, with adaptive tag corruption. Let m O denote a message sent by adversary A, and m denote
the actual message sent by reader R or an uncorrupted tag. e adversary is given access to the
following oracles:
InitReader(): A invokes R to start a session of protocol and generate the first-round mes-
sage c1 which is also used as the session identifier sid. Supposing that the new session is the j -th
j
session run by R, the reader R stores c1 into its internal state sR , and returns c1 to the adversary.
SendT(Ti ; m O ): Adversary A sends mO to Ti ³. After receiving m O , Ti works as follows. (1) If Ti
currently does not run any existing session, Ti initiates a new session with the session-identifier
sid set to m O , treats mO as the first-round message of the new session, and returns the second-round
message .sid; ˛1 /. (2) If Ti is currently running an incomplete session with session-identifier sid D
cO , and is waiting for the u-th message from R, where u 2, Ti works as follows: If 2 u
,
it treats m O as the u-th message from the reader and returns the next round message .sid; ˛u /. If
u D
C 1 (i.e., Ti is waiting for the last-round message of the session with sid), Ti returns its
vC1
output osid Ti to the adversary, and (internally) updates its internal state to sTi , assuming that the
session with sid is the v -th session run by Ti , where 1 v s .
SendR(sid;c ˛O ): Adversary A sends .sid;
c ˛/ O to R. After receiving .sid; c ˛/O , R checks from
its internal state whether it is running a session with session identifier sid D sid c , and works as
follows. (1) If R is currently running an incomplete session with sid D sid c and is waiting for the
u-th message from a tag, where 1 u
, R acts as follows: If u <
, it treats ˛O as the u-th
message from the tag, and returns the next round message cuC1 to A. If u D
, it returns the
last-round message c
C1 and the output osid R to A, and internally updates its internal state to
j C1
sR and the database to DB j C1 , assuming that the session with sid corresponds to the j -th
session run by R. (2) In all other cases, R returns a special symbol ? (indicating invalid query).
Corrupt(Ti ): Adversary A obtains the secret-key and internal state information (as well as
the random coins) currently held by Ti . Once tag Ti is corrupted, all its actions are controlled and
performed by the adversary A.
Let O1 ; O2 ; O3 ; and O4 denote the above oracles, respectively. ese oracles fully capture
the capability of any PPT CMIM adversary with adaptive tag corruption.⁴ Let O denote the set of
³For simplicity, notation Ti is abused to denote any virtual identity of a tag in T (not the tag’s real identity) labeled by A when
A selects the tag from T .
⁴For simplicity, it is assumed that all tags are always within the attack scope of adversary. In practice, some tags may be in or
out from the attack scope of adversary at different time [116].
3.2. ZERO-KNOWLEDGE-BASED PRIVACY 69
the four oracles fO1 ; O2 ; O3 ; O4 g specified above. An adversary is a .t; n1 ; n2 ; n3 ; n4 /-adversary, if
it works in time t and makes oracle queries to O without exceeding n times, where 1 4. Each
4
oracle call is treated as a unit operation, and thus for a t -time adversary it holds that ˙D1 n t .
O
Let A .R; T ; para/ denote a PPT algorithm A that, on input of some system public parameter
para, concurrently interacts with R and the tags in T via the four oracles in O, where .R; T / is
setup by Setup.; `/.
Note that in this formulation, the output bits of protocol participants (which indicate au-
thentication success or failure) are publicly accessible to the adversary. e reason is that, in reality,
such outputs can be publicly observed from the behaviors of protocol participants during/after
the protocol run or can be learnt by some other side channels.
Adaptive Completeness and Mutual Authentication Roughly speaking, adaptive completeness
means, after any attacks (particularly the desynchronizing attacks) made by an adversary A,⁵ the
protocol execution between reader R and any uncorrupted tag is still complete (e.g., being able to
recover from desynchronization). In other words, after undergoing arbitrary attacks, the uncor-
rupted parties in an RFID system can still recover whenever the attacks stop.
Definition 3.31 Adaptive Completeness For an RFID system .R; T / setup by Setup.; `/,
denote by
.sid; c1sid ; ˛1sid ; ; osid sid
R ; o Ti / .R; Ti /
the running of a session with identifier sid of protocol between R and an uncorrupted tag
Ti 2 T . Suppose that the session with sid corresponds to the v -th session at the side of Ti and
the j -th session at the side of R, where 1 v s and 1 j s`. Consider the case that the
two sessions are of the same round messages, and that all the exchanged messages in these two
sessions are all honestly generated by R and Ti . Denote by E the event that osid R D 0 holds (or
osid
Ti D 0 holds if protocol is for mutual authentication)⁶ or R identifies a different tag Ti 0 ¤ Ti
in its j -th session.
A PPT CMIM adversary A .t; ; n1 ; n2 ; n3 ; n4 /-breaks the adaptive completeness of the
RFID system against an uncorrupted tag Ti , if the probability that event E occurs is at least
and A is a .t; n1 ; n2 ; n3 ; n4 /-adversary. e probability is taken over the coins used by Setup.; `/,
the coins of A, the coins used by R (up to finishing the j -th session), and the coins used by
Ti (up to finishing the v -th session). An RFID system .R; T / satisfies adaptive completeness, if
for all sufficiently large and for any uncorrupted tag Ti , there exists no adversary A that can
.t; ; n1 ; n2 ; n3 ; n4 /-break the adaptive completeness against Ti , for any .t; /, where t is polyno-
mial in and is non-negligible in .
Now consider mutual authentication of RFID protocols. Roughly speaking, for protocol
of RFID system .R; T /, the authentication from reader to tag (resp., from tag to reader) means
⁵Here, for presentation simplicity, we model message losses caused by the underlying network also as a kind of adversarial
attack.
⁶In the case of osid sid
R D 0 or oTi D 0, the session with sid may not be complete.
70 3. RFID PRIVACY AT THE PHYSICAL LEVEL
that a CMIM adversary A cannot impersonate reader R (resp., an uncorrupted tag Ti 2 T ) to an
uncorrupted tag Ti 2 T (resp., reader R), unless A honestly relays messages actually generated
and sent by R and tag Ti . To make this formal, a notion of matching sessions should be defined.
Definition 3.32 Matching Sessions Denote by .sid; c1sid ; ˛1sid ; ; ˛
sid ; c
sidC1 / the transcript of
exchanged round messages (except the session outputs) of a successfully completed session with sid
of protocol run by a tag Ti , where 1 i `. is session has a matching session at the side of
reader R, if R ever successfully completed a session with identical session transcript.
0 0 0 0
Denote by .sid0 ; c1sid ; ˛1sid ; ; ˛
sid ; c
sidC1 / the transcript of exchanged round messages (ex-
cept the session outputs) of a successfully completed session sid0 run by R. is session has a match-
ing session at the side of some tag Ti , where 1 i `, if either of the following conditions holds:
• Ti ever completed, whether successfully finished or aborted, a session of the identical tran-
0 0 0
script prefix .sid0 ; c1sid ; ˛1sid ; ; ˛
sid /; or
0 0 0
• Ti is now running a session with partial transcript .sid0 ; c1sid ; ˛1sid ; ; ˛
sid / and is waiting
for the last-round message of session sid0 .
Experiment Expauth
A Œ; `
1. run Setup(; `) to setup the reader R and a set of tags T ;
denote by para the public system parameters;
2. trans AO .R; T ; para/.
ere exist some differences between adaptive completeness and (mutual) authentication.
On the one hand, adaptive completeness is formulated w.r.t. the session transcript between R
and an honest uncorrupted tag Ti (that corresponds to the j -th (resp., v -th) session at the side of
R (resp., Ti )), while in the authentication experiment, the session transcript (output by adversary
A) is typically between adversary A and reader R or an honest tag. On the other hand, in the
definition of adaptive completeness, the probability is taken over the coins of R up to finishing the
j -th session and the coins of Ti up to finishing the v -th session, while in the definition of (mutual)
authentication, the probability is taken over the coins of R and tags in all sessions (besides the
coins used by A and Setup(; `)).
3.2.3 ZK-PRIVACY
To formally define zk-privacy, it is necessary to clarify the notion of blind access to tags and the
notion of clean tags.
Let AO .R; Tb ; I .Tg /; aux/ be a PPT algorithm A that, given input aux 2 f0; 1g (typically,
aux includes system parameters and historical state information of A), concurrently interacts with
R and a set of tags T b via the four oracles O D fO1 ; O2 ; O3 ; O4 g. A is said to have blind access to
a challenge tag Tg 62 Tb if A interacts with Tg via a special interface I . Specifically, I is a PPT
algorithm that runs Tg internally, and interacts with A externally. To send a message cO to Tg , A
sends to I a special O2 oracle query of the form SendT.challenge; c/ O ; after receiving this special
O2 query, I invokes Tg with SendT.Tg ; c/ O , and returns to A the output of Tg . From the viewpoint
of A, it does not know which tag it is interacting with. It is also required that A interacts with Tg
via O2 queries only.
Next, the notion of clean tags is defined. A tag Ti is called clean, if it is not corrupted (i.e.,
no adversary has made any O4 query to Ti ), and is not currently running an incomplete session
with reader R, i.e., the last session of the tag has been either finished or aborted. In other words, a
clean tag is an uncorrupted tag that is currently at the status of waiting for the first-round message
from reader R to start a new session.
ZK-privacy is defined in terms of two worlds in a zk-privacy experiment. Figure 3.12 il-
lustrates the real world of a zk-privacy experiment, Expzkp zkp
A Œ;` (ExpA , for simplicity), in which
72 3. RFID PRIVACY AT THE PHYSICAL LEVEL
a PPT CMIM adversary A is comprised of a pair of algorithms .A1 ; A2 / and runs in two stages.
In the first stage, algorithm A1 is concurrently interacting with R and all the tags in T via the
four oracles in O, and is required to output a set C of clean tags at the end of the first stage,
where C T consists of ı clean tags, denoted as fTi1 ; ; Tiı g. e algorithm A1 also outputs
state information st , which will be transmitted to algorithm A2 . Between the first stage and the
second stage, a challenge tag, denoted as Tg , is taken uniformly at random from C . Note that if
ı D 0, then no challenge tag is selected, and A is reduced to A1 in this experiment. In the second
stage, on input st , A2 concurrently interacts with reader R and the tags in T b D T C via the
four oracles in O, and additionally has blind access to Tg . Note that A cannot corrupt any tag
(particularly Tg ) in C , and A does not have access to tags in C fTg g in the second stage. Finally,
A2 outputs its view, denoted by viewA , at the end of the second stage. Specifically, viewA is de-
fined to include system public parameter para, the random coins used by A, A , and the (ordered)
list of all oracle answers to the queries made by A in experiment Expzkp A . Note that viewA does
not explicitly include the oracle queries made by A and A’s output at the first stage, as all these
values are implicitly determined by the system public parameter para, A’s coins and all oracle
answers to A’s queries. e output of experiment Expzkp A is defined to be .g; viewA /. Denote by
zkp
.g; viewA .; `// the random variable describing the output of experiment ExpA Œ; `.
Figure 3.13 illustrates the simulated world of zk-privacy experiment, Expzkp zkp
S Œ;` (ExpS ,
for simplicity), in which a PPT simulator S is comprised of a pair of algorithms .S1 ; S2 / and runs
in two stages. In the first stage, algorithm S1 concurrently interacts with R and all the tags in T
via the four oracles in O, and outputs a set, denoted C , of clean tags, where jC j D ı and 0 ı `.
It also outputs state information st , which will be transmitted to algorithm S2 . Between the two
stages, a value g is taken uniformly at random from f1; ; jC jg (which is unknown to S ). In the
b D T C,
second stage of S , on input st , S2 concurrently interacts with reader R and the tags in T
and outputs a simulated view, denoted sview, at the end of the second stage. It is required that all
oracle answers to the queries made by S (in both the first stage and the second stage) in experiment
3.2. ZERO-KNOWLEDGE-BASED PRIVACY 73
Expzkp zkp
S are included in sview. e output of experiment ExpS is defined as .g; sview/. Denote by
zkp
.g; sview.; `// the random variable describing the output of experiment ExpS Œ;`.
Informally, an RFID protocol satisfies zk-privacy, if whatever can be derived from inter-
acting with a challenge tag Tg in the second-stage of A can actually be derived by A itself without
interacting with Tg . In this sense, the interaction between A2 and Tg leaks “zero knowledge” to
A.
Definition 3.34 ZK-Privacy An RFID protocol satisfies computational (resp., statistical) zk-
privacy, if for any PPT CMIM adversary A there exists a polynomial-time simulator S such that
for all sufficiently large and any ` which is polynomials in (i.e., ` D poly./, where poly./
is some positive polynomial), the following ensembles are computationally (resp., statistically)
indistinguishable:
• fg; viewA .; `/g2N;`2poly./
• fg; sview.; `/g2N;`2poly./ .
at is, for any polynomial-time (resp., any power unlimited) algorithm D , it holds that
where " is negligible in . e probability is taken over the random coins used by Setup.; `/, the
random coins used by A, S , reader R, and all (uncorrupted) tags, the choice of g , and the coins
used by the distinguisher algorithm D .
ZK-privacy can be extended to forward and backward zk-privacy. Denote by .kTfg ; sTfg /
(resp., .kT1g ; sT1g /) the final (resp., initial) secret-key and internal state of Tg at the end of (resp.,
beginning) of the experiment Expzkp A . An RFID protocol is of forward (resp., backward ) zk-
privacy, if for any PPT CMIM adversary A there exists a polynomial-time simulator S such that
74 3. RFID PRIVACY AT THE PHYSICAL LEVEL
for all sufficiently large and any ` D poly./, the following distributions are indistinguishable:
fkTfg ; sTfg .resp:; kT1g ; sT1g /; g; viewA .; `/g and fkTfg ; sTfg .resp:; kT1g ; sT1g /; g; sview.; `/g. For for-
ward/backward zk-privacy, it is required that the challenge tag Tg should remain clean at the end
of experiment Expzkp A . Note that the adversary is allowed to corrupt the challenge tag after the
zkp
end of ExpA .
3.2.4 DISCUSSIONS
Why allow A1 to output an arbitrary set C of tags, and limit A2 to blind access to a challenge tag chosen
randomly from C ? e definition of zk-privacy implies that adversary A cannot distinguish any
challenge tag Tg from any set C of tags; otherwise, A can figure out the identity of Tg in C from its
view viewA , while this tag’s identity cannot be derived from any simulator’s view sview (a formal
proof of this in case of jC j D 2 is provided in Section 3.2.5). If C is removed from the definition
of zk-privacy, it is possible for the adversary to distinguish any two tags under its attack, even
if each of the tags can be perfectly simulated by a simulator. A special case is that each tag has
an upper-bound of sessions in its life time so that an adversary can distinguish any two tags by
setting one tag to be run out of sessions in the learning stage [99]. In addition, we do not restrict
C to two tags so as to take into account the case that any number of tags may be correlated.
Why limit A1 to output of clean tags? If A1 is allowed to output “unclean tags”, A2 can
trivially violate the zk-privacy. Consider that A1 selects two tags that are waiting for different
round message (e.g., one tag is clean and the other is not), then A2 can trivially distinguish them
by forwarding to Tg different round messages.
Why allow S to have access to oracles in O? Suppose that S simulates a tag from scratch
and A (run by S as a subroutine) requests to corrupt the tag in the middle of the simulation.
Without oracle access, it is difficult or even impossible for S to continue its simulation and keep
it consistent with its previous simulation for the same tag.
Why limit sview to include all oracle answers to queries made by S ? is is to restrict S
not to access the oracles in O more than A does. e indistinguishability between the sim-
ulated view sview and the real view viewA of adversary A in zk-privacy implies that for any
.t; n1 ; n2 ; n3 ; n4 /-adversary A, with overwhelming probability, S cannot query O1 ; O2 ; O3 ; O4
more than n1 ; n2 ; n3 ; n4 times, respectively.
Why require Tg to remain clean at the end of Expzkp
A for forward/backward privacy? In general,
forward/backward privacy cannot be achieved if an adversary is allowed to corrupt the challenge
tag before the end of its sessions in ExpzkpA (i.e., the tag is not clean at the moment of corruption);
otherwise, the adversary is able to derive certain protocol messages from the tag’s internal state,
secret-key, random coins, and partial session transcript.
More on backward privacy. In general, backward privacy means that even if A learns the
internal state and secret-key of a tag for the v -th session, it still cannot distinguish the run of
.v C 1/-th session run by this tag from a simulated session run. Without loss of generality, we
assume that the internal state and secret-key known to A are the initial ones (i.e., kT1g and sT1g ).
3.2. ZERO-KNOWLEDGE-BASED PRIVACY 75
For most RFID protocols in practice, the internal state and the secret-key of any tag at any time
t can be determined by the tag’s initial state, initial secret-key, and the session transcript related
to the tag up to time t . In such a case, the indistinguishability between the simulated view sview
of S and the real view viewA of A relies upon the random coins used by Tg in experiment Expzkp A .
ese random coins are not disclosed to A since the random coins used by an uncorrupted tag in
any session are erased once the session is completed, and the challenge tag Tg is required to be
clean at the end of ExpzkpA .
Why disallow A2 to corrupt tags in C in zk-privacy formulation? For any tag Ti 2 C cor-
rupted by A2 , it can distinguish whether Ti is the challenge tag Tg or not, which can nullify any
polynomial-time successful simulation by the simulator S unless S can also corrupt the correspond-
ing tags in C . However, allowing the simulator S to corrupt (or just get access to) tags in C weakens
simulatability (e.g., in case tags have correlated states) and can even make it meaningless (e.g., in
case S corrupts the challenge tag Tg ), as such simulator is too powerful. Recall that A2 and the
simulator should, in particular, not know which tag in C is the challenging tag. For conceptual
simplicity, A2 is not allowed to have access to tags in C other than blind access to the challenge
tag Tg . As it shall be clear that, zk-privacy is still very powerful.
Special cases in zk-privacy experiments. One special case is that in experiment Expzkp A , A1
outputs C D T . In this case, the simulator S2 does not have oracle access to any tag. e zk-privacy
is analogue to auxiliary-input zero-knowledge [113], where the view of A1 /S1 corresponds to the
auxiliary input. Another special case is that A1 outputs only a single tag in C , and all other tags
can be corrupted by A1 and A2 . In this case, the forward/backward zk-privacy implies that both
adversary A and simulator S have access to certain secret information of all tags.
Suppose an RFID system consists of a single tag Ti , and consider a special adversary A1
that simply outputs C D fTi g without any interaction with Ti , zk-privacy ensures that all actions
of Ti can be simulated efficiently. In general, if an RFID system consists of a single tag, as long
as the single tag is clean, all its actions can be simulated efficiently.
Comparison with traditional formulation of zero-knowledge. e notion of zk-privacy is de-
fined based on the traditional zero-knowledge formulation [112, 113] with the following dif-
ferences. First, in zk-privacy, the simulator S is allowed to have access to oracles in O (where
the actions of these oracles may depend upon some secret values such as secret-keys and inter-
nal states), while traditional zk-simulator is a polynomial-time algorithm without oracle access
to players of secret values. Second, the zk-privacy is formulated against a structured adversary A
which is divided into two phases, while the traditional zk is formulated against any polynomial-
time adversary. ird, in zk-privacy, the random challenge g is unknown to A, but is presented
to the distinguisher, which renders extra power to the distinguisher; in comparison, in the tradi-
tional zero-knowledge formulation, the distinguisher and the adversary essentially have the same
power and advantage. Lastly, for forward (resp., backward) zk-privacy, the final (resp., initial)
secret-key and internal state of the challenge tag Tg are disclosed to A, while for the traditional
76 3. RFID PRIVACY AT THE PHYSICAL LEVEL
zero-knowledge formulation, no secret values of the knowledge prover are assumed to be leaked
to the adversary.
In the original definition of ind-privacy (see Section 3.1.2), it is not explicitly specified that
the two tags output by A1 must be clean tags. In the definition of forward ind-privacy [99], the
time point of tag corruption and the actions of adversary after tag corruption are not precisely
specified.
Now compare zk-privacy with ind-privacy in an RFID system with only one tag. In such
a case, any RFID protocol, even if it reveals the tag’s secret-key, trivially satisfies ind-privacy. e
reason is that in this special scenario, the view of A is independent of the random bit g (as the
challenge tag Tig is always the unique tag regardless of the choice of g ), and thus PrŒb 0 D g is
1
2
for any adversary. In comparison, zk-privacy in such case essentially degenerates to the tradi-
tional zero-knowledge definition, which still provides reasonable privacy guarantee. In general,
zk-privacy is stronger than ind-privacy as shown below.
the same parameters .t; n1 ; n2 ; n3 ; n4 /. Since A run by A0 always outputs a pair of clean tags at
the end of its first stage, Expzkp
A0 outputs .g; viewA /, where g 2 f0; 1g is a random bit, and viewA
0 0
implicitly determines the output of A (i.e., the guessed bit b ). at is, the guessed bit b can
0 0
Reader R Tag Ti
{.I; k; ctr; ID/} .k; ctr/
c
!
I jjrT
I D Fk0 .ctrjjpad1 /
.r0 ; r1 / D Fk .cjjI /
rT D r0 ˚ .ctrjjpad2 /
ctr D ctr C 1
rR
!
If rR D r1 , accept the reader
Else reject
If find a tuple .I; k; ctr0 ; ID/, then
compute .r0 ; r1 / D Fk .cjjI /
If ctr0 jjpad2 D r0 ˚ rT , then
accept the tag, send back rR D r1
update ctr0 D ctr0 C 1 and I D Fk0 .ctr0 jjpad1 /
Else If 9.I 0 ; k; ctr0 ; ID/ s.t. ctrjjpad2 D Fk0 .cjjI / ˚ rT and Fk0 .ctrjjpad1 / D I ,
accept the tag, send back rR D Fk1 .cjjI /
update ctr0 D ctr C 1 and I 0 D Fk0 .ctr0 jjpad1 /
Else reject
At the start of a new protocol session, R sends a challenge string c 2R f0; 1g to Ti , which
also serves as the session identifier. To simplify the presentation, the session identifier and the
corresponding verification of the identifier by protocol players are implicitly implied and will not
be explicitly mentioned in the following.
Upon receiving c from R, Ti computes I D Fk0 .ctrjjpad1 /, .r0 ; r1 / D Fk .cjjI / (where r0 D
Fk .cjjI / and r1 D Fk1 .cjjI /), and rT D r0 ˚ .ctrjjpad2 /. Ti sends .I; rT / to R and then updates
0
its counter ctr D ctr C 1, where pad2 2 f0; 1g lctr is another predetermined padding string.
After receiving .I; rT /, R searches its database to find a tuple indexed by I .
• If R finds such a tuple, say .I; k; ctr0 ; ID/, it computes .r0 ; r1 / D Fk .cjjI /, and checks
whether ctr0 jjpad2 D r0 ˚ rT : If yes, R accepts Ti by outputting “1”, sends rR D r1 to the
tag, updates the tuple .I; k; ctr0 ; ID/ with ctr0 D ctr0 C 1 and I D Fk0 .ctr0 jjpad1 /; if not,
R searches for the next tuple including I (to avoid potential collision of index I , i.e., two
different tuples are of the same index I , which though occurs with negligible probability
due to the pseudorandomness of PRF). If all tuples indexed by I fail in the above checks,
R rejects the tag and outputs “0”.
• If no tuple is found to have an index I (which indicates counter desynchronization between
R and Ti ), for each tuple .I 0 ; k; ctr0 ; ID/ in its database, R computes .r0 ; r1 / D Fk .cjjI / and
ctrjjpad2 D r0 ˚ rT , and checks whether I D Fk0 .ctrjjpad1 /: If yes (which indicates ctr is
the correct counter value at Ti ), R accepts Ti , outputs “1”, sends back rR D r1 as the third
3.3. VAUDENAY’S PRIVACY FRAMEWORK 81
0 0 0
message, and updates the tuple .I ; k; ctr ; ID/ with ctr D ctr C 1 and I D 0
Fk0 .ctr0 jjpad1 /.
In the case that R fails with all the tuples in its database, it rejects the tag and outputs “0”.
Upon receiving rR , Ti checks whether rR D r1 : If yes, Ti accepts the reader and outputs
“1”; otherwise, it rejects the reader and outputs “0”.
e design of this protocol is motivated by the design of protocol with unp -privacy (see
Figure 3.10). In this protocol, each tag performs only two PRF operations. In the normal case
without counter desynchronization, with overwhelming probability the reader mainly performs
two PRF operations. In the worst case with counter desynchronization, the reader needs to per-
forms about 2n PRF operations where n is the number of entries in the reader’s database. Note
that in practice, PRFs which are constructed based on lightweight stream/block ciphers or hash-
ing [120, 121, 122, 123, 124] can be implemented very efficiently. Further note that the tags
in this protocol are deterministic without secret-key updating (for presentation simplicity, such
protocols are referred to as deterministic RFID authentication protocols). is protocol is not
backward/forward private in accordance with the backward/forward zk-privacy formulation pre-
sented in Section 3.2.3. is is because no deterministic RFID authentication protocols with-
out proper secret-key update mechanisms can be backward/forward private in any existing RFID
privacy framework. e above proposed scheme can be easily modified to satisfy backward or
forward privacy by introducing appropriate secret-key update mechanisms, which is left for fu-
ture exploration. Since zk-privacy is strictly stronger than ind-privacy, this protocol also satisfies
ind-privacy.
eorem 3.37 Assuming Fk is a pseudorandom function, the protocol specified above satisfies
adaptive completeness, mutual authentication and zk-privacy [111].
Definition 3.38 RFID System An RFID system consists of the following components.
• A setup scheme Set upReader.1s / which generates a private/public key pair .KS ; KP / for
the reader depending on a security parameter s . KS is stored in the reader’s backend, while
KP is publicly released. It is assumed that s is implicitly specified in KP .
• A polynomial-time algorithm Set upT agKP .ID/ which returns .K; S / for a tag, where K
is the tag’s secret and S is the tag’s initial state. e pair .K; S / is stored in the reader’s
backend if the tag is legitimate.
82 3. RFID PRIVACY AT THE PHYSICAL LEVEL
• A polynomial-time interactive protocol between the reader and a tag in which the reader
ends with a tape Output.
It is required that the reader’s output is correct except with a negligible probability for any
polynomial-time experiment which can be described as follows:
• set up the reader;
• create multiple tags including a target one named ID; and
• execute a complete protocol between reader and tag ID.
e reader’s output is correct if and only if Output D ? and tag ID is not legitimate, or Output D
ID and ID is legitimate.
Oracles At any time, a tag can be either free tag (which is out of access from an adversary)
or drawn tag (which an adversary can communicate with). A virtual tag (or vtag) is a unique
reference to the action of drawing a tag (from free tag to drawn tag). A virtual tag plays the same
role as a temporary identity or pseudonym for a drawn tag. In Vaudenay’s privacy framework, the
following eight oracles are used to capture the capabilities of an adversary given public key KP as
input.
1. CreateTagb .ID/: It creates a free tag, either legitimate (b D 1) or not (b D 0), with unique
identifier ID. is oracle uses SetupTagKP to set up the tag and (for b D 1 only) update the
reader’s database.
2. DrawTag.d ist r/ ! .vtag1 ; b1 ; : : : ; vtagn ; bn /: It moves from the set of free tags to the set
of drawn tags a tuple of tags at random according to distribution distr. is oracles returns
a vector of virtual tags .vtag1 ; : : : vtagn / which anonymously designate these tags. It also
returns a bit vector .b1 ; : : : bn / to indicate whether the drawn tags are legitimate or not. In
addition, this oracle keeps a hidden table T such that T .vtag/ is the ID of vtag.
3. Free.vtag/: It moves the virtual tag vtag back to the set of free tags.
4. Launch ! : It makes the reader launch a new protocol instance .
5. SendReader.m; / ! m0 : It sends a message m to a protocol instance for the reader and
receives a reply m0 .
6. SendTag.m; vtag/ ! m0 : It sends a message m to a virtual tag vtag and receives a reply m0 .
7. Result./ ! x : When is complete, this oracle returns 1 if Output ¤ ? and 0 otherwise.
8. Corrupt.vtag/ ! S : It returns the current state S of the tag vtag. If vtag is no longer used
after this oracle call, vtag is said to be destroyed.
3.3. VAUDENAY’S PRIVACY FRAMEWORK 83
For convenience, let Execute.vtag/ ! .; t ranscript / group a Launch query and successive use
of SendReader and SendTag to execute a complete protocol between the reader and the tag vtag.
It returns the transcript of the protocol , which is the list of successive protocol messages.
Adversary Classes In Vaudenay’s privacy framework, an adversary can be categorized into the
following classes.
• Forward adversary: It can corrupt tags under the limitation that once the adversary corrupts
a tag, it can do nothing subsequently except for corrupting more tags.
• Destructive adversary: It can do anything after a tag corruption, but with the limitation that
the adversary cannot reuse a tag after corrupting it. Specifically, once a tag is corrupted it
will be virtually destroyed. In particular, a destructive adversary cannot observe or interact
with a corrupted tag nor can the adversary impersonate a corrupted tag to the reader.
• Strong adversary: It has no limitations on corrupting tags, and can do anything at its wish.
For each category of adversary defined above, a narrow variant is defined, where a narrow
adversary cannot access the output of any protocol run.
Definition 3.39 Strong, Destructive, Forward, Weak, and Narrow Adversary Consider
polynomial-time adversaries. Let Strong be the class of adversaries who have access to all eight
oracles. Let Destructive be the class of adversaries who never use vtag again after a Corrupt.vtag/
query. Let Forward be the class of adversaries in which Corrupt queries can only be followed
by other Corrupt queries. Let Weak be the class of adversaries who make no Corrupt query.
Let Narrow be the class of adversaries who make no Result query. It is clear that Strong H)
Destructive H) Forward H) W eak , and that any of these classes is stronger than its narrow
variant.
Definition 3.40 Consider an adversary which launches its attacks in two phases: attack phase
and analysis phase. In the attack phase, the adversary can make appropriate oracle queries accord-
ing to the adversary’s class, while in the analysis phase, the adversary make no oracle query. In
between, the adversary is provided with the hidden table T of the DrawTag oracle. e adversary
outputs either true or false at the end of the analysis phase. e adversary wins if the output is
true.
84 3. RFID PRIVACY AT THE PHYSICAL LEVEL
Definition 3.41 Blinder, Trivial Adversary A blinder B for an adversary A is a polynomial-
time algorithm which sees the same messages as A and simulates the Launch, SendReader,
SendTag, and Result oracles to A. e blinder does not have access to the reader’s tapes so does
not know the reader’s secret key or database. A blinded adversary AB is itself an adversary which
does not use the Launch, SendReader, SendTag, and Result oracles. An adversary is trivial if there
exists a blinder B such that jP rŒA wins P rŒAB winsj is negligible.
Definition 3.42 Privacy An RFID system is P-private if all such adversaries which belong to
class P are trivial, where P can be any of Strong, Destructive, Forward, Weak, and their Narrow
variants.
e privacy notion measures the privacy loss in the wireless link but not in tag corruption as
Corrupt queries are not blinded. It can be proven that narrow-weak privacy is equivalent to weak
privacy, and narrow-forward privacy is equivalent to forward privacy provided that whenever a
legitimate tag and the reader have some matching conversation, the reader does not output ?
[116]. Another conclusion is that no RFID system can be destructive-private and at the same
time narrow-strong private, which implies that strong privacy is not possible [116].
Case Studies ree typical RFID authentication protocols are investigated under Vaudenay’s
privacy framework [116]. e first one is a simple challenge response protocol. Let .FK /K2f0;1gk.s/
be a pseudorandom function family (PRF) from f0; 1gı.s/ to f0; 1g
.s/ where k.s/; ı.s/;
.s/ are
polynomially bounded and 2 ı.s/ and 2
.s/ are negligible. e algorithm SetupTag.ID/ picks a
random k -bit key K and sets tag state S D K . A challenge-response protocol can be constructed
as follows:
• tag with state S sends a random 2 -bit string b and c D FS .a; b/ to reader; and
• reader searches for .ID; K/ in its database such that c D FK .a; b/; it returns ID or ? if
.ID; K/ is not found.
It can be proven that this protocol is secure (in terms of soundness of tag authentication) and
weak-private [116].
e second protocol involves update of tag state so that it is narrow-destructive private.
Let F and G are two oracles running random functions from f0; 1g˛Ck and f0; 1gk to f0; 1gk ,
respectively. e algorithm SetupTag.ID/ picks a random k -bit key K and sets tag state S D K .
e protocol works as follows:
• tag with state S sends c D F .S; a/ to reader, and then updates its state S with G.S/; and
3.3. VAUDENAY’S PRIVACY FRAMEWORK 85
i
• reader searches for .ID; K/ in its database such that c D F .G .K/; a/ for any i < t , where
t is a predetermined threshold. e reader returns ID or ? if .ID; K/ is not found.
It can be proven that the above protocol is secure (in terms of soundness of authentication) and
narrow-destructive private in the random oracle model provided that k and t are polynomially
bounded and that 2 k is negligible [116]. is protocol is not complete since after t iterations
without the reader a tag can no longer be identified.
is protocol can be tweaked to get narrow-forward privacy but not narrow-destructive
privacy. In the tweaked protocol, all tags share an additional common secret Ks in their states such
that when a tag receives a special query a D Ks (instead of normal query where a is a random
bit string), the tag replies with its unique secret c D K . is tweaked protocol is not narrow-
destructive private because Ks can be obtained by an adversary in corrupting a tag, and thus used
in querying other tags after the corruption. It is still narrow-forward private since the adversary
cannot query any other tags except corruption after corruption.
e last protocol is constructed using public key cryptography (PKC). A PKC system con-
sists of a key generator, a probabilistic encryption algorithm, and a deterministic decryption al-
gorithm. A PKC system is IND-CPA secure (IND-CCA secure, respectively) if the advantage
of polynomial-time adversaries winning the IND-CPA (IND-CCA, respectively) game is negli-
gible. In the IND-CPA game, a polynomial-time adversary is given a public key, generates two
equal-length messages m1 and m2 , and submits them to a challenge oracle along with the public
key. e challenge oracle selects one of the messages with probability 1/2, encrypts the message
with the public key, and returns the ciphertext c0 to the adversary. e adversary wins the game if
it can determine which message was chosen by the oracle with a probability greater than 1/2. In
the IND-CCA game, a polynomial-time adversary can further access a decryption oracle which
returns the plaintext of any ciphertext except c0 .
e PKC-based RFID system is initiated by generating a private/public key pair .KS ; KP /
for a PKC system with encryption algorithm EncKP and decryption algorithm DecKS . A master
secret key KM is also generated in the RFID system. e tag generation algorithm SetupTag.ID/
selects a random k -bit key K for a tag ID and sets the tag’s initial state as S D .KP ; ID; K/,
where K D FKM .ID/ is generated using a PRF F parameterized with the master key. e RFID
reader stores the private key KS and the master key KM . Assuming k and ˛ are polynomial, the
PKC-based protocol works as follows:
• reader picks an ˛ -bit random a and sends it to tag;
• tag sends ciphertext c D EncKP .IDjjKjja/ to reader; and
• reader decrypts DecKS .c/ D IDjjKjja0 , and checks whether a0 D a and K D FKM .ID/; if
so, it outputs ID; else it outputs ?.
It can be proven that this protocol is narrow-strong private if the PKC system is IND-CPA secure.
It is further forward private if the PKC system is IND-CCA secure [116].
86 3. RFID PRIVACY AT THE PHYSICAL LEVEL
Discussions In Vaudenay’s privacy framework, an adversary is categorized into (i) weak, (ii),
forward, (iii) destructive, and (iv) strong. For each category, it also defines a narrow variant. Sup-
pose that P is one of the adversary categories. Informally, an RFID protocol is called P -private if
for any adversary A 2 P , there exists a simulator S such that A cannot distinguish its interactions
with the actual RFID system or with the simulator.
Compared to zk-privacy, the simulator in Vaudenay’s privacy framework is not required to
handle tag corruption queries by the adversary. In other words, the simulator works only for those
adversaries which do not make tag corruption queries. It is not clear how such simulator acts
upon tag corruption queries made by an adversary. Suppose that S simulates a tag from scratch
and A (typically run by S as a subroutine) requests to corrupt the tag in the middle of simulation
(possibly in the middle of a session run). Without access to tag corruption queries, it is difficult
or even impossible for S to continue its simulation for the tag and keep it consistent with its
previous simulation for the same tag.
e adversary considered in zk-privacy essentially corresponds to strong adversary Vaude-
nay’s privacy framework, with the difference in that the adversary cannot corrupt any tag in set C
of clean tags before the end of zk-privacy experiment Expzkp A . In comparison, Vaudenay’s privacy
framework poses no restriction on tag corruption (though it is not clear how the simulator han-
dles such adversaries), which implies that an adversary can corrupt any tag at any time (possibly in
the middle of session). However, in such a case, forward/backward privacy may not be achievable
if the challenge tag is corrupted in the middle of a session; this is the reason why it is required
that the challenge tag Tg must remain clean at the moment of corruption in zk-privacy, while this
point is not very clear in Vaudenay’s privacy framework.
Compared to zk-privacy, the matching session concept defined in Vaudenay’s privacy
framework is restricted to identical session transcript, without clarifying some subtleties such
as the “cutting-the-last-message” attacks for tag authentication. e completeness notion is de-
fined for honest protocol execution only, with no adversarial desynchronizing attacks taken into
account.
Another difference is that eight oracles are used in Vaudenay’s privacy framework to model
an adversary’s capabilities, while four oracles are used in zk-privacy. Note that, with the formula-
tion of oracles SendT and SendR in zk-privacy, adversary A can have access to the protocol outputs
once a party (the reader or a tag) sends its last-round message. is is necessary if, in reality, such
outputs can be publicly observed from the behaviors of protocol participants during/after the
protocol run or can be learnt from other side channels. is issue is treated in Vaudenay’s privacy
framework by separately rendering an additional oracle Result to the adversary, while such Result
oracle is implicitly embedded into the formulations of the SendR and SendT oracles in zk-privacy.
e other three additional oracles considered in Vaudenay’s privacy framework are CreatTag, Draw-
Tag and FreeTag. It should not be difficult to add these oracles to zk-privacy. To keep it succinct
and without loss of generality, it is assumed in zk-privacy that all tags are always within the at-
3.4. UNIVERSAL COMPOSIBILITY-BASED PRIVACY 87
tack scope of the adversary, and Ti is used to denote the virtual identity of a tag in T (not its real
identity) labeled by A when A selects the tag from the tag set T .
• If K D P , it works as follows: If b D 1, from the current step of Ti with internal state STji ,
move the tag Ti forward k steps through the designated path P . If b D 0, move tag Ti
forward k steps along any path.
• e reader in each step updates the tag’s state. Finally, Move(Ti ; k; P; b ) returns the state
transcript fSTjiC1 ; ; STjiCk g of Ti from step j C 1 to j C k . In case there exists no path
along which Ti can move k steps in the above definition, an empty path is used and the
returned state transcript is empty.
Oracle O4 is first introduced in [91] so as to precisely model various kinds of tag movement
at path level (we refine it to be more general in the above definition). In earlier works [86, 88], the
concept of path is not explicitly defined, and the operations on tag movement are specified through
step-level oracles. With O4 , any tag movement can be described by adjusting the parameters of
the oracle, thus making it easier to define security and privacy notions.
e four oracles capture an adversary’s capabilities to read from a tag, write into a tag, check
the validity of a tag, and follow a tag through a designated path P (for the case of K D P ) or
simply update the state of the tag by forwarding it arbitrarily in the system G (for the case of
K D G ). Let AO .para/ denote a probabilistic polynomial-time (PPT) adversary A which, on
the input of system public parameter para, runs a multi-reader system via the four oracles in O.
An adversary is a .t; n1 ; n2 ; n3 ; n4 /-adversary if it works in time t and makes oracle queries to O
without exceeding n times, where 1 4.
Experiment ExpTag A
Unlinkability
Œ
1. run Setup( ) to setup I; R; T ; M; para.
2. fT0 ; T1 ; st g AO 1 .para/.
3. ı R f0; 1g.
4. Sı Move.Tı ; 1; G; 1/.
5. ı 0 AO 2 .Sı ; st /.
6. output 1 if ı 0 D ı ; 0 otherwise.
Definition 3.43
ˇ e advantage of A, denoted AdvˇA Tag Unlinkability
./, in the tag unlinkability ex-
ˇ ˇ
periment is ˇPrŒExpT
A
ag Unlinkability
Œ D 1 12 ˇ.
e above definition is slightly different from the original tag unlinkability notion [87] in
that the challenge tags T0 and T1 are selected by the experiment in the original notion, while they
are selected by the adversary in the above definition. Tag unlinkability is also different from the
privacy notions given earlier in this chapter (e.g., ind-privacy, unp-privacy, zk-privacy) which do
not require that a challenge tag be processed by a valid reader before or during the challenge phase.
Essentially, tag unlinkability means that an adversary cannot link to a tag from its state updated
by a valid reader. In comparison, the previous privacy notions require that a tag be untraceable
no matter whether the tag is updated by a valid reader or not. In this sense, tag unlinkability is
weaker.
3.5. PRIVACY IN PATH AUTHENTICATION 91
Step Unlinkability Another privacy notion, step unlinkability, requires that no efficient adver-
sary can tell whether two different tags share a common step or not. e step unlinkability ex-
periment (which is refined from [91] to be more general) ExpStep A
Unlinkability
Œ is shown in Figure
3.17. e experiment starts by setting the system I; R; T ; M through Setup( ). An adversary A
runs two algorithms A1 and A2 , respectively, in two phases. In the learning phase, A1 queries
the oracle set O and outputs a tag T , positive integer k , and transcript st (which includes T ’s path
obtained by A1 in the learning phase). In the challenge phase, the experiment creates a new tag
Tc , and tosses a coin ı 2R f0; 1g. en, the experiment selects a path P as follows: if ı D 0, the
path P does not have any common step with T ’s path; else the path P has one or more common
steps with T ’s path. After getting the path P , the experiment moves Tc along path P by k steps (if
possible) and outputs state transcript STc . en, in the challenge phase, the experiment provides
adversary A2 with STc and st. e adversary makes a guess on the value of ı and outputs the
guessed value ı 0 . e experiment outputs 1 if ı 0 D ı , and 0 otherwise.
Experiment ExpStep A
Unlinkability
Œ
1. run Setup( ) to setup I; R; T ; M; para.
2. fT; k; stg AO 1 .para/.
3. create a new tag Tc .
4. randomly select a bit ı 2 f0; 1g.
5. select a path P as follows:
if ı D 0, then P dose not have any common step with T ’s path;
else, P has one or more common steps with T ’s path.
6. STc Move.Tc ; k; P; 1/
7. ı 0
AO 2 .STc ; st/
8. output 1 if ı 0 D ı , 0 otherwise.
Note that the above definition is different from the original notion of step unlinkability [87]
in that there is no restriction on the path taken by the challenge tag Tc in the original definition.
An implicit assumption in the original notion is that it is equally likely tag Tc in the challenge
92 3. RFID PRIVACY AT THE PHYSICAL LEVEL
phase and tag T in the learning phase share a common step or share no common step. However,
this may not be the case in practical settings. Consider a toy example where a multi-reader system
consists of three paths Pa , Pb , Pc , and every tag will go through these three paths with equal
probability. Assume that Pa and Pb share a common step v , while Pc shares no common step
with the other two paths. Further assume that an adversary learns that tag T passes through path
Pa in the learning phase. If there is no restriction on the path taken by the challenge tag, the
adversary can easily make a guess that tag Tc in the challenge phase shares a common step with T
with probability 2=3, which is significantly higher than 1/2. In such a scenario, step unlinkability
cannot be achieved (no matter how the path authentication scheme is designed). In comparison,
the step unlinkability notion given above is more generic as a challenge tag Tc is restricted to
take, with exact probability 1/2, either a path sharing a common step with T or a path sharing no
common step with T in the unlinkability experiment.
Experiment ExpPath A
Privacy
Œ
1. run Setup( ) to setup I; R; T ; M; para.
2. fT0 ; T1 ; P; k; st g AO 1 .para/,
3. ı f0; 1g.
4. Sı Move.Tı ; k; P; ı/.
5. ı 0 AO 2 .Sı ; st /.
6. output 1 if ı 0 D ı , 0 otherwise.
Definition 3.48 Path Privacy An RFID path authentication scheme is .t; n1 ; n2 ; n3 ; n4 ; /-
path-private, if AdvPath ./ < holds for any .t; n1 ; n2 ; n3 ; n4 /-adversary A, where is neg-
Privacy
A
ligible in .
It is claimed that path privacy implies both tag unlinkability and step unlinkability [91] as
shown below.
TRACKER In Section 2.3.1, TRACKER is presented to meet the security (soundness) re-
quirement. It can be easily extended to meet tag unlinkability and step unlinkability requirements.
Recall that the initial state of tag T in TRACKER is sT0 D .ID; 0 ; 0 /, where ID is the
tag’s ID, 0 D a0 is the path mark for step v0 , and 0 D HMACk0 .ID/ is an HMAC signature
combining ID and step v0 . When tag T arrives at step vi , reader Ri reads out the tag’s current state
sTi 1 D .ID; i 1 ; i 1 / and writes a new state sTi D .ID; i ; i / into T , where i D i 1 x0 C
ai , and i D HMACki . i 1 /.
To meet tag unlinkability and step unlinkability requirements, the tag’s state sTi is changed
i
from .ID; i ; i / to .cID ; ci ; i /, where cID
i
and ci are encrypted versions of tag ID and path
mark i , respectively. e encryption is performed in an elliptic curve ElGamal cryptosystem
given below.
Let E be an elliptic curve over a finite field Fp . Let P be a point on E .Fp / of a large
prime order q such that the discrete logarithm problem is intractable for G D hP i, where p and
q are two security parameters (e.g., jpj D jqj D 160 bits). Let sk 2 Fq be a secret key, and pk D
.P; Y / be the corresponding public key, where Y D sk P . e encryption of message m 2 E is
performed as E.m/ D .U; V /, where U D r P and V D m C r Y given any random r 2 Fq .
e decryption of cipher text c D .U; V / is performed as D.c/ D U sk V D m.
Let M be a reversible mapping which is used to map a tag’s ID to a point in E . Let M
be a additively homomorphic mapping from Fq to E (one-to-one, but not reversible) to map a
path mark to a point in the elliptic curve. In particular, M ..P // D .P / P 2 E for any path
mark .P / 2 Fq .
In the initialization stage, issuer I sets up an elliptic curve ElGamal cryptosystem and
generates a secret key sk and public key pk D .P; Y /. It sends the secret key sk to manager M via
a secure channel. For each new tag T , I chooses two random numbers r0 ; rID 0
2 Fq and writes
3.5. PRIVACY IN PATH AUTHENTICATION 95
the initial state sT0 D .cID
0
; c0 ; 0 / into T , where cID
0
D E.ID/ D 0
.rID P; M.ID/ C 0
rID Y /, c0 D
0 0 0 0
E. / D .r P; a0 P C r Y /, and D HMACk0 .ID/.
When tag T arrives at step vi , reader Ri reads out the tag’s current state sTi 1 D
i 1 i 1 i 1 i 1 i 1
.cID ; c ; i 1 /,
where cID D .UID ; VID / and ci 1 D .Ui 1 ; Vi 1 /. en, reader Ri com-
putes
U0i D x0 Ui 1
D .x0 ri 1 / P
i
X
V0i D x0 Vi 1
C ai D .a0 x0i C aj x0i j
/ P C .x0 ri 1 / Y:
j D1
0
en, reader Ri picks two random numbers rID ; r0 2 Fq , and re-encrypts ID and path mark:
i i i 0 i 1 0 i 1
cID D .UID ; VID / D .rID P C UID ; rID Y C VID /
ci i i 0 0i 0
D .U ; V / D .r P C U ; r Y C V /: 0i
Ui D ri P
i
X
Vi D .a0 x0i C aj x0i j
/ P C ri Y:
j D1
Reader Ri also updates the signature i D HMACki . i 1 / (note that in a later version of
paper [86], the updated signature is encrypted in the same way as tag ID is encrypted [87]).
Finally, Ri writes the new state sTi D .cID
i
; ci ; i / into tag T .
With jpj D jqj D 160 bits and HMAC of output size of 160 bits, the storage requirement
on each tag is 2 160 C 2 160 C 160 D 800 bits, which is feasible for EPC Gen 2 tags.
For path verification, manager M pre-computes a list of pairs .Pvalid ; M ..Pvalid /// for
all valid paths. Upon receive a tag T , the manager readers out the tag’s state sT` D .cID
`
; c` ; ` /.
`
First, M decrypts cID to get plaintext ID and checks it for cloning with DBclone . If the tag ID
is in DBclone , M rejects the tag and outputs nothing; otherwise, M decrypts c` to get a point
D .P / P . en, M checks whether is in the list of valid path mappings M ..Pvalid //. If
there is no match, M rejects the tag and outputs nothing; otherwise, M checks the tag’s signature
` according to the matched valid path. If the tag’s signature is incorrect, manager M rejects the
tag and outputs nothing; otherwise, M accepts the tag, outputs its valid path, and updates DBclone .
CHECKER Recall in CHECKER (see Section 2.3.2), a tag’s state sTj D .ID; P .ID// consists
of both tag ID and path signature. To meet tag unlinkability and step unlinkability requirements,
an encryption step is added: after the tag’s state is verified and updated by its current reader Rk ,
it is encrypted by Rk using the public key of the tag’s next reader RkC1 . When RkC1 receives
the tag, it first decrypts the tag’s state using its own private key before it verifies the tag’s state as
stated in Chapter 2.3.2.
96 3. RFID PRIVACY AT THE PHYSICAL LEVEL
PRF-Based Path Authentication In the path authentication scheme proposed by Cai
et al. [91], tag Ti ’s state is .IDi ; vi / given path Pi D .Ri0 ; Ri1 ; : : : Rij /, where vi D
PRF ki .PRF ki . PRF k0 .IDi ///. To meet path privacy requirement, an encrypted version of
j j 1
tag ID (i.e., IDi ), instead of tag ID itself, is stored in tag (along with path signature vi ); the tag’s
ID is encrypted by issuer I , re-encrypted by each reader, and decrypted by manager M in an
elliptic curve ElGamal cryptosystem the same way as in TRACKER [86].
CHAPTER 4
– Policy: How an EPCIS specifies which users are authorized to access its indexing
information of EPC events in EPCDS.
– Enforcement: How to enforce all EPCISes’ policies in EPCDS efficiently.
– Policy: How an EPCIS specifies which users are authorized to access its EPC events
in EPCIS.
– Enforcement: How to enforce the EPCIS’ policy in EPCIS efficiently.
100 4. RFID SECURITY AT THE NETWORK LEVEL
Since the information stored and shared in EPCglobal Network is mostly sensitive (which may
reveal inventory levels, trading partners, and business plans), the security requirements in EPC-
global Network have been unanimously identified [4, 5, 6]. Consequently, EPC Security Services
is considered as the fourth component in EPCglobal Network, which “allow a secured access to
the information of the EPCglobal Network in accordance to the access rights of the participants
[7].” However, there is still a lack of designs to meet the security requirements identified [3, 4, 5].
Moving to fill the gap, we present some new research results on access control policies and en-
forcement mechanisms in EPCglobal Network. We focus on authorization only and assume that
authentication has been performed appropriately [143].
4.1 BACKGROUND
Directory Service Model In Directory Service model, EPCDS stores a directory of EPC num-
bers and corresponding EPCIS addresses. Figure 4.2 illustrates the steps of this Directory Service
model:
1. EPCIS registers at EPCDS with the EPC numbers it handles, together with its service
address or URL. EPCDS stores the pairs of EPC numbers and EPCIS addresses in a lookup
table;
¹In the current design, ONS provides discovery of manufacturer EPCIS for a given class-level EPC, though it is feasible in
theory to deal with item-level EPC as in EPCDS.
102 4. RFID SECURITY AT THE NETWORK LEVEL
2. user sends a query to EPCDS with a specific EPC number or a range of EPC numbers as
parameters;
3. EPCDS uses the lookup table to search for queried EPC numbers, locates relevant EPCIS
addresses and returns them to the user;
4. with the returned addresses, the user queries directly to EPCIS repositories for desired EPC
event information; and
5. EPCIS repositories return the required EPC event information to the user according to
their access control policies.
One of main problems in Directory Service model is that EPCDS returns all relevant EPCIS
addresses to each user who queries. Access control is not specified in detail.
Based on the query result, every user knows exactly which EPCIS repositories handle which
EPC numbers. Availability of EPCIS addresses indicates ownership of EPC information. ere-
fore, any parties, who consider their possession of EPC numbers as proprietary, may not want
to expose their EPCIS addresses to the public, especially to their competitors. Without proper
access control at EPCDS, such parties would be reluctant to register data on EPCDS.
Query Relay Model In the Query Relay model, EPCDS does not return the service addresses of
EPCIS repositories upon request. Instead, it redirects the query to corresponding EPCIS repos-
itories. Figure 4.3 shows the steps of this Query Relay model:
1. EPCIS registers at EPCDS with the EPC numbers it handles, together with its service
address or URL. en, EPCDS stores the pairs of EPC numbers and EPCIS addresses in
a lookup table;
2. user sends a query to EPCDS with a specific EPC number or a range of EPC numbers as
well as the user’s credentials;
3. EPCDS uses the lookup table to search for queried EPC numbers, locates relevant EPCIS
addresses and relays the user’s query and credentials to those EPCIS resources; and
4.1. BACKGROUND 103
4. each relevant EPCIS checks the user’s credentials for authentication and returns the query
result to the user according to its access control policy.
In the Query Relay model, a user’s query can be of two types. e first one is full query, directly
requesting EPCIS to return EPC event information. e second query type is resource query,
where EPCIS returns only the service addresses that user should query so as to get required EPC
event information. Different from the Directory Service model, the Query Relay model does not
return any EPCIS addresses to users; instead, the users’ queries are relayed to relevant EPCISes.
As long as each EPCIS defines and enforces its access control policy appropriately, there is no
need of enforcing any additional access control at EPCDS from security point of view (of course,
EPCDS should ensure that no user can access to its look-up table). Nonetheless, access control
can still be enforced at EPCDS so as to restrict the queries relayed to EPCISes.
Aggregating Directory Service Model Aggregating Discovery Service (ADS) model is defined
based on the Query Relay model. In this model, instead of returning EPC event information
directly to a user, each EPCIS returns its result back to EPCDS. After getting all replies from
relevant EPCIS repositories, EPCDS aggregates the replies and sends them back to the user.
Figure 4.3 shows the steps of ADS model.
1. EPCIS registers at EPCDS with the EPC numbers it handles, together with its service
address or URL. en, EPCDS stores the pairs of EPC numbers and EPCIS addresses in
a lookup table.
2. User sends a query to EPCDS with a specific EPC number or a range of EPC numbers as
well as the user’s credentials.
3. EPCDS uses the lookup table to search for queried EPC numbers, locates relevant EPCIS
addresses and relays the user’s query and credentials to those EPCIS resources.
4. Each EPCIS resource checks the user’s credentials for authentication and returns the query
result to EPCDS according to its access control policy.
5. EPCDS aggregates the results from EPCISes and relays them back to the user.
104 4. RFID SECURITY AT THE NETWORK LEVEL
Similar to the Query Relay model, the ADS model does not require any additional access control
to be enforced at EPCDS unless it is for the purpose of reducing communication traffic from
EPCDS to EPCISes.
Definition 4.1 Access Control Policy in EPCglobal Network An access control policy
p.r; Ii ; q/ specifies whether the content of data record r owned by EPCIS Ii (at EPCDS D
or at EPCIS Ii ) can be used to answer a query q . In general, policy p.r; Ii ; q/ H) al low iff the
following conditions are satisfied:
e white lists and black lists are global parameters defined by Ii for all q sent to query Ii ’s
data. By default, WEPC .Ii / D EP C , BEPC .Ii / D ;, WU .Ii / D U , and BU .Ii / D ;, where
EP C denotes the set of all possible EPC numbers. e attribute logic is always true in this
default case. In practice, Ii may choose to use white-lists and/or black-lists by revising the
default values. In case both white-lists and black-lists are used and their intersections are
nonempty, black-lists generally take precedence over white-lists to resolve conflicts.
A policy p.r; Ii ; q/ is called list and chain based access control (List-Chain-BAC) if
p.r; Ii ; q/ H) al low means EPC-match AND partner-relationship 2 {whole-chain, up-stream,
down-stream, public} AND attribute-logic.WEPC .Ii /; BEPC .Ii /; WU .Ii /; BU .Ii //. Specifically, a
policy is called list based access control (List-BAC) if the partner-relationship is public; it is
called chain based access control (Chain-BAC)if the attribute-logic is always true; and it is called
106 4. RFID SECURITY AT THE NETWORK LEVEL
bare-match access control if the partner-relationship is public and the attribute-logic is always
true.
1: S D;
2: for all EPCIS Ii 2 I such that Ii ¤ q:u do
3: if q:epc 2 WEPC .Ii / and q:epc … BEPC .Ii / and q:u 2 WU .Ii / and q:u … BU .Ii / then
4: for all r 2 Di such that r:epc D q:epc and Ii … S do
5: if q:u and Ii satisfy partner-relationship w.r.t. r:epc defined in p.r; Ii ; q/ then
6: add Ii in S
7: end if
8: end for
9: end if
10: end for
11: return S
Definition 4.2 Tag-Chain Given an EPC number epc, a tag-chain C.epc/ in EPCDS D is a
set of pairs .r; Ii / for all data records r 2 D such that r:epc D epc, where Ii is the owner of r .
With tag-chain structure, EPCDS can be considered as a set of tag-chains indexed by EPC
numbers. When a new event indexing record r is registered to D , tag-chain C.r:epc/ is updated
accordingly. Algorithm 2 shows the query process with tag-chains in EPCDS under List-Chain-
BAC.
e efficiency of algorithm 2 relies on how to proceed with line 4, which is to deter-
mine whether q:u and Ii satisfy partner-relationship w.r.t. r:epc defined in p.r; Ii ; q/. Except
for public partner-relationship, this process requires searching for all pairs .r 0 ; q:u/ 2 C.q:epc/
and comparing r and r 0 according to policy p.r; Ii ; q/. e process of searching for all pairs
.r 0 ; q:u/ 2 C.q:epc/ can be performed right before the for-loop (line 2) starts. en in line 4, the
partner-relationship can be verified directly by comparing r and r 0 according to policy p.r; Ii ; q/.
Algorithm 2 is more efficient and scalable than algorithm 1 due to the use of tag-chain
structure. Our on-going work is to evaluate the performance of these two algorithms with various
parameters, including number of EPCISes, number of EPC numbers, size and distribution of
tag-chains, distribution of queries, and type of access control policies.
108 4. RFID SECURITY AT THE NETWORK LEVEL
Algorithm 2 User query process with tag-chains in EPCDS under List-Chain-BAC.
Input : user query q D .epc; u/
Output : set of EPCISes S
1: S D;
2: for all .r; Ii / 2 C.q:epc/ such that Ii ¤ q:u and Ii … S do
3: if q:epc 2 WEPC .Ii / and q:epc … BEPC .Ii / and q:u 2 WU .Ii / and q:u … BU .Ii / then
4: if q:u and Ii satisfy partner-relationship w.r.t. r:epc defined in p.r; Ii ; q/ then
5: add Ii in S
6: end if
7: end if
8: end for
9: return S
1: ED;
2: if q:epc 2 WEPC .Ii / and q:epc … BEPC .Ii / and q:u 2 WU .Ii / and q:u … BU .Ii / then
3: for all r 2 Ii such that r:epc D q:epc do
4: if q:u and Ii satisfy partner-relationship w.r.t. r:epc defined in p.r; Ii ; q/ then
5: add r:event in E
6: end if
7: end for
8: end if
9: return E
as well as optional input ‰ and r:time. If there is no optional input in the relationship query,
EPCDS checks for whole-chain partner-relationship; otherwise, the optional input symbol ‰
would be either < for up-stream relationship, or > for down-stream relationship.
In case the tag-chain structure is used in EPCDS, algorithm 4 remains the same except for
line 1, which should be revised to
1: ED;
2: if sigD .q; Ii ; ti me/ is verified correctly then
3: for all r 2 Ii such that r:epc D q:epc do
4: add r:event in E
5: end for
6: end if
7: return E
In more general cases, it is still possible to enable each EPCIS to answer user queries with-
out consulting with EPCDS. We are currently working on this and hope to include our design
in a future edition of this book.
A Note on User Authentication in EPCglobal Network Note that we focus on access con-
trol in EPCglobal Network and assume that user authentication has been performed appropri-
⁴Clearly, whole-chain relationship does not need to be verified again at EPCIS if it is verified at EPCDS already; however, it
is subtle for up-stream relationship and down-stream relationship since the timestamps of EPCIS events could be different
from the timestamps of relevant EPCDS records.
4.5. DEFENCE AGAINST FALSE EVENT INJECTION IN EPCDS 111
ately. Traditional user authentication solutions may be used in EPCglobal Network. For example,
password-based authentication is one choice for user authentication at EPCDS, while Kerberos
or PKI can be used for user authentication at EPCIS. Kerschbaum and Sorniotti proposed a cryp-
tographic scheme for two users to authenticate each other that they have processed the same tag
in EPCglobal Network, assuming that a trusted third party exists for supporting users in updating
each tag’s content before its delivery to the next owner [143]. is solution can be used to secure
user query process at EPCIS for whole-chain partnership only.
reat Model Assume that EPCDS D is protected with proper user authentication and access
control so that the event indexing records registered by each EPCIS in D cannot be access by
unauthorized users. However, user authentication and access control in EPCDS do not prevent
an EPCIS from registering false event indexing records from the first place. In practice, forged
EPC events may be created and registered in EPCDS due to the following reasons.
• To access unauthorized data: In secure EPCDS, access control policies are defined based
on partner relationships for handling certain EPC numbers, such as up-stream or down-
stream partnerships. Without authentication of EPC events, any party/EPCIS can register
any EPC events in EPCDS. is allows a malicious party to register forged EPC numbers
in EPCDS and claim that it owns these EPC products and is part of supply chain. In this
way, the malicious party can easily bypass chain based access control at EPCDS and access
sensitive information registered by other parties who actually handled the products with the
forged EPC numbers.
112 4. RFID SECURITY AT THE NETWORK LEVEL
• To inspect business interest of querying parties: After registering some forged EPC num-
bers submitted by an adversary from certain EPCIS address, EPCDS would return the ad-
versary’s EPCIS address to querying parties. ereafter, the adversary would receive queries
from other parties which have interest in the injected EPC numbers. By analyzing the
queries, the adversary can observe the interests of the querying parties and gain insights
about their business.
• To give false information to competitors: An adversary in this category may register forged
EPC events in EPCDS and make them open to user queries. When queried by competitors,
it may provide false information about EPC products.
Note that the above threats may be mitigated by setting up proper black-lists and white-lists in
List-Chain-BAC. However, this solution does not work well for unknown supply chain partners
which cannot be included in black-lists or white-lists, especially in dynamic supply chains. While
Chain-BAC is a convenient approach to protecting dynamic supply chains, it can be bypassed
due to false event injection attacks. Two types of adversaries can be considered in such a scenario.
• Weak Adversary: A weak adversary is not part of supply chain. It obtains EPC numbers
indirectly, such as from eavesdropping. Except for EPC numbers, other EPC event infor-
mation, including time and locations of EPC tags, is made up by the adversary.
• Strong Adversary: A strong adversary is a legitimate party that processes EPC products
and is part of supply chain. It may manipulate the time of EPC tags being read so as to
bypass certain access control policies.
Clearly, a strong adversary is more powerful than weak adversary since it is a legitimate party in
EPCglobal Network. In particular, a strong adversary may change an event’s time when it registers
the event to EPCDS. Consider a simple example where party B has some event information
about epc and it defines an up-stream policy such that only upstream parties can access its event
information. Assume that party A is at B ’s downstream which should not be able to access B ’s
events about epc according to B ’s policy. To bypass this restriction, A may predate the time of its
event on epc in event registration so that A appears to be B ’s up-stream party.
General Defence Process A general defense process against false EPC event injection involves
three steps: prevention, detection and punishment [145]. e properties of individual steps are
summarized in Figure 4.5 and explained below.
• Prevention: e prevention of false event injection can be achieved using cryptographic
techniques such that an adversary cannot inject false event data unless it breaks the under-
lying cryptographic primitives. Normally, cryptographic techniques require shared secrets to
be stored and processed in RFID tags, which may not be suitable for low-cost tags with lim-
ited storage and computational power. Moreover, key distribution and management should
be addressed when cryptographic measures are applied.
4.5. DEFENCE AGAINST FALSE EVENT INJECTION IN EPCDS 113
Figure 4.5: Process of defending against false EPC event injection [145].
• Detection: e detection of false event injection aims to detect false event data when or
after false event data are injected into EPCDS. Normally, it requires a centralized trusted
server (e.g., EPCDS) which has a global view of RFID tags to perform or assist the detec-
tion of false events registered in EPCDS. e effectiveness of detection-based approaches
can be measured by false positive/alarm and false negative/miss rates in various application
scenarios. For practical reasons, detection-based approaches should be suitable for low-cost
tags (e.g., EPC Gen 2 tags) with limited storage and possibly no computational power.
Although the most effective defense process is to use all of the described steps, individual
steps can be applied separately depending on application requirements. We focus on prevention
and detection based solutions in the following discussions.
Prevention One way to prevent an EPCIS from injecting false EPC events into EPCDS is to
require that the EPCIS provide “proof of ownership” when it registers its EPC events in EPCDS.
e “proof of ownership” aims to prove that an EPCIS owns a claimed EPC event, including the
following.
• Proving identity of tag: When an EPC event is registered in EPCDS, the EPC number in
the event should be authenticated. In other words, the EPC number belongs to a genuine
RFID tag.
114 4. RFID SECURITY AT THE NETWORK LEVEL
• Proving identity of owner: When an EPC event is registered in EPCDS, the owner/EPCIS
of the event should be authenticated. is may involve confirming the owner’s attributes,
such as company name and its role in a supply chain. ere could be one or more authen-
tication servers in an EPCglobal Network which perform such authentication services to
EPCDS.
• Proving timeliness: When an EPC event is registered in EPCDS, the owner of the event
should prove to EPCDS that it generates the true EPC event at its claimed time.
A number of cryptographic techniques have been proposed to authenticate RFID tags (see
Section 2.1). Any RFID tag authentication solution can be directly used to prove tag identity
to EPCDS, assuming that it is performed between tag and EPCDS, instead of between tag and
EPCIS.⁵ In addition, the timeliness of event should be proved to EPCDS when an event is reg-
istered.
Two such solutions are discussed in [145], assuming that each tag shares a secret k with
EPCDS and can perform a pseudo-random function (e.g., AES and SHA-3) Fk ./. One so-
lution is timer-based, in which a tag with EPC value epc generates a pseudo-random number
r D Fk .epc; time/ whenever it is processed by an EPCIS in an event at time; when the event is
registered at EPCDS, both pseudo-random number r and event indexing record .epc; ti me/ are
submitted so that EPCDS can verify epc and time by checking r based on the shared secret k .
e second solution is counter-based, in which a tag with epc generates a pseudo-random number
r D Fk .epc; counter/ in an EPC event, where counter is a positive integer stored in a tag and au-
tomatically incremented upon each read. When EPC event .epc; event; t i me/ is registered, both r
and .epc; counter/ are submitted so that EPCDS can verify epc and counter by checking r based
on k . In this case, counter can be used as time-stamp for registered EPC event (Chain-BAC
policies can be enforced with event time in such counter format).
We note that such tag authentication would not be scalable if each tag shares a different
key with EPCDS due to a large number of tags in EPCglobal Network. On the other hand, if it
is assumed that all tags share the same key with EPCDS, then it is a single point of failure in a
sense that the corruption of a single tag would enable an adversary to inject false events about any
tags. A better solution is that EPCDS keeps a master key km in its storage and shares a different
secret k D Fkm .epc/ with each epc.
Another solution is to use RFID path authentication (see Section 2.3), in which EPCDS
authenticates a registered event according to tag path, assuming that EPCDS knows all valid
paths leading to each EPCIS before path authentication. Using this approach, EPCDS may not
be able to verify the exact time of registered EPC event but it can verify that the involving tag has
passed through a valid path; consequently, the length of tag path can be used as time-stamp for
registered EPC event (Chain-BAC policies can be enforced with event time in such path-length
format).
⁵RFID tag authentication with EPCIS may be performed independently to tag authentication with EPCDS based on different
secrets.
4.5. DEFENCE AGAINST FALSE EVENT INJECTION IN EPCDS 115
Detection It is possible to detect false event injection by closely monitoring the movement of
each RFID tag in EPCglobal Network. A falsely injected EPC event may demonstrate certain
anomaly patterns, which could be detected using statistical, machine learning, data mining, or
pattern matching approaches. A promising approach is tailing [94], which is situated for clone
tag detection in practical settings (with low-cost tags, blind zones, and reader failures). In this
approach, each EPC tag contains a tag tail and a tail pointer. In each EPC event, an RFID
reader increments the tail pointer and overwrites the random bits at which the pointer points.
An illustrative example would be hAXC; 2i at the first reader, hAXY; 3i at the second reader
and hW X Y; 1i at the third reader, where the first part represents the tag tail and the second part
represents the tail pointer. Clone tag detection can be performed by checking the consistency of
tails and tail pointers in a sequence of EPC events (see Section 2.4 for detail).
If the tailing approach is applied to detecting false event injection in EPCDS, the tailing
information of each tag should be read and updated by an EPCIS and reported to EPCDS when-
ever a related event is registered by the EPCIS to EPCDS. Different from clone tag detection, a
tag’s tailing information should not be read or updated if no EPC event is reported to EPCDS
even if some EPC events are generated about the tag within an EPCIS. e detection of false
event injection can be performed the same way as clone tag detection at EPCDS. A high detec-
tion rate can be achieved by reducing the probabilities of mis-event, mis-read, and mis-write and
increasing the length of tag tails. It is also possible to leverage on batch processing in supply chain
for more efficient detection of false event injection at EPCDS.
A Note on Other Security Issues Note that defending against false event injection within EP-
CIS is relatively easier due to weak adversary model. All existing tag authentication solutions can
be directly applied in such case. If EPCDS is not fully trusted, or access control is not fully effec-
tive, integrity measurement should be taken by each EPCIS so as to protect its data at EPCDS.
Similarly, integrity measurement should be taken at each EPCIS as well due to ineffective access
control and possible insider attacks. e privacy concerns in such scenarios will be addressed in
the next chapter.
117
CHAPTER 5
• Protection against database reading attack: PBDS prevents EPCDS from learning any tracing
information from event indexing records maintained in its database.
• Access control for queries: PBDS enables users to query EPCDS and obtain tag-level tracing
information according to certain access control policies defined by data owners.
e basic idea in PBDS is to let each EPCIS Ii choose its own pseudonym key ki and
use it in generating a pseudonym e D Fki .epc/ for epc in event registration, where Fki ./ is a
pseudo-random function with parameter ki . It is difficult for EPCDS to trace EPC events since
the pseudonyms are different in the event indexing records registered by different EPCISes.
In PBDS, it is assumed that all EPCISes and authorized users are trusted so that they do
not disclose pseudonym keys to or collude with the adversary, which is EPCDS. It is also assumed
that all message exchanges between EPCISes, users, and EPCDS are carried over authenticated
and secure channels.
In the original PBDS design, the time-stamp of event is encrypted using a CPA-secure
encryption scheme with key ki ; then, Ii registers an event indexing record with the encrypted
time-stamp t instead of time (the ciphertext of time can be decrypted by an authorized user with
ki when querying EPCDS). e rationale of encrypting the event time is that the disclosure of
tracing information from event time-stamps is orthogonal to that from tag identifiers. EPCDS
may link multiple event indexing records by grouping and correlating a series of time-stamps re-
gardless of EPC pseudonyms being used or not [149]. While this is true if very few EPC events
are registered at each time, it does not disclose much tracing information in a practical setting
where a large number of EPC events are registered at each time with different EPC pseudonyms.
In addition, the encryption of event time does not provide much confidentiality anyway since the
event time may be inferred by EPCDS according to the time it receives corresponding event regis-
tration (usually an EPCIS should register its events in time; otherwise, business processes relying
on such event data would be affected or delayed). erefore, we remove time-stamp encryption
in the following discussions.
Solution III Both solution I and solution II require the existence of an online security man-
ager to manage pseudonym keys for user queries under access control policies defined by partic-
ipating EPCISes. e use of an online security manager in EPCglobal Network would increase
operational cost and performance overhead. To eliminate the requirement of an online security
manager, it is suggested to shift the task of pseudonym key distribution and access control from
security manager to EPCDS [149]. Due to anti-tracing requirement, the pseudonym keys are
stored in EPCDS in ciphertext. When authorized users request for certain pseudonym keys,
EPCDS employs a proxy re-encryption scheme [150] to re-encrypt the ciphertext of requested
pseudonym keys for the requesting users so that they can decrypt the pseudonyms keys. In this
re-encryption process, EPCDS learns nothing about the underlying plaintext of pseudonym keys.
122 5. RFID PRIVACY AT THE NETWORK LEVEL
A proxy re-encryption scheme is a tuple of (possibly probabilistic) polynomial time algo-
rithms (KG, RG, E ; R; D) [151].
• (KG, E ; D) are standard key generation, encryption, and decryption algorithms for a public
key encryption scheme. On input of a security parameter , KG outputs a public and private
key pair .pkA ; skA /. On input pkA and message m, E outputs a ciphertext cA D E .pkA ; m/.
On input skA and ciphertext cA , D outputs the original message m D D.skA ; cA /.
• On input .pkA ; skA ; pkB /, the re-encryption key generation algorithm, RG , outputs a re-
encryption key rkA!B for the proxy.
In a setting-up phase, each user u 2 U chooses a public and private key pair .pku ; sku /
under a public key encryption scheme .KG; E ; D/. All users’ public keys are managed by an of-
fline security manager M , which also has its own public and privacy key pair .pkM ; skM / under
.KG; E ; D/. e offline security manager, on input .pkM ; skM ; pku /, generates a re-encryption
key rkM !u for each user u 2 U using algorithm RG . e offline security manager forwards all
re-encryption keys rkM !u to EPCDS.
All access control policies L.Ii / for Ii 2 I are enforced at EPCDS, where each EPCIS
Ii is responsible for managing/updating its own policy L.Ii /. Each EPCIS Ii 2 I encrypts its
pseudonym key ki using the public key of offline security manager M , and publishes the ciphertext
ci D E .pkM ; ki / to EPCDS.
In a querying phase (online), a user u may request for all pseudonym keys from EPCDS
before sending a query to it. Upon authenticating user u, EPCDS re-encrypts pseudonym key
ciphertext as R.rkM !u ; ci / D E .pku ; ki / for all Ii 2 I such that u 2 L.Ii / holds (which means
u is an authorized user according to Ii ’s policy), and returns the re-encrypted pseudonym keys
to the user. e user can decrypt the pseudonym keys using his private key sku and then use the
pseudonym keys to form his query.
Compared to the solutions requiring an online security manager, this solution replaces the
online security manager with an offline security manager, which can stay offline unless any user
changes its public key. is solution requires an authenticated distribution of (a) the public key of
offline security manager to all EPCISes, (b) the public keys of all users to the offline security man-
ager, and (c) all re-encryption keys from the offline security manager to EPCDS. In most public
key cryptosystems, a significant portion of the operational cost is attributed to the management
of public keys (e.g., authenticated distribution and revocation of public keys). e management
of public keys would be simpler if authenticated and secure channels exist between users, security
manager, and EPCDS, which is a pre-requisite even with online security manager.
5.2. ANTI-TRACING OF TAG ID IN EPCDS 123
5.2.3 COMPATIBILITY AND PERFORMANCE ISSUES
e modifications to standard EPCDS [5] are summarized below for adopting the anti-tracing
design [149].
• Query users: Users are required to acquire pseudonym keys of EPCISes before querying
EPCDS. To search for all event indexing records corresponding to a tag identifier, a user
provides a set of pseudonyms instead of using the original tag identifier as a query parameter.
e pseudonym keys can be obtained from an online security manager or from EPCDS via
proxy re-encryption.
• Networked parties: Networked parties/EPCISes use pseudonyms instead of tag identifiers
for registering event indexing records in EPCDS. If offline security manager is used, EP-
CISes also need to encrypt pseudonym keys using the public key of offline security manager
and publish the ciphertext of pseudonym keys in EPCDS.
• EPCDS : e data structure of event indexing records is the same as before except for one
semantic change: the original tag identifier is replaced with a pseudonym. If offline security
manager is used, EPCDS needs to store the ciphertext of pseudonym keys for all EPCISes
and perform proxy re-encryption on the ciphertext upon users’ requests.
• Security manager : An online security manager is needed in solutions I and II, and an offline
security manager is required in solution III for generating re-encryption keys.
With enhanced privacy protection, the anti-tracing design inevitably impacts the performance
of EPCDS as it introduces extra cryptographic operations. is impact is estimated with offline
security manager in a demo system [149] based on JHU-MIT Proxy Re-cryptography Library
[152]. e demo system is implemented in C++ on Ubuntu Linux. HMAC with SHA-256 is
used for pseudonym generation, and bilinear ElGamal proxy re-encryption scheme with 256-bit
key [151] is used for proxy re-encryption. e experimental machine consists of a 2.53GHz Intel
Core 2 Duo E7200 processor and 4 GB DDR2 800 Hz RAM.
In experiments, on average, it takes 0.30 s to generate a pseudonym (3.28 M pseudonyms
per second). For proxy re-encryption, it takes 3.3 ms to encrypt a pseudonym key, 8.6 ms to
re-encrypt the ciphertext of a pseudonym key, and 1.6 ms to decrypt the ciphertext after re-
encryption. Although the computation of re-encryption scheme is much slower than HMAC, its
performance cost would not become a bottleneck because the result of re-encryption can always
be reused as long as the ciphertext of pseudonym keys remain unchanged. Hence, the overall
additional cost is not significant for adopting the anti-tracing design.
125
CHAPTER 6
• Lightweight RFID authentication protocols: Although much effort has been made in this
direction, it is still not clear how lightweight an RFID authentication protocol can be. For-
mal models should be developed to break the design-attack-revision-attack loop.
• Compared to the privacy notions developed for RFID tag authentication, the development
of privacy notions for RFID path authentication is less mature. It is possible to develop new
privacy notions for RFID path authentication.
• How does one incorporate practical batch processes in clone tag detection and false event
injection detection?
• Practical access control policy enforcement at EPCISes: e current query processes at EP-
CISes require EPCISes to query EPCDS for enforcing partner relationship-based policies.
It would be more practical to remove EPCDS from such processes.
126 6. SUMMARY AND FUTURE DIRECTIONS
• Is it possible to enforce partner relationship-based policies at EPCDS if EPCDS is not fully
trusted?
• If EPCISes and/or EPCDS are outsourced to be cloud computing services, which is an
realistic assumption due to a high volume of RFID data and an emerging trend in the In-
ternet of things, how does one protect data privacy while enabling user queries and enforcing
access control policies?
• It is meaningful to promote mature and practical techniques in RFID security and privacy
to become part of future RFID standards (e.g., ISO and EPCglobal).
127
Bibliography
[1] GS1, “EPC Tag Data Standard 1.6, Ratified Standard,” Sept 9, 2011. www.gs1.org/gsmp/
kc/epcglobal/tds/tds_1_6-RatifiedStd-20110922.pdf. 1, 118
[2] EPCglobal, “EPC Radio-Frequency Identity Protocols Class-1 Generation-2 UHF RFID
protocol for communications at 860 MHz-960 MHz, version 1.2.0.,” 2008. 3, 33
[3] EPCglobal, “e EPCglobal Architecture Framework,” http://www.gs1.org/gsmp/kc/
epcglobal/architecture/architecture_1_4-framework-20101215.pdf, 2010. 3,
100, 101
[4] EPCglobal, “EPC Information Services (EPCIS) Version 1.0 Specification,” http:
//www.gs1.org/gsmp/kc/epcglobal/epcis/epcis_1_0-standard-20070412.pdf,
2007. 100, 101
[5] EPCglobal, “Data Discovery (DD JRG) Requirements Document,” version 0.0.27, 2009.
100, 123
[6] B. Fabin and O. Günther, “Security challenges of the EPCglobal Network,” Communications
of ACM, vol. 52, no. 7, pp. 121–125, 2009. DOI: 10.1145/1538788.1538816. 100
[7] Wikipedia, “EPCglobal Network,” http://en.wikipedia.org/wiki/EPCglobal_
Network, last updated 7 September 2010, accessed 30 September 2013. 100
[8] Gildas Avoine, “RFID Security and Privacy Lounge,” http://www.avoine.net/rfid/.
125
[9] Rishab Nithyanand, Gene Tsudik, and Ersin Uzun, “Readers Behaving Badly - Reader Re-
vocation in PKI-Based RFID Systems,” ESORICS, pp. 19–36, 2010. DOI: 10.1007/978-
3-642-15497-3_2. 8
[10] R. Sandhu, “Good-enough security,” IEEE Internet Computing., January-February 2003,
pp. 66–68, 2003. DOI: 10.1109/MIC.2003.1167341. 5
[11] M. Feldhofer, S. Dominikus, and J. Wolkerstorfer, “Strong authentication for RFID sys-
tems using the AES algorithm,” CHES 2004. LNCS,, vol. 3156, pp. 357–370, 2004. DOI:
10.1007/978-3-540-28632-5_26. 9, 18, 64
[12] M. Feldhofer, “Comparing the Stream Ciphers Trivium and Grain for their Feasibility on
RFID tags,” Proceedings of Austrochip,, 2007. 9
128 BIBLIOGRAPHY
[13] D. Hein, J. Wolkerstorfer, and N. Felber, “ECC is Ready for RFID - A Proof in Silicon,”
4th Workshop on RFID Security (RFIDSec), 2008. DOI: 10.1007/978-3-642-04159-4_26.
8
[14] M. O’Neill, “Low-Cost SHA-1 Hash Function Architecture for RFID Tags,” 4th Workshop
on RFID Security (RFIDSec), 2008. 9, 18
[15] C. Rolfes, A. Poschmann, and C. Paar, “Security for 1000 Gate Equivalents,” Secure Com-
ponent and System Identification (SECSI), 2008. DOI: 10.1007/978-3-540-85893-5_7. 9,
18
[16] T. Kasper, D. Oswald, and C. Paar, “Side-Channel Analysis of Cryptographic RFIDs with
Analog Demodulation,” 7th Workshop on RFID Security (RFIDSec), pp. 61–77, 2011. DOI:
10.1007/978-3-642-25286-0_5. 7
[17] Tong-Lee Lim, Tieyan Li, and Yingjiu Li, “A Security and Performance Evaluation of
Hash-based RFID Protocols,” 4th International Conferences on Information Security and
Cryptology (Inscrypt), pp. 406–424, 2008. DOI: 10.1007/978-3-642-01440-6_30. 9
[18] Yingjiu Li and Xuhua Ding, “Protecting RFID Communications in Supply Chains,” ACM
Symposium on InformAtion, Computer, and Communication Security (ASIACCS), pp. 234–
241, 2007. DOI: 10.1145/1229285.1229318. 16
[19] S. A. Weis, “Radio-Frequency Identification Security and Privacy,” Master’s thesis, M.I.T.,
June 2003. 18
[20] A. Juels, “RFID Security and Privacy: A Research Survey,” IEEE Journal on Se-
lected Areas in Communication ( J-SAC), vol. 24, no. 2, pp. 381–395, 2006. DOI:
10.1109/JSAC.2005.861395. 18, 125
[25] Hung-Yu Chien and Chen-Wei Huang, “Security of Ultra-Lightweight RFID Authenti-
cation Protocols and Its Improvements,” ACM SIGOPS Operating Systems Review archive,
vol. 41, no. 4, pp. 83–86, 2007. DOI: 10.1145/1278901.1278916. 18
[26] Hung-Yu Chien, “SASI: A New Ultra-Lightweight RFID Authentication Protocol Pro-
viding Strong Authentication and Strong Integrity,” IEEE Transactions on Dependable and
Secure Computing, vol. 4, No. 4, pp. 337–340, 2007. DOI: 10.1109/TDSC.2007.70226. 18
[27] Hung-Min Sun, Wei-Chih Ting, and King-Hang Wang, “On the Security of Chien’s Ul-
tralightweight RFID Authentication Protocol,” IEEE Transactions on Dependable and Secure
Computing, vol. 8, No. 2, pp. 315–317, 2011. DOI: 10.1109/TDSC.2009.26. 18
[28] G. Avoine, X. Carpent, and B. Martin, “Strong Authentication and Strong Integrity (SASI)
Is Not at Strong,” 6th Workshop on RFID Security (RFIDSec), pp. 50–64, 2010. DOI:
10.1007/978-3-642-16822-2_5. 18
[29] D. M. Konidala, Z. Kim, and K. Kim, “A simple and cost effective RFID tag-reader mutual
authentication scheme,” 3rd Workshop on RFID Security (RFIDSec), 2007. 18, 64
[31] Y.-J. Huang, C.-C. Yuan, M.-K. Chen, W.-C. Lin, and H.-C. Teng, “Hardware implemen-
tation of RFID mutual authentication protocol,” IEEE Transactions on Industrial Electronics,
vol. 57, no. 5, 2010. DOI: 10.1109/TIE.2009.2037098. 19
[32] Y.-J. Huang, W.-C. Lin, and H.-L.Li, “Efficient implementation of RFID mutual authen-
tication protocol,” IEEE Transactions on Industrial Electronics, vol. 59, no. 12, pp. 4784–
4791, 2012. DOI: 10.1109/TIE.2011.2178215. 19
[33] Seyed Farhad Aghili, Nasour Bagheri, Praveen Gauravaram, Masoumeh Safkhani, and
Somitra Kumar Sanadhya, “On the Security of two RFID Mutual Authentication Proto-
cols,” 9th Workshop on RFID Security (RFIDSec), 2013. DOI: 10.1007/978-3-642-28879-
1_7. 19
[48] G. Tsudik, “YA-TRAP: Yet Another Trivial RFID Authentication Protocol,” in Proceedings
of the IEEE Int’l Conference on Pervasive Computing and Communications Workshops (Per-
ComW) 2006, pp. 640–643, 2006. DOI: 10.1109/PERCOMW.2006.152. 10
[49] C. Chatmon, T. van Le, and M. Burmester, “Secure Anonymous RFID Authentication
Protocols,” Technical Report TR-060112, Florida State University, Computer Science Dept,
2006. 10
[50] T. Dimitriou, “A Secure and Efficient RFID Protocol at Could Make Big Brother (Par-
tially) Obsolete,” in Proceedings of the 1st Int’l Conference on Pervasive Computing and Com-
munications (PerCom) 2006, pp. 269–275, 2006. 13, 14
[51] D. Molnar, and D. Wagner, “Privacy and Security in Library RFID Issues, Practices and
Architectures,” in Proceedings of the ACM Conference on Computer and Communication Secu-
rity, 2004. DOI: 10.1145/1030083.1030112. 12, 14
[52] L. Lu, J. S. Han, L. Hu, Y. H. Liu and L. M. Ni, “Dynamic Key-Updating: Privacy-
Preserving Authentication for RFID Systems,” in Proceedings of the IEEE Int’l Conference
on Pervasive Computing and Communications (PerCom) 2007, 2007. DOI: 10.1109/PER-
COM.2007.13. 13
[54] D. Henrici, and P. Muller, “Providing Security and Privacy in RFID Systems Using Trig-
gered Hash Chains,” in Proceedings of the IEEE Int’l Conference on Pervasive Computing and
Communications (PerCom) 2008, pp. 50–59, 2008. DOI: 10.1109/PERCOM.2008.67. 15
[55] Tong-Lee Lim, Tieyan Li, and Tao Gu, “Secure RFID Identification and Authentication
with Triggered Hash Chain Variants,” Proceedings of the 14th Int’l Conference on Parallel and
Distributed Systems (ICPADS) ’08, 2008. DOI: 10.1109/ICPADS.2008.46. 16
[56] N. Hopper and M. Blum, “Secure Human Identification Protocols,” Advances in Cryptog-
raphy – Asiacrypt 2001, LNCS 2248, pp. 52–66, 2001. DOI: 10.1007/3-540-45682-1_4.
19
132 BIBLIOGRAPHY
[57] A. Juels and S. Weis, “Authenticating Pervasive Devices with Human Protocols,”
Advances in Cryptography – Crypto 2005, LNCS 3621, pp. 293–308, 2005. DOI:
10.1007/11535218_18. 19
[58] H. Gilbert, H. Sibert, and M. Robshaw, “An active attack against a provably secure
lightweight authentication protocol,” Electronics Letters, vol. 41, no. 21, 2005. DOI:
10.1049/el:20052622. 20
[59] J. Bringer, H. Chabanne and E. Dottax, “HB++: a Lightweight Authentication Protocol
Secure against Some Attacks,” Second International Workshop on Security, Privacy and Trust
in Pervasive and Ubiquitous Computing (SecPerU 2006), pp. 28–33, 2006. 20
[60] J. Munilla and A. Peinado, “HB-MP: A further step in the HB-family of lightweight au-
thentication protocols,” e International Journal of Computer and Telecommunications Net-
working, vol. 51, no. 9, pp. 2262–2267, June, 2007. DOI: 10.1016/j.comnet.2007.01.011.
20
[61] D. Duc and K. Kim, “Securing HB+ against GRS main-in-the-middle attack,” 2007 Sym-
posium on Cryptography and Information Security (SCIS), 2007. 20
[62] X. Leng, K. Mayes, and K. Markantonakis, “HB-MP+ protocol: an improvement on
the HB-MP protocol,” 2008 IEEE International Conference on RFID, 2008. DOI:
10.1109/RFID.2008.4519342. 20
[63] J. Bringer and H. Chabanne, “Trusted-HB: a low-cost version of HB secure
against man-in-the-middle attacks,” eprint.iacr.org/2008042.pdf, 2008. DOI:
10.1109/TIT.2008.928290. 20
[64] H. Gilbert, M. Robshaw, and Y. Seurin, “HB# : Increasing the security and efficiency of
HB,” Eurocrypt, pp. 361–378, 2008. 20
[65] C. Bosley, K. Haralambiev, and A. Nicolosi, “HBN : An HB-like protocol secure against
man-in-the-middle attacks,” eprint.iacr.org/2011/350.pdf, 2011. 21
[66] K. B. Rasmussen and S. Čapkun, “Realization of RF Distance Bounding,” USENIX Security
Symposium, 2010. 22
[67] S. Brands and D. Chaum, “Distance bounding protocols,” Eurocrypt 1993, pp. 344–359,
1994. DOI: 10.1007/3-540-48285-7_30. 22
[68] G. P. Hancke and M. G. Kuhn, “An RFID distance bounding protocol,” SecureComm 2005,
pp. 67–73, 2005. DOI: 10.1109/SECURECOMM.2005.56. 22
[69] G. Avoine, M. A. Bingöl, S. Kardaş, C. Lauradoux, and B. Martin, “A framework for an-
alyzing RFID distance bounding protocols,” Journal of Computer Security, vol. 19, no. 2,
pp. 289–317, 2011. DOI: 10.3233/JCS-2010-0408. 21
BIBLIOGRAPHY 133
[70] A. Juels, “Minimalist Cryptography for Low-Cost RFID Tags,” 4th International Confer-
ence on Security in Communication Networks (SCN), 2004. DOI: 10.1007/978-3-540-30598-
9_11. 19
[71] D. N. Duc, J. Park, H. Lee and K. Kim, “Enhancing security of EPCglobal Gen2 RFID tag
against traceability and cloning,” 2006 Symposium on Cryptography and Information Security
(SCIS), 2006. 19, 64
[72] H.-M. Sun and W.-C. Ting, “A Gen2-Based RFID Authentication Protocol for Security
and Privacy,” IEEE Transactions on Mobile Computing, vol. 8, no. 8, pp. 1052–1062, 2009.
DOI: 10.1109/TMC.2008.175. 19
[73] A. Juels, R. Pappu, and B. Parno, “Unidirectional Key Distribution Across Time and Space
with Applications to RFID Security,” 17th USENIX Security Symposium, pp. 75–90, 2008.
23, 24, 25, 26, 32, 96
[74] Tieyan Li, Yingjiu Li, and Guilin Wang, “Secure and Practical Key Distribution for RFID-
Enabled Supply Chains,” 7th International ICST Conference on Security and Privacy in Com-
munication Networks (SecureComm), 2011. DOI: 10.1007/978-3-642-31909-9_20. 24, 25,
26, 28, 29, 30
[75] M. Bellare and P. Rogaway, “Robust computational secret sharing and a unified account of
classical secret-sharing goals,” Proc. of the 14th conference on Computer and communications
security, pp. 172–184, 2007. DOI: 10.1145/1315245.1315268. 26
[76] R. J. McEliece, and D.V. Sarwate, “On sharing secrets and reed-solomon codes,” Commu-
nications of the ACM, vol. 24, pp. 583–584, 1981. DOI: 10.1145/358746.358762. 27
[77] A. Juels, “Strengthening EPC tags against cloning,” ACM Workshop on Wireless Security -
WiSe, 2005. DOI: 10.1145/1080793.1080805. 31
[78] P. Rogaway, M. Bellare, and J. Black, “OCB: A block-cipher mode of operation for efficient
authenticated encryption,” ACM Transactions on Information and System Security (TISSEC),
vol. 6, no. 3, pp. 365–403, 2003. DOI: 10.1145/937527.937529. 33
[79] A. Juels, “Yoking-proofs for RFID tags,” International workshop on pervasive com-
puting and communication security - PerSec, pp. 138–143, 2004. DOI: 10.1109/PER-
COMW.2004.1276920. 34
[80] Shaoying Cai, Chunhua Su, Yingjiu Li, Robert H. Deng, and Tieyan Li, “Protecting
and Restraining the ird Party in RFID-Enabled 3PL Supply Chains,” Sixth Interna-
tional Conference on Information Systems Security (ICISS 2010), pp. 246–260, 2010. DOI:
10.1007/978-3-642-17714-9_18. 35
134 BIBLIOGRAPHY
[81] J. Saito and K. Sakurai, “Grouping proof for RFID tags,” 19th International Confer-
ence on Advanced Information Networking and Applications, pp. 621–624, 2005. DOI:
10.1109/AINA.2005.197. 34
[82] S. Piramuthu, “On existence proofs for multiple RFID tags,” 2006 ACS/IEEE
International Conference on Pervasive Services, pp. 317–320, 2006. DOI:
10.1109/PERSER.2006.1652252. 34
[83] C.-C. Lin, Y.-C. Lai, J. D. Tygar, C.-K. Yang, and C.-L. Chiang, “Coexistence proof using
chain of timestamps for multiple RFID tags,” APWeb/WAIM Workshops, pp. 634–643, 2007.
DOI: 10.1007/978-3-540-72909-9_70. 34
[84] M. Burmester, B. de Medeiros, and R. Motta, “Probably secure grouping-proofs for RFID
tags,” CARDIS, pp. 176–190, 2008. 34
[85] ICC Commercial Crime Services, “Counterfeiting intelligence bureau,” http://www.icc-
ccs.org/home/cib, 2011. 35
[86] E.-O. Blass, K. Elkhiyaoui, and R. Molva, “Tracker: security and privacy for RFID-based
supply chains,” NDSS, pp. 455–472, 2011. 35, 39, 40, 88, 89, 95, 96
[87] E.-O. Blass, K. Elkhiyaoui, and R. Molva, “Tracker: security and privacy for RFID-based
supply chains,” Cryptology ePrint Archive, Report 2010/219, 2010. 89, 90, 91, 95
[88] Erik-Oliver Blass, Kaoutar Elkhiyaoui, and Refik Molva, “CHECKER: on-site checking in
RFID-based supply chains,” ACM conference on Security and Privacy in Wireless and Mobile
Networks, pp. 173–184, 2012. DOI: 10.1145/2185448.2185471. 38, 39, 89
[89] S. Cai, Y. Li, and Y. Zhao, “Distributed path authentication for dynamic RFID-enabled
supply chains,” IFIP SEC, 2012. DOI: 10.1007/978-3-642-30436-1_41. 39, 96
[90] H. Wang, Y. Li, Z. Zhang, and Z. Cao, “Two-level path authentication in EPC-global
network,” IEEE RFID, pp. 24-31, 2012. DOI: 10.1109/RFID.2012.6193052. 40
[91] Shaoying Cai, Robert H. Deng, Yingjiu Li, and Yunlei Zhao, “A new framework for pri-
vacy of RFID path authentication,” ACNS, pp. 473–488, 2012. DOI: 10.1007/978-3-642-
31284-7_28. 39, 40, 89, 91, 92, 93, 96
[92] G. Noubir, K. Vijayan, and H. J. Nussbaumer, “Singaure-based method for run-time fault
detection in communication protocols,” Computer Communications Journal, vol. 21, no. 5,
pp. 405–421, 1998. DOI: 10.1016/S0140-3664(98)00121-2. 36
[93] A. Boldyreva, C. Gentry, A. O’Neill, and D. H. Yum, “Ordered multisignatures and
identity-based sequential aggregate signatures with applications to secure routing,” CCS,
pp. 276–285, 2007. DOI: 10.1145/1315245.1315280. 39
BIBLIOGRAPHY 135
[94] D. Zanetti, S. Capkun, and A. Juels, “Tailing RFID tags for clone detection,” NDSS, 2013.
40, 41, 43, 115
[95] Changshe Ma, Yingjiu Li, Robert H. Deng and Tieyan Li, “RFID privacy: relation between
two notions, minimal condition, and efficient construction,” ACM Conference on Computer
and Communications Security, pp. 54–65, 2009. DOI: 10.1145/1653662.1653670. 47, 54,
56, 64, 78
[96] Junzuo Lai, Robert H. Deng, Yingjiu Li, “Revisiting Unpredictability-Based RFID Pri-
vacy Models,” 8th International Conference on Applied Cryptography and Network Security
(ACNS), pp. 475–492, 2010. DOI: 10.1007/978-3-642-13708-2_28. 56, 57, 78, 79
[97] Yingjiu Li, Robert H. Deng, Junzuo Lai, and Changshe Ma, “On Two RFID Privacy No-
tions and eir Relations,” ACM Transactions on Information and System Security (TISSEC),
vol. 14, no. 4, pp. 30:1–23, ACM, 2011. DOI: 10.1145/2043628.2043631. 47, 56, 57, 59,
60, 61, 62, 64, 78, 79
[98] Ivan Damgård and Michael Østergaard Pedersen, “RFID Security: Tradeoffs between Secu-
rity and Efficiency,” CT-RSA, pp. 318–332, 2008. DOI: 10.1007/978-3-540-79263-5_20.
8, 51
[99] Ari Juels and Stephen A. Weis, “Defining Strong Privacy for RFID,” PerCom Workshops,
pp. 342–347, 2007. DOI: 10.1109/PERCOMW.2007.37. 52, 59, 67, 74, 76, 77
[100] Pierangela Samarati and Latanya Sweeney, “Protecting Privacy when Disclosing Informa-
tion: k-Anonymity and Its Enforcement through Generalization and Suppression,” Techni-
cal Report, SRI International, 1998. 53
[101] JungHoon Ha, Sang-Jae Moon, Jianying Zhou and JaeCheol Ha, “A New Formal Proof
Model for RFID Location Privacy,” ESORICS, pp. 267–281, 2008. DOI: 10.1007/978-3-
540-88313-5_18. 53, 78
[102] van Deursen, Ton and Radomirović, Saša, “On a new formal proof model for
RFID location privacy,” Inf. Process. Letter, vol. 110, no. 2, pp. 57–61, 2009. DOI:
10.1016/j.ipl.2009.10.007. 54
[103] Oded Goldreich, Shafi Goldwasser and Silvio Micali, “How to construct random func-
tions,” Journal of ACM, vol. 33, no. 4, pp. 792–807, 1986. DOI: 10.1145/6490.6503. 64
[104] Hung-Yu Chien and Che-Hao Chen, “Mutual authentication protocol for RFID con-
forming to EPC Class 1 Generation 2 standards,” Computer Standards & Interfaces, vol. 29,
no. 2, pp. 254–259, 2007. DOI: 10.1016/j.csi.2006.04.004. 64
136 BIBLIOGRAPHY
[105] Pedro Peris-Lopez, Tieyan Li, Tong Lee Lim, Julio Cesar Hernandez-Castro, and Juan
M. Estevez-Tapiador, “Vulnerability Analysis of a Mutual Authentication Scheme under
the EPC Class-1 Generation-2 Standard,” Workshop on RFID Security – RFIDSec’08, 2008.
64
[106] T. van Deursen and S. Radomirovic, “Attacks on RFID Protocols,” Cryptology ePrint
Archive, Report 2008/310, 2008. 64
[107] omas Eisenbarth, Sandeep Kumar, Christof Paar, Axel Poschmann and Leif Uhsadel, “A
Survey of Lightweight-Cryptography Implementations,” IEEE Design & Test of Computers,
vol. 24, no. 6, pp. 522–533, 2007. DOI: 10.1109/MDT.2007.178. 64
[108] Sandeep Kumar and Christof Paar, “Are Standards Compliant Elliptic Curve Cryptosys-
tems feasible on RFID?” Workshop on RFID Security – RFIDSec’06, 2006. 64
[109] Pedro Peris-Lopez, Julio César Hernández Castro, Juan M. Estévez-Tapiador and Arturo
Ribagorda, “RFID Systems: A Survey on Security reats and Proposed Solutions,” PWC,
pp. 159–170, 2006. DOI: 10.1007/11872153_14. 64
[110] Robert H. Deng, Yingjiu Li, Moti Yung, Yunlei Zhao, “A New Framework for RFID
Privacy,” 15th European Symposium on Research in Computer Security (ESORICS), pp. 1–18,
2010. DOI: 10.1007/978-3-642-15497-3_1. 8, 65, 66, 87
[111] Robert H. Deng, Yingjiu Li, Moti Yung, Yunlei Zhao, “A Zero-Knowledge Based Frame-
work for RFID Privacy,” Journal of Computer Security ( JCS), vol. 19, no. 6, pp. 1109–1146,
2011. DOI: 10.3233/JCS-2011-0440. 65, 66, 79, 81, 87
[112] S. Goldwasser, S. Micali and C. Rackoff, “e Knowledge Complexity of Interactive
Proof-Systems,” ACM Symposium on eory of Computing, pp. 291–304, 1985. 65, 75
[113] O. Goldreich, “e Foundations of Cryptography. volume I, Basic Tools,” Cambridge
University Press, 2001. 65, 75
[114] O. Goldreich, S. Goldwasser, and S. Micali, “How to construct random functions,” J.
ACM, vol. 33, no. 4, pp. 792–807, 1986. DOI: 10.1145/6490.6503. 65
[115] C. Berbain, O. Billet, J. Etrog and H. Gilbert, “An Efficient Forward Private
RFID Protocol,” Conference on Computer and Communications Security – CCS’09. DOI:
10.1145/1653662.1653669. 67
[116] S. Vaudenay, “On Privacy Models for RFID,” Advances in Cryptology - Asiacrypt 2007.
DOI: 10.1007/978-3-540-76900-2_5. 8, 68, 81, 84, 85
[117] R. L. Paise and S. Vaudenay, “Muthal Authentication in RFID: Security and Privacy,”
AsiaCCS, pp. 292–299, 2008. 81
BIBLIOGRAPHY 137
[118] J. Rompel, “One-Way Functions are Necessary and Sufficient for Digital Signatures,” 22nd
ACM Symposium on eory of Computing (STOC’90), 1990. DOI: 10.1145/100216.100269.
78
[119] P. Golle, M. Jakobsson, A. Juels, and P. Syverson, “Universal reencryption for mixnets,”
Topics in Cryptology–CT-RSA 2004, LNCS 2964, pp. 163–178, 2004. DOI: 10.1007/978-
3-540-24660-2_14. 78
[121] C. de Canniere and B. Preneel, “Trivium,” In M. Robshaw and O. Billet, editors, New
Stream Cipher Designs: e eSTREAM Finalists, volume 4986 of LNCS, pp. 244–266, 2008.
DOI: 10.1007/978-3-540-68351-3. 81
[122] M. Hell, T. Johansson, and W. Meier, “e Grain Family of Stream Ciphers,” In M. Rob-
shaw and O. Billet, editors, New Stream Cipher Designs: e eSTREAM Finalists, volume
4986 of LNCS, pp. 179–190, 2008. DOI: 10.1007/978-3-540-68351-3. 81
[124] Daniel Engels, Markku-Juhani O. Saarinen, Peter Schweitzer, and Eric M. Smith, “e
Hummingbird-2 Lightweight Authenticated Encryption Algorithm,” Proceedings of the 7th
international conference on RFID Security and Privacy (RFIDsec 11), pp. 19–31, 2012. DOI:
10.1007/978-3-642-25286-0_2. 81
[125] T.V. Le, M. Burmester and B.D. Medeiros, “Universally Composable and Forward-secure
RFID Authentication and Authenticated Key Exchange,” AsiaCCS’07, pp. 242–252, 2007.
DOI: 10.1145/1229285.1229319. 87
[126] M. Burmester, T.V. LE, B.D. Medeiros, and G. Tsudik, “Universally Composable RFID
Identification and Authentication Protocols,” ACM Transactions on Information and Systems
Security, vol. 12, no. 4, 2009. DOI: 10.1145/1513601.1513603. 87
[127] Chunhua Su, Yingjiu Li, Tieyan Li, and Robert H. Deng, “RFID mutual authentication
protocol with universally composable security,” 2011 Workshop on RFID Security (RFIDsec
Asia), pp. 35–49, 2011. 87
[128] R. Canetti, “Universally Composable Security: A New Paradigm for Cryptographic Pro-
tocols,” IEEE Symposium on Foundations of Computer Science, pp. 136–145, 2001. DOI:
10.1109/SFCS.2001.959888. 87
138 BIBLIOGRAPHY
[129] R. Canetti, Y. Dodis, R. Pass and S. Walfish, “Universal Composable Security with
Global Setup,” eory of Cryptography (TCC) 2007, LNCS 4392, pp. 61–85, 2007. DOI:
10.1007/978-3-540-70936-7_4. 87
[130] A. C. Yao, F. F. Yao and Y. Zhao, “A Note on the Feasibility of Generalised Universal
Composability,” Mathematical Structures in Computer Science, vol. 19, no. 1, pp. 193–205,
2009. DOI: 10.1017/S0960129508007330. 87
[132] B. Song, “RFID tag ownership transfer,” Workshop on RFID Security (RFIDsec), 2008. 97
[133] Shaoying Cai, Yingjiu Li, Tieyan Li, Robert H. Deng, “Attacks and improvements to an
RFID mutual authentication protocol,” 2nd ACM Conference on Wireless Network Security
(WiSec), pp. 51–58, 2009. DOI: 10.1145/1514274.1514282. 97
[135] D. Molnar, A. Soppera, and D. Wagner, “A scalable, delegatable pseudonym protocol en-
abling ownership transfer of RFID tags,” Workshop on Selected Areas in Cryptography (SAC
2005), 2006. DOI: 10.1007/11693383_19. 97
[136] C. Y. Ng, W. Susilo, Y. Mu, and R. Safavi-Naini, “Practical RFID Ownership Trans-
fer Scheme,” Journal of Computer Security, vol. 19, no. 2, pp. 319–341, 2011. DOI:
10.3233/JCS-2010-0409. 97
[137] Su Mon Kywe, Jie Shi, Yingjiu Li, and Raghuwanshi Kailash, “Evaluation of Different
Electronic Product Code Discovery Service Models,” Advances in Internet of ings, vol. 2,
pp. 37–46, 2012. DOI: 10.4236/ait.2012.22005. 101, 102, 103
[138] B. Liu and C.-H. Chu, “Security analysis of EPC-enabled RFID network,” IEEE In-
ternational Conference on RFID Technology and Application, pp. 239–244, 2010. DOI:
10.1109/RFID-TA.2010.5529931. 100
[139] BRIDGE project, “High level design for discovery services,” 2007. 101
[140] J. Müller, J. Oberst, S. Wehrmeyer, J. Witt, A. Zeier and H. Plattner, “An aggregating dis-
covery service for the EPCglobal Network,” 43rd Hawaii International Conference on System
Sciences, pp. 1–9, 2010. DOI: 10.1109/HICSS.2010.47. 101
BIBLIOGRAPHY 139
[141] Jie Shi, Darren Sim, Yingjiu Li, and Robert H. Deng, “SecDS: A Secure EPC Discovery
Services System in EPCglobal Network,” 2nd ACM Conference on Data and Application
Security and Privacy (CODASPY), pp. 267–274, 2012. DOI: 10.1145/2133601.2133634.
105
[142] E. Grummt and M. Müller, “Fine-grained access control for EPC information services,”
IOT, pp. 35–49, 2008. DOI: 10.1007/978-3-540-78731-0_3. 105
[143] Florian Kerschbaum and Alessandro Sorniotti, “RFID-based supply chain partner authen-
tication and key agreement,” Proceedings of the second ACM conference on Wireless network
security (WiSec), pp. 41–50, 2009. DOI: 10.1145/1514274.1514281. 100, 111
[144] B. Clifford Neuman and eodore Ts’o, “Kerberos: An Authentication Service for
Computer Networks,” IEEE Communications, vol. 32, no. 9, pp. 33–8, 1994. DOI:
10.1109/35.312841.
[145] Su Mon Kywe, Yingjiu Li, and Jie Shi, “Attack and Defense Mechanisms of Malicious
EPC Event Injection in EPC Discovery Service,” IEEE International Conference on RFID
Technologies and Applications (IEEE RFID TA), 2013. 111, 112, 113, 114
[146] B. Fabian, T. Ermakova, and C. Müller, “SHARDIS: A Privacy-Enhanced Discovery
Service for RFID-Based Product Information,” IEEE Transactions on Industrial Informat-
ics, vol. 8, no. 3, 707–718, 2012. DOI: 10.1109/TII.2011.2166783. 117, 118
[147] A. Shamir, “How to share a secret,” Communications of the ACM, vol. 22, no. 11, pp. 612–
613, 1979. DOI: 10.1145/359168.359176. 117
[148] B. Fabian and O. Günther, “Distributed ONS and its impact on privacy,” IEEE Interna-
tional Conference on Communications (ICC), pp. 1223–1228, 2007. 118
[149] Qiang Yan, Yingjiu Li, and Robert H. Deng, “Anti-Tracking in RFID Discovery Service
for Dynamic Supply Chain Systems,” International Journal of RFID Security and Cryptog-
raphy (IJRFIDSC), vol. 1, no. 1/2, pp. 25–35, 2012. 119, 121, 123
[150] M. Blaze, G. Bleumer, and M. Strauss, “Divertible protocols and atomic proxy cryptog-
raphy,” Proceedings of Eurocrypt’98, LNCS 1403, pp. 127–144, 1998. 121
[151] G. Ateniese, K. Fu, M. Green, and S. Hohenberger, “Improved proxy re-encryption
schemes with applications to secure distributed storage,” Proceedings of the 12th Annual Net-
work and Distributed System Security Symposium (NDSS), pp. 29–43, 2005. 122, 123
[152] JHU-MIT Proxy Re-cryptography Library, http://spar.isi.jhu.edu/prl/. 123
141
Authors’ Biographies
YINGJIU LI
Yingjiu Li is currently an Associate Professor in the School
of Information Systems at Singapore Management Univer-
sity (SMU). His research interests include RFID Security and
Privacy, Applied Cryptography and System Security, Privacy-
Preserving Data Analytics, and Data Applications Security. He
has published over 100 technical papers in international con-
ferences and journals, including Oakland, CCS, USENIX Se-
curity, NDSS, ESORICS, ASIACCS, TISSEC, TDSC, and
JCS. He has served in the program committees for over 80 in-
ternational conferences and workshops, including the most re-
cent ones such as Oakland 2014, CCS 2013, ESORICS 2013,
and RFIDSec 2013. He founded the RFID Security Lab in
SMU and his research was supported by A*STAR SERC Public Sector Funding (PSF) in Singa-
pore. Yingjiu Li is a senior member of the ACM and a member of the IEEE Computer Society.
e URL for his web page is http://www.mysmu.edu/faculty/yjli/
142 AUTHORS’ BIOGRAPHIES
ROBERT H. DENG
Robert H. Deng has been a Professor at the School of Informa-
tion Systems, Singapore Management University, since 2004.
Prior to this, he was Principal Scientist and Manager of Info-
comm Security Department, Institute for Infocomm Research,
Singapore. His research interests include data security and pri-
vacy, multimedia security, network, and system security. He
was Associate Editor of the IEEE Transactions on Information
Forensics and Security from 2009–2012 and Associate Editor of
Security and Communication Networks from 2007–2013. He is
currently Associate Editor of IEEE Transactions on Dependable
and Secure Computing, and a member of Editorial Board of Jour-
nal of Computer Science and Technology and International Journal of Information Security. He is
the chair of the Steering Committee of the ACM Symposium on Information, Computer and
Communications Security. He received the University Outstanding Researcher Award from the
National University of Singapore in 1999 and the Lee Kuan Yew Fellow for Research Excel-
lence from the Singapore Management University in 2006. He was named Community Service
Star and Showcased Senior Information Security Professional by (ISC)2 under its Asia-Pacific
Information Security Leadership Achievements program in 2010.
AUTHORS’ BIOGRAPHIES 143
ELISA BERTINO
Elisa Bertino is a professor with the Computer Science De-
partment at Purdue University and serves as director of Cy-
ber Center and Research Director of CERIAS. Previously, she
was a faculty member in the Department of Computer Science
and Communication of the University of Milan. Her main re-
search interests include security, privacy, digital identity man-
agement systems, database systems, distributed systems, and
multimedia systems. She is a fellow of the IEEE and a fellow
of the ACM. She received the 2002 IEEE Computer Society
Technical Achievement Award for outstanding contributions
to database systems and database security and advanced data
management systems and the 2005 IEEE Computer Society
Tsutomu Kanai Award for pioneering and innovative research contributions to secure distributed
systems.