Next Article in Journal
Fluorescence Detecting of Paraquat and Diquat Using Host–Guest Chemistry with a Fluorophore-Pendant Calix[6]arene
Next Article in Special Issue
A Survey of AI-Based Anomaly Detection in IoT and Sensor Networks
Previous Article in Journal
Model of the Performance Based on Artificial Intelligence–Fuzzy Logic Description of Physical Activity
Previous Article in Special Issue
Detecting Inference Attacks Involving Raw Sensor Data: A Case Study
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Improved Lightweight User Authentication Scheme for the Internet of Medical Things

1
Department of Electrical and Computer Engineering, Sungkyunkwan University, 2066 Seobu-ro, Jangan-gu, Suwon-si 16419, Republic of Korea
2
Department of Computer Science and Engineering, Sungkyunkwan University, 2066 Seobu-ro, Jangan-gu, Suwon-si 16419, Republic of Korea
3
Department of IT Software Security, Howon University, 64 Impi-myeon, Howondae 3-gil, Gunsan-si 54058, Republic of Korea
4
Department of Computer Engineering, Sungkyunkwan University, 2066 Seobu-ro, Jangan-gu, Suwon-si 16419, Republic of Korea
*
Author to whom correspondence should be addressed.
Sensors 2023, 23(3), 1122; https://doi.org/10.3390/s23031122
Submission received: 31 December 2022 / Revised: 15 January 2023 / Accepted: 15 January 2023 / Published: 18 January 2023
(This article belongs to the Special Issue Data and Privacy Management in Sensor Networks)

Abstract

:
The Internet of Medical Things (IoMT) is used in the medical ecosystem through medical IoT sensors, such as blood glucose, heart rate, temperature, and pulse sensors. To maintain a secure sensor network and a stable IoMT environment, it is important to protect the medical IoT sensors themselves and the patient medical data they collect from various security threats. Medical IoT sensors attached to the patient’s body must be protected from security threats, such as being controlled by unauthorized persons or transmitting erroneous medical data. In IoMT authentication, it is necessary to be sensitive to the following attack techniques. (1) The offline password guessing attack easily predicts a healthcare administrator’s password offline and allows for easy access to the healthcare worker’s account. (2) Privileged-insider attacks executed through impersonation are an easy way for an attacker to gain access to a healthcare administrator’s environment. Recently, previous research proposed a lightweight and anonymity preserving user authentication scheme for IoT-based healthcare. However, this scheme was vulnerable to offline password guessing, impersonation, and privileged insider attacks. These attacks expose not only the patients’ medical data such as blood pressure, pulse, and body temperature but also the patients’ registration number, phone number, and guardian. To overcome these weaknesses, in the present study we propose an improved lightweight user authentication scheme for the Internet of Medical Things (IoMT). In our scheme, the hash function and XOR operation are used for operation in low-spec healthcare IoT sensor. The automatic cryptographic protocol tool ProVerif confirmed the security of the proposed scheme. Finally, we show that the proposed scheme is more secure than other protocols and that it has 266.48% better performance than schemes that have been previously described in other studies.

1. Introduction

The Internet of Medical Things (IoMT) represents a combination of the healthcare field and the IoT ecosystem that can be used to create, collect, transmit, and analyze medical data through the connection of various healthcare IT systems, healthcare sensors, and healthcare management programs [1,2]. With the continued evolution of IoT technology and the outbreak of COVID-19, IoMT gaining increased interest as it can enable personalized medical information management, real–time health tracking and monitoring but also remote treatment [3].
However, there may be various security problems in the IoMT environment when dealing with sensitive medical information [4,5], such as the following:
1.
First, if malicious cyberattacks can take control of healthcare sensors attached to a patient’s body, this might not only result in inaccurate data collection but also put the patient’s health at risk.
2.
Second, malicious cyberattacks can expose sensitive patient data and medical information.
3.
Third, since IoMT uses low–power wearable healthcare sensors, the protocol used is not lightweight, and it therefore may be difficult to operate normally or to provide real–time service due to the need for time–consuming computation.
Therefore, further develop the IoMT environment, it is crucial to maintain security for medical systems and IoT devices and to support lightweight security protocols for implementing them.
We implemented and analyzed a suitable scheme for IoMT using the following method. For safety, we not only use a simple password base but also introduce a fuzzy extractor, i.e., it is a biometric-based authentication method. We also propose a system model and an attack model to complement the weaknesses of Masud et al. [6]. We analyze the vulnerabilities of Masud et al. [6] based on the system model and attack model and propose our new IoMT scheme. We analyze the safety of the proposed scheme using a formal analysis and an informal analysis and calculate the cost of computation. Lastly, we analyze how efficient the computational cost is compared to those of other schemes.

1.1. Our Contribution

We proposed a secure and lightweight user authentication scheme for IoMT by improving on Masud et al. [6]’s scheme by addressing the possible threats involved. In summary, we make the following contributions:
1.
First, to overcome offline password-guessing attacks, we added biometrics authentication methods that can only authenticate the user when an actual user is present. Further, to protect against replay attacks, we added logic to ensure that the gateway authenticates the user and the freshness of the user’s message in the authentication phase. Finally, to overcome privileged insider attacks, we deleted the secret information that shared between the user and the sensor in the registration phase immediately following the registration phase.
2.
We proposed a lightweight security protocol that mainly uses a hash function and XOR operation to run low-spec healthcare sensors.
3.
The proposed scheme is designed to protect against various security threats such as offline password guessing attacks, privileged insider attacks, user impersonation attacks, replay attacks, and session key disclosure attacks. It also ensures user anonymity.

1.2. Organization of Our Paper

The rest of this paper is organized as follows: Section 3 presents the preliminaries about the fuzzy extractor, system model, and attack model. Section 4 presents the scheme reported by Masud et al. [6]. Section 5 demonstrates the scheme reported by Masud et al. [6]. Section 6 presents our improved scheme. Section 7 provides formal and informal security analysis. Section 8 provides a performance analysis. Section 9 provides discussion of performance. Finally, Section 10 presents our conclusion.

2. Related Work

Even until recently, most healthcare systems could only be accessed using a password. Password-based authentication [7,8] is the most popular method for user authentication. However, it is unfortunately not suitable for use in a sensitive system that requires strong security because it contains various security threats. For example, password-based authentication can lead to unintentional password sharing when someone looks over the user’s shoulder and sees the user’s password. Anyone who knows this password can access the system on behalf of the user. Moreover, a password guessing attack is possible, in which the attacker guesses the user’s password and attempts authentication until finding success.
Password-based authentication schemes can also be exposed to various security threats, so to overcome the security threats of password-based authentication, two–factor authentication using a smart card has been introduced. In 2012, Wu et al. [9] proposed a secure authentication scheme for TMIS using a smart card and a password. However, Debiao et al. [10] pointed out that this scheme was vulnerable to impersonation attacks and insider attacks. Meanwhile, Wei et al. [11] pointed out that the scheme was vulnerable to offline password guessing attacks. To overcome these problems, Debiao et al. [10] proposed a more secure authentication scheme using a smart card and a password. However, Wei et al. [11] pointed out that this scheme also was vulnerable to offline password guessing attacks if the user were to lose his or her smart card. Consequently, a three-factor authentication using a password, a smart card, and biometrics, i.e., fingerprint and face recognition, has been introduced to achieve a higher level of security [12,13,14,15]. Wu et al. [12] proposed an improved and provably secure three-factor user authentication scheme for wireless sensor networks. However, Ryu et al. [13] pointed out that this scheme was vulnerable to user impersonation attacks and that it could not preserve the user’s anonymity could not be preserved. A summary of each scheme’s weaknesses is presented in Table 1.
Recently, Masud et al. [6] proposed a lightweight and anonymity preserving user authentication scheme for IoT–based healthcare. In the present study, we specifically focused on the use of lightweight protocols to support resource–constrained devices. However, we found various security threats, since this paper only provides user authentication using a password to remain lightweight. While it is important to keep in mind that supporting lightweight security protocols in an IoMT environment is one of the most important considerations, maintaining security is the most foundational requirement. One of the fatal security threats to which Masud et al. [6]’s scheme is vulnerable is an offline-password attack. If an attacker steals a valid authentication message in any authentication phase that is communicated via a public channel, the attacker can guess the user’s valid password while offline. Masud et al. [6]’s scheme is also vulnerable to replay attacks and privileged insider attacks. Through such attack, an attacker could log in by stealing the user’s password and disguising themselves as the user. An attacker could also enter information on behalf of the user or have access to the user’s information as the user.
Although Masud et al. [6]’s scheme exhibited better performance to maintain security for IoMT, it still has a security challenge. Therefore, we proposed an improved lightweight user authentication scheme for IoMT that improved upon Masud et al. [6]’s scheme and reduces reduced the computational cost compared to related studies.

3. Preliminaries

In this section, we introduce the fuzzy extractor, the system model which we made, and the attack model. The details are as follows:

3.1. Fuzzy Extractor

Biometric information is the best way to authenticate and verify users [16,17,18]. In 2004, Dodis et al. [19] proposed the Fuzzy Extractor to obtain a unique bit string extracted from the biometric template. A fuzzy extractor is a tuple ( M , m e , l , τ , ϵ ) that has two algorithms Gen and Rep , which are expressed as follows [12]:
Gen ( w i ) = ( R i , P b i )
The above result means that the fuzzy extractor can generate the secret string R i and P b i . w i is a U i ’s original collected biometric data.
R e p ( w i , P b i ) = R i
The above result means that the fuzzy extractor can recover the secret string R i that is generated by the G e n algorithm.

3.2. System Model

Figure 1 shows the system model of the proposed scheme. In our scheme, there are three entities: the User, Medical Service Gateway (Gateway), and Healthcare IoT Sensor Node (Sensor Node).
1.
Medical Service Gateway (Gateway): Since the user and the sensor node do not communicate with each other directly, the gateway is responsible for authentication and passing the communication between the user and the sensor node.
2.
Healthcare IoT Sensor Node (Sensor Node): The Healthcare IoT Sensor Node is attached to the patient’s body and collects the patient’s medical data. The Healthcare IoT Sensor Node is connected to the healthcare network and transmits the patient’s medical data to the user through a Gateway.
3.
Doctor (User): The user is a doctor who can access the patient’s medical information that has been collected from the sensor node to inform the patient’s treatment.

3.3. Attack Model

For security analysis in our scheme, we consider the following attack model [20,21,22]:
1.
The attacker can extract the data in the device that stores some security parameters.
2.
The attacker can access the public communication channel, at which point the attacker can interrupt, return, amend and eliminate or transmit the message.
3.
The attacker can calculate the identity and password in polynomial time.

4. Review of the Scheme Presented by Masud et al. [6]

In this section, we briefly review Masud et al.’s scheme [6] that only uses password protection to only let legitimate users access the IoT sensor node to obtain the patient’s health information. The notations and Masud et al. [6]’s scheme are described in Table 2 and Table 3, respectively.
Masud et al. [6]’s scheme consists of three phases: the User Registration Phase, the Sensor Node Registration Phase, and the Mutual Authentication and Key Agreement Phase.

4.1. User Registration Phase

1.
The user enters and transmits D I D and P W D through the secured channel to the gateway.
2.
The gateway generates R S G 1 and computes D T I D = R S G 1 D I D and α = ( D I D R S G 1 ) P W D . The gateway stores D I D , P W D , R S G 1 and D T I D . Finally, the gateway transmits α through the secured channel to the user.
3.
The user derives R S G 1 * = ( α P W D ) D I D and computes D T I D = R S G 1 * D I D and β = h ( P W D R S G 1 * ) D T I D . The user then stores R S G 1 * , D T I D , and β .

4.2. Sensor Node Registration Phase

1.
The sensor node generates R S N 1 and then transmits R S N 1 and S I D through the secured channel to the gateway.
2.
The gateway generates R S G 2 and computes δ = ( S I D R S G 2 ) R S N 1 and S T I D = R S G 2 S I D . The gateway then stores S I D , R S N 1 , R S G 2 , and S T I D . Finally, the gateway transmits δ through the secured channel to the sensor.
3.
The sensor node computes R S G 2 * = ( δ R S N 1 ) S I D and S T I D = R S N 2 * S I D . The sensor node then stores R S N 1 , R S G 2 * , S T I D .

4.3. Mutual Authentication and Key Agreement Phase

1.
The user enters P W D and then computes Q = h ( P W D R S G 1 * ) D T I D , where R S G 1 * and D T I D . If Q and β are not equal, the procedure is stopped; if they are equal, the user generates N D 1 and computes N D 1 * = N D 1 P W D and λ = h ( R S G 1 * P W D ). Finally, the user transmits N D 1 * , D T I D , λ , and S T I D to the gateway.
2.
The gateway retrieves N D 1 = N D 1 * P W D , after which the gateway checks the freshness of N D 1 . If N D 1 is not fresh, the procedure is stopped; else the gateway compares D T I D and S T I D with the received values. If the values are not identical, the procedure is stopped; else the gateway computes λ * = h ( R S G 1 P W D ) . If λ * and λ are equal, the user authentication is successful. If they are not equal, the procedure is stopped. To share S K with the sensor node, the gateway generates N G 1 , S K , and R S G 3 . The gateway computes G W 1 = N G 1 S T I D , G W 2 = h ( R S N 1 R S G 2 ) , S K S = ( S K R S N 1 ) N G 1 and G W 3 = R S G 3 R S N 1 . Finally, the gateway stores G W 3 and transmits G W 1 , G W 2 , D T I D , S K S , and G W 3 through the public channel to the sensor node.
3.
The sensor node retrieves N G 1 = G W 1 S T I D and then checks the freshness of N G 1 . If N G 1 is not fresh, the procedure is stopped; else the sensor node computes S N 1 = h ( R S N 1 R S G 2 * ) . If S N 1 and G W 2 are equal, the gateway authentication is successful. Then, the sensor node retrieves S K = ( S K S R S N 1 ) N G 1 and the sensor node generates N S 1 and R S N 2 . The sensor node then computes S N 2 = N S 1 S T I D , S N 3 = h ( R S G 2 * R S N 1 S K ) , and S N 4 = R S G 2 * R S N 2 . Moreover, the sensor node retrieves R S G 3 = G W 3 R S N 1 and derives S T I D n e w = R S G 3 S I D . The sensor node stores R S N 2 , R S G 3 , S T I D n e w , and S N 3 . Finally, the sensor node transmits S N 2 , S N 3 , and S N 4 to the gateway.
4.
The gateway retrieves N S 1 = S N 2 S T I D and R S N 2 = S N 4 R S G 2 . The gateway then checks the freshness of N S 1 . If N S 1 is not fresh, the procedure is stopped; else the gateway computes G W 4 = h ( R S G 2 R S N 1 S K ) and S T I D n e w = S S G 3 S I D . If G W 4 and S N 3 are equal, the mutual authentication between the sensor node and the gateway is successful. Subsequently, the gateway stores R S N 2 , R S G 3 , and S T I D n e w . To share SK with the user, the gateway generates N G 2 and R S G 4 . The gateway then computes μ = D I D N G 2 , S K U = ( S K P W D ) N G 2 , η = h ( D I D P W D S K N G 2 ) , G W 5 = R S G 4 P W D and D T I D n e w = R S G 4 D I D . Finally the gateway stores R S G 4 and D T I D n e w and ultimately transmits μ , S K u , η , and G W 5 to the user.
5.
The user retrieves N G 2 = μ D I D . The user then checks the freshness of N G 2 . If N G 2 is not fresh, the procedure is stopped; else the user computes ϕ = h ( D I D P W D S K N G 2 ) . If ϕ and η are equal, the mutual authentication between the gateway and the user is successful. Then the user retrieves S K = ( S K U N G 2 ) P W D and R S G 4 = G W 5 P W D . The user computes D T I D n e w = R S G 4 D I D and stores R S G 4 and D T I D n e w .

5. Weaknesses of Masud et al. [6]’s Scheme

These weaknesses are listed under the assumption that the attacker has recorded the message ( N D 1 * , D T I D , λ , S T I D ) from a successful mutual authentication and key agreement of the user A.

5.1. Offline Password Guessing Attack

In an offline password guessing attack, the attacker is never actually attempting to login to the gateway server. Suppose the attacker steals the device of user A and obtains R S G 1 * from the device. Then, the attacker repeatedly guesses a password P W D * and computes λ * = h ( R S G 1 * P W D * ) offline. If λ * is equal to λ , the attacker can obtain the correct password P W D . Until the attacker determines a valid user’s password P W D , the gateway does not notice this attack at all because the attacker does not try to login.
Then, in the Mutual Authentication and Key Agreement Phase, the attacker retrieves D I D = R S G 1 * D T I D , N G 2 = μ D I D and S K = ( S K U N G 2 ) P W D . Eventually, the attacker can obtain an S K that can be used to access the resource of the gateway and the sensor node.

5.2. Privileged Insider Attack

If a privileged insider of the gateway has obtained the user A’s password P W D , D I D and R S G 1 from the gateway’s database, he is trying to impersonate user A. In the Mutual Authentication and Key Agreement Phase, the privileged insider retrieves N G 2 = μ D I D and S K = ( S K U N G 2 ) P W D . Eventually, the privileged insider can obtain an S K that can access the resource of the gateway and the sensor node.

5.3. Replay Attack

Masud et al. [6] claim their scheme is safe from replay attacks because the gateway checks the freshness of nonce N D 1 * = N D P W D and that the nonce cannot be modified since it is secretly enclosed in the password P W D . However, suppose the attacker generates the nonce N A and then transmits ( N A , D T I D , λ , S T I D ) instead of ( N D , D T I D , λ , S T I D ) . Upon receiving ( N A , D T I D , λ , S T I D ) , the gateway retrieves N D 1 * = N A P W D and then the gateway checks the freshness of N D 1 * . However, since the retrieved N D 1 * is a random number if only freshness is guaranteed, the gateway cannot confirm whether N D 1 * is valid. Briefly, if the attacker can make a nonce that can guarantee freshness, Masud et al. [6]’s scheme cannot resist replay attacks. Further, if freshness is proven since the new identities of user and device D T I D n e w , S T I D n e w are changed, valid users who do not know the changed identity D T I D n e w will no longer be able to authenticate themselves after the replay attack.

6. Proposed Scheme

In this section, we propose a three-factor mutual authentication scheme for the Internet of Medical Things (IoMT) that is intended to overcome the weaknesses of the scheme reported by Masud and colleagues. The proposed scheme only consists of three phases: user registration, sensor node registration, and authentication and key distribution. The proposed scheme is described in Table 4.

6.1. User Registration Phase

1.
The user enters I D i and P W D and generates a random number r U 1 . The user imprints B i on a device for biometric collection and computes G e n ( B i ) = ( R i , R b i ) and H P W i = h ( P W i R i r U 1 ) . For registration, the user transmits I D i through a secured channel to the gateway.
2.
The gateway generates random numbers r G W 1 , r G W 2 and r G W 3 and computes T I D i = h ( I D i r G W 1 K G W ) , S i 1 = h ( I D i r G W 2 K G W ) and S i 2 = h ( I D i r G W 3 K G W ) . The gateway stores I D i , T I D i , S i 1 and S i 2 . S i 2 is temporarily stored by the gateway until the sensor node registration phase, is transferred from the gateway to the sensor node during the sensor node registration phase, and is then deleted from the gateway. Finally, the gateway transmits T I D i , S i 1 , and S i 2 through a secured channel to the user.
3.
The user computes U i M 1 = T I D i H P W i , U i M 2 = S i 1 H P W i and U i M 3 = S i 2 H P W i , U i M 4 = h ( P W i R i I D i ) r U 1 and U i M 5 = h ( r U 1 T I D i S i 1 S i 2 ) and stores U i M 1 , U i M 2 , U i M 3 , U i M 4 , and U i M 5 .

6.2. Sensor Node Registration Phase

1.
For registration, the sensor node transmits S I D j through a secured channel to the gateway.
2.
The gateway generates a random number r G W 4 and computes T S I D j = h ( S I D j r G W 4 K G W ) and stores S I D j , T S I D j . Finally, the gateway transmits T S I D j , T I D i , and S i 2 through a secured channel to the sensor node and deletes S i 2 .
3.
The sensor node stores S I D j , T S I D j , T I D i , and S i 2 .

6.3. Mutual Authentication and Key Distribution Phase

1.
The user enters I D i and P W i and imprints B i on a device for biometric collection and computes R i = R e p ( B i , R b i ) , r U 1 = h ( P W i R i I D i ) U i M 4 , H P W i = h ( P W i R i r U 1 ) , T I D i = U i M 1 H P W i , S i 1 = U i M 2 H P W i , S i 2 = U i M 3 H P W i and U i M 5 * = h ( r U 1 T I D i S i 1 S i 2 ) . To check the user’s password, the user checks if U i M 5 = ? U i M 5 * . If the equation is equal, the password check is passed; if not, the procedure is stopped. To generate an authentication message, the user generates r U 2 , r U 3 and t s U and computes U i M 6 = r U 2 S i 1 , U i M 7 = r U 3 S i 2 and U i M 8 = h ( r U 2 T I D i t s U ) . Finally the user transmits U i M 6 , U i M 7 , U i M 8 , T I D i and t s U through a public channel to the gateway.
2.
To authenticate the user, the gateway retrieves r U 2 = U i M 6 S i 1 and computes U i M 8 * = h ( r U 2 T I D i t s U ) . The gateway checks r U 2 ’s freshness and if U i M 8 = ? U i M 8 * . The gateway also checks for whether or not t s U is a valid range. If U i M 8 * and t s U are valid, the user verification is passed; if not, the procedure is stopped. To generate the authentication message, the gateway generates r G W 5 and computes T I D i n e w = h ( I D i r G W 5 K G W ) , G M 1 = T S I D j r G W 5 , G M 2 = T I D i r G W 5 , G M 3 = T I D i n e w r G W 5 and G M 4 = h ( r G W 5 T S I D j T I D i T I D i n e w ) . Finally the gateway transmits G M 1 , G M 2 , G M 3 , G M 4 , and U i M 7 through a public channel to the sensor node.
3.
To authenticate the gateway, the sensor node retrieves r G W 5 = G M 1 T S I D j , T I D i = G M 2 r G W 5 , T I D i n e w = G M 3 r G W 5 and r U 3 = U i M 7 S i 2 then computes G M 4 * = h ( r G W 5 T S I D j T I D i T I D i n e w ) . The sensor node checks G M 4 = ? G M 4 * . If the equation is equal, the gateway verification is passed; if not, the procedure is stopped. To generate the session key S K , the sensor node generates S K and computes S N j M 1 = S K S i 2 , S N j M 2 = h ( S K T I D i n e w r U 3 ) and S N j M 3 = h ( S N j M 1 S N j M 2 T S I D j ) . The sensor node replaces T I D i by T I D i n e w . Finally, the sensor node transmits S N j M 1 , S N j M 2 and S N j M 3 through a public channel to the gateway.
4.
To authenticate the sensor node, the gateway computes S N j M 3 * = h ( S N j M 1 S N j M 2 T S I D j ) and checks if S N j M 3 = ? S N j M 3 * . If the equation is equal, the sensor node verification is passed. To generates an authentication message, the gateway computes G M 5 = h ( T I D i T I D i n e w ) and G M 6 = T I D i n e w S i 1 and replaces T I D i by T I D i n e w . Finally, the gateway transmits G M 5 , G M 6 , S N j M 1 and S N j M 2 through a public channel to the user.
5.
To authenticate the gateway, the user computes T I D i n e w = G M 6 S i 1 , G M 5 * = h ( T I D i T I D i n e w ) and U i M 1 n e w = T I D i n e w H P W i . The user checks if G M 5 = ? G M 5 * . If the equation is equal, the gateway verification is passed; if not, the procedure is stopped. To obtain the session key S K , the user retrieves S K = S N j M 1 S i 2 and computes S N j M 2 * = h ( S K T I D i n e w r U 3 ) . The user checks S N j M 2 = ? S N j M 2 * . If the equation is equal, the user obtains the valid session key S K ; if not, the procedure is stopped.

7. Security Analysis of the Proposed Scheme

In this section, we demonstrate formal and informal security analysis. We use the security verification tool ProVerif to demonstrate that the proposed scheme can satisfy security and authentication features. As an informal security analysis, we show how our proposed scheme meets the security requirements for an IoMT sensor protocol.

7.1. Formal Security Analysis

In this section, the ProVerif tool [23] is used to evaluate the security of the proposed protocol. ProVerif tool is an automatic cryptographic protocol verifier that was developed by Bruno Blanchet [13]. Several studies have used this tool to demonstrate the safety of their protocols [24,25].
We use two types, and four channels in total. Private channel1 and Private channel2 transmit sensitive data between the user and the gateway and between the gateway and the sensor node, respectively. Public channel1 and Public channel2 transmit general data between the user and the gateway and between the gateway and the sensor node, respectively. Table 5 presents the definitions of the channels, variables, and other related parameters. The processes performed by the user, the gateway, and the sensor node are presented in Table 6, Table 7 and Table 8, respectively. Lastly, the queries and main process are detailed in Table 9.
The results of our proposed scheme are presented in Table 10. It can be seen that the proposed protocol kept the session key S K safe from the attacker.
When we run the following query in Table 9, we can obtain the following results:
1.
Query inj–event(endEVENTA) ==> inj-event(startEVENTA) is true.
2.
Query inj–event(endEVENTB) ==> inj-event(startEVENTB) is false.
3.
Query not attacker(M) is true.
4.
Query not attacker(M) is false.
“Query inj-event (endEVENTA) == > inj-event (startEVENTA) is true.” means that the process from endEVENTA to startEVENTA has been authenticated. By contrast, “Query inj-event (endEVENTB) == > inj-event (startEVENTB) is false.” means that the authentication from endEVENTB to startEVENTB is not successful. “Query not attacker (M) is true.” means that an attacker cannot acquire a free name M. Finally, “Query not attacker (M) is false.” means that an attacker can trace the M.
The query results from Table 9 are listed in Table 10.

7.2. Informal Security Analysis

We performed a formal analysis. However, a formal analysis by itself is not sufficient to prove safety [13,26,27]. Therefore, we further analyzed our scheme using an informal analysis. We present a theoretical analysis of the proposed scheme. The results of the informal security analysis are then briefly described.
1.
Offline Password Guessing Attack: Since our scheme uses biometric information B i with the unique biological characteristics of individuals that are not stored for user authentication, it is impossible to guess a user’s password without a real user. Therefore our scheme can protect against the offline password guessing attack.
2.
Privileged Insider Attack: Even if the privileged insider steals I D i , T I D i , S I D j , T S I D j , and S i 1 from the gateway’s database, the privileged insider can not obtain the session key SK without secret information S i 2 that is shared between the user and the sensor node. Therefore our scheme can protect against privileged insider attacks.
3.
User Impersonation Attack: Even if the attacker steals and replaces the user’s T I D i , the attacker can not generate valid U i M 6 and U i M 7 without secret information S i 1 and S i 2 . When the gateway and the sensor node verify U i M 6 and U i M 7 , respectively, they can find the invalid user. Therefore our scheme can protect against user impersonation attacks.
4.
Server Impersonation Attack: Even if the attacker impersonates the gateway, the attacker does not generate valid G M 4 and G M 5 without T S I D j and S i 1 . When the sensor node and the user verify G M 4 and G M 5 , respectively, they can find the invalid gateway. Therefore our scheme can protect against server impersonation attacks.
5.
Replay Attack: Even if the attacker steals U i M 6 , U i M 7 , U i M 8 , and T I D i from a successful mutual authentication and key distribution phase and then resends it to the gateway, the gateway can find whether or not the message is reused because the gateway checks r U 2 ’s freshness. Moreover, the attacker can not generate and modify r U 2 and U i M 6 without S i 1 . Therefore our scheme can protect against replay attacks.
6.
Man-in-the-Middle Attack: In a man-in-the-middle attack, an attacker puts themselves in the middle of two parties so that they can intercept and modify some communicated data to masquerade as the entities. In the mutual authentication and key distribution phase, the attacker intercepts communicated data between the user and the gateway and attempts to modify the message to retrieve the session key. However, in our scheme, the attacker can not modify communicated messages without the secret information S i 1 and S i 2 . Therefore our scheme can protect against man-in-the-middle attacks.
7.
Session Key Disclosure Attack: Even if the attacker obtains S N j M 1 which includes the session key S K , the attacker can not obtain the session key without the secret information S i 2 . Therefore, our scheme can protect against session key disclosure attacks.
8.
Forward Secrecy and Backward Secrecy: Even if someone gains the session key S K , they can not know the old session key or the new session key because each session key is generated randomly with no relation to the other session keys. Therefore our scheme can preserve forward secrecy and backward secrecy.
9.
Mutual Authentication: The gateway and the user can authenticate each other by verifying U i M 8 and G M 5 respectively, using the secret information S i 1 . Therefore our scheme provides mutual authentication.
10.
User Anonymity: Our scheme identifies users using T I D i and then replaces it every time with T I D i n e w regardless of the old T I D i . Therefore our scheme preserves user anonymity.
The results of the security analysis with comparisons to related papers are presented in Table 11.

8. Performance Analysis of the Proposed Scheme

Many authentication studies have analyzed their performance in the following manner [9,10,11,12,13,14,15,20,21,22,24,25,26,27,28,29,30,31,32]. We compared each computation amount in terms of the research methods used. We analyze the performance of our scheme as follows.
Our study analyzes the computational cost using the time measurement presented in Table 12 [28,29]. T M stands for the computational cost of multiplication in the field. T b h stands for the computational cost of the biohash function operation, and T h stands for the computational cost of the one-way hash function operation. It is assumed that the XOR operation does not affect the cost of operation. Table 13 and Figure 2 compare the computational cost of our scheme with those of other schemes according to Table 12 [6,12,15].
We calculate the computational efficiency of our scheme as follows:
( t 1 t 2 ) / t 2
In Formula (3), t 1 represents the average cost of computation of the different schemes. Moreover, t 2 represents the cost of operation of our scheme.
According to the above formula, the operation of our scheme is 266.48% more efficient in terms of computational cost than the other schemes, and Table 11 shows that our scheme is more secure than the other methods.

9. Discussion of Performance

We proposed a secure and lightweight user authentication scheme for IoMT by improving Masud et al. [6]’s scheme. We compared the performance of three schemes [6,12,15] in Section 8. Our scheme outperforms [12,15] by 399.73% and 499.66% respectively. The performance of [6] is lightweight, but it does not meet basic security requirements such as offline password guessing attacks, privileged insider attacks, and replay attacks. Therefore, our scheme is a suitable lightweight user authentication scheme for IoMT because our scheme not only is improved by addressing the security threats of [6] but also outperforms 266.48% more efficiently than the other schemes.

10. Conclusions

The purpose of our paper was to propose a secure and lightweight user authentication scheme for IoMT by addressing the security threats to which Masud et al. [6]’s scheme is vulnerable. In particular, our scheme can protect against well-known attacks in IoMT i.e., offline password guessing attacks, privileged insider attacks, user impersonation attacks, replay attacks, and session key disclosure attacks, and it ensures user anonymity. We also proved that our scheme is a suitable user authentication scheme for IoMT through formal security analysis by ProVerif. Moreover, we proposed a lightweight security protocol that mainly uses a hash function and XOR operation considering low-spec healthcare sensors. As a result, we showed 266.48% better performance than the average computational cost of the considered schemes [6,12,15]. Our scheme outperforms [12,15], but it does not outperform [6]. Our scheme shows higher safety than the compared schemes [6,12,15]. Our security and performance analysis shows that our scheme is a suitable lightweight user authentication scheme for IoMT. Further studies will be able to improve convenience by combining behavioral biometrics authentication. Behavioral biometric authentication is expected to achieve further improved convenience over biometrics authentication because it uses keystroke dynamics, gait analysis, mouse use characteristics, signature analysis, and cognitive biometrics.

Author Contributions

Conceptualization, K.K.; Methodology, K.K., J.R. and Y.L.; Software, K.K.; Validation, J.R.; Formal analysis, K.K. and Y.L.; Writing—original draft, K.K. and J.R.; Writing—review and editing, J.R., Y.L. and D.W.; Supervision, D.W.; Funding acquisition, D.W. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

Thiswork was supported by an Institute of Information & Communications Technology Planning Evaluation (IITP) grant funded by the Korea government (MSIT) (No. 2021-0-00558, Development of National Statistical Analysis System using Homomorphic Encryption Technology).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Jha, N.K. Internet-of-Medical-Things. In Proceedings of the Great Lakes Symposium on VLSI (GLSVLSI), Banff, AB, Canada, 10–12 May 2017; p. 7. [Google Scholar]
  2. Hatzivasilis, G.; Soultatos, O.; Ioannidis, S.; Verikoukis, C.; Demetriou, G.; Tsatsoulis, C. Review of security and privacy for the Internet of Medical Things (IoMT). In Proceedings of the 2019 15th International Conference on Distributed Computing in Sensor Systems (DCOSS), Santorini Island, Greece, 29–31 May 2019; pp. 457–464. [Google Scholar]
  3. Dilibal, C.; Davis, B.L.; Chakraborty, C. Generative design methodology for internet of medical things (IoMT)-based wearable biomedical devices. In Proceedings of the 2021 3rd International Congress on Human-Computer Interaction, Optimization and Robotic Applications (HORA), Ankara, Turkey, 11–13 June 2021; pp. 1–4. [Google Scholar]
  4. Aman, A.H.M.; Hassan, W.H.; Sameen, S.; Attarbashi, Z.S.; Alizadeh, M.; Latiff, L.A. IoMT amid COVID-19 pandemic: Application, architecture, technology, and security. J. Netw. Comput. Appl. 2021, 174, 102886. [Google Scholar] [CrossRef] [PubMed]
  5. Khadidos, A.O.; Shitharth, S.; Khadidos, A.O.; Sangeetha, K.; Alyoubi, K.H. Healthcare Data Security Using IoT Sensors Based on Random Hashing Mechanism. J. Sens. 2022, 2022, 8457116. [Google Scholar] [CrossRef]
  6. Masud, M.; Gaba, G.S.; Choudhary, K.; Hossain, M.S.; Alhamid, M.F.; Muhammad, G. Lightweight and anonymity-preserving user authentication scheme for IoT-based healthcare. IEEE Internet Things J. 2021, 9, 2649–2656. [Google Scholar] [CrossRef]
  7. Lamport, L. Password authentication with insecure communication. Commun. ACM 1981, 24, 770–772. [Google Scholar] [CrossRef] [Green Version]
  8. Liao, I.E.; Lee, C.C.; Hwang, M.S. A password authentication scheme over insecure networks. J. Comput. Syst. Sci. 2006, 72, 727–740. [Google Scholar] [CrossRef] [Green Version]
  9. Wu, Z.Y.; Lee, Y.C.; Lai, F.; Lee, H.C.; Chung, Y. A secure authentication scheme for telecare medicine information systems. J. Med. Syst. 2012, 36, 1529–1535. [Google Scholar] [CrossRef]
  10. Debiao, H.; Jianhua, C.; Rui, Z. A more secure authentication scheme for telecare medicine information systems. J. Med. Syst. 2012, 36, 1989–1995. [Google Scholar] [CrossRef]
  11. Wei, J.; Hu, X.; Liu, W. An improved authentication scheme for telecare medicine information systems. J. Med. Syst. 2012, 36, 3597–3604. [Google Scholar] [CrossRef]
  12. Wu, F.; Xu, L.; Kumari, S.; Li, X. An improved and provably secure three-factor user authentication scheme for wireless sensor networks. Peer-Peer Netw. Appl. 2018, 11, 1–20. [Google Scholar] [CrossRef]
  13. Ryu, J.; Lee, H.; Kim, H.; Won, D. Secure and efficient three-factor protocol for wireless sensor networks. Sensors 2018, 18, 4481. [Google Scholar] [CrossRef]
  14. Mao, D.; Liu, H.; Zhang, W. An enhanced three-factor authentication scheme with dynamic verification for medical multimedia information systems. IEEE Access 2019, 7, 167683–167695. [Google Scholar] [CrossRef]
  15. Li, X.; Peng, J.; Obaidat, M.S.; Wu, F.; Khan, M.K.; Chen, C. A secure three-factor user authentication protocol with forward secrecy for wireless medical sensor network systems. IEEE Syst. J. 2019, 14, 39–50. [Google Scholar] [CrossRef]
  16. Ebrahimi, S.; Bayat–Sarmadi, S. Lightweight fuzzy extractor based on LPN for device and biometric authentication in IoT. IEEE Internet Things J. 2021, 8, 10706–10713. [Google Scholar] [CrossRef]
  17. Satamraju, K.P.; Malarkodi, B. A PUF-based mutual authentication protocol for internet of things. In Proceedings of the 2020 5th International Conference on Computing, Communication and Security (ICCCS), Patna, India, 14–16 October 2020; pp. 1–6. [Google Scholar]
  18. Abdaoui, A.; Erbad, A.; Al-Ali, A.K.; Mohamed, A.; Guizani, M. Fuzzy Elliptic Curve Cryptography for Authentication in Internet of Things. IEEE Internet Things J. 2021, 9, 9987–9998. [Google Scholar] [CrossRef]
  19. Dodis, Y.; Reyzin, L.; Smith, A. Fuzzy extractors: How to generate strong keys from biometrics and other noisy data. In Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques, Interlaken, Switzerland, 2–6 May 2004; pp. 523–540. [Google Scholar]
  20. Ryu, J.; Lee, H.; Lee, Y.; Won, D. SMASG: Secure Mobile Authentication Scheme for Global Mobility Network. IEEE Access 2022, 10, 26907–26919. [Google Scholar] [CrossRef]
  21. Kang, D.; Lee, H.; Lee, Y.; Won, D. Lightweight user authentication scheme for roaming service in GLOMONET with privacy preserving. PLoS ONE 2021, 16, e0247441. [Google Scholar] [CrossRef]
  22. Ryu, J.; Kang, D.; Lee, H.; Kim, H.; Won, D. A secure and lightweight three-factor-based authentication scheme for smart healthcare systems. Sensors 2020, 20, 7136. [Google Scholar] [CrossRef]
  23. Blanchet, B.; Smyth, B.; Cheval, V.; Sylvestre, M. ProVerif 2.04: Automatic Cryptographic Protocol Verifier, User Manual and Tutorial. Available online: https://proverif.inria.fr/manual.pdf (accessed on 30 November 2021).
  24. Kang, D.; Jung, J.; Lee, D.; Kim, H.; Won, D. Security analysis and enhanced user authentication in proxy mobile IPv6 networks. PLoS ONE 2017, 12, e0181031. [Google Scholar] [CrossRef] [Green Version]
  25. Roy, S.; Chatterjee, S.; Das, A.K.; Chattopadhyay, S.; Kumari, S.; Jo, M. Chaotic map–based anonymous user authentication scheme with user biometrics and fuzzy extractor for crowdsourcing Internet of Things. IEEE Internet Things J. 2017, 5, 2884–2895. [Google Scholar] [CrossRef]
  26. Lee, H.; Lee, D.; Moon, J.; Jung, J.; Kang, D.; Kim, H.; Won, D. An improved anonymous authentication scheme for roaming in ubiquitous networks. PLoS ONE 2018, 13, e0193366. [Google Scholar] [CrossRef]
  27. Jung, J.; Kim, J.; Choi, Y.; Won, D. An anonymous user authentication and key agreement scheme based on a symmetric cryptosystem in wireless sensor networks. Sensors 2016, 16, 1299. [Google Scholar] [CrossRef] [PubMed]
  28. Xu, L.; Wu, F. Cryptanalysis and improvement of a user authentication scheme preserving uniqueness and anonymity for connected health care. J. Med. Syst. 2015, 39, 1–9. [Google Scholar] [CrossRef] [PubMed]
  29. Das, A.K. A secure and robust temporal credential-based three-factor user authentication scheme for wireless sensor networks. Peer-Peer Netw. Appl. 2016, 9, 223–244. [Google Scholar] [CrossRef]
  30. Sahoo, S.S.; Mohanty, S.; Majhi, B. An efficient three-factor user authentication scheme for industrial wireless sensor network with fog computing. Int. J. Commun. Syst. 2022, 35, 3. [Google Scholar] [CrossRef]
  31. Bahache, A.N.; Chikouche, N.; Mezrag, F. Authentication Schemes for Healthcare Applications Using Wireless Medical Sensor Networks: A Survey. SN Comput. Sci. 2022, 3, 1–25. [Google Scholar] [CrossRef]
  32. Li, Y.; Tian, Y. A Lightweight and Secure Three-Factor Authentication Protocol With Adaptive Privacy-Preserving Property for Wireless Sensor Networks. IEEE Syst. J. 2022, 16, 6197–6208. [Google Scholar] [CrossRef]
Figure 1. The system model of our scheme in IoMT.
Figure 1. The system model of our scheme in IoMT.
Sensors 23 01122 g001
Figure 2. Graph comparisons of computational cost [6,12,15].
Figure 2. Graph comparisons of computational cost [6,12,15].
Sensors 23 01122 g002
Table 1. Summary of related works.
Table 1. Summary of related works.
AuthorProposed SchemeWeakness
Wu et al. [9]For TMIS using a smart cardImpersonation, insider, offline password guessing attacks
Debiao et al. [10]Using a smart card and a passwordOffline password guessing attacks
Wu et al. [12]Secure three-factor scheme for wireless sensor networksUser impersonation attacks and no user anonymity
Masud et al. [6]For IoT-based healthcareOffline-password, replay, privileged insider attacks
Table 2. Notations.
Table 2. Notations.
NotionDescription
U i M * , G M * , S N i M * *-th message of i-th user, gateway, and j-th sensor node, respectively
I D i , S I D j Identity of i-th user, j-th sensor node, respectively
P W i Password of i-th user
B i Biometric Information of i-th user
r U * , r G W * , r S N * *-th random number generated by user, gateway, and sensor node, respectively
t s U Timestamp of user
S i 1 Secret information between user and gateway
S i 2 Secret information between user and sensor node
D I D , S I D Identity of user, sensor node
P W D Device password set by doctor
R S G , R S N Random secret generated by gateway, sensor node, respectively
N D , N G , N S Nonce generated by user’s device, gateway, sensor node, respectively
K G W Secret key of gateway
h ( . ) Hash function
Concatenation operator
Bit wise XOR
S K Session key
Table 3. Masud et al.’s [6] scheme.
Table 3. Masud et al.’s [6] scheme.
UserGatewaySensor Node
{User Registration Phase}
Enter: D I D , P W D
Transmit: D I D , P W D Generate: R S G 1
Compute: D T I D = R S G 1 D I D
α = ( D I D R S G 1 ) P W D
Store: D I D , P W D , R S G 1 , D T I D
Derives: R S G 1 * = ( α P W D ) D I D ⟵ Transmit: α
Compute: D T I D = R S G 1 * D I D ,
β = h ( P W D R S G 1 * ) D T I D
Store: R S G 1 * , D T I D , β
{Sensor Node Registration Phase}
Generate: R S N 1
Generate: R S G 2 ⟵ Transmit: R S N 1 , S I D
Compute: δ = ( S I D R S G 2 ) R S N 1 ,
S T I D = R S G 2 S I D
Store: S I D , R S N 1 , R S G 2 , S T I D
Transmit: δ Compute: R S G 2 * = ( δ R S N 1 ) S I D ,
S T I D = R S N 2 * S I D
Store: R S N 1 , R S G 2 * , S T I D
{Mutual Authentication and Key agreement}
(1)
Enter: P W D (2)
Compute: Q = h ( P W D R S G 1 * ) D T I D Retrieves: N D 1 = N D 1 * P W D
Verify: Q = ? β Verify: N D 1 ’s freshness
Generate: N D 1 Check: D T I D , S T I D are stored
Compute: N D 1 * = N D 1 P W D ,Compute: λ * = h ( R S G 1 P W D )
λ = h ( R S G 1 * P W D ) Verify: λ * = ? λ
Transmit: N D 1 * , D T I D , λ , S T I D Generate: N G 1 , S K , R S G 3
Compute: G W 1 = N G 1 S T I D ,(3)
G W 2 = h ( R S N 1 R S G 2 ) ,Retrieve: N G 1 = G W 1 S T I D
S K S = ( S K R S N 1 ) N G 1 ,Verify: N G 1 ’s freshness
G W 3 = R S G 3 R S N 1 Compute: S N 1 = h ( R S N 1 R S G 2 * )
Store: G W 3 Verify: S N 1 = ? G W 2
Transmit: G W 1 , G W 2 , D T I D ,Retrieve: S K = ( S K S R S N 1 ) N G 1
S K S , G W 3 Generate: N S 1 , R S N 2
Retrieve: R S G 3 = G W 3 R S N 1
(4)Compute: S N 2 = N S 1 S T I D ,
Retrieve: N S 1 = S N 2 S T I D , S N 3 = h ( R S G 2 * R S N 1 S K ) ,
R S N 2 = S N 4 R S G 2 S N 4 = R S G 2 * R S N 2 ,
Verify: N S 1 ’s freshness S T I D n e w = R S G 3 S I D
Compute: G W 4 = h ( R S G 2 R S N 1 S K ) ,Store: R S N 2 , R S G 3 , S T I D n e w , S N 3
S T I D n e w = S S G 3 S I D ⟵ Transmit: S N 2 , S N 3 , S N 4
Verify: G W 4 = ? S N 3
(5)Store: R S N 2 , R S G 3 , S T I D n e w
Retrieve: N G 2 = μ D I D Generate: N G 2 , R S G 4
Verify: N G 2 ’s freshnessCompute: μ = D I D N G 2 ,
Compute: ϕ = h ( D I D P W D S K N G 2 ) S K U = ( S K P W D ) N G 2 ,
Verify: ϕ = ? η η = h ( D I D P W D S K N G 2 ) ,
Retrieve: S K = ( S K U N G 2 ) P W D , G W 5 = R S G 4 P W D ,
R S G 4 = G W 5 P W D D T I D n e w = R S G 4 D I D
Compute: D T I D n e w = R S G 4 D I D Store: R S G 4 , D T I D n e w
Store: R S G 4 , D T I D n e w ⟵ Transmit: μ , S K u , η , and G W 5
Table 4. The proposed scheme.
Table 4. The proposed scheme.
User( U i )GatewaySensor Node( SN j )
{User Registration}
(1) Enter: I D i , P W i , B i
Generate: r U 1 (2) Generate: r G W 1 , r G W 2 , r G W 3
Compute: G e n ( B i ) = ( R i , R b i ) ,Compute:
H P W i = h ( P W i R i r U 1 ) T I D i = h ( I D i r G W 1 K G W ) ,
Transmit: I D i S i 1 = h ( I D i r G W 2 K G W ) ,
S i 2 = h ( I D i r G W 3 K G W )
(3) Compute:Store: I D i , T I D i , S i 1 , S i 2
U i M 1 = T I D i H P W i ,⟵ Transmit: T I D i , S i 1 , S i 2
U i M 2 = S i 1 H P W i
U i M 3 = S i 2 H P W i
U i M 4 = h ( P W i R i I D i ) r U 1
U i M 5 = h ( r U 1 T I D i S i 1 S i 2 )
Store: U i M 1 , U i M 2 , U i M 3 , U i M 4 , U i M 5
{Sensor Node Registration}
(2) Generate: r G W 4 (1) Transmit: S I D j
Compute:
T S I D j = h ( S I D j r G W 4 K G W )
Store: S I D j , T S I D j
Delete: S i 2
Transmit: T S I D j , T I D i , S i 2 (3) Store: S I D j , T S I D j , T I D i , S i 2
{Authentication and Key distribution}
(1) Verify Password
Enter: I D i , P W i , B i
Compute: R i = R e p ( B i , R b i ) ,(2) Verify the user
r U 1 = h ( P W i R i I D i ) U i M 4 ,Retrieve: r U 2 = U i M 6 S i 1
H P W i = h ( P W i R i r U 1 ) Compute:(3) Verify the gateway
T I D i = U i M 1 H P W i , U i M 8 * = h ( r U 2 T I D i t s U ) Retrieve: r G W 5 = G M 1 T S I D j
S i 1 = U i M 2 H P W i ,Verify: r U 2 ’s freshness, t s U T I D i = G M 2 r G W 5
S i 2 = U i M 3 H P W i , U i M 8 = ? U i M 8 * T I D i n e w = G M 3 r G W 5
U i M 5 * = h ( r U 1 T I D i S i 1 S i 2 ) r U 3 = U i M 7 S i 2
Verify: U i M 5 = ? U i M 5 * Generate: r G W 5 Compute:
T I D i n e w = h ( I D i r G W 5 K G W ) , G M 4 *
Generate: r U 2 , r U 3 , t s U G M 1 = T S I D j r G W 5 , = h ( r G W 5 T S I D j T I D i T I D i n e w )
Compute: G M 2 = T I D i r G W 5 Verify: G M 4 = ? G M 4 *
U i M 6 = r U 2 S i 1 , G M 3 = T I D i n e w r G W 5
U i M 7 = r U 3 S i 2 G M 4
U i M 8 = h ( r U 2 T I D i t s U ) = h ( r G W 5 T S I D j T I D i T I D i n e w )
Transmit:Transmit: G M 1 , G M 2 , G M 3
U i M 6 , U i M 7 , U i M 8 , T I D i , t s U G M 4 , U i M 7 Generate: S K
Compute:
(4) Verify the sensor node S N j M 1 = S K S i 2
(5) Verify the gatewayCompute: S N j M 2 = h ( S K T I D i n e w r U 3 )
Compute: S N j M 3 * S N j M 3
T I D i n e w = G M 6 S i 1 , = h ( S N j M 1 S N j M 2 T S I D j ) = h ( S N j M 1 S N j M 2 T S I D j )
G M 5 * = h ( T I D i T I D i n e w ) Verify: S N j M 3 = ? S N j M 3 * Replace: T I D i T I D i n e w
U i M 1 n e w = T I D i n e w H P W i Transmit: S N j M 1 , S N j M 2
Verify: G M 5 = ? G M 5 * Compute: S N j M 3
Replace: U i M 1 U i M 1 n e w G M 5 = h ( T I D i T I D i n e w ) ,
G M 6 = T I D i n e w S i 1
Retrieve: S K = S N j M 1 S i 2 Replace: T I D i T I D i n e w
Compute:Transmit: G M 5 , G M 6 , S N j M 1 ,
S N j M 2 * = h ( S K T I D i n e w r U 3 ) S N j M 2
Verify: S N j M 2 = ? S N j M 2 *
Table 5. Definitions of channels, variables and other related parameters.
Table 5. Definitions of channels, variables and other related parameters.
(*—-channels—-*)
free privateChannel1:channel [private].
free privateChannel2:channel [private].
free publicChannel1:channel.
free publicChannel2:channel.
(*—-constants—-*)
free Ri:bitstring [private].
free PWi:bitstring [private].
free IDi:bitstring [private].
free kgw:bitstring [private].
free IDg:bitstring.
free SIDj:bitstring.
(*—-shared key—-*)
free SK:bitstring [private].
(*—-functions—-*)
fun xor(bitstring, bitstring):bitstring.
fun concat(bitstring, bitstring):bitstring.
fun h(bitstring):bitstring.
(*—-events—-*)
event startUi(bitstring).
event endUi(bitstring).
event startGW(bitstring).
event endGW(bitstring).
event startSNj(bitstring).
event endSNj(bitstring).
Table 6. User’s process.
Table 6. User’s process.
(*—-Ui process—-*)
let Ui =
new ru1:bitstring;
let HPWi = h(concat(concat(PWi, Ri), ru1)) in
out(privateChannel1,(IDi));
in(privateChannel1, (XTIDi:bitstring, XSi1:bitstring, XSi2: bitstring));
let UiM1= xor(XTIDi, HPWi) in
let UiM2= xor(XSi1, HPWi) in
let UiM3= xor(XSi2, HPWi) in
let UiM4 = xor(h(concat(concat(PWi, Ri), IDi)), ru1) in
let UiM5 = h(concat(concat(concat(ru1, XTIDi), XSi1), XSi2)) in
event startUi(IDi);
let ru1 = xor(h(concat(concat(PWi, Ri), IDi)), UiM4) in
let HPWi = h(concat(concat(PWi, Ri), ru1)) in
let XTIDi = xor(UiM1, HPWi) in
let XSi1 = xor(UiM2, HPWi) in
let XSi2 = xor(UiM3, HPWi) in
if h(concat(concat(concat(ru1, XTIDi), XSi1), XSi2)) = UiM5 then
new ru2:bitstring;
new ru3:bitstring;
new tsU:bitstring;
let UiM6 = xor(ru2, XSi1) in
let UiM7 = xor(ru3, XSi2) in
let UiM8 = h(concat(ru2, concat(XTIDi, tsU))) in
out(publicChannel1, (UiM6, UiM7, UiM8, XTIDi, tsU));
in(publicChannel1, (XGM5:bitstring, XGM6:bitstring, XXSNjM1:bitstring, XXSNjM2:bitstring));
let XTIDinew = xor(XGM6, XSi1) in
let UiM1new = xor(XTIDinew, HPWi) in
if h(concat(XTIDi, XTIDinew)) = XGM5 then
let UiM1 = UiM1new in
let SK = xor(XXSNjM1, XSi2) in
if(concat(concat(SK, XTIDinew), ru3)) = XXSNjM2 then
event endUi(IDi).
Table 7. Gateway’s process.
Table 7. Gateway’s process.
(*—-GW process—-*)
let GW =
in(privateChannel1, XIDi:bitstring);
new rgw1:bitstring;
new rgw2:bitstring;
new rgw3:bitstring;
let TIDi = h(concat(concat(IDi, rgw1), kgw)) in
let Si1 = h(concat(concat(IDi, rgw2), kgw)) in
let Si2 =h(concat(concat(IDi, rgw1), kgw)) in
out(privateChannel1, (TIDi, Si1, Si2));
in(privateChannel2, XSIDj:bitstring);
new rgw4:bitstring;
let TSIDj = h(concat(concat(XSIDj, rgw4), kgw)) in
out(privateChannel2, (TSIDj, TIDi, Si2));
event startGW(IDg);
in(publicChannel1, (XUiM6:bitstring, XUiM7:bitstring, XUiM8:bitstring, XTID:bitstring));
let Xru2 = xor(XUiM6, Si1) in
if h(concat(Xru2, TIDi)) = XUiM8 then
new rgw5:bitstring;
let TIDinew = h(concat(concat(XIDi, rgw5), kgw)) in
let GM1 = xor(TSIDj, rgw5) in
let GM2 = xor(TIDi, rgw5) in
let GM3 = xor(TIDinew, rgw5) in
let GM4 = h(concat(concat(concat(rgw5, TSIDj),TIDi), TIDinew)) in
out(publicChannel2, (GM1, GM2, GM3, GM4, XUiM7));
in(publicChannel2, (XSNjM1:bitstring, XSNjM2:bitstring, XSNjM3:bitstring));
if h(concat(concat(XSNjM1, XSNjM2), TSIDj)) =XSNjM3 then
let GM5 = h(concat(TIDi, TIDinew)) in
let GM6 = xor(TIDinew, Si1) in
let TIDi = TIDinew in
out(publicChannel1, (GM5, GM6, XSNjM1, XSNjM2));
event endGW(IDg).
Table 8. Sensor node’s process.
Table 8. Sensor node’s process.
(*—-SNj process—-*)
let SNj =
out(privateChannel2, SIDj);
in(privateChannel2, (XTSIDj:bitstring, XXTIDi:bitstring, XXSi2:bitstring));
event startSNj(SIDj);
in(publicChannel2, (XGM1:bitstring, XGM2:bitstring, XGM3:bitstring, XGM4:bitstring,
XXUiM7:bitstring));
let Xrgw5 = xor(XGM1, XTSIDj) in
let XXTIDi = xor(XGM2, Xrgw5) in
let XXTIDinew = xor(XGM3, Xrgw5) in
let Xru3 = xor(XXUiM7, XXSi2) in
if h(concat(concat(concat(Xrgw5, XTSIDj), XXTIDi), XXTIDinew)) = XGM4 then
new SK:bitstring;
let SNjM1 = xor(SK, XXSi2) in
let SNjM2 = h(concat(concat(SK, XXTIDinew), Xru3)) in
let SNjM3 = h(concat(concat(SNjM1, SNjM2), XTSIDj)) in
let XXTIDi = XXTIDinew in
out(publicChannel2, (SNjM1, SNjM2, SNjM3));
event endSNj(SIDj).
Table 9. Queries and main process.
Table 9. Queries and main process.
(*—-queries—-*)
query idi:bitstring; inj-event(endUi(idi)) ==> inj-event(startUi(idi)).
query idg:bitstring; inj-event(endGW(idg)) ==> inj-event(startGW(idg)).
query snj:bitstring; inj-event(endSNj(snj)) ==> inj-event(startSNj(snj)).
query attacker(SK).
(*—-process—-*)
process
((!Ui)|(!GW)|(!SNj))
Table 10. Result.
Table 10. Result.
Verification summary:
Query inj-event(endUi(idi)) ==> inj-event(startUi(idi)) is true.
Query inj-event(endGW(idg)) ==> inj-event(startGW(idg)) is true.
Query inj-event(endSNj(snj)) ==> inj-event(startSNj(snj)) is true.
Query not attacker(SK[]) is true.
Table 11. Comparisons of the security features.
Table 11. Comparisons of the security features.
Security FeaturesWu et al. [12]Li et al. [15]Masud et al. [6]Ours
1. Resist Offline Password Guessing AttackOOXO
2. Resist Privileged Insider AttackOOXO
3. Resist User Impersonation AttackXOOO
4. Resist Server Impersonation AttackOXOO
5. Resist Replay AttackXXXO
6. Resist Man-in-the-Middle AttackOOOO
7. Resist Session Key Disclosure AttackXOOO
8. Preserve Forward Secrecy and Backward SecrecyOOOO
9. Provide Mutual AuthenticationOOOO
10. Preserve AnonymityXXXO
Table 12. Computational cost of cryptographic calculations (ms).
Table 12. Computational cost of cryptographic calculations (ms).
SymbolMeaningTime
T m The computational cost of multiplication in the field. 7.3529  [28]
T b h The computational cost of the biohash function operation. 7.3529  [29]
T h The computational cost of the one-way hash function operation. 0.0004  [28]
Table 13. Comparisons of computational cost.
Table 13. Comparisons of computational cost.
SchemesWu et al. [12]Li et al. [15]Masud et al. [6]Ours
User T b h + 10 T h + 2 T m T b h + 10 T h + 2 T m 3 T h T b h + 6 T h
= 22.0627 = 22.0627 = 0.0012 = 7.3553
GWN 8 T h 8 T h + T m 4 T h 5 T h
= 0.0032 = 7.3561 = 0.0016 = 0.002
Sensor Node 2 T h + 2 T m 4 T h + 2 T m 2 T h 3 T h
= 14.7066 = 14.7074 = 0.008 = 0.0012
Total T b h + 20 T h + 4 T m T b h + 22 T h + 5 T m 9 T h T b h + 14 T h
= 36.7725 = 44.1262 = 0.0036 = 7.3585
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Kim, K.; Ryu, J.; Lee, Y.; Won, D. An Improved Lightweight User Authentication Scheme for the Internet of Medical Things. Sensors 2023, 23, 1122. https://doi.org/10.3390/s23031122

AMA Style

Kim K, Ryu J, Lee Y, Won D. An Improved Lightweight User Authentication Scheme for the Internet of Medical Things. Sensors. 2023; 23(3):1122. https://doi.org/10.3390/s23031122

Chicago/Turabian Style

Kim, Keunok, Jihyeon Ryu, Youngsook Lee, and Dongho Won. 2023. "An Improved Lightweight User Authentication Scheme for the Internet of Medical Things" Sensors 23, no. 3: 1122. https://doi.org/10.3390/s23031122

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

Article Metrics

Back to TopTop