Introduction
Wireless Sensor Networks (WSNs), as one of the core technologies of the perception layer of the Internet of Things (IoT), consist mostly of terminal devices with limited resources. Due to the simple structure and low computing power of WSNs, ensuring their access security has been an important research direction for IoT security. Insecure terminal devices will pose a threat to the security of the whole network. EI-Haij et al. [1] pointed out that a single compromised node can be turned into a malicious one that can bring down the whole system or cause disasters. Atzori et al. [2] pointed out that authentication is a key issue in IoT security, and it is essential for network security to verify the identities of the entities accessing the IoT. In traditional single-gateway authentication schemes, high-speed data streams are prone to conflict during data aggregation. When edge sensors are too far away from gateway nodes, it will lead to increased communication costs and reduced network performance. Therefore, it is of great significance to study the multi-gateway authentication protocol for WSNs.
A. Literature Review
This paper mainly classifies the current mainstream authentication protocols into two kinds: single-gateway protocols and multi-gateway protocols.
In 1981, Lamport [3] first proposed a single-factor authentication protocol based on password. In 2004, Watro et al. [4] proposed a user authentication protocol using RSA and Diffie-Hellman algorithms that placed the computationally expensive operations on parties external to WSNs. However, Das [5] pointed out that Watro et al.’s protocol suffered from impersonation attack. In 2006, Wong et al. [6] proposed a dynamic strong password solution to access control in WSNs, which only required simple hash function and XOR operations. However, in 2007, Tseng et al. [7] showed that Wong et al.’s scheme was vulnerable to replay attack and forgery attack, then proposed a lightweight dynamic user authentication scheme for WSNs, which was in possession of many advantages, including resistance to replay attack and forgery attack. Since many schemes relied only on password security, they were vulnerable to off-line password guessing attack. To avoid these problems, two-factor authentication protocols based on password and smart card have been proposed one after another. In 2009, Das [5] established a novel two-factor authentication scheme, where the user is in possession of a password and a smart card. In the same year, Nyang and Lee [8] pointed out that Das’s protocol [5] was vulnerable to off-line password guessing attack, and presented a countermeasure to overcome this drawback. In 2010, Chen and Shih [9] showed Das’s scheme [5] failed to achieve mutual authentication, and they proposed a robust mutual authentication protocol. In 2010, Cheikhrouhou et al. [10] proposed a lightweight authentication scheme based on the symmetric algorithm AES, in which mutual authentication and key establishment mechanisms were used to ensure the confidentiality and data integrity of the protocol. Public key algorithm-based schemes can accomplish more security attributes than symmetric algorithm-based schemes, but they also use up more system resources. In 2011, Yeh et al. [11] found that Chen and Shih’s scheme [9] failed to provide a secure method for updating user passwords and was vulnerable to the insider attack, where the privileged insider can obtain the user’s password. To address these existing issues, they first applied the elliptic curve cryptography (ECC) algorithm and smart card to construct WSNs authentication protocol. Han [12] pointed out that the above protocol cannot provide perfect forward secrecy and cannot achieve mutual authentication or key agreement between user and sensor nodes. In 2013, Shi and Gong [13] established an authentication protocol to achieve perfect forward secrecy, mutual authentication, and key agreement between user and sensor nodes. Choi et al. [14] pointed out that Shi and Gong’s protocol [13] was vulnerable to session key attack, stolen smart card attack, and node energy consumption attack, and improved on these drawbacks. Authentication protocols based on ECC are one of the methods used in authentication protocols in order to improve the security and privacy of RFID systems. In 2016, Dinarvand and Barati [15] examined and compared protocols that utilized this method to establish security. In 2019, a RFID authentication protocol wad presented using ECC for mutual authentication overcome weakness of the existing schemes by Dinarvand and Barati [16]. In 2020, Srinivas et al. [17] came up with a novel user authentication scheme for secure authentication of medical data using Rabin, which could achieve mutual authentication between a user and a wearable sensor node and establish a secret key that is used for future secure communications. In 2021, Wang et al. [18] utilized the ECC to propose an enhanced anonymous authentication scheme for a smart healthcare system. In 2022, Hayouni [19] presented a lightweight authentication protocol for IoT-based WSNs to provide mutual authentication services for connected objects. In 2022, Nezhad et al. [20] proposed a secure routing method to prevent the intrusion of malicious nodes, consisting of star structure, key distribution, and intra-cluster communication. Hossein et al. [21] proposed a three-factor authentication scheme based on the blockchain platform for the IoT environment.
Amin and Biwas [22] first proposed a two-factor based multi-gateway authentication and key agreement protocol for WSNs that was able to ensure user anonymity while resisting password guessing attack, insider attack, stolen verifier attack, etc in. In the same year, Das et al. [23] pointed out that Amin and Biwas’s scheme could not protect user anonymity. Additionally, it was vulnerable to password guessing attack, stolen smart card attack and identity guessing attack. After that, Das et al. proposed a three-factor authentication protocol based on the AES algorithm to solve these problems. However, Wu et al. [24] pointed out that the scheme in [23] also failed to resist the tracking attack and did not have a common session key for three parties. Gou et al. [25] found that the two-factor authentication scheme in [24] could not resist offline password guessing attack and identity guessing attack. In addition, the protocol in [24] was vulnerable to internal privilege attack, user tracing attack and sensor forgery attack. To address the security issues in Wu et al.’s protocol [24], Gou et al. [25] proposed a three-factor authentication protocol for multi-gateway WSNs. In 2017, Srinivas et al. [26] analyzed Amin and Biwas’s scheme [22] in details and proposed an improved three-factor authentication protocol. Wang et al. [27] found that Srinivas et al.’s scheme [26] still suffered from smart card stolen attack, node capture attack, and tracking attack and could not guarantee forward secrecy. In 2019, Lee et al. [28] proposed a three-factor mutual authentication for multi-gateway protocols, in which they needed to register at all gateway nodes if users hoped to use all sensor nodes. In 2022, Dai and Xu [29] found the scheme in [25] was prone to single point of failure, and they proposed a novel elliptic curve cryptograph based three-factor authentication scheme for multi-gateway WSNs that realized smart card revocation, dynamic sensor node addition, and could withstand single point of failure. Zhao et al. [30] presented a novel three-factor authentication and key agreement protocol based on elliptic curve cryptography for IIoT environments, where their scheme can be used in single-gateway environments and can be extended to multi-gateway environments. In 2023, Chen et al. [31] proposed a two-factor multi-gateway authentication protocol based on password and smart card that could resist the joint password and identity guessing with the smart card loss attack.
A majority of schemes leverage ECC operations to ensure they can achieve more security attributes. However, ECC provides more security while producing more overhead. The Rabin mechanism is characterized by its property of computational asymmetry. The encryption performs a modular squaring operation, while the decryption performs a module-square root operation. Rabin’s encryption is significantly less than the ECC point multiple, which is the motivation that the proposed scheme leverages Rabin to build.
B. Our Contributions
We proposed a new three-factor user authentication and key agreement scheme using Rabin [32] for multi-gateway WSNs. Due to the lightweight computation of Rabin, it is suitable for devices with limited computational resources, such as sensor nodes. The proposed single-gateway and multi-gateway authentication schemes can also protect user privacy and achieve good forward secrecy due to the introduction of a public key system.
The designed authentication protocol is demonstrated to be secure using the random oracle model (ROM) [33]. As a result, the lightweight authentication scheme is secure against the Dolev-Yao adversary model.
Scyther [34], a verification tool, is utilized to simulate the security of the proposed protocols, and the results show that our protocols can achieve mutual authentication and can resist many attacks.
C. Organization of the Paper
The remaining sections are organized as follows: In Section II, we present the preliminary information, including the description of Rabin, the network model, and the threat model. In Section III, we propose a novel three-factor authentication and key agreement scheme for single-gateway and multi-gateway WSNs, respectively. In Section IV, we describe formal and informal security analysis and provable security. In Section V, we compare the security and efficiency of our scheme with those of related schemes. Finally, we summarize this article in Section VI.
Preliminaries
A. Rabin
In 1979, Rabin [32] proposed a novel public-key cryptography mechanism. Selecting two different large primes
The security of the Rabin cryptography mechanism is based on the intractable integer factorization problem. Since the intractable integer factorization problem (IFP) is considered computationally difficult under certain conditions, Rabin can be considered secure. In addition, Rabin is a typical asymmetric algorithm, and its encryption and decryption operations have different computational overheads. Rabin’s encryption operations are lightweight, but the decryption operations consume a significant amount of resources. Therefore, encryption operations are usually performed on the side of sensor nodes with limited resources, and decryption operations can be performed on the side of gateway nodes with strong computing power.
B. Network Model
According to literature [22], [24], [26], the network model used in the home region is a standard model for a single-gateway environment and consists of three types of entities: user nodes, gateway nodes, and sensor nodes, as shown in Figure 1. In this architecture, three types of entities can authenticate each other through two complete rounds of information interaction, which can be extended to a multi-gateway architecture. WSNs are typically unattended networks that cannot be physically changed on a large scale once they have been deployed. Due to the limited memory and computing power of sensor nodes, it is a great burden for edge sensors and gateway nodes to receive and send messages when the network size is too large or the distance is too long. Therefore, more gateways need to be extended to increase the network’s capacity. Figure 2 shows us a multi-gateway architecture. In steps 1–4, the Home Gateway Node (HGWN) helps to establish the trust connection between the user and the Foreign Gateway Node (FGWN), and in steps 5–8, the user accesses the sensor via the FGWN.
C. Threat Model
Dolev-Yao threat model [35] is often used to formally analyze authentication protocols in communication networks, where the model assumes that two communication entities communicate over an insecure channel. WSNs can adopt a similar threat model where the channel is insecure and the terminal points cannot be generally trusted. Dolev-Yao threat model defines the precise mathematical model, and the basic assumptions listed are as follows:
In a perfect public key system:
The one-way hash functions used are unbreakable.
The public directory is secure and cannot be tampered with.
We will assume the following about an adversary
:\mathscr {A} An adversary can obtain any message passing through the network.
An adversary can be a legitimate user of a network and, in particular, can initiate a conversation with any other user.
An adversary will be able to act as a receiver for any sender.
Proposed Scheme
Our designed protocol is divided into seven phases: initialization phase, user registration phase, sensor registration phase, user login phase, authentication and key agreement in HGWN, authentication and key agreement in FGWN, and user key update.
A. Initialization Phase
During the initialization phase, SA selects the identity
B. User Registration Phase
Biometric features are added in this scheme to improve the security of the system and can be well used in the setting of an authentication scheme because of their uniqueness. Compared with low-entropy passwords, biometric features also have the advantages of being difficult to forge and share and not being easy to lose. Figure 3 illustrates the registration procedure.
Step 1:
inputs his/her own identity{U_{i}} , passwordI{D_{i}} and the biometric informationP{W_{i}} . After that, the fuzzy extractor computes biometric key dataBI{O_{i}} and common parameter{\sigma _{i}} using{\theta _{i}} . The common parameterGen(BIO_{i}) \to ({\sigma _{i}},{\theta _{i}}) is stored in{\theta _{i}} . Next,{SC_{i}} computes{U_{i}} andHI{D_{i}} = h_{1}(I{D_{i}}||{\sigma _{i}}) , and transmitsHP{W_{i}} = h_{1}(P{W_{i}}||{\sigma _{i}}) to HGWN over a secure connection.\left \{{ HI{D_{i}},HP{W_{i}}}\right \} Step 2:
After getting the messages
andHI{D_{i}} fromHP{W_{i}} , HGWN creates a random number{U_{i}} , and computes{r_{h}} ,{A_{i}} = h_{1}(HI{D_{i}}||{p_{h}}||{q_{h}}||{r_{h}}) \oplus HI{D_{i}} , and{B_{i}} = h_{1}(HI{D_{i}}||{r_{h}}||HP{W_{i}}) . The long-term secret{C_{i}} = HI{D_{i}} \oplus {r_{h}} is stored in HGWN’s memory. HGWN delivers a message\{ HI{D_{i}},{r_{h}}\} to\left \{{ {A_{i},{B_{i}},{C_{i}}} }\right \} over a secure connection.{U_{i}} Step 3:
After receiving the message
, long-term secret\left \{{ {A_{i},{B_{i}},{C_{i}}} }\right \} is preserved in\left \{{ {A_{i},{B_{i}},{C_{i}},{\theta _{i}}} }\right \} ’s{U_{i}} .{SC_{i}}
C. Sensor Registration Phase
Each sensor node is given a distinct identity by SA. In order to register,
Step 1:
utilizes a secure connection to convey its own identityS{N_{j}} to the nearest HGWN.SID_{j} Step 2:
After receiving the message from
, HGWN computesS{N_{j}} and maintains the long-term secret{A_{gs}} = h_{1}(SI{D_{j}}||{p_{h}}||{q_{h}}) in its memory. Then HGWN transmits message\{ SI{D_{j}},{A_{gs}}\} to{A_{gs}} over a secure connection.S{N_{j}} Step 3:
When
receives the messageS{N_{j}} ,{A_{gs}} preserves the long-term secretS{N_{j}} in its own memory.\{ SI{D_{j}},{A_{gs}}\}
D. User Login Phase
Before
If user login is successful, generating a random number
E. Authentication and Key Agreement Phase in HGWN
When
Next, the authentication and key agreement phase in HGWN is described in the following steps, as shown in Figure 7.
Step 1:
forwards the message{U_{i}} to the closest HGWN.\left \{{ {M_{1}},{M_{2}},{T_{1}} }\right \} Step 2:
When HGWN receives the message from
, HGWN obtains the current timestamp{U_{i}} and verifiesT_{1}^{*} ’s validity, i.e.,T_{1} . HGWN will refuse the current session if the timestamp|T_{1}^{*} - {T_{1}}| < \Delta T is out of date. Otherwise, HGWN decryptsT_{1} with its own private keysM_{1} and then obtains{p_{h}},{q_{h}} . Then HGWN checks whetherHID_{i},I{D_{hg}},SI{D_{j}},{N_{u}},{r_{u}},r_{h}^{*} is equal tor_{h}^{*} preserved in its own memory. If{r_{h}} , then it performs subsequent calculations, otherwise, it aborts the current session. HGWN computesr_{h}^{*} = {r_{h}} andA_{h}^{*} = h_{1}(HID_{i}||{p_{h}}||{q_{h}}||r_{h}^{*}) and verifies whetherM_{2}^{*} = h_{1}(HID_{i}||{r_{u}}||A_{h}^{*}||{N_{u}}||{M_{1}}||{T_{1}}) is equal to the receivedM_{2}^{*} . If{M_{2}}{\mathrm{ }} , the current session is terminated. Otherwise, HGWN creates a random numberM_{2}^{*} \ne {M_{2}}{\mathrm{ }} , a new timestamp{\mathrm{ }}{r_{hg}} , and computes{T_{2}} ,{A_{gs}} = h_{1}(SI{D_{j}}||{p_{h}}||{q_{h}}) and{M_{3}} = (HI{D_{i}}||{r_{u}}||{r_{hg}}||{N_{u}}) \oplus h_{2}({A_{gs}}||{T_{2}}||SI{D_{j}}) . Finally, HGWN transmits the message{M_{4}} = h_{1}(HI{D_{i}}||SI{D_{j}}||{r_{hg}}||{N_{u}}||{A_{gs}}||{T_{2}}) to\left \{{{M_{3}},{M_{4}},{T_{2}}}\right \} .S{N_{j}} Step 3:
After receiving the message HGWN sent,
acquires the current timestampS{N_{j}} and checksT_{2}^{*} ’s validity, i.e.,T_{2} . If the timestamp|T_{2}^{*} - {T_{2}}| < \Delta T is out of date,T_{2} rejects the current session. Otherwise,{SN_{j}} computesS{N_{j}} and calculatesh_{2}({A_{gs}}||{T_{2}}||SI{D_{j}}) to obtainh_{2}({A_{gs}}||{T_{2}}||SI{D_{j}}) \oplus {M_{3}} .(HI{D_{i}}||{r_{u}}||{r_{hg}}||{N_{u}}) computesS{N_{j}} and checks whetherM_{4}^{*} = h_{1}(HI{D_{i}}||SI{D_{j}}~||{r_{hg}}||{N_{u}}||{A_{gs}}||{T_{2}}) is equal to the receivedM_{4}^{*} . If{M_{4}} ,M_{4}^{*} \ne {M_{4}}{\mathrm{ }} aborts the current session. Otherwise,S{N_{j}} creates a random numberS{N_{j}} , a new timestamp{r_{s}} , and computes{T_{3}} ,{M_{5}} = {(HI{D_{i}}||SI{D_{j}}||{A_{gs}}||{r_{s}})^{2}}\mod {N_{u}} ,SK = h_{1}(HI{D_{i}}||SI{D_{j}}||{r_{u}}||{r_{s}}) ,M_{6} = {(h_{1}(SK||{A_{gs}}))^{2}}\bmod {N_{h}} and{M_{7}} = h_{1}(HI{D_{i}}||SI{D_{j}}||{r_{hg}}||{A_{gs}}||{M_{5}}||{M_{6}}||{\mathrm{ }}{T_{3}}) . Finally,{M_{8}} = h_{1}(HI{D_{i}}||SI{D_{j}}||SK||{r_{u}}||{r_{s}}||{M_{5}}) sends the messageS{N_{j}} to HGWN.\left \{{{M_{5}},{M_{6}},{M_{7}},{M_{8}},{T_{3}}}\right \} Step 4:
After receiving the message from
, HGWN first obtains the current timestampS{N_{j}} and checksT_{3}^{*} ’s validity, i.e.,T_{3} . HGWN cancels the current session if the timestamp|T_{3}^{*} - {T_{3}}| < \Delta T is not current. Otherwise, HGWN computesT_{3} , and inspectsM_{7}^{*} = h_{1}(HI{D_{i}}||SI{D_{j}}||{r_{hg}}~||{A_{gs}}||{M_{5}}||{M_{6}}||{\mathrm{ }}{T_{3}}) . IfM_{7}^{*}\mathop = \limits ^{?} {M_{7}} , the current session is terminated by HGWN. Otherwise, HGWN creates a new timestampM_{7}^{*} \ne {M_{7}}{\mathrm{ }} and figures out{\mathrm{ }}{T_{4}} , and finally sends the message{M_{9}} = h_{1}({M_{5}}||{M_{8}}||{r_{u}}||{A_{h}}||{T_{4}}) to\left \{{{M_{5}},{M_{8}},{M_{9}},{T_{4}}}\right \} .{U_{i}} Step 5:
After getting the message from HGWN,
first acquires the current timestamp{U_{i}} and confirmsT_{4}^{*} ’s validity, i.e.,T_{4} . If the timestamp|T_{4}^{*} - {T_{4}}| < \Delta T is not fresh,T_{4} aborts the current session. Otherwise,{U_{i}} calculates{U_{i}} and verifies whetherM_{9}^{*} = h_{1}({M_{5}}||{M_{8}}||{r_{u}}||{A_{h}}||{T_{4}}) is equal to the receivedM_{9}^{*} . If{M_{9}} ,M_{9}^{*} \ne {M_{9}}{\mathrm{ }} rejects the current session. Otherwise,{U_{i}} decrypts{U_{i}} with its own private keys{M_{5}} and then obtains{p_{u}},{q_{u}} and calculates{\mathrm{ }}HI{D_{i}},SI{D_{j}},{A_{gs}},{r_{s}} andS{K^{*}} = h_{1}(HI{D_{i}}||SI{D_{j}}||{r_{u}}||{r_{s}}) , and inspects whetherM_{8}^{*} = h_{1}(HI{D_{i}}||SI{D_{j}}||S{K^{*}}||{r_{u}}||{r_{s}}||{M_{5}}) is equal to the receivedM_{8}^{*} . If{M_{8}} , the current session is rejected byM_{8}^{*} \ne {M_{8}}{\mathrm{ }} . Otherwise,{U_{i}} calculates{U_{i}} and sends{M_{6}^{*}} = h_{1}(SK^{*}||{A_{gs}}) to HGWN.{M_{6}^{*}} Step 6:
HGWN decrypts
using its own private keysM_{6} to obtainp_{h},q_{h} . HGWN checksh_{1}(SK||{A_{gs}}) . IfM_{6}^{*}\mathop = \limits ^{?} h_{1} (SK||{A_{gs}}) , HGWN aborts the current session. Otherwise, the authentication is successful.M_{6}^{*} \ne h_{1}(SK||{A_{gs}}) andU_{i} share a session key SK.{SN}_{j}
F. Authentication and Key Agreement Phase in FGWN
If
The authentication and key agreement phase in FGWN is described in the following steps, as shown in Figure 9 and Figure 10.
Step 1:
generates the message{U_{i}} as in user login phase, and transmits it to the nearest HGWN.\left \{{{M_{1}},{M_{2}},{T_{1}}}\right \} Step 2:
When HGWN receives the message from
, HGWN acquires the current timestamp{U_{i}} and checksT_{1}^{*} ’s availability, i.e.,T_{1} . If the timestamp|T_{1}^{*} - {T_{1}}| < \Delta T is not fresh, HGWN aborts the current session. Otherwise, HGWN decryptsT_{1} with its own private keysM_{1} and then obtains{p_{h}},{q_{h}} . Then HGWN verifies whetherHID_{i},I{D_{hg}},SI{D_{j}},{N_{u}},{r_{u}},r_{h}^{*} is equal tor_{h}^{*} in its own memory. If{r_{h}} , then it performs subsequent calculations, otherwise, it aborts the current session. HGWN computesr_{h}^{*} = {r_{h}} andA_{h}^{*} = h_{1}(HID_{i}||{p_{h}}||{q_{h}}||r_{h}^{*}) , and verifies whetherM_{2}^{*} = h_{1}(HID_{i}||{r_{u}}||A_{h}^{*}||{N_{u}}||{M_{1}}||{T_{1}}) is equal to the receivedM_{2}^{*} . If{M_{2}} , HGWN terminates the current session. In WSNs, HGWN broadcasts the destination sensor identityM_{2}^{*} \ne {M_{2}}{\mathrm{ }} to the remaining gateway nodes. If any FGWN detectsSID_{j} in its database, it will respond to HGWN. At this point, the FGWN generates a random numberSID_{j} and computesr_{fn} , where{M_{3}} = {(SI{D_{j}}||{N_{f}}||{r_{fn}})^{2}}\bmod {N_{h}} is the public key of the HGWN. FGWN sendsN_{h} as the reaction to the HGWN. Then HGWN will contact this FGWN in the following steps. HGWN decryptsM_{3} using its own private keys and obtainsM_{3} . HGWN creates a new timestamp{SID_{j}},{N_{f}},{r_{fn}} and calculatesT_{2} , where{M_{4}} = {(HI{D_{i}}||SI{D_{j}}||{A_{h}}||{r_{h}}||{T_{2}})^{2}}\bmod {N_{f}} is the public key of the above FGWN. HGWN computesN_{f} In the end, HGWN sends the messageM_{5} = h_{1}(HI{D_{i}}||{r_{h}}||{A_{h}}||{M_{4}}||{r_{fn}}||{T_{2}}) to FGWN.{\left \{{{M_{4}},{M_{5}}}\right \}} Step 3:
After acquiring the message from HGWN, FGWN decrypts
with its own private keys{M_{4}} to obtain{p_{f}},{q_{f}} . FGWN gets the current timestampHI{D_{i}},SI{D_{j}},{A_{h}},{r_{h}},{T_{2}} and checksT_{2}^{*} ’s validity, i.e.,T_{2} . The current session is rejected by FGWN if the timestamp|T_{2}^{*} - {T_{2}}| < \Delta T is out of date. Otherwise, FGWN figures outT_{2} , and checks whetherM_{5}^{*} = h_{1}(HI{D_{i}}||{r_{h}}||{A_{h}}||{M_{4}}||{r_{fn}}||{T_{2}}) is equal to the receivedM_{5}^{*} . IfM_{5} , FGWN aborts the current session. Otherwise, FGWN constructs a random numberM_{5}^{*} \ne {M_{5}} and a new timestamp{r_{f}} . After that, FGWN computes{T_{3}} ,{A_{f}} = h_{1}(HI{D_{i}}||{p_{f}}||{q_{f}}||{r_{f}}) . Finally, FGWN computes{M_{6}} = {(HI{D_{i}}||I{D_{fg}}||{A_{f}}||{r_{f}}||{r_{h}}||{T_{3}})^{2}}\bmod {N_{h}} and then sends the message{M_{7}} = h_{1}(HI{D_{i}}||{A_{f}}||{M_{6}}||{r_{f}}||{r_{h}}||{T_{3}}) to HGWN.{\left \{{{M_{6}},{M_{7}}}\right \}} Step 4:
After receiving the message from FGWN, HGWN decrypts
with its own private keysM_{6} to obtain{p_{h}},{q_{h}} . HGWN obtains the current timestampHI{D_{i}},I{D_{fg}},{A_{f}},{r_{h}},{r_{f}},{T_{3}} and checksT_{3}^{*} ’s validity, i.e.,T_{3} . If the timestamp|T_{3}^{*} - {T_{3}}| < \Delta T is not fresh, HGWN aborts the current session. HGWN checks whetherT_{3} is equal to the receivedr_{h}^{*} . Ifr_{h} , then it performs the subsequent calculations, otherwise, it aborts the current session. HGWN computes{r_{h}^{*}} = r_{h} and verifies whetherM_{7}^{*} = h_{1}(HI{D_{i}}||{A_{f}}||{M_{6}}||{r_{f}}||{r_{h}}||{T_{3}}) is equal to the receivedM_{7}^{*} . IfM_{7} , HGWN aborts the current session. Otherwise, HGWN generates a new timestampM_{7}^{*} \ne {M_{7}} and computes{\mathrm{ }}{T_{4}} ,{M_{8}} = {A_{f}} \oplus {A_{h}} and{M_{9}} = h_{1}(HI{D_{i}}||SI{D_{j}}||{M_{8}}||{A_{f}}||{T_{4}}) . Finally, HGWN sends the message{R_{1}} = h_{1}(SI{D_{j}}||HI{D_{i}}||{A_{h}}||{A_{f}}||{T_{4}}) \oplus {r_{f}} to\left \{{{M_{8}},{M_{9}},{T_{4}},{R_{1}}}\right \} .{U_{i}} Step 5:
When
receives the message HGWN transmitted,{U_{i}} first obtains the current timestamp{U_{i}} and verifiesT_{4}^{*} ’s validity, i.e.,T_{4} . If the timestamp|T_{4}^{*} - {T_{4}}| < \Delta T is not fresh,T_{4} aborts the current session. Otherwise,{U_{i}} calculates{U_{i}} ,A_{f}^{*} = {M_{8}} \oplus {A_{h}} andr_{f}^{*} = {R_{1}} \oplus h_{1}(SI{D_{j}}||HI{D_{i}}||{A_{h}}||{A_{f}^{*}}||{T_{4}}) .M_{9}^{*} = h_{1}(HI{D_{i}}||SI{D_{j}}||{M_{8}}||A_{f}^{*}||{T_{4}}) inspects whetherU_{i} is equal to the receivedM_{9}^{*} . If{M_{9}} ,M_{9}^{*} \ne {M_{9}}{\mathrm{ }} aborts the current session. Otherwise,{U_{i}} creates a new random number{U_{i}} , a new timestamp{r_{u}} , and figures out{T_{5}} and{M_{10}} = (HID_{i}||SI{D_{j}}||{N_{u}}||{r_{u}}||r_{f}^{*})^{2}\bmod {N_{f}} .{M_{11}} = h_{1}(HID_{i}||{r_{u}}||A_{f}^{*}||{N_{u}}||{M_{10}}||{T_{5}}) sends message{U_{i}} to FGWN.\left \{{{M_{10}},{M_{11}},{T_{5}}}\right \} Step 6:
Upon getting the message
sent, FGWN acquires the current timestamp{U_{i}} and verifiesT_{5}^{*} ’s validity, i.e.,T_{5} . If the timestamp|T_{5}^{*} - {T_{5}}| < \Delta T is not fresh, the current session is terminated by FGWN. Otherwise, FGWN decryptsT_{5} with its own private keysM_{10} , and then obtains{p_{f}},{q_{f}} . Then FGWN checks whetherHID_{i},I{D_{fg}},SI{D_{j}},{N_{u}},{r_{u}},r_{f}^{*} is equal tor_{f}^{*} in its own memory. If{r_{f}} , then it performs subsequent calculations. Otherwise, it terminates the current session. FGWN calculatesr_{f}^{*} = {r_{f}} andA_{f}^{*} = h_{1}(HID_{i}||{p_{f}}||{q_{f}}||r_{f}^{*}) . FGWN inspects whetherM_{11}^{*} = h_{1}(HID_{i}||{r_{u}}||A_{f}^{*}||{N_{u}}||{M_{10}}||{T_{5}}) is equal to the receivedM_{11}^{*} . If{M_{11}}{\mathrm{ }} , FGWN aborts the current session. Otherwise, FGWN produces a random numberM_{11}^{*} \ne {M_{11}}{\mathrm{ }} , a new timestamp{\mathrm{ }}{r_{fg}} , and computes{T_{6}} ,{A_{fs}} = h_{1}(SI{D_{j}}||{p_{f}}||{q_{f}}) , and{M_{12}} = (HI{D_{i}}||{r_{u}}||{r_{fg}}||{N_{u}}) \oplus h_{2}({A_{fs}}||{T_{6}}||SI{D_{j}}) . Finally, FGWN delivers the message{M_{13}} = h_{1}(HI{D_{i}}||SI{D_{j}}||{r_{fg}}||{N_{u}}||{A_{fs}}||{T_{6}}) to\left \{{{M_{12}},{M_{13}},{T_{6}}}\right \} .S{N_{j}} Step 7:
After receiving the message FGWN transmitted,
acquires the current timestampS{N_{j}} and checksT_{6}^{*} ’s validity, i.e.,T_{6} . The current session is refused by|T_{6}^{*} - {T_{6}}| < \Delta T if the timestamp{SN_{j}} is not fresh. Otherwise,T_{6} calculatesS{N_{j}} and calculatesh_{2}({A_{fs}}||{T_{6}}||SI{D_{j}}) to obtainh_{2}({A_{fs}}||{T_{6}}||SI{D_{j}}) \oplus {M_{12}} .(HI{D_{i}}||{r_{u}}||{r_{fg}}||{N_{u}}) computesSN_{j} and checks whetherM_{13}^{*} = h_{1}(HI{D_{i}}||SI{D_{j}}||{r_{fg}}||{N_{u}}||{A_{fs}}||{T_{6}}) is equal to the receivedM_{13}^{*} . If{M_{13}} ,M_{13}^{*} \ne {M_{13}}{\mathrm{ }} aborts the current session. Otherwise,S{N_{j}} creates a random numberS{N_{j}} , a new timestamp{r_{s}} , and computes{T_{7}} ,{M_{14}} = {(HI{D_{i}}||SI{D_{j}}||{A_{fs}}||{r_{s}})^{2}}\bmod {N_{u}} .SK = h_{1}(HI{D_{i}}||SI{D_{j}}||{r_{u}}||{r_{s}}) computesSN_{j} ,{M_{15}} = {({h_{1}}(SK||{A_{fs}}))^{2}}\bmod {N_{f}} and{M_{16}} = h_{1}(HI{D_{i}}||~SI{D_{j}}||{r_{fg}}||{A_{fs}}|| {M_{14}}||{M_{15}}||{\mathrm{ }}{T_{7}}) . Finally,{M_{17}} = h_{1}(HI{D_{i}}||SI{D_{j}}||SK||{r_{u}}||{r_{s}}||{M_{14}}) sends the messageS{N_{j}} to FGWN.\left \{{M_{14},{M_{15}},M_{16},{M_{17}},{T_{7}}}\right \} Step 8:
On receiving the message
sent, FGWN first gets the current timestampS{N_{j}} and inspectsT_{7}^{*} ’s validity, i.e.,T_{7} . If the timestamp|T_{7}^{*} - {T_{7}}| < \Delta T is not fresh, FGWN terminates the current session. Otherwise, FGWN figures outT_{7} , and inspects whetherM_{16}^{*} = h_{1}(HI{D_{i}}||SI{D_{j}}||{r_{fg}}~||{A_{fs}}||{M_{14}}||{M_{15}}||{\mathrm{ }}{T_{7}}) is equal to the receivedM_{16}^{*} . If{M_{16}} , FGWN rejects the current session. Otherwise, FGWN creates a new timestampM_{16}^{*} \ne {M_{16}}{\mathrm{ }} and computes{\mathrm{ }}{T_{8}} , and finally sends the message{M_{18}} = h_{1}({M_{14}}||{M_{17}}||{r_{u}}||{A_{f}}||{T_{8}}) to\left \{{{M_{14}},{M_{17}},{M_{18}},{T_{8}}}\right \} .{U_{i}} Step 9:
When
receives the message FGWN transmitted,{U_{i}} first acquires the current timestamp{U_{i}} and verifiesT_{8}^{*} ’s validity, i.e.,T_{8} . If the timestamp|T_{8}^{*} - {T_{8}}| < \Delta T is not fresh,T_{8} aborts the current session. Otherwise,{U_{i}} calculates{U_{i}} , and verifies whetherM_{18}^{*} = h_{1}({M_{14}}||{M_{17}}||{r_{u}}||{A_{f}}||{T_{8}}) is equal to the receivedM_{18}^{*} . If{M_{18}} ,M_{18}^{*} \ne {M_{18}}{\mathrm{ }} terminates the current session. Otherwise,{U_{i}} decrypts{U_{i}} with its own private keys{M_{14}} , and then obtains{p_{u}},{q_{u}} .{\mathrm{ }}HI{D_{i}},SI{D_{j}},{A_{fs}},{r_{s}} calculatesU_{i} ,S{K^{*}} = h_{1}(HI{D_{i}}||SI{D_{j}}||{r_{u}}||{r_{s}}) , and inspects whetherM_{17}^{*} = h_{1}(HI{D_{i}}||SI{D_{j}}~||S{K^{*}}||{r_{u}}||{r_{s}}||{M_{14}}) is equal to the receivedM_{17}^{*} . If{M_{17}} ,M_{17}^{*} \ne {M_{17}}{\mathrm{ }} refuses the current session. Otherwise,U_{i} computesU_{i} and sends{M_{15}^{*}} = {h_{1}}(SK^{*}||{A_{fs}}) to FGWN.M_{15}^{*} Step 10:
FGWN decrypts
using its own private keysM_{15} to obtainp_{f},q_{f} . FGWN checksh_{1}(SK||{A_{fs}}) . IfM_{15}^{*}\mathop = \limits ^{?} h_{1}(SK||{A_{fs}}) , FGWN aborts the current session. Otherwise, the authentication is successful.M_{15}^{*} \ne h_{1}(SK||{A_{fs}}) andU_{i} share a session key SK.{SN}_{j}
G. User Password Update Phase
The user password update phase does not need the help of the gateway. When a user needs to update his/her password information, the user needs to input his/her identity
Security Analysis of the Proposed Scheme
A. Formal Verification
This subsection focuses on the security of the proposed authentication scheme, utilizing the Dolev-Yao model as the foundation and the Scyther [34] formal analysis tool in order to more comprehensively and systematically assess the security of our proposed scheme. Since the authentication and key agreement phase is the core of this scheme and this phase runs on an insecure wireless public channel, this subsection focuses on the security simulation of the authentication and key agreement.
Figure 11 shows the result of the formal security analysis of the HGWN’s authentication and key agreement. Similarly, the analysis of FGWN’s result is shown in Figure 12. From the simulation results, it can be seen that the scheme successfully passes the security check of Scyther, which verifies its security and functionality.
B. Informal Security Analysis
1) Mutual Authentication
Our scheme ensures mutual authentication between user nodes, gateway nodes, and wireless sensor nodes. In the home region, HGWN verifies
There is a identical procedure in the foreign region.
2) Session Key Agreement
In the home region,
3) User Anonymity and Untraceability
In our authentication scheme,
4) Resistance to Smart Card Attack
Through the side channel attack,
5) Resistance to Replay Attack
Timestamps are adopted in our scheme to resist the replay attack. Meanwhile, random numbers are taken during the interaction of the protocol to ensure the freshness and independence of the messages. As a result, the proposed scheme is resistant to replay attack.
6) Resistance to Privileged Insider Attack
Assuming that the adversary is a malicious privileged node, he/she can obtain a user’s login request information
7) Illegal Login Detection
When a user inputs an incorrect identity, password, or biometric information, the mobile device can quickly detect an illegal login and abort the session. In our scheme, when a user inputs incorrect information, the correct verification parameter
8) Forward Secrecy
Rabin is leveraged to ensure forward secrecy in the proposed scheme. In both home and foreign regions,
9) Resistance to Desynchronization Attack
In our scheme, users and gateway nodes do not store any identical secret parameters, and all entities involved in the session do not need to update any information at the end of this session. Therefore, this scheme is resistant to desynchronization attack.
10) Resistance to Impersonation Attack
Assuming that the adversary tries to participate in the session by impersonating as a legitimate user node, the legitimate information
C. Provable Security
1) Basic Knowledge of Provable Security
Based on the security models of previous work in literature [31], [36], we verifies the security of the proposed scheme utilizing ROM.
There are three types of communication entities in the proposed scheme, i.e., user
Both
and{\prod ^{t_{1}}} are{\prod ^{t_{2}}} .accept are mutual authentication and have identical session identifiers.{\prod ^{t_{1}}},{\prod ^{t_{2}}} cooperate with each other, and if the session key{\prod ^{t_{1}}},{\prod ^{t_{2}}} shared by the user node and the sensor node has not been asked for aSK query,Reveal can be considered as fresh.\prod _{U_{i}}^{u},\prod _{S{N_{k}}}^{t}
In the ROM,
a = 0,
acquires password via this query.\mathscr {A} a = 1,
acquires all values in the mobile device via this query.\mathscr {A}
2) Procedure of Provable Security
Definition 1:
\begin{equation*} Adv_{p}^{AKA}( \mathscr {A} ) \le \frac {{{{({q_{hash}})}^{2}}}}{|Hash|} + \frac {{2{q_{send}}}}{D} + 2Adv_{p}^{IFP} \tag{1}\end{equation*}
Proof:
Game 0~4 are defined to describe the entire process. For each
Game 0: This game simulates a real attack on the protocol by the adversary \begin{equation*} Adv_{p}^{AKA}( \mathscr {A} ) = |2Pr|W{G_{0}}| - 1| \tag{2}\end{equation*}
Game 1: In this game, \begin{equation*} Pr|W{G_{1}}| = Pr|W{G_{0}}| \tag{3}\end{equation*}
Game 2: Game 2 adds the oracles \begin{equation*} Pr|W{G_{2}}| - Pr|W{G_{1}}| \le \frac {{q_{hash}^{2}}}{2|Hash|} \tag{4}\end{equation*}
Game 3: Game 3 adds the oracle CorruptMobileDevice \begin{equation*} Pr|W{G_{3}}| - Pr|W{G_{2}}| \le \frac {{{q_{send}}}}{|D|} \tag{5}\end{equation*}
Game 4: Game 4 is the final game. In order to get the session key \begin{equation*} Pr|W{G_{4}}| - Pr|W{G_{3}}| \le Adv_{P}^{IFP} \tag{6}\end{equation*}
In addition, \begin{equation*} Pr|W{G_{4}}| = \frac {1}{2} \tag{7}\end{equation*}
According to equations (2) and (3), we can get:\begin{equation*} \frac {1}{2}Adv_{p}^{AKA}({\mathcal{ A}}) = |Pr|W{G_{0}}| - \frac {1}{2}| = |Pr|W{G_{1}}| - \frac {1}{2}| \tag{8}\end{equation*}
In conjunction with equations (3), (4), (5), and (6), there will be:\begin{align*} &\hspace {-1pc}|Pr|W{G_{1}}| - |Pr|W{G_{4}}| \\ &\le |Pr|W{G_{1}}| - Pr|W{G_{2}}| + Pr|W{G_{2}}| - Pr|W{G_{4}}|| \\ &\le |Pr|W{G_{1}}| - Pr|W{G_{2}}| + Pr|W{G_{2}}| \\ &\quad {-} Pr|W{G_{3}}| + Pr|W{G_{3}}| - Pr|W{G_{4}}|| \\ &\le |Pr|W{G_{1}}| - Pr|W{G_{2}}|| + |Pr|W{G_{2}}| \\ &\quad {-} Pr|W{G_{3}}|| + |Pr|W{G_{3}}| - Pr|W{G_{4}}|| \\ &\le \frac {{q_{hash}^{2}}}{2|Hash|} + \frac {{{q_{send}}}}{|D|} + Adv_{P}^{IFP} \tag{9}\end{align*}
As a result, we can obtain the following consequence:\begin{equation*} Adv_{p}^{AKA}( \mathscr {A} ) \le \frac {{{{({q_{hash}})}^{2}}}}{|Hash|} + \frac {{2{q_{send}}}}{D} + 2Adv_{p}^{IFP} \tag{10}\end{equation*}
Hence the safety and validity of our scheme are proved.
The Performance Comparison
This section describes the performance comparison between the proposed and other corresponding schemes. We compare the security attribute that each scheme can achieve, the computational cost, and the communication cost, respectively, where Case 1 signifies the scheme applied in the home region and Case 2 denotes the protocol created in the foreign region.
A. Security Attribute Comparison
Table 2 describes the security features our scheme and other pertinent schemes can achieve, where “✓” means that the security property is satisfied, “
B. Comparison of Computational Cost
The computational costs of authentication protocols are evaluated according to all the required calculations. To demonstrate the superiority of our scheme, the computational costs of several protocols are shown in Table 3, according to the results of experiments in [17] and [37]. “fe” denotes the fuzzy extractor, and one fe computation roughly costs 0.0171 s (s denotes second). “ed” denotes the symmetric encryption or decryption operation (using AES-128), and one ed computation roughly costs 0.0056 s. “h” denotes a hash function, and one h computation roughly costs 0.00032 s. “b” represents the run time of a BioHash operation. “m” denotes the modular squaring operation (the encryption operation in Rabin), and one m computation roughly costs 0.00088 s (when we set the length of modular |N| = 512). “qr” denotes a module-square root operation (the decryption operation in Rabin), and one qr computation roughly costs 0.0192 s. “ecm” signifies ECC point multiplication, and one ecm computation roughly costs 0.0171 s. “eca” signifies ECC point addition, and one eca computation roughly costs 0.0044 s.
Since only the computational resources of sensor nodes are usually limited in WSNs, this scheme primarily focuses on computational costs on the sensor node side. Table 3 compares the computational costs for HGWN and FGWN. Compared with [22], [23], [24], and [26], the computational costs on the sensor side increased slightly, but the performance improved. However, compared with [17] and [28] that cannot support multi-gateway access, our protocol has a much smaller overhead on the sensor side in HGWN. Furthermore, the computational cost on the sensor side is significantly less than that in literatures [29], [30]. In summary, the proposed protocol achieves better security attributes with lower computational costs.
C. Comparison of Communication Cost
According to literature [17], [38], the following assumptions are used to calculate the communication cost. The bit sizes required for random nonce, timestamp, hash output and ECC point are, respectively, 160 bits, 32 bits, 160 bits, and 320 bits. Additionally, modular exponentiation and inversion operations are performed using 1024-bit modulus to guarantee security. In the proposed scheme, the transmitted messages in the home region during the login and authentication phase
Furthermore, the transmitted messages in the foreign region during the login and authentication phase
Conclusion
We propose a lightweight user authentication and key agreement scheme for multi-gateway based wireless sensor networks using the Rabin cryptosystem. In the proposed protocol, we used lightweight cryptographic primitives such as the hash function, the encryption of Rabin, and the XOR operation to reduce the overhead. This protocol is proven to have good authentication and confidentiality through formal analysis, informal analysis, and provable security. Furthermore, because of the introduction of the public key cryptosystem, this scheme achieves forward secrecy. Finally, compared with the corresponding schemes, the proposed scheme provides more security features while requiring less computational overhead.