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 and , respectively. However, in this paper, we show that those functions are not secure enough to provide the desired security. We show that is linear and reversible, and it is easy to obtain the secret values used in its calculation. Then, by exploiting the vulnerability of the 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 function. We first present a de-synchronization attack that works for any desired function, including Shariq et al.’s proposed function. We also show that does not provide the desired confusion and diffusion that is claimed by the designers. Finally, we conduct a secret disclosure attack against ESRAS.
Keywords:
medical wireless sensor network; ultra-lightweight; secret disclosure attack; Cro(·) function; Rank(·) function MSC:
68P25; 94A62
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. [] 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. [] proposed a new ultra-lightweight RFID authentication protocol based on a new ultra-lightweight function called 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 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., , is linear and reversible, it has important security pitfalls. Then, we use the security vulnerability of 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. [] also proposed a new ultra-lightweight RFID authentication protocol called ESRAS based on a new ultra-lightweight operation called 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 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 function.
- Presenting the security pitfall of operation, which was recently proposed by Wang et al. They used 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 function.
- Analyzing the details of the proposed 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 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 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 , 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 [] is an RFID authentication system based on rotation functions, and several researchers have examined the security of these protocols. For instance, ref. [] demonstrates that the protocols detailed in [,] are suspicious to de-synchronization and secret disclosure attacks. Tewari and Gupta [] suggested another ultra-lightweight authentication scheme based on XOR and Rotation operations, but some research such as [,,] showed that this scheme [] is vulnerable to de-synchronization and secret disclosure attacks. Furthermore, ref. [] introduced a modified version of Tewari and Gupta’s [] scheme, while [] illustrated that their protocol is not secure enough against secret disclosure, de-synchronization, and man-in-the-middle attacks. In 2017, Fan et al. [] proposed another ultra-lightweight authentication scheme named ULRAS, which uses the specific bit operation called the RR method. However, ref. [] showed that their protocol is not secure against secret disclosure attacks and proposed a modified version of []. After that, ref. [] proved that the proposed protocols in [,] suffer from de-synchronization attacks. In this line, another RFID authentication scheme using the hash function and bitwise operations was developed by []. However, [] 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 [] by retaining a minimal level of computational cost in the database and offering a new secure lightweight protocol. Ref. [] proposed a double authentication scheme via secret sharing for low-cost RFID tags, while [] showed that their protocol does not withstand replay and de-synchronization attacks. Furthermore, ref. [] proposed a lightweight authentication scheme for cloud environments, but [] proved that their protocol is suspicious of anonymity and impersonation attacks. Ref. [] 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 function is explained, and then the CRUSAP, in which the function is used as the main function, is described.
3.1. Notations
Throughout the paper, we used notations represented in Table 1.

Table 1.
Notations used in this paper.
3.2. Function
Wang et al. have claimed that 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 operation. To describe , at first, a new bit operation called bit-wise crossover is declared by []. Given X, Y, and Z are three L bit binary strings (where L represents an even number) as follows:
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, is computed as , and if i is even, is computed as . After completing this phase, the binary string Z can be represented as , which equals to .
- 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 . Given X and Y are 8-bit strings, is computed as ,,,,,, and . Figure 1 illustrates a recap of these procedures.

Figure 1.
computation procedure.
3.3. Protocol Description
CRUSAP includes three main entities, tags, (mobile) readers, and the cloud server. Following [], 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 , , , and a mapping table , which uses as an index to find the related and necessary for verification. The tag also stores and . Moreover, the reader stores and . It is worth noting that the mapping table will keep the index 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 to the reader.
- Following receipt of the tag response, the reader generates a random number using , then computes a message and transmits it, along with the , , and , to a cloud server over a public channel.
- The will be queried to the database by the cloud server. The corresponding shared key information and can be obtained if the match is successful. If not, the database uses the previous version of and tries to match it. If it finds a matching, the server receives the crucial data and from the , which corresponds to and ; 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 is computed by the cloud server and sent to the reader over a public channel.
- The reader verifies the received to successfully authenticate the cloud server and tag. In addition, the reader produces another random number using , which is used to compute and values. After that, the reader sends and to the tag over a public channel.
- The tag extracts the random number from as and verifies whether to authenticate the reader. Next, the tag calculates and transmits the message to the reader over a public channel. If authentication failed, the tag refuses to authenticate it, and the process will end.
- Once is received, the reader verifies whether to authenticate the tag and update its local and . Then, using , the reader generates a random number , calculates messages , , and sends and to the tag and cloud server, respectively, over a public channel. The reader also carries out an updating step as and .
- The cloud server also extracts from and extracts from , respectively, as and and verifies whether to authenticate the reader and the tag and start the update phase if its computed equals the received . The updating includes these computations: , , , , , , and .
- Upon the receipt of , the tag extracts from as and verifies whether to authenticate the reader and carry out the update phase as: , , , .
4. Security Analysis of CRUSAP
In this part, we first provide a de-synchronization attack that may be used against any chosen function that reveals a vulnerability in the way CRUSAP was designed. The security flaw in the 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. [] on this protocol as follows, assuming that the current records of the tag is .
- The adversary eavesdrops a session between the tag and the reader and stores , , , , and , where , , and are random values generated in session by the reader. However, the session is terminated by blocking and , which means that the tag will not update its records. Hence, the tag record is still , but the cloud server has and , where, for example, .
- The adversary allows another session between the tag and the reader, where the communicated messages are , , , , , and , which are computed using , , and , which are random values generated in session by the reader. However, the session is again terminated by blocking and . It means that the tag will not update its records. Hence, the tag record is still , but the cloud server has and , where, for example, .
- 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 ;
- (c)
- Following receipt of the tag response, the adversary sends the stored and to the tag;
- (d)
- The tag verifies the received and and computes to the reader/adversary;
- (e)
- The adversary returns the stored local and to the tag;
- (f)
- The tag authenticates the adversary as a legitimate reader and updates its records based on , , and . Hence, the tag record is , but the cloud server has and , where, for instance, , while .
At the end of the above attack, the cloud server’s records for the tags 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. Security Analysis
In this section, we concentrate on 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 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 by an especial rearrangement. Therefore, we can easily achieve Z by changing the bit positions of the 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 function, e.g., X, one can obtain the other input of the function i.e., Y. In other words, in the function, Y different bits are calculated based on . As a result, Figure 2 shows how this process is completed.

Figure 2.
security analysis.
In the next section of this paper, we will present a secret disclosure attack on CRUSAP based on this weakness of .
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 , , , and . 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 and , conduct , which equals to. For the simplicity, the value of is called B, i.e., .
- Since the adversary retrieved message in the learning phase of the attack, now with disclosing , it is possible to retrieve as .
- By obtaining and and also having and 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.

Figure 3.
An example for proposed secret disclosure attack against CRUSAP.
4.4. Implementation of the Proposed Secret Disclosure Attack against CRUSAP with C#
(1) Calculation of CRUSAP main exchanged messages:
In this section, given bits for and , we can compute CRUSAP exchanged messages, such as , as follows:
- 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;
- 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;
- 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;
- 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;
- 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;
- 4;
- 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;
- 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 and following the secret disclosure attack explained in Section 4.3.
(2) Disclosure of and :
Given bits values for and and a known , it can be easily seen that we can compute and following the steps described in Section 4.3. It worth noting that , , , and are accessible from the exchanged messages in the insecure channel of the protocol, which we assume are as follows:
- 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;
- 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;
- 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;
- 4; then, we can carry out the following:
- Computing 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;
- Obtaining Z from the rearrangement of 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 , given Z and , we can compute 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, is calculated as 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 and , respectively, equal our assumptions of and . Therefore, these implementations also showed that our proposed secret disclosure attack is practical and feasible.
5. ESRAS
ESRAS [] is another ultra-lightweight authentication protocol that was recently proposed by Shariq et al. This scheme uses an ultra-lightweight operation called as the core of non-linearity to achieve desired diffusion and confusion, where X and Y are strings of bits as follows:
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:
uses several other operations as follows:
- : returns the number of bits of X that are 1, e.g., for the provided example and ;
- : returns the number of bits of X that are 0, e.g., for the provided example and ; it is obvious ;
- : String X is left rotated by , for the given example and ;
- : The string X is divided into based on , and this partitioning is continued as far as , where is a threshold value and suggested to be greater than 5. We will discuss in Section 6.2 in more detail;
- : Assuming that the string has been partitioned based on and into then .
Based on these operations, is computed as
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 , an identifier , a tag’s index , and two secret keys and are generated by the manufacturer and stored in the tag’s internal memory and in the server side (BS). In addition, two records for are considered in BS as and .
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 .
- The reader generates a random number and computes and and sends to the tag. For sending messages, and , respectively, denote the left and the right halves of B. If is odd, then is sent; otherwise, is sent.
- Once the message is received, the tag extracts from A and verifies . Assuming that the verification was successful, the tag computes and sends it to the reader.
- The reader verifies the received C to authenticate the tag and update and . Next, it generates a random value and calculates and . Finally, the reader sends to the tag.
- Once the message is received, the tag extracts from D, computes , and verifies . Assuming that the verification was successful, the reader is authenticated, and is updated to .
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 , and based on it, they claimed security against de-synchronization attacks and secret disclosure attacks, we show that the does not provide the expected diffusion and confusion. In addition, we show that despite of the used , 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. [] on this protocol as follows, assuming that the current index of the tag is :
- The adversary eavesdrops a session between the tag and the reader and stores but blocks and does not allow the tag to update its . Hence, the tag’s records of is , but the reader has and , where is a random value generated in session by the reader.
- The adversary allows another session between the tag and the reader, where the communicated messages are ; however, again, the adversary blocks and does not allow the tag to update its . Hence, the tag’s records of is yet but the reader has and , where is a random value generated in session by the reader.
- The adversary impersonates the reader toward the tag based on the eavesdropped messages from Step 1 as follows, i.e., :
- (a)
- The adversary sends a Hello message to the tag;
- (b)
- The tag returns its ;
- (c)
- The adversary sends to the tag;
- (d)
- Once the message is received, the tag extracts from and verifies . The verification will be successful, and the tag computes and sends it to the reader/adversary;
- (e)
- The adversary sends to the tag;
- (f)
- Once the message is received, the tag extracts from , computes , and verifies . Assuming that the verification was successful, the reader is authenticated, and is updated to .
At the end of the above procedure, the reader’s records for the tag’s index are and , while the tag’s record is , where and are two independent random values generated, respectively, by the reader in and sessions. Hence, with the probability of , we have and with the same probability . Since the probability for is also the same, the success probability of the proposed attack is . 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 [].
6.2. On the Cryptographic Properties of
As it has been mentioned already, designers also used the operation through the computation of , in which the string X is divided into based on , and this partitioning is continued as far as , where is a threshold value and suggested to be greater than 5. To understand , the authors provided a numerical example [] (Figure 1) based on . Following that example, it is clear . The provided example for in [] (Figure 2) also confirms that . Hence, we can omit the description of this operation. Following this, we can state that , where is the bitwise complement of the string X. On the other hand, for any bit , we can state that and . Hence, .
To accomplish , assuming that and , it is computed as . Hence, given that and and assuming that and , then:
Given the definition of and , we can represent as follows:
It shows that does not provide the desired diffusion and confusion. More precisely, for , 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 . However, for the given , consider the case where for the string , we have ; thus, changing those bits into 01 to create does not affect compared to . Additionally, is identical to in all bits that are not affected by those bits, and those bits of and complement each other exactly. It means that with the probability of 1. In addition, from , without the knowledge of or Y, the adversary can identify , which contradicts another claim of the designers in which the claimed does not leak any information related to input values.
As another property of , designers claimed that it is a one-way function, and given and Y for instance, it is not possible to determine X. However, given Y, the adversary easily computes:
Given , is computed as . On the other hand, and . Hence, given , it is possible to invert the and determine X as follows, where is used to denote the inverse of :
Hence, given and Y for instance, X is determined uniquely; vice versa, given and X for instance, Y is determined uniquely, which contradicts the designers’ claim in [], Section 3.2.
6.3. Secret Disclosure Attack
While the proposed attack in Section 6.1 works for any function and shows a structural flaw in the designed ESRAS, in Section 6.2, we described undesired properties of , 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 , then .
The computed message through a session of the protocol are:
and the messages are transferred over a public channel. , , C and are accessible by the adversary. In addition, is updated at the end of each successful authentication.
Consider the transferred messages in the and sessions. Given that and are constant values for each tag and provided and , we can state that:
On the other hand, assuming that , then . In addition, if and , then .
Let us assume the adversary has stored , , , and for a session and blocked the last message to the tag. Thus, the tag’s record for its index is still . Let us assume the adversary flips two bits of to achieve , e.g., and , such that , where l is the parameter length. In this case, assuming that and , then considering corresponds to , we have and , and the probability of switching from left to right or vice versa in the required part of is and remains the same with the probability of . Hence, if the adversary sends to the tag such that is computed by flipping two bits of , as mentioned above, and is computed by flipping a chosen bit of , with the probability of , 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 , where and , respectively, denote and bits of . In this way, the adversary could achieve a single bit of information related to the secret parameters. The adversary can eavesdrop more , , C, and and repeat the attack to extract whole . The expected complexity (in the term of sessions) of the attack is as follows:
Given and eavesdropped A values, values are achievable. Then, from that information and the given values of on each session, the adversary can develop a linear equation system to extract and . Following it and given C, it is possible to extract , 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
RFID | Radio Frequency IDentification |
IoT | Internet of Things |
MIoT | Medical Internet of Things |
ECC | Elliptic Curve Cryptography |
RSA | Rivest-Shamir-Adleman Public-key Encryption Algorithm |
The tag unique identifier | |
The tag’s pseudonym | |
The reader’s pseudonym | |
CRC | Cyclic Redundancy Code checksum |
PRNG | Pseudo Random Number Generator |
References
- 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]
- 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]
- 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]
- 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]
- Tian, Y.; Chen, G.; Li, J. A new ultralightweight RFID authentication protocol with permutation. IEEE Commun. Lett. 2012, 16, 702–705. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Dass, P.; Om, H. A secure authentication scheme for RFID systems. Procedia Comput. Sci. 2016, 78, 100–106. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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]
- 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]
- Nikkhah, F.; Safkhani, M. LAPCHS: A lightweight authentication protocol for cloud-based health-care systems. Comput. Netw. 2021, 187, 107833. [Google Scholar] [CrossRef]
- 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]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).