Skip to main content
Sensors (Basel, Switzerland) logoLink to Sensors (Basel, Switzerland)
. 2023 Jan 18;23(3):1122. doi: 10.3390/s23031122

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

Keunok Kim 1, Jihyeon Ryu 2, Youngsook Lee 3, Dongho Won 4,*
Editors: Richard Chbeir, Taoufik Yeferny
PMCID: PMC9920152  PMID: 36772160

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.

Keywords: Internet of Medical Things (IoMT), user authentication, biometric, healthcare, healthcare IoT

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.

Table 1.

Summary of related works.

Author Proposed Scheme Weakness
Wu et al. [9] For TMIS using a smart card Impersonation, insider, offline password guessing attacks
Debiao et al. [10] Using a smart card and a password Offline password guessing attacks
Wu et al. [12] Secure three-factor scheme for wireless sensor networks User impersonation attacks and no user anonymity
Masud et al. [6] For IoT-based healthcare Offline-password, replay, privileged insider attacks

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,me,l,τ,ϵ) that has two algorithms Gen and Rep, which are expressed as follows [12]:

Gen(wi)=(Ri,Pbi) (1)

The above result means that the fuzzy extractor can generate the secret string Ri and Pbi. wi is a Ui’s original collected biometric data.

Rep(wi,Pbi)=Ri (2)

The above result means that the fuzzy extractor can recover the secret string Ri that is generated by the Gen 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).

Figure 1.

Figure 1

The system model of our scheme in IoMT.

  • 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.

Table 2.

Notations.

Notion Description
UiM*, GM*, SNiM* *-th message of i-th user, gateway, and j-th sensor node, respectively
IDi, SIDj Identity of i-th user, j-th sensor node, respectively
PWi Password of i-th user
Bi Biometric Information of i-th user
rU*, rGW*, rSN* *-th random number generated by user, gateway, and sensor node, respectively
tsU Timestamp of user
Si1 Secret information between user and gateway
Si2 Secret information between user and sensor node
DID, SID Identity of user, sensor node
PWD Device password set by doctor
RSG, RSN Random secret generated by gateway, sensor node, respectively
ND, NG, NS Nonce generated by user’s device, gateway, sensor node, respectively
KGW Secret key of gateway
h(.) Hash function
Concatenation operator
Bit wise XOR
SK Session key

Table 3.

Masud et al.’s [6] scheme.

User Gateway Sensor Node
{User Registration Phase}
Enter: DID, PWD
Transmit: DID, PWD Generate: RSG1
Compute: DTID=RSG1DID
α=(DIDRSG1)PWD
Store: DID, PWD, RSG1, DTID
Derives: RSG1*=(αPWD)DID ⟵ Transmit: α
Compute: DTID=RSG1*DID,
β=h(PWDRSG1*)DTID
Store: RSG1*,DTID, β
{Sensor Node Registration Phase}
Generate: RSN1
Generate: RSG2 ⟵ Transmit: RSN1, SID
Compute: δ=(SIDRSG2)RSN1,
STID=RSG2SID
Store: SID,RSN1,RSG2, STID
Transmit: δ Compute: RSG2*=(δRSN1)SID,
STID=RSN2*SID
Store: RSN1,RSG2*,STID
{Mutual Authentication and Key agreement}
(1)
Enter: PWD (2)
Compute: Q=h(PWDRSG1*)DTID Retrieves: ND1=ND1*PWD
Verify: Q = ? β Verify: ND1’s freshness
Generate: ND1 Check: DTID, STID are stored
Compute: ND1*=ND1PWD, Compute: λ*=h(RSG1PWD)
λ=h(RSG1*PWD) Verify: λ* = ? λ
Transmit: ND1*,DTID,λ, STID Generate: NG1, SK, RSG3
Compute: GW1=NG1STID, (3)
GW2=h(RSN1RSG2), Retrieve: NG1=GW1STID
SKS=(SKRSN1)NG1, Verify: NG1’s freshness
GW3=RSG3RSN1 Compute: SN1=h(RSN1RSG2*)
Store: GW3 Verify: SN1 = ? GW2
Transmit: GW1, GW2, DTID, Retrieve: SK=(SKSRSN1)NG1
SKS, GW3 Generate: NS1, RSN2
Retrieve: RSG3=GW3RSN1
(4) Compute: SN2=NS1STID,
Retrieve: NS1=SN2STID, SN3=h(RSG2*RSN1SK),
RSN2=SN4RSG2 SN4=RSG2*RSN2,
Verify: NS1’s freshness STIDnew=RSG3SID
Compute: GW4=h(RSG2RSN1SK), Store: RSN2,RSG3,STIDnew,SN3
STIDnew=SSG3SID ⟵ Transmit: SN2,SN3,SN4
Verify: GW4 = ? SN3
(5) Store: RSN2, RSG3, STIDnew
Retrieve: NG2=μDID Generate: NG2, RSG4
Verify: NG2’s freshness Compute: μ=DIDNG2,
Compute: ϕ=h(DIDPWDSKNG2) SKU=(SKPWD)NG2,
Verify: ϕ = ? η η=h(DIDPWDSKNG2),
Retrieve: SK=(SKUNG2)PWD, GW5=RSG4PWD,
RSG4=GW5PWD DTIDnew=RSG4DID
Compute: DTIDnew=RSG4DID Store:RSG4, DTIDnew
Store: RSG4, DTIDnew ⟵ Transmit:μ, SKu, η, and GW5

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 DID and PWD through the secured channel to the gateway.

  • 2.

    The gateway generates RSG1 and computes DTID=RSG1DID and α=(DIDRSG1)PWD. The gateway stores DID, PWD, RSG1 and DTID. Finally, the gateway transmits α through the secured channel to the user.

  • 3.

    The user derives RSG1*=(αPWD)DID and computes DTID=RSG1*DID and β=h(PWDRSG1*)DTID. The user then stores RSG1*,DTID, and β.

4.2. Sensor Node Registration Phase

  • 1.

    The sensor node generates RSN1 and then transmits RSN1 and SID through the secured channel to the gateway.

  • 2.

    The gateway generates RSG2 and computes δ=(SIDRSG2)RSN1 and STID=RSG2SID. The gateway then stores SID,RSN1,RSG2, and STID. Finally, the gateway transmits δ through the secured channel to the sensor.

  • 3.

    The sensor node computes RSG2*=(δRSN1)SID and STID=RSN2*SID. The sensor node then stores RSN1,RSG2*,STID.

4.3. Mutual Authentication and Key Agreement Phase

  • 1.

    The user enters PWD and then computes Q=h(PWDRSG1*)DTID, where RSG1* and DTID. If Q and β are not equal, the procedure is stopped; if they are equal, the user generates ND1 and computes ND1*=ND1PWD and λ=h(RSG1*PWD). Finally, the user transmits ND1*,DTID,λ, and STID to the gateway.

  • 2.

    The gateway retrieves ND1=ND1*PWD, after which the gateway checks the freshness of ND1. If ND1 is not fresh, the procedure is stopped; else the gateway compares DTID and STID with the received values. If the values are not identical, the procedure is stopped; else the gateway computes λ*=h(RSG1PWD). If λ* and λ are equal, the user authentication is successful. If they are not equal, the procedure is stopped. To share SK with the sensor node, the gateway generates NG1, SK, and RSG3. The gateway computes GW1=NG1STID, GW2=h(RSN1RSG2), SKS=(SKRSN1)NG1 and GW3=RSG3RSN1. Finally, the gateway stores GW3 and transmits GW1, GW2, DTID, SKS, and GW3 through the public channel to the sensor node.

  • 3.

    The sensor node retrieves NG1=GW1STID and then checks the freshness of NG1. If NG1 is not fresh, the procedure is stopped; else the sensor node computes SN1=h(RSN1RSG2*). If SN1 and GW2 are equal, the gateway authentication is successful. Then, the sensor node retrieves SK=(SKSRSN1)NG1 and the sensor node generates NS1 and RSN2. The sensor node then computes SN2=NS1STID, SN3=h(RSG2*RSN1SK), and SN4=RSG2*RSN2. Moreover, the sensor node retrieves RSG3=GW3RSN1 and derives STIDnew=RSG3SID. The sensor node stores RSN2,RSG3,STIDnew, and SN3. Finally, the sensor node transmits SN2,SN3, and SN4 to the gateway.

  • 4.

    The gateway retrieves NS1=SN2STID and RSN2=SN4RSG2. The gateway then checks the freshness of NS1. If NS1 is not fresh, the procedure is stopped; else the gateway computes GW4=h(RSG2RSN1SK) and STIDnew=SSG3SID. If GW4 and SN3 are equal, the mutual authentication between the sensor node and the gateway is successful. Subsequently, the gateway stores RSN2, RSG3, and STIDnew. To share SK with the user, the gateway generates NG2 and RSG4. The gateway then computes μ=DIDNG2, SKU=(SKPWD)NG2, η=h(DIDPWDSKNG2), GW5=RSG4PWD and DTIDnew=RSG4DID. Finally the gateway stores RSG4 and DTIDnew and ultimately transmits μ, SKu, η, and GW5 to the user.

  • 5.

    The user retrieves NG2=μDID. The user then checks the freshness of NG2. If NG2 is not fresh, the procedure is stopped; else the user computes ϕ=h(DIDPWDSKNG2). If ϕ and η are equal, the mutual authentication between the gateway and the user is successful. Then the user retrieves SK=(SKUNG2)PWD and RSG4=GW5PWD. The user computes DTIDnew=RSG4DID and stores RSG4 and DTIDnew.

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

These weaknesses are listed under the assumption that the attacker has recorded the message (ND1*,DTID,λ,STID) 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 RSG1* from the device. Then, the attacker repeatedly guesses a password PWD* and computes λ*=h(RSG1*PWD*) offline. If λ* is equal to λ, the attacker can obtain the correct password PWD. Until the attacker determines a valid user’s password PWD, 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 DID=RSG1*DTID, NG2=μDID and SK=(SKUNG2)PWD. Eventually, the attacker can obtain an SK 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 PWD, DID and RSG1 from the gateway’s database, he is trying to impersonate user A. In the Mutual Authentication and Key Agreement Phase, the privileged insider retrieves NG2=μDID and SK=(SKUNG2)PWD. Eventually, the privileged insider can obtain an SK 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 ND1*=NDPWD and that the nonce cannot be modified since it is secretly enclosed in the password PWD. However, suppose the attacker generates the nonce NA and then transmits (NA,DTID,λ,STID) instead of (ND,DTID,λ,STID). Upon receiving (NA,DTID,λ,STID), the gateway retrieves ND1*=NAPWD and then the gateway checks the freshness of ND1*. However, since the retrieved ND1* is a random number if only freshness is guaranteed, the gateway cannot confirm whether ND1* 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 DTIDnew, STIDnew are changed, valid users who do not know the changed identity DTIDnew 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.

Table 4.

The proposed scheme.

User(Ui) Gateway Sensor Node(SNj)
{User Registration}
(1) Enter: IDi, PWi, Bi
Generate: rU1 (2) Generate: rGW1, rGW2, rGW3
Compute: Gen(Bi)=(Ri,Rbi), Compute:
HPWi=h(PWiRirU1) TIDi=h(IDirGW1KGW),
Transmit: IDi Si1=h(IDirGW2KGW),
Si2=h(IDirGW3KGW)
(3) Compute: Store: IDi, TIDi, Si1, Si2
UiM1=TIDiHPWi, ⟵ Transmit: TIDi, Si1, Si2
UiM2=Si1HPWi
UiM3=Si2HPWi
UiM4=h(PWiRiIDi)rU1
UiM5=h(rU1TIDiSi1Si2)
Store: UiM1, UiM2, UiM3, UiM4, UiM5
{Sensor Node Registration}
(2) Generate: rGW4 (1) Transmit: SIDj
Compute:
TSIDj=h(SIDjrGW4KGW)
Store: SIDj, TSIDj
Delete: Si2
Transmit: TSIDj, TIDi, Si2 (3) Store: SIDj, TSIDj, TIDi, Si2
{Authentication and Key distribution}
(1) Verify Password
Enter: IDi, PWi, Bi
Compute: Ri=Rep(Bi,Rbi), (2) Verify the user
rU1=h(PWiRiIDi)UiM4, Retrieve: rU2=UiM6Si1
HPWi=h(PWiRirU1) Compute: (3) Verify the gateway
TIDi=UiM1HPWi, UiM8*=h(rU2TIDitsU) Retrieve: rGW5=GM1TSIDj
Si1=UiM2HPWi, Verify: rU2’s freshness, tsU TIDi=GM2rGW5
Si2=UiM3HPWi, UiM8= ?UiM8* TIDinew=GM3rGW5
UiM5*=h(rU1TIDiSi1Si2) rU3=UiM7Si2
Verify: UiM5 = ? UiM5* Generate: rGW5 Compute:
TIDinew=h(IDirGW5KGW), GM4*
Generate: rU2, rU3, tsU GM1=TSIDjrGW5, =h(rGW5TSIDjTIDiTIDinew)
Compute: GM2=TIDirGW5 Verify: GM4= ?GM4*
UiM6=rU2Si1, GM3=TIDinewrGW5
UiM7=rU3Si2 GM4
UiM8=h(rU2TIDitsU) =h(rGW5TSIDjTIDiTIDinew)
Transmit: Transmit: GM1, GM2, GM3
UiM6, UiM7, UiM8, TIDi, tsU GM4, UiM7 Generate: SK
Compute:
(4) Verify the sensor node SNjM1=SKSi2
(5) Verify the gateway Compute: SNjM2=h(SKTIDinewrU3)
Compute: SNjM3* SNjM3
TIDinew=GM6Si1, =h(SNjM1SNjM2TSIDj) =h(SNjM1SNjM2TSIDj)
GM5*=h(TIDiTIDinew) Verify: SNjM3 = ? SNjM3* Replace: TIDiTIDinew
UiM1new=TIDinewHPWi Transmit: SNjM1, SNjM2
Verify: GM5 = ? GM5* Compute: SNjM3
Replace: UiM1UiM1new GM5=h(TIDiTIDinew),
GM6=TIDinewSi1
Retrieve: SK=SNjM1Si2 Replace: TIDiTIDinew
Compute: Transmit: GM5, GM6, SNjM1,
SNjM2*=h(SKTIDinewrU3) SNjM2
Verify: SNjM2 = ? SNjM2*

6.1. User Registration Phase

  • 1.

    The user enters IDi and PWD and generates a random number rU1. The user imprints Bi on a device for biometric collection and computes Gen(Bi)=(Ri,Rbi) and HPWi=h(PWiRirU1). For registration, the user transmits IDi through a secured channel to the gateway.

  • 2.

    The gateway generates random numbers rGW1, rGW2 and rGW3 and computes TIDi=h(IDirGW1KGW), Si1=h(IDirGW2KGW) and Si2=h(IDirGW3KGW). The gateway stores IDi, TIDi, Si1 and Si2. Si2 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 TIDi, Si1, and Si2 through a secured channel to the user.

  • 3.

    The user computes UiM1=TIDiHPWi, UiM2=Si1HPWi and UiM3=Si2HPWi, UiM4=h(PWiRiIDi)rU1 and UiM5=h(rU1TIDiSi1Si2) and stores UiM1, UiM2, UiM3, UiM4, and UiM5.

6.2. Sensor Node Registration Phase

  • 1.

    For registration, the sensor node transmits SIDj through a secured channel to the gateway.

  • 2.

    The gateway generates a random number rGW4 and computes TSIDj=h(SIDjrGW4KGW) and stores SIDj, TSIDj. Finally, the gateway transmits TSIDj, TIDi, and Si2 through a secured channel to the sensor node and deletes Si2.

  • 3.

    The sensor node stores SIDj, TSIDj, TIDi, and Si2.

6.3. Mutual Authentication and Key Distribution Phase

  • 1.

    The user enters IDi and PWi and imprints Bi on a device for biometric collection and computes Ri=Rep(Bi,Rbi), rU1=h(PWiRiIDi)UiM4, HPWi=h(PWiRirU1), TIDi=UiM1HPWi, Si1=UiM2HPWi, Si2=UiM3HPWi and UiM5*=h(rU1TIDiSi1Si2). To check the user’s password, the user checks if UiM5 = ? UiM5*. If the equation is equal, the password check is passed; if not, the procedure is stopped. To generate an authentication message, the user generates rU2, rU3 and tsU and computes UiM6=rU2Si1, UiM7=rU3Si2 and UiM8=h(rU2TIDitsU). Finally the user transmits UiM6, UiM7, UiM8, TIDi and tsU through a public channel to the gateway.

  • 2.

    To authenticate the user, the gateway retrieves rU2=UiM6Si1 and computes UiM8*=h(rU2TIDitsU). The gateway checks rU2’s freshness and if UiM8= ? UiM8*. The gateway also checks for whether or not tsU is a valid range. If UiM8* and tsU are valid, the user verification is passed; if not, the procedure is stopped. To generate the authentication message, the gateway generates rGW5 and computes TIDinew=h(IDirGW5KGW), GM1=TSIDjrGW5, GM2=TIDirGW5, GM3=TIDinewrGW5 and GM4=h(rGW5TSIDjTIDiTIDinew). Finally the gateway transmits GM1, GM2, GM3, GM4, and UiM7 through a public channel to the sensor node.

  • 3.

    To authenticate the gateway, the sensor node retrieves rGW5=GM1TSIDj, TIDi=GM2rGW5, TIDinew=GM3rGW5 and rU3=UiM7Si2 then computes GM4*=h(rGW5TSIDjTIDiTIDinew). The sensor node checks GM4 = ? GM4*. If the equation is equal, the gateway verification is passed; if not, the procedure is stopped. To generate the session key SK, the sensor node generates SK and computes SNjM1=SKSi2, SNjM2=h(SKTIDinewrU3) and SNjM3=h(SNjM1SNjM2TSIDj). The sensor node replaces TIDi by TIDinew. Finally, the sensor node transmits SNjM1, SNjM2 and SNjM3 through a public channel to the gateway.

  • 4.

    To authenticate the sensor node, the gateway computes SNjM3*=h(SNjM1SNjM2TSIDj) and checks if SNjM3 = ? SNjM3*. If the equation is equal, the sensor node verification is passed. To generates an authentication message, the gateway computes GM5=h(TIDiTIDinew) and GM6=TIDinewSi1 and replaces TIDi by TIDinew. Finally, the gateway transmits GM5, GM6, SNjM1 and SNjM2 through a public channel to the user.

  • 5.

    To authenticate the gateway, the user computes TIDinew=GM6Si1, GM5*=h(TIDiTIDinew) and UiM1new=TIDinewHPWi. The user checks if GM5 = ? GM5*. If the equation is equal, the gateway verification is passed; if not, the procedure is stopped. To obtain the session key SK, the user retrieves SK=SNjM1Si2 and computes SNjM2*=h(SKTIDinewrU3). The user checks SNjM2 = ? SNjM2*. If the equation is equal, the user obtains the valid session key SK; 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.

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.

(*—-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.

(*—-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.

(*—-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.

(*—-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))

The results of our proposed scheme are presented in Table 10. It can be seen that the proposed protocol kept the session key SK safe from the attacker.

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.

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 Bi 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 IDi, TIDi, SIDj, TSIDj, and Si1 from the gateway’s database, the privileged insider can not obtain the session key SK without secret information Si2 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 TIDi, the attacker can not generate valid UiM6 and UiM7 without secret information Si1 and Si2. When the gateway and the sensor node verify UiM6 and UiM7, 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 GM4 and GM5 without TSIDj and Si1. When the sensor node and the user verify GM4 and GM5, respectively, they can find the invalid gateway. Therefore our scheme can protect against server impersonation attacks.

  • 5.

    Replay Attack: Even if the attacker steals UiM6, UiM7, UiM8, and TIDi 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 rU2’s freshness. Moreover, the attacker can not generate and modify rU2 and UiM6 without Si1. 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 Si1 and Si2. Therefore our scheme can protect against man-in-the-middle attacks.

  • 7.

    Session Key Disclosure Attack: Even if the attacker obtains SNjM1 which includes the session key SK, the attacker can not obtain the session key without the secret information Si2. Therefore, our scheme can protect against session key disclosure attacks.

  • 8.

    Forward Secrecy and Backward Secrecy: Even if someone gains the session key SK, 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 UiM8 and GM5 respectively, using the secret information Si1. Therefore our scheme provides mutual authentication.

  • 10.

    User Anonymity: Our scheme identifies users using TIDi and then replaces it every time with TIDinew regardless of the old TIDi. Therefore our scheme preserves user anonymity.

The results of the security analysis with comparisons to related papers are presented in Table 11.

Table 11.

Comparisons of the security features.

Security Features Wu et al. [12] Li et al. [15] Masud et al. [6] Ours
1. Resist Offline Password Guessing Attack O O X O
2. Resist Privileged Insider Attack O O X O
3. Resist User Impersonation Attack X O O O
4. Resist Server Impersonation Attack O X O O
5. Resist Replay Attack X X X O
6. Resist Man-in-the-Middle Attack O O O O
7. Resist Session Key Disclosure Attack X O O O
8. Preserve Forward Secrecy and Backward Secrecy O O O O
9. Provide Mutual Authentication O O O O
10. Preserve Anonymity X X X O

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]. TM stands for the computational cost of multiplication in the field. Tbh stands for the computational cost of the biohash function operation, and Th 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].

Table 12.

Computational cost of cryptographic calculations (ms).

Symbol Meaning Time
Tm The computational cost of multiplication in the field. 7.3529 [28]
Tbh The computational cost of the biohash function operation. 7.3529 [29]
Th The computational cost of the one-way hash function operation. 0.0004 [28]

Table 13.

Comparisons of computational cost.

Schemes Wu et al. [12] Li et al. [15] Masud et al. [6] Ours
User Tbh+10Th+2Tm Tbh+10Th+2Tm 3Th Tbh+6Th
=22.0627 =22.0627 =0.0012 =7.3553
GWN 8Th 8Th+Tm 4Th 5Th
=0.0032 =7.3561 =0.0016 =0.002
Sensor Node 2Th+2Tm 4Th+2Tm 2Th 3Th
=14.7066 =14.7074 =0.008 =0.0012
Total Tbh+20Th+4Tm Tbh+22Th+5Tm 9Th Tbh+14Th
=36.7725 =44.1262 =0.0036 =7.3585

Figure 2.

Figure 2

Graph comparisons of computational cost [6,12,15].

We calculate the computational efficiency of our scheme as follows:

(t1t2)/t2 (3)

In Formula (3), t1 represents the average cost of computation of the different schemes. Moreover, t2 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.

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).

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.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Funding Statement

This research received no external funding.

Footnotes

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.

References

  • 1.Jha N.K. Internet-of-Medical-Things; 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); 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; 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. doi: 10.1016/j.jnca.2020.102886. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 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. doi: 10.1155/2022/8457116. [DOI] [Google Scholar]
  • 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. doi: 10.1109/JIOT.2021.3080461. [DOI] [Google Scholar]
  • 7.Lamport L. Password authentication with insecure communication. Commun. ACM. 1981;24:770–772. doi: 10.1145/358790.358797. [DOI] [Google Scholar]
  • 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. doi: 10.1016/j.jcss.2005.10.001. [DOI] [Google Scholar]
  • 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. doi: 10.1007/s10916-010-9614-9. [DOI] [PubMed] [Google Scholar]
  • 10.Debiao H., Jianhua C., Rui Z. A more secure authentication scheme for telecare medicine information systems. J. Med. Syst. 2012;36:1989–1995. doi: 10.1007/s10916-011-9658-5. [DOI] [PubMed] [Google Scholar]
  • 11.Wei J., Hu X., Liu W. An improved authentication scheme for telecare medicine information systems. J. Med. Syst. 2012;36:3597–3604. doi: 10.1007/s10916-012-9835-1. [DOI] [PubMed] [Google Scholar]
  • 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. doi: 10.1007/s12083-016-0485-9. [DOI] [Google Scholar]
  • 13.Ryu J., Lee H., Kim H., Won D. Secure and efficient three-factor protocol for wireless sensor networks. Sensors. 2018;18:4481. doi: 10.3390/s18124481. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 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. doi: 10.1109/ACCESS.2019.2953532. [DOI] [Google Scholar]
  • 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. doi: 10.1109/JSYST.2019.2899580. [DOI] [Google Scholar]
  • 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. doi: 10.1109/JIOT.2021.3050555. [DOI] [Google Scholar]
  • 17.Satamraju K.P., Malarkodi B. A PUF-based mutual authentication protocol for internet of things; 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. doi: 10.1109/JIOT.2021.3121350. [DOI] [Google Scholar]
  • 19.Dodis Y., Reyzin L., Smith A. Fuzzy extractors: How to generate strong keys from biometrics and other noisy data; 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. doi: 10.1109/ACCESS.2022.3157871. [DOI] [Google Scholar]
  • 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. doi: 10.1371/journal.pone.0247441. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 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. doi: 10.3390/s20247136. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 23.Blanchet B., Smyth B., Cheval V., Sylvestre M. ProVerif 2.04: Automatic Cryptographic Protocol Verifier, User Manual and Tutorial. [(accessed on 30 November 2021)]. Available online: https://proverif.inria.fr/manual.pdf.
  • 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. doi: 10.1371/journal.pone.0181031. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 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. doi: 10.1109/JIOT.2017.2714179. [DOI] [Google Scholar]
  • 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. doi: 10.1371/journal.pone.0193366. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 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. doi: 10.3390/s16081299. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 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. doi: 10.1007/s10916-014-0179-x. [DOI] [PubMed] [Google Scholar]
  • 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. doi: 10.1007/s12083-014-0324-9. [DOI] [Google Scholar]
  • 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. doi: 10.1002/dac.5028. [DOI] [Google Scholar]
  • 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. doi: 10.1007/s42979-022-01300-z. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 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. doi: 10.1109/JSYST.2022.3152561. [DOI] [Google Scholar]

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Data Availability Statement

Not applicable.


Articles from Sensors (Basel, Switzerland) are provided here courtesy of Multidisciplinary Digital Publishing Institute (MDPI)

RESOURCES