1 Introduction

Radio frequency identification (RFID) is a ubiquitous technology applied in numerous automated identification systems such as supply chain, manufacturing management, pharmaceuticals and many other everyday life applications. So security of large-scale RFID system becomes quite important. Among all the security problems, counterfeiting tag identification is an urgent issue since the quantity of counterfeiting products grows dramatically in recent years [1]. For example, counterfeiting products can forge a tag to sneak into genuine products which results in great economic loss. According to survey in [2], economic loss leads by counterfeiting products is more than $600 billion and is growing with yearly progressive increase. So accurate and fast counterfeiting tag identification is very important to many applications.

In this paper, a multi-attribute counterfeiting tag identification protocol based on framed slotted ALOHA algorithm in large-scale RFID system is proposed. Different from other framed slotted ALOHA based schemes, multi-dimension dynamic bloom filter is applied in our protocol, which indicates that tag has more than one attribute. When talked about tag’s attribute, the only one comes to mind is tag’s identity ID. In fact, reader can measure angle between tag and itself after scanning. So, our protocol first utilizes two attributes: tag identity ID and angle value. In previous works [1, 17, 18], counterfeiting tag is defined as one which is not in back-end server’s database. However, there exists a condition that a tag which holds the same ID with a genuine one is attached to a counterfeiting item. In this condition, tag’s angle value is a good criterion to point out counterfeiting tags. Our protocol is the first one to solve problem that counterfeiting tag forges the same ID with a genuine one. That is to say, our protocol can not only point out unknown tags, but also counterfeiting goods with genuine tag IDs. Also our protocol is suit for tag identification in large-scale RFID system. Even if quantity of RFID tags grows rapidly, identification efficiency can still be kept around an acceptable range. Compared with recently proposed methods, it can achieve higher identification efficiency, especially with huge amount of tags. And the time cost of our protocol is controlled in a reasonable range.

2 Related Works

The main usage of RFID tags in practice is identifying counterfeiting goods. In previous works like [1], counterfeiting tag is defined as one which is not in back-end server’s database. Other studies [2, 3] call tags under this condition unknown tags. In previous studies, counterfeiting tag detection or they call it unknown tag detection, is classified into two categories: deterministic authentication and probabilistic estimation.

Deterministic authentication is mainly proposed in early works [5,6,7,8]. Weis et al. [5] propose a hash lock authentication scheme to protect tags from tracked. As its searching complexity is O(N), where N is number of tags, it suffers from poor efficiency in large-scale RFID system. In order to reduce search complexity, Lu et al. [6] introduce a tree-based method with complexity of O(log(N)). Then they propose a new scheme which can achieve complexity of O(1) in [7]. Recently, Chen et al. [8] introduce a token-based protocol whose overhead in both tag and reader is O(1). However, schemes [6,7,8] are both tree-based protocols whose number of keys increases logarithmically with growth of tags.

In recent years, probabilistic estimation schemes [9,10,11,12] are gradually proposed. However, these methods are focus on estimating cardinality of tags. They cannot announce identities of counterfeiting tags. Also, there are several identity detection schemes [13,14,15,16]. But they are aimed to find missing tags. Yang et al. [17] first offer a framed slotted ALOHA based solution to detect counterfeiting tags or they call them unknown tags. Bianchi et al. [18] further improve this by introducing a standard bloom filter structure. Then Liu et al. [4] propose sampling filtering techniques based on bloom filter. However all these bloom filter based methods which leads to more collisions, haven’t well utilized space of frame. Further, Gong et al. [1] provide a counterfeiting tag estimation scheme. But it cannot figure out counterfeiting tag. Later, schemes [3, 19] offer an indicator vector for tags which results in more overhead in tags. In contrast, our protocol not only points out unknown tags, but also counterfeiting goods with genuine tags. What’s more, it can achieve a high detection efficiency with reasonable time cost.

3 Preliminary

3.1 System Model and Assumption

A typical RFID system consists of three entities: tags, readers and a back-end server. Reader is connected to back-end server through wired or wireless link with high computational ability. RFID tags are divided into three types: active, semi-active and passive tags. Our protocol mainly talks about passive tags. A reader interrogates and receives responses from a tag via transmitting a radio-frequency (RF) signal. Each tag is associated with identity information ID and location information angle value.

In our large-scale system model, reader is in the center and periodically scans tags. All tags are within reader’s interrogation range. Tags include genuine ones and counterfeits. If identity and angle value of a tag are both stored in back-end server, this tag is a genuine one. The existence of counterfeiting tags includes two conditions. The first one is neither tag’s identity or angle value is stored in back-end server, while the second one is a tag which holds the same ID with a genuine one is attached to a counterfeiting item. The first condition is usually proposed in previous works [1, 3, 17, 18]. However, problem in the second condition is first proposed and solved in this paper.

The whole process is divided in two interrogations by reader. When tag settles down in reader’s interrogation range, it assumes that tags are all genuine ones and tags will be not transferred to another place before the second interrogation. Then reader scans tags and measures angle value between tag and itself by RSSI information which we will not describe in this paper. Afterwards, reader writes the corresponding angle value on each tag. So tag’s attributes stores in tag are identity ID and angle value. As tag does not change places before the second interrogation, actual angle value between reader and tag will be identical with the angle value stored in tag. During period between the two interrogations, counterfeits can move into interrogation range. Counterfeit can forge the same ID with genuine one, however, it cannot forge actual angle value since counterfeit does not know accurate location of the one it forges in a large-scale RFID system. In the second interrogation, reader will authenticate tag’s identity and angle value to find out counterfeits. The scenario is illustrated in Fig. 1.

Fig. 1.
figure 1

System model

3.2 Framed Slotted ALOHA Algorithm

Our protocol is based upon framed slotted ALOHA algorithm which is widely used in EPC Global C1G2 standard as its MAC-layer communication protocol. In framed slotted ALOHA algorithm, reader first broadcasts frame size f and random seed r. Each tag within interrogation range of the reader evaluates a hash function h(f, r, ID) mod f to select a slot in frame. Slot is classified into three categories. Empty slot means that there is no reply in this slot, while singleton slot denotes that only one reply is in this slot, and collision slot indicates that there are two or more replies in this slot.

3.3 Problem Formulation

Assume that there is one reader and N tags and all the tags are within the range of reader. Some counterfeiting tags may be moved in due to some reasons. So among N tags, there are n counterfeits after the first interrogation. Each genuine tag holds tag’s attributes which includes tag’s identity information ID and tag’s location information angle value written by reader. For counterfeiting tags, it can forge genuine tag’s identity by following some regulations like EPC standard, and location information by randomly guess. However it’s hard for counterfeits to map identity information to location information since they are in a large-scale RFID system.

4 Multi-attribute Counterfeiting Tag Identification Protocol

4.1 Multi-dimension Dynamic Bloom Filter

In a standard bloom filter, each element in a given set \( S = \left\{ {x_{1} , x_{2} , \ldots , x_{N} } \right\} \) is mapped to filter using k hashing functions \( h_{1} , h_{2} , \ldots , h_{k} \). When checking whether an element x belongs to S, it needs to find whether the bits \( h_{1} \left( x \right), h_{2} \left( x \right), \ldots , h_{k} \left( x \right) \) of bloom filter are set to 1. For multi-dimension dynamic bloom filter [20], set S becomes a dynamic set with a dynamic s × N bit matrix where s represents s attributes of element. As N is a dynamic number and length of standard bloom filter f is a static one, multi-dimension dynamic bloom filter (MDBF) will add numbers of standard bloom filter with the variation of N. Suppose that N is mapped to L standard bloom filters. To check whether an element x belongs to S in multi-dimension dynamic bloom filter, it need to map s × L × k bits are set to 1 in corresponding bloom filter.

4.2 Protocol Design

In our protocol, each tag has two attributes {ID, angle}: identity information ID and location information angle value. The angle value is written by the reader after the first interrogation. Also, tag will not change place before the next interrogation, which means that angle value written in tag is identical with tag’s real-time location information. All tag’s information is stored in back-end sever which can be access by reader. For tag T i ’s attribute identity information ID i , there are k uniform hashing functions to map it to k locations {ld i1 , ld i2 , …, ld iu , …, ld ik } in bloom filter for ID, where ld iu  = H u (ID i , r, f) mod f, u  [1, k], and r is a random seed. Similarity, tag T i ’s attribute location information angle i can be mapped to k locations {la i1 , la i2 , …, la iu , …, la ik } in bloom filter for angle, where la iu  = H u (ID i , r, f) mod f, u  [1, k], and r is a random seed. Since there are L standard filters in multi-dimension dynamic bloom filter, tags need to choose one to join in. So different from the previous multi-dimension dynamic bloom filter [20], our protocol introduces participation probability p (p ≤ 1) for tags to determine which bloom filter to take part.

Our protocol consists of two parts: counterfeiting tag detection and counterfeiting tag verification. In detection part, multi-dimension dynamic bloom filter is used to find counterfeiting tag whose ID or angle value is not identical with the one stored in back-end server. This includes two conditions. The first one is neither tag’s identity or angle value is stored in back-end server, while the second one is a tag which holds the same ID with a genuine one is attached to a counterfeiting item. According to these conditions, counterfeiting tag verification will announce their identity and verify their angle value.

figure a

Counterfeiting Tag Detection.

Reader collects tag’s identity information ID and location information in the first interrogation. Then it writes corresponding angle value on tag. According to tag’s attributes array A[] =  [ID, angle], the attribute number s of multi-attribute counterfeiting tag identification (short for MATI) is set to 2. For each attribute, Algorithm 1 generates dynamic bloom filter for N tags. The length of a standard bloom filter is f, and f t is threshold of tags that standard bloom filter can contain subjected to constraints (f, k). So, if N ≤ f t , it just needs one standard bloom filter, otherwise Algorithm 1 should create m standard bloom filters where m = |N/f t | + 1. Then reader calculates participation probability p for each tag and broadcasts frame size f, random seed r, participation probability p. When tag receives above information, it first chooses to response in one of m frames based on probability p. Then it initializes its own attribute array A[] = [ID, angle] and computes S[i][j] = H j (f, r i , A[i]) mod f, where 0  ≤  i ≤ 1, 1 ≤  j ≤ k. In Algorithm 2, S[0][j] represents k slots in bloom filter for identity ID, while S [1] [j] is mapped to k slots in bloom filter for angle value.

After Algorithms 1 and 2, reader receives responses from all tags in its interrogation range. Obviously, if either k slots for identity or k slots for angle value is not in database of back-end server, it must be a counterfeit. Reader notes the counterfeiting tags in this condition. There exists a condition that two tags hold the same k slots in bloom filter for identity, it means that a counterfeiting tag may be there. Since bloom filter has false positive probability, it cannot conclude that two tags with same k slots for identity hold the same identity. It needs to be confirmed in counterfeiting tag verification.

figure b

Counterfeiting Tag Verification.

This phase mainly verifies tags in the second condition of counterfeiting tag detection. Reader first seeks database in back-end server to find identity matched to the k slots. If there are two identities mapped, reader looks up tags’ k slots for angle value. On condition that two tags matches two genuine tags in database of back-end server, there exists no counterfeits. Otherwise, tag which is not matched should be a counterfeit.

If there is only one identity matched, reader will broadcast the identity and wait for tags’ response. According to the response, reader measures two tags’ angle value. Tag with whose measured angle value is not identical with the one in database of back-end server should be a counterfeit. To now, all counterfeiting tags have been confirmed.

5 Performance Analysis

5.1 Identification Efficiency

Our protocol is based on multi-dimension dynamic bloom filter, which can yield a false positive p MATI . So identification efficiency in this protocol equals to 1-p MATI , which means our protocol can achieve a higher identification efficiency when the false positive probability is low. False positive is due to a case that all k bits in both bloom filter for identity and bloom filter for angle value are set to 1 by other element previously. False positive probability in our protocol will be analyzed as follows.

Different from previous multi-dimension dynamic bloom filter, our protocol introduces participation probability p in Algorithm 2. Each tag need to choose a frame from m standard bloom filters based on the probability p. Probability p z represents that one slot in a bloom filter is still zero after N tags’ responses.

$$ p_{z} = \left( {1 - p\frac{1}{f}} \right)^{kN} \approx e^{{ - \frac{pkN}{f}}} $$
(1)

Then a standard bloom filter’s false positive probability p s is:

$$ p_{s} = \left( {1 - p_{z} } \right)^{k} \approx \left( {1 - e^{{ - \frac{pkN}{f}}} } \right)^{k} $$
(2)

For our protocol, m = |N/f t | + 1 is a dynamic number. In a single standard bloom filter, there are only f t tags. So standard bloom filter’s false positive probability p s in dynamic bloom filter should be \( \left( {1 - e^{{ - \frac{{pkf_{t} }}{f}}} } \right)^{k} \). As probability that there is no false positive in all m bloom filters is \( \left( {1 - p_{s} } \right)^{m} \), false positive probability p DBF of dynamic bloom filter can be denoted as:

$$ p_{DBF} = 1 - \left( {1 - p_{s} } \right)^{m} \approx 1 - \left( {1 - \left( {1 - e^{{ - \frac{{pkf_{t} }}{f}}} } \right)^{k} } \right)^{m} $$
(3)

Since tag’s information includes identity ID and angle value, attribute number of MATI s is set to 2. Probability \( p_{DBF - ID} \) and \( p_{DBF - angle} \) represents false positive in dynamic bloom filter for identity and angle value respectively. If a false positive event happens in our protocol, it should satisfy that all k slots in both dynamic bloom filter for identity and dynamic bloom filter for angle value are set to 1. So false positive probability \( p_{MATI} \) is denoted as:

$$ p_{MATI} = p_{DBF\_ID} p_{DBF\_angle} \approx \left( {1 - \left( {1 - \left( {1 - e^{{ - \frac{{pkf_{t} }}{f}}} } \right)^{k} } \right)^{m} } \right)^{2} $$
(4)

As our protocol is based on framed slotted ALOHA algorithm, longer frame size can decrease collisions. Figure 2(a) shows that our protocol acquires better identification efficiency with increase of frame size in large-scale RFID system. In order to minimize false positive probability, ratio of f and N should be optimized. According to previous work [21], it can be concluded that false positive probability p s is minimized when ratio of f and N satisfies Eq. (5). From Fig. 2(b), the result is clearly depicted.

$$ k = \frac{{f_{t} }}{pN}ln2 $$
(5)
Fig. 2.
figure 2

(a) When N = 15000, k = 7, f t  = 300, p = 1, the false probability of MATI; (b) When N = 15000, f = 5000, f t  = 495, p = 1, the false probability of MATI.

As \( p_{DBF\_ID} \) and \( p_{DBF\_angle} \) are false positive probability in dynamic bloom filter for identity and angle value respectively, it’s obviously that they are all below 1. So it can be concluded that either \( p_{DBF\_ID} \) or \( p_{DBF\_angle} \) is greater than \( p_{MATI} \), which indicates that multi-attribute counterfeiting tag identification can achieve better identification efficiency than dynamic bloom filter.

$$ p_{MATI} \; < \;p_{DBF\_ID} \,or\, p_{DBF\_angle} $$
(6)

Compared with standard bloom filter, multi-attribute counterfeiting tag identification has efficiency superiority. Standard bloom filter has space constraints with the growth of tag number, while multi-attribute counterfeiting tag identification defines a threshold for a single standard bloom filter which can reduce collisions and enhance space utilization. Figure 3 with settings that hash function number k is 7, participation probability p is 1 and frame size f is 5000, shows that multi-attribute counterfeiting tag identification has apparent identification efficiency advantage over standard and dynamic bloom filter with the increment of tag numbers. Then false positive probability of SEBA+ [18], WP [3] and our protocol is examined in Fig. 4. We fix number of tags N = 1000, participation probability p = 1, hash function number k = 7. As shown in Fig. 4, when frame size is greater than 2000, our protocol’s false positive probability is approached to zero, which means identification efficiency is almost up to 1. In contrast, false positive probability of SEBA and WP is still greater than 0.4, which has huge difference with our protocol. In conclusion, compared with other methods, our protocol achieves better identification efficiency in large-scale RFID system.

Fig. 3.
figure 3

When f = 5000, f t  = 495, k = 7, p = 1, the false probability of standard bloom filter, dynamic bloom filter and MATI respectively.

Fig. 4.
figure 4

When N = 1000, f t  = 300, k = 7, p = 1, the false probability of WP, SEBA+ and MATI respectively.

5.2 Time Cost

According to Philips I-Code [22], time slots are classified into tag slots, long slots and short slots. Based on length of slot, tag slot which is denoted as t id can transmit a 96-bit message with time consuming of 2.4 ms; while long slot is set to 0.8 ms and affords a 10-bit response. By contrast, short slot, denoted as t s , is set to 0.4 ms and allows only 1-bit response. As our protocol is consisted of two dynamic bloom filters, time cost is two times larger than single one. Time cost of our protocol can divided into two parts: time cost of reader broadcast and tag response. For tag, it has participation probability p i (1 ≤ i ≤ m) to choose one frame to reply. Total probability p of p i should be p = p 1  + p 2  + …+ p m  = 1. Then Eq. (7) can be simplified as follow.

$$ \begin{aligned} T = 2\left[ {m \times \left\lceil {\frac{f}{96}} \right\rceil \times t_{id} + \left( {p_{1} f + p_{2} f + \ldots + p_{m} f} \right) \times N \times t_{s} } \right] \hfill \\ = 2\left[ {m \times \left\lceil {\frac{f}{96}} \right\rceil \times 2.4\,\text{ms} + f \times N \times 0.4\,\text{ms}} \right] \hfill \\ \end{aligned} $$
(7)

From Eq. (7), we can compute that time cost is only 10 s when number of tags is up to 10000. Also, when N is up to 50000, the time cost is 40 s. Although our protocol’s time cost is not very low, its false positive probability is far less than WP from Fig. 4. Specially, with the increment of tags, our protocol has apparent advantage in identification efficiency. It’s worth to consume more time to achieve better identification efficiency.

6 Conclusion

In this paper, a multi-attribute counterfeiting tag identification protocol based on framed slotted ALOHA algorithm in large-scale RFID system is proposed. Different from previous works, there are two attributes: identity ID and angle value in our protocol. Also, it’s the first scheme using multi-dimension dynamic bloom filter to give a solution for RFID security problem that counterfeiting tag forges the same ID with a genuine one. Compared with previous works, our protocol not only points out unknown tags, but also counterfeiting goods with genuine tag ID. What’s more, it can achieve a high identification efficiency with reasonable time cost. Future work is to apply our protocol on hardware and examine stability and functionality of our protocol in practice.