You are on page 1of 18

Computer Networks 187 (2021) 107833

Contents lists available at ScienceDirect

Computer Networks
journal homepage: www.elsevier.com/locate/comnet

LAPCHS: A lightweight authentication protocol for cloud-based health-care


systems
Fahimeh Nikkhah, Masoumeh Safkhani ∗
Department of Computer Engineering, Shahid Rajaee Teacher Training University, Tehran, Postal code: 16788-15811, Iran

ARTICLE INFO ABSTRACT

Keywords: The development of technology has accelerated things and solved many problems. Among various technologies,
RFID the integration of the Internet of Things (IoT) into human social life brings the promise of an easier and better
Telecare Medical Information Systems life. The integration of IoT into the medical field, as well as the environments and patients associated with
Health-care
it, has provided a new context called the Telecare Medical Information Systems. It should be noted that the
Authentication
smart medicine, in addition to its significant benefits, carries many security threats, so privacy and especially
Secret disclosure attack
Real-or-Random model
anonymity is the largest concern in implementing a telecare medical information system.
AVISPA Due to the importance of privacy preservation and security in smart health-care systems, Fan et al. have
Scyther recently proposed a lightweight authentication protocol (IEEE Netw. 33 (2) (2019)) using quadratic residue
and pseudo random number generators, to be used in this platform. They believed that their scheme has
enough security, privacy preservation, and also good resistance to various attacks including tag traceability
attacks, replay attacks and also de-synchronization (DoS) attacks. The aim of the present study is to examine
the security of the mentioned protocol. In fact, a heuristic attack was presented, in which an adversary
could retrieve tag’s and reader’s current and previous identifier that contradicts anonymity and forward
untraceability properties of this protocol. Reader and tag impersonation attacks were also applied against
the protocol. Besides, a lightweight authentication protocol was proposed for cloud-based health-care systems
called LAPCHS. Security analysis of our new protocol, through heuristic security analysis and also formal
evaluations using Real-or-Random Model and simulations done on the AVISPA and the Scyther tools, confirms
its security against different attacks.

1. Introduction (RFID) technology, cloud-based architectures, or any platform and


channel that can send and receive. TMIS has become a driving force
All institutions and organizations, including health centers world- for patients and physicians around the world, in fact, transforming the
wide, are moving towards advanced and efficient technologies for classic physician–patient model into a new model as shown in Fig. 1.
a better and more comfortable life. The technology that has been The structure of TMIS consists of four main parts: patient, medical
perfectly abled the communication and interactions with humans and personnel, database, and the Internet.
objects around us over the years is the Internet of Things (IoT). The As shown in Fig. 1, the platform for telecare medical informa-
IoT has significant advantages in communicating, sending and receiving tion system can be based on RFID technology. RFID technology in
data. One of these benefits is its integration with medical technology, IoT is a prominent technology used to detect objects and people au-
of which the Telecare Medical Information System (TMIS) is one of the
tomatically [1]. Communication in this technology has three main
most well-known achievements.
components: RFID tag, RFID reader and database server [2,3]. The
With the increasing advancement of technology, physicians have
RFID tag is attached to the objects or people to send the information
provided their services remotely and over the Internet. Providing med-
to the database as shown in Fig. 1. This information can now turn to
ical services using communication technologies is not limited to time
signals related to the device or physiological data of the patient’s body.
and place and the patient can benefit from treatment and medical
services without going to medical centers. In remote medical informa- In contrast, services such as patient status information, medication
tion systems, sensors or tags transmit patient physiological information information, care for the elderly, infectious diseases, treating infants,
via mobile devices, wireless networks, Radio Frequency Identification tests, etc. can be part of the services provided by TMIS. Also, physicians

∗ Corresponding author.
E-mail address: Safkhani@srttu.edu (M. Safkhani).

https://doi.org/10.1016/j.comnet.2021.107833
Received 24 June 2020; Received in revised form 28 November 2020; Accepted 8 January 2021
Available online 14 January 2021
1389-1286/© 2021 Elsevier B.V. All rights reserved.
F. Nikkhah and M. Safkhani Computer Networks 187 (2021) 107833

Fig. 1. A typical telecare medical information system based on RFID technology.

can log in to the system and review patients’ medical records and 1.2. Paper organization
announce the necessary prescriptions, the results of tests, and the
prescription drugs to patients through the system. This paper is structured as below: The related researches in this field
In the medical industry, many problems of patients, including face- are reviewed in Section 2. In Section 3, the Fan et al.’s health-care
to-face visits for treatment, timely examination of symptoms and reac- authentication protocol using cloud is reviewed. Security vulnerabili-
tions of the patient’s body, etc., can be solved through an Electronic ties of the Fan et al.’s protocol are described in Section 4. Section 5
health-care system by eliminating two main issues which are distance describes our proposed protocol i.e. LAPCHS, in order to employ in
and time [4–6]. When talking about the smart health-care systems, one health-care systems. The LAPCHS’s security analysis and its perfor-
should consider several benefits such as improving the efficiency and mance and security comparison with the other protocols are explained
quality of services through its development in medical devices. How- in Section 6 and Section 7, respectively. Finally, the conclusions are
ever, there might be threats such as jeopardizing personal information presented in Section 8.
and the loss of privacy of patients which should be taken into account.
The most critical concern in a smart health-care system is the security 2. Related work
of personal medical information that is stored and transmitted through
interconnected devices, while most organizations are trying to keep Chien et al. in [10], divided security protocols in terms of the type
sensitive data safe and secure. They might not have enough control of operation used, into four categories: full-fledged protocols such as
over the security and safety of data through the access points used [11], simple protocols such as [12], lightweight protocols such as [13–
to transfer information which causes significant security threats. The 16], and ultra-lightweight protocols such as [17,18] and [19]. This
threats increase with the advent of new devices that connect to the classification is represented in Fig. 2.
network. Hence, the first step in such a system’s security is the design Full-fledged security protocols use a variety of cryptographic prim-
and implementation of secure authentication protocols that are fast and itives on the tag’s side. Simple protocols employ hash functions and
affordable. Pseudo Random Number Generators (PRNG)s on the tag’s side. In
All of these services depend on providing a platform and protocol lightweight protocols, only PRNGs and Cyclic Redundancy Codes
so that the users of this system can achieve mutual authentication in (CRC)s are supported on the tags recommended in EPC C1 G2 standard.
complete security, while their anonymity and privacy are protected Finally, in ultra-lightweight security protocols, only bitwise operations
from security threats [7,8]. The process of using the services of this can be used on the tag’s side.
system is subject to the initial registration of the patient/user in the As shown in Fig. 3, the designing strategies of TMIS security proto-
TMIS server, then for each use of the services provided remotely, the cols can be classified into cryptographic based, multi factor based and
system server must be authenticated. In the authentication phase with chaotic map based categories.
the server, an agreed key is introduced for each session, which allows In the cryptography-based group, cryptographic schemes such as
the patient/user to send and receive information through the agreed hash function or symmetric key or public key encryption algorithms
key [9]. The authentication step requires mutual authentication so that like RSA, El-Gamal, Elliptic Curve Cryptography (ECC), Physically Un-
the provided services are not misused. clonable Functions (PUF) [13,20] are used as the main operation of
the protocols. In multi factor based schemes such as [21–23] and [24],
1.1. Main contribution it is necessary to provide more specific information, including user
biometric information along other information for example with smart
The contribution of this paper is several folds: card, ID and password in the designed security scheme. In chaotic-based
group such as [25], chaotic functions have been used as a building
• Design and implementation of some important security attacks operation of the protocol.
against the Fan et al.’s protocol for health-care system; So far, in related literatures, several protocols have been proposed
• Resolve the Fan et al.’s protocol security pitfalls and suggest an to provide a secure and efficient authentication for RFID systems. But
improved protocol called LAPCHS; those protocols which are safe, have encountered a lot of complex-
• Informally and formally proof of the LAPCHS protocol’s secu- ities for implementation in RFID systems, and those protocols that
rity through Real-or-Random (RoR) model and doing simulations have been implemented appropriately have not been adequately se-
based on both AVISPA and Scyther tools. cured. In this regard, Fan et al. [26] introduced a lightweight RFID

2
F. Nikkhah and M. Safkhani Computer Networks 187 (2021) 107833

Fig. 2. Classification of TMIS security protocols according to the used cryptographic primitives.

Fig. 3. Designing strategies of TMIS security protocols.

protocol and claimed that this scheme provides safe conditions for analyzed the security of this protocol and proved that the protocol has
maintaining the security of the exchanged information, however, Aghili weaknesses in terms of security and privacy. Then they tried to improve
et al. [27] asserted that their protocol was vulnerable to reader im- the Dass and Om protocol and provided a new secure and lightweight
personation and tag traceability attacks given active adversary model. protocol by maintaining a small amount of computational overhead in
Subsequently, Safkhani et al. [28] examined both Fan et al.’s [26] the database.
and Aghili et al.’s [27] schemes in the Random Oracle Model (ROM) In 2018, an RFID-based authentication protocol which was success-
and showed that their design is distinguishable in the ROM. They also ful in accomplishing its purposes developed by Gope et al. [14]. This
presented a secret disclosure attack on both the Aghili et al.’s and protocol was able to have an agreeable execution time compared to
the Fan et al.’s protocols, and were able to provide a lightweight mu- similar schemes.
tual RFID authentication protocol by improving it. Furthermore, Chen In 2018, the ULRAS scheme with the claim to provide a high level
et al. [29], re-examined Fan et al.’s proposed protocol [26] and proved of security had been proposed by Fan et al. [19] in the m-commerce
that their scheme was also vulnerable against tag impersonation attack. era; however, Aghili et al. [33] could detect the security vulnerabilities
Chen et al. in [29] also showed that the TMISP protocol [30] does of their protocol’s against reader impersonation and secret disclosure
not resist against reader impersonation attack. Hence, countermeasures attacks and thereafter successfully improved it without imposing any
were exerted for its development and as a result, the TMISP+ protocol additional computational cost on its tag.
was presented. Salem et al. in [34] provided a security protocol based on crypto-
Dass and Om [31] proposed an authentication protocol for RFID graphic El-Gamal for Telecare Medical Information Systems (TMIS) and
using the hash function and bitwise operations. Gholami et al. [32] analyzed its security with the AVISPA tool [35].

3
F. Nikkhah and M. Safkhani Computer Networks 187 (2021) 107833

In most RFID authentication protocols using the cloud server, the and checks whether there is any 𝑥𝑗 which its related 𝑀𝑇′ 𝑅 equals
channel between the reader and the cloud server is considered secure. to 𝑀𝑇 2 or not. If so, the reader successfully authenticates the tag.
In this regard, Xiao et al. [36] put forward an efficient protocol for Afterwards, the reader computes 𝑀𝑇 3 = 𝑃 𝑅𝑁𝐺(𝑥) and transmits
insecure channels between the reader and the cloud server. However, it along with 𝑇𝐶 to the tag.
the computational overhead of the tag is not relatively low because it 6. Tag: If the tests succeed, the tag authenticates the reader.
required the hash function operations. Also, Fan et al. [37] introduced Once the message is received, the tag computes 𝑀𝑇′ 3 = 𝑃 𝑅𝑁𝐺(𝑥)
a cloud-based lightweight RFID protocol that used rotation logic op- ?
eration, permutation and data encryption. Their scheme reduced the and checks whether 𝑀𝑇′ 3 == 𝑀𝑇 3 is or not. If so, the tag success-
computational overhead of the tag significantly. fully authenticates the reader. This is why only the legitimate
Recently, Fan et al. presented another authentication protocol [38] reader, who knows the factorization of 𝑛 i.e., 𝑝 and 𝑞, can solve
to maintain a compromise between security and the complexity of 𝑥′ = 𝑥2 𝑚𝑜𝑑 𝑛.
implementing authentication protocol on RFID systems. However, in
Updating Phase: This phase of the protocol starts with the tag as
the present study, it will be presented that Fan et al.’s protocol has no
suitable security and is not recommended to be used in any application. below:
We will also address the security flaws of this protocol that leads to 1. Tag → Reader: 𝑨𝑻 𝟏
the suggestion of an improved version, named LAPCHS. The security
The tag computes 𝑆𝐼𝐷𝑛𝑒𝑤 = 𝑆𝐼𝐷 + 𝑇𝐶 , 𝑥𝑛𝑒𝑤 = 𝑅𝑜𝑡(𝑥, 𝑇𝐶 ) ⊕
of LAPCHS against different attacks will be proven both informally and
𝑇𝐶 , 𝐴𝑇 1 = 𝑃 𝑅𝑁𝐺(𝑆𝐼𝐷𝑛𝑒𝑤 ⊕ 𝑇𝑅 ) and sends 𝐴𝑇 1 as updating
formally through Real-or-Random (RoR) model and doing simulations
notification to the reader.
via both AVISPA and Scyther tools.
2. Reader → Cloud: 𝑨𝑹𝟏 , 𝑨𝑹𝟐 , 𝑨𝑻 𝟏 , 𝑨𝑻 𝟐
3. Description of Fan et al.’s protocol After receiving the message, in order to update tag’s record in
the cloud server, the reader computes 𝑥𝑛𝑒𝑤 = 𝑅𝑜𝑡(𝑥, 𝑇𝐶 )⊕𝑇𝐶 and
In this section, Fan et al.’s authentication protocol [38] is briefly 𝑥′𝑛𝑒𝑤 = 𝑥2𝑛𝑒𝑤 𝑚𝑜𝑑 𝑛. Moreover, it computes 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 = 𝑆𝑅𝐼𝐷 +
described for employing in the cloud-based health-care system includ- 𝑇𝐶 , 𝑦𝑛𝑒𝑤 = 𝑅𝑜𝑡(𝑇𝐶 , 𝑦) and 𝑦′𝑛𝑒𝑤 = 𝑦2𝑛𝑒𝑤 𝑚𝑜𝑑 𝑛. Then it computes
ing the initialization phase, authentication phase, and secret values 𝐴𝑅1 = 𝑃 𝑅𝑁𝐺(𝑦′ ⊕ 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 ⊕ 𝑇𝑅 ), 𝐴𝑅2 = 𝑅𝑜𝑡(𝑦′𝑛𝑒𝑤 , 𝑇𝑅 ⊕
updating phase which are depicted in Fig. 4. Throughout the paper, 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 ) ⊕ 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 , 𝐴𝑇 1 = 𝑃 𝑅𝑁𝐺(𝑆𝐼𝐷𝑛𝑒𝑤 ⊕ 𝑇𝑅 ), 𝐴𝑇 2 =
notations listed in Table 1 are used. 𝑅𝑜𝑡(𝑥′𝑛𝑒𝑤 , 𝑇𝑅 ⊕𝑆𝑅𝐼𝐷𝑛𝑒𝑤 )⊕𝑆𝑅𝐼𝐷𝑛𝑒𝑤 and sends them to the cloud
Initialization Phase: In this phase, the administrator generates two server to be aware of updating.
512-bit or larger prime numbers i.e. 𝑝 and 𝑞, computes 𝑛 = 𝑝.𝑞 and 3. Cloud → Reader: 𝑨𝑹𝟑 , 𝑨𝑻 𝟑
stores 𝑝, 𝑞 and 𝑛 in the reader separately. Then it stores the tag’s As soon as the message was received by the cloud server, it
pseudonym i.e. 𝑆𝐼𝐷 and its secret key i.e. 𝑥 in each tag. It also stores computes 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 = 𝑆𝑅𝐼𝐷 + 𝑇𝐶 . Then it checks whether
the reader’s pseudonym 𝑆𝑅𝐼𝐷 and its secret value 𝑦 in the reader. The ?
𝑃 𝑅𝑁𝐺(𝑦′ ⊕ 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 ⊕ 𝑇𝑅 ) == 𝐴𝑅1 is or not firstly. If so, it re-
administrator stores each tag’s 𝑆𝐼𝐷 and also 𝑥′ which is 𝑥2 𝑚𝑜𝑑 𝑛 in the
trieves 𝑦′𝑛𝑒𝑤 from 𝐴𝑅2 as 𝑇𝑅 ⊕ 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 ⊕ (𝐴𝑅2 ⊕
cloud server tag’s index data table. Then it sets 𝑆𝐼𝐷𝑜𝑙𝑑 and 𝑥′𝑜𝑙𝑑 both to
𝑆𝑅𝐼𝐷𝑛𝑒𝑤 )⋙(𝑇𝑅 ⊕𝑆𝑅𝐼𝐷𝑛𝑒𝑤 𝑚𝑜𝑑 𝐿) and updates its reader index data
0. In the corresponding operation, the administrator also stores 𝑆𝑅𝐼𝐷
and 𝑦′ which is 𝑦2 𝑚𝑜𝑑 𝑛 for each reader in the cloud server reader’s table as 𝑦′𝑜𝑙𝑑 ← 𝑦′ , 𝑦′ ← 𝑦′𝑛𝑒𝑤 , 𝑆𝑅𝐼𝐷𝑜𝑙𝑑 ← 𝑆𝑅𝐼𝐷 and 𝑆𝑅𝐼𝐷 ←
index data table, and sets 𝑆𝑅𝐼𝐷𝑜𝑙𝑑 and 𝑦′𝑜𝑙𝑑 both to 0. 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 . Secondly, it computes 𝑆𝐼𝐷𝑛𝑒𝑤 = 𝑆𝐼𝐷 + 𝑇𝐶 . Then
?
Authentication Phase: This phase of the protocol starts with the it checks whether 𝑃 𝑅𝑁𝐺(𝑆𝐼𝐷𝑛𝑒𝑤 ⊕ 𝑇𝑅 ) == 𝐴𝑇 1 is or not. If
reader as follows: the condition is true, then it retrieves 𝑥′𝑛𝑒𝑤 from 𝐴𝑇 2 as 𝑇𝑅 ⊕
𝑆𝑅𝐼𝐷𝑛𝑒𝑤 ⊕ (𝐴𝑇 2 ⊕ 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 )⋙(𝑇𝑅 ⊕𝑆𝑅𝐼𝐷𝑛𝑒𝑤 𝑚𝑜𝑑 𝐿) and updates
1. Reader → Tag: 𝑸𝒖𝒆𝒓𝒚, 𝑻 𝑹
its tag’s index data table as 𝑥′𝑜𝑙𝑑 ← 𝑥′ , 𝑥′ ← 𝑥′𝑛𝑒𝑤 , 𝑆𝐼𝐷𝑜𝑙𝑑 ← 𝑆𝐼𝐷
The reader sends 𝑄𝑢𝑒𝑟𝑦 and the current timestamp 𝑇𝑅 to the tag.
and 𝑆𝐼𝐷 ← 𝑆𝐼𝐷𝑛𝑒𝑤 . In the following, it computes 𝐴𝑅3 =
2. Tag → Reader: 𝑴 𝑻 𝟏 , 𝑴 𝑻 𝟐
𝑃 𝑅𝑁𝐺(𝑦′𝑛𝑒𝑤 ⊕ 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 ⊕ 𝑇𝑅 ), 𝐴𝑇 3 = 𝑃 𝑅𝑁𝐺(𝑆𝐼𝐷𝑛𝑒𝑤 ) ⊕
Upon the tag receives the message, computes 𝑀𝑇 1 = 𝑅𝑜𝑡(𝑇𝑅 ,
𝑆𝐼𝐷) ⊕ 𝑆𝐼𝐷, 𝑀𝑇 2 = 𝑃 𝑅𝑁𝐺(𝑥 ⊕ 𝑇𝑅 ) and sends 𝑀𝑇 1 , 𝑀𝑇 2 to 𝑃 𝑅𝑁𝐺(𝑥′𝑛𝑒𝑤 ⊕ 𝑇𝑅 ) and sends them to the reader.
the reader. 4. Reader → Tag: 𝑨𝑻 𝟒
3. Reader → Cloud: 𝑴 𝑹𝟏 , 𝑴 𝑹𝟐 , 𝑴 𝑻 𝟏 , 𝑻 𝑹 Upon receipt of the message, the reader at first checks whether
?
As soon as the message was received, the reader calculates 𝑃 𝑅𝑁𝐺(𝑦′𝑛𝑒𝑤 ⊕ 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 ⊕ 𝑇𝑅 ) == 𝐴𝑅3 is or not. If it is, that
𝑀𝑅1 = 𝑅𝑜𝑡(𝑇𝑅 , 𝑆𝑅𝐼𝐷) ⊕ 𝑆𝑅𝐼𝐷, 𝑦′ = 𝑦2 𝑚𝑜𝑑 𝑛, 𝑀𝑅2 = means the cloud server successfully updates its reader’s index
𝑃 𝑅𝑁𝐺(𝑦′ ⊕ 𝑇𝑅 ) and transmits them along with 𝑀𝑇 1 and 𝑇𝑅 to data table. After that, the reader updates its 𝑆𝑅𝐼𝐷 and 𝑦 as
the cloud server. 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 and 𝑦𝑛𝑒𝑤 respectively. Then it calculates 𝐴𝑇 4 = 𝐴𝑇 3 ⊕
4. Cloud → Reader: 𝒙′ , 𝑻 𝑪 𝑃 𝑅𝑁𝐺(𝑥′𝑛𝑒𝑤 ⊕ 𝑇𝑅 ) and transmits it to the tag.
Upon receipt of the message, the cloud server checks whether
5. Tag: If the tests succeed, the tag updates its secret values.
𝑇𝑡ℎ1 < 𝑇𝑆 − 𝑇𝑅 < 𝑇𝑡ℎ2 is or not. If the condition is true, the
Once the tag got the message, then it checks whether 𝑃 𝑅𝑁𝐺
cloud server searches its reader’s index table for finding 𝑆𝑅𝐼𝐷 ?
corresponding to 𝑀𝑅1 . If it finds a match, it extracts the reader’s (𝑆𝐼𝐷𝑛𝑒𝑤 ) == 𝐴𝑇 4 is or not. If it is true, so the cloud server
𝑦′ and computes 𝑀𝑅2 ′ = 𝑃 𝑅𝑁𝐺(𝑦′ ⊕ 𝑇 ), and checks whether successfully updates its tag’s index data table. Then, the tag also
𝑅
′ ? updates its 𝑆𝐼𝐷 and 𝑥 as 𝑆𝐼𝐷𝑛𝑒𝑤 and 𝑥𝑛𝑒𝑤 respectively.
𝑀𝑅2 == 𝑀𝑅2 is or not. If so, the cloud server authenticates
the reader. Then it searches its tag’s index data table for 𝑆𝐼𝐷
corresponding to 𝑀𝑇 1 . If it finds such a record extracts its related 4. Security analysis of Fan et al.’s protocol
𝑥′ and transmits it along with its current timestamp 𝑇𝐶 to the
reader.
5. Reader → Tag: 𝑴 𝑻 𝟑 , 𝑻 𝑪 In this section, it will be demonstrated that unfortunately Fan et al.’s
When the message is received, the reader solves 𝑥′ = 𝑥2 𝑚𝑜𝑑 𝑛 protocol suffers from various attacks such as the reader impersonation
using 𝑝 and 𝑞 and finds four solutions 𝑥1 , 𝑥2 , 𝑥3 and 𝑥4 . Then attack, tag impersonation attack, secret values disclosure attack and
with each of the solutions, it computes 𝑀𝑇′ 𝑅 = 𝑃 𝑅𝑁𝐺(𝑥 ⊕ 𝑇𝑅 ) forward secrecy property contradiction attack.

4
F. Nikkhah and M. Safkhani Computer Networks 187 (2021) 107833

Table 1
Symbols.
Symbol Description
𝑝, 𝑞 512-bit or larger prime numbers stored in the reader
𝑛 corresponds to 𝑝.𝑞 stored in the reader
𝑇𝑋 The entity 𝑋’s current time stamp
𝑇𝑡ℎ The system threshold for the time
𝑆𝐼𝐷 The tag’s pseudonym
𝑆𝐼𝐷𝑜𝑙𝑑 The old record of 𝑆𝐼𝐷 stored in the cloud server
𝑆𝑅𝐼𝐷 The reader’s pseudonym
𝑆𝑅𝐼𝐷𝑜𝑙𝑑 The old record of 𝑆𝑅𝐼𝐷 stored in the cloud server
𝑥 The tag’s secret value
𝑥′ corresponds to 𝑥2 𝑚𝑜𝑑 𝑛 stored in the cloud server
𝑦 The reader’s secret value
𝑦′ corresponds to 𝑦2 𝑚𝑜𝑑 𝑛 stored in the cloud server
𝑃 𝑅𝑁𝐺 The pseudo random number generator function
𝑅𝑜𝑡(𝑥, 𝑦) The left rotation of 𝑥 ⊕ 𝑦 amount of 𝑦 𝑚𝑜𝑑 𝐿 where 𝐿 is the length of 𝑦
𝓁 corresponds to 𝑦 𝑚𝑜𝑑 𝐿 where 𝐿 is the length of 𝑦
𝑥⋘𝑦 , 𝑥⋙𝑦 The left and right rotation of 𝑥 amount of 𝑦 respectively
𝐸𝐾 (.)∕𝐷𝐾 (.) Symmetric key encryption/decryption function using 𝐾 as a symmetric key
‖ Concatenation operation
𝑁 A random number which is generated by the tag
𝑧 The number of the registered tags in the cloud server

Fig. 4. The process of Fan et al.’s authentication protocol for cloud-based health-care system [38].

4.1. Reader impersonation attack parties of protocol that s/he is a legal reader and can be authenticated
by other protocol parties, and will access services that are allowed for a
A reader impersonation attack is an attack in which the attacker can legal reader. For example, as shown in Fig. 5, in the health-care system,
impersonate a legitimate reader and use messages to convince the other the attacker can impersonate a reader as a doctor or nurse and will

5
F. Nikkhah and M. Safkhani Computer Networks 187 (2021) 107833

Fig. 5. An example of the reader impersonation attack.

access patient information and medications. For performing this attack • The adversary also pretends to be the tag and generates a random
against Fan et al.’s protocol, it is enough that the adversary carries out number i.e., 𝑢 instead of 𝑥 and computes 𝑀𝑇 2 = 𝑃 𝑅𝑁𝐺(𝑢 ⊕ 𝑇𝑅 )
the following: and sends it together with eavesdropped 𝑀𝑇 1 to the reader.
• When the reader receives the message, computes 𝑀𝑅1 = 𝑅𝑜𝑡(𝑇𝑅 ,
• Eavesdrops one session between a targeted reader and a legiti- 𝑆𝑅𝐼𝐷) ⊕ 𝑆𝑅𝐼𝐷, 𝑦′ = 𝑦2 𝑚𝑜𝑑 𝑛, 𝑀𝑅2 = 𝑃 𝑅𝑁𝐺(𝑦′ ⊕ 𝑇𝑅 ) and sends
mate tag and stores transferred messages i.e., 𝑀𝑇1 , 𝑀𝑇2 , 𝑀𝑇3 , 𝑇𝑅 them along with 𝑀𝑇 1 and 𝑇𝑅 to the cloud server.
and 𝑇𝐶 . It also intercepts 𝑀𝑇3 till not be received by the tag. So, • Upon receipt of the message, the cloud server checks whether
the tag does not go to the update phase. 𝑇𝑡ℎ1 < 𝑇𝑆 − 𝑇𝑅 < 𝑇𝑡ℎ2 is or not, which is true. Therefore, the
• Subsequently, the adversary pretends to be a legitimate reader cloud server searches its reader’s index table for finding 𝑆𝑅𝐼𝐷
and sends eavesdropped 𝑇𝑅 along with 𝑄𝑢𝑒𝑟𝑦 to the target tag. corresponds to 𝑀𝑅1 which it finds a match, so it extracts the
reader’s 𝑦′ and computes 𝑀𝑅2 ′ = 𝑃 𝑅𝑁𝐺(𝑦′ ⊕ 𝑇𝑅 ), and checks
• Once the message is received, the tag computes 𝑀𝑇 1 = 𝑅𝑜𝑡(𝑇𝑅 ,
?
𝑆𝐼𝐷)⊕𝑆𝐼𝐷, 𝑀𝑇 2 = 𝑃 𝑅𝑁𝐺(𝑥⊕𝑇𝑅 ) and sends them to the reader whether 𝑀𝑅2 ′ == 𝑀
𝑅2 which it holds. Because 𝑀𝑅2 was produced
which is the adversary. by a legal reader and the attacker did not change it. So, the
• The adversary once received the message, responds to the tag cloud server authenticates the reader. Then it searches its tag’s
with eavesdropped 𝑀𝑇3 , and 𝑇𝐶 . index data table for 𝑆𝐼𝐷 corresponds to 𝑀𝑇 1 and finds such a
• When the tag receives the message, computes 𝑀𝑇′ 3 = 𝑃 𝑅𝑁𝐺(𝑥) record, since 𝑀𝑇 1 was produced by a legal tag and the attacker
? did not change it. Then the cloud server extracts its related 𝑥′ and
and checks whether 𝑀𝑇′ 3 == 𝑀𝑇 3 which it is. So, the tag
transmits it along with its current timestamp 𝑇𝐶 to the reader.
successfully authenticates the adversary as the reader. This attack
• The adversary intercepts 𝑥′ , and instead of it sends 𝑢′ = 𝑢2 𝑚𝑜𝑑 𝑛
succeeds with the probability of ‘‘1’’, and its complexity is only
to the reader. Note that this 𝑢 is the same 𝑢 previously produced
two executions of the protocol.
by the attacker and used to generate message 𝑀𝑇 2 as 𝑃 𝑅𝑁𝐺(𝑢 ⊕
𝑇𝑅 ).
Remark 1. It is worth noting that Fan et al.’s protocol’s vulnerability
• When the reader receives 𝑢′ , solves 𝑢′ = 𝑢2 𝑚𝑜𝑑 𝑛 using 𝑝 and 𝑞
against reader impersonation attack is due to the tag’s failure to ran-
and finds four solutions 𝑢1 , 𝑢2 , 𝑢3 and 𝑢4 . Then with each of the
domize messages because the tag in this protocol does not generate any
solutions computes 𝑀𝑇′ 𝑅 = 𝑃 𝑅𝑁𝐺(𝑢 ⊕ 𝑇𝑅 ) and checks whether
random values that be used in transferred messages. In the proposed
there is any 𝑢𝑗 , which its related 𝑀𝑇′ 𝑅 equals to 𝑀𝑇 2 or not
protocol, LAPCHS, we have fixed this problem by generating a random
which it holds. Therefore, the reader successfully authenticates
number on the tag’s side and using it in the protocol’s exchanged the adversary as a tag. After successful authentication of the
messages. adversary as a legal tag, the reader computes 𝑀𝑇 3 = 𝑃 𝑅𝑁𝐺(𝑢)
and sends it along with 𝑇𝐶 to the tag, which is the adversary.
4.2. Tag impersonation attack
The success probability of above-mentioned tag impersonation attack
is ‘‘1’’, and its complexity is only two executions of the protocol.
A tag impersonation attack is an attack in which the attacker poses
as a legal tag and tries to convince the other parties of the protocol
Remark 2. It is worth noting that Fan et al.’s protocol’s vulnerability
about its legality. For example, as shown in Fig. 6, in a health-care
against tag impersonation attack is due to sending 𝑥′ which is 𝑥2 𝑚𝑜𝑑 𝑛
system, the attacker pretends that a patient has certain conditions and,
openly in the insecure channel. In proposed protocol in this paper,
for example, receive the flu vaccine. For applying this attack against
i.e. LAPCHS, we have fixed this problem by sending 𝑥′ ⊕ 𝑦′ instead of
Fan et al.’s protocol, the adversary can perform as follows: 𝑥′ and only the reader who knows the value of 𝑦′ can get the amount
of 𝑥′ from the received value.
• Eavesdrops one session between a legitimate reader and a tar-
geted tag and also between the same reader and a cloud server
4.3. Secret values disclosure attack
and stores transferred messages i.e. 𝑀𝑇1 , 𝑀𝑇2 , 𝑀𝑇3 , 𝑇𝑅 , 𝑀𝑅1 ,
𝑀𝑅2 , 𝑥′ and 𝑇𝐶 . Secret values disclosure attack is an attack in which the attacker
• It also intercepts 𝑀𝑇3 till it will not received by the tag. So the tries to access the secret information of protocol parties by using mes-
tag will not be updated. sages exchanged in an insecure channel and performing calculations
• The adversary waits until the reader starts the protocol and sends on these messages. For example, in a health-care system, the attacker
𝑄𝑢𝑒𝑟𝑦 and 𝑇𝑅 to the tag. can access secret values such as the nurse and patient IDs and their
• The adversary stops 𝑄𝑢𝑒𝑟𝑦 and 𝑇𝑅 , so the tag does not receive it. secret keys and can easily misuse this information. As shown in Fig. 7,

6
F. Nikkhah and M. Safkhani Computer Networks 187 (2021) 107833

Fig. 6. An example of the tag impersonation attack.

the adversary can penetrate the system and gain access to all secret • Initially, the adversary sets the first bit of 𝑆𝐼𝐷 equal to zero
information and all health services provided by the health-care system i.e., 𝑆𝐼𝐷0 = 0, and retrieves the other 𝑆𝐼𝐷 bits using Algorithm
by obtaining the tag and the reader’s secret values. Here, we show how 1. Checking 𝑆𝐼𝐷0 = 0 by the obtained 𝑆𝐼𝐷0 , determines whether
an adversary can disclose the tag’s and the reader’s identifiers. the 𝑆𝐼𝐷 recovery operation is successful or not.
• Secondly, the adversary sets the first bit of 𝑆𝐼𝐷 equal to one
4.3.1. Retrieving tag’s identifier i.e., 𝑆𝐼𝐷0 = 1, and retrieves the other 𝑆𝐼𝐷 bits using Algorithm
This section shows how to obtain the tag’s 𝑆𝐼𝐷, which is a secret 1. In this turn, checking the 𝑆𝐼𝐷0 = 1 by the obtained 𝑆𝐼𝐷0 ,
value in Fan et al.’s protocol. This attack includes two phases as below:
determines whether the 𝑆𝐼𝐷 recovery operation is successful or
Learning Phase: In this phase, the attacker eavesdrops two successive
not.
sessions of the protocol without permitting the protocol to go to the
• By using retrieved values for 𝑆𝐼𝐷 in previous steps, one can
update stage and update the tag and the reader’s secret values i.e. 𝑆𝐼𝐷,
compute 𝑀𝑇∗ 1 = 𝑇𝑅 ⋘𝓁 ⊕ 𝑆𝐼𝐷⋘𝓁 ⊕ 𝑆𝐼𝐷 and checks whether
𝑥, 𝑆𝑅𝐼𝐷 and 𝑦 respectively. So, in this phase, the adversary retrieves ?
and stores 𝑇𝑅 , 𝑀𝑇 1 , 𝑀𝑇 2 , 𝑀𝑅1 , 𝑀𝑅2 , 𝑀𝑇 3 , 𝑇𝐶 , and also 𝑇𝑅′ , 𝑀𝑇′ 1 , 𝑀𝑇∗ 1 == 𝑀𝑇 1 is or not. If it holds, then the retrieved 𝑆𝐼𝐷 is
𝑀𝑇′ 2 , 𝑀𝑅1
′ , 𝑀 ′ , 𝑀 ′ and 𝑇 ′ which have been eavesdropped from
𝑅2 𝑇3 𝐶
proper.
first and the second run of the protocol, respectively. The adversary
also interrupts the message 𝑀𝑇 3 and 𝑇𝐶 , and so at the end of the first As mentioned above, the first step of 𝑆𝐼𝐷 discovery strategy is to set
run of the protocol, the tag and the reader are not permitted to enter the least-significant 𝑆𝐼𝐷 bit with 0 and 1, and as shown in Fig. 14, the
the updating phase. As a result, their secret values remain unchanged. other 𝑆𝐼𝐷 bits can be obtained by applying merely exclusive-OR (XOR)
The main observation, which is used in the secret disclosure attack is operations. Ultimately, by computing 𝑀𝑇∗ 1 = 𝑇𝑅 ⋘𝓁 ⊕ 𝑆𝐼𝐷⋘𝓁 ⊕ 𝑆𝐼𝐷
defined as Observation 1: ?
using 𝑆𝐼𝐷 values obtained from Eq. (1) and checking whether 𝑀𝑇∗ 1 ==
𝑀𝑇 1 is or not, the original 𝑆𝐼𝐷 value is determined. The details of the
Observation 1. In Fan et al.’s protocol, we prove that there is 𝑀𝑇 1 ⊕
tag’s secret disclosure attack is shown in Algorithm 1.
𝑀𝑇′ 1 = (𝑇𝑅 ⊕ 𝑇𝑅′ )⋘𝓁 relationship between 𝑀𝑇 1 , 𝑇𝑅 , 𝑀𝑇′ 1 , 𝑇𝑅′ and 𝓁 where
𝓁 = 𝑆𝐼𝐷 𝑚𝑜𝑑 𝐿 and 𝐿 is the length of 𝑆𝐼𝐷.
4.3.2. Retrieving reader’s identifier
Similarly to what mentioned about retrieving tag’s identifier in
Proof. In Fan et al.’s protocol, 𝑀𝑇 1 is defined as 𝑅𝑜𝑡(𝑇𝑅 , 𝑆𝐼𝐷) ⊕ 𝑆𝐼𝐷
where 𝑅𝑜𝑡(𝑥, 𝑦) is defined as (𝑥 ⊕ 𝑦)⋘𝑦 𝑚𝑜𝑑 𝐿 . So, we can write 𝑀𝑇 1 as Section 4.3.1, we can rewrite 𝑀𝑅1 = 𝑅𝑜𝑡(𝑇𝑅 , 𝑆𝑅𝐼𝐷) ⊕ 𝑆𝑅𝐼𝐷 as 𝑀𝑅1 =
(𝑇𝑅 ⊕ 𝑆𝐼𝐷)⋘𝓁 ⊕ 𝑆𝐼𝐷 = 𝑇𝑅⋘𝓁 ⊕ 𝑆𝐼𝐷⋘𝓁 ⊕ 𝑆𝐼𝐷 where 𝓁 = 𝑆𝐼𝐷 𝑚𝑜𝑑 𝐿. (𝑇𝑅 ⊕ 𝑆𝑅𝐼𝐷)⋘𝓁 ⊕ 𝑆𝑅𝐼𝐷 = 𝑇𝑅⋘𝓁 ⊕ 𝑆𝑅𝐼𝐷⋘𝓁 ⊕ 𝑆𝑅𝐼𝐷. Then we can
Similarly, we have 𝑀𝑇′ 1 = 𝑇𝑅′⋘𝓁 ⊕𝑆𝐼𝐷⋘𝓁 ⊕𝑆𝐼𝐷. If we do an exclusive write Eq. (2) based on 𝑀𝑅1 = 𝑇𝑅⋘𝓁 ⊕ 𝑆𝑅𝐼𝐷⋘𝓁 ⊕ 𝑆𝑅𝐼𝐷 as follows:
OR (XOR) operation between 𝑀𝑇 1 = 𝑇𝑅⋘𝓁 ⊕𝑆𝐼𝐷⋘𝓁 ⊕𝑆𝐼𝐷 and 𝑀𝑇′ 1 =
𝑆𝑅𝐼𝐷 ⊕ 𝑆𝑅𝐼𝐷⋘𝓁 = 𝑀𝑅1 ⊕ 𝑇𝑅⋘𝓁 (2)
𝑇𝑅′⋘𝓁 ⊕ 𝑆𝐼𝐷⋘𝓁 ⊕ 𝑆𝐼𝐷, we retrieve 𝑀𝑇 1 ⊕ 𝑀𝑇′ 1 = (𝑇𝑅 ⊕ 𝑇𝑅′ )⋘𝓁 . □
As mentioned before in observation 1, the value of 𝓁 in 𝑀𝑇 1 equals Therefore, by using the value of 𝓁 obtained from 𝑀𝑇 1 ⊕ 𝑀𝑇′ 1 = (𝑇𝑅 ⊕
to 𝑆𝐼𝐷 𝑚𝑜𝑑 𝐿 and so, it is clear 0 ≤ 𝓁 ≤ 𝐿−1. In Algorithm 1, we show 𝑇𝑅′ )⋘𝓁 , we can retrieve 𝑆𝑅𝐼𝐷 from Eq. (2), because in this relationship
that the value of 𝓁 can be obtained, using 𝑀𝑇 1 ⊕ 𝑀𝑇′ 1 = (𝑇𝑅 ⊕ 𝑇𝑅′ )⋘𝓁 . all of the values except 𝑆𝑅𝐼𝐷 are known.
Because in this relationship all values except 𝓁 are known. We recall Reader’s Secret Disclosure Phase: In this phase of the attack, the
that 𝑀𝑇 1 = 𝑇𝑅⋘𝓁 ⊕ 𝑆𝐼𝐷⋘𝓁 ⊕ 𝑆𝐼𝐷, so we can rewrite it as Eq. (1): adversary using eavesdropped values in the learning phase, can retrieve
the reader’s identifier i.e., 𝑆𝑅𝐼𝐷 based on Observation 1 and following
𝑆𝐼𝐷 ⊕ 𝑆𝐼𝐷⋘𝓁 = 𝑀𝑇 1 ⊕ 𝑇𝑅⋘𝓁 (1) steps. It should be noted that the reader’s identifier is retrieved bit by
If obtained 𝓁 was an odd number, in Algorithm 1, we show that the bit. The details of this phase are shown in Algorithm 2.
adversary can retrieve 𝑆𝐼𝐷 from Eq. (1). In cases, the 𝓁 which is not
• In the first stage, the adversary sets the first bit of 𝑆𝑅𝐼𝐷 equal
odd, the adversary allows the protocol to be updated, so the secret
values (i.e. 𝑆𝐼𝐷 and 𝑆𝑅𝐼𝐷) be changed. Then the adversary repeats to zero i.e., 𝑆𝑅𝐼𝐷0 = 0, and retrieves the other 𝑆𝑅𝐼𝐷 bits
4.3.1 phase. In fact, the adversary is looking for information that will using Algorithm 2. Checking 𝑆𝑅𝐼𝐷0 = 0 by the obtained 𝑆𝑅𝐼𝐷0 ,
make 𝓁 an odd number. Because then, the tag’s and the reader’s secret determines whether the 𝑆𝑅𝐼𝐷 recovery operation is successful or
identifiers are easier to get. not.
Tag’s Secret Disclosure Phase: In this phase of the attack, the ad- • In the second stage, the adversary sets the first bit of 𝑆𝑅𝐼𝐷
versary using eavesdropped values in the learning phase, based on equal to one i.e., 𝑆𝑅𝐼𝐷0 = 1, and retrieves the other 𝑆𝑅𝐼𝐷
observation 1 and following steps can retrieve the tag’s identifier bits using Algorithm 2. In this turn, checking the 𝑆𝑅𝐼𝐷0 = 1
i.e. 𝑆𝐼𝐷 as below. It should be pointed out that the tag’s identifier is by the obtained 𝑆𝑅𝐼𝐷0 , determines whether the 𝑆𝑅𝐼𝐷 recovery
retrieved bit by bit. operation is successful or not.

7
F. Nikkhah and M. Safkhani Computer Networks 187 (2021) 107833

Fig. 7. An example of the secret disclosure attack.

Data: 𝑀𝑇 1 , 𝑀𝑇′ 1 , 𝑇𝑅 , 𝑇𝑅′ Data: 𝑀𝑇 1 , 𝑀𝑇′ 1 , 𝑀𝑅1 , 𝑀𝑅1


′ ,𝑇 ,𝑇′
𝑅 𝑅
Result: Obtains 𝓁, 𝑆𝐼𝐷 Result: Obtains 𝓁, 𝑆𝑅𝐼𝐷

Function 𝑅𝑂𝐿(num: int,n: int) is Function 𝑅𝑂𝐿(num: int,n: int) is


left rotation the 𝑛𝑢𝑚 value. left rotation the 𝑛𝑢𝑚 value.
end end
Function 𝑔𝑒𝑡_𝑏𝑖𝑡(num: int,n: int) is Function 𝑔𝑒𝑡_𝑏𝑖𝑡(num: int,n: int) is
return the 𝑛𝑡ℎ bit. return the 𝑛𝑡ℎ bit.
end end
𝑆𝐼𝐷_𝐵𝐼𝑇 𝑆 = 32 𝑆𝑅𝐼𝐷_𝐵𝐼𝑇 𝑆 = 32
𝑇𝑅 _𝐵𝐼𝑇 𝑆 = 32 𝑇𝑅 _𝐵𝐼𝑇 𝑆 = 32
𝐿 = 𝑆𝐼𝐷_𝐵𝐼𝑇 𝑆 𝐿 = 𝑆𝑅𝐼𝐷_𝐵𝐼𝑇 𝑆
for 𝓁 = 0 to 𝐿 − 1 do for 𝓁 = 0 to 𝐿 − 1 do
if 𝑀𝑇 1 ⊕ 𝑀𝑇′ 1 == (𝑇𝑅 ⊕ 𝑇𝑅′ )⋘𝓁 then if 𝑀𝑇 1 ⊕ 𝑀𝑇′ 1 == (𝑇𝑅 ⊕ 𝑇𝑅′ )⋘𝓁 then
discloses 𝓁 discloses 𝓁
end end
end end
if 𝓁 𝑚𝑜𝑑 2 != 0 then if 𝓁 𝑚𝑜𝑑 2! = 0 then
sets 𝑆𝐼𝐷 = 0 sets 𝑆𝑅𝐼𝐷 = 0
sets 𝑝𝑜𝑠 = 0 sets 𝑝𝑜𝑠 = 0
for 𝑖 = 1 to 𝑆𝐼𝐷_𝐵𝐼𝑇 𝑆 do for 𝑖 = 1 to 𝑆𝑅𝐼𝐷_𝐵𝐼𝑇 𝑆 do
𝑝𝑜𝑠 = (𝑝𝑜𝑠 − 𝓁) mod 𝑆𝐼𝐷_𝐵𝐼𝑇 𝑆 𝑝𝑜𝑠 = (𝑝𝑜𝑠 − 𝓁) mod 𝑆𝑅𝐼𝐷_𝐵𝐼𝑇 𝑆
𝑏𝑖𝑡 = 𝑔𝑒𝑡_𝑏𝑖𝑡(𝑀𝑇 1 ⊕ 𝑇𝑅⋘𝓁 , 𝑝𝑜𝑠)⊕ 𝑔𝑒𝑡_𝑏𝑖𝑡(𝑆𝐼𝐷, 𝑝𝑜𝑠) 𝑏𝑖𝑡 = 𝑔𝑒𝑡_𝑏𝑖𝑡(𝑀𝑇 1 ⊕ 𝑇𝑅⋘𝓁 , 𝑝𝑜𝑠)⊕ 𝑔𝑒𝑡_𝑏𝑖𝑡(𝑆𝑅𝐼𝐷, 𝑝𝑜𝑠)
𝑆𝐼𝐷𝑝𝑜𝑠 = 𝑏𝑖𝑡 𝑆𝐼𝐷𝑝𝑜𝑠 = 𝑏𝑖𝑡
end end
𝑀𝑇∗ 1 = 𝑇𝑅⋘𝓁 ⊕ 𝑆𝐼𝐷⋘𝓁 ⊕ 𝑆𝐼𝐷 𝑀𝑅1∗ = 𝑇 ⋘𝓁 ⊕ 𝑆𝑅𝐼𝐷⋘𝓁 ⊕ 𝑆𝑅𝐼𝐷
𝑅
if 𝑀𝑇∗ 1 == 𝑀𝑇 1 then discloses 𝑆𝐼𝐷 ∗ == 𝑀
if 𝑀𝑅1 𝑇 1 then discloses 𝑆𝑅𝐼𝐷
𝑀𝑇∗ 1 = 𝑇𝑅⋘𝓁 ⊕ 𝑁𝑜𝑡(𝑆𝐼𝐷)⋘𝓁 ⊕ 𝑁𝑜𝑡(𝑆𝐼𝐷) 𝑀𝑅1∗ = 𝑇 ⋘𝓁 ⊕ 𝑁𝑜𝑡(𝑆𝑅𝐼𝐷)⋘𝓁 ⊕ 𝑁𝑜𝑡(𝑆𝑅𝐼𝐷)
𝑅
if 𝑀𝑇∗ 1 == 𝑀𝑇 1 then discloses 𝑆𝐼𝐷 ∗ == 𝑀
if 𝑀𝑅1 𝑅1 then discloses 𝑆𝑅𝐼𝐷
end end

Algorithm 1: The tag’s identifier disclosure attack against Fan et al.’s Algorithm 2: The reader’s identifier disclosure attack against Fan et
authentication protocol. al.’s authentication protocol.

• By using retrieved values for 𝑆𝑅𝐼𝐷 in previous steps, one can 4.4. Implementation of the secret values disclosure attack
compute 𝑀𝑅1 ∗ = 𝑇𝑅 ⋘𝓁 ⊕ 𝑆𝑅𝐼𝐷⋘𝓁 ⊕ 𝑆𝑅𝐼𝐷 and check whether
? In this section, the demonstration of how secret values disclosure
𝑀𝑅1 ∗ == 𝑀𝑅1 is or not. If it holds, then the retrieved 𝑆𝑅𝐼𝐷 is
attack leads to reveal secret values is described. The attack scenario
proper.
is executed using given parameters whose length is 𝐿 = 16 bits
i.e. |𝑀𝑇 1 | = |𝑀𝑅1 | = |𝑆𝐼𝐷| = |𝑆𝑅𝐼𝐷| = |𝑇𝑅 | = 𝐿.

8
F. Nikkhah and M. Safkhani Computer Networks 187 (2021) 107833

Fig. 8. The authentication process of LAPCHS.

Assume that the values used in the two executions of Fan et al.’s 3 bit changes in its bit stream. Therefore the bit arrangement based on
protocol without the secret values being updated at the end of the first Eq. (1) is as follow: 𝑀0 = 𝑆0 ⊕ 𝑆13 ⋘𝓁 , 𝑀 = 𝑆 ⊕ 𝑆 ⋘𝓁 , 𝑀 = 𝑆 ⊕ 𝑆 ⋘𝓁
1 1 14 2 2 15
execution of the protocol are as follows: and etc.
According to 𝓁 = 3, the value of 𝑆13 can be obtained from 𝑀0 ⊕ 𝑆0
𝑆𝐼𝐷 = 1101 1001 0011 0011 = 0𝑥𝑑933
where 𝑀0 = 1 and 𝑆0 = 0, therefore 𝑆13 = 1.
𝑇𝑅 = 1100 0011 1001 1010 = 0𝑥𝑐39𝑎 Step 2. Now, as depicted in Fig. 14, by having 𝑆13 and 𝑀13 and doing
𝑇𝑅′ = 1001 1001 1100 0011 = 0𝑥99𝑐3 an XOR operation between them, we can retrieve 𝑆10 value.
𝑀𝑇 1 = 0000 1100 0111 1011 = 0𝑥0𝑐7𝑏 Step 3. By having 𝑆10 value and then by doing an XOR operation
between 𝑀10 and 𝑆10 as 𝑀10 ⊕ 𝑆10 , 𝑆7 value can be reached.
𝑀𝑇′ 1 = 1101 1110 0001 1100 = 0𝑥𝑑𝑒1𝑐
Step 4. So far, the 𝑆0 , 𝑆13 , 𝑆10 , and 𝑆7 values are retrieved. Same as
First, based on given parameters, the value of (𝓁) can be obtained previous steps, 𝑆4 value can be retrieved from 𝑀7 ⊕ 𝑆7 .
using 𝑀𝑇 1 ⊕ 𝑀𝑇′ 1 = (𝑇𝑅 ⊕ 𝑇𝑅′ )⋘𝓁 that with these assumed values, Analogously, all 𝐿 steps can be performed as above which at each
the value of 𝓁 is equal to 3. Therefore, the values of (𝑇𝑅⋘𝓁=3 ), and step, one bit of the 𝑆𝐼𝐷 value is obtainable. At the final step, the
𝑀 = 𝑀𝑇 1 ⊕ 𝑇𝑅⋘𝓁=3 , are computed as below: value of 𝑆0 will equal zero as is set primarily. According to the tag’s
secret disclosure phase, the values of 𝑆𝐼𝐷 are obtained once assuming
𝑇𝑅⋘𝓁=3 = 0001 1100 1101 0110
𝑆0 = 0 and the other time assuming 𝑆0 = 1. For 𝑆0 = 1, 𝑁𝑂𝑇 (𝑆𝐼𝐷)
𝑀 = 0001 0000 1010 1101 can be calculated in comparison with calculating all the above steps
As easily can be seen in Fig. 14, the 𝑆𝐼𝐷⋘𝓁=3 and 𝑆𝐼𝐷 bit positions instead, which improves the executive order of Algorithm 1. Following
specified in a way that are bit wisely sorted below each other. Assuming Algorithms 1 and 2, we obtain the value of 𝑀𝑇∗ 1 and 𝑀𝑅1 ∗ using the

𝑆𝐼𝐷 be 16 bits, 𝑆𝑖 is the 𝑖th bit of 𝑆𝐼𝐷, and also 𝑀𝑖 is the 𝑖th bit of values of 𝑆𝐼𝐷, 𝑁𝑂𝑇 (𝑆𝐼𝐷), 𝑆𝑅𝐼𝐷 and 𝑁𝑂𝑇 (𝑆𝑅𝐼𝐷).
𝑀. Next, the 𝑆0 value is set as zero (𝑆0 = 0) based on the tag’s secret
disclosure phase of the proposed attack. The proposed attack in Fig. 14 4.5. Forward secrecy contradiction attack
consists of 𝐿 steps, which are described as follows:
Step 1. According to Eq. (1), 𝑀𝑖 = 𝑆𝐼𝐷𝑖 ⊕ 𝑆𝐼𝐷𝑖⋘𝓁 . Based on the Forward secrecy is a property that assumes, if an adversary retrieves
rotation value primarily achieved as 𝓁 = 3, the 𝑆𝐼𝐷 value will have the keys and secret values of the current session, be unable to obtain

9
F. Nikkhah and M. Safkhani Computer Networks 187 (2021) 107833

the keys and secret values used in the previous sessions. In this section, 5. Reader → Tag: 𝑴 𝑻 𝟑 , 𝑻 𝑪
we unfortunately show that, Fan et al.’s protocol does not have this When the reader receives the message, retrieves 𝑥′ as 𝑥′ ⊕ 𝑦′ ⊕ 𝑦′
property. The reason is the invertible function which is used to update and then solves 𝑥′ = 𝑥2 𝑚𝑜𝑑 𝑛 using 𝑝 and 𝑞 and finds four
𝑆𝐼𝐷, i.e. 𝑆𝐼𝐷𝑛𝑒𝑤 = 𝑆𝐼𝐷 + 𝑇𝐶 . Hence, given the current 𝑆𝐼𝐷 value solutions 𝑥1 , 𝑥2 , 𝑥3 and 𝑥4 . Then with each of the solutions,
and the 𝑇𝐶 which have been used in the current session, it is just computes 𝑀𝑇′ 𝑅 = 𝑃 𝑅𝑁𝐺((𝑥 ⊕ 𝑇𝑅 ) ∥ 𝑁) and checks whether
enough that the adversary subtracts the eavesdropped 𝑇𝐶 from the there is any 𝑥𝑗 which its related 𝑀𝑇′ 𝑅 equals to 𝑀𝑇 2 or not. If
current tags or reader secret identifiers as 𝑆𝐼𝐷𝑜𝑙𝑑 = 𝑆𝐼𝐷 − 𝑇𝐶 and so, the reader successfully authenticates the tag. After that, the
𝑆𝑅𝐼𝐷𝑜𝑙𝑑 = 𝑆𝑅𝐼𝐷 − 𝑇𝐶 respectively. The details of forward secrecy reader computes 𝑀𝑇 3 = 𝑃 𝑅𝑁𝐺(𝑥 ⊕ 𝑁) and sends it along with
contradiction attack is represented in Algorithm 3. 𝑇𝐶 to the tag.
Data: 𝑆𝐼𝐷, 𝑆𝑅𝐼𝐷, 𝑇𝐶 6. Tag: If the tests succeed, the tag authenticates the reader.
Result: Obtains 𝑆𝐼𝐷 , 𝑆𝑅𝐼𝐷 As soon as the message received, the tag calculates 𝑀𝑇′ 3 =
?
𝑃 𝑅𝑁𝐺(𝑥 ⊕ 𝑁) and checks whether 𝑀𝑇′ 3 == 𝑀𝑇 3 is or not. If so,
Obtains 𝑆𝐼𝐷 using Algorithm 1 the tag successfully authenticates the reader. That is the reason
Obtains 𝑆𝑅𝐼𝐷 using Algorithm 2 why only the legitimate reader who knows the factorization of
𝑆𝐼𝐷𝑜𝑙𝑑 = 𝑆𝐼𝐷 − 𝑇𝐶 𝑛 i.e. 𝑝 and 𝑞 can solve 𝑥′ = 𝑥2 𝑚𝑜𝑑 𝑛.
𝑆𝑅𝐼𝐷𝑜𝑙𝑑 = 𝑆𝑅𝐼𝐷 − 𝑇𝐶
Updating Phase: This phase of the protocol starts with the tag as
Algorithm 3: The algorithm of finding previous secret identifiers of tag below:
and reader in Fan et al.’s protocol. 1. Tag → Reader: 𝑨𝑻 𝟏
The tag computes 𝑆𝐼𝐷𝑛𝑒𝑤 = 𝑃 𝑅𝑁𝐺
5. Improved protocol: LAPCHS (𝑆𝐼𝐷+𝑇𝐶 ), 𝑥𝑛𝑒𝑤 = 𝑃 𝑅𝑁𝐺(𝑥⊕𝑇𝐶 )⊕𝑇𝐶 , 𝐴𝑇 1 = 𝑃 𝑅𝑁𝐺(𝑆𝐼𝐷𝑛𝑒𝑤 ⊕
𝑇𝑅 ) and sends 𝐴𝑇 1 as updating notification to the reader.
Here, we remedy Fan et al.’s protocol’s security weaknesses, which 2. Reader → Cloud: 𝑨𝑹𝟏 , 𝑨𝑹𝟐 , 𝑨𝑻 𝟏 , 𝑨𝑻 𝟐
leads to proposing a new security protocol for the cloud-based health- After receiving the message, in order to update tag’s record in the
care system, which was called LAPCHS. Our focus in this section has cloud server, the reader computes 𝑥𝑛𝑒𝑤 = 𝑃 𝑅𝑁𝐺(𝑥 ⊕ 𝑇𝐶 ) ⊕ 𝑇𝐶
been to fix Fan et al.’s protocol’s security flaws, not to design a protocol and 𝑥′𝑛𝑒𝑤 = 𝑥2𝑛𝑒𝑤 𝑚𝑜𝑑 𝑛. Moreover, it calculates 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 =
from scratch. Therefore, we have preserved the main structure of Fan 𝑃 𝑅𝑁𝐺(𝑆𝑅𝐼𝐷 + 𝑇𝐶 ), 𝑦𝑛𝑒𝑤 = 𝑃 𝑅𝑁𝐺(𝑦 ⊕ 𝑇𝐶 ) ⊕ 𝑇𝐶 and 𝑦′𝑛𝑒𝑤 =
et al.’s protocol in the proposed protocol. 𝑦2𝑛𝑒𝑤 𝑚𝑜𝑑 𝑛. Then it computes 𝐴𝑅1 = 𝑃 𝑅𝑁𝐺(𝑦′ ⊕ 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 ⊕
LAPCHS protocol includes three phases: initialization phase, authen- 𝑇𝑅 ), 𝐴𝑅2 = 𝑃 𝑅𝑁𝐺(𝑇𝑅 ⊕ 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 ) ⊕ 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 ⊕ 𝑦′𝑛𝑒𝑤 , 𝐴𝑇 1 =
tication phase and updating phase. The last two phases are represented 𝑃 𝑅𝑁𝐺(𝑆𝐼𝐷𝑛𝑒𝑤 ⊕ 𝑇𝑅 ) and 𝐴𝑇 2 = 𝑃 𝑅𝑁𝐺(𝑇𝑅 ⊕ 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 ) ⊕ 𝑥′𝑛𝑒𝑤
in details in Fig. 8. and sends them to the cloud server.
Initialization Phase: In this phase, the administrator generates two 3. Cloud → Reader: 𝑨𝑹𝟑 , 𝑨𝑻 𝟑
512-bit or larger prime numbers i.e. 𝑝 and 𝑞, computes 𝑛 = 𝑝.𝑞 and As soon as the message is received, the cloud server firstly cal-
stores 𝑝, 𝑞 and 𝑛 in the reader. Then the administrator stores the tag’s culates 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 = 𝑃 𝑅𝑁𝐺(𝑆𝑅𝐼𝐷 + 𝑇𝐶 ). Then it checks whether
pseudonym i.e. 𝑆𝐼𝐷 and its secret key 𝑥 in each tag. It also stores the ?
𝑃 𝑅𝑁𝐺(𝑦′ ⊕ 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 ⊕ 𝑇𝑅 ) == 𝐴𝑅1 is or not. If it is ok, the
reader’s pseudonym i.e. 𝑆𝑅𝐼𝐷 and its secret value 𝑦 in the reader. The
cloud server retrieves 𝑦′𝑛𝑒𝑤 from 𝐴𝑅2 as 𝑦′𝑛𝑒𝑤 = 𝐴𝑅2 ⊕𝑃 𝑅𝑁𝐺(𝑇𝑅 ⊕
administrator for each tag, stores its 𝑆𝐼𝐷 and also 𝑥′ , which equals to
𝑆𝑅𝐼𝐷𝑛𝑒𝑤 )⊕𝑆𝑅𝐼𝐷𝑛𝑒𝑤 and updates its reader’s index data table as
𝑥2 𝑚𝑜𝑑 𝑛 in the tag’s index data table in the cloud server. It sets 𝑆𝐼𝐷𝑜𝑙𝑑
and 𝑥′𝑜𝑙𝑑 both to 0. The administrator also for each reader, stores the 𝑦′𝑜𝑙𝑑 ← 𝑦′ , 𝑦′ ← 𝑦′𝑛𝑒𝑤 , 𝑆𝑅𝐼𝐷𝑜𝑙𝑑 ← 𝑆𝑅𝐼𝐷 and 𝑆𝑅𝐼𝐷 ← 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 .
reader’s pseudonym 𝑆𝑅𝐼𝐷 and also 𝑦′ , which equals to 𝑦2 𝑚𝑜𝑑 𝑛 in the Secondly, it computes 𝑆𝐼𝐷𝑛𝑒𝑤 = 𝑃 𝑅𝑁𝐺(𝑆𝐼𝐷 + 𝑇𝐶 ). Then it
?
reader’s index data table in the cloud server. It sets 𝑆𝑅𝐼𝐷𝑜𝑙𝑑 and 𝑦′𝑜𝑙𝑑 checks whether 𝑃 𝑅𝑁𝐺(𝑆𝐼𝐷𝑛𝑒𝑤 ⊕ 𝑇𝑅 ) == 𝐴𝑇 1 is or not. If it
both to 0. is ok, the cloud server retrieves 𝑥′𝑛𝑒𝑤 from 𝐴𝑇 2 as 𝑥′𝑛𝑒𝑤 = 𝐴𝑇 2 ⊕
Authentication Phase: This phase of the protocol starts with the 𝑃 𝑅𝑁𝐺(𝑇𝑅 ⊕ 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 ) and updates its tag’s index data table
reader as below: as 𝑥′𝑜𝑙𝑑 ← 𝑥′ , 𝑥′ ← 𝑥′𝑛𝑒𝑤 , 𝑆𝐼𝐷𝑜𝑙𝑑 ← 𝑆𝐼𝐷 and 𝑆𝐼𝐷 ← 𝑆𝐼𝐷𝑛𝑒𝑤 .
Then it computes 𝐴𝑅3 = 𝑃 𝑅𝑁𝐺(𝑦′𝑛𝑒𝑤 ⊕ 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 ⊕ 𝑇𝑅 ), 𝐴𝑇 3 =
1. Reader → Tag: 𝑸𝒖𝒆𝒓𝒚, 𝑻 𝑹 𝑃 𝑅𝑁𝐺(𝑆𝐼𝐷𝑛𝑒𝑤 ⊕ 𝑁) ⊕ 𝑃 𝑅𝑁𝐺(𝑥′𝑛𝑒𝑤 ⊕ 𝑇𝑅 ) and transmits them to
The reader sends 𝑄𝑢𝑒𝑟𝑦 and the current timestamp 𝑇𝑅 to the tag.
the reader.
2. Tag → Reader: 𝑴 𝑻 𝟏 , 𝑴 𝑻 𝟐 , 𝑵 4. Reader → Tag: 𝑨𝑻 𝟒
As soon as the message received, the tag generates a random Upon receiving the message, the reader at first checks whether
number 𝑁, computes 𝑀𝑇 1 = 𝑃 𝑅𝑁𝐺(𝑇𝑅 ⊕ 𝑆𝐼𝐷) ⊕ 𝑆𝐼𝐷, 𝑀𝑇 2 = ?
𝑃 𝑅𝑁𝐺(𝑦′𝑛𝑒𝑤 ⊕ 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 ⊕ 𝑇𝑅 ) == 𝐴𝑅3 is or not. If it is, that
𝑃 𝑅𝑁𝐺((𝑥 ⊕ 𝑇𝑅 ) ∥ 𝑁) and sends 𝑁, 𝑀𝑇 1 and 𝑀𝑇 2 to the reader.
means the cloud server successfully updates its reader’s index
3. Reader → Cloud: 𝑴 𝑹𝟏 , 𝑴 𝑹𝟐 , 𝑴 𝑻 𝟏 , 𝑵
data table. Afterwards, the reader updates its 𝑆𝑅𝐼𝐷 and 𝑦 as
Once receipt of the message, the reader computes 𝑀𝑅1 =
𝑆𝑅𝐼𝐷𝑛𝑒𝑤 and 𝑦𝑛𝑒𝑤 respectively. Then it calculates 𝐴𝑇 4 = 𝐴𝑇 3 ⊕
𝑃 𝑅𝑁𝐺(𝑇𝑅 ⊕ 𝑆𝑅𝐼𝐷) ⊕ 𝑆𝑅𝐼𝐷, 𝑦′ = 𝑦2 𝑚𝑜𝑑 𝑛, 𝑀𝑅2 = 𝑃 𝑅𝑁𝐺(𝑦′ ⊕
𝑃 𝑅𝑁𝐺(𝑥′𝑛𝑒𝑤 ⊕ 𝑇𝑅 ) and transmits it to the tag.
𝑇𝑅 ) and transmits them along with 𝑁, 𝑀𝑇 1 and 𝑇𝑅 to the cloud
server. 5. Tag: If the tests succeed, the tag updates its secret values.
4. Cloud → Reader: 𝒙′ ⊕ 𝒚 ′ , 𝑻 𝑹 Once received the message, the tag checks whether 𝑃 𝑅𝑁𝐺
?
When the message was received, the cloud server checks whether (𝑆𝐼𝐷𝑛𝑒𝑤 ⊕𝑁) == 𝐴𝑇 4 is or not. If so, means that the cloud server
𝑇𝑡ℎ1 < 𝑇𝑆 − 𝑇𝑅 < 𝑇𝑡ℎ2 is or not. If it is ok, it searches its reader’s successfully updates its tag’s index data table. Then, the tag also
index data table for finding 𝑆𝑅𝐼𝐷 corresponds to 𝑀𝑅1 . If it updates its 𝑆𝐼𝐷 and 𝑥 as 𝑆𝐼𝐷𝑛𝑒𝑤 and 𝑥𝑛𝑒𝑤 respectively.
finds a match, it extracts the reader’s 𝑦′ and using it computes
′ = 𝑃 𝑅𝑁𝐺(𝑦′ ⊕ 𝑇 ) and checks whether 𝑀 ′ == 𝑀 ?
𝑀𝑅2 𝑅 𝑅2 is or
6. LAPCHS security analysis
𝑅2
not. If so, it authenticates the reader. Then it searches its tag’s
index data table for 𝑆𝐼𝐷 corresponds to 𝑀𝑇 1 . If it finds such a In this section, by using informal, also formal method and per-
record extracts its related 𝑥′ and transmits 𝑥′ ⊕ 𝑦′ along with its forming simulations, we prove that our proposed protocol i.e., LAPCHS
current timestamp 𝑇𝐶 to the reader. provides a high level of security and privacy protection.

10
F. Nikkhah and M. Safkhani Computer Networks 187 (2021) 107833

Fig. 9. The LAPCHS protocol written in HLPSL (a) The reader role in HLPSL specification; (b) The tag role in HLPSL specification; (c) The simulation results by the OFMC security
checker; (d) The simulation results by the Cl-AtSe security checker.

6.1. Informal proof Secret Values Disclosure Attack


Since the vulnerability presented in this paper are due to the use
Here, we show that the LAPCHS protocol is resistant against the tag, of 𝑅𝑜𝑡(𝑥, 𝑦) = (𝑥 ⊕ 𝑦)⋘𝓁 where 𝓁 = 𝑦 𝑚𝑜𝑑 𝐿 in Fan et al.’s protocol’s
and reader secret disclosure attack, forward secrecy contradiction at- transferred messages, in the proposed protocol such 𝑅𝑜𝑡(𝑥, 𝑦) function
tack, tag impersonation attack and reader impersonation attack, which was not applied and 128-bit output length 𝑃 𝑅𝑁𝐺 function was used
are presented in this paper. We also show that it provides sufficient instead. Therefore, the proposed secret values disclosure attacks in this
security against other security attacks such as de-synchronization and paper are ineffective to the LAPCHS protocol, and it can resist against
replay attacks. all kinds of secret values disclosure attacks.

11
F. Nikkhah and M. Safkhani Computer Networks 187 (2021) 107833

Fig. 10. The LAPCHS protocol written in SPDL.

Forward Secrecy Contradiction Attack however in the LAPCHS protocol, it was sent through an insecure
As mentioned before, we used 128-bit output length 𝑃 𝑅𝑁𝐺 func- channel as 𝑥′ ⊕ 𝑦′ , so if the adversary follows the tag impersonation
tion instead of 𝑅𝑜𝑡(𝑥, 𝑦) = 𝑥 ⊕ 𝑦⋘𝓁 and also changed 𝑆𝐼𝐷 and 𝑆𝑅𝐼𝐷 attack’s scenario which is presented in this paper and generates 𝑢′ as
update equations to 𝑆𝐼𝐷𝑛𝑒𝑤 = 𝑃 𝑅𝑁𝐺(𝑆𝐼𝐷 + 𝑇 𝐶) and 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 = 𝑥′ and 𝑣′ as 𝑦′ randomly and sends 𝑢′ ⊕ 𝑣′ to the reader as 𝑥′ ⊕ 𝑦′ , the
𝑃 𝑅𝑁𝐺(𝑆𝑅𝐼𝐷+𝑇 𝐶) respectively. Therefore, given that it is not feasible reader understands and does not authenticate the tag.
to retrieve 𝑥 given 𝑃 𝑅𝑁𝐺(𝑥) because 𝑃 𝑅𝑁𝐺 is a one-way function, the Besides, the computation of the update messages is related to 𝑇𝐶 ,
mentioned forward secrecy contradiction attack in this paper does not 𝑇𝑅 , and 𝑁, so replaying them cannot lead to de-synchronization, and
affect the LAPCHS. the cloud server would not accept them. As a result, the LAPCHS
Impersonation and Replay Attacks protocol has resistance against all possible impersonation and replay
In the LAPCHS, 𝑀𝑇 1 and 𝑀𝑇 2 are related to 𝑇𝑅 which are generated attacks.
every session. Also, the tag generates a random number 𝑁 and sends De-synchronization Attack
it to the reader. The reader computes 𝑀𝑇3 using it. Thus, the attacker As previously mentioned about the resistance of the improved proto-
cannot use authentication messages of the previous sessions i.e., 𝑀𝑇1 , col against impersonation and replay attacks, the attacker cannot cause
𝑀𝑇2 , and 𝑀𝑇3 to authenticate his/her as a legitimate reader to the tag. the de-synchronization attack by replaying old update messages nor
The Fan et al.’s protocol’s vulnerability against tag impersonation can s/he disrupt the synchronization by stopping the update messages,
attack is due to sending 𝑥′ = 𝑥2 𝑚𝑜𝑑 𝑛 openly in the insecure channel, because the cloud server holds two copies of the old and new secret

12
F. Nikkhah and M. Safkhani Computer Networks 187 (2021) 107833

Fig. 11. The verification result of the LAPCHS’s security claims using the Scyther tool.

values. On the other side, in calculating of update messages, it used Table 2


Scyther tool security claims.
secret values of each session and also 𝑇𝐶 , 𝑇𝑅 , and 𝑁, then the attacker
cannot forge them. Therefore, against the de-synchronization attack, Security Claim Description

the proposed protocol is resistant. Secret The term claimed by Secret must be protected from
unauthorized access in executions of the protocol except
as defined in the protocol
6.2. Formal proof Niagree Indicates that the sender and receiver agree on their
shared and secret variables exchanged
Here, using the RoR model, we prove that the LAPCHS protocol is Nisynch Means that the receiving and sending events are executed
by the roles, respectively, and with the intended main
completely secure. content
Alive When a role claims and executes this event, s/he thinks
6.2.1. Security proof in ROR model that the other agents are trusted and have already
executed an event
To provide formal security proof of LAPCHS, in this section we
conduct its security in Real-or-Random oracle (RoR) model which is
a widely accepted approach to prove the security of cryptographic
protocols. To prove the security of the target protocol  in this model, time upper-bounded by 𝑡 and makes at most 𝑅 queries, its advantage
the adversary  eligible to do the following query types [39]: to win this game, 𝐴𝑑𝑣𝑅𝑜𝑅 (𝑡, 𝑅), is defined as follows:
,
( )
• Execute query, a query type that can be used to model a passive 𝐴𝑑𝑣𝑅𝑜𝑅
,
(𝑡, 𝑅) = (𝑃 𝑟( → 𝑏0 = 1 ∶ 𝑏 = 1)) − (𝑃 𝑟( → 𝑏0 = 1 ∶ 𝑏 = 0))
adversary  that eavesdrops on the channel.
• Send(𝑆) query, a query type that can be used to model an active The target protocol  offers RoR semantic security if 𝐴𝑑𝑣𝑅𝑜𝑅
,(𝑡,𝑅)
<
adversary. 𝜀(.) where 𝜀(.) being some negligible function. The maximum advantage
• Test(𝑈𝑖 ) query, a query type that can be used to model the is taken over all.
adversary  capability to identify the correct session key of 𝑈𝑖 .
Theorem 1. The upper bound of the adversary’s advantage to distinguish
We also use a predefined bit 𝑏 at the beginning of the security evalua- LAPCHS from an ideal protocol 𝑅𝑊 is as follows, after respectively 𝑞𝑒𝑥𝑒 ,
tion and  is expected to guess it using a clever choice of the queries to 𝑞𝑠𝑒𝑛𝑑 and 𝑞𝑡𝑒𝑠𝑡 queries to Execute, Send and Test oracles to LAPCHS/𝑅𝑊 :
win the game. Finally,  outputs its prediction of 𝑏 as 𝑏0 . The game is
called semantic security in the Real-or-Random (RoR). Assuming  uses 𝐴𝑑𝑣𝑅𝑜𝑅
,𝑅𝑃
(𝑡, 𝑞𝑒𝑥𝑒 ; 𝑞𝑡𝑒𝑠𝑡 ; 𝑞𝑠𝑒𝑛𝑑 ) − 𝐴𝑑𝑣𝑅𝑜𝑅
,𝑅𝑊
(𝑡, 𝑞𝑒𝑥𝑒 ; 𝑞𝑡𝑒𝑠𝑡 ; 𝑞𝑠𝑒𝑛𝑑 ) ≤

13
F. Nikkhah and M. Safkhani Computer Networks 187 (2021) 107833

Fig. 12. The communication cost of LAPCHS compared to other similar protocols.

Table 3 message is selected uniformly random from related domain and


Security comparison.
𝐴𝑑𝑣𝑅𝑜𝑅−0
,𝑅𝑊
(𝑡, 𝑅) = 0
Protocol A1 A2 A3 A4 A5 Game 1 : Compared to 0 , in 1 where ever we have a transferred
Gholami et al. [32] ✓ ✓ ✓ ✓ ✓ message of the structure 𝑃 𝑅𝑁𝐺(.) ⊕ 𝑥 we replace 𝑃 𝑅𝑁𝐺(.) by a true
Chen et al. [29] ✓ ✓ ✓ ✓ ✓
random value but preserve the rest of the message. For example, 𝑀𝑇 1 =
Chiou et al. [40] ✓ ✓ ✓ ✓ ✓
Mansoor et al.[41] ✓ ✓ ✗ ✓ ✓ 𝑃 𝑅𝑁𝐺(𝑇𝑅 ⊕ 𝑆𝐼𝐷) ⊕ 𝑆𝐼𝐷 is modified as 𝑀𝑇 1 = 𝑅𝐴𝑁𝐷 ⊕ 𝑆𝐼𝐷 where
Xiao et al. [36] ✓ ✓ ✓ ✓ ✓ 𝑅𝐴𝑁𝐷 is a fresh random string of identical length of 𝑃 𝑅𝑁𝐺(𝑇𝑅 ⊕𝑆𝐼𝐷).
Fan et al.[38] ✗ ✗ ✗ ✗ ✗ Similarly, we do the same modification to 𝑀𝑅1 = 𝑃 𝑅𝑁𝐺(𝑇𝑅 ⊕𝑆𝑅𝐼𝐷)⊕
LAPCHS ✓ ✓ ✓ ✓ ✓ 𝑆𝑅𝐼𝐷, 𝐴𝑅2 = 𝑃 𝑅𝑁𝐺(𝑇𝑅 ⊕ 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 ) ⊕ 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 ⊕ 𝑦′𝑛𝑒𝑤 , 𝐴𝑇 4 =
A1: Secret Disclosure attack; A2: Backward/Forward Secrecy Contradiction Attack; 𝐴𝑇 3 ⊕𝑃 𝑅𝑁𝐺(𝑥′𝑛𝑒𝑤 ⊕𝑇𝑅 ), 𝐴𝑇 3 = 𝑃 𝑅𝑁𝐺(𝑆𝐼𝐷𝑛𝑒𝑤 ⊕𝑁)⊕𝑃 𝑅𝑁𝐺(𝑥′𝑛𝑒𝑤 ⊕𝑇𝑅 )
A3: De-synchronization attack; A4: Impersonation and Replay Attacks; 𝑥𝑛𝑒𝑤 = 𝑃 𝑅𝑁𝐺(𝑥 ⊕ 𝑇𝐶 ) ⊕ 𝑇𝐶 and 𝑦𝑛𝑒𝑤 = 𝑃 𝑅𝑁𝐺(𝑦 ⊕ 𝑇𝐶 ) ⊕ 𝑇𝐶 . However,
A5: Traceability attack and Anonymity; ✓: Resistant; ✗: Vulnerable.
from information theory, it is clear that the entropy of 𝑅𝐴𝑁𝐷 and
𝑅𝐴𝑁𝐷 ⊕ 𝑥 are identical, for any value of 𝑥. Hence, this modification
Table 4
does not increase the adversary’s advantage, and it can be indicated
Complexity comparison, in terms of number of calls to each function and 𝑧 denotes
the number of the registered tags in the cloud server. that:
Protocol F1 F2 F3 F4 F5 F6 F7 F8 𝐴𝑑𝑣𝑅𝑜𝑅−0
,𝑅𝑊
(𝑡, 𝑅) = 𝐴𝑑𝑣𝑅𝑜𝑅−1
,𝑅𝑊
(𝑡, 𝑅)
Gholami et al.[32] 0 0 7 22 0 0 0 0
Chen et al.[29] 0 0 23 19 0 0 0 33 Game 2 : This game is identical to 𝐺1 exclude that any message
Chiou et al.[40] 0 10 10 0 6 2 0 0 which is computed purely by 𝑃 𝑅𝑁𝐺(.) in real world is also com-
Mansoor et al.[41] 0 0 6 8 0 0 2 22 puted identically in 2 . Hence, we compute these messages as 𝑀𝑇 2 =
Xiao et al.[36] 0 0 10 15 0 0 4 25
Fan et al.[38] 8+𝑧 17 33 0 3 1 0 0
𝑃 𝑅𝑁𝐺((𝑥 ⊕ 𝑇𝑅 ) ∥ 𝑁), 𝑀𝑅2 = 𝑃 𝑅𝑁𝐺(𝑦′ ⊕ 𝑇𝑅 ), 𝑀𝑇 3 = 𝑃 𝑅𝑁𝐺(𝑥 ⊕ 𝑁),
LAPCHS 0 29 + 𝑧 45 0 3 1 0 2 𝐴𝑇 1 = 𝑃 𝑅𝑁𝐺(𝑆𝐼𝐷𝑛𝑒𝑤 ⊕ 𝑇𝑅 ), 𝐴𝑅1 = 𝑃 𝑅𝑁𝐺(𝑦′ ⊕ 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 ⊕ 𝑇𝑅 )
F1:# of 𝑅𝑜𝑡; F2: # of 𝑃 𝑅𝑁𝐺; F3: # of ⊕; F4: # of ℎ(.); F5: # of modulo squaring;
and 𝐴𝑅3 = 𝑃 𝑅𝑁𝐺(𝑦′𝑛𝑒𝑤 ⊕ 𝑆𝑅𝐼𝐷𝑛𝑒𝑤 ⊕ 𝑇𝑅 ). However, the input of
F6: # of square root solving; F7: # of 𝐸(.)∕𝐷(.); F8: # of concatenation. the 𝑃 𝑅𝑁𝐺(.) functions are modified in each session. Hence, it is not
possible to distinguish the game exclude that we can distinguish the
𝑃 𝑅𝑁𝐺(.) from an ideal random generator or achieve a collision in the
(12.𝑞)2 + (6.𝑞)2 (6.𝑞)2 180.𝑞 2 36.𝑞 2 input of the 𝑃 𝑅𝑁𝐺(.) to distinguish 𝑃 𝑅𝑁𝐺(.) from an ideal random
2.𝑞.𝜀𝑄𝑅 + + = 2.𝑞.𝜀𝑄𝑅 + + 𝑛
2𝑙 2 𝑛 2𝑙 2 generator. Therefore, we can conclude that:
where 𝜀𝑄𝑅 denotes the maximum advantage of solving the quadratic residue 𝑅𝑜𝑅− 𝑅𝑜𝑅− (6.𝑞)2
problem on each query, 𝜀𝑃 𝑅𝑁𝐺 denotes the maximum advantage of con- 𝐴𝑑𝑣,𝑅𝑊 2 (𝑡, 𝑅) − 𝐴𝑑𝑣,𝑅𝑊 1 (𝑡, 𝑅) ≤ 6.𝑞.𝜀𝑃 𝑅𝑁𝐺 +
2𝑙
tradicting indistinguishability property of the used 𝑃 𝑅𝑁𝐺(.) from a true where 𝑞 = 𝑞𝑒𝑥𝑒 + 𝑞𝑡𝑒𝑠𝑡 + 𝑞𝑠𝑒𝑛𝑑 and 𝑙 is the minimum input length of
random function and 𝑞 = 𝑞𝑒𝑥𝑒 + 𝑞𝑡𝑒𝑠𝑡 + 𝑞𝑠𝑒𝑛𝑑 . In addition 𝑙 denotes the 𝑃 𝑅𝑁𝐺(.), in those messages.
minimum input length of 𝑃 𝑅𝑁𝐺 in this protocol and 𝑛 is its output length. Game 3 : In this game, we replace the random values which have
been used in 1 by 𝑃 𝑅𝑁𝐺(.). However, similar to 2 , the input of
Proof. To prove the theorem, a game based approach was followed the 𝑃 𝑅𝑁𝐺(.) functions for the involved messages are modified in each
which has been already used in [39,42,43]. In this approach, series of session and it is not possible to distinguish the game exclude that we
games  are defining to bound the adversary’s advantage to distinguish can distinguish the 𝑃 𝑅𝑁𝐺(.) from an ideal random generator or there
the real word from the random one, starting from random world is a collision in the input/output of the 𝑃 𝑅𝑁𝐺(.). Therefore:
𝑅𝑊 and ended in real world LAPCHS for instance. To determine the
adversary’s gains while switching from game 𝑛 to game 𝑛−1 , an event 𝑅𝑜𝑅− 𝑅𝑜𝑅− (12.𝑞)2 (6.𝑞)2
𝑅𝑜𝑅−
𝐴𝑑𝑣,𝑅𝑊 3 (𝑡, 𝑅) − 𝐴𝑑𝑣,𝑅𝑊 2 (𝑡, 𝑅) ≤ 6.𝑞.𝜀𝑃 𝑅𝑁𝐺 + +
𝐴𝑑𝑣, 𝑛 (𝑡, 𝑅) is defined which is corresponding to the adversary’s 2𝑙 2𝑛
advantage to correctly guess the hidden bit 𝑏. It should be noted that where 𝑛 denotes the output length of 𝑃 𝑅𝑁𝐺(.).
the structure of the trivial messages was kept identical in both worlds, Game 4 : In this game, we use the quadratic residue to compute
e.g. timestamps. 𝑥′𝑛𝑒𝑤 = 𝑥2𝑛𝑒𝑤 𝑚𝑜𝑑 𝑛 and 𝑦′𝑛𝑒𝑤 = 𝑦2𝑛𝑒𝑤 𝑚𝑜𝑑 𝑛. However, 𝑥𝑛𝑒𝑤 = 𝑃 𝑅𝑁𝐺(𝑥 ⊕
Game 0 : This game exactly defines 𝑅𝑊 . Hence, any transferred 𝑇𝐶 ) ⊕ 𝑇𝐶 and 𝑦𝑛𝑒𝑤 = 𝑃 𝑅𝑁𝐺(𝑦 ⊕ 𝑇𝐶 ) ⊕ 𝑇𝐶 and we have already given
message is true random string of desired length and any transferred the adversary’s advantage of distinguishing them from random values.

14
F. Nikkhah and M. Safkhani Computer Networks 187 (2021) 107833

Fig. 13. The computational cost of LAPCHS compared to other similar protocols for 𝑧 = 100, as the number of the tags registered in the cloud server.

Table 5
Computational and communication cost comparison where 𝑧, the number of tags on the server, is considered 100 in the calculations.
Protocol Communication cost (bits) Computational cost (ms)
Server Reader Tag
Gholami et al.[32] 36𝑙𝑖𝑑 +2𝑙ℎ +4𝑙𝑟 =1280 3𝑇ℎ + 4𝑡𝑝𝑛𝑔 = 1.6 3𝑇ℎ = 0.76 4𝑇𝑝𝑛𝑔 = 0.08
Chen et al.[29] 3𝑙𝑖𝑑 +2𝑙𝑟 +10𝑙ℎ +7𝑙𝑡 =1920 9𝑇ℎ = 2.28 2𝑇ℎ = 0.51 8𝑇ℎ = 2.02
Chiou et al. [40] 3𝑙𝑖𝑑 +3𝑙𝑝 +2𝑙𝑡 +3𝑙𝑚 = 4000 5𝑇𝑝𝑛𝑔 + 2𝑇𝑚 + 2𝑇𝑠𝑙𝑣 = 10.86 5𝑇𝑝𝑛𝑔 + 2𝑇𝑚 = 3.86 2𝑇𝑝𝑛𝑔 + 2𝑇𝑚 = 3.83
Mansoor et al.[41] 𝑙𝑖𝑑 +3𝑙𝑟 +6𝑙ℎ +5𝑙𝑡 +4𝑙𝑒 = 1728 4𝑇ℎ + 2𝑇𝑒𝑛𝑐 = 18.41 2𝑇ℎ = 0.51 2𝑇ℎ = 0.51
Xiao et al. [36] 𝑙𝑖𝑑 +2𝑙𝑟 +6𝑙ℎ +3𝑙𝑒 =1376 2𝑇ℎ + 𝑇𝑒𝑛𝑐 = 9.21 8𝑇ℎ + 3𝑇𝑒𝑛𝑐 = 28.12 2𝑇ℎ = 1.52
Fan et al.[38] 5𝑙𝑖𝑑 +9𝑙𝑝 +4𝑙𝑡 + 𝑙𝑚 + 𝑙𝑞 = 2800 6𝑇𝑝𝑛𝑔 = 0.13 7𝑇𝑝𝑛𝑔 + 3𝑇𝑚 + 𝑇𝑠𝑙𝑣 = 9.32 4𝑇𝑝𝑛𝑔 = 0.09
LAPCHS 14𝑙𝑝 + 2𝑙𝑟 +4𝑙𝑡 + 𝑙𝑚 + 𝑙𝑞 = 3072 9𝑇𝑝𝑛𝑔 + 𝑧 = 2.289 13𝑇𝑝𝑛𝑔 + 3𝑇𝑚 + 𝑇𝑠𝑙𝑣 = 9.44 7𝑇𝑝𝑛𝑔 = 0.15

Hence, the adversary will be able to distinguish this game if s/he can searcher), SATMC (sat based model-checker) and TA4SP(tree automata-
solve the quadratic residue challenge. Therefore: based protocol analyzer). Finally, it shows that whether security proto-
𝑅𝑜𝑅− 𝑅𝑜𝑅− cols are safe or not against various security attacks in Dolev–Yao (DY)
𝐴𝑑𝑣,𝑅𝑊 4 (𝑡, 𝑅) − 𝐴𝑑𝑣,𝑅𝑊 3 (𝑡, 𝑅) ≤ 2.𝑞.𝜀𝑄𝑅
adversary model [47].
However, this game is identical to LAPCHS, because we follow its In the HLPSL specification of the LAPCHS, it comprises five roles:
structure for any transferred message. Hence: (1) role reader which has been played by 𝑅, (2) role tag which has been
𝑅𝑜𝑅− 𝑅𝑜𝑅−
played by 𝑇 , (3) role cloud which has been played by 𝐶, (4) role session
𝐴𝑑𝑣𝑅𝑜𝑅 𝑅𝑜𝑅 4 0
,𝐿𝐴𝑃 𝐶𝐻𝑆 (𝑡, 𝑅) − 𝐴𝑑𝑣,𝑅𝑊 (𝑡, 𝑅) ≤ 𝐴𝑑𝑣,𝑅𝑊 (𝑡, 𝑅) − 𝐴𝑑𝑣,𝑅𝑊 (𝑡, 𝑅) ≤ for describing how to combine participants, (5) role environment that
(12.𝑞)2 + (6.𝑞)2 (6.𝑞)2 180.𝑞 2 36.𝑞 2 includes initial knowledge of the intruder and the scenario to be exe-
2.𝑞.𝜀𝑄𝑅 + + = 2.𝑞.𝜀𝑄𝑅 + +
2𝑙 2𝑛 2𝑙 2𝑛 cuted. The section goal explains the security properties of the LAPCHS
which completes the proof. □ protocol. The headers of roles contain agents, nonces, functions, and
send/receive channels of the Dolev–Yao (DY) model [47].
6.3. Simulations Fig. 9 shows HLPSL specification of LAPCHS protocol’s roles and
also security analysis results of the LAPCHS protocol by the AVISPA
In this section, LAPCHS protocol has been simulated using the tool. This figure indicates OFMC and Cl-AtSe back-ends results that
AVISPA [44] and the Scyther tools [45]. show the LAPCHS protocol is safe and confirm that all security goals
have been obtained.
6.3.1. Avispa tool
The AVISPA tool receives the protocol in High-Level Protocol Spec- 6.3.2. Scyther tool
ification Language (HLPSL) [46], then its Hlpsl2if translator converts In this paper, we also used the Scyther tool [45] for security analysis
an HLPSL specification into the Intermediate Format (IF) and gen- of the LAPCHS protocol. The Scyther tool receives a protocol as input
erates the security verification result under four back-ends including in Security Protocol Description Language (SPDL) and detects possible
OFMC(on-the-fly model checker), CL-AtSe(constraint-logic-based attack attacks and protocol behaviors based on its different attacks scenarios.

15
F. Nikkhah and M. Safkhani Computer Networks 187 (2021) 107833

Fig. 14. Numerical results of the proposed 𝑆𝐼𝐷 disclosure attack against Fan et al.’s protocol.

The fundamental component of a security protocol in SPDL is its (e.g. 16 bits), 𝑇ℎ as the time required for performing a hash operation,
security claims that are analyzed by the Scyther tool. The security 𝑇𝑒𝑛𝑐 as the time required for performing an encryption/decryption
claims of Scyther and their description are listed in Table 2. operation, 𝑇𝑝𝑛𝑔 as the time required for performing a 𝑃 𝑅𝑁𝐺 function,
The LAPCHS protocol in Scyther language i.e. Security Protocol 𝑇𝑟𝑜𝑡 as the time required for performing a rotation operation, 𝑇𝑥𝑜𝑟 as
Description Language (SPDL) and its security verification result of the the time required for performing an exclusive-OR (XOR) operation, 𝑇𝑚
LAPCHS protocol, are shown in Fig. 10 and Fig. 11 respectively. It
as the time required for performing a modulo squaring, 𝑇𝑐𝑜𝑛 as the
can be seen that, all the security features of this protocol are verified
time required for performing a concatenation operation and 𝑇𝑠𝑙𝑣 as
correctly.
the time required for solving a square root are used. Based on [48],
7. Performance comparison in an experimental simulation environment with an Intel Core i5-
2.30 GHz processor and RAM 4 GB, the computation time for the hash
In this section, we compare our proposed protocol, i.e. LAPCHS, function, symmetric encryption/decryption, modulo squaring, square
with other similar protocols. In Tables 3–5, we compare the security root solving and 𝑃 𝑅𝑁𝐺 are 0.253 ms, 8.7 ms, 1.896 ms, 3.481 ms,
properties, computational time and the communication cost of the and 0.021 ms, respectively. We also ignored the computational time
LAPCHS protocol with similar protocols in this area, respectively. For of 𝑅𝑜𝑡, 𝑋𝑂𝑅, and concatenation operations for all protocols, because
comparison, we used protocols similar in terms of operations type used these operations are ultra-lightweight and not costly. As can be easily
in Fan et al.’s and LAPCHS protocols, and omitted the comparison seen in Tables 4 and 5, Figs. 12 and 13, the cost of the LAPCHS protocol
of protocols that are quite different in terms of operations used. Ta- in the tag side is among the smallest costs, in the reader and the
ble 3 shows that LAPCHS, unlike previous protocols, was able to meet
server side is also reasonable, compared with other related protocols.
different types of security features.
However, if we increase number of tags in the database, the server’s
Using [40], the symbols used in Table 4 are as follows: 𝑙𝑖𝑑 as the
computational cost increases linearly in the term of number of tags.
length of 𝑆𝐼𝐷, 𝑆𝑅𝐼𝐷 and 𝐼𝐷 (e.g. 96 bits), 𝑙ℎ as the output length
of hash function (e.g. 128 bits), 𝑙𝑒 as the output length of symmetric However, servers are usually not computationally constrained and this
encryption/decryption function (e.g. 128 bits), 𝑙𝑡 as the length of time increase in server cost due to providing security could be acceptable for
(e.g. 32 bits), 𝑙𝑚 as the length of modulo squaring (e.g. 1024 bits), 𝑙𝑟 many applications, because this cost is paid to provide desired security
as the length of random number (e.g. 64 bits), 𝑙𝑝 as the output length against various known active and passive attacks including preserving
of 𝑃 𝑅𝑁𝐺 (e.g. 128 bits), 𝑙𝑞 as the length of query or Hello message privacy (see Table 3).

16
F. Nikkhah and M. Safkhani Computer Networks 187 (2021) 107833

8. Conclusion [10] H.-Y. Chien, SASI: a new ultralightweight RFID authentication protocol provid-
ing strong authentication and strong integrity, IEEE Trans. Dependable Secur.
In this paper, we presented a heuristic and efficient reader and Comput 4 (4) (2007) 337–340.
[11] S. Kumar, C. Paar, Are standards compliant elliptic curve cryptosystems feasible
tag secret identifiers disclosure attack, forward secrecy contradiction
on RFID, in: Workshop on RFID Security, Citeseer, 2006, pp. 12–14.
attack, reader impersonation and tag impersonation attacks against [12] S. Sundaresan, R. Doss, S. Piramuthu, W. Zhou, A secure search protocol for low
one cloud-based RFID health-care authentication protocol. The success cost passive RFID tags, Comput. Netw. 122 (2017) 70–82.
probability of any attack, presented in this paper, is one and their com- [13] P. Gope, J. Lee, T.Q. Quek, Lightweight and practical anonymous authentication
plexity is only two sessions eavesdropping, interrupting one message of protocol for RFID systems using physically unclonable functions, IEEE Trans. Inf.
protocol and doing some negligible computations. Forensics Secur. 13 (11) (2018) 2831–2843.
[14] P. Gope, R. Amin, S.H. Islam, N. Kumar, V.K. Bhalla, Lightweight and privacy-
We also proposed a new secure cloud-based RFID authentication
preserving RFID authentication scheme for distributed IoT infrastructure with
protocol for employment in health-care systems named LAPCHS. Our secure localization services for smart city environment, Future Gener. Comput.
informal and formal security analysis of the LAPCHS protocol through Syst. 83 (2018) 629–637.
Real-or-Random (RoR) model and also security simulations through [15] R. Doss, R. Trujillo-Rasua, S. Piramuthu, Secure attribute-based search in
AVISPA and Scyther tools showed a suitable security level against RFID-based inventory control systems, Decis. Support Syst. (2020) 113270.
different attacks. [16] W. Zhang, S. Liu, S. Wang, B. Yi, L. Wu, An efficient lightweight RFID
authentication protocol with strong trajectory privacy protection, Wirel. Pers.
Examining the security of protocols and presenting various attacks
Commun. 96 (1) (2017) 1215–1228.
against them assists to the development of the science of designing [17] M. Khalid, U. Mujahid, N.-u.-I. Muhammad, Ultralightweight RFID authentication
security protocols. It also allows protocol designers to be aware of protocols for low-cost passive RFID tags, Secur. Commun. Netw. 2019 (2019).
these attack scenarios, which are largely based on the creativity of the [18] H. Luo, G. Wen, J. Su, Z. Huang, SLAP: succinct and lightweight authentication
analyst, as well as designing their protocol in such a way that can be protocol for low-cost RFID system, Wirel. Netw. (2018).
resistant against different active and passive attacks. [19] K. Fan, N. Ge, Y. Gong, H. Li, R. Su, Y. Yang, An ultra-lightweight RFID
authentication scheme for mobile commerce, Peer-to-Peer Netw. Appl. 10 (2)
(2017) 368–376.
CRediT authorship contribution statement [20] P. Gope, Y. Gheraibia, S. Kabir, B. Sikdar, A secure IoT-based modern healthcare
system with fault-tolerant decision making process, IEEE J. Biomed. Health Inf.
Fahimeh Nikkhah: Conception and design of study, Acquisition of (2020).
data, Analysis and/or interpretation of data, Software, Writing - origi- [21] M. Shuai, B. Liu, N. Yu, L. Xiong, Lightweight and secure three-factor authenti-
nal draft, Writing - review & editing. Masoumeh Safkhani: Conception cation scheme for remote patient monitoring using on-body wireless networks,
Secur. Commun. Netw. 2019 (2019).
and design of study, Acquisition of data, Analysis and/or interpretation
[22] F. Wang, G. Xu, G. Xu, Y. Wang, J. Peng, A robust IoT-based three-factor
of data, Validation, Supervision, Formal analysis, Writing - original authentication scheme for cloud computing resistant to session key exposure,
draft, Writing - review & editing. Wirel. Commun. Mob. Comput. 2020 (2020).
[23] C.-T. Li, C.-C. Lee, C.-Y. Weng, A secure cloud-assisted wireless body area
Declaration of competing interest network in mobile emergency medical care system, J. Med. Syst. 40 (5) (2016)
117.
[24] C.-T. Li, C.-C. Lee, C.-Y. Weng, An extended chaotic maps based user au-
The authors declare that they have no known competing finan-
thentication and privacy preserving scheme against DoS attacks in pervasive
cial interests or personal relationships that could have appeared to
and ubiquitous computing environments, Nonlinear Dynam. 74 (4) (2013)
influence the work reported in this paper. 1133–1143.
[25] C.-C. Lee, C.-W. Hsu, Y.-M. Lai, A. Vasilakos, An enhanced mobile-healthcare
Acknowledgments emergency system based on extended chaotic maps, J. Med. Syst. 37 (5) (2013)
9973.
We would like to thank Dr. Negin Daneshpour for her valuable [26] K. Fan, W. Jiang, H. Li, Y. Yang, Lightweight RFID protocol for medical privacy
protection in IoT, IEEE Trans. Ind. Inf. 14 (4) (2018) 1656–1665.
comments, which helped us improve the manuscript.
[27] S.F. Aghili, H. Mala, P. Kaliyar, M. Conti, SecLAP: Secure and lightweight RFID
This work was supported by Shahid Rajaee Teacher Training Uni- authentication protocol for medical IoT, Future Gener. Comput. Syst. 101 (2019)
versity, Iran. 621–634.
[28] M. Safkhani, S. Rostampour, Y. Bendavid, N. Bagheri, IoT in medical & pharma-
References ceutical: Designing lightweight RFID security protocols for ensuring supply chain
integrity, Comput. Netw. 181 (2020) 107558.
[1] C.-T. Li, C.-Y. Weng, C.-C. Lee, A secure RFID tag authentication protocol with [29] X. Chen, D. Geng, J. Zhai, W. Liu, H. Zhang, T. Zhu, Security analysis and
privacy preserving in telecare medicine information system, J. Med. Syst. 39 (8) enhancement of the most recent RFID protocol for telecare medicine information
(2015) 77. system, Wirel. Pers. Comun. (2020).
[2] J. Kang, Lightweight mutual authentication RFID protocol for secure multi-tag [30] M. Benssalah, M. Djeddou, K. Drouiche, Security analysis and enhancement of
simultaneous authentication in ubiquitous environments, J. Supercomput. 75 (8) the most recent RFID authentication protocol for telecare medicine information
(2019) 4529–4542. system, Wirel. Pers. Commun. 96 (4) (2017) 6221–6238.
[3] K. Finkenzeller, RFID Handbook: Fundamentals and Applications in Contactless [31] P. Dass, H. Om, A secure authentication scheme for RFID systems, Procedia
Smart Cards, Radio Frequency Identification and Near-Field Communication, Comput. Sci. 78 (2016) 100–106.
John wiley & sons, 2010. [32] V. Gholami, M.R. Alagheband, Provably privacy analysis and improvements
[4] V. Sureshkumar, R. Amin, M.S. Obaidat, I. Karthikeyan, An enhanced mutual of the lightweight RFID authentication protocols, Wirel. Netw. 26 (3) (2020)
authentication and key establishment protocol for TMIS using chaotic map, J. 2153–2169.
Inf. Secur. Appl. 53 (2020) 102539. [33] S.F. Aghili, H. Mala, Security analysis of an ultra-lightweight RFID authentication
[5] D. Kumar, H.S. Grover, et al., A secure authentication protocol for wearable protocol for m-commerce, Int. J. Commun. Syst. 32 (3) (2019) e3837.
devices environment using ECC, J. Inf. Secur. Appl. 47 (2019) 8–15. [34] F.M. Salem, R. Amin, A privacy-preserving RFID authentication protocol based
[6] P. Dodangeh, A.H. Jahangir, A biometric security scheme for wireless body area on el-gamal cryptosystem for secure TMIS, Inform. Sci. (2019).
networks, J. Inf. Secur. Appl. 41 (2018) 62–74. [35] A. Team, et al., HLPSL tutorial the beginner’s guide to modelling and analysing
[7] L. Sportiello, ‘‘Internet of Smart Cards’’: A pocket attacks scenario, Int. J. Crit. internet security protocols, 2006.
Infrastruct. Prot. 26 (2019) 100302. [36] H. Xiao, A.A. Alshehri, B. Christianson, A cloud-based RFID authenti-
[8] C.-C. Lee, T.-H. Lin, C.-S. Tsai, A new authenticated group key agreement in a cation protocol with insecure communication channels, in: 2016 IEEE
mobile environment, Ann. Telecommun. 64 (11–12) (2009) 735. Trustcom/BigDataSE/ISPA, IEEE, 2016, pp. 332–339.
[9] P. Porambage, A. Braeken, C. Schmitt, A. Gurtov, M. Ylianttila, B. Stiller, [37] K. Fan, Q. Luo, K. Zhang, Y. Yang, Cloud-based lightweight secure RFID mutual
Group key establishment for secure multicasting in IoT-enabled wireless sensor authentication protocol in IoT, Inform. Sci. (2019).
networks, in: 2015 IEEE 40th Conference on Local Computer Networks (LCN), [38] K. Fan, S. Zhu, K. Zhang, H. Li, Y. Yang, A lightweight authentication scheme
IEEE, 2015, pp. 482–485. for cloud-based RFID healthcare systems, IEEE Netw. 33 (2) (2019) 44–49.

17
F. Nikkhah and M. Safkhani Computer Networks 187 (2021) 107833

[39] M. Abdalla, P. Fouque, D. Pointcheval, Password-based authenticated key ex- [47] D. Dolev, A. Yao, On the security of public key protocols, IEEE Trans. Inf. Theory
change in the three-party setting, in: S. Vaudenay (Ed.), Public Key Cryptography 29 (2) (1983) 198–208.
- PKC 2005, 8th International Workshop on Theory and Practice in Public Key [48] Z. Zhou, P. Wang, Z. Li, A quadratic residue-based RFID authentication protocol
Cryptography, Les Diablerets, Switzerland, January 23–26, 2005, Proceedings, with enhanced security for TMIS, J. Ambient Intell. Humaniz. Comput. 10 (9)
in: Lecture Notes in Computer Science, vol. 3386, Springer, 2005, pp. 65–84. (2019) 3603–3615.
[40] S.-Y. Chiou, S.-Y. Chang, An enhanced authentication scheme in mobile RFID
system, Ad Hoc Netw. 71 (2018) 1–13.
[41] K. Mansoor, A. Ghani, S.A. Chaudhry, S. Shamshirband, S.A.K. Ghayyur, A.
Fahimeh Nikkhah received her B.Sc. degree in Computer
Mosavi, Securing IoT-based RFID systems: A robust authentication protocol using
Software from the department of computer engineering at
symmetric cryptography, Sensors 19 (21) (2019) 4752.
Dr. Shariati vocational and Technical College in 2011. She is
[42] M. Hosseinzadeh, O.H. Ahmed, S.H. Ahmed, C. Trinh, N. Bagheri, S. Kumari, J.
currently an M.Sc. student at Shahid Rajaee Teacher Train-
Lansky, B. Huynh, An enhanced authentication protocol for RFID systems, IEEE
ing University, Tehran, Iran. She is interested in Security of
Access 8 (2020) 126977–126987.
Telecare Medical Information Systems and RFID.
[43] M. Safkhani, N. Bagheri, S. Kumari, H. Tavakoli, S. Kumar, J. Chen, RESEAP: an
ECC-based authentication and key agreement scheme for IoT applications, IEEE
Access 8 (2020) 200851–200862.
[44] A. Armando, D. Basin, Y. Boichut, Y. Chevalier, L. Compagna, J. Cuéllar, P.H.
Drielsma, P.-C. Héam, O. Kouchnarenko, J. Mantovani, et al., The AVISPA tool
for the automated validation of internet security protocols and applications, in: Masoumeh Safkhani is an Associate Professor at Computer
International Conference on Computer Aided Verification, Springer, 2005, pp. Engineering Department, Shahid Rajaee Teacher Training
281–285. University, Tehran, Iran. She received her Ph.D. in Electrical
[45] C.J.F. Cremers, Scyther: semantics and verification of security protocols, Engineering from Iran University of Science and Technology
Eindhoven University of Technology Eindhoven, Netherlands, 2006. (IUST), 2012, with the security analysis of RFID protocols
[46] D. Von Oheimb, The high-level protocol specification language HLPSL developed as her major field. Her current research interests include the
in the EU project AVISPA, in: Proceedings of APPSEM 2005 Workshop, 2005, security analysis of lightweight and ultra-lightweight proto-
pp. 1–17. cols, targeting constrained environments such as RFID, IoT,
VANET and WSN. She is the author/coauthor of more than
50 technical articles in information security and cryptology
in major international journals and conferences.

18

You might also like