Abstract
One of the major applications of Radio Frequency Identification (RFID) technology is in supply chain management as it promises to provide real-time visibility based on the function of track and trace. However, such an RFID-based track and trace system raises new security and privacy challenges due to the restricted resource of tags. In this paper, we refine three privacy related models (i.e., the privacy, path unlinkability, and tag unlinkability) of RFID-based track and trace systems, and clarify the relations among these privacy models. Specifically, we have proven that privacy is equivalent to path unlinkability and tag unlinkability implies privacy. Our results simplify the privacy concept and protocol design for RFID-based track and trace systems. Furthermore, we propose an efficient track and trace scheme, Tracker+, which allows for authentic and private identification of RFID-tagged objects in supply chains. In the Tracker+, no computational ability is required for tags, but only a few bytes of storage (such as EPC Class 1 Gen 2 tags) are needed to store the tag state. Indeed, Tracker+ reduces the memory requirements for each tag by one group element compared to the Tracker presented in other literature. Moreover, Tracker+ provides privacy against supply chain inside attacks.
1. Introduction
Today, Radio Frequency Identification (RFID) tags are extensively used to track and identify goods, supplies, and equipments. In these applications, the tags are physically attached to objects, providing a convenient management of supply chains. Such convenience depends on the track and trace function of RFID-based supply chains, while such a track and trace system provides real-time visibility for supply chains. Thus, this may allow hackers to breach privacy by tracing and observing the tag through time and space. Since RFID tags are equipped with limited computational ability and storage, the design of track and trace system for RFID-based supply chains may bring new privacy and security challenges.
Recently, Blass et al. presented three kinds of privacy-related models [1] for RFID-based track and trace systems: privacy, path unlinkability, and tag unlinkability. Unfortunately, the definitions of privacy and path unlinkability in [1] are incomplete since they depend on the impractical assumption that each tag goes through each step (or each path) in supply chains with the same probability. Moreover, the above three kinds of privacy models are too complicated to understand the privacy of RFID-based track and trace systems. Can these privacy requirements be simplified? In other words, what are the relations among privacy, path unlinkability, and tag unlinkability? These problems have not yet been addressed in the literature.
In addition, RFID tags are resource-restricted devices, especially the EPC Class 1 Gen 2 tags [2], which have very limited memory and support only simple operations such as XOR, CRC, and the 16-bit random number generator. Moreover, the tag is passive and not tamperproof. Therefore, it cannot provide secure access control and authentication to readers. During the life cycle of a tag in the RFID-based supply chain, how to prepare the tag data in a way to enable secure and private track and trace becomes a substantial challenge. The existing track and trace scheme Tracker [1] aims to address this problem. However, it cannot guarantee the claimed privacy since the signature part of the internal state of each tag is unchanged for each path. Hence, an adversary can trace the tag by comparing the signature part of its current internal state with the previous one. Therefore, it is of vital importance to develop an efficient and secure track and trace scheme for RFID-based supply chains.
1.1. Our Contributions
In this paper, we address the abovementioned track and trace problems of RFID-based supply chains. The main contributions are as follows.
(1) We refine three privacy-related models reported in [1], the definitions of which rely on the impractical assumption that each tag goes through each step (or each path) in supply chains with the same probability. Our refined and improved models do not depend on such an assumption and capture the privacy requirements and the essences of RFID-based supply chains intuitively.
(2) We clarify the relations among privacy, path unlinkability, and tag unlinkability. Specifically, it has been proven that privacy is equivalent to path unlinkability and tag unlinkability implies privacy. Our results simplify the privacy requirements for a track and trace system of RFID-based supply chains, and promise to design efficient and simple privacy-preserving track and trace schemes for RFID-based supply chains.
(3) We propose an efficient track and trace scheme, Tracker+. The Tracker+ allows for authentic and private identification of RFID-tagged objects in supply chains. In Tracker+ , only a few bytes of storage (such as EPC Class 1 Gen 2 tags) is needed to store the tag state, while no computational ability is required for tags. Indeed, Tracker+ improves Tracker [1] by reducing the memory requirement of one group element for each tag and by providing privacy against supply chain inside attacks. The efficiency and privacy enhancement of Tracker+ is attributed to the randomness reuse technique and the randomized HMAC [3] method.
1.2. Related Work
RFID-related security and privacy issues have been widely studied in the literature, such as a survey [4] and a more up-to-date bibliography [5]. Most of this research focused on tag-reader interactions [6,7,8,9,10,11,12,13]; however, only a few reported the secure and privacy-preserving supply chain management, especially the RFID-based track and trace systems. For example, Ouafi and Vaudenay [14] addressed verification of the genuineness of products using strong cryptographically RFID tags. In their solution, tags authenticate readers at every step in the supply chain. The tags will update their internal state if the readers are successfully authenticated. The evaluation of authentication relies on two hash functions, one of which is for authentication of readers and the other is for tags’ state update. Li and Ding [15] proposed a similar approach with tags evaluating cryptographic hash functions.
1.3. Organization
The rest of the paper is organized as follows. In Section 2, we provide the technical precedents of the track and trace system. In Section 3, we introduce the security requirements for the track and trace system. In Section 4, we clarify the relations among privacy models of track and trace system. In Section 5, we propose an efficient track and trace system, Tracker+. In Section 6, we prove the security of Tracker+ and analyze its efficiency. Finally, Section 7 concludes this paper.
2. Preliminaries
In this section, we describe the mathematical conventions, the definition of supply chain, and the model of track and trace system. We use terms and expressions similar to the ones used by Ma et al. [16] and Blass et al. [1].
Mathematical Preliminaries: If
is a randomized algorithm, then
means
that
is assigned the unique output of the algorithm
on inputs
and coins
, while
is shorthand for first picking
at random and then setting
. Let
denote that
is assigned the output of the algorithm
, which takes
as inputs and has oracle accesses to
. If
are strings, then
denotes the concatenation of them. If
is a string then
denotes its bit length in binary code. If
is a set then
indicates that
is chosen uniformly at random from
and
denotes its cardinality (i.e., the number of elements of
). Let
denote the probability that an event
occurs.
2.1. Supply Chain
As described in [1], there are four kinds of entities in a track and trace system of RFID-based supply chains: the tags, the issuer
, the readers, and the manager
. At first, the issuer
prepares the initial state of the tag that will enter the supply chain. Then, the products go through the supply chain and the reader interacts with their tags at each supply chain step. Finally, the manager
verifies the validity of a tag at the end of its trip.
Throughout this paper we denote a supply chain as a series of consecutive steps that a product has to pass through. Formally, a supply chain
is represented by a digraph
comprising of vertices
and edges
. A vertex
is equivalent to one step in the supply chain
. Each vertex/step
in the supply chain is uniquely equipped with a reader
. Every directed edge
, , from vertex
to vertex
, indicates that
is a possible next step to step
in
. If products must not pass from step
to
, then
. Whenever a product in the supply chain proceeds from step
to step
, reader
interacts with the product’s tag.
Issuer
is represented in
by the unique vertex without incoming edges
. A path
is a finite sequence of steps
, where
and
is the length of path
. A valid path
represents a particular legitimate sequence of steps in the supply chain. We assume there are
multiple different valid paths in a supply chain. The manager
will check for
’s path validity in the checkpoint, which is the last step
of a valid path
.
2.2. Track and Trace System
Formally, a track and trace system
consists of the following components:
Initialize(): Upon the security parameter
, the system prepares a supply chain
, an issuer
and a manager
, a set of
tags
, a set of
readers
, a set of
valid paths
, and a set of valid state
.
Read(): A function that reads out tag
and returns its current state
.
Write(): A function that writes a new state
into tag
.
GoNext(): The tag position transition function, which transports the tag
from its current step to its next step. Let its current state be
. After this transportation, its state has been transformed to
through the above Read and Write operations, where
and
is a state transition function.
Check(): A function that verifies whether tag
has been through a valid path
. If is the case then return the valid path
, otherwise.
3. Security Requirements
In this section, we introduce the security model of the track and trace system based on the following assumptions. One is that the readers in the supply chain are independent and the other is that a reader
at step
behaves correctly. For instance, a reader
at step
, which corresponds to quality control, does not update the state of
unless the product attached to
satisfies the quality requirements. Basically, security requirements of track and trace system consist of authenticity, privacy, and unlinkability, which are defined in the following subsections.
3.1. Authenticity
The main security goal of the track and trace system is to prevent an adversary from forging a tag’s internal state with a valid path that was not actually taken by the tag in the supply chain. It is formalized by the following experiment
(cf., Experiment 1), where the adversary
runs in two phases. Let
denote the operation (or oracle) that corrupts the internal party
of supply chains. It returns the secret information of party
. Also let
,
,
,
, and
denote GoNext, the Check, Read, and Write functions, respectively. First, in the learning phase,
can query the five oracles in any order to learn useful information, with the restriction that it cannot query
. Then, in the challenge phase,
is asked to output a tag
. The total number of
’s oracle queries does not exceed
.
Experiment 1. The authenticity experiment.
| Experiment |
| (1) initialize the Tracker system through Initialize(); |
| (2) choose an honest party ; |
| (3) ; //learning stage |
| (4) ; //challenge stage |
| (5) Read |
| (6) if Check() and tag has not been through the step and |
| then output 1; 0 otherwise. |
Definition 1. The advantage of adversary in the experiment
is defined as:
where the probability is taken over the choice of the track and trace system
and the coin tosses of the adversary
.
Definition 2. An adversary
-breaks the authenticity of the track and trace system, if the advantage
of
in the experiment
is at least
and the running time of
is at most
.
Definition 3 Authenticity. A track and trace system is said to be
-authenticated if there exists no adversary which can
-break its authenticity.
3.2. Privacy
Informally, privacy means that an adversary should not be able to tell if a tag goes through some step v in the supply chain based on the data stored on the tag.
More precisely, the privacy definition is based on the following privacy experiment
(cf., Experiment 2). Let
denote the oracle that picks a tag that goes through the step
. In the learning phase,
chooses a step
from the supply chain and is allowed to query the six oracles
,
,
,
,
, and
in any order. Then, in the challenge phase, the system randomly selects an uncorrupted tag
(i.e.,
did not write into
) and performs the GoNext() operation to change
’s internal state.
is given the tag
and is asked to guess if
has been through step
by outputting a bit
. In this phase,
is also to launch the six oracle queries under the restriction that it can query
of tag
’s internal state. The total number of A’s oracle queries does not exceed ρ.
Experiment 2. The privacy experiment.
| Experiment |
| (1) initialize the Tracker system through Initialize(); |
| (2) chooses a step |
| (3) ; //learning stage |
| (4) choose randomly bit |
| (5) if then choose a tag that does not go through |
| else choose a tag which goes through |
| (6) operate GoNext(); |
| (7) ; //challenge stage |
| (8) if then output 1, 0 otherwise. |
Definition 4. The advantage of adversary in the experiment
is defined as:
The probability is taken over the choice of track and trace system TK and the coin tosses of the adversary
.
Definition 5. An adversary
-breaks the privacy of the track and trace system, if the advantage
of
in the experiment
is at least
and the running time of
is at most
.
Definition 6 Privacy. A track and trace system is said to be
-private if there exists no adversary that can
-break its privacy.
Remark 1. Our privacy model is different from that of Blass et al. [1] in the choice of the challenge tag
. In our model,
is selected through a toss coin to decide whether it goes through the target step v or not; instead,
is chosen uniformly at random from the tag set in the model of Blass et al. [1]. The privacy definition of [1] relies on the assumption that each tag goes through each step in the supply chains with the same probability. Unfortunately, it is easy to see that this assumption does not hold true in the supply chains. Furthermore, our privacy model allows inside attacks by providing
queries to the adversary.
3.3. Unlinkability
Another two privacy requirements of the track and trace system are path unlinkability and tag unlinkability to prevent the adversary A from binding the tag data to its path and behavior, respectively. We give the detailed descriptions of them in the following.
3.3.1. Path Unlinkability
The privacy model of path unlinkability is depicted in the following experiment
(cf., Experiment 3). Let
denote the oracle that picks a tag that goes through the path
. In the learning phase,
chooses a tag
from the supply chain and is allowed to query the six oracles
,
,
,
,
, and
in any order, where
Check. Then, in the challenge phase, the system first selects a random bit
. If
then it selects an uncorrupted tag
that does not go through the path
; otherwise, it selects the tag
that goes through the path
. Then, it performs the GoNext() operation to change
’s internal state.
is given the tag
and is asked to guess if
has been through the path
by outputting a bit
. In this phase,
is also to launch the six oracle queries under the restriction that it can query
of tag
’s internal state. The total number of
’s oracle queries does not exceed
.
Experiment 3. The path unlinkability experiment.
| Experiment |
| (1) initialize the Tracker system through Initialize(); |
| (2) chooses a tag ; Let denote the path took; |
| (3) ; //learning stage |
| (4) choose randomly bit |
| (5) if then choose a tag that does not go through , |
| else choose a tag which goes through |
| (6) operate GoNext(); |
| (7) ; //challenge stage |
| (8) if then output 1; 0 otherwise. |
Definition 7. The advantage of adversary
in the experiment
is defined as:
.
The probability is taken over the choice of track and trace system TK and the coin tosses of the adversary
.
Definition 8. An adversary
-breaks the path unlinkability of the track and trace system, if the advantage
of
in the experiment
is at least
and the running time of
is at most
.
Definition 9 Path Unlinkability. A track and trace system is said to be
-path-unlinkable if there exists no adversary that can
-break its path unlinkability.
Remark 2. Our path unlinkability model is different from that of [1] in the choice of the challenge tag
. In the path unlinkability model of [1],
is chosen uniformly at random from the tag set. Such a model relies on the assumption that each tag goes through the
with the same probability. However, this kind of assumption is not always true since some tags may never go through the path
. Hence, the path unlinkability model of [1] is incomplete for RFID-based track and trace systems. In our model,
is selected through a toss coin to decide whether it goes through the target path
or not. Our model avoids the abovementioned impractical assumption. Furthermore, our path unlinkability model allows inside attacks by providing
queries to the adversary.
3.3.2. Tag Unlinkability
The privacy model of tag unlinkability is depicted in the following experiment
(cf., Experiment 4). In the learning phase,
chooses a tag
from the supply chain and is allowed to query the five oracles
, , , , and
in any order. At the end of this phase,
outputs two tags (w.l.o.g.,
and
). Then, in the challenge phase, the system tosses a coin
and performs the GoNext() operation to update
’s internal state.
is given the challenge tag
and is asked to guess the random bit
by outputting a bit
. In this phase,
is also allowed to launch the five oracle queries under the restriction that it cannot query
about tag
’s internal state. The total number of
’s oracle queries does not exceed
.
Experiment 4. The tag unlinkability experiment.
| Experiment |
| (1) initialize the Tracker system through Initialize(); |
| (2) ; //learning stage |
| (3) ; |
| (4) GoNext(); |
| (5) ; //challenge stage |
| (6) if then output 1, 0 otherwise. |
Definition 10. The advantage of adversary
in the experiment
is defined as:
where the probability is taken over the choice of track and trace system TK and the coin tosses of the adversary
.
Definition 11. An adversary
-breaks the tag unlinkability of the track and trace system if the advantage
of
in the experiment
is at least
and the running time of
is at most
.
Definition 12 Tag Unlinkability. A track and trace system is said to be
-tag-unlinkable if there exists no adversary that can
-break its tag unlinkability.
4. Relations among Privacy Models
In this section, we investigate the relations between privacy, path unlinkability, and tag unlinkability. Our results illustrate that tag unlinkability implies privacy, which is equivalent to the path unlinkability. Therefore, with respect to the security of track and trace systems, we only need to consider the authenticity and tag unlinkability, which will lead to simple schemes. More detailed explanations are as follows.
Theorem 1. (privacy path unlinkability) In the track and trace system TK, the privacy model is equivalent to the path unlinkability model.
Proof. (1) privacy path unlinkability. Assume that TK is not path-unlinkable, i.e., there exists an adversary
that can
-break its path unlinkability. Then, we can use
as a subroutine to construct an algorithm
that can break the privacy of TK. The algorithm
simulates the experiment
for
and is constructed as follows.
At first, when
submits the target tag
,
obtains the path
through Check, where
is the internal state of
. Next,
chooses a step
and submits it to the privacy experiment as the target step. Then,
prepares the answers for
’s as below.
answers
, , , , and
directly by querying them in the privacy experiment. If
asks a query of
,
chooses a tag
with initial state written by the issuer
and operates
that goes through the path
via the oracle query of
to the privacy experiment. Then,
returns
to
. Finally, in the challenge phase,
is given a challenge tag
, which is forwarded to
as the challenge tag of experiment
. If
outputs
, then
also outputs
; else
outputs a bit
.
It is easy to see that
provides a perfect simulation of experiment
for
. Let the advantage of
be
. Now, we analyze the advantage of
.
Hence,
.
(2) path unlinkability privacy. This can be inferred similarly to the method described in the above.
We have finished the proof of Theorem 1. □
Theorem 2. (tag unlinkability
privacy) If the track and trace system TK is tag unlinkable then it is also private.
Proof. Assuming that TK is not private, i.e., there exists an adversary
that can
-break its privacy. Then, we use
as a subroutine to construct an algorithm
, which breaks the tag unlinkability of TK. The algorithm
simulates the experiment
for
and proceeds as follows.
At first, when
submits the target step
,
selects two tags
and
such that
goes through the step
but
did not. Then,
answers
’s oracle queries as below.
answers
, , , , and
directly by querying them in the privacy experiment. If
asks a query of
,
chooses a tag
with initial state setup by the issuer
and operates
to go through the step
via the oracle query of
to the privacy experiment. Then,
returns
to
. After the learning phase,
submits
and
to its tag unlinkability experiment, which will return the challenge tag
to
. Finally, in the challenge phase,
deliveries
to
as its challenge tag
of experiment
. If
outputs
, then
also outputs
.
It is easy to see that
provides a perfect simulation of experiment
for
and the advantage of
is just the same as that of
.
We have finished the proof of Theorem 2. □
The above two theorems illustrate that the tag unlinkability implies the privacy as well as the path unlinkability. Hence, with respect to the security of track and trace system, we only need to consider the authenticity and tag unlinkability, which simplifies the security concepts for the track and trace system.
Definition 13. A track and trace system of RFID-based supply chains is said to be secure if it is authenticated and tag unlinkable.
5. The Tracker+
In this section, we propose an efficient track and trace scheme Tracker+ for RFID-based supply chains. Specifically, no computational ability is required for tags in Tracker+, which implies that Tracker+ is totally compatible with EPC Class 1 Gen 2 standards. Although Blass et al. presented the track and trace scheme Tracker [1], it indeed cannot guarantee the claimed privacy since the adversary can trace a tag by comparing the deterministic signature part of its internal state with the history records. However, Tracker+ provides provable privacy even against supply chain inside attacks and is more efficient than Tracker.
5.1. Path Encoding
We use the same method of [1] to encode a path in the supply chain. Specifically, each path is represented by a number
(where
is a big prime number, e.g.,
), which has been derived from a polynomial determined by all steps in the path. Concretely, we associate each step
with a random number
such that the numbers of all steps in a path can be used as the coefficients to construct a polynomial. W.l.o.g., let the path be
, then the polynomial is
.
5.2. Multiple ElGamal Encryption and HMAC
Multiple ElGamal. Multiple ElGamal encryption is a variant of ElGamal encryption [17], which encrypts multiple messages under multiple public keys with the same randomness. Concretely, a multiple ElGamal encryption system MEG=(PKG,Encrypt,Decrypt) is as follows.
PKG. The public and private key generation algorithm, which selects the private key
and computes the public key
, where
is the generator of a abelian group whose order is a big prime
.
Encrypt. The encryption algorithm, which inputs a pair of messages
and a pair of public key
, selects a random number
and computes
,
and
. The ciphertext is
.
Decrypt. The decryption algorithm, which inputs the ciphertext
, computes
and
, and returns
.
HMAC. HMAC is a hashed MAC algorithm that can be used to generate authentication code. An HMAC function
is defined as
, where
refers to key,
refers to a message, and
refers to a hash function. For more details about
and
see Krawczyk et al. [3].
5.3. Detailed Description of Tracker+
Intuitively, Tracker+ should consist of an initial setup phase, the preparation of new tags entering the supply chain, interactions between readers and tags, and the path verification by the manager
. However, all of these functions can be achieved via the five components of the track and trace system TK described in Section 2.2. Therewith, we only need to design the five components for Tracker+. The detailed description of Tracker+ is as follows.
Initialize(): Upon the security parameter
, the system first prepares a supply chain
, a set of
tags
, a set of
readers
, a set of
valid paths
, and a set of valid state
, and then it does as follows.
(1) Set up a multiple ElGamal public key encryption system [17] and generate the private keys
and the public keys
and
, where
is the generator of group
whose order is a big prime
();
(2) Set up an HMAC algorithm
[3] and choose
different keys
from the key space
;
(3) Select a generator
of
and
random numbers
from
;
(4) Provide the issuer
with the tuple
and each reader
with the tuple
;
(5) Provide the manager with the set
, the private key
, and public key
;
Finally, the issuer
initializes each tag
by writing the tuple
into it, where
, , , ,
is a random number, and
is the identity of tag
. The manager
computes the path mark
for the valid path
as
Then,
stores all the valid path marks and their corresponding path information into its database.
Read: Let the internal state of tag
be
. Then, return
.
Write(): Let the tuple will be written into tag
be
. Then store
into tag
.
GoNext(): When a tag
arrived at step
from step
, the reader
first reads out the internal of
through the operation
Read. Then it generates the new state
defined as follows.
- Function
- (1) Parse as ;
- (2) Choose random number
- (3) Compute , and ;
- (4) Compute ;
- (5) Return
- End Function
Finally, reader
writes the state information
into tag
.
Check(): At first,
parses
as
and decrypts the path mark
.
Then, it searches the database to find the path mark
and its corresponding path information
. If it does not find it then output
; otherwise, continue to verify the validation of the path signature as follows. Compute
for
,
and verify
.
If the verification Equation (2) holds, then return the path
, else return
.
Remark 3. The internal state of Tracker+ is three group elements plus a HMAC code, while that in the original Tracker [1] is four group elements plus a HMAC code. Moreover, the HMAC is randomized in Tracker+ for every path so that its privacy can be guaranteed even in the presence of replay attacks, whereas the HMAC is fixed for every path in Tracker. Hence, it is easy to trace a tag simply by comparing the HMAC values stored in its memory, which implies that the privacy of Tracker can be broken without any difficulty. More detailed efficiency and security analysis will be demonstrated in Section 6.
6. Analysis
In this section, we first review the security definitions of HMAC and multiple encryption. Then, we prove the security of Tracker+. Our proofs illustrate that Tracker+ is provably secure against inside attacks. Finally, we evaluate the efficiency of Tracker+ and compare it with Tracker [1].
6.1. HMAC Security
Let
be an HMAC oracle that when it is provided with a message
, returns HMAC
. The security of HMAC consists of two aspects:
(1) Existential Unforgeability under Adaptively Chosen Message Attacks (EUF-CMA): An adversary can launch oracle query
of
messages
to get the corresponding
adaptively. Still, there is an advantage to
coming up with a new pair
where
for
to
is negligible.
(2) Indistinguishability: even the message
is known; an adversary
cannot distinguish
from a random number, i.e., the advantage of
is negligible.
6.2. Semantic Security
The semantic security of Multiple ElGamal is defined as follows. In the learning phase, an adversary is given the public key
and
. Then it selects two message pairs
and
, which have been submitted to the semantic security experiment. In the challenge phase, the adversary is given a ciphertext
and asked to guess which message pair is the plain text of
. Multiple ElGamal is said to be semantic secure if the probability that the adversary wins is at most
.
6.3. Security of Tracker+
The security of Tracker+ is guaranteed by the following Theorems 3, 4, and 5.
Theorem 3. If the HMAC function
is EUF-CMA secure, then Tracker+ is authenticated.
Proof. Assume that Tracker+ is not authenticated, i.e., there exists an adversary
such that it can break the authenticity of Tracker+. Then, we can construct a forger
to break the EUF-CMA security of HMAC function
(whose key is
which is unknown to
).
uses
as a subroutine and answers
’s queries as follows.
At first,
initializes the Tracker+ system in the same way as the Initialize operation except that the HMAC key of the manager is set to be
. It is easy to see that
can answer the queries of
, , , and
(the arrived step is not
) directly. Upon a query of
with an arrived step of
,
reads out the internal state
of tag
, and updates the three former group elements accordingly. Then, it asks the query
to get
. Then,
answers the tuple
to
. The oracle
can be simulated similarly.
Obviously, if
is successful, then
is also successful.
At last,
outputs a tag
with internal state
.
first gets the path
and the tag’s identity
through the Check
operation. Then,
computes
Finally,
outputs the pair
as a forge for the HMAC function
.
We have finished the proof of Theorem 3. □
Theorem 4. If the HMAC function
is indistinguishable, then Tracker+ is tag unlinkable.
Proof. Assume that Tracker+ is not tag unlinkable, i.e., there exists an adversary
such that it can break the tag unlinkability of Tracker+. Then, we can construct an algorithm
to break the semantic security of Multiple ElGamal encryption system, which has been proven secure under the Decisional Diffie-Hellman (DDH) assumption. To this end,
uses
as a subroutine and maintains a list
to answer
’s queries as follows.
Let the public key of Multiple ElGamal encryption cryptosystem be
, whose corresponding private key is
. At first,
initializes the Tracker+ system in the same way as the Initialize operation except that the public and private key pairs of the manager are implicitly set to be
and
, respectively, where
are unknown to
. Moreover,
inserts the tuple
for
to
into list
. It is easy to see that
can answer the queries of
, ,
, and
directly. For each
query,
also updates list
by inserting the pair
into
, so that it is able to answer the
queries by searching the list
to find the tag identity and the path. At the end of the learning phase,
outputs two tags
and
. Algorithm
finds their identity and path mark pairs
and
by searching list
(using tag internal state as index).
In the challenge phase,
first submits the two message pairs
and
to the semantic security experiment of multiple ElGamal encryption system and gets the challenge ciphertext
. Then,
prepares the challenge tag
for
as below. Choose a random bit b and set the internal state of
to be
, where
and
is the last part of the previous internal state of
. Set
and submit
to
.
At last,
outputs a bit
. If
then
outputs b, else
outputs a random bit.
Let the advantage of
be
, then the advantage of
is at least
since
provides a perfect simulation for
if
is an encryption of
’s identity and its current path.
We have finished the proof of Theorem 4. □
Theorem 5. If the HMAC function
is EUF-CMA secure and indistinguishable, then Tracker+ is secure against inside attacks.
Proof. The proof of Theorem 5 can be inferred directly from Theorems 3 and 4. □
6.4. Efficiency and Comparisons
Efficiency Consideration. Tracker+ requires a tag only to store data. For each tag, only three group elements and a HMAC are required to be stored. If we choose the elliptic curve based multiple ElGamal encryption (where each element of group
is 160 bits) for Tracker+ and the output of HMAC is 160 bits, then the total storage requirement for each tag is 640 bits, which is feasible for EPC Class 1 Gen 2 tags.
Each reader in Tracker+ is required to store a tuple
and the manager’s public key
. Thus the total storage per reader is 800 bits. Regarding the computation, for each interaction between a tag and a reader, the reader needs to compute a multiple ElGamal encryption and HMAC evaluation. This is feasible for modern readers, which are more powerful than tags.
The manager
is responsible for the verification of the path that each tag goes through. To this end, manager
is required to decrypt the ciphertext stored in the tag and to verify the validity of the HMAC, which involves
exponentiations and
HMAC evaluations. We conjecture that this is feasible for a powerful manager.
Compared to Tracker[1]. (cf. Table 1.) The storage of each tag in Tracker+ is 160 bits less than that of Tracker, which implies that Tracker+ saves storage for tags. The computation costs for readers and managers in Tracker+ are almost the same as those of Tracker. Secondly, Tracker+ has been proven to satisfy the privacy requirements of track and trace systems—privacy, path unlinkability, and tag unlinkability—whereas Tracker cannot guarantee the privacy requirements. Finally, Tracker+ has been proven to be secure against supply chain inside attacks, while Tracker is vulnerable to inside attacks. So, Tracker+ beats Tracker in both security and efficiency.
Table 1.
Comparisons of Tracker and Tracker+.
| Storage requirement | Privacy | Tag unlinkability | Path unlinkability | Inside attacks | |
|---|---|---|---|---|---|
| Tracker[1] | 800 bits | N | Y | Y | N |
| Tracker+ | 640 bits | Y | Y | Y | Y |
7. Conclusions
One of the major applications of RFID technology is the supply chain management. RFID tags have advantages over traditional barcodes in that they are able to provide real-time visibility, etc. Such visibility relies on the track and trace function of RFID-based supply chains. In this paper, we refined the privacy-related models of RFID-based track and trace systems to capture the security requirements of supply chains. Then, we clarified the relations among the three existing privacy related models. Our results simplify the privacy requirements of RFID-based supply chains and promise to produce efficient and simple privacy-preserving track and trace schemes. Finally, we proposed Tracker+, an efficient privacy-preserving track and trace scheme, which is compatible with EPC Class 1 Gen 2 tags and is provably secure against inside attacks.
Acknowledgments
This research was supported by the National Natural Science Foundation of China (61272542; 61300204); the Fundamental Research Funds for the Central Universities (2013B07014); the Foundation for Distinguished Young Teachers in Higher Education of Guangdong under Grant No. Yq2013051; the Project of Science and Technology New Star of Guangzhou Pearl River (2014J2200006); the Natural Science Foundation of Guangdong (No. 2014A030313439); the Project of Science and Technology of Guangzhou City (No. S2013020011913); and the research project of the Department of Education of Guangdong Province (No. 2013KJCX0055).
Author Contributions
Xunjun Chen, Yuelong Zhu, and Jiguo Li designed the research; Xunjun Chen performed the research and analyzed the data; Xunjun Chen, Yamin Wen, and Zheng Gong provided the formal proofs. Xunjun Chen wrote the paper. All authors have read and approved the final manuscript.
Conflicts of Interest
The authors declare no conflict of interests.
References
- Blass, E.-O.; Elkhiyaoui, K.; Molva, R. Tracker: Security and Privacy for RFID-based Supply Chains. In Proceedings of the 18th Annual Network and Distributed System Security Symposium (NDSS’11), San Diego, CA, USA, 2–9 February 2011; pp. 455–472.
- EPCglobal. EPCTM Radio-Frequency Identity Protocols Class-1 Generation-2 UHF RFID Protocols for Communications at 860 Mhz–960 Mhz; Version 1.2.0; Epcglobal, Inc.: Lawrenceville, NJ, USA, 2008. [Google Scholar]
- Krawczyk, H.; Bellare, M.; Canetti, R. HMAC: Keyed-Hashing for Message Authentication, IETF RFC 2104; IETF: Reston, VA, USA, 1997. [Google Scholar]
- Juels, A. RFID Security and Privacy: A Research Survey. IEEE J. Sel. Areas Commun. 2006, 24, 381–394. [Google Scholar] [CrossRef]
- Avoine, G. RFID Security & Privacy Lounge. Available online: http://www.avoine.net/rfid/ (accessed on 5 June 2015).
- Ateniese, G.; Camenisch, J.; de Medeiros, B. Untraceable RFID Tags via Insubvertible Encryption. In Proceedings of the 12th ACM Conference on Computer and Communications Security (CCS’05), Alexandria, VA, USA, 7–11 November 2005; pp. 92–101.
- Burmester, M.; van Le, T.; de Medeiros, B. Provably Secure Ubiquitous Systems: Universally Composable RFID Authentication Protocols. In Proceedings of the 2nd International Conference on Security and Privacy in Communication Networks (SecureComm’06), Baltimore, MD, USA, 28 August–1 September 2006; pp. 1–9.
- Juels, A.; Weis, S. Authenticating Pervasive Devices with Human Protocols. In Proceedings of the 25th Annual International Cryptology Conference (CRYPTO’05), Santa Barbara, CA, USA, 14–18 August 2005; pp. 293–308.
- Molnar, D.; Soppera, A.; Wagner, D. A Scalable, Delegatable Pseudonym Protocol Enabling Ownership Transfer of RFID Tags. In Proceedings of the 12th International Conference on Selected Areas in Cryptography (SAC’05), Kingston, ON, Canada, 11–12 August 2005; pp. 276–290.
- Ohkubo, M.; Suzuki, K.; Kinoshita, S. Efficient Hash-Chain Based RFID Privacy Protection Scheme. In Proceedings of the 6th International Conference on Ubiquitous Computing (Ubicomp’04), Nottingham, UK, 11–14 September 2004.
- Peris-Lopez, P.; Hemandez-Castro, J.C.; Estevez-Tapiador, J.M.; Ribagorda, A. LMAP: A Real Lightweight Mutual Authentication Protocol for Low-cost RFID tags. In Proceedings of the Workshop on RFID Security 2006 (RFIDSec’06), Graz, Austria, 12–14 July 2006.
- Tsudik, G. YA-TRAP: Yet another Trivial RFID Authentication Protocol. In Proceedings of the 4th Annual IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom’06), Pisa, Italy, 13–17 March 2006; pp. 640–643.
- Weis, S.; Sarma, S.; Rivest, R.; Engels, D. Security and Privacy Aspects of Low-Cost Radio Frequency Identification Systems. In Proceedings of the 1st International Conference on Security in Pervasive Computing (SPC’03), Washington, DC, USA, 12–14 March 2003; pp. 454–469.
- Ouafi, K.; Vaudenay, S. Pathchecker: An RFID Application for Tracing Products in Supply-Chains. In Proceedings of the Workshop on RFID Security 2009 (RFIDSec’09), Leuven, Belgium, 30 June–2 July 2009; pp. 1–14.
- Li, Y.; Ding, X. Protecting RFID Communications in Supply Chains. In Proceedings of 2007 ACM Symposium on Information, Computer and Communications Security (ASIACCS’07), Singapore, 20–22 March 2007; pp. 234–241.
- Ma, C.; Li, Y.; Deng, R.; Li, T. RFID Privacy: Relation between Two Notions, Minimal Condition, and Efficient Construction. In Proceedings of the 16th ACM Conference on Computer and Communications Security (CCS’09), Chicago, IL, USA, 9–13 November 2009; pp. 54–65.
- ElGamal, T. A public-key cryptosystem and a signature scheme based on discrete logarithms. IEEE Trans. Inf. Theory 1985, 31, 469–472. [Google Scholar] [CrossRef]
© 2015 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/4.0/).