Nothing Special   »   [go: up one dir, main page]

Next Article in Journal
Acoustic Emission Source Characterisation during Fatigue Crack Growth in Al 2024-T3 Specimens
Previous Article in Journal
Intelligent Object Tracking with an Automatic Image Zoom Algorithm for a Camera Sensing Surveillance System
You seem to have javascript disabled. Please note that many of the page functionalities won't work as expected without javascript enabled.
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Enhanced User Authentication and Key Agreement Scheme for Wireless Sensor Networks Tailored for IoT

1
Department of Mathematics, Chaudhary Charan Singh University, Meerut 250004, India
2
Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah 21589, Saudi Arabia
3
Department of Computer Science and Engineering, HMR Institute of Technology and Management, New Delhi 110036, India
4
Department of Information and Computer Engineering, Chung Yuan Christian University, Taoyuan 320314, Taiwan
*
Author to whom correspondence should be addressed.
Sensors 2022, 22(22), 8793; https://doi.org/10.3390/s22228793
Submission received: 18 October 2022 / Revised: 10 November 2022 / Accepted: 10 November 2022 / Published: 14 November 2022
(This article belongs to the Section Sensor Networks)
Figure 1
<p>Notations and description.</p> ">
Figure 2
<p>Registration phase of Singh et al.’s scheme [<a href="#B34-sensors-22-08793" class="html-bibr">34</a>].</p> ">
Figure 3
<p>Login phase of Singh et al.’s scheme [<a href="#B34-sensors-22-08793" class="html-bibr">34</a>].</p> ">
Figure 4
<p>Authentication phase of Singh et al.’s scheme [<a href="#B34-sensors-22-08793" class="html-bibr">34</a>].</p> ">
Figure 5
<p>Sensors Enabled IoT Network.</p> ">
Figure 6
<p>Sensor node pre-deployment phase.</p> ">
Figure 7
<p>Registration phase between <span class="html-italic">U<sub>i</sub></span> and <span class="html-italic">GW</span>.</p> ">
Figure 8
<p>Authentication and key agreement phase.</p> ">
Figure 9
<p>Comparison of security and functional features [<a href="#B15-sensors-22-08793" class="html-bibr">15</a>,<a href="#B19-sensors-22-08793" class="html-bibr">19</a>,<a href="#B21-sensors-22-08793" class="html-bibr">21</a>,<a href="#B22-sensors-22-08793" class="html-bibr">22</a>,<a href="#B27-sensors-22-08793" class="html-bibr">27</a>,<a href="#B34-sensors-22-08793" class="html-bibr">34</a>].</p> ">
Figure 10
<p>Cryptographic function and their description for computation cost.</p> ">
Figure 11
<p>Comparison of computation cost.</p> ">
Figure 12
<p>Comparison of computation cost [<a href="#B15-sensors-22-08793" class="html-bibr">15</a>,<a href="#B19-sensors-22-08793" class="html-bibr">19</a>,<a href="#B21-sensors-22-08793" class="html-bibr">21</a>,<a href="#B22-sensors-22-08793" class="html-bibr">22</a>,<a href="#B27-sensors-22-08793" class="html-bibr">27</a>].</p> ">
Figure 13
<p>Comparison of communication cost [<a href="#B15-sensors-22-08793" class="html-bibr">15</a>,<a href="#B19-sensors-22-08793" class="html-bibr">19</a>,<a href="#B21-sensors-22-08793" class="html-bibr">21</a>,<a href="#B22-sensors-22-08793" class="html-bibr">22</a>,<a href="#B27-sensors-22-08793" class="html-bibr">27</a>,<a href="#B34-sensors-22-08793" class="html-bibr">34</a>].</p> ">
Figure 14
<p>Comparison of communication cost.</p> ">
Versions Notes

Abstract

:
A security protocol for wireless transmission is essential to defend sensitive information from malicious enemies by providing a variety of facilities such as privacy of the user’s information, secure session key, associated authentication, and user-repeal facility when a person’s authorizations are suddenly disclosed. Singh et al. proposed an improved user authentication and key agreement system for wireless sensor networks (WSNs). Authors are sure that their protocol is secure from various attacks. Here, we find several security pitfalls in their scheme, such as an offline password-guessing attack, failure to protect the session key, and a man-in-the-middle attack. To remove the identified pitfalls found in Singh et al.’s scheme, we design an enhanced authentication scheme for WSNs tailored for IoT. We prove the reliability of our proposed protocol using the real or random (RoR) model. We also evaluate the proposed scheme with the associated schemes and show its superior efficacy as compared to its counterparts.

1. Introduction

A wireless Sensor Network (WSN) consists of sensors or sensor nodes and plays a vital role in the Internet of Things (IoT) applications. The sensor nodes can be used at sensitive places in an unplanned or planned way. These kinds of nodes have the capacity to collect data from their neighboring fields, after which they send the data to nearby base stations (BSs), which process the received data for decision-making. Sensor nodes can communicate with each other via wireless radio communications. In WSNs, the BS (referred to as the gateway node (or GW-node)) is the most effective node, whereas sensors are the least effective nodes in regard to battery power, memory space, and computational ability.
WSNs can be utilized in different unattended fields, such as the army, climatic, medical, and agriculture, for goal monitoring, battleground vigilance, and invader identification. WSNs can also be deployed in various IoT applications such as smart homes, smart supply-chain management, smart cities, smart grids, smart traffic management, and industrial Internet. Due to the unattended surroundings of sensor nodes, an adversary has the ability to immediately capture a sensor node from the goal-tracking area. For this reason, an adversary has a possibility to at once seize a sensor node from the goal field and extract all of the data from its reminiscence, as nodes are not usually tamper-resistant because of their low cost.
The requirement to protect the data stored in WSNs is a crucial issue. Here we discuss some scenarios which necessitate a user verification protocol in WSNs. In WSNs, an intruder can create a bug in the network and can disturb or discontinue the commuted texts. Numerous crucial operations in WSNs, along with the utilization of the battleground surveillance and e-health services, rely on actual data to obtain which the users establish a direct connection with the sensor nodes with the help of the base station. Thus, in applications requiring actual data, the user’s authenticity is verified by the sensor nodes and the BS, which requires setting up a secret session key among the users and the accessed nodes so that no intruder can obtain the crucial data from the sensor nodes. Due to this motive, user authentication and key agreement protocols in WSNs are important research fields.

Motivation and Contribution

WSNs’ environment is challenging due to their resource-constrained nature and security requirements. The same is true for any IoT application due to its dependency on WSNs. Authentication and key agreement schemes are utilized to handle the application layer in WSNs/IoT. In these schemes, balancing efficiency and security is a big challenge. In this regard, research on establishing authentication and key agreement is in the developing stage. While reviewing some literature on authentication and key agreement scheme for WSN, we came across an article in which we felt scope for improvement. The contributions of this article are as follows:
  • We analyze an authentication and key agreement scheme for WSNs and point out its flaws.
  • As an enhancement of the analyzed scheme, we propose an authentication and key agreement scheme for WSNs tailored for the IoT.
  • We have tried to achieve the maximum possible security features while keeping the minimum possible computational load.

2. Related Work

In 2009, Das [1] proposed two-factor user authentications in WSNs. The author claims that the proposed scheme resists many attacks in WSNs, but it suffers from denial-of-service and node compromise attacks. In 2011, Yeh et al. [2] worked on Das’s scheme and proposed an authentication protocol for WSNs using elliptic curve cryptography. Mutual authentication is important to prove the legitimacy of each party, and Yeh et al. [2] found that the scheme in [1] does not provide mutual authentication; they also found that the protocol in [1] suffers from insider attacks, user impersonation attacks, and no provision for changing updating passwords.
In 2013, Xue et al. [3] proposed a temporal credential-based mutual authentication scheme for WSNs. In 2014, Turkanovic et al. [4] suggested a user-mutual authentication key agreement protocol for heterogeneous ad hoc WSNs. This scheme concentrates on the Internet of things (IoT) notion. In 2015, Jiang et al. [5] found some security flaws in the protocol [3] and proposed an improvement of [3]. Jiang et al. found that the scheme in [3] suffers from insider attacks, weak stolen smart card attacks, identity guessing attacks, and tracking attacks. In 2015, He et al. [6] proposed mutual authentication and key agreement protocol for WSNs. He et al. [6] found that the scheme in [3] cannot withstand the security parameters, and protocol [3] suffers from offline password guessing attacks, user impersonation attacks, and sensor node impersonation attacks. He et al. [6] found that the scheme in [3] cannot provide legitimacy of the user.
In 2016, Kumari et al. [7] pointed out that the scheme in [6] has many disadvantages. Kumari et al. [7] showed that protocol [6] suffers from offline password-guessing attacks, session-specific temporary information attacks, the absence of password-changing facilities, and the absence of unauthorized login detection, and it does not provide legitimacy to the user. Kumari et al. [7] proposed a mutual authentication and key agreement scheme for WSNs using chaotic maps. In 2016, Jiang et al. [8] worked on the scheme in [6], and after analysis, they showed that the scheme in [6] fails to provide anonymity for the user. Jiang et al. [8] found that in the protocol [6], an adversary can easily track the user, and also, this scheme cannot stand with stolen smart card attacks. Jiang et al. [8] proposed an untraceable temporal-credential-based authentication scheme for WSNs.
In 2016, Farash et al. [9] noticed that the protocol in [4] does not resist man-in-the-middle attacks, the disclosure of the session key, sensor node impersonation attacks, and the disclosure of secret parameters. Farash et al. [9] also showed that the scheme in [4] does not provide sensor node anonymity, and any adversary who wants to track the user can easily do so. To remove the weakness, Farash et al. [9] proposed an enhanced scheme. In 2016, Amin and Biswas [10] found that the protocol in [4] undergoes offline password-guessing attacks, offline identity-guessing attacks, smart card theft attacks, user impersonation attacks, sensor-node impersonation attacks, and inefficient authentication phase. Amin and Biswas [10] also gave an authentication method after removing the weakness of the scheme in [4], and they claimed the enhanced security of their scheme over protocol in [4]. Amin and Biswas used BAN logic for formal security analysis of the proposed protocol.
In 2016, Amin et al. [11] showed that the scheme in [9] is vulnerable to smart card stolen attacks, offline password-guessing attacks, new smart issue attacks, user impersonation attacks, and known session-specific temporary information attacks. Amin et al. [11] found that the protocol in [9] does not provide user anonymity, and also the secret key of the gateway node is not safe in this protocol. To overcome the disadvantages of the scheme in [9], Amin et al. [11] put forward an improved version of WSNs. In 2016, Chang and Le [12] showed that protocol in [4] is vulnerable to impersonation attacks with node capture, stolen smart card attacks, sensor node spoofing attacks, and stolen verifier attacks, and it fails to ensure backward secrecy. To remove these security issues, Chang and Le [12] proposed an advanced scheme.
In 2017, Wu et al. [13] revealed that the scheme in [10] suffers from sensor capture attacks, session key leakage attacks, user forgery attacks, gateway forgery attacks, and sensor forgery attacks. Wu et al. [13] showed that in the scheme [10], the adversary could track the user easily, and this does not provide mutual authentication between parties. To remove the disadvantages in [10], Wu et al. [13] proposed an authentication scheme for multi-gateway-based WSNs. In 2017, Wu et al. [14] found that the scheme in [5] has many security pitfalls, such as offline password-guessing attacks, user forgery attacks, de-synchronization attacks, and a lack of strong forward security. Wu et al. [14] recommended a stepped-forward version of the protocol in [5]. They claimed their protocol to be secure. In 2017, Dhillon and Kalra [15] proposed multi-factor remote user authentication and key agreement scheme for IoT environments. They said that their proposal is to be defendable against all prospected threats.
In 2018, Amin et al. [16] designed a robust patient monitoring system using wireless medical sensor networks. They are sure that their protocol is secured against obvious violations. They used BAN logic to confirm the mutual authentication feature for their suggested protocol. In 2018, Jangirala et al. [17] designed an authentication and key agreement protocol for the industrial Internet of things. In the scheme of [17], they used the fuzzy extractor method for biometric authentication by the user’s smart card. In 2018, Li et al. [18] pointed out that the protocol in [8] cannot resist known session-specific temporary information attacks and clock synchronization, and this scheme is not applicable to IoT environments. To improve the scheme in [8], Li et al. [18] suggested a three-factor anonymous authentication scheme for WSNs. In 2018, He et al. [19] found that the scheme in [12] suffers from sensor capture attacks. They gave an improved version of [12].
In 2019, Gupta et al. [20] designed an anonymous user authentication and key-establishment scheme for wearable devices. They used BAN logic to justify mutual verification among the gateway/cellular terminal and the wearable gadget of the sensor. In 2019, Ghani et al. [21] proposed an IoT-based scheme for WSNs using a symmetric key. In 2020, Lee et al. [22] discovered that the protocol in [15] is vulnerable to a stolen mobile device attack and a user impersonation attack, and it lacks a provision for the agreement of the session key. In 2021, Mall et al. [23] proposed a physically unclonable function (PUF) based authentication protocol for drone-enabled WSNs. This protocol conducts communication among devices and the cloud by the relocatable drone.
In 2021, Chen et al. [24] suggested a group key agreement protocol for IoT. In this scheme, they introduce an entity known as the device manager. Device managers connect IoT devices with blockchain networks. In 2021, Chen and Liu [25] suggested a three-factor scheme for the IoT that used biological information. They proved their protocol in both a formal and informal manner. In 2021, Ali et al. [26] designed an ECC-based protocol for vehicle-to-vehicle communication in VANETs. In 2021, Sadri and Asaar [27] showed that the scheme in [21] has many security pitfalls, such as user impersonation attacks, malicious gateway attacks, and traceability attacks. To remove weaknesses found in [21], Sadri and Asaar [27] suggested a hash-based scheme for WSNs in IoT with forward secrecy. They analyzed their protocol with both formal and informal methods. In 2021, Rangwani et al. [28] proposed a three-factor scheme for the Industrial Internet of Things (IIoT). They also verified their scheme in both formal and informal ways. In 2021, Nashwan [29] designed a scheme for healthcare IoT. In this scheme, mutual authentication between all nodes is verified using BAN logic.
In 2022, Tanveer et al. [30] suggested a resource-capable scheme for the Industrial Internet of Things (IIoT). The authors claimed that their scheme is suitable for resource-constrained smart devices. In 2022, Kumar et al. [31] designed an RFID-based scheme using PUF for vehicular cloud computing. In 2022, Wu et al. [32] suggested a scheme that depends on a symmetric encryption algorithm and fog computing in the Internet of vehicles. In 2022, Li et al. [33] proposed a protocol for fog-enabled social internet of vehicles.
In 2016, Singh et al. [34] proposed a scheme to resolve the weaknesses of the protocol in [4]. Singh et al. claimed their scheme to be more secure and efficient for a real application environment. However, we show that the protocol in [34] has many security issues. The scheme in [34] suffers from many attacks like offline password-guessing attacks, man-in-the-middle attacks, and attacks on the session key.

Organization

In Section 3, we review Singh et al.’s scheme. The cryptanalysis of Singh et al.’s scheme is shown in Section 4. Section 5 describes our enhanced scheme. Section 6 explains the security analysis of the proposed scheme in both a formal and informal manner. Section 7 contains a comparison of the proposed scheme with some related schemes. The conclusion is in Section 8.

3. Review of Singh et al.’s Scheme

Firstly, we write the notations and their explanations used in this paper in Figure 1.

3.1. Registration Phase

The system of registration begins after the placement of sensor nodes in the application space. The registration phase is split into two sub-phases. Phase one is between a user and the gateway, and phase two is between the sensor node and the gateway. Figure 2 illustrates all two stages.

3.1.1. Registration Between User and Gateway

Identity (IDi) and secure password (PWi) are provided to every user. User identity and password hash value are saved in the gateway node. At first, the gateway selects a random key KGW-U. With this key, GW can communicate with the user. The gateway further selects a different key KGW-S. With this particular key, GW can communicate with sensor nodes. The procedure for this phase is as follows:
Step-1: User Ui selects a random number ri and computes Pi = h(ri||h(PWi)).
Step-2: User generates time stamp Ts1 and sends {Pi, IDi, Ts1} to GW through a protected channel.
Step-3: Following the received message, the gateway verifies the legitimacy of a time stamp.
If |TS1Tc| < ∆T exists, then gateway calculates.
  • αi = h(KGW-U ||IDi);
  • bi = αih(Pi ||h(PWi));
  • ci = h(αi||h(PWi)||IDi);
Step-4: Gateway customizes SC with {h(.), bi, ci, IDi} and conveys to the user through a protected channel.
Step-5: User adds di = rih(IDi||PWi) into SC. Now SC contains {h(.), bi, ci, di, IDi}.

3.1.2. Registration Between Sensor node and gateway

Every sensor node has an identity (IDsj) and a protected password (PWsj). The identity and the hash value of the password for sensor node Sj are also saved in the gateway. The phase consists of the following steps:
Step-1: Sensor node Sj computes Psj = h(IDsj||h(PWsj)||Ts2) with its IDsj and PWsj.
Step-2: Sensor node dispatch message {Psj, IDsj, Ts2} to the gateway.
Step-3: When information is received, the gateway confirms the validation of a time stamp. If |Ts2Tc| < ∆T, then it moves ahead or else sends non-acceptance text to the sensor node.
Step-4: With secret key KGW-S, GW calculates the following values:
  • βj = h(KGW-S||IDsj);
  • bsj = βjh(IDsj||h(PWsj));
  • csj = h(βj||h(PWsj)||IDsj||Ts3);
Step-5: GW sends {bsj, csj, Ts3} to the sensor node through a non-private channel.
Step-6: After confirmation of obtaining the data, the sensor node verifies the legitimacy of a time stamp. If |Ts3Tc| < ∆T, then move ahead to the succeeding step or else deliver a non-acceptance message to GW.
Step-7: Sensor node calculates βj = bsjh(IDsj||h(PWsj)) and checks csj* = h(βj||h(PWsj)||IDsj||Ts3) is equal to csj; after that, saves βj into its memory or else sends a failure message to GW.

3.2. Login Phase

After the registration phase, the connection is established between the user and Sj via the GW node. Figure 3 describes the work-flow of the login phase. The steps are as follows:
Step-1: User Ui inserts his/her card into the insertion area and enters his/her IDi* and password PWi*.
Step-2: SC calculates ri* = dih(IDi*||PWi*) with the saved value of di. Then it calculates MPi* = h(PWi*) and Pi = h(ri*||MPi*).
Step-3: Then, smartcard calculates αi* = bih(Pi||MPi*).
Step-4: SC calculates one more time ci* = h(αi*||MPi*||IDi*) and verifies whether the original ci or computed ci* are the same. If it is not equal, then the login progress will be terminated.
Step-5: If the entered password is exactly the same, the user selects an arbitrary number ki and calculates M1 = kih(αi||MPi ) and M2 = h(αi||MPi||ki||T1).
Step-6: User sends {M1, M2, IDi, T1} to GW through an open channel.

3.3. Authentication and Key Agreement Phase

Mutual confirmation among all groups is made after the success of the login phase. This procedure is performed in the authentication and key agreement phase. It takes three steps. The first one is for the user’s authority confirmation through GW. The second one represents the GW’s lawfulness confirmation by the user and the sensor node. Moreover, the third one is for the user to verify the authentication of the sensor node. The focus of this phase is providing a session key between the user and the sensor node. This phase is illustrated in Figure 4. The whole authentication and key agreement phase is discussed in the following steps.
Step-1: As the gateway obtains a message {M1, M2, IDi, T1} from the user Ui, the gateway verifies the time stamp’s validity by calculating |T1Tc| < ∆T. If it is found valid, GW again calculates the upcoming step or else sends a failure message to Ui.
Step-2: With the help of h(PWi), as per the accepted IDi, the gateway calculates ki* = M1h(αi||h(PWi)) and after that calculates its own version of M2* = h(αi||h(PWi)||ki*||T1) and compares it with the received M2. In case these are the same, then GW validates the user Ui or else sends a failure text to the user.
Step-3: Once the validation of the user is completed, GW calculates ϒij = h(αi||βj||IDi||IDsj), M3 = αiϒij, and M4 = h(ϒij||M3||IDi||T2) and sends {M3, M4, IDi, T2} to the user; here, T2 represents GW’s time stamp.
Step-4: After obtaining {M3, M4, IDi, T2}, the user verifies whether |T2 − Tc| < ∆T and after that calculates its own version of ϒij = αiM3 and M4* = h(ϒij||M3||IDi||T2). The user checks whether M4 =? M4*. If both are the same, then gateway authorization by the user Ui holds. If not, the user discontinues the procedure by sending a failure message to GW.
Step-5: At time T2 when message is sent to user Ui, GW calculates M5 = kih(βj||IDsj), M6 = βjϒij, and M7 = h(ϒij||ki||IDsj||T3) after that forwards {M5, M6, M7, IDi, IDsj, T3} to sensor node Sj.
Step-6: When a message is received from GW, now Sj verifies if |T3 − Tc| < ∆T then further calculates owned version of ki* = M5h(βj||IDsj) by using saved βj and after this calculates its own version of ϒij = βjM6 and M7* = h(ϒij||ki*||IDsj||T3) and compares M7* with M7. It checks the values; if both are equal, then GW is verified by Sj, or else Sj transmits a failure text to GW.
Step-7: When authentication of GW is complete, Sj chooses a random number kj and calculates the session key, which is SK = h(kikj).
Step-8: In the end, thesensor node Sj calculates M8 = kjϒij and M9 = h(kj||IDsj||T4) and transmits {M8, M9, IDi, IDsj, T4} to user Ui.
Step-9: When the text is received from sensor node Sj, the user verifies the legality of the time stamp |T4 − Tc| < ∆Ta and verifies the validity of Sj by calculating its own version of kj = M8ϒij and M9* = h(kj||IDsj||T4) and after that analyzes M9* with the accepted M9. It checks if both are the same and furthermore calculates the session key as SK = h(kikj), then, as a result, efficiently ends the authentication phase.

4. Cryptanalysis of Singh et al.’s Scheme

4.1. Insider Attack

Suppose an insider at GW can obtain a user smart card and access the information saved in SC {h(.), bi, ci, di, IDi}. In the registration phase, when Ui submits {Pi, IDi}, the insider guesses the password PWi and finds ri in the following way:
ri = dih(IDi||h(PWi))
after that calculates Pi# = h(ri||h(PWi)) and checks whether Pi = ? Pi#
The insider guesses the password till he/she achieves the correct password.

4.2. Offline Password Guessing Attack

Secret parameters saved into smart card are {h(.), bi, ci, di, IDi}
An adversary Ua can do guesswork PWi* for the password, and now computes ri# = dih(IDi||PWi#)
Then, the adversary finds the value of Pi# from Pi# = h(ri#||h(PWi#)). The adversary computes the value
αi# = bih(Pi#||h(PWi#)). Then, the adversary computes ci# = h(αi#||h(PWi#)||IDi) and checks whether ci# =? ci. If it holds, the adversary obtains an exact password PWi. In any other case, the adversary repeats the process.

4.3. Lack of User Anonymity

In Singh et al.’s scheme, messages {M1, M2, IDi, T1}, {M3, M4, IDi, T2}, and {M8, M9, IDi, IDsj,T4} directly involve the identity IDi of a valid user Ui in plain text. By spy monitoring the messages, an adversary recognizes IDi. Subsequently, Singh et al.’s scheme does not hold the user anonymity property.

4.4. Man-In-The-Middle Attack

During the attack, an adversary Ua tries to know the actual session key.
  • When the user Ui transmits the login message {M1, M2, IDi, T1} to GW via a pubic channel, the adversary Ua intercepts the message and plunders the smart card, then Ua can guess the secret keywords and find the value of αi. Ua finds ki = M1h(αi||MPi). Let Ua select random nonce ki# then modify the parameter M1 and M2 as M1# = ki#h(αi||MPi) and M2# = h(αi||MPi||ki#||T1#). After that, Ua sends the modified message {M1#, M2#, IDi, T1#} to GW.
  • By gateway, after receiving the message {M1#, M2#, IDi, T1#}, the gateway examines the legality of the time stamp by figuring out|T1# − Tc| < ∆T. If the legality stays, then there are further attempts to figure out the subsequent steps; if not, a rejection message drops to the user Ui.
  • The gateway computes ki#* = M1#h(αi||h(PWi)) and then computes M2* = h (αi||h(PWi)||ki#*||T1#) and checks whether M2* = ? M2#. If it holds, then the gateway authenticates the user Ui; if not, it sends a rejection message to the user.
  • GW computes ϒij = h(αi||βj||IDi||IDsj), M3 = αiϒij, and M4 = h(ϒij||M3||IDi||T2) and sends {M3, M4, IDi,T2} to the user.
  • Adversary Ua intercepts the message {M3, M4, IDi, T2} and computes the value ϒij = M3αi and changes the gateway’s time stamp and parameter M4 as M4#.
  • Now Ua delivers {M3, M4#, IDi, T2#} to the user Ui. After receiving {M3, M4#, IDi, T2#}, the user checks whether |T2#Tc| < ∆T and then computes ϒij = αiM3 and M4* = h(ϒij||M3||IDi||T2#) and checks whether M4* =? M4#. If it holds, then GW verification by the user holds; otherwise, abort the process.
6.
When a message is sent at time T2 to the user Ui, GW immediately computes M5 = ki#h(βj||IDsj), M6 = βjϒij, and M7 = h(ϒij||ki#||IDsj||T3), then sends { M5, M6, M7, IDi, IDsj, T3} to Sj.
7.
The adversary Ua intercepts the message {M5, M6, M7, IDi, IDsj,T3}. Ua changes the time stamp and parameter as M7# = h(ϒij||ki#||IDsj||T3#). Now the adversary Ua sends the message {M5, M6, M7#, IDi, IDsj, T3#} to Sj.
8.
When a message is received from the gateway, Sj confirms whether |T3#Tc| < ∆T and then computes ki# = M5h(βj||IDsj), ϒij = βjM6, and M7* = h(ϒij||ki#||IDSj||T3) and checks whether M7* =? M7#. If it holds, then the gateway is certified through the sensor node; if not, the sensor node sends a failure text to the gateway.
9.
Once the gateway verification is completed, Sj sensor node picks a random number kj and calculates the session key as SK = h(ki#kj).
10.
Sj computes M8 = kjϒij and M9 = h(kj||IDSj||T4) then transmits {M8, M9, IDi, IDsj, T4} to the user Ui.
11.
The adversary intercepts the message {M8, M9, IDi, IDsj, T4}. Ua computes kj = M8ϒij, M9* = h(kj||IDSj||T4) and checks whether M9 = ? M9*. The adversary Ua computes the session key SK = h(ki#kj). Now Ua chooses random number kj# and computes M8# = kj#ϒij and M9# = h(kj#||IDSj||T4#). Ua transmits the message {M8#, M9#, IDi,IDsj,T4#} to the user Ui.
12.
Once the message is received from sensor node Sj, the user confirms the legality of the stamp |T4# − Tc| < ∆T. The user examines the effectiveness of the sensor node by figuring out its own version of kj#* = M8#ϒij and M9#* = h(kj#*||IDSj||T4#) and confirms whether M9# = ? M9#*. If it holds, then it calculates the session key as SK = h(kikj#).
Two session keys are established here: one is between the user and adversary SK = h(kikj#). The second is SK = h(ki#kj), which is between the sensor node and the adversary. The adversary makes a fool of both the user and the sensor node by behaving like a middleman.

5. Proposed Scheme

Here, we propose an enhanced user authentication and key agreement scheme for WSNs tailored for IoT. This protocol is divided into four phases: registration, login, authentication and key agreement, and password change. Our scheme sorts out all the identified failures of Singh et al.’s scheme. The architecture of the sensors-enabled IoT network is shown in Figure 5. It depicts that the gateway node facilitates the establishment of a secure communication channel between the user and the sensor node.

5.1. Registration

Here we split the phase into two sub-phases.

5.1.1. Sensor Registration

Each sensor node Sj has its identity IDsj. This section is performed by the GW offline before the use of sensor nodes in the target area. It contains the following steps:
  • For each sensor node Sj, the GW chooses an uncommon identity IDsj;
  • The gateway node computes a common secret key between GW and Sj
KGW-Sj = h(IDsj||KGW)
Ultimately, every sensor node Sj which is used in the target area is preloaded with the information {IDsj, KGW-Sj}, and GW also stores IDsj in its database. This phase is shown in Figure 6.

5.1.2. User Registration

In this section, a lawful user Ui wishes to register with the GW. As a way to register to the GW, the user Ui wishes to execute the steps which are given below and shown in Figure 7.
Step-1: User Ui selects IDi, PWi, and random number r1. Ui calculates
RPWi = h(IDi||PWi||r1)
RIDi = h(IDi||r1)
Now Ui forwards the registration request message {RPWi, RIDi} to GW via a safe channel.
Step-2: GW investigates whether RIDi exists in the database. If it exists, then GW forwards a rejection notification to Ui. If not, GW saves RIDi in the database and computes.
A1= h(GIDj||KGW||RIDi) ⨁ RPWi
A2= h(RIDi||KGW) ⨁ h(RIDi||RPWi)
A3= h(A2||RPWi||RIDi)
GW stores {A1, A2, A3, GIDj} into SC and sends SC to Ui by a private channel.
Step-3: Ui computes A4 = h(IDi||PWi) ⨁ r1 and stores A4 into SC {A1, A2, A3, A4, GIDj}.

5.2. Login Phase

Subsequent to the completion of the registration phase, the user can contact a sensor node by the GW. Comprehensive steps are given underneath.
Step-1: User Ui enters its smart card into the terminal and loads IDi and PWi.
Step-2: SC computes r1 = A4h(IDi||PWi);
And RPWi = h(IDi||PWi||r1), RIDi = h(IDi||r1);
And checks A3 = ? h(A2||RPWi||RIDi);
Step-3: If they do not match, then the login process will be canceled.
Step-4: If the password entered by the user was correct, then it selects the random number ru and required sensor IDsj and computes
B1 = A1RPWi = h(GIDj||KGW||RIDi)
B2 = B1ru
B3 = h(GIDj||IDsj||B1||RIDi||ru||T1)
Finally, the message M1 = {B2, B3, GIDj, RIDi, IDsj, T1} is sent to GW, where T1 is an ongoing time stamp.

5.3. Authentication and Key Agreement Phase

Subsequent to accepting the login request message by the GW from Ui, subsequent steps are accomplished for mutual authentication and key establishment. The login and authentication phases are shown in Figure 8.
Step-1: Firstly, GW checks if GIDj is right. After that, GW verifies the validity of the timestamp. If |T1Tc| < ∆T holds, then GW proceeds to further steps; otherwise, abort the process. GW computes
B1 = h(GIDj||KGW||RIDi)
ru* = B1B2
Then checks B3* = h(GIDj||IDsj||B1||RIDi||ru*||T1) = ? B3
If this does not hold, the user account RIDi will be locked. Otherwise, GW searches for IDsj from the database, chooses a random number rg, and calculates
KGW-Sj = h(IDsj||KGW)
B4 = h(KGW-Sj||IDsj||GIDj) ⨁ ru
B5= h(ru) ⨁ rg
B6 = h(KGW-Sj||ru||rg||T2)
GW sends the message M2 = {IDsj, B4, B5, B6, T2} to Sj, where T2 is GW ongoing time stamp.
Step-2: Subsequent to accepting the message, Sj first checks if IDsj is correct; after that, Sj verifies the legality of the time stamp. If |T2Tc| <∆T holds, then Sj proceeds to further steps; otherwise, it sends a rejection message to GW.
Sj calculates ru* = B4h(KGW-Sj||IDsj||GIDj)
and rg* = B5h(ru)
and verifies B6* = h(KGW-Sj||ru*||rg*||T2) = ? B6
If the equation is right, Sj selects rs and computes
SKs = h(ru||rg||rs)
B7 = h(KGW-Sj||rg) ⨁ rs
B8 = IDsjh(rs||B7)
B9 = h(SKs||IDsj||GIDj||rs||T3)
Now Sj sends M3 = {B7, B8, B9, T3} to GW
Step-3: Subsequent to accepting the message, GW verifies the legality of the time stamp. If |T3Tc| < ∆T holds, then GW goes ahead to further steps; if not, abort the process.
GW computes rs* = B7h(KGW-Sj||rg)
IDsj* = B8h(rs*||B7)
Then investigates IDsj* in the database. If it does not occur, then GW stops the process; otherwise, GW checks B9* = h(SKg||IDsj*||GIDj||rs*||T3) =? B9
GW computes SKg = h(ru||rg||rs)
B10 = h(ru||RIDi) ⨁ rg
B11 = h(ru||rg) ⨁ rs
B12 = h(SKg||RIDi||rg||rs||T4)
GW sends the message M4 = {B10, B11, B12, T4} to Ui.
Step-4: Subsequent to accepting the message, Ui investigates the legality of the time stamp. If |T4Tc| < ∆T holds, then Ui proceeds to further steps; otherwise, it stops the process.
Ui computes rg* = B10h(ru||RIDi)
rs* = B11h(ru||rg)
SKu* = h(ru||rg*||rs*)
Then checks B12* = h(SKu*||RIDi||rg*||rs*||T4) = ? B12
Hence, Session key SKu = h(ru||rg||rs)

5.4. Password Change Phase

Step-1: User Ui inserts its SC into the terminal and inputs his/her IDi and PWi.
SC computes r1 = A4h(IDi||PWi)
RPWi = h(IDi||PWi||r1) and RIDi = h(IDi||r1)
Chooses a random number ru and calculates B1, B2, and B13 = h(GIDj||B1||RIDi||ru||T5). Finally, it sends M5 = {GIDj, RIDi, B2, B13, T5} with to GW.
Step-2: GW investigates legality of time stamp T5 after that calculates B1, ru, and checks B13 =? h(GIDj||B1||RIDi||ru||T5)
GW computes B14 = h(GIDj||KGW||RIDi) ⨁ h(ru||RIDi)
B15 = h(RIDi||GIDj||B14||T6)
Finally, it sends M6 = {B14, B15} to Ui.
Step-3: After receiving M6, SC checks the validity of time stamp and checks B15 = ? h(RIDi||GIDj||B14||T6). If so, Ui inputs a new password PWinew, and the SC generates an arbitrary number r1new, and calculates
RPWinew = h(RIDi||PWinew||r1new)
A1new = B14h(ru||RIDi) ⨁ h(IDi||PWinew||r1)
A2new= A2h(RIDi||RPWi) ⨁ h(RIDi||RPWinew)
A3new = h(A2new||RPWinew||RIDi)
Finally, the SC replaces {A1, A2, A3} with {A1new, A2new, A3new}.

6. Security Analysis

Here, we discuss the security of our scheme formally as well as informally.

6.1. Informal Security Analysis

6.1.1. Insider Attack Resistance

When a user sends a registration request message {RPWi, RIDi} to GW, an insider of GW obtains these secret values. Moreover, the insider obtains the parameters stored in SC {A1, A2, A3, A4, GIDj}. To find the random number r1, the adversary needs to guess IDi* and PWi* simultaneously because A4 = h(IDi||PWi) ⨁ r1. However, the probability of guessing IDi* and PWi* simultaneously is negligible. The adversary cannot find the random number r1 and cannot guess IDi* and PWi*. The adversary cannot verify whether RPWi =? RPWi* where RPWi = h(IDi||PWi||r1). Hence, an insider cannot guess the user’s password.

6.1.2. Offline Password Guessing Resistance

The adversary obtains the SC {A1, A2, A3, A4, GIDj} and obtains the parameter stored in it. From A4 = h(IDi||PWi) ⨁ r1, the adversary knows only A4. To find the random number r1, the adversary needs to guess IDi* and PWi* simultaneously. However, the probability of guessing IDi* and PWi* simultaneously is negligible. In other equations, A1 = h(GIDj||KGW||RIDi) ⨁ RPWi, A2 = h(RIDi||KGW) ⨁ h(RIDi||RPWi), and A3 = h(A2||RPWi||RIDi) the password is used implicitly. From these equations, if the adversary wants to guess the password PWi then he/she needs to know IDi and the random number r1. In these equations, the random number is not used in any of the equations, and IDi is used implicitly. The adversary cannot guess the password from these equations. Thus the proposed scheme is safe against offline password-guessing attacks.

6.1.3. Identity Guessing Resistance

The correct value of the user identity (IDi) is only known to Ui, and the gateway node saves RIDi = h(IDi||r1), in which IDi concatenates with the random number r1. The user does not use his/her identity for login or for authentication. In the whole scheme, the user identity is used only inside A4 = h(IDi||PWi) ⨁ r1. It is not possible for the adversary to find the random number r1, and it can be easily seen that the adversary needs to accurately guess the PWi and IDi simultaneously, but at the same time, it is not possible. Hence, our scheme does not suffer from identity-guessing attacks.

6.1.4. User Forgery Resistance

If the adversary wants to forge the user, then the adversary needs to forge M1 = {B2, B3, GIDj, RIDi, IDsj, T1}; the adversary must calculate B2, B3. However, in the calculation of B2 = B1ru and B3 = h(GIDj||IDsj||B1||RIDi||ru||T1), B1= h(GIDj||KGW||RIDi) is required. In the calculation of B1, gateway node secret key KGW is required. Thus it is not desirable for an adversary to forge a user. The user Ui and our scheme are secure against user forgery attacks.

6.1.5. Sensor Capture Resistance

If the adversary captured some sensors, other than Sj, which communicate with Ui, the adversary could not forge M3 = {B7, B8, B9, T3} since KGW-Sj is used to construct B7 = h(KGW-Sj||rg) ⨁ rs. The sensors are captured by the adversary and have no association with KGW-Sj. So, even though other sensors are seized, Ua cannot execute this attack successfully.

6.1.6. Gateway Forgery Attack

To apply this attack, the adversary wants to forge M2 or M4, where M2 = {IDsj, B4, B5, B6, T2} and M4 = {B10, B11, B12, T4}. To forge the message M2, adversary must calculate B4, B5, and B6 where B4 = h(KGW-Sj||IDsj||GIDj) ⨁ ru, B5 = h(ru) ⨁ rg, and B6 = h(KGW-Sj||ru||rg||T2). However, in the calculation of B4 and B6, KGW-Sj shared secret key between GW and sensor node is required. To forge the message M4, he/she must calculate B10, B11, and B12 where B10 = h(ru||RIDi) ⨁ rg, B11 = h(ru||rg) ⨁ rs, and B12 = h(SKg||RIDi||rg||rs||T4). However, it is not possible to calculate B10, B11, and B12 because random numbers and session keys are required. It is not possible to forge a gateway node. Hence, the proposed scheme is safe against gateway forgery attacks.

6.1.7. De-synchronization Resistance

De-synchronization is a very big security issue in WSNs. Our scheme includes a random number mechanism to assure the originality of interchanged messages and also uses a timestamp mechanism. In each session of our scheme, random numbers ru, rg, and rs are generated by Ui, GW, and Sj, respectively. Hence, our scheme is free from de-synchronization problems.

6.1.8. No Adversarial Session Key Agreement

To change the session key, the adversary needs to change any of the random numbers ru, rg, and rs.
When the message M1 = {B2, B3, GIDj, RIDi, IDsj, T1} is sent to GW, if the adversary wants to agree on the session key with GW and Sj, then Ua selects a random number ru. Now, the adversary needs to calculate B2 and B3. B2 = B1ru and B1 = A1RPWi = h(GIDj||KGW||RIDi). In B1 = A1RPWi, Ua cannot calculate B1 from this because, in Section 5.2, the adversary cannot guess the user’s password. In B1 = h(GIDj||KGW||RIDi), KGW is GW’s secret key which is only known by GW. The adversary cannot calculate B1 with this. In the calculation of B3 = h(GIDj||IDsj||B1||RIDi||ru||T1), he/she must know B1 and random number ru. As discussed above, we conclude that Ua cannot calculate B1 and Ua also cannot calculate B3. In message M1, the adversary cannot make any type of changes.
When message M2 = {IDsj, B4, B5, B6, T2} is sent to Sj, If the adversary wants to change the session key, then Ua selects a random number rg*. Now, the adversary needs to calculate B5 and B6 where B5 = h(ru) ⨁ rg. Ua does not know the random number ru selected by Ui, then he/she cannot calculate B5. In B6 = h(KGW-Sj||ru||rg||T2), KGW-Sj is a shared secret key between GW and Sj. The adversary cannot calculate B6. In message M2, the adversary cannot make any type of change.
When message M3 = {B7, B8, B9, T3} is sent to GW, if Ua wants to change the session key, then Ua selects a random number rs*. Now, the adversary needs to calculate B7, B8, and B9. The adversary needs to know KGW-Sj and rg to calculate B7 = h(KGW-Sj||rg) ⨁ rs, but KGW-Sj shares the secret key only between GW and Sj, so the adversary cannot calculate B7. To calculate B8 = IDsjh(rs||B7), Ua needs to know B7. Above, we conclude that Ua cannot calculate B7 and the adversary cannot calculate B8. Ua needs to know SKs in order to calculate B9 = h(SKs||IDsj||GIDj||rs||T3) where SKs = h(ru||rg||rs). Ua does not know the random numbers ru and rg, and the adversary cannot calculate B9.
Hence, our proposed scheme is safe from adversarial session key agreement.

6.1.9. Man-In-The-Middle Attack

To apply a man-in-the-middle attack, the adversary works as a middleman between the user and the sensor node. In this attack, one session key is conducted between the user and adversary, and another session key is established between the adversary and sensor node. Both the user and the sensor node believe they are communicating with each other, but in this attack, both are communicating with the adversary.
When message M1 = {B2, B3, GIDj, RIDi, IDsj, T1} is sent to GW, then the adversary intercepts it and tries to find random number ru where ru = B2B1 and B1 = A1RPWi = h(GIDj||KGW||RIDi). The adversary does not know RPWi and KGW. As a result, he/she cannot find ru and cannot able to apply this attack at this end.
Similarly, when the sensor node sends message M3 = {B7, B8, B9, T3} to GW, then the adversary needs to know the random number rs = B7h(KGW-Sj||rg). However, the adversary does not know KGW-Sj and rg. So he/she cannot be able to find the random number rs.
Hence, our proposed scheme is safe from a man-in-the-middle attack.

6.1.10. Stolen Smart Card Resistance

Suppose SC of the user has been lost, then all the information stored in SC obtains by an adversary. In our proposed scheme SC has the parameters {A1, A2, A3, A4, GIDj} where A1 = h(GIDj||KGW||RIDi) ⨁ RPWi, A2 = h(RIDi||KGW) ⨁ h(RIDi||RPWi), A3 = h(A2||RPWi||RIDi), and A4 = h(IDi||PWi) ⨁ r1. However, without knowing (IDi, r1), Ua cannot obtain the user’s password. An adversary cannot obtain any secret information from it. Hence our proposed protocol resists stolen smart card attacks.

6.1.11. User Anonymity Provision

Our scheme protects IDi with h(IDi||r1). It also protects PWi with h(IDi||PWi||r1). Thus in order to obtain IDi, a random number r1 is needed, and to obtain Uis password Uis identity and random number r1 need to be known. Moreover, even if a stolen smart card is obtained by the adversary, Ua cannot obtain IDi from A4 = h(IDi||PWi) ⨁ r1 since IDi is protected by h(IDi||PWi) ⨁ r1. The adversary cannot find the identity and password of the user. This proves that our suggested protocol provides user anonymity.

6.1.12. Mutual Authentication Provision

GW checks B4 = h(KGW-Sj||IDsj||GIDj) ⨁ ru to verify Ui, and B9 = h(SKg||IDsj||GIDj||rs||T3) to verify Sj, Sj checks IDSj and B6 = h(KGW-Sj||ru||rg||T2) to authenticate GW directly and Ui indirectly. Ui checks B12 = h(SKg||RIDi||rg||rs||T4) to justify GW directly and Sj indirectly. So, either pair of parties achieves mutual authentication.

6.1.13. Password Updating/Changing Provision

Suppose a legitimate user has his/her smart card stolen. Suppose the information is acquired by the adversary who saves in SC. Suppose the adversary revealed the information which is saved in SC. To change the password, it is necessary for the adversary to know the existing password PWi verification. Moreover, it is not possible to find the old password because the password is protected with RPWi = h(IDi||PWi||r1). In this way, an adversary needs to reckon the existing password before updating another password.

6.2. Formal Security Analysis

Here, we do a formal security analysis of our scheme with the help of a random oracle model. In this section, we use the Real or Random (RoR) [35] model to prove that the proposed protocol is secure. In the RoR model, the attacker is given the right to query and uses the interactive question and answer with a random oracle to verify the security of the proposed scheme. There are two participants in the proposed protocol: Π I m and Π S n represent the m-thIoT device instance and the n-th trusted server instance respectively. In addition, for formal security analysis, we define the following query model for attacker A .
E x e c u t e ( O ) :   A by executing this query, he can intercept the messages transmitted by IoT devices and trusted server servers on the public channel, where O = { Π I m , Π S n } .
S e n d ( O ,   M ) : By executing the query, A can send message M to O and receive a response from O .
H a s h ( s t r i n g ) : By executing the query, A can enter a string and return its hash value.
T e s t ( O ) : A flips a coin c by executing this query. If c = 1 , A can obtain the correct session key. If c = 0 , A can obtain a random string with the same length as the session key.
Theorem 1. 
In the R.O.R model, suppose A can execute the queries of E x e c u t e ( O ) , S e n d ( O ,   M ) ,   H a s h ( s t r i n g ) , and T e s t ( Z ) , the probability P of A breaking the protocol in polynomial time is: A d v A P ( ε ) q h 2 | H a s h | + q P 2 | P U F | + 2 A d v A Ω ( ε ) . Here, q h refers to the number of times the hash is executed, q p refers to the number of times P U F is executed. H a s h   and P U F refer to scope space of hash function H ( · ) and P U F function P U F ( · ) . A d v A Ω ( ε ) represents the advantage of A cracking the symmetric cipher Ω , for a sufficiently small number γ , then A d v A Ω ( ε ) < γ .
Proof. 
We defined five rounds of the game G M 0 G M 4 to simulate the attack process of A . In the process of proving, S u c c A G M i ( ε ) represents the probability that A can win multiple rounds of the game, A d v A P ( ε ) means that A can break the advantage of protocol. The proof steps are as follows:
G M 0 :   In the ROR model, G M 0 game is a real attack on the authentication key exchange protocol proposed by A , and A flips the coin c at the beginning of the game. Therefore, we obtain the following results:
A d v A P ( ε ) = | 2 Pr [ S u c c A G M 0 ( ε ) ] 1 |
G M 1 : With G M 0 being different from G M 1 by executing the E x e c u t e query, A can intercept the messages { h ( I D A ) ,   A u t h r e q ,   T S 1 ,   h ( I D A , T S 1 ) } , { C A , i ,   P A , i ,   T S 2 ,   h ( h ( I D A ) , C A , i ,   P A , i ) ,   h ( K A , i ) } , and { P A , i ,   T S 3 ,   h ( h ( I D A ) , T S 3 , K A , i ,   R A , i + 1 ) , ( R A , i + 1 ) ,   ( R A , i + 1 ) h ( K A , i ) }   transmitted on the public channel. Then, A will perform a T e s t query to calculate the session key h ( K A , i ) , but the message intercepted on the public channel cannot help A calculate S K . Therefore, the probability of A winning G M 1 by eavesdropping information will not increase. So we obtain:
Pr [ S u c c A G M 1 ( ε ) ] = Pr [ S u c c A G M 0 ( ε ) ]
G M 2 : Different from G M 1 , G M 2 adds H a s h query and S e n d query. In the intercepted messages   { C A , i ,   P A , i ,   T S 2 ,   h ( h ( I D A ) , C A , i ) , h ( K A , i ) } and { P A , i ,   T S 3 ,   h ( h ( I D A ) , T S 3 ,   R A , i + 1 ) , ( R A , i + 1 ) ,   ( R A , i + 1 ) h ( K A , i ) } , the parameters h ( h ( I D A ) , C A , i ) , h ( K A , i ) , h ( K A , i )   and { h ( h ( I D A ) , T S 3 , K A , i ,   R A , i + 1 ) are based on the one-way hash function. In addition, h ( K A , i )   is different in each communication; the hash function will not collide. Therefore, according to the birthday paradox [36], we can obtain
| Pr [ S u c c A G M 2 ( ε ) ] Pr [ S u c c A G M 1 ( ε ) ] | q h 2 2 | H a s h |
G M 3 : The difference between G M 3 and G M 2 is that G M 3 adds P U F query. A executes S e n d and P U F queries. Because the physical function P U F has security attributes. Therefore, we can obtain
| Pr [ S u c c A G M 3 ( ε ) ] Pr [ S u c c A G M 2 ( ε ) ] | q P 2 2 | P U F |
G M 4 : In this game, A tries to crack the encrypted message ( R A , i + 1 ) h ( K A , i ) , In the security model in Section 3.2, it is defined that the attacker cannot crack the memory of the server, A cannot obtain h ( K A , i ) , so A cannot calculate ( R A , i + 1 ) . According to the security of Ω symmetric encryption algorithm, we can obtain
| Pr [ S u c c A G M 4 ( ε ) ] Pr [ S u c c A G M 3 ( ε ) ] | A d v A Ω ( ε )
Because the probability of success and failure of A is equal, so the probability that A can guess the session key is
Pr [ S u c c A G M 4 ( ε ) ] = 1 / 2 .
According to the above formula, we can obtain
1 2 A d v A P ( ε ) = | Pr [ S u c c A G M 0 ( ε ) ] 1 2 |
= | Pr [ S u c c A G M 0 ( ε ) ] Pr [ S u c c A G M 4 ( ε ) ] |
i = 0 3 | Pr [ S u c c A G M i + 1 ( ε ) ] Pr [ S u c c A G M i ( ε ) ] |
= q h 2 2 | H a s h | + q P 2 2 | P U F | + A d v A Ω ( ε )
Therefore, the probability that A can crack the protocol is:
A d v A P ( ε ) q h 2 | H a s h | + q P 2 | P U F | + 2 A d v A Ω ( ε )

7. Comparisons with other Related Schemes

7.1. Comparison of Security and Functionality Features

All the schemes [15,19,21,22,27,34] which are used in comparison suffer from security problems. The scheme in [34] suffers from insider attacks, offline password-guessing attacks, user forgery attacks, and session key disclosure attacks. This scheme does not provide user anonymity. The scheme in [15] suffers from user forgery attacks and stolen smart card attacks. The scheme in [19] does not provide user anonymity. The scheme in [21] suffers from insider attacks, user forgery attacks, sensor capture resistance, gateway forgery attacks, and password-changing provision. The scheme in [22,27] suffers from an insider attacks. Our proposed scheme resists all the security attacks which are mentioned in Figure 9. Our scheme provides functional features which cannot be seen in the related schemes [15,19,21,22,27,34].

7.2. Comparison of Computation Cost

Figure 10 defines cryptographic functions and their running time for comparison of computation cost. Figure 10 and Figure 11 together show the comparison of the computation cost of our scheme with schemes in [15,19,21,22,27,34].
On the user side, the scheme in [19] has the highest computation cost, while the scheme in [21] has the lowest computation cost. Protocol [22] and protocol [34] has equal computation cost. Our proposed scheme and the scheme in [27] have the second-highest computation cost. At the gateway node side, the scheme in [21] has the lowest computation cost, while the scheme in [15,19,22] has the same third-lowest computation cost. Our proposed scheme has the highest computation cost from the gateway node side. On the sensor node side, the scheme in [19] has the highest computation cost, while the scheme in [21] has the lowest computation cost. Our suggested scheme computation cost is slightly greater than the scheme in [22]. It is depicted in Figure 12 that the total computation cost of our scheme is slightly greater than the total computation cost of [22]. The scheme in [19] has the highest computation cost. The scheme in [21] has the lowest computation cost.
Our proposed scheme can be a little bit more costly than other related schemes, but our scheme has passed various hurdles in security checks which makes it user-friendly. Our scheme neither uses complex cryptographic operations nor does it add much computational load when compared to its counterparts. Moreover, the running time of an operation is directly proportional to the power consumption required to run that operation. Therefore, the proposed scheme is a power-efficient protocol.

7.3. Comparison of Communication Cost

In pursuance of comparing the communication cost of the suggested protocol with the relevant protocols, we consider the length of the elliptic curve scalar-point multiplication function, and the random number is 160 bits. We suppose the length of the identities, such as IDi and IDsj, and every coordinate point from the output of the elliptic curve scalar-point multiplication function is 80 bits. Let the output of the message authentication code be 160 bits. We suppose that each element is 160 bits in the elliptic curve group. Here, we have the hash (h(.)) function SHA2-256 with the output of length 256 bits. We consider the length of the timestamp as 32 bits. In Figure 13 and in Figure 14, we show the communication costs of the three entities in our proposed scheme and the related schemes [15,19,21,22,27,34].
From Figure 13 and Figure 14, we see that, on the user side, the communication cost of the protocol [34] is 624 bits which is the minimum, and Dhillon and Kalra’s scheme has the highest communication cost of 1312 bits. Our suggested scheme has the second-highest communication cost of 960 bits. At the gateway node side, our proposed scheme has the highest communication cost of 1680 bits, and the scheme in [19] has the lowest communication cost of 800 bits. At the sensor node aspect, our suggested scheme has a communication cost of 800 bits, while the protocol in [21] has the lowest communication cost of 368 bits. Dhillon and Kalra’s scheme has the highest communication cost of 2320 bits. The total communication cost of Dhillon and Kalra’s scheme is the highest, and in the proposed scheme, it is the third-highest. The scheme in [21] has the lowest communication cost.

8. Conclusions

We have analyzed Singh et al.’s authentication and key agreement scheme for WSNs and found some security pitfalls in it. Then we developed an improved authentication and key agreement scheme for WSNs tailored for IoT. The informal analysis of the proposed scheme indicates its resistance to various sorts of adversarial activities. The formal security of the proposed scheme with the RoR model further supports its security. In the end, we have compared the performance of our scheme with that of the related schemes. For the proposed scheme, we have tried to control the cost along with maintaining security.

Author Contributions

P.T.: conceptualization, methodology, and writing—original draft preparation. S.K.: conceptualization and supervision. B.A.A.: methodology and formal security analysis. A.G.: implementation. M.-H.Y.: methodology, informal security analysis, and final editing. All authors have read and agreed to the published version of the manuscript.

Funding

The Deanship of Scientific Research (DSR) at King Abdulaziz University, Jeddah, Saudi Arabia, has funded this project under grant no. (FP-089-43). Ming-Hour Yang is supported by MOST 111-2221-E-033-047-MOST 111-2218-E-A49-013-MBK-MOST 111-2218-E-002-038-. Saru Kumari is supported by Chaudhary Charan Singh University, Meerut Uttar Pradesh, India under “Research and Development Scheme” grant sanctioned vide Ref. No. Dev./1043 dated 10 November 2022 and by the State Government of Uttar Pradesh, India under the “Research and Development” scheme grant sanctioned vide the Government order no.-89/2022/1585/sattar-4-2022/001-4-32-2022 dated 10 November 2022.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors have no conflict of interest.

References

  1. Das, M.L. Two-factor user authentication in wireless sensor networks. IEEE Trans. Wirel. Commun. 2009, 8, 1086–1090. [Google Scholar] [CrossRef]
  2. Yeh, H.-L.; Chen, T.-H.; Liu, P.-C.; Kim, T.-H.; Wei, H.-W. A Secured Authentication Protocol for Wireless Sensor Networks Using Elliptic Curves Cryptography. Sensors 2011, 11, 4767–4779. [Google Scholar] [CrossRef]
  3. Xue, K.; Ma, C.; Hong, P.; Ding, R. A temporal-credential-based mutual authentication and key agreement scheme for wireless sensor networks. J. Netw. Comput. Appl. 2013, 36, 316–323. [Google Scholar] [CrossRef]
  4. Turkanović, M.; Brumen, B.; Hölbl, M. A novel user authentication and key agreement scheme for heterogeneous ad hoc wireless sensor networks, based on the Internet of Things notion. Ad Hoc Networks 2014, 20, 96–112. [Google Scholar] [CrossRef]
  5. Jiang, Q.; Ma, J.; Lu, X.; Tian, Y. An efficient two-factor user authentication scheme with unlinkability for wireless sensor networks. Peer-to-Peer Netw. Appl. 2014, 8, 1070–1081. [Google Scholar] [CrossRef]
  6. He, D.; Kumar, N.; Chilamkurti, N. A secure temporal-credential-based mutual authentication and key agreement scheme with pseudo identity for wireless sensor networks. Inf. Sci. 2015, 321, 263–277. [Google Scholar] [CrossRef]
  7. Kumari, S.; Li, X.; Wu, F.; Das, A.K.; Arshad, H.; Khan, M.K. A user friendly mutual authentication and key agreement scheme for wireless sensor networks using chaotic maps. Futur. Gener. Comput. Syst. 2016, 63, 56–75. [Google Scholar] [CrossRef]
  8. Jiang, Q.; Ma, J.; Wei, F.; Tian, Y.; Shen, J.; Yang, Y. An untraceable temporal-credential-based two-factor authentication scheme using ECC for wireless sensor networks. J. Netw. Comput. Appl. 2016, 76, 37–48. [Google Scholar] [CrossRef]
  9. Farash, M.S.; Turkanović, M.; Kumari, S.; Hölbl, M. An efficient user authentication and key agreement scheme for heterogeneous wireless sensor network tailored for the Internet of Things environment. Ad Hoc Networks 2016, 36, 152–176. [Google Scholar] [CrossRef]
  10. Amin, R.; Biswas, G. A secure light weight scheme for user authentication and key agreement in multi-gateway based wireless sensor networks. Ad Hoc Netw. 2016, 36, 58–80. [Google Scholar] [CrossRef]
  11. Amin, R.; Islam, S.H.; Biswas, G.; Khan, M.K.; Leng, L.; Kumar, N. Design of an anonymity-preserving three-factor authenticated key exchange protocol for wireless sensor networks. Comput. Netw. 2016, 101, 42–62. [Google Scholar] [CrossRef]
  12. Chang, C.-C.; Hsueh, W.-Y.; Cheng, T.-F. A Dynamic User Authentication and Key Agreement Scheme for Heterogeneous Wireless Sensor Networks. Wirel. Pers. Commun. 2016, 89, 447–465. [Google Scholar] [CrossRef]
  13. Wu, F.; Xu, L.; Kumari, S.; Li, X.; Shen, J.; Choo, K.-K.R.; Wazid, M.; Das, A.K. An efficient authentication and key agreement scheme for multi-gateway wireless sensor networks in IoT deployment. J. Netw. Comput. Appl. 2017, 89, 72–85. [Google Scholar] [CrossRef]
  14. Wu, F.; Xu, L.; Kumari, S.; Li, X. A new and secure authentication scheme for wireless sensor networks with formal proof. Peer-to-Peer Netw. Appl. 2015, 10, 16–30. [Google Scholar] [CrossRef]
  15. Dhillon, P.K.; Kalra, S. Secure multi-factor remote user authentication scheme for Internet of Things environments. Int. J. Commun. Syst. 2017, 30, e3323. [Google Scholar] [CrossRef]
  16. Amin, R.; Islam, S.H.; Biswas, G.; Khan, M.K.; Kumar, N. A robust and anonymous patient monitoring system using wireless medical sensor networks. Futur. Gener. Comput. Syst. 2018, 80, 483–495. [Google Scholar] [CrossRef]
  17. Srinivas, J.; Mishra, D.; Mukhopadhyay, S. A Mutual Authentication Framework for Wireless Medical Sensor Networks. J. Med Syst. 2017, 41, 80. [Google Scholar] [CrossRef]
  18. Li, X.; Niu, J.; Kumari, S.; Wu, F.; Sangaiah, A.K.; Choo, K.-K.R. A three-factor anonymous authentication scheme for wireless sensor networks in internet of things environments. J. Netw. Comput. Appl. 2017, 103, 194–204. [Google Scholar] [CrossRef]
  19. He, J.; Yang, Z.; Zhang, J.; Liu, W.; Liu, C. On the security of a provably secure, efficient, and flexible authentication scheme for ad hoc wireless sensor networks. Int. J. Distrib. Sens. Netw. 2018, 14, 1550147718756311. [Google Scholar] [CrossRef] [Green Version]
  20. Gupta, A.; Tripathi, M.; Shaikh, T.J.; Sharma, A. A lightweight anonymous user authentication and key establishment scheme for wearable devices. Comput. Networks 2018, 149, 29–42. [Google Scholar] [CrossRef]
  21. Ghani, A.; Mansoor, K.; Mehmood, S.; Chaudhry, S.A.; Rahman, A.U.; Saqib, M.N. Security and key management in IoT-based wireless sensor networks: An authentication protocol using symmetric key. Int. J. Commun. Syst. 2019, 32, e4139. [Google Scholar] [CrossRef]
  22. Lee, H.; Kang, D.; Ryu, J.; Won, D.; Kim, H.; Lee, Y. A three-factor anonymous user authentication scheme for Internet of Things environments. J. Inf. Secur. Appl. 2020, 52, 102494. [Google Scholar] [CrossRef]
  23. Mall, P.; Amin, R.; Obaidat, M.S.; Hsiao, K.-F. CoMSeC++: PUF-based secured light-weight mutual authentication protocol for Drone-enabled WSN. Comput. Networks 2021, 199, 108476. [Google Scholar] [CrossRef]
  24. Chen, C.-M.; Deng, X.; Gan, W.; Chen, J.; Islam, S.K.H. A secure blockchain-based group key agreement protocol for IoT. J. Supercomput. 2021, 77, 9046–9068. [Google Scholar] [CrossRef]
  25. Chen, C.-M.; Liu, S. Improved Secure and Lightweight Authentication Scheme for Next-Generation IoT Infrastructure. Secur. Commun. Netw. 2021, 2021, 1–13. [Google Scholar] [CrossRef]
  26. Ali, I.; Chen, Y.; Ullah, N.; Kumar, R.; He, W. An Efficient and Provably Secure ECC-Based Conditional Privacy-Preserving Authentication for Vehicle-to-Vehicle Communication in VANETs. IEEE Trans. Veh. Technol. 2021, 70, 1278–1291. [Google Scholar] [CrossRef]
  27. Sadri, M.J.; Asaar, M.R. An efficient hash-based authentication protocol for wireless sensor networks in Internet of Things applications with forward secrecy. Int. J. Commun. Syst. 2021, 34, e4823. [Google Scholar] [CrossRef]
  28. Rangwani, D.; Sadhukhan, D.; Ray, S.; Khan, M.K.; Dasgupta, M. A robust provable-secure privacy-preserving authentication protocol for Industrial Internet of Things. Peer-to-Peer Netw. Appl. 2021, 14, 1548–1571. [Google Scholar] [CrossRef]
  29. Nashwan, S. An End-to-End Authentication Scheme for Healthcare IoT Systems Using WMSN. Comput. Mater. Contin. 2021, 68, 607–642. [Google Scholar] [CrossRef]
  30. Tanveer, M.; Alkhayyat, A.; Khan, A.U.; Kumar, N.; Alharbi, A.G. REAP-IIoT: Resource-Efficient Authentication Protocol for the Industrial Internet of Things. IEEE Internet Things J. 2022. [Google Scholar] [CrossRef]
  31. Kumar, V.; Kumar, R.; Jangirala, S.; Kumari, S.; Kumar, S.; Chen, C.-M. An Enhanced RFID-Based Authentication Protocol using PUF for Vehicular Cloud Computing. Secur. Commun. Networks 2022, 2022, 1–18. [Google Scholar] [CrossRef]
  32. Wu, T.-Y.; Guo, X.; Chen, Y.-C.; Kumari, S.; Chen, C.-M. SGXAP: SGX-Based Authentication Protocol in IoV-Enabled Fog Computing. Symmetry 2022, 14, 1393. [Google Scholar] [CrossRef]
  33. Li, Z.; Miao, Q.; Chaudhry, S.A.; Chen, C.-M. A provably secure and lightweight mutual authentication protocol in fog-enabled social Internet of vehicles. Int. J. Distrib. Sens. Netw. 2022, 18, 15501329221104332. [Google Scholar] [CrossRef]
  34. Singh, A.; Awasthi, A.K.; Singh, K. Cryptanalysis and Improvement in User Authentication and Key Agreement Scheme for Wireless Sensor Network. Wirel. Pers. Commun. 2016, 94, 1881–1898. [Google Scholar] [CrossRef]
  35. Canetti, R.; Goldreich, O.; Halevi, S. The random oracle methodology, revisited (preliminary version). In Proceedings of the Thirtieth Annual ACM Symposium on Theory of Computing, New York, NY, USA, 24–26 May 1998; pp. 209–218. [Google Scholar] [CrossRef]
  36. Boyko, V.; MacKenzie, P.; Patel, S. Provably secure password-authenticated key exchange using Diffie-Hellman. In Advances in Cryptology—EUROCRYPT 2000; Springer: Berlin, Heidelberg, 2000; pp. 156–171. [Google Scholar] [CrossRef]
Figure 1. Notations and description.
Figure 1. Notations and description.
Sensors 22 08793 g001
Figure 2. Registration phase of Singh et al.’s scheme [34].
Figure 2. Registration phase of Singh et al.’s scheme [34].
Sensors 22 08793 g002
Figure 3. Login phase of Singh et al.’s scheme [34].
Figure 3. Login phase of Singh et al.’s scheme [34].
Sensors 22 08793 g003
Figure 4. Authentication phase of Singh et al.’s scheme [34].
Figure 4. Authentication phase of Singh et al.’s scheme [34].
Sensors 22 08793 g004
Figure 5. Sensors Enabled IoT Network.
Figure 5. Sensors Enabled IoT Network.
Sensors 22 08793 g005
Figure 6. Sensor node pre-deployment phase.
Figure 6. Sensor node pre-deployment phase.
Sensors 22 08793 g006
Figure 7. Registration phase between Ui and GW.
Figure 7. Registration phase between Ui and GW.
Sensors 22 08793 g007
Figure 8. Authentication and key agreement phase.
Figure 8. Authentication and key agreement phase.
Sensors 22 08793 g008
Figure 9. Comparison of security and functional features [15,19,21,22,27,34].
Figure 9. Comparison of security and functional features [15,19,21,22,27,34].
Sensors 22 08793 g009
Figure 10. Cryptographic function and their description for computation cost.
Figure 10. Cryptographic function and their description for computation cost.
Sensors 22 08793 g010
Figure 11. Comparison of computation cost.
Figure 11. Comparison of computation cost.
Sensors 22 08793 g011
Figure 12. Comparison of computation cost [15,19,21,22,27].
Figure 12. Comparison of computation cost [15,19,21,22,27].
Sensors 22 08793 g012
Figure 13. Comparison of communication cost [15,19,21,22,27,34].
Figure 13. Comparison of communication cost [15,19,21,22,27,34].
Sensors 22 08793 g013
Figure 14. Comparison of communication cost.
Figure 14. Comparison of communication cost.
Sensors 22 08793 g014
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Tyagi, P.; Kumari, S.; Alzahrani, B.A.; Gupta, A.; Yang, M.-H. An Enhanced User Authentication and Key Agreement Scheme for Wireless Sensor Networks Tailored for IoT. Sensors 2022, 22, 8793. https://doi.org/10.3390/s22228793

AMA Style

Tyagi P, Kumari S, Alzahrani BA, Gupta A, Yang M-H. An Enhanced User Authentication and Key Agreement Scheme for Wireless Sensor Networks Tailored for IoT. Sensors. 2022; 22(22):8793. https://doi.org/10.3390/s22228793

Chicago/Turabian Style

Tyagi, Pooja, Saru Kumari, Bander A. Alzahrani, Anshay Gupta, and Ming-Hour Yang. 2022. "An Enhanced User Authentication and Key Agreement Scheme for Wireless Sensor Networks Tailored for IoT" Sensors 22, no. 22: 8793. https://doi.org/10.3390/s22228793

APA Style

Tyagi, P., Kumari, S., Alzahrani, B. A., Gupta, A., & Yang, M. -H. (2022). An Enhanced User Authentication and Key Agreement Scheme for Wireless Sensor Networks Tailored for IoT. Sensors, 22(22), 8793. https://doi.org/10.3390/s22228793

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

Article Metrics

Back to TopTop