1. Introduction
The Internet of Things (IoT) has revolutionized the way devices, machines, and individuals connect and interact, enabling seamless interoperability regardless of time or location. IoT applications are typically categorized into time-driven and event-driven applications [
1]. In event-driven applications, sensors detect specific events, such as the movement or appearance of the target, within a predefined area. Upon detecting such events, the data are transmitted through specialized network architectures to ensure timely communication. In contrast, time-driven IoT applications, as illustrated in
Figure 1, involve sensors that periodically collect data, such as temperature, pressure, and humidity, and transmit them to central servers. This process, referred to as periodic data collection [
2], is particularly relevant for applications where real-time information is crucial. Given that the data collected by IoT sensors often involve sensitive information tied to personal privacy [
3], ensuring robust security is of paramount importance.
Authentication and key agreement (AKA) protocols are central to securing IoT systems, providing key features, such as anonymous authentication, privacy protection, confidentiality, integrity, and non-repudiation. These protocols rely on shared cryptographic keys to protect data. However, IoT systems often face unique security challenges. Many sensors are installed in unattended environments, making them vulnerable to physical attacks. Furthermore, the data they collect are transmitted over wireless channels that are susceptible to interception, modification, and deletion by malicious actors [
4,
5]. Given the limited computational resources of many IoT devices, there is a pressing need for lightweight AKA protocols that can provide strong security guarantees while minimizing the computational and communication overheads [
6].
Several IoT authentication schemes employ lightweight cryptographic techniques, such as symmetric encryption or hashing-based synchronization [
7]. However, these approaches can expose systems to various vulnerabilities, including desynchronization attacks [
8]. Public-key cryptography, particularly Elliptic Curve Cryptography (ECC), has been identified as a promising solution, offering strong security with smaller key sizes, thus reducing computational, storage, and bandwidth requirements. ECC has been incorporated into AKA protocols for IoT [
9], providing a balance between security and efficiency. Nevertheless, designing ECC-based AKA protocols for IoT with a minimal overhead remains a complex challenge.
As shown in
Table 1, several ECC-based authentication and key agreement (AKA) schemes have been proposed for IoT in recent years. To ensure anonymity, Tsai et al. [
10] used temporary dynamic public keys to encrypt and decrypt the identity information of the sensor. Although this method improves anonymity, it also leads to an increased computational overhead. Similar trade-offs are observed in other schemes [
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23]. Furthermore, some protocols [
23,
24,
25,
26,
27,
28,
29] do not provide sufficient anonymity and remain susceptible to identity leakage under specific conditions. Furthermore, certain schemes [
14,
18,
20,
22,
23] risk compromising availability while trying to maintain anonymity. For example, when a sensor sends an authentication request or response without including its identity information, or if the protocol is inadequately designed, the server may be required to search through stored data and recompute the temporary public key to identify the sensor. Moreover, an AKA protocol must be resistant to ephemeral secret leakage (ESL) attacks, as ephemeral keys may be precomputed and stored in insecure memory [
30]. However, schemes such as [
10,
11,
16,
17,
18,
21,
23,
24,
25,
27,
31,
32] do not effectively mitigate ESL attacks, leaving session keys vulnerable if ephemeral keys are compromised. Finally, perfect forward secrecy (PFS) ensures that even if an attacker gains access to a private key or long-term authentication information, past session keys remain secure and cannot be decrypted. However, existing schemes [
11,
13,
17,
24,
25,
26,
28,
33,
34] do not provide PFS. Additionally, many of these protocols are either prone to other attacks or are not lightweight enough for resource-constrained IoT environments. In conclusion, while various ECC-based AKA schemes enhance the anonymity and security in IoT, many come with significant trade-offs, including an increased computational overhead, vulnerability to ESL attacks, and a lack of PFS. These limitations make them unsuitable for IoT environments that require both robust security and efficiency in resource-constrained settings.
Inspired by fraud detection techniques [
35,
36] and the provision of perfect forward secrecy (PFS) [
37,
38] based on dynamic authenticated credentials (DACs), we propose a DAC synchronization framework for anonymous authentication. To ensure feasibility, we modified the DAC update strategy. To maintain synchronization between the server and the sensor, both update the DACs using the accepted session key. The server holds off on deleting the previous DAC until the next one is received from the sensor. This reduces the communication overhead to only two messages, matching the number of communications in the authentication and key negotiation process. If a sensor node uses the same DAC for repeated logins, it will be resynchronized by the server. To address potential inconsistencies in the DAC due to power interruptions or calculation errors, the server can resynchronize any unlogged sensors using a resynchronization procedure.
We then propose an ECC-based AKA scheme that utilizes DACs that reduce overhead and improves security. First, our approach uses DACs for anonymous authentication instead of temporary public keys or sender credentials. Moreover, the proposal provides PFS and resistance to ephemeral secret leakage (ESL) attacks since session keys are derived from both long-term and ephemeral credentials. Even if long-term or ephemeral keys from a single session are compromised, past and future session keys remain secure. Performance evaluations showed that our protocol reduced the communication costs by more than 5% and the computational overhead by more than 37%.
The contributions of this work are as follows:
- (1)
A literature survey that analyzes efficiency, anonymity, PFS, and vulnerabilities to ESL attacks in related schemes, identifying potential security concerns and weaknesses.
- (2)
A novel DAC synchronization framework integrated with a lightweight ECC-based anonymous AKA protocol. This framework reduced the computational overhead by more than 37% while improving security features and reducing communication overhead compared with existing schemes.
- (3)
Formal analysis and automatic verification of the proposal, which guaranteed mutual authentication, anonymity, PFS, and resistance to ESL attacks.
This paper is organized as follows:
Section 2 introduces the network model and complexity assumptions. In
Section 3, we present the proposed scheme. Following this, in
Section 4,
Section 5,
Section 6 and
Section 7, we offer the security analysis results and performance comparison. Finally, in
Section 8, we conclude this paper.
2. Preliminaries
2.1. Network Model
Based on the network models in recent schemes [
20,
21,
22], the network consists of sensor nodes, gateways, and servers. As illustrated in
Figure 1, sensor nodes and servers operate in periodic cycles determined by the frequency of data collection and monitoring requirements. Trusted Authorities (TAs) function as specialized entities responsible for key generation, distribution, management, and facilitating secure communication within the system. Both sensors and servers can register with various TAs, enabling them to join different systems. An IoT application may consist of one or more servers, depending on the architecture.
In our proposal, we assumed the involvement of (where ), (where ), and (where ), where . Here, m, n, and z denote the respective numbers of sensors, servers, and TAs.
The operational cycles of sensor nodes and servers are influenced by factors such as the data collection frequency, environmental monitoring needs, and security requirements. For example, the cycles of the sensor nodes are shaped by the data collection rate, battery life, and the necessity for periodic updates. In contrast, server cycles are determined by the network load and the need to handle authentication processes or update credentials.
2.2. Complexity Assumptions
Consider a non-singular elliptic curve E defined over a finite field , where p is a large prime. Let G be the additive group of points on E, with order q and base point P, where q is also a large prime number.
Definition 1. Elliptic Curve Discrete Logarithm (ECDL) Harness Assumption: Given , finding is computationally difficult. The probability that an algorithm can solve this problem in time t is negligible for sufficiently small ϵ: Definition 2. Computational Diffie–Hellman (CDH) Hardness Assumption: Given , computing is computationally hard. The probability that an algorithm can solve this problem in time t is negligible for sufficiently small ϵ: 2.3. Threat Model
The threat model is based on the eCK adversary model [
39] and the state-of-the-art schemes [
20,
21,
22]. The adversary
is assumed to possess the following capabilities:
T1. Channel control: can completely control the communication channels, allowing them to intercept, modify, block, or delete messages exchanged between the server and the sensor.
T2. Session key compromise: can capture session keys used in previous exchanges between the server and the sensor.
T3. Long-term secret exposure: can compromise either the sensors or the server, gaining access to their long-term secrets.
T4. Ephemeral secret exposure: has the ability to obtain ephemeral secrets from both the server and the sensor.
2.4. Evaluation Criteria
The evaluation criteria are based on current state-of-the-art schemes [
20,
21,
22]. The criteria include the following:
E1. Mutual authentication and key agreement: The scheme must ensure mutual authentication between the user and the sensor, as well as the successful establishment of a shared session key.
E2. Perfect forward secrecy (PFS): The shared session key must remain secure and unrecoverable, even if the adversary captures the long-term secrets of the server, TA, or sensor.
E3. Anonymity: The scheme should protect the identities of the entities, prevent activity correlation, and ensure untraceability.
E4. Resistance to classic attacks: The protocol must withstand various classic attacks, such as KCI attacks, ephemeral secret leakage, unknown key share, known key, impersonation, desynchronization, replay, and IoT node capture attacks.
3. The Proposed Scheme
This section briefly describes the proposal, which includes system initialization and preloading, server and sensor registration, authentication and key agreement, and resynchronization.
Table 2 shows some symbols.
3.1. System Initialization and Preloading
To select the system parameters, the TA follows these steps:
STA1: The TA chooses an elliptic curve with a base point P over , where q is a large prime number.
STA2: The TA selects two one-way hash functions: and .
- -
Function : This hash function is used to securely combine various pieces of information, such as session identifiers, public keys, and other relevant data, into a single value.
- -
Function : This hash function is specifically utilized for the generation and updating of DACs.
STA3: Finally, the TA preloads the tuple , along with its own identifier, to each sensor and server.
3.2. Registration
The registration process for each sensor node S and server SP with the TA is detailed in the following steps:
R1: First, S chooses a random number . Next, S computes and securely sends the registration request to the TA.
Similarly, for server , selects a random number . Then, calculates and securely transmits to the TA.
R2: The TA selects a random number for each valid S with ID . Then, the TA computes the public key of S using and the DAC of S using .
For server , the TA selects a random number for each valid and computes the public key . Then, the TA selects another random number for each valid .
R3: The TA stores and then transmits to S and to through secure channels.
R4: Upon receiving the reply message, S calculates the private key . Then, S checks whether . If valid, S computes and stores .
Similarly, computes the private key and computes . Then, initializes the pre-DAC and S-login tokens, and sets and . Finally, stores .
When a new or frozen sensor is registered, the TA securely transmits to the corresponding .
3.3. Authentication and Key Agreement
As shown in
Figure 2, this subsection describes the mutual authentication and key agreement processes between
S and
without the help of the
.
A1: First, sensor S selects a random nonce . Then, S computes and . Next, S determines its verifier . Finally, S sends the authentication request message to the server .
A2: In response, computes to verify the DAC received against . If , then and are set. Else, if , processes as follows:
If , terminates the session.
Otherwise, sets , sends a resynchronization message to S, and terminates the session.
If neither condition holds, the session is aborted.
Finally, confirms the integrity of the incoming message and the validity of S by checking whether . If invalid, the session is aborted.
A3: First, server selects a random nonce and computes . Then, computes , which is used to compute the session key as . Next, computes a new DAC for S: . After this, obtains its verifier . Finally, transmits the reply message to S.
A4: In response, S first computes and generates a new temporal credential . Next, S verifies the equivalence of . If the verification is satisfied, S determines the session key using and updates with .
Remark 1. When there are storage or computation errors, power-down interruptions, etc., these would cause the maintained by S to be inconsistent with either or on the server side, which then prevents S from logging into SP. SP will resynchronize the unlogged sensors before the end of the collaboration cycle, following the resynchronization procedures.
3.4. Re-Synchronization
SR1: First, server selects a random nonce and then computes , , and . Finally, transmits the resynchronization message to S.
SR2: In response, S computes , and then checks whether . If the verification is satisfied, S sets .
4. Formal Security Proof
This section discusses the security of the proposal within the eCK security model [
39].
4.1. Participants
The proposal involves two participants: a sensor S and a server SP. These participants may have multiple oracles, each participating in separate concurrent executions of the protocol. The oracles for S and are denoted by and , where , and any oracle is represented by . Each oracle has a session identifier , which represents the messages it sends and receives. There are three possible states for an oracle:
: The oracle reaches this state after receiving the expected message in the protocol.
: The oracle enters this state if an unexpected or incorrect message is received.
⊥: If the oracle does not respond to input, it transitions to this state.
4.2. Adversary
Based on threat models, the adversary controls the public channels and operates in a probabilistic polynomial-time (PPT) manner. has the ability to inspect, modify, verify, and insert information into communication between oracles. Furthermore, can gain knowledge of the secret credentials of the participants and can interact with the oracles and using the following queries:
- (1)
: can obtain the messages and using this query.
- (2)
: can send a message to oracle I and receive a reply from I according to the protocol.
- (3)
: This query allows to learn the ephemeral secrets of the oracle I.
- (4)
: can reveal the session key owned by oracle I using this query.
- (5)
: can obtain long-term confidential information held by the oracle I.
- (6)
: This query allows to obtain a random hash output for message m.
- (7)
: This query tests the semantic security of the session key or . If the session key has not been established, the query returns ⊥. Otherwise, a private coin d is flipped:
- -
If , the session key or is returned to .
- -
If , a random key of the same size is returned. The goal of is to distinguish between real session keys and random numbers.
- (8)
: This query removes the session key held by oracle I.
4.3. Session Definition
Fresh: A session held by oracle I is considered fresh if it and its partner session have not been revealed through queries Reveal, , or Corrupt before the session expires with query , even if the session has not yet formed.
Partners: Two oracles, and , are considered partners if the following conditions are met: (1) Both oracles reach the accept state. (2) Both oracles are fresh. (3) They authenticate each other and agree on a session key using the same session identifier Sid.
Semantic security: In the game
, the security of session keys
or
is simulated. The adversary
may issue a single
query, and a bit
is returned if the oracle
I has reached the accept state and is fresh. Although only one
query is allowed,
can still make multiple other queries to the oracle
I. Let
denote the probability that
succeeds in winning the game
. The advantage of
in breaching the proposal’s semantic security is defined as
Definition 3. Under the eCK adversary model, an AKA scheme is considered semantically secure if the advantage of the adversary , is bounded by a sufficiently small value ϵ, that is, .
4.4. Formal Security Analysis
Theorem 1. Assume that to breach the semantic security of the proposed scheme, the adversary can perform at most Execute( ) queries, queries, and queries within a time limit t. Given that the hash output length is l, the advantage of is bounded by the following: Proof. We define a series of six games for to aid in proving the theorem. When correctly guesses the bit d returned by the query, the event occurs for each game.
: In this game, we simulate an actual attack in the random oracle model (ROR). The advantage in this game is the difference between the probability that the adversary succeeds and
:
: Here,
can use the
query to obtain messages such as
and
. Next,
checks the authenticity of the session key
(or
) using
Reveal
and
queries. The messages exchanged during the authentication process do not provide enough information to infer the session key. Therefore, distinguishing between an actual attack and Game
is not possible:
Three lists are used to track the results of various queries:
- -
: The inputs and outputs of the queries .
- -
: The answers to the queries asked by .
- -
: The inputs and outputs of the Execute( ) queries.
: This game simulates that
might forge messages accepted by queries
and
. Semantic security can only be compromised if
detects collisions and sends a valid message. The probability of collisions in the
outputs is bounded by the birthday paradox
. Furthermore, the probability of collisions in random numbers is at most
. As a result, it is impossible to distinguish between
and
unless the mentioned collisions occur:
: In this game, we simulate the case where
is able to guess certain parameters and forge messages, such as
and
without using random oracles. If validation fails, the queries are terminated. The probabilities for
and
are each bounded by
. With these additional operations, Games
and
are indistinguishable:
: This game models the corruption capability of so that it cannot learn or unless it captures () or (). The adversary can attempt to retrieve and by issuing Execute() and queries. In the following cases, the adversary may retrieve information about the session keys:
- (1)
If corrupts both the oracles and , the attack succeeds with probability .
- (2)
If issues and , the probability of success is .
- (3)
If issues and , the probability is .
- (4)
If both and are issued, the success probability is .
In all these cases,
cannot determine the session keys unless it solves the ECDL or ECD problem within the time limit
t:
: Game
simulates
except that the
query is terminated if
issues an
query. The maximum probability for
to retrieve
is
. Hence,
is
. Hence,
Without the correct input for the
query,
cannot differentiate between the actual session key and a random one:
Finally, combining all the probabilities, we conclude that Theorem 1 holds true. □
5. Automatic Verification Using ProVerif
ProVerif [
40] is a widely recognized tool for verifying the security properties of cryptographic protocols, particularly in the context of secrecy, authentication, and resistance to attacks. It uses
calculus, a process algebra, and Prolog rules to assess the confidentiality of protocols. ProVerif supports a wide range of cryptographic primitives, including Diffie–Hellman key exchanges, hash functions, and symmetric and asymmetric cryptographic algorithms.
In this section, we formally validate the proposed scheme using ProVerif.
Table 3 presents the code for a sensor node during the registration and authentication phases. In this setup,
schst represents a private communication channel between the sensor
S and the TA during registration. The public channel
chsp facilitates communication between the sensor
S and the server
SP during authentication. Similarly, each
and
has their own corresponding processes. The proposed protocol runs in parallel as
.
As shown in
Table 4, the results show that
cannot decrypt the authentication process or obtain the long-term, ephemeral, and session keys. The proposal offers anonymity and consistency.
6. Descriptive Security Analysis
6.1. Perfect Forward Secrecy
For , where , if an adversary has obtained long-term secrets and , it cannot access the random numbers and for each session. This prevents from determining , ensuring perfect forward secrecy.
6.2. Impersonation Attacks Resistance
We first consider impersonation attacks targeting S. In this scenario, the adversary does not have access to long-term secrets , and . Without these secrets, cannot generate a valid authentication request message , where includes . As a result, cannot impersonate S. Similarly, the adversary cannot impersonate without the corresponding secrets.
6.3. IoT Node Capture Attacks Resistance
While may capture a sensor, it can only extract long-term credentials, such as . Since each sensor has unique credentials, the adversary can only compromise the session key between the captured sensor and . The session key security remains intact for any uncompromised sensor .
6.4. Key Compromise Impersonation Attack Resistance
Even if gains access to S’s credentials, it cannot impersonate or authenticate with S. This is because does not have access to the necessary random numbers and , which are crucial to the verification process. The credentials for S are based on , where and .
6.5. Desynchronization Attacks Resistance
The scheme uses DACs and random numbers to protect against replay attacks and preserve user anonymity. The server prevents the deletion of to ensure that both parties share the same DAC, even if the sensor does not receive the authentication response from the server. Since participants do not need to synchronize their clocks, the scheme is resilient to desynchronization attacks.
7. Performance Comparison
This section compares the computational and communication costs of the proposed scheme with those of related schemes [
19,
20,
21,
22,
29], as well as their security and functional attributes.
7.1. Computation Cost
Let , and represent the running times for point multiplication, point addition, hash operations, and symmetric key operations, respectively. The server used for the evaluation is a laptop with an Intel Core i5 2 GHz processor, 16 GB RAM, and macOS 13.4.1. For an elliptic curve with , specifically , and a point length of 384 bits, the average running times on this server were 1.258 ms for point multiplication, 0.006 ms for point addition, 0.005 ms for hash operations, and 0.007 ms for symmetric key operations. The sensor node used for testing was a Raspberry Pi 3 Model B+ board that featured an ARMCortex-A53 1.4 GHz processor and 1 GB RAM. Under the same testing conditions, the corresponding running times on the sensor node were 2.225 ms for point multiplication, 0.025 ms for point addition, 0.019 ms for hash operations, and 0.035 ms for symmetric key operations.
As shown in
Table 5, the proposed scheme consistently outperformed the related schemes in terms of computational efficiency, with reductions that ranged from approximately 37.98% to 50%.
7.2. Communication Cost
Assuming that , and G represent an identity, timestamp, random number, hash output, and length of an ECC point, respectively, their corresponding lengths are 128 bits, 32 bits, 256 bits, 256 bits, and 384 bits.
As shown in
Table 6, the proposed scheme consistently achieved a notable reduction in communication cost in all comparisons, with reductions that ranged from
to
when compared with related schemes.
7.3. Performance Comparison
We based our evaluation criteria on the schemes in [
19,
20,
21,
22,
29]. These criteria are divided into two main categories: ideal attributes and security requirements. The ideal attributes were evaluated from a functional perspective, where we examined whether the scheme possessed the desired features. In contrast, security requirements were evaluated from an attack perspective, which focused on whether the adversary
could successfully break the scheme.
As shown in
Table 7, the proposed protocol addressed the security vulnerabilities found in recent schemes, such as the lack of anonymity [
29]; the absence of PFS [
20]; the poor availability [
19,
22]; and susceptibility to attacks, such as man-in-the-middle [
19,
20], ESL [
21], desynchronization [
21], and DoS [
22]. In conclusion, the proposed protocol provided the highest level of security and effectively met the functional and security requirements of IoT environments.
The performance analysis led to the following conclusions: In terms of efficiency, the proposed protocol demonstrated lower computation and communication overheads compared with recent schemes. It consistently outperformed related protocols in computational efficiency, where it achieved reductions that ranged from approximately 37.98% to 50%. In addition, the proposed scheme also achieved significant reductions in communication costs, with improvements that ranged from 5.56% to 38.18% compared with other schemes. Regarding security, our protocol offered comprehensive security properties and effectively mitigated known attacks. It satisfied the security requirements of IoT applications, which ensured robust protection against a wide range of threats.