Next Article in Journal
CCFormer: Cross-Modal Cross-Attention Transformer for Classification of Hyperspectral and LiDAR Data
Previous Article in Journal
Radar-Based Road Surface Classification Using Range-Fast Fourier Transform Learning Models
Previous Article in Special Issue
The Shared Experience Actor–Critic (SEAC) Approach for Allocating Radio Resources and Mitigating Resource Collisions in 5G-NR-V2X Mode 2 Under Aperiodic Traffic Conditions
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

BcDKM: Blockchain-Based Dynamic Key Management Scheme for Crowd Sensing in Vehicular Sensor Networks

1
Shanghai Key Laboratory of Trustworthy Computing, Software Engineering Institute, East China Normal University, Shanghai 200062, China
2
Engineering Research Center of Software/Hardware Co-Design Technology and Application, Ministry of Education, East China Normal University, Shanghai 200062, China
3
College of Cyber Security, Jinan University, Guangzhou 510632, China
*
Author to whom correspondence should be addressed.
Sensors 2025, 25(18), 5699; https://doi.org/10.3390/s25185699
Submission received: 5 August 2025 / Revised: 5 September 2025 / Accepted: 9 September 2025 / Published: 12 September 2025
(This article belongs to the Special Issue Advanced Vehicular Ad Hoc Networks: 2nd Edition)

Abstract

Vehicular sensor networks (VSNs) consist of vehicles equipped with various sensing devices, such as LiDAR. In a VSN, vehicles and/or roadside units (RSUs) can be organized into a vehicular cloud (VC) to enable the sharing of sensing and computational resources among participants, thereby supporting crowd-sensing applications. However, the highly dynamic nature of vehicular mobility poses significant challenges in terms of establishing secure and scalable group communication within the VC. To address these challenges, we first introduce a lightweight extension of the continuous group key agreement (CGKA) scheme by incorporating an administrator mechanism. The resulting scheme, referred to as CGKAwAM, supports the designation of multiple administrators within a single group for flexible member management. Building upon CGKAwAM, we propose a blockchain-based dynamic key management scheme, termed BcDKM. This scheme supports asynchronous join and leave operations while achieving communication round optimality. Furthermore, RSUs are leveraged as blockchain nodes to enable decentralized VC discovery and management, ensuring scalability without relying on a centralized server. We formally analyze the security of both CGKAwAM and BcDKM. The results demonstrate that the proposed scheme satisfies several critical security properties, including known-key security, forward secrecy, post-compromise security, and vehicle privacy. Experimental evaluations further confirm that BcDKM is practical and achieves a well-balanced tradeoff between security and performance.

1. Introduction

Vehicular sensor networks (VSNs) can leverage vehicles equipped with advanced onboard (sensing) devices (e.g., LiDAR, around view monitors and AI chips) to collect high-precision environmental and traffic data, thereby enabling large-scale urban crowd sensing applications (e.g., real-time traffic analysis and road anomaly detection) [1]. However, many vehicles remain stationary for extended periods (e.g., charging or parking), leaving these sensing and computing resources underutilized.
To address this issue, researchers have proposed the concept of vehicular cloud (VC) [2], deployed in the VSN environment. A VC enables a group of nearby authenticated vehicles or roadside units (RSUs) to dynamically form a cooperative sensing system, maximizing the utilization of idle sensing resources from stationary vehicles [3]. Within a VC, vehicles can act as cloud administrators or cloud members. Once the VC is established, cloud users (i.e., entities authorized to access the VC) can submit sensing tasks to the cloud administrator via end-to-end secure channels established through key agreement [4]. Upon receiving the tasks, the cloud administrator distributes them to cloud members for collaborative execution.

1.1. Related Work

In the early stages of VC research, the focus was primarily on the design of VC architectures and their potential applications, such as cooperative sensing and resource sharing. However, relatively limited attention was given to the secure establishment of VCs. In the following, we review the evolution of VC architectures and discuss efforts aimed at ensuring the secure establishment of VCs.
VC Architecture. The concept of a VC was first introduced in [5], where a temporary cloud was formed by neighboring vehicles and/or roadside units (RSUs) through V2V and V2I communications. Early VC architectures supported simple tasks like intelligent traffic light control [6]. However, they lacked effective VC management mechanisms, making it difficult to discover suitable VCs and integrate resources across multiple VCs. As a result, vehicles struggled to dynamically discover and join appropriate VCs, and the system suffered from inefficient resource utilization and limited sensing coverage.
To support large-scale applications such as city-wide traffic flow monitoring, researchers proposed an architecture using a Center Cloud Manager (CCM) [2,7]. The CCM handles VC registration, enables VC discovery, etc. [6]. While effective for coordination, the CCM introduces a single point of failure—its unavailability prevents vehicles from accessing or updating VC information. To mitigate risks associated with a centralized CCM, edge computing concepts have been introduced in recent studies, where certain CCM functions are delegated to edge servers (e.g., RSUs) [8]. However, this architecture introduces new challenges. The lack of effective information-sharing mechanisms among different edge servers prevents vehicles from promptly obtaining the task statuses and resource availability of neighboring VCs, thereby hindering their optimal selection and participation in suitable VCs [9].
Given the challenges faced by existing VC architectures, blockchain technology offers promising features, including decentralization, transparency, and tamper resistance. Despite its potential, the integration of blockchain technology into VC management remains in its infancy, with limited research exploring how blockchains can enhance VC discovery, coordination, and resource sharing in a decentralized manner.
Secure Establishment of VCs. Over time, as the demand for security in VC environments has grown, various GKM schemes for the secure establishment of VCs have proposed—some tailored specifically for VCs and others originally designed for general group communication but potentially applicable in VC environments [10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]. These schemes can be broadly categorized into two types: group key agreement (GKA)-based and group key distribution (GKD)-based schemes. GKA-based schemes are further divided into Traditional GKA (TGKA), Asymmetric GKA (AGKA), and Continuous GKA (CGKA) schemes.
GKA-based GKM schemes enable a group of entities (e.g., vehicles) to collaboratively establish a shared session key for secure communication. However, traditional GKA (TGKA) schemes, typically based on the Diffie–Hellman key exchange [10], require multiple rounds of interaction and assume that all members are simultaneously online and synchronized [11,12,13]. Furthermore, these schemes generally lack a formalized framework for continuous key updates within the protocol design, security model, and analysis. Their security assumptions are also relatively weak, often presuming fully trusted members without accounting for potential compromises of device states or intermediate computations. As a result, the applicability of TGKA schemes is significantly limited in asynchronous and dynamic environments such as VCs. To reduce interaction overhead, Non-Interactive GKA (NIGKA) schemes have been proposed, allowing users to compute a shared key without additional communication. However, existing constructions either only support small groups (e.g., the three-party scheme proposed by Joux [14]) or rely on expensive cryptographic primitives such as indistinguishability obfuscation (iO) [15], while often lacking essential properties like forward secrecy.
AGKA-based schemes enable a group of entities to negotiate a group public key and their respective private keys in a single round [16]. Several AGKA schemes have recently been proposed for VC environments [17,18,19,20]. While promising, these approaches face certain limitations. For instance, AGKA typically requires the maximum group size to be fixed during initialization, which can lead to unnecessary computational and storage overhead if the actual group size is smaller, limiting scalability in large groups. Furthermore, since VC communication occurs over public networks, open access to the group encryption key may expose the system to malicious requests or denial-of-service attempts. Finally, current AGKA schemes are often tightly coupled with bilinear pairing-based constructions, which may incur reactively high computational costs.
Recently, CGKA has been proposed to provide efficient key management for asynchronous, dynamic, and large-scale groups [21]. CGKA is also a potential candidate for secure communication in VC environments [22]. By leveraging a binary tree structure, CGKA achieves logarithmic communication and computational complexity, i.e., log ( N ) where N denotes the group size, for group membership changes such as members joining or leaving. However, CGKA lacks robust group management mechanisms, making it susceptible to insider attacks, and it depends on centralized servers for message delivery, which may limit its applicability in decentralized settings [23].
GKM schemes based on GKD typically rely on a trusted dealer (TD) to generate and distribute a shared group session key to all participating entities [24]. Although this approach avoids multiple rounds of interaction among entities, the reliance on a centralized TD introduces inherent limitations. First, the TD may become a single point of failure [25,26]. Second, due to the high mobility of vehicular clouds (VCs)—especially when the group is composed entirely of vehicles—it can be difficult to maintain a suitable and consistently available TD.
Technological Readiness of Vehicular Sensors. Modern vehicles have become highly integrated sensor platforms, providing rich data sources for VSNs. Commercially available sensors, such as LiDAR [29], 4D mmWave radar [30], and high-precision GPS sensors, can capture millisecond-level 3D information of the surrounding environment [1]. On the computational side, vehicles are equipped with high-performance onboard systems, such as the NVIDIA Orin [31], capable of efficiently processing large volumes of sensor data in real time. In terms of communication, many vehicles feature high-speed modules (e.g., 5.9 GHz C-V2X [32]), enabling low-latency and reliable data exchange. These commercial sensors and computing and communication modules allow for real-time sharing of traffic, road, and infrastructure information, supporting applications such as traffic flow optimization, signal control, and congestion warnings to improve road efficiency and safety. The security of these valuable data is increasingly important. The algorithms of the schemes proposed in this work (see Section 3 and Section 4) are fully compatible with existing commercial vehicle computing modules. At the same time, emerging devices, such as blockchain-enabled units, are beginning to appear in experimental and pilot deployments. Therefore, this work is forward-looking while remaining compatible with current VSN technologies.

1.2. Our Contribution

Due to the high level of mobility and dynamic nature of vehicular sensor networks (VSNs), traditional group key management (GKM) schemes are inadequate for establishing secure group channels for vehicular clouds (VCs) in such settings. To address this challenge, we propose a blockchain-based dynamic key management scheme, referred to as BcDKM. This scheme is built upon a slightly modified continuous group key agreement (CGKA) scheme—namely, CGKAwAM—and incorporates blockchain and smart contract mechanisms to address the core challenges identified in Section 1. The proposed scheme enables vehicles to establish secure group communication channels in VSNs and continuously update session keys to ensure communication security. The main contributions of this work are summarized as follows:
  • We propose the CGKAwAM scheme, which extends CGKA scheme with a lightweight administrator-driven group member management mechanism. Unlike the standard CGKA scheme, CGKAwAM supports multiple administrators within a single VC. Each administrator is capable of independently processing user-initiated proposals (such as Join, Remove, and Update) in a single communication round.
  • Based on CGKAwAM and blockchain technology, we design the BcDKM scheme, which provides several key advantages. First, it enables distributed VC discovery and management (see Section 2.2). RSUs act as blockchain nodes and use smart contracts to publish VC information, facilitating efficient matching and information sharing between vehicles and VCs. Additionally, multiple cloud administrators collaboratively manage each VC in a decentralized manner, reducing the risk of a single point of failure. Second, the scheme achieves round optimality and large-scale VC scalability (see Section 2.2). VC initialization and member join/leave operations can be completed asynchronously in a single communication round, without requiring all members to be online. Furthermore, the computational complexity grows logarithmically with the number of members, making the scheme suitable for large-scale deployment.
  • We provide a rigorous formal security analysis for both the CGKAwAM and BcDKM schemes. Specifically, under a non-adaptive security model, we construct a game-based proof using the game-hopping technique, reducing the security of CGKAwAM to the CPA security of the underlying public key encryption scheme and the security of the pseudorandom generator. Our analysis shows that the proposed scheme satisfies multiple critical security properties, including key independence, forward secrecy, and post-compromise security. In addition, we analyze the security of the BcDKM scheme and show that it not only satisfies basic security requirements but also provides protection for vehicle privacy.
  • We conduct a comprehensive evaluation of the proposed scheme through both theoretical analysis and simulation experiments. We also compare our scheme with several existing representative solutions. The results demonstrate that BcDKM achieves a balance between security and efficiency, confirming its practical feasibility.
The remainder of this paper is organized as follows. Section 2 presents the background, including the system model, design goals, and cryptographic tools. Section 3 describes the detailed design of the proposed CGKAwAM scheme and the associated smart contracts. Section 4 introduces the design of the BcDKM scheme. Section 5 provides a security analysis of the proposed schemes—namely, CGKAwAM and BcDKM. Section 6 evaluates the performance of the proposed schemes and presents the analysis results. Finally, Section 7 concludes the paper.

2. Background

2.1. System Model

As shown in Figure 1, our system consists of the following entities:
  • Certificate Authority (CA): The CA is a trusted third party responsible for generating public system parameters and issuing digital certificates to vehicles and RSUs.
  • Vehicles: Each vehicle is equipped with an onboard unit (OBU) that provides computing and communication capabilities and stores certificates and related secrets. A VC is formed by a group of vehicles and supports dynamic membership, allowing vehicles to join or leave the VC as needed. The vehicle that initiates the VC formation may act as the cloud administrator or delegate this responsibility to another vehicle, while the remaining participants serve as cloud members.
  • Roadside Unit (RSU): The RSU is located along the roadside; it communicates with vehicles within its coverage area, authenticates their identities, and publishes the VC information. Additionally, RSUs are assumed to function as part of the blockchain infrastructure, acting as blockchain nodes.
  • Blockchain (BC): The BC provides reliable data storage and supports automated execution via smart contracts. In our system, it is used to record VC-related information and assist VC administrators in managing the cloud.
  • Cloud Users (CUs): A CU refers to any authorized entity that accesses and utilizes the services provided by a VC. CUs can submit tasks to their selected VC for execution.

2.2. Threat Model and Design Goals

In our system, we assume that the CA is trusted and faithfully provides registration services to vehicles and RSUs. The blockchain is also assumed to be trusted, offering essential security properties such as resistance to 51% attacks [27]. However, both RSUs and vehicles are considered potentially malicious, as they are typically deployed in open environments and may be compromised by attackers. Additionally, we assume that the attacker has control over the wireless communication channel and is capable of eavesdropping on, injecting, transmitting, or modifying messages transmitted over the network.
Under this model, the security goals of our scheme are outlined as follows:
  • Vehicle privacy: This property ensures that no one, except the CA, can learn the true identity of a cloud member (a vehicle) within a VC.
  • Known-key security: This property ensures that even if an attacker obtains a session key of a cloud member within a particular VC, the security of other independent session keys remains uncompromised.
  • Forward secrecy: This property ensures that if a vehicle is compromised by an attacker at a certain point in time, all session keys generated prior to the compromise remain confidential.
  • Post-compromise security: This property ensures that if a vehicle is compromised at a certain point in time and the compromised vehicle subsequently performs a session key update that is not influenced by the attacker, then the updated session key remains confidential.
Our scheme also considers the following goals, in addition to the above security goals:
  • Distributed VC discovery: This property enables a vehicle to efficiently discover existing VCs and their metadata via nearby RSUs, avoiding reliance on centralized platforms and mitigating single points of failure.
  • Distributed management: This property ensures that each VC is managed by multiple cloud administrators. If one administrator becomes unavailable, others can still handle requests from vehicles inside or outside the VC (e.g., join and leave). This design mitigates insider threats and avoids single points of failure.
  • Round optimality: This property ensures that group session key establishment and updates within a VC can be completed in a single round of communication, achieving optimal round complexity.
  • Large-scale VC scalability: This property ensures efficient operation in VCs with many cloud members, as key management complexity grows logarithmically with group size.
Remark 1.
It is worth noting that most existing VC-oriented GKM schemes define forward and backward security only against passive adversaries (i.e., eavesdropping capabilities) [12,26]. Forward Secrecy (not to be confused with our Forward secrecy) ensures that a passive adversary who knows a contiguous subset of old group keys cannot derive subsequent group keys, thereby preventing vehicles from accessing current communications after leaving the group. Backward Secrecy (not to be confused with our Post-compromise security) ensures that a passive adversary who knows a contiguous subset of group keys cannot derive preceding group keys, preventing newly joined vehicles from accessing past communications. In contrast, the forward security and post-compromise security offered by our scheme are stronger, as they not only resist passive eavesdropping but also withstand active adversaries (e.g., compromised vehicles) rather than being limited to passive threats.

2.3. Building Blocks

In this section, we introduce several fundamental cryptographic tools that are employed in our system to achieve the desired goals. These building blocks include public key encryption (PKE), digital signature (DS), symmetric encryption (SE), pseudorandom generators (PRNGs), and PRG-based binary trees.
Definition 1
(PKE Scheme). A PKE scheme ( PKE = { PInit , PGen , PEnc , PDec } ) consists of the following algorithms:
  • PInit ( 1 κ ) p s p : This algorithm accepts 1 κ and outputs the system parameters ( p s p ).
  • PGen ( p s p ) ( s k , p k ) : This algorithm accepts p s p and generates a private–public key pair ( s k , p k ) .
  • PEnc ( p k , m ) c m : This algorithm accepts a plaintext (m) and a public key ( p k ) and outputs a ciphertext ( c m ).
  • PDec ( c m , s k ) m : This algorithm accepts a ciphertext ( c m ) and a secret key ( s k ) and outputs a plaintext (m).
In our scheme, we rely on a PKE scheme that is secure against chosen plaintext attacks (CPAs), a widely accepted security notion in modern cryptography. Let Adv A CPA denote the adversary’s advantage in breaking the PKE scheme; the corresponding formal security definition is given in Appendix A.
Definition 2
(DS Scheme). A digital signature scheme ( DS = { DInit , DGen , DSign , DVer } ) consists of the following algorithms:
  • DGen ( 1 κ ) ( s k , p k ) : This algorithm takes 1 κ as input and outputs a private–public key pair ( s k , p k ) .
  • DSign ( s k , m ) σ : This algorithm takes s k and a message (m) as input and outputs a signature (σ).
  • DVer ( p k , m , σ ) { 0 , 1 } : This algorithm takes p k , a message (m), and a signature (σ) as input and outputs 1 if the signature is valid or 0 otherwise.
In our scheme, we rely on a digital signature scheme that is existentially unforgeable under chosen message attacks (EUF-CMA).
Definition 3
(SE Scheme). A symmetric encryption scheme ( SE = { SGen , SEnc , SDec } ) consists of the following algorithms:
  • SGen ( 1 κ ) k : This algorithm takes 1 κ as input and outputs a secret key (k).
  • SEnc ( k , m ) c : This algorithm takes a secret key (k) and a message (m) as input and outputs a ciphertext (c).
  • SDec ( k , c ) m : This algorithm takes k and a ciphertext (c) as input and outputs a message (m).
In our scheme, we rely on a symmetric encryption scheme that is semantically secure.
Definition 4
(RPG). A PRG is a function, i.e., H prg : R K × R , where R denotes the random seed space and K denotes the secret key space.
Let Adv A PRG denote the adversary’s advantage in breaking the PRG; the corresponding formal security definition is given in Appendix A.
We define a helper function ( H prg d ( x ) ) by iteratively invoking the PRG ( H prg ) for d rounds, starting from an initial seed ( x R ). Formally, let x 1 = x . For each i { 1 , , d } , we compute ( s k i , x i + 1 ) H prg ( x i ) . The output of the helper function is defined as H prg d ( x ) = s k d , i.e., only the secret key ( s k d ) obtained in the d-th iteration is returned as the final result.
Definition 5
(PRG-based Binary Tree). A PRG-based binary tree (PBT) is a full binary tree used for key derivation. A PBT consists of Y nodes, denoted as { A j } j = 1 Y , and has a height of h = log 2 ( Y ) + 1 . Specifically, let A 1 be the root node. The leaf nodes are represented as { A 2 h 1 + z } 0 z 2 h 1 1 , while the remaining internal (non-leaf) nodes are represented as { A z + 1 } 1 z < 2 h 1 1 . Each node ( A j { A j } j = 1 Y ) stores a unique tuple in the form of ( s k , p k , h e , e , s v ) , where s v denotes a secret value and s k is a secret key derived from s v using a PRG. The public key ( p k ) is derived from s k using a public key derivation algorithm ( p k s k DerivePK ( s k ) ). In our scheme, p k is derived from s k using the same method as in the PGen ( p s p ) of a PKE scheme, making the resulting key pairs fully compatible with the corresponding PKE scheme. The value of h e indicates the height of the node in the tree (e.g., each leaf node is assigned h e = 1 , while the root node is assigned h e = h ), and e indicates whether a node is a leaf (with e = 1 denoting leaf nodes and e = 0 denoting non-leaf nodes). The values in each tuple are initialized using the algorithm expressed as PBT Init ( { a i } i = 1 n ) { A j } j = 1 Y (defined below) and updated using the algorithm expressed as PBT Upd ( { A j } j = 1 Y , I , r a ) { A j } j = 1 Y (as defined below). The size of a PBT can also be expanded to include additional nodes using the algorithm expressed as PBT Ext ( { A j } j = 1 Y ) { A k } k = 1 2 Y + 1 . A formal description of the PBT Ext algorithm is provided in Appendix B (see Algorithm A2).
The algorithm expressed as PBT Init ( { a i } i = 1 n ) { A j } j = 1 Y is used to initialize a PBT. In our scheme, it is executed by a cloud administrator and is used to initialize a VC (see Section 4.5 for VC initialization). Given a set of secret values ( { a i } i = 1 n , as chosen by a cloud administrator), the algorithm outputs a PBT { A j } j = 1 Y with a height of h = log 2 ( n ) + 1 and Y = 2 log 2 ( n ) + 1 1 . A formal description of the PBT Init algorithm is provided in algorithm is provided in Appendix B (see Algorithm A1).
In our scheme, the algorithm expressed as PBT Upd ( { A j } j = 1 Y , I , r a ) { A j } j = 1 Y is executed by a cloud administrator or a cloud member to update the nodes along the path from the leaf node at position I (where I denotes the index of a node in the leaf layer) to the root of the PBT ( { A j } j = 1 Y ) using a random value ( r a ). Given a PBT ( { A j } j = 1 Y ), a leaf position (I), and a random value ( r a ) selected by the cloud administrator or a cloud member, the algorithm outputs an updated PBT ( { A j } j = 1 Y ). A formal description of the PBT Upd algorithmis provided in Appendix B (see Algorithm A3).
In our scheme, the PBT is utilized to support the continuous and dynamic updating of session keys in a VC. To achieve these goals, we define several helper algorithms to retrieve paths and associated nodes from the PBT.
  • The algorithm expressed as PBT Path ( { A j } j = 1 Y , I ) { A i } i = 1 Z , where Z = log 2 ( Y ) + 1 , is used to retrieve the sequence of nodes along the path from the I-th leaf node to the root of the given PBT { A j } j = 1 Y . It is typically executed by the cloud administrator or a cloud member. Given a PBT ( { A j } j = 1 Y ) and position (I) selected by the cloud administrator or a cloud member, the algorithm returns a path ( { A i } i = 1 Z ) that consists of direct references to the original PBT nodes so that any modification of a node in the path immediately affects the original PBT nodes.
  • The algorithm expressed as PBT Epath ( { A j } j = 1 Y , { A i } i = 1 Z ) { A j } j = 1 Y , where Z = log 2 ( Y ) + 1 , is used to generate a modified copy of a given PBT ( { A j } j = 1 Y ), with all sensitive information (i.e., private key and secret value) outside the specified path ( { A i } i = 1 Z ) masked. It is typically executed by the cloud administrator. Given a PBT ( { A j } j = 1 Y ) and a path ( { A i } i = 1 Z ) within the PBT selected by the cloud administrator, the algorithm returns a duplicate PBT ( { A j } j = 1 Y ), in which the private keys and secret values of all nodes not included in the path ( { A i } i = 1 Z ) are set to null.
  • The algorithm expressed as PBT RCA ( { A j } j = 1 Y , A k , A k ) { A k , , A 1 } is used to obtain the set of common ancestor nodes shared by A k and A k in the tree expressed as { A i } i = 1 Y , ranging from their lowest common ancestor ( A k ) up to the root node ( A 1 ).

3. Building Blocks

In this section, we first design a continuous group key agreement scheme with an administrative mechanism (CGKAwAM), which supports multiple administrators and provides a continuous key stream for dynamic groups. We next introduce two designed smart contracts: VIDSC and VCSC. Based on CGKAwAM and the proposed contracts, we then construct a blockchain-based dynamic key management scheme tailored for vehicle cloud (VC) systems (see Section 4).

3.1. CGKA with Administrator Mechanism (CGKAwAM)

A CGKAwAM ( S e t U p , K e y G e n , C r e a t e , P r o p o s a l , C o m m i t , P r o c e s s ) comprises the following algorithms:
  • SetUp ( κ ) c s p : This algorithm is executed by a trusted authority (e.g., certification authority) to generate system parameters. Upon input of a security parameter ( κ ), it outputs a common system parameter ( c s p ). The trusted authority proceeds as follows:
    1.
    Select a public key encryption scheme ( PKE = { PInit , PGen , PEnc , PDec } ) . Invoke PInit ( 1 κ ) to obtain p s p (see Definition 1).
    2.
    Choose a secure PRG ( H prg : R K × R ; see Definition A2).
    3.
    Publish the common system parameter ( c s p = ( PKE , H P R G , p s p )).
  • KeyGen ( c s p , u i ) K P u i : This algorithm is executed by a user with identifier u i to generate their own key pair. Upon input of c s p and u i , it outputs a public–private key pair ( K P u i = ( s k u i , p k u i ) ). Internally, it invokes PGen ( p s p ) to generate the key pair ( K P u i ).
  • Create ( c s p , G , u 1 ) ( γ u 1 g i d , CM): This algorithm is executed by user u 1 , acting as the group administrator, to initiate a new group. Upon input of c s p , an identifier set ( G = { u 1 , , u n } with n > 1 ), and an identifier ( u 1 G ), it outputs the administrator’s local state ( γ u 1 g i d , where g i d is the newly assigned group identifier), and a set of control messages ( CM ) is used to invite the remaining members in G to join the group. The state encapsulates the user’s status in the group, including the session key, the list of group administrators, the list of group members, public parameters, and so on. Furthermore, suppose that each user u i G holds a key pair ( s k u i , p k u i ) . u 1 initializes a group as follows:
    1.
    Set the group identifier ( g i d = H P R G ( S t r G ) , where S t r G = u 1 | | | | u n | | t s   t s is a timestamp).
    2.
    Select s users from G to serve as administrators, forming the set expressed as Adm . The remaining users form the set expressed as Mem = G Adm .
    3.
    Assign each user ( u i G ) a unique random number ( a i R ). This yields the set expressed as { a 1 , , a n } .
    4.
    Invoke PBT Init ( { a i } i = 1 n ) to construct a PBT { A j } j = 1 Y , where Y = 2 h 1 and h = log 2 ( n ) + 1 .
    5.
    Compute the session key as r s k = H prg ( A 1 ¯ ) , where A 1 ¯ = s k p k h e s v is the serialized string of the tuple stored at the root node A 1 ; see Definition 5.
    6.
    Initialize a mapping array ( Map [ ] ) of length len = 2 h 1 to associate each PBT leaf node with a user from G. Set Map [ i ] u i for 1 i n and Map [ i ] null for n < i l e n .
    7.
    For each user with identifier u z in G { V 1 } , generate a control message as follows:
    If u z Adm , do the following:
    (a)
    Invoke PEnc ( p k u z , { A j } j = 1 Y     i p     n     Map     l e n ) to obtain the ciphertext ( c m z ), where i p denotes the position assigned to user u z in the PBT (i.e., the i p -th leaf node such that Map [ i p ] = u z ).
    (b)
    Add the control message ( c m z = ( Join     c p z     u 1     sc v i d     Adm     Mem ) ) to set CM .
    Otherwise, do the following:
    (a)
    Invoke PBT Path ( { A j } j = 1 Y , i p ) to obtain a path ( { A j } j = 1 L , where L = log 2 ( Y ) + 1 , Map [ i p ] = u z ) .
    (b)
    Invoke PBT Epath ( { A j } j = 1 Y , { A j } j = 1 L ) to obtain a PBT ( { A j } j = 1 Y ).
    (c)
    Invoke PEnc ( p k u z , { A j } j = 1 Y     i p     n     Map     l e n ) to obtain c m z .
    (d)
    Add the control message ( c m z = ( Join     c p z     u 1     Adm     Mem ) ) to set CM .
    8.
    Set the state as γ u 1 g i d = ( Role , Adm , Mem , Map , len , n , { A j } j = 1 Y , r s k , index ) , where Role = adm indicates that u 1 is designated as the administrator and index = 1 indicates that u 1 is mapped to the first leaf node of the PBT, i.e., Map [ index ] = u 1 .
    9.
    Send each control message in set CM to the corresponding user.
  • Proposal ( c s p , g i d , u i , u a , p r o p , t x t ) P M : This algorithm is executed by user u i to generate a proposal message ( P M ) intended for the group administrator ( u a ) within the g i d group, with the purpose of requesting a group membership change (e.g., join or leave) or a session key update. Upon input of c s p , g i d , u i , u a and a proposal type ( p r o p { ADD , REM , UPD } ), it outputs the proposal message ( P M ). The p r o p parameter specifies the purpose of the proposal: adding a member, removing a member, or updating the session key. The txt field represents the payload associated with the proposal. We present three example proposal messages used in our scheme as follows.
    P M = ( gid     ADD     u a     u i     txt ) : A join request from an external user ( u i ), asking administrator u a to add it to group gid , where t x t = NULL .
    P M = ( gid     REM     u a     u i     txt ) : A removal request by current group member u i , requesting to leave or be removed from the g i d group, where txt = NULL .
    P M = ( gid     UPD     u a     u i     txt ) : A key update request by current group member u i , asking u a to update the group session key, with txt = PEnc ( p k u a , s d ) , where p k u a is the public key of u a and s d is randomly selected by u i .
    User u i sends the proposal message ( P M ) to the administrator ( u a ).
  • Commit ( c s p , γ u a g i d , P M ) ( γ u a g i d , CM ) : This algorithm is executed by user u a , who serves as the administrator of the g i d group. It is used to process a proposal message ( P M ) submitted by another user. Upon input of c s p , γ u a g i d , P M , it outputs the updated state ( γ u a g i d ) and a set of control messages ( CM ), which are used by the other group members to update their local states. Suppose u a in a group ( g i d ) has a local state of γ u a g i d = ( Role , Adm , Mem , Map , l e n , n , { A j } j = 1 Y , r s k , i n d e x ). Suppose P M = ( g i d     p r o p     u a     u i     t x t ) . u a then processes the P M as follows:
    If p r o p = ADD , do the following:
    1.
    Search the Map array for an index ( i p ) such that Map [ i p ] = . If no such index exists (i.e., all current leaf nodes are occupied), invoke the helper function ( PBT Ext ( { A j } j = 1 Y ) ) to extend the PBT, and search again for an empty index ( i p ). Once an empty index is found, set Map [ i p ] = u i , n = n + 1 , and add u i to the the Mem set.
    2.
    Select a random value ( a r ) for user u i .
    3.
    Generate the corresponding control messages for user u i as follows:
    (a)
    Invoke PBT Upd ( { A j } j = 1 Y , i p , a r ) to update the path in the PBT ( { A j } j = 1 Y ).
    (b)
    Invoke PBT Path ( { A j } j = 1 Y , i p ) to obtain the updated path ( { A j } j = 1 L = log 2 ( n ) + 1 ).
    (c)
    Invoke PBT Epath ( { A j } j = 1 Y , { A j } j = 1 L ) to obtain { A j } j = 1 Y .
    (d)
    Invoke PEnc ( p k u i , { A j } j = 1 Y     i p     n     Map     l e n ) to obtain c p i .
    (e)
    Add the message expressed as c m i = ( Join     c p i     u a     u i     Adm     Mem ) to set CM .
    4.
    Generate the corresponding control messages for administrators ( u z Adm { u a } ) as follows:
    (a)
    Invoke PEnc ( p k u z , { A j } j = 1 Y , l e n , n , Map ) to obtain the ciphertext ( c p z ).
    (b)
    Add the message expressed as c m z = ( Admin     c p z     u a     u i     Adm     Mem ) to set CM .
    5.
    Generate the corresponding control messages for the other group members (i.e., { Mem u i } ) as follows:
    (a)
    Invoke PBT Path ( { A j } j = 1 Y , i p ) to obtain the path expressed as
    { A j } j = 1 L = log 2 ( n ) + 1 .
    (b)
    For each node on the path expressed as A k { A j } j = 1 L , do the following:
    i.
    If node A k has a non-empty sibling node ( A k ) in the PBT ( { A j } j = 1 Y , i.e., A k and A k share the same direct parent node, where k = k + 1 or k = k 1 ), then retrieve the tuple expressed as ( s k , p k , h e , e , s v ) from node A k and invoke PBT RCA ( { A j } j = 1 Y , A k , A k ) to obtain the node set expressed as { A k , , A 1 } , which represents the sequence of common ancestor nodes of A k and A k , up to the root node A 1 . The total number of nodes in this set is h e . Otherwise, continue the loop.
    ii.
    Invoke PEnc ( p k , { A k , , A 1 }     L P K ) to obtain the ciphertext c p k , where L P K is a list of public keys corresponding to those stored in the node along the path expressed as { A j } j = 1 L .
    iii.
    For each non-administrator user ( u v Mem { u i } ) whose identifier is stored in the array ( Map [ q ] , where q satisfies k · 2 h e 1 q ( k + 1 ) · 2 h e 1 1 ), set the control message as c m v = ( p r o p     c p k     u a     u v     u i     i p ) . Note that the control messages for these users are identical, except for the recipient identifier ( u v ). Add each message ( c m v ) to the control message set ( CM ).
    If p r o p = REM , do the following:
    1.
    Search the array (Map) for an index ( i p ) such that Map [ i p ] = u i . Then, set Map [ i p ] = , n = n 1 and remove u i from the Mem set.
    2.
    Select a random value ( a r ).
    3.
    Invoke PBT Upd ( { A j } j = 1 Y , i p , a r ) to update the path in the PBT ( { A j } j = 1 Y ).
    4.
    Generate the corresponding control messages for the other administrators (i.e., Adm { u a } ) in the same way as Step 4 under the condition of prop = ADD in this algorithm.
    5.
    Generate the corresponding control messages for the other group members (i.e., Mem { u i } ) in the same way as Step 5 under the condition of prop = ADD in this algorithm.
    If prop = UPD , do the following:
    1.
    Search the array (Map) for an index ( i p ) such that Map [ i p ] = u i .
    2.
    Obtain the tuple expressed as ( s k , p k , h e , e ) from the node leaf ( A Y + 1 2 1 + i p ).
    3.
    Compute a r = PDec ( s k u a , t x t ) , where s k u a is the private key stored in the node expressed as A Y + 1 2 1 + i n d e x .
    4.
    Invoke PBT Upd ( { A j } j = 1 Y , i p , a r ) to update the path in the PBT ( { A j } j = 1 Y ).
    5.
    Generate the corresponding control message for u i , and proceed as follows:
    (a)
    Invoke PBT Path ( { A j } j = 1 Y , i p ) to obtain a path ( { A j } j = 1 L = log 2 ( Y ) + 1 ).
    (b)
    Set the cipher to c p i = N U L L .
    (c)
    Add the control message ( c m i = ( p r o p     c p i     u a     u i     i p ) ) to set CM .
    6.
    Generate the corresponding control messages for the other administrators (i.e., Adm { u a } ) in the same way as Step 4 under the condition of prop = ADD in this algorithm.
    7.
    Generate the corresponding control messages for the other group members (i.e., Mem { u i } ) in the same way as Step 5 under the condition of prop = ADD in this algorithm.
    Compute the updated session key as r s k = H prg ( r s k     A 1 ¯ ) . Note that H p r g ( r s k     A 1 ¯ ) denotes the PRG computation with the concatenation of the session key ( r s k ) and the tuple stored in node A 1 .
    Update the state ( γ u a g i d = ( Role , Adm , Mem , Map , l e n , n, { A j } j = 1 Y , r s k , i n d e x ) ).
  • Process ( g i d , u i , γ u i g i d , c m ) ( γ I D u g i d ) : This algorithm is executed by user u i , who is a member of the g i d group. It is used to process a control message ( c m ) sent by the group administrator within the g i d group for the purpose of updating the user’s local session state. Upon input of g i d , u i , γ u i g i d , and c m , it outputs the updated state ( γ u a g i d ). If user u i receives the control message ( c m ) for the first time, then inputs g i d and γ I D g i d are set as . Suppose that u i receives the control message ( c m ) from administrator u a within the g i d group and u i is associated with a key pair ( s k u i , p k u i ) . u i then processes c m as follows:
    A c m format of ( Join     c p     u a     u i     Adm     Mem ) indicates that u i is joining group g i d for the first time, then proceeds as follows:
    1.
    Invoke DEnc ( s k u i , c p ) to obtain ( { A j } j = 1 Y     i p     n     Map     l e n ) , where Map [ i p ] = u i .
    2.
    Compute the session key as r s k = H prg ( A 1 ¯ ) .
    3.
    If u i Adm , then set Role = a d m ; otherwise, set Role = m e m .
    4.
    Set state γ u i g i d = ( Role , Adm , Mem , Map , l e n , n , { A j } j = 1 Y , r s k , i p ) .
    Otherwise, a c m format of ( Admin     c p     u a     u i     Adm     Mem ) indicates that u i is a cloud administrator within the g i d group. Suppose u i possesses a local state of γ u i g i d = ( Role , Adm , Mem , Map , l e n , n , { A j } j = 1 Y , r s k , i p ) . Then, u i proceeds as follows:
    1.
    Invoke DEnc ( s k u i , c p ) to obtain ( { A j } j = 1 Y , l e n , n , Map ).
    2.
    Compute the session key as r s k = H P R G ( r s k     A 1 ¯ ) .
    3.
    Set state γ u i g i d = ( Role , Adm , Mem , Map , l e n , n , { A j } j = 1 Y , r s k , i p ).
    Otherwise, the control message ( c m ) originates from the g i d group, which u i has already joined. Suppose c m has a format of ( p r o p     c m     u a     u i     u i     i p ) and user u i possesses a local state of γ u i g i d = ( Role , Adm , Mem , Map , l e n , n , { A j } j = 1 Y , r s k , i n d e x ) . u i does the following:
    *
    If p r o p { ADD / UPD / REM } and u i u i , another member has either joined the group, updated the group session key, or exited. u i proceeds as follows:
    1.
    If p r o p = ADD , then set Map [ i p ] = u i , n = n + 1 and add u i to the Mem set.
    2.
    If p r o p = REM , then set Map [ i p ] = , n = n 1 and remove u i from the Mem set.
    3.
    Invoke PBT RCA ( { A j } j = 1 Y , A Y + 1 2 1 + i p , A Y + 1 2 1 + i n d e x ) to obtain the node set expressed as { A l c a , , A 1 } , which represents the sequence of common ancestor nodes of A Y + 1 2 1 + i p and A Y + 1 2 1 + i n d e x , up to the root node ( A 1 ). A l c a is the lowest common ancestor.
    4.
    Obtain the tuple expressed as ( s k , p k , h e , e , s v ) from the child node of A l c a , which is also an ancestor of A Y + 1 2 1 + index .
    5.
    Invoke PDec ( s k , c m ) to obtain ( { A k , , A 1 }     L p k ) .
    6.
    Replace the nodes in the set expressed as { A l c a , , A 1 } , which belong to the PBT { A j } j = 1 Y , with the corresponding nodes in the set expressed as { A k , , A 1 } .
    7.
    Replace the public keys in the tuples stored in the nodes along the path from the leaf node ( A Y + 1 2 1 + index ) to the root node ( A 1 ) with the corresponding public keys in list L p k .
    8.
    Compute the updated session key as r s k = H P R G ( r s k | | A 1 ¯ ) .
    9.
    Set state γ u i g i d = ( Role , Adm , Mem , Map , l e n , n , { A j } j = 1 Y , r s k , i n d e x ) .
    *
    Otherwise, the received control message ( c m ) is the administrator’s response to the proposal message submitted by u i , where P M = ( gid     UPD     u a     u i     txt ) , with txt = PEnc ( p k u a , s d ) and s d being a random value chosen by u i . The message is processed as follows:
    1.
    Invoke PBT Upd ( { A j } j = 1 Y , i n d e x , s d ) to update the corresponding path.
    2.
    Compute the updated session key as r s k = H P R G ( r s k | | A 1 ¯ ) .
    3.
    Set state γ u i g i d = ( Role , Adm , Mem , Map , l e n , n , { A j } j = 1 Y , r s k , i n d e x ) .

3.2. Design of Smart Contract

A smart contract is a self-executing program deployed on the blockchain, typically written in a Turing-complete programming language such as Solidity, Vyper, or DAML. It consists of variables for data storage and methods that can be invoked by entities to manipulate these variables. Each smart contract has a unique (public) address on the blockchain. All state changes resulting from method invocations are ultimately recorded on all blockchain nodes through the underlying consensus mechanism.

3.2.1. Vehicle Identity Smart Contract (VIDSC)

In our scheme, each RSU deploys and maintains a VIDSC to securely record and manage information about authenticated vehicles that intend to join the VC. The VIDSC is formally defined in Appendix C (see Algorithm A4).
Specifically, the VIDSC contract declares a data structure named VID to store essential vehicle information. This structure contains two fields: CredID, representing the vehicle’s (anonymous) authentication certificate, and Source, describing the vehicle’s sensing or computational capabilities. Additionally, the contract maintains a dynamic array variable, IDList, which stores all registered VIDs.
The contract provides an Upload method invoked by an RSU when a vehicle requests to join a VC (see Section 4.4). The RSU uses the Upload method to store the requesting vehicle’s CredID and Source information in the IDList array on the blockchain.

3.2.2. Vehicular Cloud Smart Contract (VCSC)

We design a VCSC to securely manage essential VC-related data. It is deployed for each VC and maintained by the corresponding cloud administrators. The formal definition of the VCSC is provided in Appendix C (see Algorithm 5).
Specifically, the contract declares several VC-related data (variables): VID, representing the unique identifier of the VC; ADM and MEM, arrays holding the identifiers of cloud administrators and members, respectively; MAP, which records the mapping from PBT leaf nodes to vehicle identifiers; and ProMess, a dynamic array storing proposal messages, along with their processing status.
The contract provides the following functions:
  • Update: Invoked by cloud administrators to initialize VC-related variables;
  • Upload: Invoked by vehicles or administrators to append new proposal messages;
  • Return: Invoked by administrators to retrieve unprocessed proposal messages.

4. Blockchain-Based Dynamic Key Management (BcDKM) Scheme

4.1. High-Level Description

Our proposed blockchain-based dynamic key management (BcDKM) scheme for vehicle cloud (VC) systems consists of several phases: In the Setup phase, the Certification Authority (CA) initializes the entire system by establishing essential system parameters. The subsequent Registration phase involves vehicles and RSUs generating cryptographic keys and registering with the CA to obtain certificates. During the Preparation phase, registered vehicles submit participation requests to local RSUs, which verify and record vehicle information on the blockchain. The Initialization phase allows vehicles to initialize VCs by deploying smart contracts and establishing initial session keys. Finally, the VC Management phase supports dynamic operations such as allowing external vehicles to securely Join an existing VC, enabling current members to securely Remove themselves from a VC, and facilitating secure and dynamic group key Update operations among existing members. An overview of the BcDKM scheme phases is depicted in Figure 2.

4.2. Setup

Upon input of 1 κ , the CA performs the following steps:
1.
Invoke the SetUp ( κ ) algorithm of the CGKAwAM (see Definition 3) to obtain the common system parameters ( c s p = ( PKE , H P R G , p s p ) ).
2.
Select a digital signature scheme ( DS = { DInit , DGen , DSign , DVer } ). Invoke DInit ( 1 κ ) to obtain the d s p parameters, and invoke DGen ( d s p ) to generate a key pair ( s k c a , p k c a ) (See Definition 2).
3.
Select a symmetric encryption scheme ( SE = { SGen , SEnc , SDec } . Invoke SGen ( 1 κ ) to generate a secret key (k).
4.
Initialize a blockchain system, denoted as BC , which supports the VCSC for the management of VC-related information and the VIDSC for the recording of information of vehicles willing to join a VC. Those smart contracts are defined in Section 3.2.
5.
Publish the system parameter as s p = ( c s p , DS , SE , BC , d s p , s s p , p k c a ) . We assume s p is pre-stored in vehicles and RSUs.

4.3. Registration

Before joining the system, vehicles and RSUs must register with the CA. For a vehicle ( V i ), let I D V i denote its true identity. Each vehicle uses a unique anonymous certificate when participating in different VCs. Typically, a vehicle can obtain multiple such certificates from the CA during a single registration process. As an example, we describe the process in which a vehicle V i registers with the CA and obtains one anonymous certificate. The message transmission sequence of this procedure is illustrated in Figure 3a.
1.
V i invokes KeyGen ( c s p , V i ) to generate a private–public key pair, i.e., K P V i = ( s k V i , p k V i ) , and sends R e i = I D V i     p k V i to the CA via a secure channel. For simplicity, we assume that the key pair is used for both CGKAwAM and digital signature schemes.
2.
Upon receiving R e i , the CA does the following:
(a)
Issue an anonymous certificate ( C V i = ( p s e V i , p k V i , v p V i , s i g V i ) , where p s e V i is a pseudonym generated by the CA by running SEnc ( k , I D V i s n i ) , s n i is a serial number, v p V i denotes the validity period, and s i g V i is a signature generated by running DSign ( s k c a , p s e V i     p k V i     v p V i ) ).
(b)
Send C V i to V i over a secure channel.
3.
V i can then easily verify the signature ( s i g V i C V i ) using the DVer algorithm and store C V i locally.
For an RSU ( R i ), privacy is generally not a concern. RSUs generate their certificates in the same way as vehicles; however, the only difference is that the pseudonym in the certificate is set to the true identity rather than an anonymized identifier. Let I D R i denote the true identity of R i . R i generates a private–public key pair ( K P R i = ( s k R i , p k R i ) ). R i submits I D R i     p k R i to the CA via a secure channel and obtains a certificate ( C R i = ( I D R i , p k R i , v p R i , s i g R i ) ) issued by the CA.

4.4. Preparation

In this phase, registered vehicles submit participation requests to their local RSUs. The RSUs are responsible for verifying the vehicles’ identities and recording their information for VC admission. As an example, we describe the process in which a vehicle ( V i ) submits its participation request to RSU R i . Suppose that RSU R i deploys a contract ( VIDSC R i ) on the blockchain. Let V i and R i hold certificates C V i and C R i and key pairs ( s k V i , p k V i ) and ( s k R i , p k R i ) , respectively. The message transmission sequence of this procedure is illustrated in Figure 3b. They then proceed as follows:
1.
When V i enters the area managed by R i , it generates a signature ( S V i ) on the message expressed as m i = ( C V i V i R i t s mess ) using DSign ( s k V i , m i ) , where t s is a timestamp and mess is the description of V i ’s resource information. Then, V i sends ( S V i , m i ) to R i .
2.
Upon receiving ( S V i , m i ) , R i does the following:
(a)
Verify the validity of the signature by invoking DVer ( p k V i , m i , S V i ) . If the signature is invalid, abort; otherwise, invoke the Upload ( C V i , mess ) method (see Section 3.2) within VIDSC R i to store the vehicle information.
(b)
Generate a signature ( R v V i ) on the message ( m v i = ( C R i m i s c ) ) using DSign ( s k R i , m v i ) , where s c is the address of VIDSC R i .
(c)
Send ( R v V i , m v i ) to V i .
3.
V i can easily verify the validity of the received signature by invoking DVer ( p k R i , m v i , R v V i ) . Moreover, since the blockchain is public, it is straightforward to check the correctness of the contract address.

4.5. Initialization

Suppose a vehicle ( V 1 ) intends to initialize a VC. As an example, assume that it obtains a set of authenticated vehicle identifiers ( G = { V 1 , , V n } , n > 1 ), representing the initial set of authenticated vehicle identities acquired from the nearest RSU. Furthermore, suppose that each vehicle V i G holds a key pair ( s k V i , p k V i ) and an anonymous certificate ( C V i ). The message transmission sequence of this procedure is illustrated in Figure 3c. V 1 initializes a VC as follows:
1.
Invoke the Create ( c s p , G , V 1 ) algorithm of CGKAwAM (see Section 3) to obtain the initialization local state ( γ V 1 v i d = ( Role , Adm , Mem , Map , len , n , { A j } j = 1 Y , r s k , index , vcsc v i d ) ) and a set of control messages ( CM ).
2.
Deploy a VCSC smart contract (see Section 3.2.2) for the VC identified by vid via the RSU on the blockchain as follows:
(a)
Deploy the VCSC v i d on the blockchain. If the deployment is successful, the RSU returns the contract address ( sc v i d ); otherwise, the process is aborted.
(b)
Invoke the Update ( v i d , Map , Adm , Mem , n ) method within the VCSC v i d contract to initialize the VC-related data (see Section 3.2.2).
3.
Send each control message ( c m CM ) to its corresponding vehicle in G { V 1 } , attaching the same sc v i d to all messages.
When a vehicle ( V z G { V 1 } ) receives the control message ( c m ) from the cloud administrator ( V 1 ), the Process ( g i d , V z , γ V z v i d , c m ) algorithm of CGKAwAM (see Definition 3) is invoked to obtain the initialization local state ( γ V z v i d = ( Role , Adm , Mem , Map, l e n , n, { A j } j = 1 Y , r s k , i p , sc v i d ) ).

4.6. VC Management

This subsection describes how cloud members in a created VC are managed. Specifically, a vehicle may Join a VC as a new member, an existing member may Remove itself from a VC, and a member may trigger a group key Update. All three operations follow a unified procedure, where the main difference lies in the command (cmd) type and, in the case of Update, the inclusion of an additional ciphertext ( txt ). The message transmission sequence of this procedure is illustrated in Figure 3d. The generalized procedure is expressed as follows:
1.
A vehicle ( V u ) invokes the Proposal ( c s p , v i d , V u , V a , cmd , txt ) algorithm of CGKAwAM (see Section 3) to generate a proposal message ( P = ( vid     cmd     V a     V u     txt ) ). Here, cmd { ADD , REM , UPD } correspond to Join, Remove, and Update, respectively. For Join and Remove, txt = n u l l , while for Update, txt = PEnc ( p k V a , s d ) , where s d is a random number selected by V u .
2.
V u uploads message P to the smart contract ( VCSC v i d ) through the RSU by invoking the Upload ( P , f ) method, where f = 0 .
3.
Once message P has been successfully stored, the RSU notifies the administrator ( V a ) to handle the message.
4.
V a invokes the Return(cmd) method within VCSC v i d to retrieve P .
5.
V a runs the Commit ( c s p , γ V a v i d , P ) algorithm of CGKAwAM to update its local state ( γ V a v i d ), yielding a new state ( γ V a v i d ) and a set of control messages ( CM ).
6.
V a invokes the Update ( v i d , Map , Adm , Mem , n ) method in VCSC v i d to update the VC-related data using γ V a v i d .
  • In the case of Join, V u is added to the membership set.
  • In the case of Remove, V u is excluded from the membership set.
7.
V a sends each control message ( c m CM ) to the corresponding vehicles. The recipient set differs slightly depending on the operation:
  • Join: all members in { G { V a } } { V u } ;
  • Remove: all members in G { V a , V u } ;
  • Update: all members in G { V a , V u } .
Each recipient vehicle ( V z ) executes the Process ( v i d , V z , γ V z v i d , c m ) algorithm of CGKAwAM to update its local state accordingly.
It is worth noting that in highly dynamic vehicular networks, temporary disconnections of vehicles are inevitable. Nevertheless, the asynchronous design of our scheme ensures that such disconnections do not hinder the execution of group key updates. Specifically, if a vehicle disconnects after submitting a Proposal message, the administrator continues processing the request and distributes the corresponding Control message to other VC members, who can update the session key locally. The disconnected vehicle may later request the Control message upon reconnection or reinitiate its join request. If a vehicle disconnects before its Proposal message reaches the VC administrator, no session key update is triggered, and the VC remains unchanged. Therefore, both the correctness and security of the group are preserved, even in the presence of frequent disconnections.

5. Security Analysis

This section presents the security analysis of the proposed schemes. First, we formally prove that the CGKAwAM scheme (see Section 3) is secure against adversaries in VC environments and achieves the security properties of known-key security, forward secrecy, and post-compromise security (see Section 2.2), as detailed in Section 5.1. Based on this result, we further demonstrate that the proposed blockchain-based dynamic key management (BcDKM) scheme for VC systems (see Section 4) achieves the intended security goals, as shown in Section 5.2.

5.1. Security Analysis of CGKAwAM

5.1.1. Security Definition and Model

Definition 6
(Game-Based Security Notions). We capture the security of our CGKAwAM through a security game played between an adversary ( A ) and a challenger (  C ). In the security game,  C simulates the execution of the scheme, while A interacts with the oracles (see Definition 7) maintained by C , through issuing queries (see Definition 8).
Definition 7
(Oracles). We consider μ users (e.g., vehicles), i.e., V 1 , , V μ in this system. Each user ( V i ) is represented by a set of oracles, denoted as π V i s , which corresponds to the s-th group session that V i participates in. Furthermore, we use the π V i s [ t ] symbol to denote the t-th stage of oracle (group session) π V i s , where s , t N . A stage corresponds a specific key update within a group session. Each time the group executes a proposal message (e.g., member join, leave, or session key update), a new stage is triggered, and the session key is updated accordingly. For example, π V i s [ 0 ] represents the initial establishment of a group session and the computation of the corresponding initial group session key. Each oracle ( π V i s ) has access to the key pair of the V i : ( s k V i , p k V i ) . The oracle ( π V i s ) is associated with a collection of variables (initially set to empty), defined as follows:
  • π V i s . g i d represents the identifier of the group session ( π V i s ).
  • π V i s . r o l e { A , M } represents the role of V i in the group session ( π V i s ). If π V i s . r o l e = A , the user is the administrator; otherwise, the user is the group member.
  • π V i s . u i d represents the number of stages that have occurred in the group session ( π V i s ) since its creation. This variable is used solely within the security model.
  • π V i s [ t ] . p i d represents a set containing the identifiers of the users in the group session ( π V i s ) at stage t with whom V i intends to establish a session key, including V i himself.
  • π V i s [ t ] . g s k represents the group session key associated with the group session ( π V i s ) at stage t.
  • π V i s [ t ] . s t { a c c e p t e d , u n a c c e p t e d } represents the status associated with group session π V i s at stage t. If the status is accepted, the session key ( π V i s [ t ] . g s k ) has been computed; otherwise, the status is unaccepted.
  • π V i s [ t ] . s a represents the local state associated with group session π V i s at stage t. It corresponds to the γ state in our scheme (see Section 3).
  • π V i s [ t ] . m s represents the messages sent and received in group session π V i s at stage t.
Definition 8
(Query). We formalize the security game using the oracles defined above. During the simulation of the security game, C allows A to issue the following queries:
  • Q Setup ( κ ) : This query models the Setup algorithm of CGKAwAM. Upon receiving the security parameter (κ), C simulates the CA to generate the common system parameter ( c s p ).
  • Q KG ( c s p , V i ) : This query models the KeyGen algorithm of CGKAwAM. Upon receiving the c s p and a user identifier ( V i ) chosen by A , C returns to A the key pair ( p k V i , s k V i ) associated with the user identified by V i .
  • Q Create ( c s p , V a , G ) : This query models the Create algorithm of CGKAwAM. In this query, A is allowed to select an initial administrator ( V a ) to cr(eate a VC with a group of users G = { V 1 , , V n } , where V a G ). Then, C initializes the oracle ( π V a s ) and outputs a set of control messages.
  • Q Prop ( c s p , g i d , V i , V a , p r o p , t x t ) : This query models the Proposal algorithm of CGKAwAM. In this query, A is allowed to submit a proposal message ( P = ( g i d     p r o p     V a     V i     t x t ) ), which suggests that the administrator ( V a ) execute a command ( p r o p { A D D , R E M , U P D } ). C then uploads the proposal message to the smart contract.
  • Q Comm ( c s p , π V a s , P ) : This query models the Commit algorithm of CGKAwAM. In this query, A is allowed to request the administrator ( V a ) to execute the proposal message ( P ) within the session ( π V a s ). C updates the variables associated with the oracle ( π V a s ) and outputs a set of control messages.
  • Q Proc ( g i d , V i , π V i s , cm ) : This query models the Process algorithm of CGKAwAM. In this query, A is allowed to request the user ( V i ) to execute the control message ( cm ). C updates the variables associated with the oracle ( π V i s ).
  • Q Rev ( π V i s , t ) : This query models the adversary’s ability to reveal a group session key in session π V i s at stage t. C returns the group session key ( π V i s [ t ] . g s k ).
  • Q Cor ( π V i s , t ) : This query models the adversary’s ability to compromise the user ( V i ) in session π V i s at stage t. C returns all the values stored in session π V i s [ t ] at stage t, except the group session key.
  • Q Test ( π V i s , t ) : It requires that π V i s [ t ] . s t = a c c e p t e d and the output of Freshness ( π V i s , t ) be fresh (see Definition 10). If either of these two conditions is not satisfied, the query outputs ⊥. Otherwise, the output of this query is determined as follows: If b = 0 (where the bit (b) is defined in Definition 9), it outputs π ID i s [ t ] . g s k ; otherwise (i.e., b = 1 ), it outputs a random session key.
Definition 9
(Security Model). We define our security model through a security game played between an adversary ( A ) and a challenger ( C ). In the security game, C simulates the execution of the scheme using oracles (see Definition 7), while A interacts with the oracles by issuing queries (see Definition 8). We further define a non-adaptive security model to formalize the security of our scheme. In this model, the adversary ( A ) is considered non-adaptive, meaning that it must determine all of its queries in advance, before the security game begins. Once the queries are fixed, A is no longer allowed to modify any query or its target. The security game is defined as follows:
1.
Before C begins simulating the security game, it chooses a random bit ( b { 0 , 1 } ).
2.
A outputs a fixed query set of Q = { q 1 , , q α } to C , specifying the exact sequence of queries it intends to issue. Each query ( q i Q ) corresponds to a specific query type defined in Definition 8. Note that the Q Setup and Q Test queries are each restricted to be issued once, at most.
3.
Once the game begins, C allows A to issue only the predefined queries in set Q and returns the corresponding responses.
4.
After completing all queries, A outputs a bit ( b { 0 , 1 } ). If b = b , we say that A wins the game. The advantage of A is defined as Adv A = Pr [ Wins ] 1 2 .
Definition 10
(Freshness). Freshness is used to prevent the adversary from trivially winning the game described in the security model. We define Freshness ( π V i s , t ) as fresh if and only if the following boolean expression holds: F 1 F 2 F 3 F 4 = 1 , where F 1 , F 2 , F 3 , and F 4 are boolean predicates defined as follows:
1.
F 1 : If π V i s [ t ] . s t = accepted , then set F 1 = 1 . Otherwise, set F 1 = 0 .
2.
F 2 : If the adversary has not issued query Q Rev ( π V i s t ) and has not issued Q Rev for any stage that is a partner of π V i s [ t ] (see Definition 11), then set F 2 = 1 ; otherwise, set F 2 = 0 . F 2 = 1 ensures that the group session key is not trivially accessible by the adversary and is used to capture the notion of known-key security.
3.
F 3 : If the adversary has not issued query Q Crr ( π V i s , t ) and has not issued Q Crr for any stage that is a partner of π V i s [ t ] (see Definition 11), prior to π V i s [ t ] . s t = accepted , and the same condition holds for all related stages with t > 0 , then set F 3 = 1 ; otherwise, set F 3 = 0 . F 3 = 1 is used to capture forward secrecy.
4.
F 4 : For any V j π V i s [ t ] . p i d , if V j has been queried by Q Crr at any time prior to π V i s [ t ] , then there must exist a stage ( π V j s [ t ] ) such that
  • π V j s [ t ] . u i d < π V i s [ t ] . u i d , indicating that both stages belong to the same group and that π V j s [ t ] occurred earlier than π V i s [ t ] .
  • The π V j s [ t ] stage corresponds to a group key update for V j initiated via a proposal with a UPD command and successfully executed, without being influenced by the adversary.
If this condition is satisfied for all such V j values, set F 4 = 1 ; otherwise, set F 4 = 0 . F 4 = 1 is used to capture post-compromise security.
It should be noted that the vehicle ( V j ) targeted by the query ( Q Crr ( π V i s , t ) ) must not serve as an administrator during the session (i.e., π V i s [ t ] . role A ).
Definition 11
(Partner Stage). Partner stages refer to a set of stages ( S = { π V i s [ t ] , , π V j u [ v ] } ) that correspond to the stages held by all members of the same group at a specific point in time. We define the stages in S to be partner stages of each other if, for any two stages ( π V i s [ t ] , π V j u [ v ] ), the following conditions hold:
1.
They have the same status, i.e., π V i s [ t ] . s t = π V j u [ v ] . s t .
2.
They are associated with the same group identifier, i.e., π V i s [ t ] . v i d = π V j u [ v ] . v i d .
3.
They share the same participant list, i.e., π V i s [ t ] . p i d = π V j u [ v ] . p i d .
4.
They correspond to the same update stage of the group, i.e., π V i s [ t ] . u i d = π V j u [ v ] . u i d .

5.1.2. Security Proof

Theorem 1.
Assume that PKE is a public-key encryption scheme that is secure under chosen plaintext attacks (CPAs) and that H P R G is a secure pseudorandom generator. Then, for the adversary ( A ) defined in our non-adaptive security model, the advantage of A in winning the security game is bounded as follows:
Adv A ( 2 d 1 ) · ( Adv A PRG + Adv A CPA ) + 1 2 .
where d = log 2 ( n ) + 1 and n denotes the maximum number of users allowed in a group.
For completeness, the full proof of Theorem 1 is presented in Appendix D.

5.2. Security Analysis of the Blockchain-Based Dynamic Key Management (BcDKM) Scheme

This section evaluates the security of our proposed blockchain-based dynamic key management (BcDKM) scheme for VC systems (see Section 4). Specifically, our BcDKM scheme is primarily built upon the CGKAwAM scheme. In addition, it incorporates symmetric encryption and blockchain technology to enhance vehicle privacy and improve the manageability of vehicular clouds (VCs). Symmetric encryption is employed to construct anonymous certificates, with the private key generated and securely maintained by a trusted CA for encryption of the real identities of vehicles. Since this key is known only to the CA, the use of symmetric encryption does not introduce additional security risks. Moreover, to support decentralized VC discovery and management, blockchain technology is leveraged to record VC and vehicle-related information. As outlined in the threat model (see Section 2.2), we assume that the blockchain provides basic security guarantees. Under this assumption, even if an adversary compromises some RSUs functioning as blockchain nodes, it remains infeasible to gain control over the entire blockchain and thereby tamper with VC and vehicle data. Therefore, such attacks do not pose a substantive threat to the security of our scheme. We demonstrate that our BcDKM scheme meets the intended design goals and security requirements, as formally proven in the following theorem. For completeness, detailed proofs of all theorems are provided in Appendix D.
Theorem 2.
The proposed BcDKM scheme satisfies vehicle privacy.
Theorem 3.
The proposed BcDKM scheme satisfies known-key security.
Theorem 4.
The proposed BcDKM scheme satisfies forward secrecy.
Theorem 5.
The proposed BcDKM scheme satisfies post-compromise security.
Theorem 6.
The proposed BcDKM scheme achieves distributed VC discovery.
Theorem 7.
The proposed BcDKM scheme achieves distributed management.
Theorem 8.
The proposed BcDKM scheme achieves round optimality.
Theorem 9.
The proposed BcDKM scheme achieves large-scale VC scalability.
Theorem 10.
The proposed BcDKM scheme supports asynchrony.

6. Performance Analysis

In this section, we comprehensively evaluate the performance of our proposed BcDKM scheme from three perspectives. First, in Section 6.1 (Functional Comparison), we compare the functional characteristics of our scheme with those of several related key management schemes. Next, in Section 6.2 (Computation and Communication Overhead), we provide a theoretical analysis and comparison of the computational and communication costs between our scheme and the benchmark schemes. Finally, in Section 6.3 (Simulation), we conduct simulations to validate the efficiency and practicality of our scheme.

6.1. Functional Comparison

In this section, we compare our scheme with several representative works, focusing on whether they meet the design goals outlined in Section 2.2. Specifically, our primary contribution lies in designing the CGKAwAM group key agreement scheme, and building on this foundation we further develop the BcDKM key management scheme for VC systems. Therefore, when selecting comparison schemes, we primarily consider the representative schemes discussed in Section 1.1 that are either designed for VC systems or serve as potential solutions from different categories of GKM schemes. Specifically, we select AGKA [17], ER-CGKA [22], TGKA [12], and NIGKA [15] as representative GKA-based GKM schemes; GKD [26] as a representative GKD-based GKM scheme; and BcGKM [28] as a recently proposed blockchain-based GKM scheme. AGKA [17] is a bilinear pairing-based group key agreement scheme for vehicular networks, but it requires the group size to be fixed during initialization, which limits scalability. ER-CGKA [22] is built on the CGKA scheme for vehicular scenarios but lacks administrator-driven group management. TGKA [12] is a classical tree-based group key agreement that requires multiple rounds of interaction when group membership changes, resulting in lower communication efficiency. NIGKA [15] is a representative non-interactive group key agreement but only supports static groups with fixed membership. GKD [26] is a key distribution-based scheme for vehicular networks, but it suffers from inherent centralization issues. BcGKM [28] is a recently proposed blockchain-based key management scheme for VCs; however, its key management lacks asynchronous capabilities.
In Table 1, we compare the features and security properties of the selected schemes, focusing on the following aspects: vehicle privacy, known-key security, forward secrecy, post-compromise security, distributed VC discovery, distributed management, round optimality, and large-scale VC scalability (as described in Section 2.2). In the Table 1, the “✓” symbol indicates the feature is supported, and “×” indicates it is not supported.
As shown in Table 1, all schemes satisfy the fundamental requirement of known-key security. However, TGKA and NIGKA focus solely on cryptographic constructions, without explicit consideration of VC scenarios, and, therefore, do not support vehicle privacy. Only ER-CGKA and our scheme achieve forward secrecy and post-compromise security under active adversaries. In addition, only BcGKA and our scheme leverage blockchain technology, enabling RSUs to act as blockchain nodes for distributed VC discovery; however, only our scheme supports distributed management. GKD and BcGKA require multiple rounds of online interaction for key establishment and updates, failing to achieve round optimality. In contrast, the other schemes require, at most, one round of interaction and inherently support asynchronous operations. Moreover, only ER-CGKA and our scheme exhibit logarithmic computational complexity with respect to the number of VC members, thereby achieving large-scale VC scalability. In summary, our proposed scheme is the only one that fulfills all the desired properties.

6.2. Computation and Communication Overhead

6.2.1. Computation Overhead

In this section, we compare our proposed BcDKM scheme with several recently introduced schemes designed for VC systems, including GKD [26], AGKA [17], and BcGKA [28], as they share similar design goals and requirements. Table 2 and Table 3 present a comparison of the total computation overhead incurred by all members during the VC Initialization, Join, Remove, and Update phases.
To facilitate a clearer comparison of computation overheads, we define the following notations and assumptions. We assume that the VC contains N vehicles. We also denote the time costs of various cryptographic operations as follows: T P m for modular exponentiation, T A m for modular addition, T M m for modular multiplication, T H for a hash function, and T P a for a pairing operation. Since both our schemes employ a public key encryption scheme, we instantiate the PKE component using the ElGamal encryption scheme [33]. Accordingly, the computational cost of a single encryption operation is estimated as 2 T P m + T M m , while the decryption cost is T P m + T M m . In general, the cost of a pairing operation ( T P a ) significantly exceeds that of other cryptographic operations. It is followed by modular exponentiation T P m , while the remaining operations (e.g., modular addition and hash functions) incur relatively lower computation overhead.
As shown in Table 2 and Table 3, in the VC initialization phase, our BcDKM scheme achieves the lowest computation overhead of O ( N ) · ( 3 T P m + 2 T M m + 2 T K ) , while GKD, AGKA, and BcGKA incur significantly higher costs. Although the GKD scheme exhibits relatively low computation overhead in the VC management phase, it requires ( 5 T P m + 5 T H + 7 T A m + T M m ) + O ( N ) · ( 3 T M m + T A m ) for the Join phase and O ( N ) · ( 3 T M m + T A m ) for the Remove and Update phases. However, it lacks essential security guarantees, such as forward secrecy and post-compromise security. In addition, the AGKA scheme consistently incurs high computational costs across all phases due to its reliance on a large number of pairing operations ( T P a ), which are substantially more expensive than other cryptographic primitives.

6.2.2. Communication Overhead

In this section, we compare the communication overhead of our BcDKM scheme with that of GKD [26], AGKA [17], and BcGKA [28]. Table 4 summarizes the number of communication rounds and total messages exchanged by all members in a VC during the VC Initialization, Join, Remove, and Update phases. Here, we define one communication round as a single broadcast message sent by a user to all other members in a VC. As shown in Table 4, our scheme achieves optimal communication efficiency in all phases, requiring only one communication round and O ( N ) total messages per phase, which is on par with optimal schemes such as AGKA. In contrast, GKD and BcGKA incur higher communication overhead in the VC Initialization phase.

6.3. Simulation

In this section, we first evaluate the computational overhead of cryptographic operations employed in our scheme, followed by a comparative analysis of the overall runtime efficiency against representative existing schemes. We then assess the gas consumption incurred by the smart contracts used in our scheme to demonstrate its practical feasibility on blockchain platforms. Finally, we simulate the message transmission latency of our scheme under vehicular network scenarios.

6.3.1. Computational Efficiency Evaluation

To evaluate the runtime efficiency of the proposed scheme in a vehicular system, we employed a laptop equipped with an AMD Ryzen 7 4800H 2.90 GHz CPU and 16 GB of memory, running Ubuntu 22.04 OS, as a simulation of the in-vehicle environment. All cryptographic operations were implemented in C/C++ using the Miracl C/C++ library [34]. We adopted the finite-field Diffie–Hellman parameters (ffdhe2048) from RFC 7919 [35] to evaluate the computational costs of T P m , T A m , and T M m . For pairing operations ( T P a ), we used BN curves with 128-bit security. The SHA-256 hash function was used to measure the execution time of hash operations, denoted as T H . The average computation times of these basic operations were obtained through multiple experimental runs and are summarized as follows: T P m 1.1 ms, T A m 0.0005 ms, T M m 0.0052 ms, T H 0.01 ms, and T P a 3.5 ms.
In Figure 4, we compare the computation time of our proposed BcDKM scheme with that of GKD [26], AGKA [17], and BcGKA [28] across the four respective phases. Specifically, we evaluate the execution time overhead under varying VC member sizes of 20, 40, 60, 80, and 100. As illustrated in the figures, our scheme and BcGKA exhibit lower computational overhead in the VC initialization phase, whereas GKD and AGKA incur significantly higher costs. Although the GKD scheme shows relatively low overhead during the Join, Remove, and Update phases, it lacks essential security properties, as discussed in Section 6.2. In contrast, our scheme is able to complete all four phases, including VC initialization, Join, Remove, and Update, within 1 s, even when the VC size reaches 100 members. These results demonstrate the practical efficiency and effectiveness of our proposed scheme.
To further assess the practicality of our scheme in vehicular systems, we evaluate its energy consumption. The AMD Ryzen 7 4800H 2.90 GHz CPU has a thermal design power (TDP) of 45 W. The energy consumption during the VC initialization phase, which is the most computationally demanding phase of our scheme, is estimated by multiplying the measured execution time by the assumed power. Figure 5 presents the energy consumption for different VC sizes, reported in joules (J).

6.3.2. Smart Contract Overhead Evaluation

We implemented the VIDSC and VCSC smart contracts described in Section 3.2 using Solidity version 0.8.26 and deployed them on a local Ethereum blockchain instance simulated via Remix [36]. The gas consumption for each contract method is summarized in Table 5. The “Deploy” method represents the default cost of deploying each contract. For the VIDSC contract, the deployment consumes 504,155 gas, and the Upload method requires 91,498 gas to store the information of a registered vehicle intending to join a VC during the preparation phase of our scheme. The VIDSC contract does not include the Update or Return method, as these functions are not applicable in this contract. In the case of the VCSC contract, the deployment consumes 1,246,805 gas, under the assumption that each instance manages a VC comprising up to 100 vehicles. The Upload method, used to submit proposal messages, incurs a cost of 185,560 gas per invocation. The Update method, which updates the status of a proposal message, consumes 29,618 gas, while the Return method, which retrieves unprocessed proposal messages matching specific commands, requires 25,193 gas. These two methods are specific to the VCSC contract and are not used in VIDSC.

6.3.3. Network Simulation

To evaluate the message transmission latency of the proposed scheme, we conduct network-level simulations using the NS-3 platform (version 3.43) [37]. The simulations are executed on a laptop equipped with an AMD Ryzen 7 4800H 2.90 GHz CPU and 16 GB of memory, running Ubuntu 22.04 OS. The simulated scenario covers a 1.0 × 1.0 km2 network area, where dynamic nodes (simulating vehicles) exchange messages with static nodes (simulating RSUs) over a wireless channel. The communication range of the nodes is set to 400 m, and the channel bandwidth is limited to 6 Mb/s. Dynamic nodes broadcast messages every 100 ms, with mobility patterns randomly generated at an average speed of 50 km/h.
According to our scheme, the application-layer messages exchanged in the network include Proposal messages and Control messages. The maximum size of a Proposal message is approximately 150 bytes, while that of a Control message is about 200 bytes. The message exchange process required for group establishment and dynamic management is outlined as follows. First, a dynamic node (member) sends a Proposal message to a static node. The static node records the message and notifies the corresponding dynamic node (administrator) to process it and generate the associated Control messages, which are then broadcast to all members. Let P D t S denote the latency of a Proposal message from a dynamic node to a static node. Let P S t D denote the latency of a Proposal message from a static node to a dynamic node. Let C D t D denote the latency of a Control message exchanged between dynamic nodes. The experimental results indicate that P D t S 0.35 ms, P S t D 0.34 ms, and C D t D 0.41 ms, demonstrating that the message transmission delays in our scheme remain within acceptable limits. These measurements allow us to assess the time required for each phase of the scheme under near-realistic wireless communication conditions.

7. Conclusions

In this paper, we proposed a blockchain-based dynamic key management scheme, BcDKM, tailored for VSNs. To support secure and efficient group communication in highly dynamic VC systems, we introduced CGKAwAM, a lightweight extension of the CGKA scheme that enables administrator-driven group management. By integrating CGKAwAM with blockchain technology and smart contracts, the BcDKM scheme achieves decentralized VC discovery/management and asynchronous key updates. We formally proved that the scheme satisfies essential security properties, including key independence, forward secrecy, post-compromise security, and vehicle privacy. Experimental evaluations demonstrated that BcDKM maintains low computational and communication overheads, even for large-scale VCs, and achieves a practical balance between security and performance. These results validate the feasibility and effectiveness of our proposed schemes.

Author Contributions

Design of scheme, creation of security models, writing—initial draft, formal analysis, and Writing—review and editing, M.Z. and L.Z.; design of scheme, design of experiments, writing—initial draft, writing—review and editing, R.M. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported, in part, by the NSF of China under Grant No. 62372177 and by the Open Research Fund of Engineering Research Center of Software/Hardware Co-design Technology and Application, Ministry of Education (East China Normal University).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

No data were used to support this study.

Conflicts of Interest

The authors declare no conflicts of interest.

Appendix A

Definition A1
(CPA Security). A PKE scheme is said to be CPA-secure if, for any probabilistic polynomial-time (PPT) adversary ( A ), the advantage of winning the following game against a challenger ( C ) is negligible:
1.
C runs PInit ( 1 κ ) p s p and PGen ( 1 κ ) ( p k , s k ) and sends the p s p and public key ( p k ) to A .
2.
A outputs two equal-length messages ( m 0 , m 1 ) .
3.
C chooses a random bit ( b { 0 , 1 } ), computes the challenge ciphertext ( c = PEnc ( p k , m b ) ), and sends c to A .
4.
A outputs a guess bit ( b ).
An adversary ( A ) wins the game if b = b . The advantage of A in winning the game is defined as Adv A CPA = Pr [ b = b ] 1 2 .
Definition A2
(PRG Security). A PRG is said to be secure if, for any PPT adversary ( A ), the advantage of winning the following game against a challenger ( C ) is negligible:
1.
C chooses a random bit ( b { 0 , 1 } ).
2.
If b = 0 , C returns H prg ( r ) to A for a uniformly random r R ; otherwise, it returns a uniformly random value ( r K × R ) to A .
3.
A outputs a guess bit ( b ).
A wins the game if b = b . The advantage of A in winning the game is defined as Adv A PRG = Pr [ b = b ] 1 2 .

Appendix B

Algorithm A1  PBT Init ( { a i } i = 1 n ) { A j } j = 1 Y
  1:
Input: A set of secret values { a i } i = 1 n .
  2:
Output: An array { A j } j = 1 Y representing a PBT.
  3:
Set  h = log 2 ( n ) + 1 .
  4:
Set  Y = 2 h 1 .
  5:
Allocate an array { A j } j = 1 Y and initialize all A j .            ▹Initialize an empty PBT.
  6:
for  ( z = 1 , , n )  do            ▹Initialize leaf nodes of PBT based on secret value { a i } i = 1 n .
  7:
       s | | s k H P R G ( a z )
  8:
       p k s k DerivePK ( s k )
  9:
       A z + 2 h 1 1 ( s k , p k s k , 1 , 1 , a z )
10:
end for
11:
for  ( z = 2 h 1 1 , z 1 , z )  do              ▹Initialize the non-leaf node of PBT.
12:
      if  ( A 2 z ) and ( A 2 z + 1 ) then
13:
             s v A 2 z + 1 , s v | | s k H P R G ( s v ) , s v | | s k H P R G ( s v )
14:
             A z ( s k , p k s k , log 2 z + 1 , 0 , s v )
15:
      else if  ( A 2 z ) and ( A 2 z + 1 = = ) then
16:
             s v A 2 z , s v | | s k H P R G ( s v ) , s v | | s k H P R G ( s v )
17:
             A z ( s k , p k s k , log 2 z + 1 , 0 , s v )
18:
      end if
19:
end for
20:
return  { A j } j = 1 Y .
Algorithm A2  PBT Ext ( { A j } j = 1 Y ) { A k } k = 1 2 Y + 1
  1:
Input: An existing PBT { A j } j = 1 Y of height h, Y = 2 h 1 .
  2:
Output: An extended PBT { A k } k = 1 2 Y + 1 of height h + 1 .
  3:
n 2 h 1
  4:
Generate random secret values { b i } i = 1 n
  5:
{ B j } j = 1 Y PBT Init ( { b i } i = 1 n )
  6:
s v n e w s k n e w H P R G ( B 1 . s v )
  7:
p k s k n e w DerivePK ( s k n e w )
  8:
p k n e w p k s k n e w
  9:
A 1 ( s k n e w , p k n e w , h + 1 , 0 , s v n e w )                    ▹ A 1 is the new root node.
10:
Attach the tree { A j } j = 1 Y as the left subtree of A 1
11:
Attach the tree { B j } j = 1 Y as the right subtree of A 1
12:
The internal structure of each subtree is preserved
13:
return { A k } k = 1 2 Y + 1
Algorithm A3  PBT Upd ( { A j } j = 1 Y , I , r a ) Void
  1:
Input: An PBT { A j } j = 1 Y , h = log 2 ( n ) + 1 , Y = 2 h 1 , and a position I.
  2:
Output: { A j } j = 1 Y .
  3:
s k | | s v H P R G ( r a )
  4:
p k s k DerivePK ( s k )
  5:
A I + 2 h 1 1 = ( s k , p k s k , 1 , 1 , r a )
  6:
for ( k = I + 2 h 1 1 , k < 1 , k = k / 2 )  do  ▹Update the nodes along the path from the leaf node A I + 2 h 1 1 to the root node A 1 .
  7:
       ( s k , p k , l , e , s v ) A k
  8:
       s k | | s v H P R G ( s v ) , s k | | s v H P R G ( s v )
  9:
       A k / 2 ( s k , p k s k , l + 1 , 0 , s v )
10:
end for

Appendix C

Algorithm A4 Vehicle Identity Smart Contract (VIDSC)
1:
Contract VIDSC {
2:
       struct VID {             ▹ Structure to hold vehicle identity information.
3:
            string CredID;            ▹ The (anonymous) certificate of the vehicle.
4:
            string Source;}               ▹ The vehicle’s capability information.
5:
       VID[] public IDList;          ▹ variable: dynamic array of all VID entries.
6:
       function Upload(string memory credID, string memory source) public {
7:
            VID memory newVID = VID(credID, source);
8:
            IDList.push(newVID);}
Algorithm A5 Vehicular Cloud Smart Contract (VCSC)
  1:
Contract VCSC {
  2:
      struct PM {               ▹ Structure to represent a proposal message and its status.
  3:
           string message;
  4:
           uint256 f; }
  5:
     PM[]  public  P r o M e s s ;         ▹ ProMess is a dynamic array for storing PMs.
  6:
      uint256 VID, N;
  7:
      string[] public  A D M , M E M , M A P ;
  8:
      function Update(Vid, Map, Adm, Mem, n) public {
  9:
           VID = Vid; MAP = Map;
10:
           ADM = Adm; MEM = Mem; N = n; }
11:
      function Upload(string m, uint256 f) public {
12:
           Append ( m , f ) to P r o M e s s ; }
13:
      function Return(cmd) public {
14:
           for each  ( m , f ) P r o M e s s  do
15:
                 if  ( c m d = c m d m )  and  ( f = 0 )  then
16:
                      set f = 1 and return m;
17:
                 Else return  N U L L ; }}

Appendix D

Proof of Theorem 1. 
Our security proof follows the game-based technique for group key management in [21], in which security is analyzed by game hopping through a sequence of games.
Specifically, we consider a sequence of security games ( { G 0 , G 1 , , G F i n a l } ), all defined over the same probability space. The first game ( G 0 ) corresponds to the original game, which models the interaction between the adversary ( A ) and the challenger ( C ) under the non-adaptive security model (see Definition 9). The last game ( G F i n a l ) corresponds to the ideal game, which models A ’s interaction with an ideally hybrid game that reveals no secret information.
At the beginning of the proof, the challenger ( C ) starts from G 0 and hops to a sequence of hybrid games, each obtained by making a slight modification to the previous one. This process continues until we reach the final game ( G F i n a l ), in which the adversary ( A ) cannot succeed with a probability non-negligibly greater than 1 / 2 . For each hop, the view of A remains computationally indistinguishable between adjacent games. In other words, each hop introduces only a minimal change, and the two neighboring games are computationally indistinguishable under the CPA and PRG security assumption (see Definitions A1 and A2).
Game 0. Let Game 0 to be the security game played between A and C as described above (see Definition 9). This game is described as follows:
1.
Before C begins simulating the security game, it chooses a random bit ( b { 0 , 1 } ).
2.
Let Q = { q 1 , , q p } be the sequence of queries issued by the (non-adaptive) adversary ( A ).
3.
Once the security game begins, C allows A to issue only the predefined queries in the query set ( Q ) and returns the corresponding responses (see Definition 8). Since we assume A is a non-adaptive adversary, the target group chosen by A is fixed in advance. Considering the targeted group associated with the query set ( Q ), we describe the execution of the query set issued by A by C as follows:
  • Initialization: The first query ( q 1 Q ) must be the Q Setup query, which initializes the system parameters and may be issued, at most, once. Subsequently, a subset of queries in Q , including Q KG , is executed to initialize the users. After the system parameters are generated and the users are initialized, the Q Create query is executed to initialize the target group for A , and this query may also be issued, at most, once.
  • Execution: The following queries in Q are then executed, allowing A to interact with the targeted group. These queries include Q Prop , Q Comm , Q Proc , Q Rev , and Q Cor .
  • Challenge: Finally, the last query ( q p Q ) must be the Q Test ( π V i s , t ) query. This query can be issued, at most, once and must not output ⊥.
4.
After completing all queries, A outputs a bit ( b { 0 , 1 } ).
Let { A z } z = 1 Y denote the PBT consisting of all nodes generated by the latest session key computation completed by user V i up to and including the target session ( π V i s ) at stage t, and let d denote the height of the PBT. Let A d v j be the advantage of A is winning ( i . e . , b = b ) in Game j. It should be clear that
A d v A = A d v 0 + 1 2 .
Game j ( 1 j F i n a l ) . This game is identical to Game j 1 , except that we perform a series of modifications to the PBT ( { A i } i = 1 Y ), which has a height of d, associated with the target session ( π V i s ) at stage t.
In each game, we replace the outputs of the PRG in one layer of nodes in the PBT with random values, and we also replace the ciphertexts, which are originally generated using the public keys stored at those nodes, with fake, random ciphertexts. These replacements are performed in a bottom-up manner, starting from the leaf nodes and proceeding upward, layer by layer. Specifically, in each hybrid game (j ( 1 j F i n a l )), we target exactly one layer of the PBT for the replacements described above. Since the leaf layer is defined as level 1 (see Definition 5), Game j = 1 performs replacements at the leaf nodes, while Game j = d performs replacements at the root node, which resides at level d. Thus, Final = d . After applying this series of replacements, the final hybrid game ( F i n a l = d ) no longer contains any secret values related to the session ( π V i s ) at stage t, resulting in no advantage for A , i.e., Adv F i n a l = 0 .
Throughout this process, the difference between hybrid Game j and Game j 1 is limited to the replacement of either PRG outputs or ciphertexts in a single layer of the PBT. Under cryptographic CPA and PRG security assumptions (see Definitions A1 and A2), such replacements should be computationally indistinguishable to any adversary A .
To formalize this, we construct a reduction from the ability of A to distinguish between two adjacent hybrid games to breaking the cryptographic CPA and PRG security assumptions. Specifically, if A can distinguish between Game j and Game j 1 , then we can construct an algorithm that invokes A as a subroutine to break either the PRG security assumption or the CPA security assumption. In particular, if the change between the games involves replacing PRG outputs, we construct an algorithm ( B PRG ) that invokes A as a subroutine to break the PRG security assumption; if the change involves replacing ciphertexts generated under the public keys stored in the PBT, we construct an algorithm ( B CPA ) that invokes A as a subroutine to break the CPA security assumption of the PKE scheme. We describe the construction of B PRG and B CPA as follows.
  • The B PRG algorithm simulates Game j through the following procedure:
    1.
    Query the challenger in the PRG security game defined in Definition A1 to obtain a sequence of random values ( r 1 , r 2 , , r 2 d j ) .
    2.
    Let { A k | k [ 2 d j , 2 d j + 1 1 ] } denote the ( j ) -th level of the PBT ( { A z } z = 1 Y ). In this game, any query that uses the PRG to compute on the secret value ( s v ) in the tuple ( s k , p k , h , e , s v ) stored in node A k will have its PRG output replaced with the corresponding random value ( r k 2 d j + 1 ).
    3.
    For the remainder of the execution, the simulation proceeds identically to Game j 1 and outputs the bit returned by A .
    We now formally analyze the simulation described above and show that it is perfect. Specifically, we prove that the views of A in hybrid Game j 1 and Game j are computationally indistinguishable. Observe that the only way for A to distinguish between the two hybrid games is by distinguishing a sequence of random values ( ( r 1 , r 2 , , r 2 d j ) ) from those generated by the PRG H prg . Since the queries issued by A must satisfy the freshness (see Definition 10), it follows from conditions F 3 and F 4 with respect to freshness that A is not allowed to obtain any secret values held by users of the group associated with the target session ( π V i s ) at stage t. In particular, this implies that the secret values stored in node A k of the PBT at level j remain unknown to A . We conclude that the above simulation is correct, without B PRG accessing the seed of the PRG security game.
    Hence, if A can successfully distinguish between Game j 1 and Game j, then B PRG can leverage the advantage of A to break the security of the PRG across multiple instances of the PRG security game, reaching a contradiction. We therefore derive the following advantage bound:
    A d v j 1 A d v j + 2 d j · Adv A PRG .
  • The B CPA algorithm simulates Game j through the following procedure:
    1.
    Query the challenger in the CPA security game defined in Definition A1 to obtain a sequence of public keys ( p k 1 , p k 2 , , p k 2 d j ) .
    2.
    Let { A k | k [ 2 d j , 2 d j + 1 1 ] } denote the ( j ) -th level of the PBT ( { A z } z = 1 Y ). In this game, if a query (e.g., Q Comm ) involves encrypting a secret value ( s v ) using the public key stored in node A k , the original public key in the tuple ( s k , p k , h , e , s v ) is replaced with the corresponding public key ( p k k 2 d j + 1 ).
    3.
    Set M 0 0 and M 1 s v .
    4.
    Send M 0 , M 1 to the challenger in the CPA security game and receives the ciphertext ( c ).
    5.
    For the remainder of the execution, the simulation proceeds identically to Game j 1 and outputs the bit returned by A .
    The only difference between Game j 1 and Game j is that in Game j, for queries (e.g., Q Comm ), the resulting ciphertexts are replaced with fake ciphertexts, whereas in Game j 1 , they are generated using the public key encryption scheme.
    We now formally analyze the simulation described above and show that it is perfect. Specifically, we prove that the views of A in hybrid Game j 1 and Game j are computationally indistinguishable. First, the queries issued by A must satisfy the freshness (see Definition 10), and it follows from conditions F 3 and F 4 with respect to freshness that A is not allowed to obtain any secret values held by users of the group associated with the target session ( π V i s ) at stage t. Since the adversary does not possess the corresponding secret keys, A cannot distinguish between the public keys used in Game j 1 and those replaced in Game j with the challenge public key provided by the CPA security game. Observe that the only way for A to distinguish between the two hybrid games is by distinguishing a sequence of ciphertext ( c ) from those generated by the PKE scheme.
    We conclude that the above simulation is correct.
    Hence, if A can successfully distinguish between Game j 1 and Game j, then B CPA can leverage the advantage of A to break the security of the CPA across multiple instances of the CPA security game, reaching a contradiction. Consequently, we derive the following advantage bound:
    A d v j 1 A d v j + 2 d j · Adv A CPA .
In the Game Final , all PRG outputs in the PBT are replaced with uniformly random values, and all ciphertexts that were originally generated using the public keys stored in the PBT are replaced with encryptions of zero messages. These replacements eliminate any dependence on secret values throughout the tree. As a result, the view of the adversary ( A ) is completely independent of the underlying secrets. Therefore, A cannot achieve any non-negligible advantage, which implies that
Adv Final = 0 .
Recall that for each hybrid game ( Game j ), where 1 j Final = d , we have the following advantage bound:
Adv j 1 Adv j + 2 d j · ( Adv A PRG + Adv A CPA ) .
For every j, 0 j d , we obtain the following:
Adv 0 j = 1 d 2 d j · ( Adv A PRG + Adv A CPA ) .
Combined with the definition of Adv A = Adv 0 + 1 2 , we derive the following:
Adv A j = 1 d 2 d j · ( Adv A PRG + Adv A CPA ) + 1 2 .
Since j = 1 d 2 d j = 2 d 1 , we conclude the following:
Adv A ( 2 d 1 ) · ( Adv A PRG + Adv A CPA ) + 1 2 .
Proof of Theorem 2. 
In the Registration phase of our BcDKM scheme, each vehicle anonymously registers with the CA and obtains a pseudonym generated by the CA, which is computed by encrypting the vehicle’s real identity using the CA’s private key. Vehicles use these pseudonyms to participate in the VC system, ensuring that only the trusted CA can link a pseudonym to a vehicle’s real identity. As a result, vehicle privacy is preserved throughout the system. □
Proof of Theorem 3. 
In our BcDKM scheme, the shared group session key negotiated among vehicles acting as cloud members and the cloud administrator within the VC is generated by our CGKAwAM scheme. According to Theorem 1, any adversary characterized by the threat model described in Section 2.2 cannot compromise the security of other independent session keys, even if it obtains a session key of a specific cloud member within a particular VC. This implies that our BcDKM scheme achieves known-key security. □
Proof of Theorem 4. 
Forward secrecy requires that even if a vehicle is compromised by an attacker at a certain point in time, all session keys established prior to the compromise remain confidential. In our BcDKM scheme, the shared group session keys negotiated among vehicles and the cloud administrator within the VC are derived through our CGKAwAM scheme. Since the CGKAwAM scheme has been proven to provide forward secrecy (see Theorem 1), it follows that all previously generated session keys remain secure, even if a vehicle is later compromised. Therefore, the proposed BcDKM scheme satisfies forward secrecy. □
Proof of Theorem 5. 
Post-compromise security requires that if a vehicle is compromised at a certain point in time and the compromised vehicle subsequently performs a session key update that is not influenced by the attacker, then the updated session key remains confidential. In our BcDKM scheme, all session key updates are executed by the CGKAwAM scheme. As proven in Theorem 1, CGKAwAM ensures that newly updated session keys are secure, even if previous session states or keys have been compromised, provided the attacker does not control the update process. Therefore, BcDKM inherits this property from CGKAwAM and satisfies post-compromise security. □
Proof of Theorem 6. 
In our scheme, each VC is associated with a dedicated VCSC smart contract, which is deployed and maintained by the cloud administrators on a distributed blockchain shared among RSUs. These contracts store essential VC metadata, including the VC identifier, administrator and member lists, and mapping information, ensuring that this data is consistently replicated and accessible across all RSUs. Consequently, vehicles entering a new area can directly obtain accurate and up-to-date VC information from the local RSU without relying on any centralized discovery platform. This distributed design removes single points of failure and significantly improves the reliability and efficiency of VC information dissemination and discovery. □
Proof of Theorem 7. 
In our BcDKM scheme, the cloud administrator list (i.e., Adm) is shared among all cloud members, allowing any cloud member within a VC to submit a proposal message to any cloud administrator in the list. The administrator receiving the proposal message then executes the Commit algorithm to process it. This design introduces redundancy and eliminates the reliance on a single cloud administrator. Our BcDKM scheme preserves this feature by recording the Adm list in the VCSC smart contract of each VC. Consequently, proposal messages can be processed by any listed administrator, ensuring system continuity and resilience against individual failures. □
Proof of Theorem 8. 
In our CGKAwAM scheme, all group-related proposals, including Join, Remove, and Update, are initiated by a single user through a proposal message. An administrator then processes the proposal by executing the Commit algorithm and broadcasts the resulting control messages to all relevant group members. Since this proposal-then-commit paradigm completes within a single round of message dissemination, our BcDKM scheme builds upon CGKAwAM and also achieves round optimality for both key establishment and key updating. This one-round design is particularly well-suited for VC environments that demand high responsiveness and minimal coordination overhead. □
Proof of Theorem 9. 
In the CGKAwAM scheme, group key management is organized using a binary tree structure (i.e., PBT), where each user corresponds to a leaf node. This design allows for efficient operations such as key establishment and key update, with both communication and computation overhead growing logarithmically with the number of group members. Since our BcDKM scheme builds upon CGKAwAM, it inherits this scalability property, ensuring that key management remains efficient, even in large-scale VC environments. □
Proof of Theorem 10. 
The CGKAwAM scheme inherently supports asynchrony, meaning that the key update process does not rely on strict message ordering or simultaneous delivery. Any user can asynchronously submit proposal messages (e.g., Join, Remove, or Update) to the group administrator. Building on this feature, our BcDKM scheme inherits the asynchronous capability of CGKAwAM, enabling vehicles to complete state updates and session key updates without requiring real-time online presence or strict synchronization. □

References

  1. Cao, D.; Wang, X.; Li, C.; Lv, C.; Na, X.; Xing, Y. Future Directions of Intelligent Vehicles: Potentials, Possibilities, and Perspectives. IEEE Trans. Intell. Veh. 2022, 7, 7–10. [Google Scholar] [CrossRef]
  2. Whaiduzzaman, M.; Sookhak, M.; Gani, A.; Buyya, R. A survey on vehicular cloud computing. J. Netw. Comput. Appl. 2014, 40, 325–344. [Google Scholar] [CrossRef]
  3. Boukerche, A.; Robson, E. Vehicular cloud computing: Architectures, applications, and mobility. Comput. Netw. 2018, 135, 171–189. [Google Scholar] [CrossRef]
  4. Wu, Q.; Zhang, L.; Yang, Y.; Choo, K.K.R. Certificateless signature scheme with batch verification for secure and privacy-preserving V2V communications in VANETs. IEEE Trans. Dependable Secure Comput. 2025, 22, 1448–1459. [Google Scholar] [CrossRef]
  5. Olariu, S. A survey of vehicular cloud research: Trends, applications and challenges. IEEE Trans. Intell. Transp. Syst. 2019, 21, 2648–2663. [Google Scholar] [CrossRef]
  6. Mekki, T.; Jabri, I.; Rachedi, A.; Ben Jemaa, M. Vehicular cloud networks: Challenges, architectures, and future directions. Veh. Commun. 2017, 9, 268–280. [Google Scholar] [CrossRef]
  7. Awais, S.M.; Yucheng, W.; Mahmood, K.; Akram, M.W.; Hussain, S.; Das, A.K.; Park, Y. PUF-based privacy-preserving simultaneous authentication among multiple vehicles in VANET. IEEE Trans. Veh. Technol. 2023, 73, 6727–6739. [Google Scholar] [CrossRef]
  8. Danquah, W.M.; Altilar, D.T. Vehicular cloud resource management, issues and challenges: A survey. IEEE Access 2020, 2020 8, 180587–180607. [Google Scholar] [CrossRef]
  9. Zheng, Y.; Chen, Y.; Tan, C.; Yang, Y.; Shu, C.; Chen, L. Optimization model for vehicular network data queries in edge environments. J. Cloud Comput. 2024, 13, 145. [Google Scholar] [CrossRef]
  10. Maurer, U.M.; Wolf, S. The diffie-hellman protocol. Des. Codes Cryptogr. 2000, 19, 147–171. [Google Scholar] [CrossRef]
  11. Li, J.; Wen, M.; Zhang, T. Group-based authentication and key agreement with dynamic policy updating for MTC in LTE-A networks. IEEE Internet Things J. 2015, 3, 408–417. [Google Scholar] [CrossRef]
  12. Kim, Y.; Perrig, A.; Tsudik, G. Group key agreement efficient in communication. IEEE Trans. Comput. 2004, 53, 905–921. [Google Scholar] [CrossRef]
  13. Jiang, Q.; Ni, J.; Ma, J.; Yang, L.; Shen, X. Integrated authentication and key agreement framework for vehicular cloud computing. IEEE Netw. 2018, 32, 28–35. [Google Scholar] [CrossRef]
  14. Joux, A. A one round protocol for tripartite Diffie-Hellman. In Proceedings of the International Algorithmic Number Theory Symposium, Leiden, The Netherlands, 2–7 July 2000; pp. 385–393. [Google Scholar]
  15. Khurana, D.; Rao, V.; Sahai, A. Multi-party key exchange for unbounded parties from indistinguishability obfuscation. In Proceedings of the International Conference on the Theory and Application of Cryptology and Information Security, Auckland, New Zealand, 29 November–3 December 2015; pp. 52–75. [Google Scholar]
  16. Wu, Q.; Mu, Y.; Susilo, W.; Qin, B.; Domingo-Ferrer, J. Asymmetric group key agreement. In Proceedings of the 28th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Cologne, Germany, 26–30 April 2009; pp. 153–170. [Google Scholar]
  17. Zhang, R.; Zhang, L.; Wu, Q.; Zhou, J. Secure channel establishment scheme for task delivery in vehicular cloud computing. IEEE Trans. Inf. Forensics Secur. 2024, 19, 2865–2880. [Google Scholar] [CrossRef]
  18. Zhang, L.; Meng, X.; Choo, K.K.R.; Zhang, Y.; Dai, F. Privacy-preserving cloud establishment and data dissemination scheme for vehicular cloud. IEEE Trans. Dependable Secur. Comput. 2018, 17, 634–647. [Google Scholar] [CrossRef]
  19. Zhang, R.; Han, W.; Zhang, L.; Wang, L.; Meng, X. Provably secure receiver-unrestricted group key management scheme for mobile ad hoc networks. Sensors 2023, 9, 4198. [Google Scholar] [CrossRef] [PubMed]
  20. Zhang, L. Key management scheme for secure channel establishment in fog computing. IEEE Trans. Cloud Comput. 2019, 9, 1117–1128. [Google Scholar] [CrossRef]
  21. Alwen, J.; Coretti, S.; Dodis, Y.; Tselekounis, Y. Security Analysis and Improvements for the IETF MLS Standard for Group Messaging. In Proceedings of the Annual International Cryptology Conference, Santa Barabara, CA, USA, 17–21 August 2020; pp. 248–277. [Google Scholar]
  22. Xu, G.; Yin, X.; Li, X. ER-CGKA: Efficient and robust continuous group key agreement scheme with post-compromise security forward security for IoV. PLoS ONE 2024, 19, e0307867. [Google Scholar] [CrossRef]
  23. Balbás, D.; Collins, D.; Vaudenay, S. Cryptographic administration for secure group messaging. In Proceedings of the 32nd USENIX Security Symposium, Anaheim, CA, USA, 9–11 August 2023; pp. 1253–1270. [Google Scholar]
  24. Cheng, Y.; Agrawal, D.P. An improved key distribution mechanism for large-scale hierarchical wireless sensor networks. Ad Hoc Netw. 2007, 5, 35–48. [Google Scholar] [CrossRef]
  25. Xu, G.; Li, X.; Jiao, L.; Wang, W.; Liu, A.; Su, C. BAGKD: A batch authentication and group key distribution protocol for VANETs. IEEE Commun. Mag. 2020, 58, 35–41. [Google Scholar] [CrossRef]
  26. Li, C.; Ji, S.; Zhang, X.; Wang, H.; Li, D.; Liu, H. An Effective and Secure Key Management Protocol for Message Delivery in Autonomous Vehicular Clouds. Sensors 2018, 18, 2896. [Google Scholar] [CrossRef]
  27. Zhang, R.; Xue, R.; Liu, L. Security and privacy on blockchain. ACM Comput. Surv. 2019, 52, 25. [Google Scholar] [CrossRef]
  28. Li, X.; Yin, X. Blockchain-based group key agreement protocol for vehicular ad hoc networks. Comput. Commun. 2022, 183, 107–120. [Google Scholar] [CrossRef]
  29. Royo, S.; Ballesta-Garcia, M. An overview of lidar imaging systems for autonomous vehicles. Appl. Sci. 2019, 9, 4093. [Google Scholar] [CrossRef]
  30. Fan, L.; Wang, J.; Chang, Y.; Li, Y.; Wang, Y.; Cao, D. 4D mmWave radar for autonomous driving perception: A comprehensive survey. IEEE Trans. Intell. Veh. 2024, 9, 4606–4620. [Google Scholar] [CrossRef]
  31. NVIDIA. DRIVE AGX Orin Developer Kit Overview. 2025. Available online: https://developer.nvidia.com/drive/agx (accessed on 5 September 2025).
  32. Nguyen, H.; Guan, Y.L. DSRC Performance Under the Adjacent Channel Interference of Cellular-Based V2X at 5.9 GHz Band. In Proceedings of the IEEE 99th Vehicular Technology Conference, Singapore, 24–27 June 2024; pp. 1–5. [Google Scholar]
  33. Tsiounis, Y.; Yung, M. On the security of ElGamal based encryption. Public Key Cryptogr. 1998, 1431, 117–134. [Google Scholar]
  34. MIRACL Ltd. MIRACL Cryptographic SDK: Multiprecision Integer and Rational Arithmetic Cryptographic Library. 2025. Available online: https://github.com/miracl/MIRACL (accessed on 5 September 2025).
  35. Gillmor, D. Negotiated Finite Field Diffie-Hellman Ephemeral Parameters for Transport Layer Security (TLS). Available online: https://www.rfc-editor.org/rfc/rfc7919 (accessed on 5 September 2025).
  36. Remix. 2025. Available online: https://remix.ethereum.org (accessed on 5 September 2025).
  37. NS-3 Network Simulator. 2025. Available online: https://www.nsnam.org (accessed on 5 September 2025).
Figure 1. System model.
Figure 1. System model.
Sensors 25 05699 g001
Figure 2. High-level workflow of the BcDKM scheme.
Figure 2. High-level workflow of the BcDKM scheme.
Sensors 25 05699 g002
Figure 3. Message sequence of different procedures: (a) registration; (b) preparation; (c) initialization; (d) VC management.
Figure 3. Message sequence of different procedures: (a) registration; (b) preparation; (c) initialization; (d) VC management.
Sensors 25 05699 g003
Figure 4. Execution time of different phases: (a) VC initialization; (b) Join; (c) Remove; (d) Update.
Figure 4. Execution time of different phases: (a) VC initialization; (b) Join; (c) Remove; (d) Update.
Sensors 25 05699 g004
Figure 5. Energy consumption in the VC initialization phase.
Figure 5. Energy consumption in the VC initialization phase.
Sensors 25 05699 g005
Table 1. Comparison of features with those reported in related works.
Table 1. Comparison of features with those reported in related works.
PropertyTGKA [12]NIGKA [15]GKD [26]AGKA [17]ER-CGKA [22]BcGKA [28]Ours
Vehicle privacy××
Known-key security
Forward secrecy×××××
Post-compromise security×××××
Distributed VC Discovery×××××
Distributed Management××××××
Round optimality××
Large-scale VC scalability×××××
Table 2. Computation overheads (I).
Table 2. Computation overheads (I).
SchemeVC InitializationJoin
GKD [26] O ( N ) · ( 9 T P m + 10 T H + 14 T A m + 4 T M m ) ( 5 T P m + 5 T H + 7 T A m + T M m )
+ O ( N ) · ( 3 T M m + T A m )
AGKA [17] O ( N ) · ( 3 T P m + 2 T M m + T P a )
+ O ( N 2 + N ) · T M m + 2 T P a
O ( N ) · ( 3 T P m + 4 T M m + T P a ) + 2 T P a
BcGKA [28] O ( N ) · ( 3 T P m + 3 T M m + 9 T H + O ( N ) · T A m ) O ( N ) · ( T P m + 2 T M m + 2 T H ) + 5 T P m + 4 T H + 2 T A m
Ours O ( N ) · ( 3 T P m + 2 T M m + 2 T H ) O ( N log 2 N ) · T H + O ( log 2 N ) · ( 2 T P m + T M m )
+ O ( N ) · ( T P m + T M m )
Table 3. Computation overheads (II).
Table 3. Computation overheads (II).
SchemeRemoveUpdate
GKD [26] O ( N ) · ( 3 T M m + T A m ) O ( N ) · ( 3 T M m + T A m )
AGKA [17] O ( N ) · ( 3 T M m + 2 T P m + T P a ) + 2 T P a O ( N ) · ( 3 T P m + 4 T M m + T P a ) + 2 T P a
BcGKA [28] O ( N ) · ( T P m + 2 T M m + 2 T H ) + 5 T P m + 4 T H + 2 T A m O ( N ) · ( T P m + 2 T M m + 2 T H ) + T H + T A m
Ours O ( N log 2 N ) · T H + O ( log 2 N ) · ( 2 T P m + T M m )
+ O ( N ) · ( T P m + T M m )
O ( N log 2 N ) · T H + O ( log 2 N + 1 ) · ( 2 T P m + T M m )
+ O ( N ) · ( T P m + T M m )
Table 4. Communication overhead.
Table 4. Communication overhead.
SchemeVC InitializationJoinRemoveUpdate
Overhead Rounds Messages Rounds Messages Rounds Messages Rounds Messages
GKD [26]4 O ( N ) · 4 1 O ( N ) 1 O ( N ) 1 O ( N )
AGKA [17]1 O ( N ) 1 O ( N ) 1 O ( N ) 1 O ( N )
BcGKA [28]2 O ( N ) · 2 1 O ( N ) 1 O ( N ) 1 O ( N )
Ours1 O ( N ) 1 O ( N ) 1 O ( N ) 1 O ( N )
Table 5. Gas Consumption.
Table 5. Gas Consumption.
MethodDeployUploadUpdateReturn
VIDSC504,15591,498--
VCSC1,246,805185,56029,61825,193
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

Zhang, M.; Meng, R.; Zhang, L. BcDKM: Blockchain-Based Dynamic Key Management Scheme for Crowd Sensing in Vehicular Sensor Networks. Sensors 2025, 25, 5699. https://doi.org/10.3390/s25185699

AMA Style

Zhang M, Meng R, Zhang L. BcDKM: Blockchain-Based Dynamic Key Management Scheme for Crowd Sensing in Vehicular Sensor Networks. Sensors. 2025; 25(18):5699. https://doi.org/10.3390/s25185699

Chicago/Turabian Style

Zhang, Mingrui, Ru Meng, and Lei Zhang. 2025. "BcDKM: Blockchain-Based Dynamic Key Management Scheme for Crowd Sensing in Vehicular Sensor Networks" Sensors 25, no. 18: 5699. https://doi.org/10.3390/s25185699

APA Style

Zhang, M., Meng, R., & Zhang, L. (2025). BcDKM: Blockchain-Based Dynamic Key Management Scheme for Crowd Sensing in Vehicular Sensor Networks. Sensors, 25(18), 5699. https://doi.org/10.3390/s25185699

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