Next Article in Journal
LDA-CNN: Linear Discriminant Analysis Convolution Neural Network for Periocular Recognition in the Wild
Previous Article in Journal
Deep Learning Activation Layer-Based Wall Quality Recognition Using Conv2D ResNet Exponential Transfer Learning Model
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Cryptanalysis of Two Recent Ultra-Lightweight Authentication Protocols

by
Mohammad Reza Servati
1,
Masoumeh Safkhani
1,2,
Saqib Ali
3,
Mazhar Hussain Malik
4,
Omed Hassan Ahmed
5,
Mehdi Hosseinzadeh
6,* and
Amir H. Mosavi
7,*
1
Faculty of Computer Engineering, Shahid Rajaee Teacher Training University, Tehran 16788-15811, Iran
2
School of Computer Science, Institute for Research in Fundamental Sciences (IPM), P.O. Box 19395-5746, Tehran 16788-15811, Iran
3
Department of Information Systems, College of Economics and Political Science, Sultan Qaboos University, Al Khoudh, Muscat P.C. 123, Oman
4
School of Computing and Creative Technologies, College of Arts, Technology and Environment (CATE), University of the West of England, Frenchay Campus, Coldharbour Lane, Bristol BS16 1QY, UK
5
Department of Information Technology, University of Human Development, Sulaymaniyah 0778-6, Iraq
6
Pattern Recognition and Machine Learning Lab, Gachon University, 1342 Seongnamdaero, Sujeonggu, Seongnam 13120, Republic of Korea
7
Institute of Software Design and Development, Obuda University, 1034 Budapest, Hungary
*
Authors to whom correspondence should be addressed.
Mathematics 2022, 10(23), 4611; https://doi.org/10.3390/math10234611
Submission received: 12 October 2022 / Revised: 11 November 2022 / Accepted: 18 November 2022 / Published: 5 December 2022
(This article belongs to the Topic Safe and Secure Autonomous Systems)

Abstract

:
Radio Frequency Identification (RFID) technology is a critical part of many Internet of Things (IoT) systems, including Medical IoT (MIoT) for instance. On the other hand, the IoT devices’ numerous limitations (such as memory space, computing capability, and battery capacity) make it difficult to implement cost- and energy-efficient security solutions. As a result, several researchers attempted to address this problem, and several RFID-based security mechanisms for the MIoT and other constrained environments were proposed. In this vein, Wang et al. and Shariq et al. recently proposed CRUSAP and ESRAS ultra-lightweight authentication schemes. They demonstrated, both formally and informally, that their schemes meet the required security properties for RFID systems. In their proposed protocols, they have used a very lightweight operation called C r o ( · ) and R a n k ( · ) , respectively. However, in this paper, we show that those functions are not secure enough to provide the desired security. We show that C r o ( · ) is linear and reversible, and it is easy to obtain the secret values used in its calculation. Then, by exploiting the vulnerability of the C r o ( · ) function, we demonstrated that CRUSAP is vulnerable to secret disclosure attacks. The proposed attack has a success probability of "1" and is as simple as a CRUSAP protocol run. Other security attacks are obviously possible by obtaining the secret values of the tag and reader. In addition, we present a de-synchronization attack on the CRUSAP protocol. Furthermore, we provide a thorough examination of ESRAS and its R a n k ( · ) function. We first present a de-synchronization attack that works for any desired R a n k ( · ) function, including Shariq et al.’s proposed R a n k ( · ) function. We also show that R a n k ( · ) does not provide the desired confusion and diffusion that is claimed by the designers. Finally, we conduct a secret disclosure attack against ESRAS.

1. Introduction

The fundamental concept underlying the Internet of Things is that any device can be technologically enhanced to transform into a computing device and communicate with its surroundings autonomously and in real-time. This vision is becoming a reality due to the exponential growth in the number of IoT-connected devices around the world. In other words, IoT is a cutting-edge technology that aims to connect a large number of smart devices to the Internet. Because of the many IoT applications in areas such as smart things, commuting, and healthcare systems, IoT has evolved into an indispensable aspect of our daily lives. Each smart device has a sensor that allows it to sense, collect, and communicate data about its surroundings. Each device connects to the Internet, uses a unique identifier as the name, and sends data from one location to another. This interconnected system has many advantages to enhancing traditional ecosystems. The use of sensors in medical devices, for example, has a number of benefits, including remote and ongoing patient health surveillance and real-time illness treatment, which lowers healthcare costs and raises the standard of living for the elderly and children. The Medical Internet of Things (MIoT) employs an intelligent system that allows devices to collect patient data and send it to a secure cloud-based platform where it can be saved, processed, and evaluated. In addition to storing the information of numerous patients, these systems recommend a real-time evaluation of the patient’s stored information in order to improve the effectiveness of healthcare systems. A significant number of corporations are making significant investments in the healthcare sector as a result of the incorporation of IoT in healthcare products. On the other hand, in this example, the patient’s data are incredibly important and critical. Hence, using it improperly could put the patient in jeopardy or perhaps bring the entire system to a halt. Consequently, when these smart medical devices are detecting and transferring data, it is essential to use suitable security mechanisms to protect those data. As a result, the sender and receiver’s identities must be verified using a security protocol known as the authentication protocol.
Chien et al. [1] categorized the four types of RFID authentication protocols as follows:
  • Full-fledged protocols: These protocols should support common cryptographic components such as symmetric and asymmetric encryption functions, as well as other one-way cryptography functions. For example, they can support time-consuming primitives, such as Elliptic Curve Encryption (ECC) and RSA.
  • Simple protocols: Support for one-way hash functions and symmetric encryption and the ability to generate pseudo-random numbers on tags are required for this category of protocols.
  • Lightweight protocols: This category contains protocols that can generate pseudo-random numbers for tags and have simple operations, such as the Cyclic Redundancy Code (CRC) checksum, which is simpler than the one-way hash function.
  • Ultra-lightweight protocols: This class of protocols allows only bit-wise logical operations on tags, e.g., bit-wise XOR, AND, OR, rotation, and so on. In addition, the tag’s side could include a pseudo-random number generator.
Recently, Wang et al. [2] proposed a new ultra-lightweight RFID authentication protocol based on a new ultra-lightweight function called C r o ( · ) for MIoT devices. They also showed their scheme is appropriate for healthcare systems and meets the security criteria (such as consistency, synchronization, and tag anonymity) that are required for RFID systems. However, in this research, we present a de-synchronization attack against it that may be used against any chosen C r o ( · ) function in this scheme. It reveals a vulnerability in the way their protocol was designed. We also show that since the building block of their protocol, i.e., C r o ( · ) , is linear and reversible, it has important security pitfalls. Then, we use the security vulnerability of C r o ( · ) to conduct a secret disclosure attack with the success probability of one and complexity of one protocol’s execution and conducting some offline computations. In the same line, Shariq et al. [3] also proposed a new ultra-lightweight RFID authentication protocol called ESRAS based on a new ultra-lightweight operation called R a n k ( · ) for low-cost tags. They also showed their scheme provides the expected security criteria for RFID systems. In this paper, we demonstrate an efficient de-synchronization attack against this protocol and show that the proposed R a n k ( · ) function is not a good choice to provide the expected diffusion and confusion in a cryptographic protocol. We also presented a secret disclosure attack against Shariq et al.’s protocol.

1.1. Main Contribution

The following are this paper’s contributions:
  • Presenting a de-synchronization attack against Wang et al.’s protocol called CRUSAP that may be used against any chosen C r o ( · ) function.
  • Presenting the security pitfall of C r o ( · ) operation, which was recently proposed by Wang et al. They used C r o ( · ) as a building operation of their proposed protocol, i.e., CRUSAP.
  • Implementing a secret disclosure attack against CRUSAP, both theoretically and practically.
  • Proposing an efficient de-synchronization attack against Shariq et al.’s scheme, ESRAS, which works for any desired R a n k ( · ) function.
  • Analyzing the details of the proposed R a n k ( · ) and showing that it is equivalent to the rotation function in reality and does not provide a high level of security.
  • We also propose a full secret disclosure attack against ESRAS.

1.2. Paper Organization

The remainder of the paper is structured as follows: The related works are reviewed in Section 2 and the explanation of the C r o ( · ) operation and Wang et al.’s protocol, i.e., CRUSAP, is included in Section 3. In Section 4.1, we explain the de-synchronization attack against CRUSAP. The security pitfall of C r o ( · ) is explained in Section 4.2, and then using that flaw, the Wang et al. protocol is subjected to our proposed secret disclosure attack in Section 4.3. We use the results of simulations in Section 4.4 to confirm that our proposed secret disclosure attack is practical and doable. The ESRAS protocol is described in Section 5 and its security pitfalls, including its vulnerability against de-synchronization and secret disclosure attacks and weakness of the cryptographic properties of R a n k ( X , Y ) , are explained in detail in Section 6. We conclude the paper in Section 7 with concluding remarks.

2. Related Work

An authentication protocol is said to be rotation-based if a significant proportion of operations conducted on the parties are extremely lightweight functions, such as bitwise AND, OR, XOR, and rotations without the use of cryptographic primitives. The SASI protocol [1] is an RFID authentication system based on rotation functions, and several researchers have examined the security of these protocols. For instance, ref. [4] demonstrates that the protocols detailed in [1,5] are suspicious to de-synchronization and secret disclosure attacks. Tewari and Gupta [6] suggested another ultra-lightweight authentication scheme based on XOR and Rotation operations, but some research such as [7,8,9] showed that this scheme [6] is vulnerable to de-synchronization and secret disclosure attacks. Furthermore, ref. [7] introduced a modified version of Tewari and Gupta’s [6] scheme, while [10] illustrated that their protocol is not secure enough against secret disclosure, de-synchronization, and man-in-the-middle attacks. In 2017, Fan et al. [11] proposed another ultra-lightweight authentication scheme named ULRAS, which uses the specific bit operation called the RR method. However, ref. [12] showed that their protocol is not secure against secret disclosure attacks and proposed a modified version of [11]. After that, ref. [13] proved that the proposed protocols in [11,12] suffer from de-synchronization attacks. In this line, another RFID authentication scheme using the hash function and bitwise operations was developed by [14]. However, [15] examined the security of this protocol and demonstrated that it contains security and privacy flaws. Thus, the researchers then made an effort to enhance the security of the scheme [14] by retaining a minimal level of computational cost in the database and offering a new secure lightweight protocol. Ref. [16] proposed a double authentication scheme via secret sharing for low-cost RFID tags, while [17] showed that their protocol does not withstand replay and de-synchronization attacks. Furthermore, ref. [18] proposed a lightweight authentication scheme for cloud environments, but [19] proved that their protocol is suspicious of anonymity and impersonation attacks. Ref. [20] proposed an authentication scheme named URAP, and their protocol is secure against a wide range of attacks.

3. CRUSAP

In this section, first, the notations used in the paper are described. After that, the C r o ( · ) function is explained, and then the CRUSAP, in which the C r o ( · ) function is used as the main function, is described.

3.1. Notations

Throughout the paper, we used notations represented in Table 1.

3.2. C r o ( · ) Function

Wang et al. have claimed that C r o ( · ) is a cryptographic operation that does not imposes a burden on tags and provides protocol security.In this paper, and in Section 4.3, we show that this function is very vulnerable against security attacks and the secret values used in its calculation can be easily obtained. Here, we describe the C r o ( · ) operation. To describe C r o ( · ) , at first, a new bit operation called bit-wise crossover is declared by [2]. Given X, Y, and Z are three L bit binary strings (where L represents an even number) as follows:
X = x 1 x 2 x 3 x L ; x { 0 , 1 } , i = 1 , 2 , 3 , , L Y = y 1 y 2 y 3 y L ; y { 0 , 1 } , i = 1 , 2 , 3 , , L Z = z 1 z 2 z 3 z L ; z { 0 , 1 } , i = 1 , 2 , 3 , , L
The bit-wise crossover rearrangement operation is divided into two steps. The processes that perform adjacent parity XOR on the strings X and Y are executed first. In the second step, the output produced by the first step’s operation is subjected to a bit-wise rearrangement operation. In the following, these two steps are described in more detail:
  • XOR operation on a neighboring even–odd crossing XOR operation: This particular operation process entails performing an XOR operation on the value of the odd bit of X and the value of the next even bit of Y, as well as an XOR operation on the value of the even bit of X and the value of the next odd bit of Y. If i is odd, Z i is computed as Z i = X i Y i + 1 , and if i is even, Z i is computed as Z i = X i Y i 1 . After completing this phase, the binary string Z can be represented as Z = Z 1 Z 2 Z i Z L , which equals to Z = X 1 Y 2 X 2 Y 1 X L 1 Y L X L Y L 1 .
  • Self-combination crossover rearrangement procedure: At this stage, the bits resulting from XOR of X and Y based on the relations explained above, represented by Z, are rearranged according to the following pattern and form the final output of the operation, which is C r o ( X , Y ) . Given X and Y are 8-bit strings, C r o ( X , Y ) is computed as C r o ( X , Y ) 0 = Z 3 , C r o ( X , Y ) 1 = Z 4 , C r o ( X , Y ) 2 = Z 2 , C r o ( X , Y ) 3 = Z 5 , C r o ( X , Y ) 4 = Z 1 , C r o ( X , Y ) 5 = Z 6 , and C r o ( X , Y ) 7 = Z 7 . Figure 1 illustrates a recap of these procedures.

3.3. Protocol Description

CRUSAP includes three main entities, tags, (mobile) readers, and the cloud server. Following [2], Section 3.2, both channels between the reader and the tag and the reader and the server are wireless and insecure. It is worth noting the cloud server is connected to a database over the secure channel. This protocol is briefly reviewed in this section in two phases: Registration Phase and Authentication Phase.
Registration Phase: In this phase of CRUSAP, the cloud server stores the shared secret and information of tags and readers, including T I D S o l d , T I D S n e w , R I D S , and a mapping table I D T , which uses T I D S R I D S as an index to find the related K T and K R necessary for verification. The tag also stores T I D S and K T ( K 1 , K 2 , K 3 ) . Moreover, the reader stores R I D S and K R . It is worth noting that the mapping table I D T will keep the index T I D S o l d R I D S and its content during the previous round of verification.
Authentication Phase: To authenticate a legitimate tag in CRUSAP, the process is as follows:
  • The reader transmits a “Hello” to the tag and asks for verification.
  • As a response, the tag sends its T I D S to the reader.
  • Following receipt of the tag response, the reader generates a random number n 1 using P R N G , then computes a message M 1 = R o t ( C r o ( R I D S , K R ) , n 1 ) and transmits it, along with the T I D S , n 1 , and R I D S , to a cloud server over a public channel.
  • The T I D S R I D S will be queried to the database by the cloud server. The corresponding shared key information K T n e w and K R can be obtained if the match is successful. If not, the database uses the previous version of T I D S o l d R I D S and tries to match it. If it finds a matching, the server receives the crucial data K T o l d and K R from the I D T , which corresponds to T I D S o l d and R I D S ; otherwise, the cloud server will deem this tag to be invalid and will end the verification process. In the case of successful matching, a confirmation message M 2 = R o t ( C r o ( R I D S n 1 , K R ) , K R ) is computed by the cloud server and sent to the reader over a public channel.
  • The reader verifies the received M 2 to successfully authenticate the cloud server and tag. In addition, the reader produces another random number n 2 using P R N G , which is used to compute M 3 = R o t ( C r o ( T I D S , K 1 ) , K 2 ) n 2 and M 4 = C r o ( R o t ( T I D S , K 2 n 2 ) , K 1 ) values. After that, the reader sends M 3 and M 4 to the tag over a public channel.
  • The tag extracts the random number n 2 from M 3 as n 2 = R o t ( C r o ( T I D S , K 1 ) , K 2 ) M 3 and verifies whether M 4 = ? C r o ( R o t ( T I D S , K 2 n 2 ) , K 1 ) to authenticate the reader. Next, the tag calculates and transmits the message M 5 = C r o ( R o t ( K 1 + n 2 , T I D S ) , K 2 ) to the reader over a public channel. If authentication failed, the tag refuses to authenticate it, and the process will end.
  • Once M 5 is received, the reader verifies whether M 5 = ? C r o ( R o t ( K 1 + n 2 , T I D S ) , K 2 ) to authenticate the tag and update its local R I D S and K R . Then, using P R N G , the reader generates a random number n 3 , calculates messages M 6 = R o t ( C r o ( K 3 , n 2 ) , K 2 ) n 3 , M 7 = C r o ( R o t ( K 3 , K 1 n 3 ) , n 2 ) , and sends M 6 M 7 and M 3 M 6 M 7 to the tag and cloud server, respectively, over a public channel. The reader also carries out an updating step as R I D S = R o t ( C o r ( R I D S K 1 , K 2 n 1 ) , K 3 ) and K R = R o t ( C o r ( K R , K 1 ) , n 1 K 2 ) .
  • The cloud server also extracts n 2 from M 3 and extracts n 3 from M 6 , respectively, as n 2 = R o t ( C r o ( T I D S , K 1 ) , K 2 ) M 3 and n 3 = R o t ( C r o ( K 3 , n 2 ) , K 2 ) M 6 and verifies whether M 7 = ? C r o ( R o t ( K 3 , K 1 n 3 ) , n 2 ) to authenticate the reader and the tag and start the update phase if its computed M 7 equals the received M 7 . The updating includes these computations: T I D S o l d = T I D S , T I D S n e w = R o t ( C o r ( T I D S o l d K 2 , K 3 n 2 ) , K 1 n 3 ) , K 1 n e w = R o t ( C o r ( K 1 , n 3 ) , n 2 K 2 ) , K 2 n e w = R o t ( C o r ( K 2 , n 2 ) , n 3 K 3 ) , K 3 n e w = R o t ( C o r ( K 3 , n 2 ) , n 3 K 1 ) , R I D S n e w = R o t ( C o r ( R I D S K 1 , K 2 n 1 ) , K 3 ) , and K R n e w = R o t ( C o r ( K R , K 1 ) , n 1 K 2 ) .
  • Upon the receipt of M 6 M 7 , the tag extracts n 3 from M 6 as n 3 = R o t ( C r o ( K 3 , n 2 ) , K 2 ) M 6 and verifies whether M 7 = ? C r o ( R o t ( K 3 , K 1 n 3 ) , n 2 ) to authenticate the reader and carry out the update phase as: T I D S = R o t ( C o r ( T I D S o l d K 2 , K 3 n 2 ) , K 1 n 3 ) , K 1 = R o t ( C o r ( K 1 , n 3 ) , n 2 K 2 ) , K 2 = R o t ( C o r ( K 2 , n 2 ) , n 3 K 3 ) , K 3 = R o t ( C o r ( K 3 , n 2 ) , n 3 K 1 ) .

4. Security Analysis of CRUSAP

In this part, we first provide a de-synchronization attack that may be used against any chosen C r o ( . ) function that reveals a vulnerability in the way CRUSAP was designed. The security flaw in the C r o ( · ) function will then be discussed. Then, a secret disclosure attack against CRUSAP is described to exploit that flaw.

4.1. De-Synchronization Attack

CRUSAP updates the tag’s index after each successful session to avoid traceability and also provides forward secrecy. However, the reader is the only party that contributes to the protocol’s exchanged messages’ randomness. Hence, it is possible to apply the proposed attack by Safkhani et al. [17] on this protocol as follows, assuming that the current records of the tag is ( T I D S i , K 1 i , K 2 i , K 3 i ) .
  • The adversary eavesdrops a session between the tag and the reader and stores T I D S i , M 3 i = R o t ( C r o ( T I D S i , K 1 i ) , K 2 i ) n 2 i , M 4 i = C r o ( R o t ( T I D S i , K 2 i n 2 i ) , K 1 i ) , M 5 i = C r o ( R o t ( K 1 i + n 2 i , T I D S i ) , K 2 i ) , M 6 i = R o t ( C r o ( K 3 i , n 2 i ) , K 2 i ) n 3 i and M 7 i = C r o ( R o t ( K 3 i , K 1 i n 3 i ) , n 2 i ) , where n 1 i , n 2 i , and n 3 i are random values generated in i t h session by the reader. However, the session is terminated by blocking M 6 i and M 7 i , which means that the tag will not update its records. Hence, the tag record is still ( T I D S i , K 1 i , K 2 i , K 3 i ) , but the cloud server has ( T I D S i , K 1 i , K 2 i , K 3 i ) and ( T I D S i + 1 , K 1 i + 1 , K 2 i + 1 , K 3 i + 1 ) , where, for example, T I D S i + 1 = R o t ( C r o ( T I D S i K 2 i , K 3 i n 2 i ) , K 1 i n 3 i ) .
  • The adversary allows another session between the tag and the reader, where the communicated messages are T I D S i , M 3 i + 1 , M 4 i + 1 , M 5 i + 1 , M 6 i + 1 , and M 7 i + 1 , which are computed using n 1 i + 1 , n 2 i + 1 , and n 3 i + 1 , which are random values generated in i + 1 t h session by the reader. However, the session is again terminated by blocking M 6 i + 1 and M 7 i + 1 . It means that the tag will not update its records. Hence, the tag record is still ( T I D S i , K 1 i , K 2 i , K 3 i ) , but the cloud server has ( T I D S i , K 1 i , K 2 i , K 3 i ) and ( T I D S i + 2 , K 1 i + 2 , K 2 i + 2 , K 3 i + 2 ) , where, for example, T I D S i + 2 = R o t ( C r o ( T I D S i K 2 i , K 3 i n 2 i + 1 ) , K 1 i n 3 i + 1 ) .
  • The adversary impersonates the reader toward the tag based on the eavesdropped messages from Step 1 as follows:
    (a)
    The adversary transmits a message ("hello") to the tag and asks for another round of verification;
    (b)
    As a response, the tag sends its T I D S i ;
    (c)
    Following receipt of the tag response, the adversary sends the stored M 3 i and M 4 i to the tag;
    (d)
    The tag verifies the received M 3 i and M 4 i and computes M 5 i = C r o ( R o t ( K 1 i + n 2 i , T I D S i ) , K 2 i ) to the reader/adversary;
    (e)
    The adversary returns the stored local M 6 i and M 7 i to the tag;
    (f)
    The tag authenticates the adversary as a legitimate reader and updates its records based on n 1 i , n 2 i , and n 3 i . Hence, the tag record is ( T I D S i + 1 , K + 1 ) , but the cloud server has ( T I D S i , K 1 i , K 2 i , K 3 i ) and ( T I D S i + 2 , K 1 i + 2 , K 2 i + 2 , K 3 i + 2 ) , where, for instance, T I D S i + 1 = R o t ( C r o ( T I D S i K 2 i , K 3 i n 2 i ) , K 1 i n 3 i ) , while T I D S i + 2 = R o t ( C r o ( T I D S i K 2 i , K 3 i n 2 i + 1 ) , K 1 i n 3 i + 1 ) .
At the end of the above attack, the cloud server’s records for the tags ( T I D S , K ) does not match the stored record in the tag’s side with a high probability; hence, they have been de-synchronized. The attack complexity is just eavesdropping/impersonating three sessions of the protocol, which shows that the proposed attack does not just have a high chance of success but also a high efficiency.

4.2. C r o ( . ) Security Analysis

In this section, we concentrate on C r o ( X , Y ) and show how by having the output of this function and one of its inputs, e.g., X, the adversary can obtain the other input, i.e., Y. For this purpose, it is enough to carry out the steps shown below in order:
  • As previously stated, the C r o ( X , Y ) relation can be used to calculate the value of Z. As mentioned before, Z is the result of applying XOR to bits of X and Y, which has been converted to C r o ( X , Y ) by an especial rearrangement. Therefore, we can easily achieve Z by changing the bit positions of the C r o ( X , Y ) relation according to the definition stated in Section 3.2.
  • We also know that an XOR relationship can be retrieved if two specific values are known. In other words, if we have the Z and also one of the inputs of the C r o ( X , Y ) function, e.g., X, one can obtain the other input of the C r o ( X , Y ) function i.e., Y. In other words, in the C r o ( X , Y ) function, Y different bits are calculated based on Y i = Z i + 1 X i + 1 . As a result, Figure 2 shows how this process is completed.
In the next section of this paper, we will present a secret disclosure attack on CRUSAP based on this weakness of C r o ( · ) .

4.3. Secret Disclosure Attack

Secret disclosure attack is a powerful security attack in which the adversary tries to discover one or more secret values used in the protocol. It is obvious that after applying the full secret disclosure attack, it is possible to perform many other attacks, such as impersonating one of the parties involved in the protocol and so on.

Secret Disclosure Attack on CRUSAP

In this section, we demonstrate how Wang et al.’s protocol is vulnerable to a secret disclosure attack. The proposed secret disclosure attack runs in two phases:
Learning phase: In this phase of the attack, the adversary eavesdrops the transferred messages over public channels in one run of CRUSAP and retrieved the exchanged messages in CRUSAP such as M 1 , R I D S , n 1 , and M 2 K T K R . In other words, all the required information for the attack is transferred over a public channel and can be captured by the adversary.
It is worth noting that the messages are transmitted in the insecure channel as they are, and everyone, including the adversary, can obtain those messages. On the other hand, a secure channel is a channel in which the adversary or any unauthorized person has no access to the messages exchanged in this channel and cannot obtain information about them. The channels that are used in the registration phase are usually of the secure type, and the channels that are usually used in the authentication phase are of the insecure type. In this section, we are facing an insecure channel used in the authentication phase of CRUSAP, in which the adversary can easily eavesdrop and obtain all the exchanged messages in this channel.
Secret disclosure phase: For this phase of the attack, it is enough if the adversary does as follows:
  • Given M 1 = R o t ( C r o ( R I D S , K R ) , n 1 ) and n 1 , conduct R o R ( M 1 , n 1 ) , which equals to
    C r o ( R I D S , K R ) . For the simplicity, the value of C r o ( R I D S , K R ) is called B, i.e., B = C r o ( R I D S , K R ) .
  • Given R I D S and B = C r o ( R I D S , K R ) , it can be easily seen that the secret value of K R can be calculated after rearranging B using the equation introduced in Section 3. Figure 3 shows an example of the implementation of our proposed secret disclosure attack against CRUSAP for L = 8 bit values.
  • Since the adversary retrieved K T K R message in the learning phase of the attack, now with disclosing K R , it is possible to retrieve K T as K T = K T K R K R .
  • By obtaining K R and K T and also having R I D S and T I D S from the exchanged messages, other types of attacks can be applied to the protocol. The complexity of the attack described in this section is only one run of the protocol, and the adversary can perform this attack with a success probability of one.

4.4. Implementation of the Proposed Secret Disclosure Attack against CRUSAP with C#

(1) Calculation of CRUSAP main exchanged messages:
In this section, given L = 32 bits for R I D S and K R , we can compute CRUSAP exchanged messages, such as M 1 , as follows:
  • R I D S = 0 1 1 1 0 1 1 0, 0 1 1 1 0 1 1 0, 0 1 0 0 0 1 1 1, 1 1 0 0 0 1 1 0;
  • K R = 1 0 1 0 0 1 0 0, 0 1 1 0 0 0 0 1, 1 0 1 0 0 1 0 0, 0 1 1 0 0 0 0 1;
  • K T = 1 0 0 0 1 1 0 1, 0 1 1 1 1 1 1 0, 0 1 1 0 0 1 1 1, 1 1 0 0 1 0 0 1;
  • Z = S p e c i a l X O R ( R I D S , K R ) = 0 0 1 0 1 1 1 0, 1 1 1 0 0 1 0 0, 0 0 0 1 1 1 1 1, 0 1 0 1 0 1 0 0;
  • C r o ( R I D S , K R ) = 0 1 1 1 1 1 0 0, 0 0 1 1 0 0 0 0, 0 0 1 1 1 1 1 1, 0 1 0 1 0 1 0 0;
  • n 1 = 4;
  • M 1 = R o t ( C r o ( R I D S , K R ) , n 1 ) = 0 1 0 0 0 1 1 1, 1 1 0 0 0 0 1 1, 0 0 0 0 0 0 1 1, 1 1 1 1 0 1 0 1;
  • K T K R = 0 0 1 0 1 0 0 1, 0 0 0 1 1 1 1 1, 1 1 0 0 0 0 1 1, 1 0 1 0 1 0 0 0.
In the following step, we demonstrate how to calculate the value of K R and K T following the secret disclosure attack explained in Section 4.3.
(2) Disclosure of K R and K T :
Given L = 32 bits values for M 1 and R I D S and a known n 1 , it can be easily seen that we can compute K R and K T following the steps described in Section 4.3. It worth noting that M 1 , R I D S , K T K R , and n 1 are accessible from the exchanged messages in the insecure channel of the protocol, which we assume are as follows:
  • M 1 = 0 1 0 0 0 1 1 1, 1 1 0 0 0 0 1 1, 0 0 0 0 0 0 1 1, 1 1 1 1 0 1 0 1;
  • K T K R = 0 0 1 0 1 0 0 1, 0 0 0 1 1 1 1 1, 1 1 0 0 0 0 1 1, 1 0 1 0 1 0 0 0;
  • R I D S = 0 1 1 1 0 1 1 0, 0 1 1 1 0 1 1 0, 0 1 0 0 0 1 1 1, 1 1 0 0 0 1 1 0;
  • n 1 = 4; then, we can carry out the following:
  • Computing R o R ( M 1 , n 1 ) = 0 1 1 1 1 1 0 0, 0 0 1 1 0 0 0 0, 0 0 1 1 1 1 1 1, 0 1 0 1 0 1 0 0 = C r o ( R I D S , K R ) ;
  • Obtaining Z from the rearrangement of C r o ( R I D S , K R ) as 0 0 1 0 1 1 1 0, 1 1 1 0 0 1 0 0, 0 0 0 1 1 1 1 1, 0 1 0 1 0 1 0 0;
  • Then, since Z = S p e c i a l X O R ( R I D S , K R ) , given Z and R I D S , we can compute K R as 1 0 1 0 0 1 0 0, 0 1 1 0 0 0 0 1, 1 0 1 0 0 1 0 0, 0 1 1 0 0 0 0 1;
  • Then, K T is calculated as K T = K T K R K R = 1 0 0 0 1 1 0 1, 0 1 1 1 1 1 1 0, 0 1 1 0 0 1 1 1, 1 1 0 0 1 0 0 1.
It can be seen the retrieved values for K R and K T , respectively, equal our assumptions of K R and K T . Therefore, these implementations also showed that our proposed secret disclosure attack is practical and feasible.

5. ESRAS

ESRAS [3] is another ultra-lightweight authentication protocol that was recently proposed by Shariq et al. This scheme uses an ultra-lightweight operation called R a n k ( X , Y ) as the core of non-linearity to achieve desired diffusion and confusion, where X and Y are strings of bits as follows:
X = x 1 x 2 x n Y = y 1 y 2 y n
We describe this operation in this section first because it is crucial to understand the functionality of ESRAS. Through description, similar to the designers, we use the following strings for X and Y:
X = 11000111101011101100011110011011 Y = 10111101110101100011110111000010
R a n k ( X , Y ) uses several other operations as follows:
  • r a n k ( X ) : returns the number of bits of X that are 1, e.g., for the provided example r a n k ( X ) = 20 and r a n k ( Y ) = 19 ;
  • n u l l i t y ( X ) : returns the number of bits of X that are 0, e.g., for the provided example n u l l i t y ( X ) = 12 and n u l l i t y ( Y ) = 13 ; it is obvious r a n k ( x ) + n u l l i t y ( x ) = l e n g t h ( x ) ;
  • R o t ( X , Y ) : String X is left rotated by r a n k ( Y ) , for the given example r a n k ( Y ) = 19 and R o t ( X , Y ) = 00111100110111100011110101110110 ;
  • G r o u p p i n g ( X ) : The string X is divided into X 1 X 2 based on r a n k ( X ) , and this partitioning is continued as far as | X i | > T h , where T h is a threshold value and suggested to be greater than 5. We will discuss G r o u p p i n g ( X ) in Section 6.2 in more detail;
  • S w a p p i n g ( X ) : Assuming that the string X has been partitioned based on r a n k ( X ) and n u l l i t y ( X ) into X 1 X 2 then S w a p p i n g ( X 1 X 2 ) = X = X 2 X 1 .
Based on these operations, R a n k ( X , Y ) is computed as
G r o u p p i n g ( X ) = X G r o u p p i n g ( Y ) = Y S w a p p i n g ( X ) = X = x m + 1 x m + 2 x n x 1 x 2 x m ; w h e r e m = r a n k ( X ) S w a p p i n g ( Y ) = Y = y m + 1 y m + 2 y y y 1 y 2 y m ; w h e r e m = r a n k ( Y ) R a n k ( X , Y ) = X Y

Protocol Description

The ESRAS protocol has two entities, i.e., RFID tag and the reader–server unit, and it includes two phases, i.e., initialization phase and authentication phase. It is worth noting that the channel between the tag and the reader–server is insecure, but the reader-to-sever communication considered over a secure channel.
In the initialization phase of ESRAS, for each tag T , an identifier I D , a tag’s index I D S , and two secret keys K 1 and K 2 are generated by the manufacturer and stored in the tag’s internal memory and in the server side (BS). In addition, two records for I D S are considered in BS as I D S o l d = I D S and I D S n e w = N u l l .
The authentication phase of ESRAS is as follows, in which all messages are transferred over a public channel:
  • The reader sends a Hello message to the tag.
  • The tag in response returns its I D S .
  • The reader generates a random number R 1 and computes A = R a n k ( R o t ( K 1 , K 2 ) , K 1 ) R 1 and B = R a n k ( R o t ( K 1 , R 1 ) , K 1 K 2 ) R o t ( R a n k ( K 2 , R 1 K 2 ) , K 1 ) and sends { A B R o r L } to the tag. For sending messages, B L and B R , respectively, denote the left and the right halves of B. If r a n k ( B ) is odd, then B L is sent; otherwise, B R is sent.
  • Once the message is received, the tag extracts R 1 from A and verifies B R o r L . Assuming that the verification was successful, the tag computes C = R a n k ( R a n k ( K 1 K 2 , R 1 ) , R a n k ( R 1 , K 2 ) ) I D and sends it to the reader.
  • The reader verifies the received C to authenticate the tag and update I D S o l d = I D S and I D S n e w = R a n k ( R o t ( R a n k ( I D S R 1 , K 1 ) , K 2 ) ) . Next, it generates a random value R 2 and calculates D = R a n k ( R 1 , K 1 K 2 ) R a n k ( K 1 , K 2 ) R 2 and E = R a n k ( R o t ( R o t ( R 2 , R 2 ) , K 2 ) , I D S n e w ) R o t ( R a n k ( R 1 , R 1 ) , R 2 K 2 ) . Finally, the reader sends { D , E R o r L } to the tag.
  • Once the message { D , E } is received, the tag extracts R 2 from D, computes I D S n e w = R a n k ( R o t ( R a n k ( I D S R 1 , K 1 ) , K 2 ) ) , and verifies E R o r L . Assuming that the verification was successful, the reader is authenticated, and I D S is updated to I D S n e w .

6. Security Analysis of ESRAS

In this section, we provide a more detailed security analysis of ESRAS. More precisely, while the authors claimed full diffusion and confusion by the introduced component R a n k ( X , Y ) , and based on it, they claimed security against de-synchronization attacks and secret disclosure attacks, we show that the R a n k ( X , Y ) does not provide the expected diffusion and confusion. In addition, we show that despite of the used R a n k ( X , Y ) , ESRAS suffers from the de-synchronization attack. Finally, we apply a successful secret disclosure attack on it.

6.1. De-Synchronization Attack

ESRAS updates the tag’s index after each successful session to avoid traceability and also provides forward secrecy. However, the reader is the only party that contributes to the protocol’s exchanged messages randomness. Hence, it is possible to apply the proposed attack by Safkhani et al. [17] on this protocol as follows, assuming that the current index of the tag is I D S i :
  • The adversary eavesdrops a session between the tag and the reader and stores I D S i , { A B L o r R } i , C i , { D E L o r R } i but blocks { D E L o r R } i and does not allow the tag to update its I D S i . Hence, the tag’s records of I D S is I D S i , but the reader has I D S o l d = I D S i and I D S n e w = R a n k ( R o t ( R a n k ( I D S R 1 i , K 1 ) , K 2 ) ) , where R 1 i is a random value generated in i t h session by the reader.
  • The adversary allows another session between the tag and the reader, where the communicated messages are I D S i , { A B L o r R } i + 1 , C i + 1 , { D E L o r R } i + 1 ; however, again, the adversary blocks { D E L o r R } i + 1 and does not allow the tag to update its I D S i . Hence, the tag’s records of I D S is I D S i yet but the reader has I D S o l d = I D S i and I D S n e w i = R a n k ( R o t ( R a n k ( I D S R 1 i + 1 , K 1 ) , K 2 ) ) , where R 1 i + 1 is a random value generated in i + 1 t h session by the reader.
  • The adversary impersonates the reader toward the tag based on the eavesdropped messages from Step 1 as follows, i.e., I D S i , { A B L o r R } i , C i , { D E L o r R } i :
    (a)
    The adversary sends a Hello message to the tag;
    (b)
    The tag returns its I D S i ;
    (c)
    The adversary sends { A B L o r R } i to the tag;
    (d)
    Once the message is received, the tag extracts R 1 i from A i and verifies B R o r L i . The verification will be successful, and the tag computes C i = R a n k ( R a n k ( K 1 K 2 , R 1 i ) , R a n k ( R 1 i , K 2 ) ) I D and sends it to the reader/adversary;
    (e)
    The adversary sends { D , E R o r L } i to the tag;
    (f)
    Once the message { D , E } i is received, the tag extracts R 2 i from D i , computes I D S n e w i + 2 = R a n k ( R o t ( R a n k ( I D S R 1 i , K 1 ) , K 2 ) ) , and verifies E R o r L i . Assuming that the verification was successful, the reader is authenticated, and I D S is updated to I D S n e w .
At the end of the above procedure, the reader’s records for the tag’s index are I D S o l d = I D S i and I D S n e w i = R a n k ( R o t ( R a n k ( I D S R 1 i + 1 , K 1 ) , K 2 ) ) , while the tag’s record is I D S n e w i + 2 = R a n k ( R o t ( R a n k ( I D S R 1 i , K 1 ) , K 2 ) ) , where R 1 i and R 1 i + 1 are two independent random values generated, respectively, by the reader in i t h and i + 1 t h sessions. Hence, with the probability of 1 2 l , we have R 1 i R 1 i + 1 and with the same probability I D S n e w i + 1 I D S n e w i + 2 . Since the probability for I D S n e w i + 1 I D S i is also the same, the success probability of the proposed attack is 1 2 l + 1 . The attack complexity is just eavesdropping/impersonating three sessions of the protocol, which shows that the proposed attack not only has a high chance of success but also a high efficiency. This attack contradicts the designer’s claim against the protocol’s security against a de-synchronization attack in [3].

6.2. On the Cryptographic Properties of R a n k ( X , Y )

As it has been mentioned already, designers also used the operation G r o u p p i n g ( X ) = X through the computation of R a n k ( X , Y ) , in which the string X is divided into X 1 X 2 based on R a n k ( X ) , and this partitioning is continued as far as | X i | > T h , where T h is a threshold value and suggested to be greater than 5. To understand G r o u p p i n g ( X ) , the authors provided a numerical example [3] (Figure 1) based on T h = 6 . Following that example, it is clear G r o u p p i n g ( X ) = X = X . The provided example for G r o u p p i n g ( X ) = X = X in [3] (Figure 2) also confirms that G r o u p p i n g ( X ) = X = X . Hence, we can omit the description of this operation. Following this, we can state that R a n k ( X , Y ) = X Y , where X is the bitwise complement of the string X. On the other hand, for any bit x i , we can state that x i = 1 x i and x i y i = 1 x i 1 y i . Hence, R a n k ( X , Y ) = X Y .
To accomplish S w a p p i n g ( X ) , assuming that X = x 1 x 2 x n and r a n k ( X ) = m , it is computed as S w a p p i n g ( X ) = X = x m + 1 x m + 2 x n x 1 x 2 x m . Hence, given that X = G r o u p p i n g ( X ) = X and S w a p p i n g ( X ) = X = x m + 1 x m + 2 x n x 1 x 2 x m and assuming that r a n k ( X ) = m and r a n k ( Y ) = m , then:
S w a p p i n g ( X ) = X = x m + 1 x m + 2 x n x 1 x 2 x m S w a p p i n g ( Y ) = Y = y m + 1 y m + 2 y y y 1 y 2 y m R a n k ( X , Y ) = X Y = ( x m + 1 x m + 2 x n x 1 x 2 x m ) ( x m + 1 x m + 2 x n x 1 x 2 x m )
Given the definition of R o t ( X , Y ) and R a n k ( X , Y ) , we can represent R a n k ( X , Y ) as follows:
R a n k ( X , Y ) = R o t ( X , X ) R o t ( Y , Y )
It shows that R a n k ( X , Y ) does not provide the desired diffusion and confusion. More precisely, for R a n k ( X , Y ) , they claimed that it provides full diffusion, while if it provides full diffusion, then any modification in input should change any bit of the output with the probability of 0.5 . However, for the given R a n k ( X 1 , Y ) , consider the case where for the string X 1 , we have x 1 x 2 = 10 ; thus, changing those bits into 01 to create X 2 does not affect r a n k ( X 2 ) compared to r a n k ( X 1 ) . Additionally, R a n k ( X 2 , Y ) is identical to R a n k ( X 1 , Y ) in all n 2 bits that are not affected by those bits, and those bits of R a n k ( X 2 , Y ) and R a n k ( X 1 , Y ) complement each other exactly. It means that r a n k ( R a n k ( X 2 , Y ) R a n k ( X 1 , Y ) ) = 2 with the probability of 1. In addition, from R a n k ( X 2 , Y ) R a n k ( X 1 , Y ) , without the knowledge of X 1 or Y, the adversary can identify r a n k ( X ) , which contradicts another claim of the designers in which the claimed R a n k ( X , Y ) does not leak any information related to input values.
As another property of R a n k ( X , Y ) , designers claimed that it is a one-way function, and given R a n k ( X , Y ) and Y for instance, it is not possible to determine X. However, given Y, the adversary easily computes:
S w a p p i n g ( Y ) = Y = y m + 1 y m + 2 y n y 1 y 2 y m
Given Y , X is computed as X = R a n k ( X , Y ) Y . On the other hand, X = S w a p p i n g ( X ) = x m + 1 x m + 2 x n x 1 x 2 x m and r a n k ( X ) = r a n k ( X ) = m . Hence, given X = x 1 x n , it is possible to invert the S w a p p i n g ( · ) and determine X as follows, where S w a p p i n g 1 ( · ) is used to denote the inverse of S w a p p i n g ( · ) :
S w a p p i n g 1 ( X ) = X = x n m x n m + 1 x n x 1 x 2 x m
Hence, given R a n k ( X , Y ) and Y for instance, X is determined uniquely; vice versa, given R a n k ( X , Y ) and X for instance, Y is determined uniquely, which contradicts the designers’ claim in [3], Section 3.2.

6.3. Secret Disclosure Attack

While the proposed attack in Section 6.1 works for any R a n k ( · ) function and shows a structural flaw in the designed ESRAS, in Section 6.2, we described undesired properties of R a n k ( · ) , which are used in this section to mount a more dedicated attack. The proposed attack in this section is a secret disclosure attack that reveals confidential information of a given tag. During the proposed attack, we use the fact that r a n k ( X ) = r a n k ( X ) , then R o t ( Y , X ) = R o t ( Y , X ) .
The computed message through a session of the protocol are:
A = R a n k ( R o t ( K 1 , K 2 ) , K 1 ) R 1 B = R a n k ( R o t ( K 1 , R 1 ) , K 1 K 2 ) R o t ( R a n k ( K 2 , R 1 K 2 ) , K 1 ) C = R a n k ( R a n k ( K 1 K 2 , R 1 ) , R a n k ( R 1 , K 2 ) ) I D I D S n e w = R a n k ( R o t ( R a n k ( I D S R 1 , K 1 ) , K 2 ) ) D = R a n k ( R 1 , K 1 K 2 ) R a n k ( K 1 , K 2 ) R 2 E = R a n k ( R o t ( R o t ( R 2 , R 2 ) , K 2 ) , I D S n e w ) R o t ( R a n k ( R 1 , R 1 ) , R 2 K 2 )
and the messages are transferred over a public channel. I D S , { A B R o r L } , C and { D , E R o r L } are accessible by the adversary. In addition, I D S is updated at the end of each successful authentication.
Consider the transferred messages in the i t h and j t h sessions. Given that K 1 and K 2 are constant values for each tag and provided A i and A j , we can state that:
A i A j = [ R a n k ( R o t ( K 1 , K 2 ) , K 1 ) R 1 i ] [ R a n k ( R o t ( K 1 , K 2 ) , K 1 ) R 1 j ] = R 1 i R 1 j
On the other hand, assuming that r a n k ( R 1 i ) = r a n k ( R 1 j ) , then R a n k ( R o t ( K 1 , R 1 i ) , K 1 K 2 ) = R a n k ( R o t ( K 1 , R 1 j ) , K 1 K 2 ) . In addition, if r a n k ( R 1 i K 2 ) = r a n k ( R 1 j K 2 ) and r a n k ( R 1 i ) = r a n k ( R 1 j ) , then r a n k ( A i A j ) = r a n k ( B i B j ) .
Let us assume the adversary has stored I D S i , { A i B R o r L i } , C i , and { D i , E R o r L i } for a session and blocked the last message to the tag. Thus, the tag’s record for its index is still I D S i . Let us assume the adversary flips two bits of A i to achieve A i , e.g., a x i and a y i , such that | x y | = l 2 , where l is the parameter length. In this case, assuming that r a n k ( R 1 i K 2 ) = r a n k ( R 1 j K 2 ) and r a n k ( R 1 i ) = r a n k ( R 1 j ) , then considering B i corresponds to A i , we have r a n k ( B L i B L i ) = 1 and r a n k ( B R i B R i ) = 1 , and the probability of switching from left to right or vice versa in the required part of B i is 2 l and remains the same with the probability of 1 2 l . Hence, if the adversary sends { A i B R o r L i } to the tag such that A i is computed by flipping two bits of A i , as mentioned above, and B R o r L i is computed by flipping a chosen bit of B R o r L i , with the probability of ( 1 2 l ) 1 2 × 1 2 × 1 l / 2 , the sent message will be accepted by the tag, and the tag will return a response for C. Assuming that the tag returned a response, it means that the provided conditions were held. Hence, we can conclude that ( R a n k ( R o t ( K 1 , K 2 ) , K 1 ) ) i ( R a n k ( R o t ( K 1 , K 2 ) , K 1 ) ) j = 1 , where ( R a n k ( R o t ( K 1 , K 2 ) , K 1 ) ) i and ( R a n k ( R o t ( K 1 , K 2 ) , K 1 ) ) j , respectively, denote i t h and j t h bits of R a n k ( R o t ( K 1 , K 2 ) , K 1 ) . In this way, the adversary could achieve a single bit of information related to the secret parameters. The adversary can eavesdrop more I D S , { A B R o r L } , C, and { D , E R o r L } and repeat the attack to extract whole ( R a n k ( R o t ( K 1 , K 2 ) , K 1 ) ) i . The expected complexity (in the term of sessions) of the attack is as follows:
l × 1 ( 1 2 l ) 1 2 × 1 2 × 1 l / 2 × l = 1 ( 1 2 l ) 1 2 × 1 2 × 1 l / 2
Given ( R a n k ( R o t ( K 1 , K 2 ) , K 1 ) ) i and eavesdropped A values, R 1 values are achievable. Then, from that information and the given values of B R o r L on each session, the adversary can develop a linear equation system to extract K 1 and K 2 . Following it and given C, it is possible to extract I D , which completes the secret disclosure attack on ESRAS.

7. Conclusions

Over the years, many ultra-authentication schemes have been proposed; however, unfortunately, all of those protocols are not secure. These protocols are commonly vulnerable to a variety of attacks, such as secret disclosure, de-synchronization, and impersonation attacks. This paper, similar to other papers in this field, once again showed that the ultra-lightweight operations, e.g., a limited number of bitwise operations, such as AND, OR, and XOR, are not enough to design a completely safe security protocol. This is why they are linear reversible operations.
In this paper, we proposed a de-synchronization attack and a secret disclosure attack against Wang et al.’s ultra-lightweight protocol called CRUSAP, with a success probability of one. We also show security vulnerabilities of ESRAS against de-synchronization and secret disclosure attacks.

Author Contributions

M.R.S.: Conceptualization, Methodology, Validation, Writing; M.S.: Experimentation, Validation, Writing—review and editing; M.H.M.: Experimentation, Validation, review and editing; S.A.: Conceptualization, Methodology, Experimentation, Validation, Writing—review and editing; O.H.A.: Experimentation, Validation, Writing—review and editing; M.H.: Methodology, Designing, Experimentation, Validation, Supervision, Review, Funding and editing; A.H.M.: Experimentation, Designing, Validation, Writing—review and editing. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

This manuscript does not contain any studies with human participants or animals performed by any of the authors.

Data Availability Statement

For any supplementary material, please contact the corresponding authors.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

RFIDRadio Frequency IDentification
IoTInternet of Things
MIoTMedical Internet of Things
ECCElliptic Curve Cryptography
RSARivest-Shamir-Adleman Public-key Encryption Algorithm
I D The tag unique identifier
I D S The tag’s pseudonym
R I D S The reader’s pseudonym
CRCCyclic Redundancy Code checksum
PRNGPseudo Random Number Generator

References

  1. Chien, H.Y. SASI: A New Ultralightweight RFID Authentication Protocol Providing Strong Authentication and Strong Integrity. IEEE Trans. Dependable Secur. Comput. 2007, 4, 337–340. [Google Scholar] [CrossRef]
  2. Wang, X.; Fan, K.; Yang, K.; Cheng, X.; Dong, Q.; Li, H.; Yang, Y. A new RFID ultra-lightweight authentication protocol for medical privacy protection in smart living. Comput. Commun. 2022, 186, 121–132. [Google Scholar] [CrossRef]
  3. Shariq, M.; Singh, K.; Lal, C.; Conti, M.; Khan, T. ESRAS: An efficient and secure ultra-lightweight RFID authentication scheme for low-cost tags. Comput. Netw. 2022, 217, 109360. [Google Scholar] [CrossRef]
  4. Ain, Q.U.; Mahmood, Y.; Mujahid, U. Cryptanalysis of mutual ultralightweight authentication protocols: SASI & RAPP. In Proceedings of the 2014 International Conference on Open Source Systems & Technologies, Lahore, Pakistan, 18–20 December 2014; IEEE: Piscataway, NJ, USA, 2014; pp. 136–145. [Google Scholar]
  5. Tian, Y.; Chen, G.; Li, J. A new ultralightweight RFID authentication protocol with permutation. IEEE Commun. Lett. 2012, 16, 702–705. [Google Scholar] [CrossRef]
  6. Tewari, A.; Gupta, B.B. Cryptanalysis of a novel ultra-lightweight mutual authentication protocol for IoT devices using RFIDtags. J. Supercomput. 2017, 73, 1085–1102. [Google Scholar] [CrossRef]
  7. Wang, K.H.; Chen, C.M.; Fang, W.; Wu, T.Y. On the security of a new ultra-lightweight authentication protocol in IoT environment for RFID tags. J. Supercomput. 2018, 74, 65–70. [Google Scholar] [CrossRef]
  8. Khalid, M.; Mujahid, U.; Najam-ul Islam, M. Cryptanalysis of ultralightweight mutual authentication protocol for radio frequency identification enabled Internet of Things networks. Int. J. Distrib. Sens. Netw. 2018, 14, 1550147718795120. [Google Scholar] [CrossRef] [Green Version]
  9. Huang, S.C.; Tsai, C.W.; Hwang, T. Comment on “Cryptanalysis of a novel ultralightweight mutual authentication protocol for IoT devices using RFID tags”. In Proceedings of the 2018 International Conference on Data Science and Information Technology, Madrid, Spain, 1–2 October 2018; pp. 23–27. [Google Scholar]
  10. Khor, J.H.; Sidorov, M. Weakness of ultra-lightweight mutual authentication protocol for IoT devices using RFlD tags. In Proceedings of the 2018 Eighth International Conference on Information Science and Technology (ICIST), Seville, Spain, 30 June–30 July 2018; IEEE: Piscataway, NJ, USA, 2018; pp. 91–97. [Google Scholar]
  11. Fan, K.; Ge, N.; Gong, Y.; Li, H.; Su, R.; Yang, Y. An ultra-lightweight RFID authentication scheme for mobile commerce. Peer-to-Peer Netw. Appl. 2017, 10, 368–376. [Google Scholar] [CrossRef]
  12. Aghili, S.F.; Mala, H. Security analysis of an ultra-lightweight RFID authentication protocol for m-commerce. Int. J. Commun. Syst. 2019, 32, e3837. [Google Scholar] [CrossRef]
  13. Safkhani, M.; Bagheri, N.; Shariat, M. On the security of rotation operation based ultra-lightweight authentication protocols for RFID systems. Future Internet 2018, 10, 82. [Google Scholar] [CrossRef]
  14. Dass, P.; Om, H. A secure authentication scheme for RFID systems. Procedia Comput. Sci. 2016, 78, 100–106. [Google Scholar] [CrossRef] [Green Version]
  15. Gholami, V.; Alagheband, M.R. Provably privacy analysis and improvements of the lightweight RFID authentication protocols. Wirel. Networks 2020, 26, 2153–2169. [Google Scholar] [CrossRef]
  16. Liu, Y.; Ezerman, M.; Wang, H. Double verification protocol via secret sharing for low-cost RFID tags. Future Gener. Comput. Syst. 2019, 90, 118–128. [Google Scholar] [CrossRef]
  17. Safkhani, M.; Rostampour, S.; Bendavid, Y.; Sadeghi, S.; Bagheri, N. Improving RFID/IoT-based generalized ultra-lightweight mutual authentication protocols. J. Inf. Secur. Appl. 2022, 67, 103194. [Google Scholar] [CrossRef]
  18. Fan, K.; Zhu, S.; Zhang, K.; Li, H.; Yang, Y. A lightweight authentication scheme for cloud-based RFID healthcare systems. IEEE Netw. 2019, 33, 44–49. [Google Scholar] [CrossRef]
  19. Nikkhah, F.; Safkhani, M. LAPCHS: A lightweight authentication protocol for cloud-based health-care systems. Comput. Netw. 2021, 187, 107833. [Google Scholar] [CrossRef]
  20. Gao, M.; Lu, Y. URAP: A new ultra-lightweight RFID authentication protocol in passive RFID system. J. Supercomput. 2022, 78, 10893–10905. [Google Scholar] [CrossRef]
Figure 1. C r o ( · ) computation procedure.
Figure 1. C r o ( · ) computation procedure.
Mathematics 10 04611 g001
Figure 2. C r o ( . ) security analysis.
Figure 2. C r o ( . ) security analysis.
Mathematics 10 04611 g002
Figure 3. An example for proposed secret disclosure attack against CRUSAP.
Figure 3. An example for proposed secret disclosure attack against CRUSAP.
Mathematics 10 04611 g003
Table 1. Notations used in this paper.
Table 1. Notations used in this paper.
SymbolDescription
LThe Length of secret key and message
M i The i t h message was produced by one of three entities involved in the authentication phase
T I D The tag’s distinct static identifying I D
R I D S The reader index pseudo I D for the current session
T I D S The tag index pseudo I D in the current session
T I D S o l d The tag index pseudo I D from the previous session
T I D S n e w The tag index pseudo I D in the next session
n 1 , n 2 , n 3 Random numbers
K R The shared secret key between the reader and the cloud server in the current session
K T A shared key between the tag and the cloud server
K T o l d The previous shared key between the tag and the cloud server
K T n e w The most recent shared key between the tag and the cloud server
K 1 , K 2 , K 3 Subkeys of K T
R o t ( X , Y ) The left rotation of X in the amount of Y used in the CRUSAP
R o R ( X , Y ) The right rotation of X in the amount of Y used in the security analysis of CRUSAP; R o R ( R o t ( X , Y ) , Y ) = X ;
· C r o ( X , Y ) The proposed function in [2]
The bitwise Exclusive-OR operation
P R N G The generator of pseudo random numbers
I D T The mapping table in the cloud server
The strings concatenation operation
I D S i The tag’s pseudonym in the i t h session
r a n k ( X ) The number of bits of X that are 1
n u l l i t y ( X ) The number of bits of X that are 0
R o t ( X , Y ) The left rotation of string X in amount of r a n k ( Y ) in the ESRAS
G r o u p p i n g ( X ) The string X is divided into X 1 X 2 based on r a n k ( X ) , and this partitioning is continued as far as | X i | > T h , where T h is a threshold value and suggested to be greater than 5 in the ESRAS
S w a p p i n g ( X ) Assuming that the string X has been partitioned based on r a n k ( X ) and n u l l i t y ( X ) into X 1 X 2 then S w a p p i n g ( X 1 X 2 ) = X = X 2 X 1
S w a p p i n g 1 ( · ) The inverse of S w a p p i n g ( · )
R a n k ( X , Y ) The special function used in the ESRAS
R 1 i The random value generated in i t h session of ESRAS by the reader
B L , B R The left and right halves of B, respectively
X The bitwise complement of the string X
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Servati, M.R.; Safkhani, M.; Ali, S.; Malik, M.H.; Ahmed, O.H.; Hosseinzadeh, M.; Mosavi, A.H. Cryptanalysis of Two Recent Ultra-Lightweight Authentication Protocols. Mathematics 2022, 10, 4611. https://doi.org/10.3390/math10234611

AMA Style

Servati MR, Safkhani M, Ali S, Malik MH, Ahmed OH, Hosseinzadeh M, Mosavi AH. Cryptanalysis of Two Recent Ultra-Lightweight Authentication Protocols. Mathematics. 2022; 10(23):4611. https://doi.org/10.3390/math10234611

Chicago/Turabian Style

Servati, Mohammad Reza, Masoumeh Safkhani, Saqib Ali, Mazhar Hussain Malik, Omed Hassan Ahmed, Mehdi Hosseinzadeh, and Amir H. Mosavi. 2022. "Cryptanalysis of Two Recent Ultra-Lightweight Authentication Protocols" Mathematics 10, no. 23: 4611. https://doi.org/10.3390/math10234611

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop