Next Article in Journal
Linear Characteristics of the Differences in Phase Tangents of Triple-Coil Electromagnetic Sensors and Their Application in Nonmagnetic Metal Classification
Next Article in Special Issue
Cybersecurity Risk Management Framework for Blockchain Identity Management Systems in Health IoT
Previous Article in Journal
Design and Shape Optimization of Strain Gauge Load Cell for Axial Force Measurement for Test Benches
Previous Article in Special Issue
Towards Robustifying Image Classifiers against the Perils of Adversarial Attacks on Artificial Intelligence Systems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Practical Three-Factor Authentication Protocol Based on Elliptic Curve Cryptography for Industrial Internet of Things

1
State Key Laboratory of Integrated Service Networks, Xidian University, Xi’an 710071, China
2
School of Cyber Engineering, Xidian University, Xi’an 710000, China
*
Author to whom correspondence should be addressed.
Sensors 2022, 22(19), 7510; https://doi.org/10.3390/s22197510
Submission received: 26 August 2022 / Revised: 27 September 2022 / Accepted: 29 September 2022 / Published: 3 October 2022
(This article belongs to the Special Issue Cybersecurity in the Internet of Things)

Abstract

:
Because the majority of information in the industrial Internet of things (IIoT) is transmitted over an open and insecure channel, it is indispensable to design practical and secure authentication and key agreement protocols. Considering the weak computational power of sensors, many scholars have designed lightweight authentication protocols that achieve limited security properties. Moreover, these existing protocols are mostly implemented in a single-gateway scenario, whereas the multigateway scenario is not considered. To deal with these problems, this paper presents a novel three-factor authentication and key agreement protocol based on elliptic curve cryptography for IIoT environments. Based on the elliptic curve Diffie–Hellman problem, we present a protocol achieving desirable forward and backward secrecy. The proposed protocol applies to single-gateway and is also extended to multigateway simultaneously. A formal security analysis is described to prove the security of the proposed scheme. Finally, the comparison results demonstrate that our protocol provides more security attributes at a relatively lower computational cost.

1. Introduction

The emerging industrial Internet of things (IIoT) is a typical application scenario for wireless sensor network (WSN), where the IIoT is dedicated to affording the capacity to construct innovative services and applications within the industrial automation scenario [1]. The IIoT emphasizes extremely low latency, high security, and the ability to handle massive quantities of data [2]. Therefore, efficient authentication and key agreement mechanisms should be designed for the IIoT infrastructure to ensure security and privacy. In this manner, only authorized principals can access the IIoT resource, and these legal entities can interact over the channel using the session key that they have negotiated.
Considering authentication protocols for sensors with a low computing power, the literature [3,4] sacrifices security to build lightweight protocols, resulting in these schemes being vulnerable to certain attacks. It is clearly found that schemes using only a hash function, exclusive OR (XOR), and symmetric cryptography are unable to achieve forward and backward secrecy. Ma et al. [5] claimed that the public key cryptography algorithm was indispensable to achieve forward secrecy. After that, public key cryptography technology was widely implemented in authentication protocols, where using elliptic curve cryptography (ECC) or bilinear pairings was able to help protocols achieve forward and backward secrecy.
Figure 1 illustrates that a representative IIoT architecture usually consists of three categories of entities: industrial IoT sensing devices, an industrial central, and an engineering expert [6], which, respectively, represent sensors, the gateway, and the user in WSNs. IIoT sensing devices are leveraged to monitor the status of objects and gather data, which is subsequently forwarded to a gateway via a wireless channel. A user is able to access the data collected by the gateway in real time. Sensors, in general, have low processing power, limited computational capabilities, and restricted energy and storage capacity, whereas gateways have a strong capacity for data processing [7].

1.1. Literature Review

Das [8] first presented a password and smart-card-based two-factor user authentication protocol for WSNs using merely the hash function in 2009. Since then, some drawbacks to this scheme have been discovered by scholars. The presented schemes [9,10,11] identified some vulnerabilities in Das’s scheme [8], and they suggested various countermeasures to overcome these flaws. In 2014, Turkanvoic et al. [12] proposed a novel user and mutual authentication scheme for WSNs using only a hash function and XOR. These lightweight schemes consumed relatively fewer resources but sacrificed security.
In order to achieve more security attributes, a public-key infrastructure was considered in some schemes. In 2011, Yeh et al. [13] performed a cryptanalysis of Das’s scheme [8], and they discovered that there was no mutual authentication and no protection against an insider attack or forgery attack. As a result, they first implemented ECC to build the authentication protocol to address the current existing weaknesses. Shi and Gong [14] proposed a new ECC-based authentication protocol for WSNs in 2013, which addressed the shortcomings of the scheme in [13] that lacked a key agreement and forward secrecy. In 2016, Chang and Le [15] stated briefly that the scheme from Turkanovic et al. [12] suffered from an impersonation attack, stolen smart card attack, stolen-verifier attack, and failed to ensure backward secrecy, and they proposed an advanced scheme that used ECC to overcome these flaws. In 2018, Li et al. [16] indicated that the protocol in [15] lacked a proper mutual authentication and had other functionality defects. They [16] presented a three-factor user authentication protocol for the IIoT that addressed the protocol’s [15] shortcomings by utilizing ECC and symmetric cryptography. A majority of protocols, however, are designed for a single-gateway scenario, ignoring how to implement them in a multigateway scenario.
In 2016, Aim and Biwas [17] solved some security flaws in the scheme from Turkanvoic et al. [12] and designed the first authentication protocols for a multigateway scenario. Later, Das et al. [18] indicated that there were no efficient online sensor node registration and password change phases in the literature [17], and they presented a new three-factor user authentication scheme applied to the multigateway WSN architecture using AES (Advanced Encryption Standard). In 2017, Wu et al. [19] demonstrated that the scheme in [17] suffered from tracking attacks due to the constant pseudo-identity and previously established session key that adversaries could calculate and presented a novel authentication scheme for multigateway WSNs. Srinivas et al. [20] showed that the protocol in [17] suffered from a stolen smart card attack, password guessing attack, and impersonation attack. They proposed an authentication scheme for multigateway WSNs that could withstand all the above-mentioned attacks. In 2018, Wang et al. [21] discovered that the scheme in [20] was still subject to offline password guessing attacks and node capture attacks and could not protect the user’s anonymity. Therefore, they described efficient countermeasures for these attacks. Since all the above-mentioned multigateway schemes use lightweight cryptographic primitives, it is impossible to achieve forward and backward secrecy. Accordingly, our scheme will solve this problem.

1.2. Network Model

Figure 2 demonstrates how the single-gateway model is implemented in our presented IIoT protocol. After the user logs in, they send the message to the home gateway node (HGWN). If the user can pass the authentication of the HGWN, the HGWN sends the message to the sensor. After the sensor authenticates, it computes the session key and sends a message to the HGWN. Finally, the HGWN sends a message to the user, who calculates the session key to communicate with the sensor. Through two rounds of complete information exchange, the user, HGWN, and sensor can realize mutual authentication.
Nevertheless, in traditional single-gateway WSNs, high-speed data streams are prone to conflict during data aggregation, because the distance between edge sensors and the gateway node is too far, which may cause an increased communication cost and reduced performance. In this case, multigateway protocols are required, and Figure 3 shows the model we used. This architecture is an extension of Figure 2. The user sends the authentication message to the HGWN. Following that, the HGWN checks the validity of the received message. In the event that this procedure is successful, the HGWN sends a message to the FGWN. The FGWN transmits a message to the HGWN after confirming the message’s availability. Then, the HGWN checks the received message and delivers a message to the user. Following steps 1–4, the mutual authentication is achieved between the user and the FWGN. After that, user sends a message to the FGWN for further authentication. After the verification is successful, the FGWN transmits a message to the sensor. Subsequently, the sensor computes the session key and delivers a message to the FGWN. Finally, the user figures out the session key used for subsequent communication after confirming the message that the FGWN sent to it.

1.3. Motivations and Contributions

1. Intractable elliptic curve Diffie–Hellman problem (ECDHP) is applied to our protocol to guarantee the security of the session key. We extend our scheme to multigateway WNSs while considering the limitations of single-gateway WSNs.
2. The random oracle model (ROM) [22] helps us get the formal proof of the presented scheme. The result indicates that the probability of an adversary who can break the proposed protocol is negligible.
3. Scyther, an automated security protocol verification tool [23], is used to simulate and analyze the proposed protocol. The result demonstrates that the scheme is correct and secure against many adversary models.

2. Preliminaries

2.1. Elliptic Curve Cryptography

ECC was initially proposed by Koblitz [24] and Miller [25] in the 1980s, and an introduction to the basic knowledge of ECC is described in the following. Given a large prime number p and a finite field F p , let a set of elliptic curve points E over F p be defined by the equation: E ( F p ) : y 2 = x 3 + a · x + b mod p , where a , b F p and Δ = 4 a 3 + 27 b 2 0 mod p . All points on E ( F p ) and the point O at infinity come from an additive Abelian group G of order q, where P is the generator point of the group and n · P = P + P + + P , where n is an integer and n Z q * . There are two corresponding mathematical problems in ECC defined as follows:
  • The elliptic curve discrete logarithm problem (ECDLP): Figure 4 demonstrates points distributed over an elliptic curve y 2 = x 3 x + 2 in finite field F 97 . Selecting two points Q and P in Figure 4, where Q , P F 97 satisfy Q = k P , where k is between 0 and 96 at random. Given k and P, it is easy to figure out Q by a scalar multiplication and addition rules. Nevertheless, given Q and P, it is difficult to calculate k.
  • The elliptic curve Diffie–Hellman problem (ECDHP): It is scarcely possible to find a b P when given a P F p and b P F p in polynomial time, where a and b are both between 0 and p 1 at random.

2.2. Threat Model

The proposed authentication and key agreement protocol was formally analyzed taking advantage of the Dolev–Yao threat model [26], which assumes that two communication principals interact over an insecure and open channel. The following are the properties of this model:
  • The used one-way hash function is unbreakable.
  • In a uniform protocol, an identical format is used by each entity that wishes to communicate.
  • An adversary can eavesdrop, intercept, replay, and even modify all the transmitted messages over an open and insecure channel.

2.3. Fuzzy Extractor

Biometric features are adopted to improve security in many schemes. Due to the uniqueness of biometric features, they can be effectively applied to authentication. Compared with low-entropy passwords, biometric features also have the advantages of being difficult to forge and not being easy to lose.
The fuzzy extractor was used to process the original biometric fingerprint, which can eliminate subtle differences between biometric features extracted by the same user at different points in time. A fuzzy extractor comprises two phases as follows Ref. [27]:
  • Probabilistic generation function G e n : The original biometric fingerprint B I O i is the input of G e n , and then the process outputs biometric identification key data and public parameter, namely G e n ( B I O i ) ( σ i , θ i ) .
  • Deterministic reproduction procedure R e p : Using the public parameter θ i and the fingerprint B I O i reproduces key data σ i , namely R e p ( B I O i , θ i ) σ i .

3. The Proposed Scheme

In this section, the detailed process of the proposed scheme is demonstrated. The proposed scheme consists of the following phases: initialization phase, registration phase, user login phase, authentication and key agreement phase, and user password update phase.

3.1. Initialization Phase

All the parameters that are used in the proposed protocol are listed in Table 1. During the initialization phase, S A chooses an elliptic curve E over a prime finite field F p , a point P E ( F p ) and a subgroup G of E ( F p ) , where G is an additive cyclic group of order q. Then, the H G W N generates its private key and public key { k h , K h } , where k h Z q * and K h = k h P . Consistent with the above procedure, the F G W N chooses its private key and public key { k f , K f } , where k f Z q * and K f = k f P . Finally, the hash function h ( · ) : { 0 , 1 } * { 0 , 1 } l is chosen to be used in the scheme, where l is the length of the output length of the hash function.

3.2. Registration Phase

The registration phase is divided into a user registration phase and a sensor registration phase. All the messages in this phase are transmitted via a secure channel.

3.2.1. User Registration Phase

The procedure is also shown in Figure 5.
Step 1: U i selects their identity I D i and password P W i , and inputs biometric information B I O i . The fuzzy extractor is used to compute biometric key data σ i and public parameter θ i , namely G e n ( B I O i ) ( σ i , θ i ) . S C i stores the public parameter θ i in its memory. Then, U i figures out H I D i = h ( I D i | | σ i ) and H P W i = h ( P W i | | σ i ) , and sends { H I D i , H P W i } to the nearest H G W N via a secure channel.
Step 2: Upon receiving { H I D i , H P W i } from U i , the H G W N generates a random number r h and calculates A i = h ( H I D i | | k h | | r h ) H I D i , B i = h ( H I D i | | H P W i | | r h ) , and C i = H I D i r h . The H G W N stores { H I D i , r h } in its memory. Then, the H G W N sends { A i , B i , C i } to U i via a secure channel.
Step 3: Upon getting { A i , B i , C i } from H G W N , U i stores { A i , B i , C i , θ i } into its own S C i .

3.2.2. Sensor Registration Phase

Sensor registration process is shown in Figure 6. S A assigns a unique identity to each sensor node. S N j sends its own identity S I D j to the nearest H G W N via a secure channel for registration. Then, the H G W N calculates A g s = h ( S I D j | | k h ) and stores { S I D j , A g s } in its memory. After that, the H G W N sends A g s to S N j via a secure channel. After receiving A g s from the H G W N , S N j stores { S I D j , A g s } in its own memory.

3.3. User Login Phase

U i inserts their smart card S C i to a terminal, and inputs identity I D i , password P W i and biometric information B I O i . Then, the terminal reproduces the biometric key data σ i through the fuzzy extractor, namely R e p ( B I O i , θ i ) σ i . The terminal computes H I D i = h ( I D i | | σ i ) , H P W i = h ( P W i | | σ i ) , r h = H I D i C i and B i = h ( H I D i | | H P W i | | r h ) . Subsequently, the terminal checks whether B i = ? B i . If the equation is not held, at least one parameter is incorrect, which leads to the login request being refused by the terminal and no subsequent authentication process being performed. Otherwise, U i ’s login is successful, and the terminal generates a random number a Z q * , and a timestamp T 1 . At last, the terminal computes A h = A i H I D i , D 1 = a P , D 2 = a K h , M 1 = H I D i h ( D 2 ) , M 2 = S I D j h ( D 2 ) A h , and M 3 = h ( H I D i | | A h | | D 2 | | M 1 | | M 2 | | T 1 ) . This process is demonstrated in Figure 7.

3.4. Authentication and Key Agreement Phase

In this section, two cases are considered: authentication and key agreement in a home region and a foreign region, respectively.

3.4.1. Authentication and Key Agreement in the HGWN

When a user and the sensor that they want to access are in the same region controlled by the same H G W N , as illustrated in Figure 8, each entity will execute the following steps.
Step 1: U i sends the login request message { M 1 , M 2 , M 3 , D 1 , T 1 } to the H G W N .
Step 2: After receiving { M 1 , M 2 , M 3 , D 1 , T 1 } from U i , the H G W N checks whether | T 1 T 1 | < Δ T is satisfied, where T 1 is the current timestamp the H G W N acquired and Δ T is the acceptable maximum transmission delay. If the inequality is not true, namely T 1 is not fresh, the H G W N aborts the current session. Otherwise, the H G W N computes D 2 = k h D 1 and H I D i = M 1 h ( D 2 ) to find r h stored in its own memory. Subsequently, the H G W N calculates A h = h ( H I D i | | k h | | r h ) , S I D j = M 2 h ( D 2 ) A h , and M 3 = h ( H I D i | | A h | | D 2 | | M 1 | | M 2 | | T 1 ) , and checks whether M 3 = ? M 3 . The current session is aborted if M 3 M 3 . Otherwise, the H G W N seeks A g s from its own memory through S I D j , generates a random number r h g , a timestamp T 2 , and calculates M 4 = r h g h ( A g s | | T 2 ) , M 5 = h ( S I D j | | r h g | | A g s | | D 1 | | T 2 ) . Finally, the H G W N sends { M 4 , M 5 , D 1 , T 2 } to S N j .
Step 3: When S N j receives { M 4 , M 5 , D 1 , T 2 } from the H G W N , S N j obtains the current timestamp T 2 and verifies whether | T 2 T 2 | < Δ T . If the inequality is not held, then S N j terminates the current session. Otherwise, S N j figures out r h g = h ( A g s | | T 2 ) M 4 , M 5 = h ( S I D j | | r h g | | A g s | | D 1 | | T 2 ) , and examines whether M 5 = ? M 5 . The current session is terminated if M 5 M 5 . Otherwise, S N j generates a random number b Z q * , a timestamp T 3 , and figures out D 3 = b P , D 4 = b K h , S K = h ( D 1 | | D 3 | | b D 1 ) , M 6 = h ( S I D j | | r h g | | A g s | | D 4 | | T 3 ) , and M 7 = h ( S K | | D 1 | | D 3 ) . Lastly, S N j transmits { M 6 , M 7 , D 3 , T 3 } to the H G W N .
Step 4: After getting { M 6 , M 7 , D 3 , T 3 } from S N j , the H G W N acquires the current timestamp T 3 and verifies whether | T 3 T 3 | < Δ T . If the verification fails, the H G W N aborts the current session. Otherwise, the H G W N calculates D 4 = k h D 3 , M 6 = h ( S I D j | | r h g | | A g s | | D 4 | | T 3 ) , and checks whether M 6 = ? M 6 . If M 6 M 6 , the H G W N aborts the current session. Otherwise, the H G W N generates a timestamp T 4 , calculates M 8 = h ( H I D i | | A h | | D 1 | | D 3 | | M 7 | | T 4 ) , and dispatches { M 7 , M 8 , D 3 , T 4 } to U i .
Step 5: Upon receiving { M 7 , M 8 , D 3 , T 4 } from the H G W N , U i obtains the current timestamp T 4 and checks whether | T 4 T 4 | < Δ T . If the verification fails, the current session is rejected by U i . Otherwise, U i computes M 8 = h ( H I D i | | A h | | D 1 | | D 3 | | M 7 | | T 4 ) and checks whether M 8 = ? M 8 . If M 8 M 8 , U i aborts the current session. Otherwise, U i computes S K = h ( D 1 | | D 3 | | a D 3 ) , M 7 = h ( S K | | D 1 | | D 3 ) , and verifies whether M 7 = ? M 7 . If not, U i declines to establish a session key with S N j . Otherwise, U i and S N j share an identical session key, and the authentication process is successfully completed.

3.4.2. Authentication and Key Agreement in the FGWN

When a user requires access to a sensor that is in a foreign region and registered in a F G W N , this phase can be completed with the assistance of the H G W N and the F G W N , as illustrated in Figure 9 and Figure 10.
Step 1: U i computes the login request message { M 1 , M 2 , M 3 , D 1 , T 1 } as in the User Login Phase Section and sends them to the H G W N .
Step 2: After receiving { M 1 , M 2 , M 3 , D 1 , T 1 } from U i , the H G W N obtains the current timestamp T 1 and verifies T 1 ’s validity, namely | T 1 T 1 | < Δ T . If the verification fails, the H G W N aborts. Otherwise, the H G W N calculates D 2 = k h D 1 , H I D i = M 1 h ( D 2 ) , A h = h ( H I D i | | k h | | r h ) , S I D j = M 2 A h h ( D 2 ) , and M 3 = h ( H I D i | | A h | | D 2 | | M 1 | | M 2 | | T 1 ) . Subsequently, the H G W N checks whether M 3 = ? M 3 . The current session is aborted if M 3 M 3 . Next, if S I D j is not in the H G W N ’s database, the H G W N broadcasts the target sensor’s identity S I D j to the rest of the gateway nodes. If any F G W N finds S I D j in its database, it will react to the H G W N and broadcasts its own public key K f in WSNs. Subsequently, the H G W N generates a random number b Z q * , timestamp T 2 , and computes D 3 = b P , D 4 = b K f , ( b + k h ) K f , and M 4 = h ( S I D j | | D 3 | | ( b + k h ) K f | | T 2 ) . Finally, the H G W N dispatches { M 4 , D 3 , T 2 } to the corresponding F G W N .
Step 3: Upon receiving { M 4 , D 3 , T 2 } from the H G W N , the corresponding F G W N obtains the current timestamp T 2 and verifies whether | T 2 T 2 | < Δ T . If not, the F G W N terminates the current session. Otherwise, the F G W N computes D 4 = k f D 3 , D 4 + k f K h , and M 4 = h ( S I D j | | D 3 | | D 4 + k f K h | | T 2 ) , and examines whether M 4 = ? M 4 . the F G W N terminates the current session if M 4 M 4 . Otherwise, the F G W N generates random numbers c Z q * , r f , a timestamp T 3 , and calculates D 5 = c P , D 6 = c K h , ( c + k f ) K h , A f = h ( H I D i | | k f | | r f ) , M 5 = A f h ( D 6 ) , and M 6 = h ( S I D j | | A f | | ( c + k f ) K h | | M 5 | | T 3 ) . Then, the F W G N transmits { M 5 , M 6 , D 5 , T 3 } to the H G W N .
Step 4: Upon getting { M 5 , M 6 , D 5 , T 3 } from the F G W N , the H G W N acquires the current timestamp T 3 and verifies whether | T 3 T 3 | < Δ T . If the verification fails, the H G W N rejects the current session. Otherwise, the H G W N figures out D 6 = k h D 5 , D 6 + k h K f , A f = M 5 h ( D 6 ) , and M 6 = h ( S I D j | | A f | | D 6 + k h K f | | M 5 | | T 3 ) , and checks whether M 6 = ? M 6 . If M 6 M 6 , the H G W N rejects the current session. Otherwise, the H G W N generates a timestamp T 4 , calculates M 7 = A f A h , M 8 = h ( H I D i | | S I D j | | A h | | A f | | M 7 | | T 4 ) , and dispatches { M 7 , M 8 , T 4 } to U i .
Step 5: After receiving { M 7 , M 8 , T 4 } from the H W G N , U i gets the current timestamp T 4 and checks whether | T 4 T 4 | < Δ T . If not, the current session is rejected by U i . Otherwise, U i computes A f = M 7 A h , M 8 = h ( H I D i | | S I D j | | A h | | A f | | M 7 | | T 4 ) and checks whether M 8 = ? M 8 . If M 8 M 8 , U i rejects the current session. Otherwise, U i generates a timestamp T 5 and computes D 2 f = a K f , M 9 = H I D i h ( D 2 f ) , M 10 = h ( H I D i | | A f | | D 2 f | | M 9 | | T 5 ) , and delivers { M 9 , M 10 , T 5 } to the F G W N .
Step 6: After receiving { M 9 , M 10 , T 5 } from U i , the F G W N obtains the current timestamp T 5 and checks whether | T 5 T 5 | < Δ T is satisfied. If failed, the F G W N aborts the current session. Otherwise, the F G W N computes D 2 f = k f D 1 , H I D i = M 9 h ( D 2 f ) , M 10 = h ( H I D i | | A f | | D 2 f | | M 9 | | T 5 ) , and checks whether M 10 = ? M 10 . The current session is aborted if M 10 M 10 . Otherwise, F G W N generates a random number r f g , a timestamp T 6 , and calculates M 11 = r f g h ( A f s | | T 6 ) , M 12 = h ( S I D j | | r f g | | A f s | | D 1 | | T 6 ) . Finally, F G W N sends { M 11 , M 12 , T 6 } to S N j .
Step 7: When S N j receives { M 11 , M 12 , T 6 } from the F G W N , S N j obtains the current timestamp T 6 and verifies whether | T 6 T 6 | < Δ T . If not, S N j aborts the current session. Otherwise, S N j computes r f g = h ( A f s | | T 6 ) M 11 , M 12 = h ( S I D j | | r f g | | A f s | | D 1 | | T 6 ) , and examines whether M 12 = ? M 12 . The current session is aborted if M 12 M 12 . Otherwise, S N j generates a random number d Z q * , a timestamp T 7 , and figures out D 7 = d P , D 8 = d K f , S K = h ( D 7 | | d D 1 ) , M 13 = h ( S I D j | | r f g | | A f s | | D 8 | | T 7 ) , and M 14 = h ( S K | | D 7 ) . After that, S N j transmits { M 13 , M 14 , D 7 , T 7 } to the F G W N .
Step 8: After getting { M 13 , M 14 , D 7 , T 7 } from S N j , the F G W N acquires the current timestamp T 7 and verifies whether | T 7 T 7 | < Δ T . If the verification fails, the F G W N aborts the current session. Otherwise, the F G W N computes D 8 = k f D 7 , M 13 = h ( S I D j | | r f g | | A f s | | D 8 | | T 7 ) , and checks whether M 13 = ? M 13 . If M 13 M 13 , the F G W N aborts the current session. Otherwise, the F G W N generates a timestamp T 8 , calculates M 15 = h ( H I D i | | A f | | D 1 | | D 7 | | M 14 | | T 8 ) , and dispatches { M 14 , M 15 , D 7 , T 8 } to U i .
Step 9: After receiving { M 14 , M 15 , D 7 , T 8 } from the F G W N , U i obtains the current timestamp T 8 and checks whether | T 8 T 8 | < Δ T . If not, U i rejects the current session. Otherwise, U i computes M 15 = h ( H I D i | | A f | | D 1 | | D 7 | | M 14 | | T 8 ) and checks whether M 15 = ? M 15 . If M 15 M 15 , U i aborts the current session. Otherwise, U i figures out S K = h ( D 7 | | a D 7 ) , M 14 = h ( S K | | D 7 ) , and verifies whether M 14 = ? M 14 . If the verification fails, U i declines to establish a session key with S N j . Otherwise, U i and S N j share an identical session key, and the authentication process is successfully completed.

3.5. User Password Update Phase

U i inserts their smart card S C i into the terminal, and enters identity I D i , password P W i , and biometric information B I O i . Then, the terminal reproduces the biometric key data R e p ( B I O i , θ i ) σ i and reads secret parameter C i = H I D i r h in S C i to calculate H I D i = h ( I D i | | σ i ) , H P W i = h ( P W i | | σ i ) , and r h = H I D i C i . Next, the terminal checks B i = ? h ( H I D i | | H P W i | | r h ) . If the equation is not held, this update request is rejected. Otherwise, this request is acknowledged, and the subsequent phase is performed. In the update phase, U i enters a new password P W i n e w . Subsequently, the terminal computes H P W i n e w = h ( P W i n e w | | σ i ) and updates B i n e w = h ( H I D i | | H P W i n e w | | r h ) in S C i .

4. Security Analysis

4.1. Formal Security Proof

The security of our protocol is proved under the ROM.

4.1.1. Formal Security Model

The security of the presented protocol dependent on the CK model [28].
Participants: In this model, the adversary A controls the communication between all participants. For the single-gateway scenario, there are three types of participants in this protocol P: the user U, the gateway H G W N , and the sensor S N . Each principal has a large number of instances, which are usually treated as the actions of specific protocols run by each principal. U i , H G W N k , and S N j represent the ith instance of U, kth instance of H G W N , and jth instance of S N in P separately. Moreover, I denotes any other instance.
Queries: The interaction between A and the protocol principals occurs merely through oracle queries, which simulate A ’s capabilities to break P in a real attack. A is allowed to execute the following queries.
E x e c u t e ( U i , H G W N k , S N j ) : A uses this query to simulate a passive attack, and they can obtain the entire transcript as a result of the conversation among U, H G W N , and S N .
S e n d ( I i , m ) : It models an active attack of A , who forges a message m and sends it to instance I i . Subsequently, I i returns the processing outcomes of the message m to A according to P. If the message m is invalid, the query is ignored.
S K R e v e a l ( I i ) : This query simulates that A can obtain session key S K of any completed session.
S S R e v e a l ( I i ) : This query can be asked of an incomplete session and receives the internal state in return.
C o r r u p t ( I i ) : This query can help A obtain the private key of I i , which is usually used to simulate the forward secrecy of protocols. A can obtain the private key of U, H G W N , and S N .
T e s t ( I i ) : A asks this query to a fresh instance. Then, A can continue to ask other queries, as long as the tested session remains fresh. In other words, if I i has been asked S S R e v e a l ( I i ) , S K R e v e a l ( I i ) , or C o r r u p t ( I i ) , both I i and its partner cannot be asked by a T e s t query.
T e s t ( I i ) query is used to evaluate the semantic security of a session key. Only one test query is allowed to be executed during the whole game. To answer the test query, we imagine a challenger who flips a coin to define a bit b. If there is no session key established for instance I i , then ⊥ is returned. If the query has already been asked, then it outputs the same answer as above. Otherwise, if b = 1 , I i returns the real session key. If b = 0 , I i returns an entirely random string of the same length as the session key. The final output of T e s t ( I i ) is a bit b , which is the guessing value of b. The adversary wins this game if and only if b = b .

4.1.2. Security Proof

Suppose A is the adversary who can break protocol P in polynomial time. q h a s h and q s e n d refer to the number of hash query oracles and send query oracles, respectively. A d v P E C D H P ( t ) represents the advantage of an adversary who can resolve the intractable E C D H P in polynomial time. Now, the advantage of A that breaks the semantic security of our authentication and key agreement (AKA) protocol is defined:
A d v P A K A ( A ) q h a s h 2 2 l + q s e n d 2 l 1 + 2 A d v P E C D H P ( t )
Proof. 
Game i (i = 0, 1, 2, 3, 4) is used to perform the whole procedure of P. The event W G i signifies that A guesses the bit b correctly to win the game. □
Game 0: In the random oracle model, the real attack on P is modeled, and the following formula can be obtained:
A d v P A K A ( A ) = | 2 Pr [ W G 0 ] 1 |
Game 1: A carries out E x e c u t e queries to model an eavesdropping attack. Even if we take E x e c u t e queries into consideration, the probability of an adversary who can win the game has not increased.
P r [ W G 1 ] = P r [ W G 0 ]
Game 2: Hash oracles are added to the foundation of G a m e 1 by G a m e 2. This game models the active attack, and A attempts to trick a legitimate principal into accepting the modified message. When the collision happens between the constructed information and the real authentication information, A gets the secret information and wins the game. According to the birthday paradox, the maximum probability of the hash oracle collision is q h a s h 2 2 l + 1 , and we have:
| P r [ W G 2 ] P r [ W G 1 ] | q h a s h 2 2 l + 1
Game 3: S e n d queries are added. This game models the active attack, and A attempts to trick a legitimate principal into accepting the modified message. Therefore, we have:
| P r [ W G 3 ] P r [ W G 2 ] | q s e n d 2 l
Game 4: In this game, A asks E x e c u t e queries eavesdropping on all exchanged messages { M 1 , M 2 , M 3 , D 1 , T 1 } , { M 4 , M 5 , D 1 , T 2 } , { M 6 , M 7 , D 3 , T 3 } , and { M 7 , M 8 , D 3 , T 4 } . A executes C o r r u p t ( I i ) to obtain the private key of this entity, where I is equal to U, H G W N , and S N successively, and thus A can obtain all the private keys. S K R e v e a l ( I i ) can be executed in this game. It will answer an S K if the target instance has formed an S K . A executes S S R e v e a l ( I i ) to get the internal state of an incomplete session. In order to compute the session key, A has to resolve the intractable E C D H P to get a or b from D 1 = a P or D 3 = b P . Let A d v P E C D H P ( t ) be the advantage of A , who can resolve the E C D H P in polynomial time. As a result, we get:
| P r [ W G 4 ] P r [ W G 3 ] | A d v P E C D H P ( t )
At the end of G a m e 4, all the queries are simulated, so what A can do is to guess the bit b to win the game after performing T e s t query. Now, we have the following:
P r [ W G 4 ] = 1 2
According to Equations (2)–(7), we can obtain Equation (1). It indicates that the adversary has negligible advantage in winning the game. Therefore, our protocol is secure under the random oracle model.

4.2. Formal Verification Using Scyther

Scyther is a tool for the formal analysis of security protocols under the perfect cryptography assumption, in which it is assumed that all cryptographic functions are perfect. In this section, we formally analyze the security of the proposed protocol based on Scyther in the H G W N and F G W N . The results in Figure 11 and Figure 12 illustrate that the scheme is correct and secure against many adversary models under the Scyther security checks.

4.3. Informal Security Analysis

4.3.1. Mutual Authentication

In the home region, the H G W N authenticates U i by relying on M 3 = h ( H I D i | | A h | | D 2 | | M 1 | | M 2 | | T 1 ) , where D 2 is possessed by U i and can be recovered by the H G W N from D 1 and its private key k h . U i authenticates the H G W N using A h contained in M 8 = h ( H I D i | | A h | | D 1 | | D 3 | | M 7 | | T 4 ) , which can only be calculated by U i and H G W N . Any other principals cannot obtain A h . The H G W N verifies S N j dependent on M 6 = h ( S I D j | | r h g | | A g s | | D 4 | | T 3 ) , where D 4 is possessed by S N j and can be recovered by the H G W N from D 3 and k h . S N j verifies the H G W N using A g s contained in M 5 = h ( S I D j | | r h g | | A g s | | D 1 | | T 2 ) , which can be calculated by the H G W N and stored in S N j ’s memory. U i can verify the legitimacy of S K using M 7 .
In the foreign region, there is a similar process as above. The H G W N authenticates U i by relying on the secret parameter D 2 only shared by both parties. U i authenticates the H G W N using A h contained in M 8 = h ( H I D i | | S I D j | | A h | | A f | | M 7 | | T 4 ) . The F G W N and H G W N implement mutual authentication using ( b + k h ) K f and ( c + k f ) K h , respectively, which are both the secret parameters and can only be computed by themselves and verified by the other party. The F G W N authenticates U i dependent on M 10 = h ( H I D i | | A f | | D 2 f | | M 9 | | T 5 ) , where D 2 f is possessed by U i and can be retrieved by the F G W N from D 1 and its private key k f . U i authenticates the F G W N by relying on A f contained in M 15 = h ( H I D i | | A f | | D 1 | | D 7 | | M 14 | | T 8 ) , which can be calculated by the F G W N and retrieved by U i . S N j verifies the F G W N using A f s contained in M 12 = h ( S I D j | | r f g | | A f s | | D 1 | | T 6 ) , which can be only calculated by the F G W N using k f and stored in S N j ’s memory. The F G W N verifies S N j dependent on M 13 = h ( S I D j | | r f g | | A f s | | D 8 | | T 7 ) , where D 8 is possessed by S N j and can be retrieved by the F G W N from D 7 and k f . U i can verify the legitimacy of S K using M 14 .

4.3.2. Session Key Agreement

S K = h ( D 1 | | D 3 | | b D 1 ) = h ( D 1 | | D 3 | | a D 3 ) = h ( a P | | b P | | a b P ) is established between U i and S N j in the home region. Similarly, in the foreign region, U i and S N j share a common session key S K = h ( D 7 | | d D 1 ) = h ( D 7 | | a D 7 ) = h ( d P | | a d P ) . The established S K can be used for subsequent communication between U i and S N j .

4.3.3. Forward and Backward Secrecy

Forward secrecy is used to guarantee that previously established session keys remain secure in the event that the long-term private keys are compromised. Identically, backward secrecy affords the guarantee that a session key that will be established in the future remains secure even if the long-term private keys are compromised.
The proposed protocol uses the E C D H P to achieve forward and backward secrecy. In the home region, U i and S N j share a common session key S K = h ( a P | | b P | | a b P ) , which is related to the random numbers a and b generated by U i and S N j , respectively. In the foreign region, U i and S N j share a common session key S K = h ( d P | | a d P ) , which is related to the random numbers a and d generated by U i and S N j , respectively. If all the long-term private keys of U i , H G W N , F G W N , and S N j are compromised by an adversary, since the adversary has to resolve the intractable E C D H P to get a b P or a d P from a P , b P , or a P , d P , respectively, the previous or future session key is still secure. Consequently, forward and backward secrecy can be guaranteed.

4.3.4. User Anonymity and Untraceability

In the proposed protocol, the real identity I D i cannot be acquired by the adversary from the interaction messages. In the home region, there is only the legitimate gateway node who, in possession of private key k h , can calculate D 2 to recover U i ’s pseudonym H I D i and sensor’s identity S I D j . Simultaneously, considering the one-way nature of the hash function, it is difficult for the adversary to acquire H I D i from M 3 , M 8 and S I D j from M 5 , M 6 , respectively. In the foreign region, the adversary without gateway node’s private key cannot compute D 2 to recover H I D i . Likewise, considering the one-way nature of hash function, the adversary is unable to get H I D i from M 3 , M 8 , M 10 , M 15 . As a result, user anonymity can be achieved. In addition, because of the login request message being updated at each session round, the adversary is unable to trace a specific user. Therefore, the user’s untraceability is guaranteed.

4.3.5. Illegal Login Detection

A user needs to input their identity, password, and biometric information to complete login, and if the terminal declines this session, at least one of these three items is incorrect. In our protocol, when the incoming information is invalid, the identification parameter B i cannot be recovered correctly, which leads to the login request being aborted by the terminal. This mechanism guarantees the system can check illegal login requests quickly.

4.3.6. Stolen Smart Card Attack

The secret parameters { A i , B i , C i , θ i } are stored in U i ’s smart card, where A i = h ( H I D i | | k h | | r h ) H I D i , B i = h ( H I D i | | H P W i | | r h ) , C i = H I D i r h , and θ i is generated by G e n ( B I O i ) . If U i ’s smart card is lost and obtained by the adversary, then the adversary can get { A i , B i , C i , θ i } , but they are still unable to acquire the correct identity, password, and biometric key data. The adversary cannot compute a correct H I D i through C i without r h . The biometric key data σ i also cannot be recovered correctly without a real B I O i . Furthermore, even in this case, there is no chance for an adversary to get the password. As a result, the login request message M 1 , M 2 , M 3 cannot be figured out without the correct H I D i . Our protocol can be resistant to stolen smart card attack.

4.3.7. Replay Attack

The timestamp mechanism is used to guarantee the freshness of transmitted messages in our scheme. When the message is exchanged, the node first checks whether the time difference between the received timestamp and its own timestamp is within the acceptable maximum delay allowed by the system. Expired messages will be rejected. As a result, the protocol is capable of defending against replay attack.

4.3.8. Privileged Insider Attack

During the registration phase, user transmits { H I D i , H P W i } to the H G W N via a secure channel. It is assumed that an internal malicious privileged node who executes privileged insider attack in order to get user’s password P W i after getting { H I D i , H P W i } . However, the obtained values are hash values consisting of password and biometric key data. Considering the one-way nature of the hash function, it is intractable for the privileged node to extract P W i from H P W i . Therefore, our protocol can be resistant to privileged insider attack.

4.3.9. Desynchronization Attack

In the proposed protocol, the user does not store the same secret values with the gateway node. All participants in the protocol are not required to update any information when a session is accomplished. Accordingly, the protocol can resist a desynchronization attack.

4.3.10. Impersonation Attack

In our protocol, in order to forge a user, a valid login request { M 1 , M 2 , M 3 , D 1 , T 1 } is necessary. Nevertheless, the adversary has no capacity to figure out the true M 1 , M 2 , M 3 , D 1 without the correct H I D i , S I D j , A h , D 2 . As a result, the adversary fails to impersonate a legitimate user.
In addition, when the fake gateway node receives the correct login request, it cannot retrieve the true D 2 without the real private key. Therefore, the adversary is also unable to impersonate a legitimate gateway node.
Moreover, if the adversary wants to forge a sensor node, they need to recover r h g and generate M 5 , M 6 , which all depend on A g s that is only computed by the H G W N and stored in the sensor’s memory. Consequently, this scheme is protected against a sensor impersonation attack.

5. Performance and Security Comparison

In order to illustrate the balance between the security and usability of our protocol, the comparative consequences of the security and overhead of our scheme with other associated schemes are as follows, where Case-1 and Case-2 represent the protocol designed in the home region and the foreign region, respectively. According to [17,29,30,31], all operations were implemented in MATLAB on a four-core, 3.2 GHz computer with 8 GB of memory.

5.1. Security Features Comparison

The statistics of the security attributes that each scheme can satisfy are summarized in Table 2, where ✓ represents that this literature can satisfy this corresponding security attribute in Table 2, whereas × represents that it cannot achieve. All the indicators listed in Table 2 were achieved by our scheme. Moreover, none of the studies in the literature [13,17,18,19,20] has the capability to achieve forward and backward secrecy. However, the implementation of ECC in our scheme enables ours to accomplish forward and backward secrecy.

5.2. Communication Cost Comparison

In order to calculate the communication cost, we assumed that the identity, random number, hash digest, ECC point, and timestamp were 160 bits, 160 bits, 160 bits, 320 bits, and 32 bits, respectively. Additionally, the symmetric encryption/decryption using AES-128 required 128 bits for a 128-bit plaintext block. We evaluated the communication overhead between our protocol and other relevant protocols [13,17,18,19,20] during the login and authentication phases according to the overall quantity of transmitted messages. Table 3 shows the comparison results. Compared with [19], the transmitted number of messages was identical to our scheme, and there were similar communications costs as ours, but our scheme met more security attributes. As we can see, in order to compare with previous protocols [13,17,18,19,20], we chose SHA-1 [32] as the hash function. However, to achieve more security, we recommend using SHA-256 [32] as the hash function.

5.3. Computation Cost Comparison

Table 4 lists the approximate required computational time of various cryptographic operations, which were used as a comparative standard. Table 5 compares the computational overhead of our scheme and other relevant schemes during the login, authentication, and key agreement phases. The total cost of the proposed scheme increased slightly. Nevertheless, most of the cost was calculated on the gateway side with strong computational power rather than the resource-limited sensor side. Accordingly, integrated with both security and communication cost, our protocol was relatively secure with an acceptable overhead.

6. Conclusions

In this paper, we designed an authentication protocol based on ECC using three factors, applied to the IIoT environment. The proposed scheme was appropriate for single-gateway scenarios, and we also extended it to multigateway scenarios. Furthermore, forward and backward secrecy was realized in our scheme utilizing the intractable ECDHP. The formal security analysis under the ROM indicated that the proposed protocol was able to satisfy semantic security. We simulated our scheme using the formal verification tool Scyther, and the result showed that our scheme was secure. The informal security analysis proved our protocol was capable of satisfying most common security properties. Finally, compared with other representative protocols, the comparative results of security attributes, communication, and computation cost in Table 2, Table 3 and Table 5 clearly showed that our protocols could achieve many security attributes at a reasonable computation cost.

Author Contributions

Conceptualization, X.Z. and D.L.; methodology, X.Z. and D.L.; software, D.L.; validation, X.Z. and D.L.; formal analysis, X.Z. and D.L.; investigation, X.Z. and D.L.; resources, X.Z., D.L., and H.L.; writing—original draft preparation, X.Z. and D.L.; writing—review and editing, X.Z., D.L., and H.L.; supervision, X.Z. and H.L.; project administration, X.Z. and H.L.; funding acquisition, X.Z. and H.L. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation of China under grant 61732022, the Shaanxi Innovation Team Project under grant 2018TD-007, and the Natural Science Foundation of Shaanxi Province under grant 2019ZDLGY12-09.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

The authors gratefully acknowledge the anonymous reviewers for their valuable comments.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
IIoTIndustrial Internet of things
WSNsWireless sensor networks
XORExclusive OR
ECCElliptic curve cryptography
ECDHPElliptic curve Diffie–Hellman problem
ECDLPElliptic curve discrete logarithm problem
AESAdvanced Encryption Standard
HGWNHome gateway node
FGWNForeign gateway node
ROMRandom oracle model
AKAAuthentication and key agreement
SHA-1Secure Hash Standard 1
SHA-256Secure Hash Standard 256

References

  1. Farag, H.M.; Österberg, P.; Gidlund, M. Congestion Detection and Control for 6TiSCH Networks in IIoT Applications. In Proceedings of the 2020 IEEE International Conference on Communications, ICC 2020, Dublin, Ireland, 7–11 June 2020; pp. 1–6. [Google Scholar]
  2. Sisinni, E.; Saifullah, A.; Han, S.; Jennehag, U.; Gidlund, M. Industrial Internet of Things: Challenges, Opportunities, and Directions. IEEE Trans. Ind. Inform. 2018, 14, 4724–4734. [Google Scholar] [CrossRef]
  3. Far, H.A.N.; Bayat, M.; Das, A.K.; Fotouhi, M.; Pournaghi, S.M.; Doostari, M. LAPTAS: Lightweight anonymous privacy-preserving three-factor authentication scheme for WSN-based IIoT. Wirel. Netw. 2021, 27, 1389–1412. [Google Scholar]
  4. Choudhary, K.; Gaba, G.S.; Butun, I.; Kumar, P. MAKE-IT—A Lightweight Mutual Authentication and Key Exchange Protocol for Industrial Internet of Things. Sensors 2020, 20, 5166. [Google Scholar] [CrossRef] [PubMed]
  5. Ma, C.; Wang, D.; Zhao, S. Security flaws in two improved remote user authentication schemes using smart cards. Int. J. Commun. Syst. 2014, 27, 2215–2227. [Google Scholar] [CrossRef]
  6. Sun, D. Security and Privacy Analysis of Vinoth et al.’s Authenticated Key Agreement Scheme for Industrial IoT. Symmetry 2021, 13, 1952. [Google Scholar] [CrossRef]
  7. Kumari, S.; Khan, M.K.; Atiquzzaman, M. User authentication schemes for wireless sensor networks: A review. Ad Hoc Netw. 2015, 27, 159–194. [Google Scholar] [CrossRef]
  8. Das, M.L. Two-factor user authentication in wireless sensor networks. IEEE Trans. Wirel. Commun. 2009, 8, 1086–1090. [Google Scholar] [CrossRef]
  9. Nyang, D.; Lee, M. Improvement of Das’s Two-Factor Authentication Protocol in Wireless Sensor Networks. Cryptology ePrint Archive. 2009. Available online: https://eprint.iacr.org/2009/631 (accessed on 25 August 2022).
  10. Vaidya, B.; Makrakis, D.; Mouftah, H.T. Improved two-factor user authentication in wireless sensor networks. In Proceedings of the IEEE 6th International Conference on Wireless and Mobile Computing, Networking and Communications, Niagara Falls, ON, Canada, 11–13 October 2010; pp. 600–606. [Google Scholar]
  11. He, D.; Gao, Y.; Chan, S.; Chen, C.; Bu, J. An Enhanced Two-factor User Authentication Scheme in Wireless Sensor Networks. Ad Hoc Sens. Wirel. Netw. 2010, 10, 361–371. [Google Scholar]
  12. Turkanovic, 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 Netw. 2014, 20, 96–112. [Google Scholar] [CrossRef]
  13. Yeh, H.; Chen, T.; Liu, P.; Kim, T.; Wei, H. A Secured Authentication Protocol for Wireless Sensor Networks Using Elliptic Curves Cryptography. Sensors 2011, 11, 4767–4779. [Google Scholar] [CrossRef]
  14. Shi, W.; Gong, P. A New User Authentication Protocol for Wireless Sensor Networks Using Elliptic Curves Cryptography. Int. J. Distrib. Sens. Netw. 2013, 9, 730831. [Google Scholar] [CrossRef]
  15. Chang, C.; Le, H. A Provably Secure, Efficient, and Flexible Authentication Scheme for Ad hoc Wireless Sensor Networks. IEEE Trans. Wirel. Commun. 2016, 15, 357–366. [Google Scholar] [CrossRef]
  16. Li, X.; Peng, J.; Niu, J.; Wu, F.; Liao, J.; Choo, K.R. A Robust and Energy Efficient Authentication Protocol for Industrial Internet of Things. IEEE Internet Things J. 2018, 5, 1606–1615. [Google Scholar] [CrossRef]
  17. Amin, R.; Biswas, G.P. 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]
  18. Das, A.K.; Sutrala, A.K.; Kumari, S.; Odelu, V.; Wazid, M.; Li, X. An efficient multi-gateway-based three-factor user authentication and key agreement scheme in hierarchical wireless sensor networks. Secur. Commun. Netw. 2016, 9, 2070–2092. [Google Scholar] [CrossRef] [Green Version]
  19. Wu, F.; Xu, L.; Kumari, S.; Li, X.; Shen, J.; Choo, 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]
  20. Srinivas, J.; Mukhopadhyay, S.; Mishra, D. Secure and efficient user authentication scheme for multi-gateway wireless sensor networks. Ad Hoc Netw. 2017, 54, 147–169. [Google Scholar] [CrossRef]
  21. Wang, D.; Li, W.; Wang, P. Measuring Two-Factor Authentication Schemes for Real-Time Data Access in Industrial Wireless Sensor Networks. IEEE Trans. Ind. Inform. 2018, 14, 4081–4092. [Google Scholar] [CrossRef]
  22. Bellare, M.; Rogaway, P. Random Oracles are Practical: A Paradigm for Designing Efficient Protocols. In Proceedings of the 1st ACM Conference on Computer and Communications Security, CCS’93, Fairfax, VA, USA, 3–5 November 1993; pp. 62–73. [Google Scholar]
  23. Cremers, C.J.F. The Scyther Tool: Verification, Falsification, and Analysis of Security Protocols. In Proceedings of the 20th International Conference, CAV 2008, Princeton, NJ, USA, 7–14 July 2008; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2008; Volume 5123, pp. 414–418. [Google Scholar]
  24. Koblitz, N. Elliptic Curve Cryptosystems. Math. Comput. 1987, 48, 203–209. [Google Scholar] [CrossRef]
  25. Miller, V.S. Use of Elliptic Curves in Cryptography. In Proceedings of the Advances in Cryptology—CRYPTO ’85, Santa Barbara, CA, USA, 18–22 August 1985; Lecture Notes in Computer Science. Williams, H.C., Ed.; Springer: Berlin/Heidelberg, Germany, 1985; Volume 218, pp. 417–426. [Google Scholar]
  26. Dolev, D.; Yao, A.C. On the security of public key protocols. IEEE Trans. Inf. Theory 1983, 29, 198–207. [Google Scholar] [CrossRef]
  27. Dodis, Y.; Reyzin, L.; Smith, A.D. Fuzzy Extractors: How to Generate Strong Keys from Biometrics and Other Noisy Data. In Proceedings of the Advances in Cryptology—EUROCRYPT, Interlaken, Switzerland, 2–6 May 2004; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2004; Volume 3027, pp. 523–540. [Google Scholar]
  28. Canetti, R.; Krawczyk, H. Analysis of Key-Exchange Protocols and Their Use for Building Secure Channels. In Proceedings of the EuroCrypt, Innsbruck, Austria, 6–10 May 2001; Pfitzmann, B., Ed.; Springer: Berlin/Heidelberg, Germany, 2001; Volume 2045, pp. 453–474. [Google Scholar]
  29. Srinivas, J.; Das, A.K.; Kumar, N.; Rodrigues, J.J.P.C. Cloud Centric Authentication for Wearable Healthcare Monitoring System. IEEE Trans. Dependable Secur. Comput. 2020, 17, 942–956. [Google Scholar] [CrossRef]
  30. Challa, S.; Das, A.K.; Odelu, V.; Kumar, N.; Kumari, S.; Khan, M.K.; Vasilakos, A.V. An efficient ECC-based provably secure three-factor user authentication and key agreement protocol for wireless healthcare sensor networks. Comput. Electr. Eng. 2018, 69, 534–554. [Google Scholar] [CrossRef]
  31. Lee, C.; Chen, C.; Wu, P.; Chen, T. Three-factor control protocol based on elliptic curve cryptosystem for universal serial bus mass storage devices. IET Comput. Digit. Tech. 2013, 7, 48–56. [Google Scholar] [CrossRef]
  32. Dang, Q.H. Secure hash standard. In US Doc/NIST FIPS Publication 180-4; NIST: Gaithersburg, MD, USA, 2015. [Google Scholar]
Figure 1. Architecture for an IIoT.
Figure 1. Architecture for an IIoT.
Sensors 22 07510 g001
Figure 2. Single-gateway model.
Figure 2. Single-gateway model.
Sensors 22 07510 g002
Figure 3. Multigateway model.
Figure 3. Multigateway model.
Sensors 22 07510 g003
Figure 4. Points over the elliptic curve.
Figure 4. Points over the elliptic curve.
Sensors 22 07510 g004
Figure 5. User registration phase.
Figure 5. User registration phase.
Sensors 22 07510 g005
Figure 6. Sensor registration phase.
Figure 6. Sensor registration phase.
Sensors 22 07510 g006
Figure 7. User login phase.
Figure 7. User login phase.
Sensors 22 07510 g007
Figure 8. Authentication and key agreement in the HGWN.
Figure 8. Authentication and key agreement in the HGWN.
Sensors 22 07510 g008
Figure 9. Authentication and key agreement phase 1 in the FGWN.
Figure 9. Authentication and key agreement phase 1 in the FGWN.
Sensors 22 07510 g009
Figure 10. Authentication and key agreement phase 2 in the FGWN.
Figure 10. Authentication and key agreement phase 2 in the FGWN.
Sensors 22 07510 g010
Figure 11. Simulation result in HGWN.
Figure 11. Simulation result in HGWN.
Sensors 22 07510 g011
Figure 12. Simulation result in FGWN.
Figure 12. Simulation result in FGWN.
Sensors 22 07510 g012
Table 1. Symbol description.
Table 1. Symbol description.
SymbolDescription
S A System administrator
U i ith user node
S N j jth sensor node
S C i Smart card of U i
H G W N Home gateway node
F G W N Foreign gateway node
I D i Identity of U i
S I D j Identity of S N j
P W i Password of U i
B I O i Biometric information of U i
k h , K h Private key and public key of H G W N
k f , K f Private key and public key of F G W N
r h , r h g , r f , r f g Random numbers
a , b , c , d Random numbers Z q *
PA point on the elliptic curve
T 1 , T 2 , . . . , T 8 Timestamps
Δ T Acceptable maximum transmission delay
S K Session key
h ( ) One-way hash function
Exclusive-or operation
| | Concatenation operation
G e n ( ) Fuzzy extractor probabilistic generation procedure
R e p ( ) Fuzzy extractor deterministic reproduction procedure
Table 2. Security comparison.
Table 2. Security comparison.
Security Properties[13][17][18][19][20]Ours
Mutual authentication×
Session key agreement××
Forward and backward secrecy×××××
User anonymity××××
Untraceability property××××
Illegal login detection××
Stolen smart card attack××
Replay attack
Insider attack×
Desynchronization attack×××
Impersonation attack×××
Table 3. Communication cost comparison.
Table 3. Communication cost comparison.
Scheme Number of MessagesCommunication Cost (bits)
[13]Case-121504
[17]Case-142528
Case-253008
[18]Case-132784
Case-264704
[19]Case-142688
Case-284480
[20]Case-142368
Case-273904
OursCase-142848
Case-284416
Table 4. Execution time of various cryptographic operations.
Table 4. Execution time of various cryptographic operations.
SymbolDescriptionApproximate Computation Time (s)
T h Hash function0.00032
T e c m ECC point multiplication0.0171
T e c a ECC point addition0.0044
T s y m Symmetric encryption/decryption0.0056
T f e Fuzzy extractor function0.0171
Table 5. Computational cost comparison.
Table 5. Computational cost comparison.
Protocols UserHGWNFGWNSensorTotal (s)
[13]Case-1 4 T h + 2 T e c m + 1 T e c a 4 T h + 6 T e c m + 3 T e c a - 3 T h + 2 T e c m + 2 T e c a 0.20092
[17]Case-1 7 T h 8 T h - 5 T h 0.00640
Case-2 8 T h 1 T h 7 T h 5 T h 0.00672
[18]Case-1 9 T h + 1 T f e + 1 T s y m 5 T h + 2 T s y m - 3 T h + 1 T s y m 0.04494
Case-2 10 T h + 1 T f e + 2 T s y m 0 5 T h + 2 T s y m 4 T h + 1 T s y m 0.05118
[19]Case-1 9 T h 11 T h - 4 T h 0.00768
Case-2 11 T h 7 T h 7 T h 4 T h 0.00928
[20]Case-1 10 T h 14 T h - 7 T h 0.00992
Case-2 14 T h 6 T h 17 T h 6 T h 0.01376
OursCase-1 9 T h + 1 T f e + 3 T e c m 8 T h + 2 T e c m - 5 T h + 3 T e c m 0.16094
Case-2 12 T h + 1 T f e + 4 T e c m 8 T h + 6 T e c m + 2 T e c a 10 T h + 7 T e c m + 2 T e c a 5 T h + 3 T e c m 0.38780
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Zhao, X.; Li, D.; Li, H. Practical Three-Factor Authentication Protocol Based on Elliptic Curve Cryptography for Industrial Internet of Things. Sensors 2022, 22, 7510. https://doi.org/10.3390/s22197510

AMA Style

Zhao X, Li D, Li H. Practical Three-Factor Authentication Protocol Based on Elliptic Curve Cryptography for Industrial Internet of Things. Sensors. 2022; 22(19):7510. https://doi.org/10.3390/s22197510

Chicago/Turabian Style

Zhao, Xingwen, Dexin Li, and Hui Li. 2022. "Practical Three-Factor Authentication Protocol Based on Elliptic Curve Cryptography for Industrial Internet of Things" Sensors 22, no. 19: 7510. https://doi.org/10.3390/s22197510

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