Cryptanalysis of Two Recent Ultra-Lightweight Authentication Protocols
Abstract
:1. Introduction
- 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.
1.1. Main Contribution
- 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
2. Related Work
3. CRUSAP
3.1. Notations
3.2. Function
- 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.
3.3. Protocol Description
- 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
4.1. De-Synchronization Attack
- 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 .
4.2. Security Analysis
- 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.
4.3. Secret Disclosure Attack
Secret Disclosure Attack on CRUSAP
- 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.
4.4. Implementation of the Proposed Secret Disclosure Attack against CRUSAP with C#
- 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.
- 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.
5. ESRAS
- : 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 .
Protocol Description
- 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
6.1. De-Synchronization Attack
- 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 .
6.2. On the Cryptographic Properties of
6.3. Secret Disclosure Attack
7. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts 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] [Green Version]
- 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] [Green Version]
- 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]
Symbol | Description |
---|---|
L | The Length of secret key and message |
The message was produced by one of three entities involved in the authentication phase | |
The tag’s distinct static identifying | |
The reader index pseudo for the current session | |
The tag index pseudo in the current session | |
The tag index pseudo from the previous session | |
The tag index pseudo in the next session | |
Random numbers | |
The shared secret key between the reader and the cloud server in the current session | |
A shared key between the tag and the cloud server | |
The previous shared key between the tag and the cloud server | |
The most recent shared key between the tag and the cloud server | |
Subkeys of | |
The left rotation of X in the amount of Y used in the CRUSAP | |
The right rotation of X in the amount of Y used in the security analysis of CRUSAP; ; | |
The proposed function in [2] | |
⊕ | The bitwise Exclusive-OR operation |
The generator of pseudo random numbers | |
The mapping table in the cloud server | |
‖ | The strings concatenation operation |
The tag’s pseudonym in the session | |
The number of bits of X that are 1 | |
The number of bits of X that are 0 | |
The left rotation of string X in amount of in the ESRAS | |
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 in the ESRAS | |
Assuming that the string has been partitioned based on and into then | |
The inverse of | |
The special function used in the ESRAS | |
The random value generated in session of ESRAS by the reader | |
, | The left and right halves of B, respectively |
The bitwise complement of the string X |
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/).
Share and Cite
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
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 StyleServati, 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
APA StyleServati, M. R., Safkhani, M., Ali, S., Malik, M. H., Ahmed, O. H., Hosseinzadeh, M., & Mosavi, A. H. (2022). Cryptanalysis of Two Recent Ultra-Lightweight Authentication Protocols. Mathematics, 10(23), 4611. https://doi.org/10.3390/math10234611