Next Article in Journal
Finite Element Analysis for Linear Viscoelastic Materials Considering Time-Dependent Poisson’s Ratio: Variable Stiffness Method
Previous Article in Journal
1-Deoxynojirimycin Attenuates High-Glucose-Induced Oxidative DNA Damage via Activating NRF2/OGG1 Signaling
Previous Article in Special Issue
A Preemptive-Resume Priority MAC Protocol for Efficient BSM Transmission in UAV-Assisted VANETs
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Provably Secure ECC-Based Anonymous Authentication and Key Agreement for IoT

School of Mathematics and Computer Science, Yunnan Minzu University, Kunming 650504, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2024, 14(8), 3187; https://doi.org/10.3390/app14083187
Submission received: 17 January 2024 / Revised: 16 February 2024 / Accepted: 27 February 2024 / Published: 10 April 2024

Abstract

:
With the rise of the Internet of Things (IoT), maintaining data confidentiality and protecting user privacy have become increasingly challenging. End devices in the IoT are often deployed in unattended environments and connected to open networks, making them vulnerable to physical tampering and other security attacks. Different authentication key agreement (AKA) schemes have been used in practice; several of them do not cover the necessary security features or are incompatible with resource-constrained end devices. Their security proofs have been performed under the Random-Oracle model. We present an AKA protocol for end devices and servers. The proposal leverages the ECC-based key exchange mechanism and one-way hash function-based message authentication method to achieve mutual authentication, user anonymity, and forward security. A formal security proof of the proposed scheme is performed under the standard model and the eCK model with the elliptic curve encryption computational assumptions, and formal verification is performed with ProVerif. According to the performance comparison, it is revealed that the proposed scheme offers user anonymity, perfect forward security, and mutual authentication, and resists typical attacks such as ephemeral secret leakage attacks, impersonation attacks, man-in-the-middle attacks, and key compromise impersonation attacks. Moreover, the proposed scheme has the lowest computational and communication overhead compared to existing schemes.

1. Introduction

Thanks to advances in chipset production and embedding technologies, sensors and actuators (referred to as end devices) are pervasive in the Internet of Things (IoT), being integrated into intelligent agriculture, smart grid (SG), telemedicine, smart home, intelligent manufacturing, and many other fields to collect and disseminate the data [1]. According to the latest estimates, there will be 83 billion IoT connections by 2024 [2]. In IoT applications, the collected and transmitted data are sensitive. Privacy is another crucial issue, especially regarding user data such as consumption habits, location, and communication activities [3,4]. To ensure security, authentication key agreement (AKA) schemes for IoT applications have been widely used, which offer mutual authentication and privacy protection and ensure confidentiality, integrity, and non-repudiation of data transmissions based on the negotiated session keys [5]. End devices are often linked to open networks and deployed in unattended environments with limited computation, communication, and storage capabilities. As a result, mutual authentication and key agreement between end devices and servers to sustain efficiency is a critical challenge.

1.1. Related Work

Over the last few years, numerous AKA solutions have been developed for IoT applications. The symmetric cryptography-based AKA protocols [6,7,8,9] have the advantages of low computational complexity and high efficiency. On the other hand, such schemes necessitate sharing key parameters between end devices beforehand or each device transferring its key to the server. It is unrealistic for numerous end devices and significantly burdens the servers. Physical Unclonable Function (PUF) is a promising lightweight hardware security primitive adopted by many IoT AKA protocols [10,11,12]. Each participant in these schemes should record one or more Challenge–Response Pairs (CRPs) of its PUF with the registration server beforehand. When a registered device, Alice, wants to communicate with another registered device, Bob, it can only do so with the assistance of the server, which results in a lack of flexibility and efficiency. In contrast, the asymmetric cryptography-based AKA schemes requiring fewer restrictions have attracted increasing attention [13]. Elliptic Curve Cryptography (ECC) provides smaller key sizes than other asymmetric algorithms with the same security [14,15], which makes it introduced in IoT AKA protocols.
Numerous IoT AKA protocols based on ECC have been developed. In 2015, a bilinear pairing-based AKA protocol for wireless body area networks (WBAN) was put forward by Wang et al. [16], which requires a high computational overhead. They claimed that their scheme achieves absolute anonymity, perfect forward security (PFS), and overcomes the weaknesses of previous schemes. After analysis, it was found that the session key could be captured after temporary session information disclosure. In addition, Wu et al. [17] pointed out that the protocol is incapable of withstanding impersonation (IM) attacks. And then, they proposed an enhanced version for WBANs. However, the enhanced scheme also uses bilinear pairing and suffers from ephemeral secret leakage (ESL) attacks. Seo et al. [18] introduced an AKA scheme for dynamic WSNs. Later, Saeed et al. [19] pointed out that the scheme [18] could not provide PFS; then, they proposed a scheme for establishing an authenticated key between WSNs and cloud servers, whereas the proposal [19] is also not resistant to ESL attacks and cannot provide user anonymity. In 2020, an AKA scheme for IoT was introduced by Fang et al. [20]. In this scheme, heterogeneous-type IoT smart devices are deployed based on a trust model. Their solution requires higher computational and communication costs and is susceptible to ESL attacks [21]. In the same year, Dariush et al. [22] introduced an AKA protocol for SG that offers solutions to some of the previously mentioned problems, such as ESL attacks and private key leakage attacks. Unfortunately, in [22], the trusted authority (TA) is able to masquerade as a smart meter to agree on session keys with the server provider [23]. Moreover, the scheme needs more computational and communication costs for the bilinear pairing computation.
Recently, Srinivas et al. [24] designed an anonymous AKA protocol with Schnorr’s signature. Later, Baruah et al. [23] demonstrated that the scheme [24] is prone to man-in-the-middle (MIM) attacks and IM attacks. Cryptanalysis identifies that the protocol [24] is also vulnerable to key escrow problems and ESL attacks. Yang et al. [25] stated that Shen et al.’s scheme [26] suffers from MIM attacks and key compromise impersonation (KCI) attacks and is incapable of providing PFS, and then introduced an enhanced cloud-based scheme. Unfortunately, the enhanced scheme has key escrow problems and is incapable of providing user anonymity. Chaudhry et al. [27] presented an AKA scheme for SG using ECC and symmetric encryption. Unfortunately, this scheme [27] has key escrow problems and suffers from MIM attacks. Hajian et al. [28] examined the deficiencies of four existing AKA schemes and then proposed an improved device-to-device AKA scheme in the IoT. But the improved scheme suffers from MIM attacks and KCI attacks and is incapable of affording PFS. In 2023, Chen et al. [29] presented an AKA scheme for industrial control systems. However, the solution requires high computation and communication costs, suffers from ESL attacks, and cannot afford PFS.

1.2. Related Adversary Model

In 1993, Bellare and Rogaway [30] put forward an adversary model for the AKA scheme, the BR model, which formalized the attacker’s known-key attacks and IM attacks. Later, the BR model was modified by Blake-Wilson et al. [31] by introducing long-term private key corruption attacks. In 2001, Canetti and Krawczyk [32] proposed the CK model, which covers attacks on ephemeral private keys and intermediate result leakage. All these adversary models attempt to cover the essential safety and performance attributes required. In 2007, LaMacchia et al. [33,34] introduced a somewhat stronger adversary model, the extended CK model (eCK model), which incorporates weak PFS and KCI attacks.

1.3. Random-Oracle Model and Standard Model

Provable security theory, which employs formal language to describe the security of cryptographic protocols, has played a critical role in designing and analyzing AKA protocols. Most early cryptographic schemes for provable security were inefficient. Practically oriented provably secure cryptographic schemes were proposed only after the famous Random-Oracle model was introduced by Bellare and Rogaway [35]. In the Random-Oracle model, the hash function is treated as a completely randomized machine called R, and the adversary has no access to its information. A random oracle is a theoretical model that takes deterministic inputs and produces random outputs. Finding a genuinely random function to replace the random oracle R in the Random-Oracle model is impossible. Many scholars have suggested avoiding using hash functions as random oracles in favor of designing cryptographic protocols directly under realistic conditions [36,37,38]. This approach, called the standard model, avoids using idealized models such as hash functions. In general, cryptographic schemes that are provably secure under the standard model can provide more robust security than those that are provably secure under the randomized predicate model.

1.4. Motivation and Contributions

To summarize, previous ECC-based AKA schemes suffer from more or less vulnerabilities, i.e., failure to provide user anonymity [19,25], PFS [18,24,28,29], and vulnerability to specific attacks [16,17,18,19,20,22,24,25,27,28,29]. Next, high computational and communication costs eliminate the suitability of some solutions for resource-limited IoT [10,16,17,20,22,29]. Their security proofs are performed in the Random-Oracle model model [22,24]. It is attractive to design an efficient AKA scheme for IoT and provide security proof under the standard model and eCK model.
We propose an improvement over the scheme of Srinivas et al. [24] with the ECC-based message exchange mechanism and the one-way hash function message authentication technique. During registration, the TA only possesses part of the entity’s private key, solving the key escrow issues. In addition, the proposals provide PFS and can resist ESL attacks since session keys are generated using both long-term and ephemeral credits. The protocol encrypts entity identities dynamically with random numbers and transmits them anonymously from session to session.
The paper’s contributions can be summarized as follows:
(1) As an example, the cryptanalysis of the protocol scheme of Srinivas et al. [24] for the previous scheme reveals security issues and vulnerabilities.
(2) A secure-enhanced AKA protocol for IoT is presented. Its security is formally proved under the standard model and the eCK model with the elliptic curve encryption computational assumptions and verified with ProVerif.
(3) The proposed protocol has better security features with lower communication and computational overheads than existing schemes.

1.5. Roadmap

The paper is structured as follows: Section 2 reviews the network model and the basics of elliptic curve encryption. In Section 3, we analyze a related AKA scheme. We then describe an improved ECC-based AKA protocol in Section 4. Section 5 provides a formal proof, descriptive security analysis, and validation with ProVerif of the proposed scheme security. In Section 6, we present a performance comparison with related schemes. Finally, we conclude the paper in Section 7.

2. Preliminaries

The following preliminaries and symbols are used to explain and analyze the schemes.

2.1. Network Model

A typical IoT application is shown in Figure 1. It mainly involves three main components: end devices, routers, and servers. The end devices may be sensors, actuators, cell phones, etc. Routers include gateway nodes, base stations, and routers for relaying and passing messages. In addition, servers are in charge of managing devices and assigning security parameters.
An IoT system consists of many low-power, resource-limited end devices placed in unattended or open environments and typically connected to open networks. Through these terminal devices, real-time monitoring and control can be implemented remotely. The end sensors collect real-time data such as agricultural environment parameters, power consumption, biomedical data, and machine conditions and then send the data to remote servers. The servers receive and store the collected data, then extract and evaluate the data to provide the appropriate control measures. The end devices carry out control commands that are received from the server. There is a risk of the adversary controlling the communication channels and compromising the secret credentials of servers and end devices.

2.2. Elliptic Curve Encryption Mathematical Problems

Let q > 3 be a big prime number, E ( a , b ) denote a non-singular elliptic curve over a finite field F q , and P be a generator point. The group operation is the usual multiplication of points on the elliptic curve, and G is a subgroup of order p, where p > q [39]. Hence, the following applies.
Definition 1.
Elliptic curve discrete logarithm (ECDL) problem: For the given points X and a X , where X G and a Z q , it is computationally intractable to find a.
Definition 2.
Elliptic curve Diffie–Hellman (ECDH) problem: For the given points a X , b X G , where X G and a , b Z q , finding point a b X is computationally intractable.

2.3. Symbols

Symbols for the schemes are cataloged in Table 1.

3. Security Analysis of Srinivas et al.’s Scheme [24]

Srinivas et al. [24] put forward an AKA scheme for IoT smart grid systems with an Schnorr signature mechanism based on ECC. Before being added to the network, TA is responsible for distributing secret credentials, including signatures, to each smart grid and service provider. Smart meters and service providers can authenticate each other to establish session keys for secret communication. Baruah et al. [23] point out that the scheme of Srinivas et al. [24] is insured against MIM attacks and IM attacks. Cryptanalysis shows that the protocol [24] also suffers from key escrow issues and ESL attacks. For the review of Srinivas et al. [24], please refer to the complete paper.

3.1. Key Escrow Problem

During the registration process, TA generates the private keys of S M i and S P j with Schnorr’s signature. T A calculates T S M i = t S M i · P and M S M i = t S M i + h ( T S M i I D S M i ) · t ( mod q ) for S M i , and also T S P j = t S P j · P , P S P j = t S P j + h ( T S P j I D S P j ) · t ( mod q ) for S P j . Then, the long-term private secrets, T S M i , M S M i , T S P j , and P S P j , are known to him/her.

3.2. No Resistance to ESL Attacks

An AKA protocol is designed to resist an ESL attack, meaning that even if all the session-specific information of the entities in a session is compromised, the secrecy of the session key would remain uncompromised. During the authentication process, once the ephemeral secrets r i and r j are compromised, A can compromise the session key S K i j or S K j i by the following steps:
A1: A obtains the messages M S G 1 = { R i , T S i } , M S G 2 = { R j , V j , T S P j , T S j } and M S G 3 = { B i , C i , T S i } by eavesdropping via the open channels;
A2: A extracts T S i , T S P j , T S j , B i and T S i from the messages, then A calculates S i = h ( r i T S i ) · ( T S P j + h ( T S P j I D S P j ) · T p u b ) ;
A3: For S i = S j , A gets ( I D S M i T S M i ) = B i h ( S i T S i ) then calculates U j = h ( r j T S j ) · ( T S M i + h ( T S M i I D S M i ) · T p u b ) .
A4: For A i = U j , A calculates S K i j = h ( A i S i I D S M i I D S P j ) .

4. The Proposed Protocol

The proposal involves three phases: initialization, registration, and authentication and key agreement. To begin, TA generates and releases parameters for the system during the initialization phase. In the registration phase, each end device S s or server S P s p acquires its private key and both parties’ public key with the assistance of T A . Ultimately, S s and S P s p will authenticate each other and negotiate a session key.

4.1. Initialization Phase

TA generates and releases parameters for the system as follows:
TA1: TA selects an elliptic curve E ( a , b ) over finite field F q with a base point P;
TA2: Then, TA picks h ( · ) as the collision-resistant one-way hash function;
TA3: TA issues { ( E ( a , b ) , p , q , P , h ( · ) } publicly.

4.2. Registration Phase

As shown in Figure 2, taking the registration of the server S P as an example, the processes are as follows:
R1: Firstly, SP chooses a random r s p Z q and its identifier I D s p Z q and computes R s p = r s p · P . Then, SP transmits a registration request, { I D s p , R s p } , to TA securely.
R2: In response, first, TA chooses r t a s p Z q randomly to calculate the public key of S P . P K s p = R s p + r t a s p · P . Next, TA sends { P K s p , r t a s p , I D s , P K s } to SP via a secure channel.
R3: In response, S P takes r t a s p as part of its private key and obtains its private key, k s p = ( ( r s p + r t a s p ) mod q ) . Then, SP checks whether P K s p ? = k s p · P ; if it holds, then SP computes W S s = k s p · P K s and stores ( I D s p , k s p , I D s , W S s ) .
Similarly, S stores ( I D s , k s , I D s p , W S s p ) after registration. When a new end device S joins and registers the system, TA sends { I D s , P K s } to SP securely.

4.3. Authentication and Key Agreement Phase

S s and S P s p will authenticate each other and negotiate a session key as shown in Figure 3.
S1: S first picks x s Z q randomly and generates a timestamp T S s . Next, S calculates A s = ( x s k s mod q ) · P and B s = x s · W S s p . Third, S encrypts I D s , E I D s = I D s B s , and obtains a verifier V s = h ( W S s p T S s I D s B s ) . Finally, S transmits the authentication request M s = { A s , E I D s , T S s , V s } to S P .
SP1: Upon receiving the request message, S P first examines its freshness against the timestamp T S s . Next, SP calculates B s p = k s p · A s to decrypt I D s = E I D s B s p . Thus, SP gains the S verifier and validates the equation of V s = ? h ( W S s T S s I D s B s p ) to assure the integrity of the incoming message and the validity of S.
SP2: Firstly, S P selects x s p randomly and obtains a timestamp T S s p . Secondly, SP calculates A s p = ( x s p k s p mod q ) · P and C s p = x s p · B s p . SP obtains the session key as S S K s p = h ( I D s I D s p B s p C s p ) . Third, SP figures out a verifier: V s p = h ( W S s T S s p I D s p S S K s p ) . and transmits authentication reply M s p = { A s p , T S s p , V s p } to S.
S2: On receiving the message, S first examines its freshness against T S s p . Next, S calculates C s = ( x s k s mod q ) · A s p to obtain the session key S S K s = h ( I D s I D s p B s C s ) . Thus, S gains the SP verifier and validates the equation of V s p = ? h ( W S s p T S s p I D s p S S K s ) to assure the integrity of the incoming message and the validity of SP.

5. Security Analysis

This session provides a formal proof, descriptive security analysis and validation with ProVerif of the proposed scheme security.

5.1. Formal Proof

The eCK adversary model [33,34,40] is employed for the security proof. The system authentication model is shown in Figure 4. After registration, S P s p obtains its private and public keys ( k s p , P K s p ) . The private and public keys of S s are ( k s , P K s ) . During authentication and key agreement, they negotiate the session key S S K s ( S S K s p ) by exchanging authentication information M s and M s p , where M s = f s ( x s k s ) and M s p = f s ( x s p k s p ) , x s , and x s p are random ephemeral secrets.

5.1.1. Security Model

Participants. There are n participants in the proposed protocol P , which are uniformly denoted by the set F = { F 1 , , F n } , and each participant may have i instances involved in distinct, possibly concurrent executions of P , where n and i are polynomial numbers.
Sessions. Let i , j m denote the mth protocol session running between entity F i and intended partner entity F j . A session i , j m is accepted if it has computed a session key S K i , j m , with a session identifier of s i d i , j m = ( I D i , I D j , X i , X j ) , where X i is the outgoing information of F i , and X j is the outgoing information of F j .
Adversary. Firstly, the adversary A has complete control of the communicating network. Namely, A is able to eavesdrop on, alter, ascertain, and inject communication messages M s and M s p . Secondly, A can have knowledge of the participant’s long-term private key k s ( k s p ) and ephemeral secret x s ( x s p ) but not both. Thirdly, A allows replacing the participant’s public key P K s ( P K s p ). Finally, A can obtain the session key S S K s ( S S K s p ) held by the participant. A can interact with i , j m with the following Oracle queries:
(1) E S R e v e a l ( i , j m ) . A can obtain the ephemeral secrets of F i with the query.
(2) P K R e p l a c e ( I D i ) . A replaces the public key of F i using this query.
(3) P K R e v e a l ( I D i ) . A is available with this query for the public key of F i .
(4) S K R e v e a l ( I D i ) . By running the query, A is able to obtain the long-term private keys of F i , while the public key of F i has not yet been replaced.
(5) S S K R e v e a l ( i , j m ) . Returns ⊥ if session i , j m was not accepted. If not, it returns the session key that i , j m holds.
(6) S e n d ( i , j m , M ) . A represents F j sending the message M to F i in session i , j m then receiving a reply from F i according to P .
(7) T e s t ( i , j m ) . The query does not simulate the adversary’s ability, but it simulates the indistinguishability between real session keys and random keys. Input session i , j m must be fresh. As a challenger, C tosses a coin b { 0 , 1 } . If b = 0 , C returns the session key held by i , j m ; if b = 1 , C returns a random key from the distribution of the session key.
Matching session. If i , j m and j , i n have the same session s i d , then j , i n is said to be a matching session for i , j m .
Freshness. Let i , j m denote an accepted session between honest participants F i and F j if i , j m and j , i n are matching sessions. i , j m is fresh if all the following conditions do not hold:
(1) A issues S S K R e v e a l ( i , j m ) or S S K R e v e a l ( j , i n ) queries if j , i n exists.
(2) The matching session j , i n exists. A makes S K R e v e a l ( I D i ) and E S R e v e a l ( i , j m ) queries, or S K R e v e a l ( I D j ) and E S R e v e a l ( j , i n ) queries.
(3) The matching session j , i n does not exist. A makes S K R e v e a l ( I D i ) and E S R e v e a l ( i , j m ) , or S K R e v e a l ( I D j ) queries.
A game simulates the security of an AKA protocol. In the game, A can issue multiple queries in any order. A can issue the T e s t ( i , j m ) query only once for a fresh session i , j s . Next, a coin b { 0 , 1 } is flipped by C . When the game ends, A will guess the value of b as b . If b = b and the test session i , j m is still fresh, then A wins the game. The advantage of A to win the game is defined as A d v A K A ( A ) = Pr b = b 1 2 .
eCK Security. To ensure the security of the AKA protocol in the eCK model, the following conditions must be met:
(1) If both parties complete a matching session, they will calculate the same session key, unless the probability is negligible.
(2) For any polynomial-time adversary A , the advantage in breaking the AKA protocol, A d v A K A ( A ) , must be negligible.

5.1.2. Formal Security Analysis

At first, three empty lists are created to hold the query and the corresponding answers.
L: input–output pairs of the hash function. Instead of being randomly chosen by C , the real hash function computes the outputs. To complete the safety proof, C needs to record the mapping between the inputs and outputs.
L U : Tuple ( I D i , k i , P K i ) for storing the queries–answers of P K R e v e a l ( I D i ) , P K R e p l a c e ( I D i ) , and S K R e v e a l ( I D i ) .
L w : Tuple ( I D i , I D j , s , x i , x j ) for storing the queries–answers of E S R e v e a l ( i , j s ) .
To continue, it is essential to clarify a few fundamental configurations. Suppose that A is activating no more than n 1 honest parties, and each party is engaged in no more than n 2 sessions. Assume that A selects the I , J S as the test session. A can distinguish a test session key from a random string in the three ways below:
A1. Guessing.  A guesses the session key correctly.
A2. Key replication.  A creates a mismatched session that has the same session key as I , J S . So A is able to fetch the session key by querying the mismatched session.
A3. Forging. The value of h ( I D i I D j B i C i ) is computed at some point by A .
Theorem 1.
Since the ECDL or ECDH problem is intractable, the advantage of A against the AKA scheme in the eCK model is negligible.
Proof. 
Since the session key S S K i Z q , there is only a 1 q 1 chance of guessing the correct S S K i in the guessing attack.
The hash function should yield the same results for different input values in order to prevent the key replication attack. The probability of success of a key duplication attack is negligible.
The analysis of the forging attack is shown below.
Consider the tuple ( P , u 1 P , u 1 u 2 P , v 1 P , v 1 v 2 P ) as an example of the ECDH problem, in which the ephemeral keys x s and x s p are denoted by u 2 and v 2 , and the long-term keys k s and k s p are represented by u 1 and v 1 . If A is successful in forging attack with non-negligible probability, ECDH ( u 1 u 2 P , v 1 P ) = u 1 u 2 v 1 v 1 P and ECDH ( u 1 u 2 P , v 1 v 2 P ) = u 1 u 2 v 1 v 1 P can be computed by C using A .
First, C creates a test session I , J S by randomly selecting S { 1 , n 2 } and I , J { 1 , n 1 } ( I J ) . Therefore, C has no higher chance of correctly guessing the test session I , J S than 1 n 1 2 · n 2 . Let J , I E be the matching session of I , J S . There are six complementary events to consider as shown in Table 2. E1: A does not obtain the ephemeral secret keys of I D I ( u 2 ) and I D J ( v 2 ) . E2: A does not obtain the ephemeral secret key of I D I ( u 2 ) and secret value of I D J ( v 1 ) . E3: A does not obtain the ephemeral secret keys I D J ( v 2 ) and secret value of I D I ( u 1 ) . E4: A does not obtain the secret values of I D I ( u 1 ) and I D I ( v 1 ) . E5: There is no matching session for I , J S . A obtains parameters similar to E2. E6: There is no matching session for I , J S . A obtains parameters similar to E4.
At least one event in the set, { E 1 A 3 , E 2 A 3 , E 3 A 3 , E 4 A 3 , E 5 A 3 , E 6 A 3 } , happens with non-negligible probability if A succeeds in faking attack with non-negligible probability.
i. 
Analysis of E1
(1) 
Setup. C sends ( E ( a , b ) , p , q , P , P , h ( · ) ) to the A .
(2) 
Query. A will query the public key before an identity is used in any other queries, and all queries are different. C answers the queries issued by A as follows:
(1) 
P K R e v e a l ( I D i ) . A submits an identity I D i , C picks at random k i Z q , computes P K i = k i · P , then returns P K i and adds ( I D i , k i , P K i ) to the list L U .
(2) 
P K R e p l a c e ( I D i ) . A submits a tuple P K i = k i · P for I D i , C replaces P K i with P K i , and update ( I D i , k i , P K i ) with ( I D i , , K i ) in the list L U , where ∗ can be the secret value k i or be the symbol ⊥.
(3) 
S K R e v e a l ( I D i ) . A submits an identity I D i , C looks up ( I D i , k i , P K i ) in the list L U and returns k i . If A has replaced the public key P K i and has not submitted a new one, C will refuse to respond.
(4) 
E S R e v e a l ( i , j m ) . A submits a session i , j s , then C processes as follows:
  • If i , j s = I , J S or i , j s = J , I E , then C fails and stops.
  • If not, C selects x i , x j Z q at random and appends ( I D i , I D j , s , x i , x j ) to L W .
(5) 
S S K R e v e a l ( i , j m ) . A submits a session i , j s , and C processes as follows: If A has replaced the public key P K i (or P K j ) and did not submit the new secret value P K i (or P K j ), then C may refuse to reply, else
  • C a s e 1 : If i , j s = I , J S or i , j s = J , I E , then C fails and stops.
  • C a s e 2 : If A has made E S R e v e a l ( i , j m ) for i , j s , C will look up ( I D i , I D j , s , x i , x j ) in L W , ( I D i , k i , P K i ) , or ( I D j , k j , P K j ) in L U , then figures out the session key according to the AKA scheme.
  • C a s e 3 : Else, C selects x i , x j Z q at random and appends ( I D i , I D j , s , x i , x j ) to L W , then proceeds as in case 2.
(6) 
S e n d ( i , j s , M ) . C will answer the query as below.
  • If ( i , j s , M ) = ( I , J S , ) , C looks up ( I D I , k I , P K I ) in L U and then returns k I u 2 P .
  • If ( i , j s , M ) = ( J , I E , ) , C looks up ( I D J , k J , P K J ) in L U and then returns k I v 2 P .
  • If i , j s I , J S and i , j s J , I E , C looks up ( I D i , k i , P K i ) in L U and processes as follows:
    ·
    If A has made E S R e v e a l ( i , j m ) for i , j s , C looks up ( I D i , I D j , s , x i , x j ) in L W , then computes and returns A i .
    ·
    If not, C randomly selects x i , x j Z q and calculates and returns A i , then appends ( I D i , I D j , s , x i , x j ) to L W .
  • If M = ( A j , ) , C accepts i , j s I , J S .
(7) 
T e s t ( i , j s ) . If the public key P K i (or P K j ) had been replaced with k i (or k j ), A would have had to commit the new secret value k i (or k j ) to C ; since C is unable to generate the session key if he does not know the secret values for I D i and I D j . The responses of C to T e s t ( i , j s ) are as follows:
  • If i , j s I , J S , C fails and stops.
  • If i , j s = I , J S , C randomly chooses S S K i Z q and sends it back to A .
(3) 
Solve ECDH problems. To win the game by forging attack, A would have to calculate h ( I D I I D J B I C I ) , where B I = k J k I u 2 P and D I = k J k I u 2 v 2 P . C finds k I and k J in L U and computes B I and D I by solving the ECDH problem.
(4) 
Probability. If it is possible for C to properly guess the test session I , J S , C will not fail in the query phase. Thus, C is able to calculate B I = ECDH ( k J P , k I u 2 P ) and D I = ECDH ( k J v 2 P , k I u 2 P ) with probability 1 n 1 2 n 2 A d v A K A ( A ) if A wins in the game with advantage A d v A K A ( A ) .
ii. 
Analysis of E2
(1) 
Setup. Same as that in the analysis of E1.
(2) 
Query. C responds to the queries from A as those in the analysis of E1 except for the P K R e v e a l ( I D i ) , S K R e v e a l ( I D i ) , E S R e v e a l ( i , j m ) , and S e n d ( i , j s , M ) .
(1) 
P K R e v e a l ( I D i ) . A submits an identity I D k , C will respond to the query as follows:
  • If I D k = I D J , A computes K J = v 1 P , returns v 1 P , and adds ( I D J , , v 1 P ) to the list L U .
  • If not, C randomly selects k k Z q and calculates P K k = k k P , then returns P K k and adds ( I D k , k k , P K k ) in L U .
(2) 
S K R e v e a l ( I D i ) . If I D i = I D J , C will fail and stop. If not, C looks up ( I D i , k i , P K i ) in L U and returns k i .
(3) 
E S R e v e a l ( i , j m ) . C will respond to the query as follows:
  • If i , j s = I , J S or i , j s = J , I E , C randomly chooses x J Z q and returns ( , x J ) , then appends ( I D J , I D J , s , , x J ) to L W .
  • If not, C randomly chooses x i , x j Z q and returns ( x i , x j ) , then appends ( I D i , I D j , s , x i , x j ) to L W .
(4) 
S e n d ( i , j s , M ) . C will respond to the query as follows:
  • If ( i , j s , M ) = ( I , J S , ) , C looks up ( I D I , k I , P K I ) in L U and returns ( k 1 u 2 P ) .
  • If ( i , j s , M ) = ( J , I E , ) , C looks up ( I D J , , v 1 P ) in L U , and ( I D I , I D J , S , , x J ) in L W , then sends ( v 1 x J P ) back.
  • Otherwise, the analysis is the same as for E1.
(3) 
Solve ECDH problems. To win the game by forging attack, C must compute h ( I D I I D J B I C I ) , where B I = k J k I u 2 P and C I = k I u 2 v 1 x J P . C finds k I in the list L U and ( , x J ) in the list L W to compute B I and C I by solving ECDH problems.
(4) 
Probability. If it is possible for C to properly guess the test session I , J S , C will not fail in the query phase. Thus, C is able to calculate B I = ECDH ( k J P , k I u 2 P ) and D I = ECDH ( v 1 x J P , k I u 2 P ) with the same probability as E1 winning the game.
iii. 
Analysis of E3
C can swap I D I and I D J in E3 and then carry out the analysis of E2.
iv. 
Analysis of E4
(1) 
Setup. This is the same as that in the analysis of E1.
(2) 
Query. The responses of C to the queries from A are the same as in E1, except for P K R e v e a l ( I D i ) , S K R e v e a l ( I D i ) , E S R e v e a l ( i , j m ) , S K R e v e a l ( I D i ) , and S e n d ( i , j s , M ) queries.
(1) 
P K R e v e a l ( I D i ) . A submits an identity I D k , C process as follows:
  • If I D k = I D I , C computes K I = u 1 P , then returns u 1 P and appends ( I D I , , u 1 P ) to L U .
  • If I D k = I D J , C computes K J = v 1 P , then returns v 1 P and appends ( I D J , , v 1 P ) to L U .
  • Else, C chooses k k Z q randomly and calculates K k = k k P , then returns K k and adds ( I D k , k k , K k ) in L U .
(2) 
S K R e v e a l ( I D i ) . If I D i = I D I or I D i = I D J , then C fails and stops. If not, C looks up ( I D i , k i , K i ) in L U and returns k i .
(3) 
E S R e v e a l ( i , j m ) . A submits a session i , j s , C randomly chooses x i , x j Z q and returns ( x i , x j ) , then appends ( I D i , I D j , s , x i , x j ) to L W .
(4) 
S e n d ( i , j s , M ) . C finds ( I D i , k i , K i ) in the list L U , then responds to queries as follows:
  • If ( i , j s , M ) = ( I , J S , ) , C performs as follows:
    ·
    If A has made E S R e v e a l ( i , j m ) for i , j s , C looks up ( I D i , I D j , s , x i , x j ) in L W and returns ( u 1 x i P ) .
    ·
    If A has made E S R e v e a l ( j , i m ) for j , i s , C looks up ( I D i , I D j , s , x i , x j ) in L W and returns ( v 1 x j P ) .
    ·
    Else, C randomly chooses x i , x j Z q and returns A i , then appends ( I D i , I D j , s , x i , x j ) to L W .
  • M = ( A j , ) , C accepts the session.
(3) 
Solve ECDH problems. To win the game by forging attack, C must compute h ( I D I I D J B I D I ) , where B I = u 1 v 1 x I P and D I = u 1 x I v 1 x J P . C looks up ( I D i , I D j , s , x i , x j ) in L W to compute B I and D I by solving ECDH 1 and ECDH 2 problems.
(4) 
Probability. If it is possible for C to properly guess the test session I , J S , C will not fail in the query phase. Thus, C is able to calculate B I = ECDH 1 ( v 1 P , u 1 x I P ) and D I = ECDH 2 ( u 1 x I P , v 1 x J P ) with the same probability as E1 winning the game.
v. 
Analysis of E5
In E2, there is a matching session J , I E for the test session I , J S , whereas in E5, there is no matching session for I , J S . Therefore, the analysis for E5 is similar to that for E2.
vi. 
Analysis of E6
In E4, there is a matching session J , I E for the test session I , J S . However, in E6, there is no matching session for I , J S . Therefore, the analysis of E6 is similar to that of E4.

5.2. Descriptive Security Analysis

5.2.1. No Key Escrow Issues

During registration, S obtains the long-term private key, k s = r s + r t a s mod q . TA only generates the partial private key r t a s , which avoids the key escrow problems. The long-term private key of SP is similar.

5.2.2. ESL Attack Resistance

Resistance to ESL attacks means A is unable to figure out the session key in spite of knowing ephemeral secrets x s and x s p . For S S K s = H ( I D s I D s p B s C s ) , where C s = ( x s k s mod q ) · A s p = ( x s p k s p mod q ) · A s , even if x s and x s p are revealed, A cannot figure out S S K s because they do not know the long-term secrets k s and k s p . Similarly, if A knows the short-term secrets x s and x s p , then he/she cannot calculate S S K s p .

5.2.3. Anonymity

In this scheme, I D s and I D s p are masked before being transmitted during the authentication process and change dynamically from session to session with the choice of the temporary random numbers x s and x s p . A is incapable of retrieving and tracing the identity from the transmitted messages. That is, the proposal guarantees anonymity.

5.2.4. Mutual Authentication

During authenticating, S verifies S P by checking the correctness of V s p . For V s p = h ( W S s T S s p I D s p S S K s p ) , where S S K s p = x s p · B s p = k s p x s p · A s , V s p cannot be figured out without long-term secrets k s p of S P . Similarly, S P verifies S by checking V s .

5.2.5. Impersonation Attacks Resistance

Firstly, we analyze the S impersonation attack. If A tries to impersonate S to generate the message { A s , E I D s , T S s , V s } to make S P believe that the message is legitimate and generated by S, A cannot generate valid information and impersonate S in polynomial time without knowing parameters such as k s and x s .

5.2.6. IoT Nodes Capture Attack Resistance

Some IoT end devices are placed in unattended environments and may be physically captured by an adversary. Thus, their credentials { I D s , k s , P K s , I D s p , W s s p } can be easily extracted by A . The credentials for different end devices in the proposed scheme are different. Therefore, this will only lead to session key leakage between the captured S s and the server S P but not between the uncorrupted end device S s and the server S P . This implies that the proposal can withstand IoT node capture attacks.

5.2.7. KCI Attack Resistance

Resistance against KCI attacks refers to the inability of A to impersonate another legitimate participant, Bob, to authenticate with Alice after Alice’s long-term private key disclosure. Suppose A learns the long-term key k s of the end device S and wants to impersonate S P to produce { A s p , T S s p , V s p } to convince S that the message is legitimate and generated by S P . For V s p = h ( W S s T S s p I D s p S S K s p ) , where C s p = x s p · B s p = k s p x s p · A s , and k s p has not been compromised, A cannot impersonate server S P to perform authentication and key agreement with S. Similarly, A cannot carry out KCI attacks against S P .

5.3. Automatic Formal Verification

The security of the proposal is formally validated with ProVerif [5]. Table 3 illustrates the codes of S, where s c h s is a secret channel used for S registration, and c h is a public channel used for S and S P authentication. Based on the following results, it can be concluded that both the authentication process and the session key are secure from adversary attacks.
Here are the results of the queries in ProVerif:
(1)
RESULT inj-event(endAuthS) ==> inj-event(startAuthS) is true.
(2)
RESULT inj-event(endAuthSP) ==> inj-event(startAuthSP) is true.
(3)
RESULT inj-event(endAuthSP) ==> inj-event(endAuthS) is true.
(4)
RESULT inj-event(endAuthS) ==> inj-event(endAuthSP) is true.
(5)
RESULT not attacker(SSKs[]) is true.
(6)
RESULT not attacker(SSKsp[]) is true.
(7)
RESULT not attacker(ks[]) is true.
(8)
RESULT not attacker(ksp[]) is true.

6. Performance Comparison

6.1. Communication Cost

According to [22,41], suppose that G 1 is an additive cyclic group with order q 1 . G 2 is a multiplicative cyclic group with order q. The bilinear map is defined as e : G 1 × G 1 G 2 . In addition, it is assumed that the lengths of an identifier (ID), a hash output (H), a timestamp (TS), and a random number (R) are 64, 128, 32, and 128 bits, respectively. Table 4 shows the communication overhead of each protocol during the authentication and key negotiation phases. It can be concluded that the proposed scheme has the lowest communication overhead in the authentication and key negotiation processes.

6.2. Computation Cost

According to He et al. [41], Table 5 shows the run-time of the relevant encryption operation on a S a m s u n g G a l a x y S 5 . Table 6 displays the run-time of each scheme during authentication and key agreement. It is evident that the proposed scheme requires the least computational overhead.

6.3. Performance Comparison

The results of the comparison between the proposal and related schemes [22,24,25,27,28,29] in terms of security are shown in Table 7. Compared to the existing schemes, the proposed protocol provides better security and functionality, e.g., it is resistant to attacks such as IM, MIM, and ESL while providing anonymity, mutual authentication, and PFS without key escrow issues.

7. Conclusions

To begin, we reviewed the existing ECC-based AKA schemes. Then, we pointed out that the existing schemes failed to provide user anonymity and PFS and had no resistance to typical attacks (such as ESL, IM, MIM, KCI, etc.) with key escrow problems. The high computational and communication costs also made some of these solutions unsuitable for resource-limited IoT. Furthermore, the security proofs were conducted in the Random-Oracle model. It is widely recognized that cryptographic schemes proven secure in the Random-Oracle model may not necessarily provide the same level of security when implemented in real-world systems. We propose a security-enhanced AKA protocol for connecting IoT devices to servers to remedy the existing challenges. The session key security of the proposed scheme is rigorously proven under the eCK model with the elliptic curve encryption computational assumptions. The session key confidentiality and authentication properties are verified with ProVerif. Based on the performance comparison, it is found that the proposed scheme offers user anonymity, PFS, mutual authentication, and resistance to typical attacks such as ESL, IM, MIM, and KCI. Additionally, the proposed scheme has minimal computational and communication overhead compared to the existing schemes.

Author Contributions

Conceptualization, S.H., S.J. and Q.M.; methodology, S.H. and F.Y.; software, W.Z.; validation, S.H. and P.D.; formal analysis, S.H. and S.J.; investigation, S.H., S.J. and Q.M.; resources, S.H.; data curation, Q.M.; writing—original draft preparation, S.H. and F.Y.; writing—review and editing, S.H., S.J., Q.M., F.Y., W.Z. and P.D.; visualization, S.H.; supervision, S.H.; project administration, S.H.; funding acquisition, S.H. All authors have read and agreed to the published version of the manuscript.

Funding

This research was supported in part by the Natural Science Foundation of China (No. 62072319).

Data Availability Statement

The data presented in this study are available on request from the corresponding author. The data are not publicly available due to privacy.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
IoTInternet of Things
AKAAuthentication key agreement
TATrusted authority
ECCElliptic Curve Cryptography
PUFPhysical Unclonable Function
CRPChallenge–Response Pair
BRBellare and Rogaway
mBRModified BR model
CKCanetti and Krawczyk
WBANWireless body area networks
WSNWireless sensor networks
SGSmart grid
PFSPerfect forward security
IMImpersonation
KCIKey compromise impersonation
MIMMan-in-the-middle
ESLEphemeral secret leakage

References

  1. Tedeschi, P.; Sciancalepore, S.; Eliyan, A.; Di Pietro, R. LiKe: Lightweight Certificateless Key Agreement for Secure IoT Communications. IEEE Internet Things J. 2020, 7, 621–638. [Google Scholar] [CrossRef]
  2. Whitepaper, J.R. IoT The Internet of Transformation 2020. [Online]. Available online: https://www.juniperresearch.com/whitepapers/iot-the-internet-of-transformation-2020 (accessed on 14 July 2022).
  3. Nicanfar, H.; Hosseininezhad, S.; TalebiFard, P.; Leung, V.C. Robust privacy-preserving authentication scheme for communication between Electric Vehicle as Power Energy Storage and power stations. In Proceedings of the 2013 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), Turin, Italy, 14–19 April 2013; pp. 55–60. [Google Scholar] [CrossRef]
  4. Showkat, D.; Som, S.; Khatri, S.K.; Ahluwalia, A.S. Security Implications in IoT using Authentication and Access Control. In Proceedings of the 2018 7th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions) (ICRITO), Noida, India, 29–31 August 2018; pp. 689–694. [Google Scholar] [CrossRef]
  5. Zheng, Y.; Hu, S.; Wei, L.; Chen, Y.; Wang, H.; Yang, Y.; Li, Y.; Xu, B.; Huang, W.; Chen, L. Design and Analysis of a Security-Enhanced Three-Party Authenticated Key Agreement Protocol Based on Chaotic Maps. IEEE Access 2020, 8, 66150–66162. [Google Scholar] [CrossRef]
  6. Wong, K.; Zheng, Y.; Cao, J.; Wang, S. A dynamic user authentication scheme for wireless sensor networks. In Proceedings of the IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing (SUTC’06), Taichung, Taiwan, 5–7 June 2006; Volume 1, p. 8-pp. [Google Scholar] [CrossRef]
  7. Wu, D.; Zhou, C. Fault-Tolerant and Scalable Key Management for Smart Grid. IEEE Trans. Smart Grid 2011, 2, 375–381. [Google Scholar] [CrossRef]
  8. He, D.; Zeadally, S.; Kumar, N.; Lee, J. Anonymous authentication for wireless body area networks with provable security. IEEE Syst. J. 2016, 11, 2590–2601. [Google Scholar] [CrossRef]
  9. Gope, P.; Amin, R.; Hafizul Islam, S.; Kumar, N.; Bhalla, V.K. Lightweight and privacy-preserving RFID authentication scheme for distributed IoT infrastructure with secure localization services for smart city environment. Future Gener. Comput. Syst. 2018, 83, 629–637. [Google Scholar] [CrossRef]
  10. Aman, M.N.; Sikdar, B. ATT-Auth: A Hybrid Protocol for Industrial IoT Attestation with Authentication. IEEE Internet Things J. 2018, 5, 5119–5131. [Google Scholar] [CrossRef]
  11. Chatterjee, U.; Govindan, V.; Sadhukhan, R.; Mukhopadhyay, D.; Chakraborty, R.S.; Mahata, D.; Prabhu, M.M. Building PUF Based Authentication and Key Exchange Protocol for IoT without Explicit CRPs in Verifier Database. IEEE Trans. Dependable Secur. Comput. 2019, 16, 424–437. [Google Scholar] [CrossRef]
  12. Gope, P.; Lee, J.; Quek, T.Q.S. Lightweight and Practical Anonymous Authentication Protocol for RFID Systems Using Physically Unclonable Functions. IEEE Trans. Inf. Forensics Secur. 2018, 13, 2831–2843. [Google Scholar] [CrossRef]
  13. Imam, R.; Areeb, Q.M.; Alturki, A.; Anwer, F. Systematic and Critical Review of RSA Based Public Key Cryptographic Schemes: Past and Present Status. IEEE Access 2021, 9, 155949–155976. [Google Scholar] [CrossRef]
  14. Hankerson, D.; Menezes, A.J.; Vanstone, S. Guide to Elliptic Curve Cryptography; Springer: Berlin/Heidelberg, Germany, 2003. [Google Scholar]
  15. Gura, N.; Patel, A.; Wander, A.; Eberle, H.; Shantz, S.C. Comparing Elliptic Curve Cryptography and RSA on 8-bit CPUs. In Cryptographic Hardware and Embedded Systems, Proceedings of the CHES 2004, Cambridge, MA, USA, 11–13 August 2004; Springer: Berlin/Heidelberg, Germany, 2004; pp. 119–132. [Google Scholar]
  16. Wang, C.; Zhang, Y. New Authentication Scheme for Wireless Body Area Networks Using the Bilinear Pairing. J. Med. Syst. 2015, 39, 136. [Google Scholar] [CrossRef]
  17. Wu, L.; Zhang, Y.; Li, L.; Shen, J. Efficient and Anonymous Authentication Scheme for Wireless Body Area Networks. J. Med. Syst. 2016, 40, 134. [Google Scholar] [CrossRef] [PubMed]
  18. Seo, S.H.; Won, J.; Sultana, S.; Bertino, E. Effective Key Management in Dynamic Wireless Sensor Networks. IEEE Trans. Inf. Forensics Secur. 2017, 10, 371–383. [Google Scholar]
  19. Saeed, M.E.; Liu, Q.Y.; Tian, G.; Gao, B.; Li, F. AKAIoTs: Authenticated Key Agreement for Internet of Things. Wirel. Netw. 2019, 25, 3081–3101. [Google Scholar] [CrossRef]
  20. Fang, D.; Qian, Y.; Hu, R.Q. A Flexible and Efficient Authentication and Secure Data Transmission Scheme for IoT Applications. IEEE Internet Things J. 2020, 7, 3474–3484. [Google Scholar] [CrossRef]
  21. Maurya, A.K.; Das, A.K.; Jamal, S.S.; Giri, D. Secure user authentication mechanism for IoT-enabled Wireless Sensor Networks based on multiple Bloom filters. J. Syst. Archit. 2021, 120, 102296. [Google Scholar] [CrossRef]
  22. Abbasinezhad-Mood, D.; Ostad-Sharif, A.; Nikooghadam, M.; Mazinani, S.M. A Secure and Efficient Key Establishment Scheme for Communications of Smart Meters and Service Providers in Smart Grid. IEEE Trans. Ind. Inform. 2020, 16, 1495–1502. [Google Scholar] [CrossRef]
  23. Baruah, B.; Dhal, S. An Authenticated Key Agreement Scheme for Secure Communication in Smart Grid. In Proceedings of the 2021 International Conference on COMmunication Systems NETworkS (COMSNETS), Bangalore, India, 5–9 January 2021; pp. 447–455. [Google Scholar] [CrossRef]
  24. Srinivas, J.; Das, A.K.; Li, X.; Khan, M.K.; Jo, M. Designing Anonymous Signature-Based Authenticated Key Exchange Scheme for Internet of Things-Enabled Smart Grid Systems. IEEE Trans. Ind. Inform. 2021, 17, 4425–4436. [Google Scholar] [CrossRef]
  25. Yang, X.; Yi, X.; Nepal, S.; Khalil, I.; Huang, X.; Shen, J. Efficient and Anonymous Authentication for Healthcare Service with Cloud Based WBANs. IEEE Trans. Serv. Comput. 2022, 15, 2728–2741. [Google Scholar] [CrossRef]
  26. Shen, J.; Gui, Z.; Ji, S.; Shen, J.; Tan, H.; Tang, Y. Cloud-aided lightweight certificateless authentication protocol with anonymity for wireless body area networks. J. Netw. Comput. Appl. 2018, 106, 117–123. [Google Scholar] [CrossRef]
  27. Chaudhry, S.A.; Nebhan, J.; Yahya, K.; Al-Turjman, F. A Privacy Enhanced Authentication Scheme for Securing Smart Grid Infrastructure. IEEE Trans. Ind. Inform. 2022, 18, 5000–5006. [Google Scholar] [CrossRef]
  28. Hajian, R.; Haghighat, A.; Erfani, S. A Secure Anonymous D2D Mutual Authentication and Key Agreement Protocol for IoT. Internet Things 2022, 18, 100493. [Google Scholar] [CrossRef]
  29. Chen, Y.; Yin, F.; Hu, S.; Sun, L.; Li, Y.; Xing, B.; Chen, L.; Guo, B. ECC-Based Authenticated Key Agreement Protocol for Industrial Control System. IEEE Internet Things J. 2023, 10, 4688–4697. [Google Scholar] [CrossRef]
  30. Bellare, M.; Rogaway, P. Entity Authentication and Key Distribution. In Advances in Cryptology—CRYPTO’ 93; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 1994; Volume 773, pp. 232–249. [Google Scholar]
  31. Blake-Wilson, S.; Johnson, D.; Menezes, A. Key agreement protocols and their security analysis. In Cryptography and Coding, Proceedings of the IMA International Conference on Cryptography and Coding, Cirencester, UK, 17–19 December 1997; Springer: Berlin/Heidelberg, Germany, 1997; Volume 1355, pp. 30–45. [Google Scholar]
  32. Canetti, R.; Krawczyk, H. Analysis of Key-Exchange Protocols and Their Use for Building Secure Channels. In Advances in Cryptology-Eurocrypt 2001, Proceedings; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2001; Volume 2045, pp. 453–474. [Google Scholar]
  33. Sun, H.; Wen, Q.; Zhang, H.; Jin, Z. A strongly secure identity-based authenticated key agreement protocol without pairings under the GDH assumption. Secur. Commun. Netw. 2015, 8, 3167–3179. [Google Scholar] [CrossRef]
  34. Deng, L.; Gao, R. Certificateless two-party authenticated key agreement scheme for smart grid. Inf. Sci. 2021, 543, 143–156. [Google Scholar] [CrossRef]
  35. Bellare, M.; Rogaway, P. Random oracles are practical: A paradigm for designing efficient protocols. In Proceedings of the First ACM Conference on Computer and Communications Security, Fairfax, VA, USA, 3–5 November 1993; pp. 62–73. [Google Scholar]
  36. Gennaro, R.; Halevi, S.; Rabin, T. Secure hash-and-sign signatures without the random oracle. In Proceedings of the Advances in Cryptology—EUROCRYPT’99: International Conference on the Theory and Application of Cryptographic Techniques, Prague, Czech Republic, 2–6 May 1999; Proceedings 18. Volume 1592, pp. 123–139. [Google Scholar]
  37. Cramer, R.; Shoup, V. A practical public key cryptosystem provably secure against adaptive chosen ciphertext attack. In Proceedings of the Advances in Cryptology—CRYPTO’98: 18th Annual International Cryptology Conference, Santa Barbara, CA, USA, 23–27 August 1998; Volume 1462, pp. 13–25. [Google Scholar]
  38. Canetti, R.; Goldreich, O.; Halevi, S. The random oracle methodology, revisited. J. ACM 2004, 51, 557–594. [Google Scholar] [CrossRef]
  39. Hu, S.; Chen, Y.; Zheng, Y.; Xing, B.; Li, Y.; Zhang, L.; Chen, L. Provably Secure ECC-Based Authentication and Key Agreement Scheme for Advanced Metering Infrastructure in the Smart Grid. IEEE Trans. Ind. Inform. 2023, 19, 5985–5994. [Google Scholar] [CrossRef]
  40. LaMacchia, B.; Lauter, K.; Mityagin, A. Stronger Security of Authenticated Key Exchange. In Proceedings of the 1st International Conference on Provable Security (ProvSec’07), Wollongong, NSW, Australia, 1–2 November 2007; pp. 1–16. [Google Scholar]
  41. He, D.; Wang, H.; Khan, M.K.; Wang, L. Lightweight anonymous key distribution scheme for smart grid using elliptic curve cryptography. IET Commun. 2016, 10, 1795–1802. [Google Scholar] [CrossRef]
Figure 1. Network model.
Figure 1. Network model.
Applsci 14 03187 g001
Figure 2. Registration processes of the proposed scheme.
Figure 2. Registration processes of the proposed scheme.
Applsci 14 03187 g002
Figure 3. Authentication and key agreement of proposed protocol.
Figure 3. Authentication and key agreement of proposed protocol.
Applsci 14 03187 g003
Figure 4. Authentication model.
Figure 4. Authentication model.
Applsci 14 03187 g004
Table 1. Symbols for the schemes.
Table 1. Symbols for the schemes.
NotationDescription
T A , K G C Trusted Authority, Key Generation Center
A , C Adversary, Challenger
S P j , I D S P j j t h service provider and its identity
S M i , I D S M i i t h smart meter and its identity
E q ( a , b ) A non-singular elliptic curve
PA base point of E q ( a , b )
t , T p u b Private-public key pair of T A [24]
S K i j , S S K i Session key
, Bitwise XOR and concatenation operations
T S Timestamps
Δ T Maximum transmission delay
h ( · ) One-way hash functions
S , S P End device, Server
k / K Private/public key of a entity
Table 2. Complementary events.
Table 2. Complementary events.
E 1 E 2 E 3 E 4 E 5 E 6
J , I E ××
Ephemeral secret keys of I D I ( u 2 ) ×× ×
Ephemeral secret keys of I D J ( v 2 ) × ×
Secret value of I D I ( u 1 ) ×× ×
Secret value of I D I ( v 1 ) × ×××
×: the session does not exit or A does not obtain the parameter.
Table 3. Codes for end device S.
Table 3. Codes for end device S.
let S =
new rs:bitstring;
let Rs = Mul(rs, P) in
out (schs, (IDs, Rs));
in (schs, (vIDsp:bitstring,vPKsp: bitstring, vPKs: bitstring,vrtas:bitstring));
let ks = add (rs, vrtas) in
let PKs= Mul (ks, P) in
if PKs = vPKs then
let WSsp = Mul (ks, vPKsp) in
!
(
event startAuthsp;
let As = Mul(xs,PKs) in
let Bs = Mul(xs, WSsp) in
let EIDs = xor (IDs, Bs) in
new TSeeds:bitstring;
let Ts = generate_Timeline(TSeeds) in
let Vs = Hash(con (con (con (WSsp, Ts), IDs),Bs))in
out (ch, (As, EIDs, Ts, Vs));
in (ch, (vAsp: bitstring, vTsp: bitstring, vVsp:bitstring));
let Cs = Mul (mul (xs, ks), vAsp) in
let SSKs = Hash(con (con (con (IDs,IDsp), Bs), Cs)) in
let Vsp = Hash(con (con (con (WSsp,vTsp),IDsp), SSKs)) in
if Vsp = vVsp then
event endAuths;
0
).
Table 4. Communication cost.
Table 4. Communication cost.
SchemeEnd Device (bit)Server (bit)Total (bit)
[22] 2 G + G 1 + H + T S + I D = 2016 G + H + T S = 544 2560
[24] 2 G + H + 2 T S + I D = 1024 2 G + H + T S = 928 1952
[25] 2 G + 2 H + T S = 1056 G + H + T S = 512 1568
[27] G + H + R + 2 T S + I D = 832 G + H + 2 T S + I D = 640 1472
[28] G + 2 H + T S = 672 G + 2 H + I D = 704 1376
[29] 3 G + 2 H + I D = 1472 3 G + H + I D = 1344 2816
Ours G + H + T S + I D = 608 G + H + T S = 544 1152
Table 5. Run-time of related operations.
Table 5. Run-time of related operations.
NotationOperationTime (ms)
T b p Bilinear pairing 32.713
T h Hash function 0.006
T p m 1 Point multiplication in G1 13.405
T p a 1 Point addition in G1 0.56
T e x p 2 Exponentiation in G2 2.249
T s Symmetric encryption 0.012
T p a ECC point addition 0.014
T p m ECC point multiplication 3.352
Table 6. Computation cost.
Table 6. Computation cost.
SchemeEnd Device (ms)Server (ms)Total (ms)
[22] 2 T p m 1 + T p a 1 + T e x p 2 + 4 T p m + T p a + 6 T h = 43.077 T p b + 4 T p m + T p a + 5 T h = 46.165 89.242
[24] 4 T p m + T p a + 7 T h = 13.464 4 T p m + T p a + 7 T h = 13.464 26.982
[25] 3 T p m + 4 T h = 10.08 3 T p m + 2 T p a + 5 T h = 13.466 23.546
[27] 3 T p m + 2 T s + 4 T h = 10.104 4 T p m + 3 T s + 4 T h = 13.468 23.572
[28] 4 T p m + 7 T h = 13.45 4 T p m 7 T h = 13.45 26.9
[29] 7 T p m + 2 T p a + 5 T h = 23.522 7 T p m + 2 T p a + 5 T h = 23.522 47.044
Ours 3 T p m + 3 T h = 10.074 3 T p m + 3 T h = 10.074 20.148
Table 7. Performance comparison.
Table 7. Performance comparison.
SchemeSF1SF2SF3SF4SF5SF6SF7SF8SF9SF10SF11SF12
[22]×××××
[24]××××
[25]××
[27]××
[28]×××
[29]××
Ours
SF1: IM attack resistance; SF2: MIM attack resistance; SF3: Mutual authentication without the help of TA; SF4: ESL attack resistance; SF5: KCI attack; SF6: IoT nodes capture attack resistance; SF7: Anonymity; SF8: Unknown key share attack resistance; SF9: Perfect forward secrecy; SF10: Formal security proof; SF11: Replay attack resistance; SF12: No key escrow issue; : Secure or supportive ×: Insecure or unsupported.
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Hu, S.; Jiang, S.; Miao, Q.; Yang, F.; Zhou, W.; Duan, P. Provably Secure ECC-Based Anonymous Authentication and Key Agreement for IoT. Appl. Sci. 2024, 14, 3187. https://doi.org/10.3390/app14083187

AMA Style

Hu S, Jiang S, Miao Q, Yang F, Zhou W, Duan P. Provably Secure ECC-Based Anonymous Authentication and Key Agreement for IoT. Applied Sciences. 2024; 14(8):3187. https://doi.org/10.3390/app14083187

Chicago/Turabian Style

Hu, Shunfang, Shaoping Jiang, Qing Miao, Fan Yang, Weihong Zhou, and Peng Duan. 2024. "Provably Secure ECC-Based Anonymous Authentication and Key Agreement for IoT" Applied Sciences 14, no. 8: 3187. https://doi.org/10.3390/app14083187

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