Skip to main content
Sensors (Basel, Switzerland) logoLink to Sensors (Basel, Switzerland)
. 2018 Dec 15;18(12):4444. doi: 10.3390/s18124444

IoT Device Security: Challenging “A Lightweight RFID Mutual Authentication Protocol Based on Physical Unclonable Function”

Ygal Bendavid 1,*,, Nasour Bagheri 2,3,, Masoumeh Safkhani 4,, Samad Rostampour 1,5,
PMCID: PMC6308613  PMID: 30558323

Abstract

With the exponential increase of Internet of things (IoT) connected devices, important security risks are raised as any device could be used as an attack channel. This preoccupation is particularly important with devices featuring limited processing power and memory capabilities for security purposes. In line with this idea, Xu et al. (2018) proposed a lightweight Radio Frequency Identification (RFID) mutual authentication protocol based on Physical Unclonable Function (PUF)—ensuring mutual tag-reader verification and preventing clone attacks. While Xu et al. claim that their security protocol is efficient to protect RFID systems, we found it still vulnerable to a desynchronization attack and to a secret disclosure attack. Hence, guidelines for the improvements to the protocol are also suggested, for instance by changing the structure of the messages to avoid trivial attacks. In addition, we provide an explicit protocol for which our formal and informal security analysis have found no weaknesses.

Keywords: IoT, RFID, security, physical unclonable function, authentication protocol, desynchronization attack

1. Introduction

The Internet of things (IoT) concept finds its roots in the early 1990s with the vision of ubiquitous computing [1] and the underlying idea that any object can be equipped with technology to become a computing device. This path to digital transformation is now possible as any object can communicate electronically and interact autonomously in real time, with its environment. In fact, the IoT landscape is rapidly changing with an increasing number of vertical applications moving “from experimentation to business scale” [2].

As the IoT market opens up multiple business opportunities, it also introduces a wealth of problems among which security issues usually top the list. This concern will keep increasing exponentially, as the worldwide number of connected devices is expected to jump by 12% on average annually, up to 125 billion connected devices in 2030 [3]. This will lead to important security issues as the ecosystem of connected devices is getting more complex and fragmented. Accordingly, experts anticipate that “by 2020, more than 25% of identified attacks in enterprises will involve the IoT, although the IoT will account for less than 10% of IT security budgets” [4]. The authors raise the fact that the IoT introduces new challenges (e.g., complexity in solution design architecture, implementation process and integration) as well as a wide range of new security risks “to the IoT devices themselves, their platforms and operating systems, their communications and even the systems to which they’re connected”. For instance, they suggest that any IoT device could be used as an attack channel.

Therefore, understanding how to build low-cost-high-security IoT devices becomes critical. This awareness is of a particular importance since IoT devices have become “so seamlessly integrated into everyday life, that often the end users are completely unaware of the presence of these devices around them” [5]. This is especially true for low-cost connecting devices in the IoT ecosystem, such as (battery-less) passive Radio-Frequency Identification (RFID) tags, that are powered by the interrogator’s radio waves, i.e., by transmitting their signal upon request, when interrogated by a reader. For instance, while passive Ultra High Frequency (UHF) tags are increasingly used in a variety of applications (e.g., identifying products and assets in logistic applications as well as participants in event management), these tags feature limited processing power and memory capabilities for security purposes (i.e., 16-bit cyclic-redundancy check (CRC)) [6].

In a report from the NIST (National Institute of Standards and Technology) [7], the authors present specific recommendations to address potential RFID security risks, including firewalls that separate RFID databases, encryption of radio signals, authentication of approved users, shielding of a reading zone to prevent unauthorized access, logging and time stamping to help in detecting security breaches, etc. Another way of securing RFID tags to support authentication applications is to create hardware security at the silicon level, by using a unique digital signature for RFID silicon chips based on how electrons flow through different paths of the chip, creating a silicon “fingerprint”. This approach, firstly introduced by Gassend et al. [8] at the Computer and Communication Security Conference in 2002, was put into practice in 2008 [9], when Verayo, an MIT spinout company, proposed “unclonable” HF tags which included small electronic circuits called PUFs (Physically Unclonable Functions). PUFs take advantage of variations in how silicon Integrated Circuits (ICs) are produced to create a unique digital signature for each chip, similar to biometrics measures, where the “identifiers” cannot be cloned. This allows a challenge–response authentication process that takes into account each tag unique identity based on its IC/transistor random electric properties.

While using chips “digital fingerprint” to build more secure tags, not all proposed PUFs are “unclonable”. For instance, in a previous paper entitled “A Lightweight RFID Mutual Authentication Protocol Based on Physical Unclonable Function”, Xu et al. [10] examined Kulseng et al.’s [11] proposal of a lightweight mutual verification protocol for RFID systems. Xu et al. found shortcomings in this protocol, making it vulnerable for a desynchronization attack. They hence proposed a security protocol for ensuring mutual tag-reader verification and preventing clone attacks. While the authors claim that their three-stage protocol (tag recognition, mutual verification and update) is efficient to protect RFID systems, we found that Xu et al.’s protocol is still vulnerable to a desynchronization attack and to a secret disclosure attack since the mutual verification process has flaws. These topics and arguments are addressed in this article.

The structure of this paper is as follows: the IoT and related security issues are raised in Section 2. RFID authentication protocols using PUF are discussed in Section 3, and in Section 4 Xu et al.’s protocol will be described. In Section 5, we will then evaluate the security level of the protocol and show its vulnerability. After that, we will present an improved protocol in Section 6 and finally we will conclude in Section 7.

2. The Internet of Things: Infrastructure and Security Issues

The International Telecommunication Union (ITU) defines the IoT as “a global infrastructure enabling advanced services by interconnecting physical and virtual things (i.e., living and non-living entities) based on existing and evolving interoperable information and communication technologies” [12]. The IoT, as a new technological paradigm that aims “to connect anything and anyone at any time and any place”, [13], is a vision becoming reality with burgeoning IoT enabled applications which open up to multiple business opportunities [14] and lead to new business models [15].

Figure 1 illustrates the IoT reference model ( [16]) comprised of seven levels, starting with Level 1: physical devices and controllers that might control multiple devices equipped with various technologies such as Radio Frequency Identification (RFID) tags, Bluetooth Low Energy (BLE) devices, Ultra Sound Identifications (USID), etc. Level 2 represents the communications and connectivity between devices and across networks. Level 3, called Edge (Fog) Computing, allows the conversion of network data flows into suitable information “for storage and higher level processing”. This happens at Level 4 (data accumulation), where event-based data is converted into query-based processing. Level 5 is then required to facilitate the integration with back end systems and “render data and its storage in ways that enable developing simpler, performance-enhanced applications”. It is at Level 6 (Application) that information interpretation takes place to automate or support decision-making in vertical markets’ applications. Level 7 hence represents empowered people and business processes using IoT enabled information to trigger action.

Figure 1.

Figure 1

IoT reference model ([16]).

Since security issues can be raised for each level and for the movement of data between levels (e.g., physical cloning at Level 1, unauthorized access at Levels 2 and 3, data manipulation at Levels 4 and 5, and denial of service at Level 6), it goes without saying that security measures must pervade the entire model by (i) securing each device or system (ii) providing security for all processes at each level. Indeed, IoT security requires a multi-level approach.

3. RFID Authentication Protocols Using PUF

In this paper, we will focus on level of one of the IoT Reference Model, a level referred by Qi et al. [17] as “the sensing layer” or by Bendavid [18] as “the data capture layer”. At this level, one method to increase the security and to prohibit unauthorized access in IoT applications is to perform tag-reader mutual authentication protocol [19,20,21,22]. Various security techniques can be applied in order to transfer data securely such as cryptosystems. These cryptosystems are commonly divided into two groups: one-way and two-way [23]. In one-way systems, data is encrypted and there is no module for decrypting, such as Hash or PUF. In two-way systems, data is encrypted and decrypted by a cryptographic algorithm. Furthermore, within one-way systems, Hash, as a function, does not have the capability to detect physical attacks. On the other hand, PUF has an unclonable function that utilizes physical features to improve the security and resist against physical threats.

In recent years, many researchers have proposed more secure authentication protocols based on PUF technology [23,24]. For example, Sadeghi et al. presented an efficient privacy-preserving protocol based on rooted on PUF and claimed that their protocol was cost-efficient and provided an acceptable level of security and privacy [25]. However, despite Sadeghi et al.’s claim, Kardas et al. proved that the recommended protocol was vulnerable to the impersonation, as an attacker could trace the communication of a tag [26]. In addition, Kardas et al. analyzed another PUF-based authentication protocol that has been endorsed by Akgun et al. [27] and showed that the protocol was vulnerable and could not guarantee the security of the system [26]. Akgun et al. presented another authentication protocol by using PUF technology, but their protocol was still to be found insecure and could not provide forward secrecy support [28]. In order to solve the controversy surrounding these issues, Kardas et al. also presented another PUF-based protocol that was unfortunately not resistant against Denial of Service (DoS) attacks [29].

While most PUF based protocols were initially planned for an ideal environment with limited applicability in real situations, some researchers proposed authentication protocols for real and noisy environments [30,31,32,33]. For example, Ray et al. [34] released a PUF based protocol for object tracking in IoT application in real environments. In addition, Huth et al. proposed a protocol that can resist against noisy environment [33]. Nevertheless, their protocol needs an extra channel for transferring data and they use an exhaustive search in the database to retrieve the tag’s information. However, in their defense, most PUF protocols suffer the extra load of exhaustive search.

Recently, Kulseng et al. also disclosed a lightweight mutual verification protocol [11]. In order to implement a lightweight protocol, they utilized a PUF and Linear Feedback Shift Register (LFSR) instead of complex functions. However, while the proposed protocol was suitable for low-cost and large-scale systems, it could not comply with the security requirement of RFID systems. Xu et al. analyzed Kulseng et al.’s protocol and proved that it was vulnerable to the desynchronization attack and data confidentiality [10]. The authors presented a new PUF-based protocol and claimed that this improved protocol solved the security issues of the previous one and was robust against RFID threats. Before demonstrating its weaknesses, we will elaborate on Xu et al.’s protocol in more detail in Section 4.

4. Xu et al.’s Protocol

In this section, we explain the PUF-based lightweight authentication protocol that has been proposed by Xu et al. The order of transferred messages is illustrated in Figure 2 and the used notations are listed in Table 1.

Figure 2.

Figure 2

Time sequence diagram of Xu et al.’s protocol for single tag authentication.

Table 1.

The notations used in the Xu et al.’s protocol.

Notations
FID Fake tag ID
PUF() Physical Unclonable Function
ID The tag’s ID number
TID Pseudo ID of the tag
Pn The tag’s secret value
Kn The shared secret value of the tag and the reader
The left rotation operator
& The AND operator
|| The concatenation operator
ri A random number
XOR function
Xi Denotes the ith bit of the string X, where X0 is the most right bit

This protocol consists of four phases: Registration, Tag verification, Mutual verification and Update process. In the registration phase, the initial values of the parameters are stored in the tags and in the database. The database stores two sets of values for each tag: the current values (FIDnew,Pnnew,Pn+1new,Knnew) and the old values (FIDold,Pnold,Pn+1old,Knold,ID). If an authentication process is done completely and a tag updates its parameters successfully, the database uses the current values; otherwise, it will use the old values.

4.1. Tag Verification Phase

At the first of verification phase, the reader starts the process and sends a search request to the tag and receives the tag’s response as FID and r1. The reader looks up FID in the new fields and old fields. Finally, if the appropriate FID is not found, the reader terminates the session; otherwise, it continues the process.

4.2. Mutual Verification Phase

In this phase, the reader generates r2 randomly and computes A and B as:

A=FIDPn+1Knr1r2, (1)
B=(r18)&(r21)(Pn+12). (2)

It concatenates A and B and transfers the combination message (A||B) to the tag.

Upon receiving the message from the reader, the tag computes D and E as follows:

D=PUF(Pn), (3)
E=PUF(D). (4)

In addition, it calculates r2 by the receiving messages to recalculate B as:

r2=AFIDDKnr1, (5)
B=(r18)&(r21)(D2). (6)

The tag checks B=B. If the equation does not hold, it means that the reader is not valid and the session is terminated. Otherwise, the tag verifies the reader and continues the process.

Based on D, E and calculated r2, the tag computes F and then H as:

F=DEr2, (7)
H=(FID8)&(F1)(r22). (8)

It concatenates F and H as (F||H) and sends this message to the reader.

When the reader receives the tag’s response, by local parameters, it recalculates E, F and H as:

E=Fr2Pn+1, (9)
F=Er2Pn+1, (10)
H=(FID8)&(F1)(r22). (11)

Then, it checks H=H. If the equation does not hold, the tag is not valid and the reader aborts the session. Otherwise, it verifies the tag and continues the process.

4.3. Update Process Phase

After the verification phase, the variables should be updated. At first, the database updates its parameters, and then it sends a signal to the tag to inform it that the update process was done. If the tag receives the signal in the acceptable time range, it also updates its local parameters. Before updating in the database, the reader checks FID in the tag verification phase. If it has used FIDold, the reader does not need to update the parameters, but if FIDnew has been used, the reader updates the database as:

Pnnew=Pn+1new,Pn+1new=E, (12)
Knnew=(Knnew8)&(r21)(r12), (13)
FIDnew=(FIDnew8)&(r21)(r12), (14)
FIDold=FIDnew,Pnold=Pnnew,Pn+1old=Pn+1new,Knold=Knnew. (15)

If the tag receives a message (positive signal) from the reader in the acceptable time range, it also updates the parameters as:

Pn=D, (16)
FID=(FID8)&(r21)(r12), (17)
Kn=(Kn8)&(r21)(r12). (18)

5. Security Analysis of Xu et al.’s Protocol

While Xu et al. claimed that their security protocol is efficient to protect RFID systems, we found that their protocol is still at risk of being exposed to a desynchronization attack and to a secret disclosure attack. In this section, we will explain how these attacks can strongly jeopardize the security of the system.

5.1. Desynchronization Attack

The goal of a desynchronization attack is to change the integrity and synchronization of stored data in the tag and in the reader [35]. The main observation in the proposed attack mentioned in this section is the fact given A&B=C; any modification on a bit of A has no effect on the result C with the probability of 12. More precisely, we assume that Bi=0, where Bi denotes the ith bit of the string B, Ai&Bi=0, for any value of Ai{0,1}. Following this observation, the attack procedure, which is a desynchronization attack when the adversary is modeled as a man in the middle, works as presented in the following steps:

  1. On a legitimate session between the target tag T and the reader R, the reader starts the process and sends a search request to the tag.

  2. Upon receiving the request, the tag generates r1 randomly and transfers FID and r1 to the reader.

  3. The adversary intercepts the sent message from the tag to the reader and replaces r1 with r10x1.

  4. When the reader receives FID, it utilizes it as a search key in the database and seeks to find an equal FID in the FIDnew field. We assume that the comparison holds, meaning that the tag belongs to the system and the reader uses FIDnew,Pnnew,Pn+1new,Knnew for the next phase.

  5. The reader generates r2 randomly and computes A and B as:
    A=FIDPn+1Kn(r10x1)r2, (19)
    B=((r10x1)8)&(r21)(Pn+12). (20)
  6. It concatenates A and B and transfers the combination message (A||B) to the tag.

  7. The adversary intercepts the sent message from the reader to the tag and replaces A with A0x1.

  8. Upon receiving the message from the reader, the tags computes D and E as follows:
    D=PUF(Pn), (21)
    E=PUF(D). (22)
  9. In addition, it calculates r2 by the receiving messages to recalculate B as:
    r2=AFIDDKnr1, (23)
    B=(r18)&(r21)(D2). (24)
  10. The tag checks B=B. If the equation does not hold, it means the reader is not valid and the session is terminated. Otherwise, the tag verifies the reader and continues the process.

  11. Based on D, E and calculated r2, the tag computes F and then H as:
    F=DEr2, (25)
    H=(FID8)&(F1)(r22). (26)
  12. It concatenates F and H as (F||H) and sends this message to the reader.

  13. When the reader receives the tag’s response, by local parameters, it recalculates E, F and H as:
    E=Fr2Pn+1, (27)
    F=Er2Pn+1, (28)
    H=(FID8)&(F1)(r22). (29)
  14. Then, it checks H=H. If it does not hold, the tag is not valid, and the reader aborts the session. Otherwise, it verifies the tag and continues the process.

  15. Based on the assumption in Step 4, in the update process phase of the protocol verification phase, the database updates its parameters and then sends a signal to the tag to inform it that the update process is completed. The reader updates the database as follows:
    Pnnew=Pn+1new,Pn+1new=E, (30)
    Knnew=(Knnew8)&(r21)((r11)2), (31)
    FIDnew=(FIDnew8)&(r21)((r11)2), (32)
    FIDold=FIDnew,Pnold=Pnnew,Pn+1old=Pn+1new,Knold=Knnew. (33)
  16. When the tag receives the success signal from the reader in the acceptable time range, it also updates the parameters as:
    Pn=D, (34)
    FID=(FID8)&(r21)(r12), (35)
    Kn=(Kn8)&(r21)(r12). (36)

It is clear that the above attack succeeds if:

(r18)&(r21)(Pn+12)=((r10x1)8)&(r21)(Pn+12). (37)

In light of these findings, the probability of the above equality is 12. Given that the only impact of r1 is on the calculation of AB, if the above equality is satisfied, T and R authenticate each other successfully and the adversary is not recognized. However, the tag updates its values with r1 while the reader uses r11 in the update process. Hence, the tag’s records of secret parameters do not match the records of the reader and they will be desynchronized with the probability of almost 12, while the complexity of the attack method is just intercepting two steps of a session of the protocol between T and R.

5.2. Secret Disclosure Attack

The main observation which is used in the proposed secret disclosure attack is the fact that Ai&0=0 and Ai&1=Ai, for any value of Ai{0,1}. Following this observation, the attack procedure, when the adversary is modeled as a man in the middle, works as follows:

  1. On a legitimate session between the target tag T and the reader R, the reader starts the process and sends a search request to the tag.

  2. Upon receiving the request, the tag generates r1 randomly and transfers FID and r1 to the reader.

  3. The adversary intercepts the sent message from the tag to the reader and just replaces r1 by 0 and stores FID.

  4. When the reader receives FID, it utilizes it as a search key in the database and seeks to find an equal FID in the FIDnew field. We assume that the comparison holds, meaning that the tag belongs to the system and the reader uses FIDnew,Pnnew,Pn+1new,Knnew for the next phase.

  5. The reader generates r2 randomly and computes A and B as:
    A=FIDPn+1Kn(0)r2, (38)
    B=(08)&(r21)(Pn+12)=Pn+12. (39)
  6. The adversary stores AB and blocks it, where B=Pn+12 and Pn+1 is the tag’s secret value and A=FIDPn+1Knr2.

  7. The adversary waits until the reader starts the process and sends a search request to a tag.

  8. Upon receiving the request, the adversary sets r1=0x11 and transfers the stored FID and r1 to the reader.

  9. When the reader receives FID, it utilizes it as a search key in the database and seeks to find an equal FID in the FIDnew field. Based on the assumption of Step 4, the comparison holds, meaning that the tag belongs to the system and the reader uses FIDnew,Pnnew,Pn+1new,Knnew for the next phase.

  10. The reader generates r2 randomly and computes A and B as:
    A=FIDPn+1Kn(0x11)r2, (40)
    B=((0x11)8)&(r21)(Pn+12). (41)
  11. The adversary stores AB and blocks it, where B=(r21)(Pn+12). Given Pn+1 from Step 6, the adversary extracts r2 as r2=((B(Pn+12))2) and Kn as Kn=AFIDPn+1(0x11)r2.

On the basis of these elements, the probability of success of the adversary to retrieve the tag’s secret value is 1, while the complexity of the attack method is just intercepting a step of the sessions of the protocol between T and R and eavesdropping the transferred values over a public channel. It should also be noted that, given Pn+1 and Kn, the adversary can impersonate the reader and communicate with the tag to extract the rest of the secret parameters as follows:

  1. The adversary impersonates the legitimate reader and sends a search request to the target tag.

  2. Upon receiving the request, the tag generates r1 randomly and transfers FID and r1 to the reader (adversary).

  3. The adversary generates r2 randomly and computes A and B as follows and sends them to the tag:
    A=FIDPn+1Knr1r2, (42)
    B=(r18)&(r21)(Pn+12). (43)
  4. Upon receiving the message, the tag computes D=PUF(Pn) and E=PUF(D), verifies the received B to validate the reader and continues the process.

  5. Based on D, E and calculated r2, the tag computes F and then H as:
    F=DEr2, (44)
    H=(FID8)&(F1)(r22). (45)
  6. It concatenates F and H as (F||H) and sends this message to the reader (adversary).

  7. When the adversary receives the tag’s response, it extracts E=DFr2, sends a signal to the tag to inform that the update process was done, and does the following updates in the stored information related to the target tag:
    Pnnew=Pn+1,Pn+1new=E, (46)
    Knnew=(Knnew8)&(r21)((r11)2), (47)
    FIDnew=(FIDnew8)&(r21)((r11)2). (48)
  8. When the tag receives the success signal from the reader (adversary) in the acceptable time range, it also updates the parameters as:
    Pn=D, (49)
    FID=(FID8)&(r21)(r12), (50)
    Kn=(Kn8)&(r21)(r12). (51)

From now on, the adversary is in possession of all the tags secrets and has also desynchronized the tag and the reader. Hence, it is only the adversary who can communicate with the victim tag. The probability of success of the attack is 1 and the complexity of the attack method is negligible. One may argue that, in order to patch the given secret discourse attack, the reader shall refuse trivial values as r1, e.g., it should reject any value which does not sound like it is random such as r1=00 and r1=11. However, this approach does not rule out the projected attack, although it can slightly increase the complexity of the attack. In this case, the scenario of an attack could be as follows:

  1. In a legitimate session between the target tag T and the reader R, the reader starts the process and sends a search request to the tag.

  2. Upon receiving the request, the tag generates r1 randomly and transfers FID and r1 to the reader.

  3. The adversary intercepts the sent message from the tag to the reader and just replaces r1 by 0 and stores FID.

  4. When the reader receives FID, it utilizes it as a search key in the database and seeks to find an equal FID in the FIDnew field. We assume that the comparison holds, meaning that the tag belongs to the system and the reader uses FIDnew,Pnnew,Pn+1new,Knnew for the next phase.

  5. The reader generates r2 randomly and computes A and B as:
    A=FIDPn+1Knr1r2, (52)
    B=(r18)&(r21)(Pn+12). (53)
  6. The adversary stores AB and blocks it, where, for any (r1)i=0, we have Bi+6=(Pn+1)i+6 and Pn+1 is the tag’s secret value and A=FIDPn+1Knr2.

  7. The adversary waits until the reader starts another session of the protocol and sends a search request to a tag.

  8. Upon receiving the request, the adversary sets r1=r10x11 and transfers the stored FID and r1 to the reader.

  9. When the reader receives FID, it utilizes it as a search key in the database and seeks to find an equal FID in the FIDnew field. We again assume that the comparison holds, meaning that the tag belongs to the system and the reader uses FIDnew,Pnnew,Pn+1new,Knnew for the next phase.

  10. The reader generates r2 randomly and computes A and B as:
    A=FIDPn+1Knr1r2, (54)
    B=(r18)&(r21)(Pn+12). (55)
  11. The adversary stores AB and blocks it, where, for any (r1)i=0Bi+6=(Pn+1)i+6. Combining these bits of Pn+1 with the bits retrieved in Step 6, the adversary has a whole Pn+1.

  12. The adversary waits until the reader starts the next process and sends a search request to a tag.

  13. Upon receiving the request, the adversary generates a random value as r1, transfers r1 and the stored FID to the reader.

  14. When the reader receives FID, it utilizes it as a search key in the database and seeks to find an equal FID in the FIDnew field. Based on the assumption of Step 4, the comparison holds, meaning that the tag belongs to the system and the reader uses FIDnew,Pnnew,Pn+1new,Knnew for the next phase.

  15. The reader generates r2 randomly and computes A and B as:
    A=FIDPn+1Knr1r2, (56)
    B=((0x11)8)&(r21)(Pn+12). (57)
  16. The adversary stores AB and blocks it, where, for any (r1)i=1, we have Bi+6=(Pn+1)i+6r1(r2)i+7 and Ai+7=(FIDPn+1Knr2)i+7. Given that the adversary has FID, Pn+1, r1 and (r2)i+7, it can extract (Kn)j for any j that (r1)j7=1.

  17. The adversary waits until the reader starts another session of the protocol and sends a search request to a tag.

  18. Upon receiving the request, the adversary sets r1=r10x11 and transfers the stored FID and r1 to the reader.

  19. When the reader receives FID, it utilizes it as a search key in the database and seeks to find an equal FID in the FIDnew field. We again assume that the comparison holds, meaning that the tag belongs to the system and the reader uses FIDnew,Pnnew,Pn+1new,Knnew for the next phase.

  20. The reader generates r2 randomly and computes A and B as:
    A=FIDPn+1Knr1r2, (58)
    B=(r18)&(r21)(Pn+12). (59)
  21. (r1)i=1, we have Bi+6=(Pn+1)i+6(r2)i+7 and Ai+7=(FIDPn+1Knr1r2)i+7. Given that the adversary has FID, Pn+1, r1 and (r2)i+7, it can extract (Kn)j for any j that (r1)j7=1. Combining these bits of Kn with the bits retrieved in Step 16, the adversary has a whole Kn.

It is clear that, in the given attack, the probability of success of the adversary to retrieve the tag’s secret value is 1, while the complexity of the attack method is just intercepting/eavesdropping four sessions of the protocol between T and R. Even if the reader stores the history of all transferred random values between the tag and the reader, it is possible to adapt the given attack to deceive the reader and extract the secret parameters, although we may require a few extra number of sessions. It should be noted that we did not use the tag responses, i.e., F and H, in the proposed secret disclosure attacks. For example, in Xu et al.’s protocol, FID and F are also transferred over a public channel and:

F=DEr2, (60)
H=(FID8)&(F1)(r22). (61)

Hence, the adversary can easily extract r2 from the available information. Given r2 and r1 and AB, where:

A=FIDPn+1Knr1r2, (62)

and

B=(r18)&(r21)(Pn+12). (63)

The adversary can easily extract Pn+1 and Kn. Given r2 and Pn+1=D and F, the adversary can extract E. Hence, the adversary extracts all secret parameters passively. The probability of success of this attack is also 1. However, it necessarily requires eavesdropping F and H.

6. Improved Protocol

To avoid trivial attacks, it is possible to design a new protocol based on Xu et al.’s protocol by changing the structure of the messages programmed. For instance, any transferred information should be masked. Therefore, it is better to transfer r1Pn instead of the plain r1 or use ID to generate the new TID rather than the TID itself, which is known by the adversary. Furthermore, considering the fact that the output of AND operation is ‘0’ with the probability of 34, one should avoid it and try to use XOR which is a balanced bitwise operation. However, all things considered, the history of many easily broken ultra-lightweight protocols in literature shows that even such an improved protocol may not be that secure, not to mention that we use enough nonlinear and complicated functions, instead of just a few bitwise operations. Under the circumstances, it could be better to use available well-known lightweight primitives such as SIMON [36], Skinny [37], NORX [38] and SPONGENT [39]. For example, it is possible to implement SPONGNET in an area equal to 738 NAND gate [40]. Based on this observation, we propose in this section an improved authentication protocol apart from PUF, which uses a cryptographic hash function as the core of security. It should be noted many lightweight hash functions have already been introduced in literature, e.g., PHOTON [41], Quark [42] and SPONGENT [39]. A comprehensive comparison of those primitives can be found at CryptoLUX [40].

6.1. The Proposed Protocol

The proposed protocol, as it is depicted in Figure 3, includes two phases: the registration phase over a secure channel and the authentication phase over a public channel.

Figure 3.

Figure 3

The improved PUF-based protocol.

Registration Phase:

In this phase, the tag Ti is registered into the reader as follows:

  1. The reader sends a registration request command to the tag.

  2. The tag generates a random number Ni, calculates PIDi and PIDi+1 as follows and sends them to the reader:
    PIDi=PUFIDNi,PIDi+1=PUFIDNi+1.
  3. The reader calculates a temporary identifier TIDi1=HPIDi+1Kr for the tag and sends to it, where Kr is the secret parameter of the reader.

  4. It also updates TIDi as TIDi=HPIDiTIDi1 and creates a record in its database for this tag, including TIDi,PIDi,PIDi+1.

  5. Given TIDi1, the tag calculates TIDi=HPIDiTIDi1. It stores Ni,TIDi1,TIDi.

Authentication Phase:

In this phase, the tag Ti and the reader R are mutually authenticated as follows:

  1. The reader sends an authentication request command along a random number rri to the tag.

  2. The tag generates a random number rti, calculates A=HPUFIDNirrirti and sends tuple (A,TIDi,rti) to the reader.

  3. Given TIDi, the reader finds the related record in its database, i.e., TIDi,PIDi,PIDi+1. Then, the reader verifies whether A=?HPIDirrirti to authenticate the tag. If the tag is authenticated, then the reader calculates TIDi+1=HPIDi+1TIDi and B=HPIDi+1rtirriTIDi+1. Next, it sends B to the tag.

  4. The tag also calculates TIDi+1=HPUFID(Ni+1)TIDi and verifies whether B=?HPUFID(Ni+1)rtirriTIDi+1, to authenticate the reader. If the reader is certified as valid, the tag does the following calculations:
    C=HrtirriPUFIDNiPUFIDNi+2,D=HCrtirriPUFID(Ni+1).
  5. Next, the tag sends (C,D) to the reader and updates its records as {Ni=Ni+1;TIDi1=TIDi;TIDi=TIDi+1}.

  6. Once the reader received (C,D), it verifies whether D=?HCrtirriPIDi+1, to authenticate the tag and the received data. If it is authenticated, then the reader updates its records as follows:
    PIDi=PIDi+1,PIDi+1=HrtirriPIDiC,TIDi=TIDi+1.
  7. If the tag has not been authenticated based on Ni and TIDi, it assumes that the last session was not finished successfully and the tag tries to be authenticated based on Ni1 and TIDi1.

6.2. Security Evaluation of the Proposed Protocol

In this section, we evaluate the security of the proposed protocol informally and formally. For this purpose, we considered an active adversary, which is able to eavesdrop on any transferred messages over the public channel at different stages of the procedure, e.g., authentication phase of the proposed protocol, modify/block messages or initiate a session to impersonate the reader/tag. However, we specify that the adversary cannot influence or access the transferred messages over a secured channel, e.g., registration phase of the proposed protocol. In addition, we assume that the embedded PUF behaves randomly from a tag to a tag and on different inputs, i.e., Pr(PUFi(x1)=PUFi(x2))=2n and Pr(PUFi(x1)=PUFj(x1))=2n, where x1x2, n is the output length of PUFi and PUFi is the PUF which is integrated in the tag Ti.

6.2.1. Informal Analysis

Traceability Attack: To trace a tag/reader and to compromise the protocol’s anonymity, the adversary should be able to link transferred messages between the tag and the reader to their identity or to the previous transferred messages. On the other hand, on each run of the protocol, the transferred messages include rri,rti, TIDi, A=HPIDirrirti, B=HPIDi+1rtirriTIDi+1, C=HrtirriPUFIDNiPUFIDNi+2 and D=HCrtirriPUFID(Ni+1), where TIDi+1=HPIDi+1TIDi. rri and rti are fresh random values generated in each session and they cannot be used to trace the tag/reader. TIDi is the pseudo identity of the tag which is updated at the end of each successful run of the protocol. Moreover, the tag keeps its record up to the next successful run of the protocol. Although the record can be used to trace the tag even after one successful run of the protocol, it is impossible to employ it later.

More precisely, an adversary who eavesdropped on a session of the protocol between the tag and the reader and who missed two consecutive successful runs of the protocol after that will not be able to use the eavesdropped value of TIDi to trace the target tag. It should be noted that it is possible to fix this problem by masking the transferred pseudo-identity, for example as H(TIDi+1rti). However, in doing so, the reader needs to search through its entire database to find the tag that compromises the protocol’s scalability. Other solutions, such as encrypting TID by the public key of the reader, are also possible, but it increases the computational complexity of the protocol. The rest of the messages are randomized by random values contributed by both the tag and the reader and a secure hash function. Hence, even an adversary who is impersonating the reader or the tag cannot control the random numbers generated by the other party and cannot predict the transferred messages from one session to another session.

Secret Disclosure Attack: The main secret parameters that are shared with the reader are PIDi and PIDi+1. They are used in generating different messages that are transferred between the tag and the reader, i.e., A, B, C and D. However, they are mainly used as the input of a hash function that is not possible to invert efficiently. The only way to achieve such an inversion should be to use C=HrtirriPIDiPIDi+2 to determine PIDi+2. However, it is randomized by HrtirriPIDi for which the adversary has no knowledge and cannot control. Hence, the adversary cannot efficiently determine PIDi and PIDi+1.

Impersonation Attack: Given the fact that the adversary cannot determine PIDi and PIDi+1, to impersonate a tag to the reader, the adversary should at least generate a valid A. However, to produce it, the adversary ought to appreciate the knowledge of PIDi, since the previously eavesdropped messages cannot be used also due to the fresh rri and rti that are generated in each new session, the adversary cannot do this attack efficiently. A similar argument is also valid and relevant for the reader to the tag impersonation attack.

Replay Attack: Considering the fact that all messages that are critical to authenticate the tag by the reader or the reader by the tag are randomized by both parties, it is not possible to apply a replay attack against the proposed protocol.

Tag Cloning Attack: Assuming that the used PUF behaves randomly, it is impossible to clone a tag even when the adversary compromises the tag to access TIDi, TIDi1 and Ni. The reason for this comes from the fact that it is not possible to implement identical PUF in different tags.

Desynchronization Attack: To desynchronize the tag and the reader, the reader should be able to impersonate the reader to the tag or the tag to the reader, which is not possible. Another approach would be by blocking the last message sent from the tag to the reader. In this way, the tag has updated its records but not the reader. However, given that the tag also keeps a record of the old data; in this case, it can be synchronized based on them.

Forward/Backward Security: Given that the tag and the reader share two parameters PIDi and PIDi+1 and since, in each round, only one of them is changed while the tag keeps a history of old parameters, we define our forward security model as the case when the adversary has all parameters of session x, misses two successful sessions and aims to recover parameters in the (x+2)th session. It is clear that, in two consecutive sessions, both PIDi and PIDi+1 are changed through PUF randomly, and, without them, the adversary has no advantage over a blind adversary. Hence, the adversary will not be able to determine PIDi and PIDi+1. A similar reasoning applies to the backward security of the protocol.

6.2.2. Formal Verification Using a Scyther Tool

Scyther [43] is a widely accepted tool to evaluate the security correctness of a protocol. It provides a graphical user interface to facilitate the analysis of complex attack scenarios on the target protocol. We applied the Scyther tool to verify whether our security assertions for the proposed protocol holds or not. We defined two identities over the protocol, i.e., tag and reader in Scyther. Then, we implemented each role with its corresponding task, followed by the implementations as represented in Appendix A. It is worth noting that we fixed the number of protocol runs 100 times and also fixed the search pruning to “Find all attacks“ and the matching type of Scyther tool to “Find all type flaws”.

We made our Secret claims on every message that was sent and received on both ends. According to Table 2, the Scyther tool could not find any attack within bounds, thus establishing that our security allegations were founded.

Table 2.

The proposed protocol verification results using the Scyther tool.

Claim Status Comments
improved R improved,R1 Secret ID OK No attacks within bounds.
improved,R2 Niagree OK No attacks within bounds.
improved,R3 Nisynch OK No attacks within bounds.
improved,R4 Alive OK No attacks within bounds.
improved,R5 Weakagree OK No attacks within bounds.
T improved,T1 Secret PIDi OK No attacks within bounds.
improved,T2 Secret PIDip1 OK No attacks within bounds.
improved,T3 Niagree OK No attacks within bounds.
improved,T4 Nisynch OK No attacks within bounds.
improved,T5 Alive OK No attacks within bounds.
improved,T6 Weakagree OK No attacks within bounds.

In terms of a tag’s weight and hardware complexity of the improved protocol, the protocol could belong to lightweight protocols. Accordingly, because PUF and hash functions have been used in the design of our proposed protocol, we can control the number of gates in the range of lightweight tags. Since a tag with less than 3000 GE [44] is lightweight, by utilizing a SPONGNET hash function with around 800 GE and some bitwise functions such as XOR, the total number of gates is less than 3000 and the proposed tag can satisfy the limitation of lightweight protocols. In addition, in terms of the security level, we compared the improved protocol with some other protocols in Table 3. The results show that our protocol could address the security issues of other protocols and is resistant against IoT attacks.

Table 3.

The security comparison of the improved protocol to other protocols against IoT attacks.

Protocols Impersonation Traceability Disclosure Desynchronization
Sadeghi et al. [25] × ×
Aysu et al. [32] × ×
Van Herrewege et al. [30] ×
Kulseng et al. [11] × ×
Xu et al. [10] × ×
Improved Protocol

✓: Resistant    ×: Non-resistant.

7. Conclusions

With the exponential increase of IoT connected devices, the importance of security risks is raised by the academic and professional community as any connected object becomes a computing device and a potential target for an attack. In developing strategies to identify and prevent intrusions and threats, which are more likely to increase, researchers around the word are working on securing all the layers of the IoT infrastructure. Along these trends, since the commercial introduction by Verayo in the early 2008 of the first silicon chips equipped with PUF, the market has seen some growth with other companies (e.g., Intrinsic ID, Quantum Trace, Invia) now developing in this marketplace. While there are no doubts that PUF constitutes a very promising avenue to ensure device security, caution should always be brought to constantly evolving security protocols. In line with this issue, Xu et al. proposed a lightweight RFID mutual authentication protocol based on PUF, for ensuring mutual tag-reader verification and preventing clone attacks. While the authors claimed that their protocol was efficient to protect RFID systems, we found it to still be vulnerable and presented how a desynchronization attack and several secret disclosure attacks could be performed on Xu et al.’s protocol. Finally, we discussed why it is better to try to employ secure lightweight encryption functions in designing secure protocols rather than ad hoc designs, by proposing a secure hash based protocol.

Acknowledgments

We would like to thank the anonymuse reviewers for their suggestions on improving the presentation of the paper and also their technical suggestions.

Appendix A. Implementation of the Proposed Protocol in the Scyther Tool

hashfunction  h;

const xor:Function;

const con:Function;

const add:Function;

const puf:Function;

secret ID;

secret Ni;

secret TIDi;

secret PIDi;

secret PIDip1;

macro TIDip1=h(xor(PIDip1,TIDi));

macro A=h(con(xor(puf(xor(ID,Ni)),rri),rti));

macro B=h(con(xor(PIDip1,rti),xor(rri,TIDip1)));

macro C=xor(h(xor(rti,rri,puf(xor(ID,Ni)))),puf(xor(ID,add(Ni,2))));

macro D=h(con(xor(C, rti),xor(rri,puf(xor(ID,add(Ni,1))))));

protocol improved(R,T){

role R{

secret Ni;

secret TIDi;

secret PIDi;

secret PIDip1;

secret ID;

fresh rri;

var rti;

send_1(R,T,rri);

recv_2(T,R,A,TIDi,rti);

send_3(R,T,B);

recv_4(T,R,con(C,D));

claim(R,Secret,ID);

claim(R,Niagree);

claim(R,Nisynch);

claim(R,Alive);

claim(R,Weakagree);

}

role T{

fresh rti;

var rri;

secret Ni;

secret TIDi;

secret PIDi;

secret ID;

secret PIDip1;

recv_1(R,T,rri);

send_2(T,R,A,TIDi,rti);

recv_3(R,T,B);

send_4(T,R,con(C,D));

claim(T,Secret,PIDi);

claim(T,Secret,PIDip1);

claim(T,Niagree);

claim(T,Nisynch);

claim(T,Alive);

claim(T,Weakagree);

}}

Author Contributions

The authors contributed equally to this work.

Funding

This research received no external funding.

Conflicts of Interest

The authors declare no conflict of interest.

References

  • 1.Weiser M. Hot topics-ubiquitous computing. Computer. 1993;26:71–72. doi: 10.1109/2.237456. [DOI] [Google Scholar]
  • 2.Pelino M., Hammond J., Dai C., Miller P., Belissent J., Ask J., Fenwick N., Gillett F., Husson T., Maxim M., et al. Predictions 2018: IoT Moves From Experimentation To Business Scale. [(accessed on 12 October 2018)]; Available online: https://www.forrester.com/report/Predictions+2018+IoT+Moves+From+Experimentation+To+Business+Scale/-/E-RES139752.
  • 3.Markit I. Number of Connected IoT Devices Will Surge to 125 Billion by 2030. [(accessed on 12 October 2018)]; Available online: https://technology.ihs.com/596542/number-of-connected-iot-devices-will-surge-to-125-billion-by-2030-ihs-markit-says.
  • 4.Hung M. Leading to IoT: Gartner Insights on How to Lead in a Connected World. [(accessed on 12 October 2018)]; Available online: https://www.gartner.com/imagesrv/books/iot/iotEbook_digital.pdf.
  • 5.Wang K.H., Chen C.M., Fang W., Wu T.Y. A secure authentication scheme for Internet of Things. Pervas. Mob. Comput. 2017;42:15–26. doi: 10.1016/j.pmcj.2017.09.004. [DOI] [Google Scholar]
  • 6.EPCglobal G. EPC Radio-Frequency Identity Protocols Generation-2 UHF RFID. EPCglobal Inc.; Menlo Park, CA, USA: 2013. Specification for RFID Air Interface Protocol for Communications at 860 MHz–960 MHz. [Google Scholar]
  • 7.Karygiannis T., Eydt B., Barber G., Bunn L., Phillips T. Guidelines for securing radio frequency identification (RFID) systems. NIST Spec. Pub. 2007;80:1–154. [Google Scholar]
  • 8.Gassend B., Clarke D., Van Dijk M., Devadas S. Silicon physical random functions; Proceedings of the 9th ACM Conference on Computer and Communications Security; Washington, DC, USA. 18–22 November 2002; pp. 148–160. [Google Scholar]
  • 9.RFID Startup Offers Enhanced Security for Tag Chips. [(accessed on 12 October 2018)]; Available online: https://www.rfidjournal.com/articles/view?7042.
  • 10.Xu H., Ding J., Li P., Zhu F., Wang R. A Lightweight RFID mutual authentication protocol based on physical unclonable function. Sensors. 2018;18:760. doi: 10.3390/s18030760. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 11.Kulseng L., Yu Z., Wei Y., Guan Y. Lightweight mutual authentication and ownership transfer for RFID systems; Proceedings of the 2010 Proceedings IEEE INFOCOM; San Diego, CA, USA. 14–19 March 2010; pp. 1–5. [Google Scholar]
  • 12.Sector S., Itu O. SERIES Y: GLOBAL INFORMATION INFRASTRUCTURE, INTERNET PROTOCOL ASPECTS AND NEXT-GENERATION NETWORKS Next Generation Networks–Frameworks and Functional Architecture Models. International Telecommunication Union; Geneva, Switzerland: 2012. [Google Scholar]
  • 13.Lu Y., Papagiannidis S., Alamanos E. Internet of Things: A systematic review of the business literature from the user and organisational perspectives. Technol. Forecast. Soc. Chang. 2018;23:31–41. doi: 10.1016/j.techfore.2018.01.022. [DOI] [Google Scholar]
  • 14.Krotov V. The Internet of Things and new business opportunities. Bus. Horiz. 2017;60:831–841. doi: 10.1016/j.bushor.2017.07.009. [DOI] [Google Scholar]
  • 15.IoT Business Models Framework UNIFY-IoT. [(accessed on 12 October 2018)]; Available online: http://www.unify-iot.eu/wp-content/uploads/2016/10/D02_01_WP02_H2020_UNIFY-IoT_Final.pdf.
  • 16.The Internet of Things Reference Model, Whipe paper. [(accessed on 12 October 2018)]; Available online: https://www.cisco.com/c/dam/global/en_ph/assets/ciscoconnect/pdf/bigdata/jim_green_cisco_connect.pdf.
  • 17.Qi J., Yang P., Min G., Amft O., Dong F., Xu L. Advanced internet of things for personalised healthcare systems: A survey. Pervas. Mob. Comput. 2017;41:132–149. doi: 10.1016/j.pmcj.2017.06.018. [DOI] [Google Scholar]
  • 18.Bendavid Y. Positioning RFID technologies in the enterprise information systems portfolio: A case in supply chain management. Int. J. Autom. Technol. 2012;4:11–24. [Google Scholar]
  • 19.Tan H., Choi D., Kim P., Pan S., Chung I. Secure Certificateless Authentication and Road Message Dissemination Protocol in VANETs. Wirel. Commun. Mob. Comput. 2018;2018:7978027. doi: 10.1155/2018/7978027. [DOI] [Google Scholar]
  • 20.Afifi M., Zhou L., Chakrabartty S., Ren J. Dynamic authentication protocol using self-powered timers for passive Internet of Things. IEEE Internet Things J. 2018;5:2927–2935. doi: 10.1109/JIOT.2017.2757918. [DOI] [Google Scholar]
  • 21.Tan H., Choi D., Kim P., Pan S., Chung I. Comments on “Dual Authentication and Key Management Techniques for Secure Data Transmission in Vehicular Ad Hoc Networks”. IEEE Trans. Intell. Transp. Syst. 2018;19:2149–2151. doi: 10.1109/TITS.2017.2746880. [DOI] [Google Scholar]
  • 22.Shen J., Tan H., Zhang Y., Sun X., Xiang Y. A new lightweight RFID grouping authentication protocol for multiple tags in mobile environment. Multimed. Tools Appl. 2017;76:22761–22783. doi: 10.1007/s11042-017-4386-6. [DOI] [Google Scholar]
  • 23.Gope P., Lee J., Quek T.Q. Lightweight and Practical Anonymous Authentication Protocol for RFID Systems Using Physically Unclonable Functions. IEEE Trans. Inf. Forens. Secur. 2018;13:2831–2843. doi: 10.1109/TIFS.2018.2832849. [DOI] [Google Scholar]
  • 24.Cao Y., Zhao X., Ye W., Han Q., Pan X. A Compact and Low Power RO PUF with High Resilience to the EM Side-Channel Attack and the SVM Modelling Attack of Wireless Sensor Networks. Sensors. 2018;18:322. doi: 10.3390/s18020322. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 25.Sadeghi A.R., Visconti I., Wachsmann C. PUF-enhanced RFID security and privacy. SECSI. 2010;110:146–149. [Google Scholar]
  • 26.Kardaş S., Kiraz M.S., Bingöl M.A., Demirci H. International Workshop on Radio Frequency Identification: Security and Privacy Issues. Volume 1. Springer; Berlin/Heidelberg, Germany: 2011. A novel RFID distance bounding protocol based on physically unclonable functions; pp. 78–93. [Google Scholar]
  • 27.Akgun M., Caglayan M.U. PUF based scalable private RFID authentication; Proceedings of the 2011 Sixth International Conference on Availability, Reliability and Security (ARES); Vienna, Austria. 22–26 August 2011; pp. 473–478. [Google Scholar]
  • 28.Akgün M., Çaglayan M.U. Providing destructive privacy and scalability in RFID systems using PUFs. Ad Hoc Netw. 2015;32:32–42. doi: 10.1016/j.adhoc.2015.02.001. [DOI] [Google Scholar]
  • 29.Kardaş S., ÇElik S., YıLdıZ M., Levi A. PUF-enhanced offline RFID security and privacy. J. Netw. Comput. Appl. 2012;35:2059–2067. doi: 10.1016/j.jnca.2012.08.006. [DOI] [Google Scholar]
  • 30.Van Herrewege A., Katzenbeisser S., Maes R., Peeters R., Sadeghi A.R., Verbauwhede I., Wachsmann C. International Conference on Financial Cryptography and Data Security. Volume 1. Springer; Berlin/Heidelberg, Germany: 2012. Reverse fuzzy extractors: Enabling lightweight mutual authentication for PUF-enabled RFIDs; pp. 374–389. [Google Scholar]
  • 31.Moriyama D., Matsuo S., Yung M. PUF-based RFID authentication secure and private under memory leakage. IACR Cryptol. ePrint Arch. 2013;3:61–83. [Google Scholar]
  • 32.Aysu A., Gulcan E., Moriyama D., Schaumont P., Yung M. International Workshop on Cryptographic Hardware and Embedded Systems. Springer; Berlin/Heidelberg, Germany: 2015. End-to-end design of a PUF-based privacy preserving authentication protocol; pp. 556–576. [Google Scholar]
  • 33.Huth C., Aysu A., Guajardo J., Duplys P., Güneysu T. International Conference on Information Security and Cryptology. Springer; Berlin/Heidelberg, Germany: 2016. Secure and Private, yet Lightweight, Authentication for the IoT via PUF and CBKA; pp. 28–48. [Google Scholar]
  • 34.Ray B., Howdhury M., Abawajy J., Jesmin M. Secure object tracking protocol for Networked RFID Systems; Proceedings of the 2015 16th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD); Takamatsu, Japan. 1–3 June 2015; pp. 1–7. [Google Scholar]
  • 35.Li Y., Deng R.H., Bertino E. RFID security and privacy. Synth. Lect. Inf. Secur. Privacy Trust. 2013;4:1–157. doi: 10.2200/S00550ED1V01Y201311SPT007. [DOI] [Google Scholar]
  • 36.Beaulieu R., Shors D., Smith J., Treatman-Clark S., Weeks B., Wingers L. The SIMON and SPECK lightweight block ciphers; Proceedings of the 52nd Annual Design Automation Conference; San Francisco, CA, USA. 7–11 June 2015; pp. 175:1–175:6. [Google Scholar]
  • 37.Beierle C., Jean J., Kölbl S., Leander G., Moradi A., Peyrin T., Sasaki Y., Sasdrich P., Sim S.M. The SKINNY Family of Block Ciphers and Its Low-Latency Variant MANTIS; Proceedings of the 36th Annual International Cryptology Conference; Santa Barbara, CA, USA. 14–18 August 2016. [Google Scholar]
  • 38.Aumasson J., Jovanovic P., Neves S. NORX: Parallel and Scalable AEAD; Proceedings of the 19th European Symposium on Research in Computer Security; Wroclaw, Poland. 7–11 September 2014. [Google Scholar]
  • 39.Bogdanov A., Knezevic M., Leander G., Toz D., Varici K., Verbauwhede I. CHES. Volume 6917. Springer; Berlin/Heidelberg, Germany: 2011. SPONGENT: A Lightweight Hash Function; pp. 312–325. [Google Scholar]
  • 40.Lightweight Hash Functions. [(accessed on 10 November 2018)]; Available online: https://www.cryptolux.org/index.php/Lightweight_Hash_Functions#cite_note-BKLT11-22.
  • 41.Guo J., Peyrin T., Poschmann A. CRYPTO. Volume 6841. Springer; Berlin/Heidelberg, Germany: 2011. The PHOTON Family of Lightweight Hash Functions; pp. 222–239. [Google Scholar]
  • 42.Aumasson J., Henzen L., Meier W., Naya-Plasencia M. Quark: A Lightweight Hash. J. Cryptol. 2013;26:313–339. doi: 10.1007/s00145-012-9125-6. [DOI] [Google Scholar]
  • 43.Cremers C.J.F. The Scyther Tool: Verification, Falsification, and Analysis of Security Protocols. In: Gupta A., Malik S., editors. Computer Aided Verification. Springer; Berlin/Heidelberg, Germany: 2008. pp. 414–418. [Google Scholar]
  • 44.Sundaresan S., Doss R., Piramuthu S., Zhou W. A robust grouping proof protocol for RFID EPC C1G2 tags. IEEE Trans. Inf. Forens. Secur. 2014;9:961–975. doi: 10.1109/TIFS.2014.2316338. [DOI] [Google Scholar]

Articles from Sensors (Basel, Switzerland) are provided here courtesy of Multidisciplinary Digital Publishing Institute (MDPI)

RESOURCES