The focus of this survey as mentioned previously is on blockchain-based authentication mechanisms in vehicular networks. We surveyed a wide range of the existing schemes in the literature and categorized them based on the type of the blockchain used for authentication into three categories: (a) private, (b) public, and (c) consortium blockchain-based authentication. These categories are discussed below.
4.1. Private Blockchain-Based Authentication Protocols
A private blockchain is a limited access blockchain in which only a particular group of trusted entities (which is decided by a network administrator) is granted access permissions to the blockchain transactions for performing specific tasks.
The nature of private blockchains enables establishing a high level of trust during authentication since only a small group of trusted nodes are allowed to access the vehicles’ authentication parameters stored in the blockchain. Additionally, being controlled by a single organization allows easier, more efficient management and supervision over the authentication data kept at the ledger. Consequently, private blockchains are implemented by many researchers to serve authentication purpose in IoV platforms.
The authors in [
111] incorporated a private blockchain technology with intelligent contract to address the issue of new nodes joining the IoV network. The intelligent contract is designed initially for the verified cloud servers, roadside units and vehicle manufacturers which form a contract node group that use Rayleigh consensus mechanism to authorize or reject the new joining requests. When a new node sends a registration application to join the contract group, each node in the contract node group evaluates the received application and grants its digital signature if it agrees to trust the node, otherwise no digital signature is granted. Then, if 51% of the contract nodes grant their signatures, the node is accepted to the contract node group and a new block is added to the chain. Otherwise, the node’s information is added to the list of suspicious nodes and broadcasted to the rest of the network to block its future joining attempts. This results in suppressing the joining of malicious nodes from the root.
The authors also addressed the authentication of registered vehicles by adopting a Public Key Infrastructure (PKI) technology based on cryptographic accumulator to enhance the authentication efficiency. The authentication process is performed in two phases; the first phase is to verify the vehicle’s identity to the roadside unit, and the subsequent phase is the mutual verification between the RSU and the cloud server. In the first phase, the vehicle sends its ID and public key to the RSU which verifies the vehicle identity and adds its own public key to the vehicle information and sends them to the corresponding cloud service provider authority (CA) after encryption with the public key of this CA. Upon receiving the message from the RSU, the CA starts the second phase by first decrypting the message with its own private key, and then searches the vehicle ID and the public key of the RSU in the blockchain to check whether the provided information is correct. If successfully found, a new session key is generated by the CA and sent to the RSU along with the corresponding vehicle ID after encryption with the RSU public key. The RSU decrypts the packet with its private key, stores the session key for securing further communication with the CA, and sends the issued digital certificate to the vehicle encrypted with its public key, upon which the authentication process is culminated.
The proposed solution is evaluated using Veins open-source framework through a small-scale network of 13 nodes in terms of the time overhead and communication cost needed for the encryption process related to the blockchain technology and for the whole authentication process. Their scheme proves to provide high authentication efficiency in preventing malicious attacks with low time and communication costs. However, large packet loss is encountered during the registration of the vehicles and the key distribution process.
The authors in [
112] discussed the issue of computing and communication bottlenecks faced by the centralized authentication protocols and single Trusted Authority (TA) schemes that could fail to authenticate the large number of simultaneous vehicle requests within a limited time during high mobility. Thus, they suggested a blockchain-based RSU-assisted authentication and key agreement protocol for a multi-TA network model by offloading part of the authentication process to the RSUs to achieve more decentralization. The aim of offloading is to reduce the resource bottlenecks of the TAs, which results in improving the authentication efficiency. The blockchain technology is used to address the cross-TA authentication issue which is caused by the high mobility of the vehicles in a multi-TA environment. Instead of restarting the whole authentication process when a vehicle exits the coverage area of one TA to the coverage area of another TA, the blockchain adoption allows the new TA to continue the authentication process that was started by the old TA since they manage the same ledger that keeps all vehicle-related information.
The network model consists of four types of nodes: vehicle nodes (VNs) and RSUs which are both considered as untrusted nodes in their threat model, TAs which are assumed to be semi-trusted nodes, and a data center (DC) which is assumed as a fully trusted network entity that stores all vehicle-related information. A smart contract is used to automate part of the authentication process and the delegated proof-of-stack [
113] is adopted as a consensus mechanism for more efficient resource utilization and power consumption. The whole scheme is composed of three phases, namely the initialization phase, the registration phase, and the authentication phase. In the initialization phase, the system administrator generates a master key and sends it to all RSUs and TAs. Each VN must be registered with the nearest TA during the registration phase in which a unique ID is granted to it and kept as a record with a unique pointer P in the ledger as well as in the vehicle’s memory. The pointer P is then broadcasted to all TAs which jointly pack it into a new block and link it to the previous block in the chain.
The authentication phase has five steps. In the first step, the VN enters the RSU communication range and issues an authentication request to the RSU. Then, the RSU forwards a part of the request message to the TA in the second step asking for the VN-related authentication parameters. In the third step, the TA executes the smart contract in the blockchain. It checks first whether P exists in the blockchain, then retrieves the VN-related authentication parameters from the DC according to P, and then sends these parameters to the RSU. Once the RSU successfully authenticates the TA and the VN, it sends the updated parameters to the VN and the TA in the fourth step. In the final step, after the TA successfully authenticates the RSU, it sends the updated parameters to the DC via the secure channel. Once the DC has updated the parameters, the TA sends acknowledgment message to the RSU. After the VN successfully authenticates the TA, it updates the authentication parameters in its memory. After the VN and the TA negotiate a session key, it remains valid as long as the VN lies within the communication range of the RSU. Once the VN leaves the communication range of the RSU, the session key will be revoked.
A detailed security analysis is performed on the proposed scheme using ProVerif tool [
114] to check its robustness against different security attacks. The results prove that the scheme can resist eavesdropping attack, replay attack, VN impersonation and VN capture attacks, TA and RSU spoofing attacks, and jamming attack. It also guarantees backward/forward secrecy and VN anonymity.
The authors in [
115] proposed a protocol termed as “BlockAPP” which serves for both authentication and privacy preservation of vehicles identities. The system architecture contains a registration server and multiple service providers. The registration server is responsible for validating and managing vehicles identities whereas the service providers perform the authentication process. The registration server can only write to the blockchain whereas the service providers have both read and write permissions on the blockchain. Further, two types of blocks are defined within their blockchain, i.e., one is created by the registration server to keep a log of the registered vehicles and the other is added by the service providers to keep track of the access history.
The proposed scheme has three phases: the registration phase where the vehicles interact with the registration server, the authentication phase and the authorization phase which are handled by the different service providers. The registration phase starts when the vehicle sends a registration request message containing its original id (i.e., driver’s license or vehicle registration number) to the registration center and then a key exchange process takes place using the Elliptic Curve Diffie Hellman (ECDH) key exchange protocol [
116] to exchange their public keys. After which the registration server generates a pseudo id by encrypting the vehicle’s original id with its session public key and sends it to the vehicle. Upon receiving an acknowledgement from the vehicle, the registration server adds a transaction with the vehicle-related information to the blockchain after validation. A vehicle then sends a message containing its pseudo id and the session parameters obtained from the previous phase to a service provider which authenticates the vehicle’s identity by comparing the received data against the vehicle’s information kept in the blockchain. If matched, the vehicle is successfully authenticated, and an access log transaction is added to the blockchain by the service provider. The vehicles can then apply for various services during the authorization phase by sending a service request message with the digital signature of the service. The use of pseudo ids for authentication instead of original ids while restricting their validity to only one session, not only protects the privacy of vehicles but also prevents the system from identity spoofing attacks.
The authors in [
117] suggested a secure mutual authentication scheme with reduced dependency on certification authority (CA) by introducing a private blockchain framework. In addition to vehicles, the physical entities involved in their model are the CA and the revocation authority (RA) which both have complete control over the blockchain. The RSUs, on the other hand, have only read permission over the blockchain.
The scheme is composed of three phases, namely, system initialization, registration of the vehicles, and mutual identity authentication and revocation. In the first phase, the CA initializes the system parameters including the elliptic curve parameters and hashing functions. Moreover, the public key pairs are generated and transferred to the blockchain network entities, i.e., CA, RA, and RSUs. When a vehicle first registers with the CA, it submits its original vehicle id obtained from the motor vehicle’s division. The CA verifies the vehicle’s original id and assigns for it a Pseudo Id (PID) along with the Elliptic Curve Cryptography (ECC) public–private key pair. The PID is then signed digitally by the CA using the Elliptic Curve Digital Signature Algorithm (ECDSA) [
118], forming a new transaction which is added to the blockchain under the proof-of-authority consensus mechanism among the multiple CAs. When the vehicle’s registration information, i.e., PID and the digital certificate, is added successfully to the blockchain, a pointer referring to its storage location in the blockchain along with a unique transaction id are sent back to the CA. At this point, the CA transfers the pointer, the PID, the certificate along with the ECC key pair to the vehicle’s OBU. The CA also stores a record mapping the real identity of the vehicle to the Pseudo identity in the hash table in its local database which helps facilitate the lookup in the case of traceability and revocation of malicious vehicles.
When the vehicle becomes active on the road, it initiates an authentication request containing its PID, hash pointer, and transaction id to the nearest RSU. The RSU then uses the received PID as an index to query the blockchain for the vehicle’s respective transaction, if verified, the RSU sends a challenge message to the vehicle encrypted with its public key and waits for the reply. If the vehicle successfully decrypts the challenge message and sends the correct response, it is authenticated successfully by the RSU. Extensive simulation using Vein’s framework and OMNeT++ network simulator proves the efficiency of this scheme in terms of authentication delay, transaction throughput, and packet-delivery ratio.
The authors in [
119] proposed a distributed message authentication scheme using a private blockchain, where vehicles can authenticate the messages broadcasted in the network in a distributed manner. The system model is composed of a single Root Trusted Authority (RTA), multiple Local Trusted Authorities (LTAs), RSUs, and vehicles. The RTA is a fully trusted authority that is responsible for managing the entire system and performing the registration process whereas the individual LTAs are responsible for authenticating the vehicles in their local areas. The authors define two types of nodes based on the task they perform on the blockchain, namely, block generation nodes and block verification nodes. The generation of blocks is performed through the proof-of-work consensus mechanism and is assigned to the infrastructure nodes, i.e., LTAs due to their high computing capability, while the verification of the blocks is the responsibility of the vehicles. Since the vehicles are highly mobile and have a relatively low computing power, the consensus during block verification must be completed quickly, and thus the use of the Practical Byzantine Fault Tolerance (PBFT) consensus mechanism.
The proposed message authentication scheme includes six phases: initiation, registration, message signing, message verification, block generation, and block confirmation. In the initiation phase, the RTA generates its public–private key pair, the genesis block of the blockchain and the list of LTAs. During the registration phase, a vehicle’s owner sends the vehicle’s information and its biometric information to the RTA which in turn generates a pair of asymmetric keys and transfers it along with the system key to the vehicle’s local memory. The registration of LTAs also takes place in this phase by the RTA in the same approach as the vehicles’ registration. When a vehicle needs to broadcast a message into the network, it computes the message’s hash value h(m) and concatenates it with the hash values of the previous blocks in the blockchain and encrypts them together with its private key. This arrangement is then attached as a header to the actual message content along with a timestamp and encrypted with the system key before being broadcasted to other vehicles. This process of message signing guarantees the legitimacy of the sending vehicle and thus the authenticity of the broadcasted information since the unauthorized vehicles cannot have the system key used for message signing as it is distributed only to the registered vehicles during the registration phase.
As the V2V messages are broadcasted among the vehicles, the corresponding LTA keeps collecting those messages until it forms a block after a certain number of messages. The block is then verified through the PBFT consensus by the vehicles and their LTA. Once the block is verified, the LTA transfers it to the other LTAs for block confirmation process. If confirmed by all LTAs, they send the confirmed block to the RTA which then concatenates the block officially into the blockchain. The simulation results reveal that the proposed scheme can prevent impersonation attacks and single point of failure issue while providing a highly efficient blockchain-based authentication in terms of the total consensus delay and throughput.
The above-mentioned private blockchain-based authentication schemes can be found in
Table 4 for easy reference.
4.2. Public Blockchain-Based Authentication Protocols
A public blockchain is an open access blockchain in which everyone can access, send, receive, and verify the different transactions of the blocks. Since it is a fully opened blockchain, even the vehicles can participate in the authentication process by looking up the ledger for the targeted authentication parameters. This provides a better utilization of the available computing resources in the IoV environment compared to restricting the authentication process to a few trusted nodes, thus a more decentralized, time efficient authentication process is achieved. These characteristics of a public blockchain have attracted many researchers to adopt it for IoV authentication.
The authors in [
120] contributed to address the authentication delay issues and time complexity in IoV network. The proposed work provides real-time authentication and adversary detection through the adoption of a public blockchain. The authors used the wireless channel characteristics, such as the received power and the Link Fingerprint (LF) along with the hash technology of blockchain to detect any intrusion in V2V communication in real-time. The main concept is that the wireless link between any two communicating vehicles has a unique fingerprint which is generated from the channel’s power characteristics. As a result, the variation in the received power of the communicating vehicles must highly correlate, otherwise the communication path is intercepted, and an adversary is detected. Each vehicle uses the LF, a pseudo-random freshness parameter N, (that changes every time to prevent the system from replay attacks), and the hash of the previous block used to generate the hash value. The hash is then stored in its local memory and sent to the cloud to be stored in the publicly accessible ledger. A sending vehicle encapsulates the packet with a header containing its hash value before being sent to the receiving vehicle. When the receiving vehicle gets the packet, it removes the packet header and looks up the hash value in the ledger to check the authenticity of the sender vehicle, if it exists, it accepts the package data; otherwise, an adversary is detected, and the packet is discarded.
MICAz mote—a hardware wireless sensor module—is installed on two vehicles to serve as a wireless communication interface in the V2V arrangement. Measurements are recorded indoor and outdoor in real-time and reported with the aid of MATLAB R2020a. The Pearson Correlation Coefficient [
121] is computed to detect an adversary in the network when its value is less than or equal to 0.9. The scheme is also evaluated in terms of time complexity which is found to be as low as O(1) due to the simple and lightweight hash function used in their blockchain.
The authors in [
122] proposed a scalable blockchain-based protocol that deploys a dynamic proof-of-work consensus mechanism and Physical Unclonable Functions (PUFs) for authentication and trust establishment. Their approach depends on the assumption that the smart vehicles are equipped with PUF components that generate hardware fingerprints which serve as unique identities replacing passwords and secret keys. The authentication process passes through two phases, namely the setup phase and data transfer phase. The vehicle’s registration process is performed during the setup phase, where each vehicle is given a pair of public and private keys and allocated an account address in the blockchain. A smart contract named “enforcer” is utilized to initiate the communication between the vehicles and the blockchain whereas the RSUs serve as the blockchain miners and the certificate authority as well. When a vehicle generates data traffic, the enforcer first checks its existence in the list of registered vehicles stored in the RSUs. If it is registered, a PUF challenge is then sent to the vehicle. If the vehicle succeeds in this challenge, the authentication is completed successfully, and a communication link is established between the vehicle and the local blockchain. A digital certificate is then issued by the RSU to the vehicle to serve anonymity and privacy preserving purposes for future authentication process.
After registration and successful authentication, a vehicle can communicate with other entities in IoV environment and exchange data in the data transfer phase. The deployed dPoW consensus mechanism allows the protocol to scale based on the incoming traffic generated by the vehicles and their use of PUFs makes the vehicles immune to physical and impersonation attacks. A detailed analysis is conducted through software implementation and NS3 simulation tool to evaluate their scheme in terms of the four-way tradeoffs of distributed systems which are scalability, decentralization, security, and latency. Two types of delay were measured: (1) the authentication delay at the RSU, which is time needed to authenticate a vehicle by the RSU and (2) the time to finality, which is the time needed to form a block, mine it, and reach a consensus on the mined block. The results show that their authentication scheme efficiently satisfies all the above-mentioned four properties without sacrificing any of them.
The authors in [
123] designed a novel blockchain-assisted authentication scheme for Artificial Intelligence (AI)-envisioned IoV-enabled smart cities called “BBAS-IoV” by which authentication is performed both individually and in batches. The network model is composed of several smart cities; each is managed by a separate Trusted Authority (TA) and divided into multiple clusters. Each TA is responsible for initializing the system parameters during the initial setup phase, registering RSUs and vehicles within its service area during the registration phase and distributing certificates and private/public key pairs later to them. The model contains a fog server connected to each group of geographically related RSUs and a group of cloud servers forming the publicly accessible blockchain center.
Beside the setup and registration phases, the protocol has other six phases, namely, message signing, authentication, group key management, blockchain formation, AI-based secure big data analytics using blockchain and dynamic nodes addition. During the authentication phase two types of authentications exist, i.e., V2V and batch authentication. The V2V authentication enables each vehicle to authenticate its neighbors in its cluster in the smart city. The batch authentication is then used by the RSU to authenticate all its clusters’ vehicles simultaneously which saves time and reduces the computation overhead of the whole scheme. After that, a group key is agreed upon and granted to each cluster to be used for securing communication among intra- and inter-cluster vehicles and their managing RSU. The blockchain formation phase is handled by fog and cloud servers in two steps; first, each fog server receives the list of transactions and their compact signatures from the associated RSUs and verifies them, if the signatures are valid, it transmits the partial blocks to a cloud server in the blockchain center. Then, the cloud servers convert the received partial blocks into complete blocks which are then mined and voted for through the PBFT consensus mechanism to decide on their eligibility to be added to the blockchain. The signature verification and block verification applied in this scheme ensures that data poisoning attacks which inject malicious transactions in the blockchain are avoided in the proposed BBAS-IoV protocol. This results in fully trusted blockchain transactions that can be a great asset for deriving highly accurate ML models and thus correct predictions and decision making can be achieved.
Detailed formal security analysis using the Automated Validation of Internet Security Protocols and Applications (AVISPA) tool as well as informal security analysis is provided to evaluate the security features of the proposed BBAS-IoV scheme. The results obtained show that various security attacks namely, replay attacks, man-in-the-middle attack, vehicle and RSU impersonation attacks, privileged-insider attack, and ephemeral secret leakage attack are prevented. Extensive performance evaluation through simulation with the aid of Multi-precision Integer and Rational Arithmetic Cryptographic Library (MIRACL) reflects high efficiency of the scheme in terms of computation, communication, and storage overheads.
The authors in [
124] designed a blockchain-based authentication scheme for vehicular accident detection and notification in IoV-enabled intelligent transportation systems, called BCAS-VADN. The scheme deploys a cloud/edge computing framework that consists of cloud servers, edge servers, RSUs, and vehicles. The system architecture is divided into multiple clusters with a Cluster Head (CH) for each, which acts as an intermediate entity to arrange the communication between the cluster members and the RSUs. Each RSU is associated with an edge server and all edge servers are linked to cloud servers in the blockchain center through a public channel. The proposed scheme consists of five phases, namely, system initialization, enrollment, authentication, blockchain verification and addition, and dynamic node addition phases.
The proposed scheme assumes the existence of a trusted registration authority that is completely responsible for initializing the system parameters including elliptic curve, one-way hash function and its own private–public key pair as well as enrolling all the entities in the network, i.e., cloud servers, edge servers, RSUs, and vehicles. The authentication phase then takes place in two steps: V2CH authentication in which a vehicle and its associated CH mutually authenticate, then CH2RSU authentication where the CH and its associated RSU authenticate each other. Upon a successful authentication process, each vehicle can securely report accident-related transactions to its associated CH if it detects an accident on the road. The cluster head then securely transfers the received transactions to its associated RSU which in turn sends them secretly to the corresponding edge server. The edge server prepares a partial block containing the accident-related transactions, the Merkle tree root, and a digital signature. This incomplete block is forwarded to its associated cloud server in the blockchain center forming a complete block from the received partial block. At this point, all the cloud servers in the blockchain center participate in the block verification process through the PBFT consensus and if verified, the complete block containing the vehicle accident-related information is added to the blockchain center and made available for use by other vehicles for optimal route selection and better road-related decisions.
Using the Automated Validation of Internet Security Protocols and Applications (AVISPA) simulation tool, the proposed BCAS-VADN proves to be secure against multiple attacks including replay, man-in-the-middle attacks, impersonation and privileged-insider attacks, physical vehicle capture attack, and ephemeral secret leakage attack.
The authors in [
125] introduced a scheme for securely authenticating the vehicles and the messages exchanged in the network using a public blockchain, called BCPPA. The scheme employs the Elliptic Curve Digital Signature Algorithm (ECDSA) but supports replacing it by an improved signature scheme to enable batch authentication. The BCPPA protocol consists of three phases: system initialization, message signing, and message verification. For improved security, the system initialization is performed by both the vehicles and the certificate authorities via the private-type derivation and the public-type derivation processes. The private-type derivation is performed by the vehicles to generate a root private key which is kept at the vehicle’s OBU to be used later to derive a fresh private key for each future communication. A corresponding public key is also generated by the vehicle and sent to the certificate authority which uses it to generate the new public key and certificate in the public-type derivation process. The public blockchain is used in this scheme to store the public certificates which are embedded into the transactions so that the vehicles can obtain the certificates from the blockchain instead of preloading all of them in the OBUs, which helps mitigate the storage burden of the vehicles. In the message signing phase, a vehicle that needs to broadcast a message to other vehicles in the network must sign the message by first executing the private-type derivation to obtain the current private key and then triggering the smart contract to obtain the transaction id that keeps the public certificate corresponding to the generated private key. The receiver then verifies whether the received message/signature pair is valid or not, if valid, the received traffic is accepted, and decisions can be made based on it.
Extensive simulation using Vanet-MobiSim and NS2 demonstrates that the proposed BCPPA can resist several attacks such as replay attack, impersonation attack, DDoS attack, man-in-the-middle attack, stolen verifier attack, side-channel attack, message modification attack, birthday collision attack, and hijacking attack. The authors claim good efficiency in terms of communication cost, time cost, average packet delay, and packet loss ratio.
The authors in [
126] proposed a lightweight Decentralized Key Management Mechanism with Blockchain (DB-KMM) and bivariate polynomial. The network model involves three types of entities: Vehicle Service Provider (VSP), Blockchain Network (BN), and the vehicles. The VSP is responsible for deploying the BN and the smart contract, issuing the transaction data, registering, updating, and invalidating the vehicles’ public keys. The BN is constructed by the RSUs which are responsible for creating and mining the new blocks through the PoW consensus mechanism while providing public keys and services to the vehicles. The proposed DB-KMM is composed of six phases, namely, system setup, registration, authentication, key agreement, public key update, and public key revocation. In the system setup phase, the VSP derives the system parameters such as the ECDSA and the Elliptic Curve Integrated Encryption Scheme (ECIES) parameters, the bivariate function parameters as well as initializing the smart contract. Each vehicle that aims to join the VANETS network must register itself through the VSP which generates for it a pair of public and private keys while registering the public key in the smart contract. When a vehicle needs to communicate with other VANETS entities, it first mutually authenticates with the nearest RSU. Once the mutual authentication succeeds, a key exchange mechanism takes place between the vehicle and its corresponding RSU in order to agree on a shared session key for securing the subsequent communication.
The DB-KMM provides an automatic public key management including update and revocation via the smart contract. For the update process, when a vehicle sends a key update request containing its ID, old public key, and validity period to the VSP, the VSP triggers the smart contract to generate a new public/private key and a new validity period for the requesting vehicle. The VSP then forms a new transaction containing the vehicle ID, new public key, and validity period and sends it to the BN. The RSUs forming the blockchain network perform the consensus on the received transaction and if the mining succeeds, the updated transaction is added to the blockchain, and the new public key is transferred to the requesting vehicle. Lastly, when a malicious behavior is noticed on some vehicle, the VSP initiates a revocation transaction to the BN and triggers the smart contract to remove the vehicle’s identity and public key from the blockchain.
The performance of the proposed DB-KMM is tested in terms of the end-to-end packet latency and the packet loss ratio using OMNeT++ and Veins simulators and the results prove that it greatly improves the cost of public key management compared to the traditional PKI management. Further, security analysis shows that the scheme can resist DoS attack, public key tampering attack, internal attacks, as well as collusion attacks.
The authors in [
127] extended the conventional blockchain by introducing two novel data structures called the Merkle Patricia Tree (MPT) and the Chronological Merkle Tree (CMT) and then proposed a Blockchain-based Privacy Preserving Authentication scheme (BPPA) based on this extended blockchain. The system model includes the following entities: certificate, certificate authority, Law Enforcement Authority (LEA), RSUs, and vehicles. The certificate includes the public key, the expiry date, the timestamp, and the encrypted mapping between the vehicle’s real identity and its certificates. The certificate authority issues two types of transactions: the issuance transaction which includes the issued certificate, the timestamp and the signatures of the trusted authorities, and the revocation transaction which contains the revoked certificate. The LEA is responsible for the registration of vehicles and monitoring their behavior. Additionally, it concatenates and organizes the transactions received from the certificate authority to generate a block and transfers the block to all the RSUs for verification. When a certificate issuance transaction or a certificate revocation transaction is broadcasted by the certificate authority, a leaf node is inserted into or removed from the MPT, respectively, and the root of the MPT is updated. The transaction and the corresponding root of MPT are recorded chronologically in the CMT.
The root of CMT is considered as the transaction root whereas the root of MPT is taken as the certificate root. The transaction root and the certificate root are then written immutably in the blockchain. The significance of this extended blockchain being developed is represented by two aspects. First, it provides a simplified authentication technique whether a certain certificate is in the MPT or not. Given the certificate root and a record containing the nodes along the path, the authenticator can compute a hash using the given record. If the hash value is equal to the certificate root in the blockchain, it is proven that the certificate exists in the MPT. Second, it provides transparency within the activities of the authorities by using transactions roots; since, if the transaction root is given, it can be verified when a certain certificate is issued or revoked. Conditional privacy preserving is provided by allowing each vehicle to utilize several certificates, while the mapping between the certificates and the real identities is encrypted by the LEA’s secret key and stored in the blockchain and can only be revealed by the LEA in case of malicious behavior. Security investigation proves that BPPA is resistant to forgery attack, man-in-the-middle attack, replay attack, identity revealing attack, and authority abuse attack. Further, experimental results demonstrate the efficiency of the scheme in terms of communication and computation costs, low latency, and high throughput.
The above-mentioned public blockchain-based authentication schemes can be found in
Table 5 for easy reference.
4.3. Consortium Blockchain-Based Authentication Protocols
A consortium blockchain, also known as hybrid blockchain, is a combination of both private and public blockchain in which the read access can be open or restricted, and only a small group of nodes belonging to different organizations is responsible for making the consensus.
Since consortium blockchains incorporate the best of public and private blockchains, that is, a mixture of decentralization with good level of trust at the same time, it has been the most popular blockchain type being implemented by researchers for IoV authentication. In such way, the authentication can be performed with a high degree of trust since only a group of trusted entities perform the consensus of the authentication data blocks, while guaranteeing an efficient performance in terms of resource utilization and authentication time delay due to the semi-decentralized nature of consortium blockchains.
The authors in [
128] optimized the Byzantine consensus algorithm by adopting time sequence and gossip protocol [
129] to validate IoV information for correctness before adding them to the consortium blockchain. The use of gossip protocol, specifically the push–pull mode, enables faster data exchange among IoV nodes, as each two neighboring nodes can have the same information in one cycle. Two types of nodes are defined in the proposed scheme, i.e., Vehicle Communication Nodes (VCNs) and Roadside Communication Nodes (RCNs) in addition to the blockchain cloud platform used as storage for all IoV data. Due to their high computing and storage capabilities, RCNs are used as consensus-makers in the proposed Byzantine Consensus Algorithm with Time-sequence and Gossip protocol (BCA-TG). To ensure data integrity and authenticate the data sources, any data generated by a VCN or RCN must be agreed upon by more than half of the RCNs for the new block to be granted and linked to the blockchain.
In the BCA-TG protocol, each RCN has an Update Information (UI) vector containing the Local Information (LI) of all RCNs in the consensus network as elements. Initially, the UI of each RCN will have only its own LI while all the other LI elements corresponding to the other RCNs are set to null. For example, if 5 RCNs are used for consensus making, the UI of is initially: = {,0,0,0,0}. After which each RCN starts to communicate its UI vector with the neighbors in its view through the push–pull mode of gossip protocol until all RCNs have UIs with no null values. At this point, the element which forms more than half of the elements in the updated UI vector is considered the true information or the Consensus Information (CI) that will then be added to a new block and linked to the blockchain. The proposed scheme proves to have high fault tolerance since it can determine the CI even if the faulty or Byzantine nodes form 49% of the network. Moreover, their use of time sequence provides high scalability through its control over the entry and exit of nodes to/from the network and better convergence speed is achieved compared to the ordinary Byzantine consensus algorithm.
The authors in [
130] handled the cross-datacenter authentication issue in Vehicular Fog Computing (VFC) environment by proposing BLA—a Blockchain-based Lightweight Anonymous authentication scheme. The system model consists of multiple regions; each region is managed by a Service Manager (SM) which is responsible for authenticating all OBUs and managing all Vehicular Fog Datacenters (VFDs) represented by the RSUs in its region. A Witness Peer (WP) exists in each region to write the authentication logs to the ledger maintained by the corresponding SM. The ledger is only accessible by the members of the consortium blockchain, such as the SMs, the WPs and the audit department which is assumed to be a fully trusted authority responsible for registering all the network entities underneath.
The RSUs within a region serve as access points to the vehicles in the IoV paradigm and also as fog computing units for providing real-time services to authorized OBUs. The proposed BLA protocol includes five phases: initialization, registration, authentication, consensus, and service-delivery phases. The initialization phase takes place only once via the initial setup of system parameters by the audit department. Then, the registration of SMs and OBUs is conducted by the audit department during the registration phase in which each registered entity is allocated a pair of private and public keys using Elliptic Curve Cryptography (ECC) and Diffie–Hellman (DH) cryptography mechanisms. During the authentication phase, each SM authenticates the OBUs within its region, and the authentication results are then passed to the subsequent phase where they are written to the ledger by the consensus makers, i.e., WPs, through PBFT consensus protocol. The way they addressed the cross-datacenter authentication is by allowing a flexible option to vehicles to choose whether to be reauthenticated or not upon entering a new VFD during the service-delivery phase.
The noninteractivity property that BLA has, in which a vehicle sends only one message to its SM for authentication or service requesting without the need for exchanging any acknowledgement messages between them, makes it lightweight in both communication and computation cost. In addition, the utilization of pseudonym preserves the privacy of vehicles and ensures anonymity. Security analysis proves that the proposed BLA protocol ensures most of the security aspects in IoV network, such as confidentiality, integrity, traceability, and non-repudiation. Moreover, extensive simulations are performed to measure the performance in terms of response time. The results obtained show that low time overhead is achieved which reflects the suitability of BLA algorithm for real-time VFS.
The authors in [
131] improved the reliability of the authentication scheme proposed in [
130] through the adoption of mutual authentication and key exchange mechanism. During the authentication phase, instead of just allowing one-way authentication in which only the SMs can check the authenticity of vehicles [
130], a two-way authentication is enabled in [
131] where a SM first authenticates the identity of a vehicle using the ECC then the vehicle authenticates the communicating SM in the same way. Upon successful mutual authentication, a session key is established and exchanged between the two parties for securing their future communication; which is a prerequisite for secure authentication protocol, unlike the work done in [
130]. Moreover, the scheme guarantees the forward secrecy. The timestamps used for generating the authentication parameters prevent replay attacks. An extensive performance evaluation and comparison is conducted which reveals that the proposed solution outperforms the work in [
130] in terms of communication and computational overheads.
The authors in [
132] proposed a Blockchain-based Privacy preserving Authentication System (BPAS) for VANETs which supports password and biometric login-based authentication. BPAS relieves the overhead of having an online registration center during the authentication phase by providing a TA-independent authentication scheme in which vehicle’s authentication is handled by RSUs or other vehicles in the network. However, the TA is responsible for other system phases namely, system initialization, smart contract deployment, vehicle registration, and vehicle revocation phases. The scheme deploys a technique based on fuzzy extractor for biometrics extraction and an Attribute-Based Encryption (ABE) scheme to protect the privacy of users by encrypting their blinding identities to ensure that no other entity can decrypt them except for the blockchain managers.
During the system initialization phase, the TA initiates the system parameters including the ECC, the ABE, and the blockchain parameters. A smart contract is then deployed by the TA into the blockchain to automate the authentication process. Each vehicle then needs to be registered with the TA to obtain its secret authentication parameters during the registration phase. First, the owner of a vehicle must choose a physical identity, a password along with his/her biometrics which will be sent to the TA. The TA then calculates a corresponding blinding identity (AID) and a Vehicle Public Key (VPK) from the received parameters and uploads them as a unique tuple {AID, VPK} to the Vehicle Public Key Table (VPKT) in the smart contract. The AID is also sent to the vehicle’s OBU which is assumed to be tamper-proof. When a vehicle wishes to send data to nearby vehicles or RSUs, the vehicle’s owner provides the login information (i.e., password and biometrics) which are verified by the OBU. If correct, the OBU encrypts the vehicle’s AID using the ABE and sends it along with the message and a timestamp to the receiver (i.e., a vehicle or RSU), otherwise, the OBU rejects the message. The receiving entity then validates the freshness of the message through the timestamp. If valid, it initiates a transaction to the blockchain managers requesting for the associated vehicle public key. The blockchain managers then lookup the VPKT using the AID to obtain the corresponding VPK which is then transmitted to the transaction issuer to be verified. Upon successful validation, the authentication is completed, and the message is accepted.
BPAS also supports conditional traceability and vehicle’s revocation in case of detecting any malicious behavior by simply allowing the TA to delete the corresponding tuple in the VPKT. The proposed scheme is evaluated in terms of time cost and security features and is found to be resistant to replay attacks, impersonation attacks, DDoS, and password guessing attacks.
The authors in [
133] proposed an Efficient Authentication Scheme over Blockchain for Fog computing-enabled IoV (EASBF). The authors consider three types of communication in their fog-enabled model, i.e., V2V, V2I, and V2R. Each fog area can provide different services to users and vehicles within its coverage range, and it includes one or more RSUs, one or more CAs, a single Blockchain Manager (BM), and a single Authentication Manager (AM). The CAs are trusted entities responsible for updating and managing the certificates issued for vehicles in their fog areas. The BMs are deployed to manage the blockchain and authenticate the OBUs whereas the AMs write the results of authentication into the blockchain (which together form the consortium blockchain). The PBFT is used for consensus.
The proposed scheme contains five phases: initialization, registration, mutual authentication and key exchange, consensus, and certificate update. A central secured entity, named TA, is responsible for initializing the system and the public parameters used for the cryptographic functions, as well as registering the OBUs and RSUs during the first two phases of EASBF. Then, mutual authentication and key exchange takes place between OBUs and BMs, and a session key is shared among them for subsequent interactions. Upon successful authentication and key exchange, the BM shares the results of authentication with all AMs, which store them into a new block and add it to the large public register under the PBFT consensus. During the consensus phase, one of the AMs acts as a “Speaker” which is responsible for initiating the consensus process while the rest serve as the congress members who participate in the voting scenario initiated by the Speaker. Finally, the certificate update phase which supports two scenarios: the ability to move from one fog area to another transparently without the need of re-authentication and certificate update upon a vehicle’s request. The Random Oracle Model (ROM) [
134] and AVISPA tool [
135] are deployed for formal security verification which proves the resistance of the proposed scheme against DDoS, replay, man-in-the-middle, identity theft, traffic analysis, masquerading, and session key disclosure attacks. Additionally, an extensive performance evaluation shows its efficiency in terms of computation, communication, and storage overheads.
The authors in [
136] proposed an approach to address both anonymous authentication and efficient revocation of vehicles in VANETs through the use of pseudo-ids, blockchain, and revocation tags. The scheme defines three types of nodes, namely, a supervisory node which is the Traffic Department (TD), accounting and revocation nodes represented by the multiple TAs, and verification nodes which are the road-side units. The proposed scheme is composed of four phases: initialization, registration, mutual authentication, and expeditious revocation. The privacy of vehicles during authentication is preserved by using the pseudo-ids granted to them by the RSUs. When an RSU generates a pseudo-id for a vehicle during the registration phase, the RSU stores it into a Trusted Cloud Server (TCS) and transfers a pointer referring to the storage location of the pseudo-id to the corresponding TA. The TA then forms a transaction with the vehicle’s registration information including its public key certificate, the pointer to its pseudo-id stored in the TCS, and a unique Transaction id (TID) and uploads it to the blockchain. Using this TID, the identity of a vehicle can be later authenticated by viewing the corresponding records in the blockchain.
This arrangement in which the blockchain keeps only pointers to the pseudo-ids while the pseudo-ids themselves are kept in the unlimitedly huge TCS improves the scalability of the system. In addition, an illegal vehicle can be determined by checking whether its pseudo-id has a revocation tab instead of looking up the whole certificate revocation list which greatly reduces the computational overhead. Further, detailed security analysis proves that the proposed scheme can resist replay attacks and prevent single point of failure problem.
The authors in [
137] addressed the interference issue caused by the continuous key updating in large-scale VANETS environments by proposing a blockchain-based framework for secure authentication and efficient group key updating in edge computing-enabled VANETs. They proposed a mutual V2R authentication scheme that employs certificateless cryptographic mechanisms in order to avoid the key escrow issue. The system model consists of a cloud layer which serves as a trusted authority, an edge layer represented by the distributed RSU clusters, and a user layer of OBUs.
The scheme is composed of two phases: offline registration phase and authentication phase in which each RSU authenticates a group of vehicles simultaneously as a batch which helps significantly in reducing the computation cost. Elliptic curve cryptography, one-way hash function, and bilinear pairing are utilized for generating secret key pairs and session keys during the offline registration phase and for securing communication during the authentication process. In the authentication phase, the shared session key of a vehicle is constructed independently which helps mitigate the interference in the regular V2R data exchange. In addition, an efficient group key management mechanism that employs the Chinese Remainder Theorem (CRT) [
138] is suggested by the authors for reliable and secure V2V communication. A consortium blockchain is deployed during the dynamic group key updating process to record the identity of the participating vehicles in order to provide traceability of vehicle’s historical data when needed. Formal security analysis proves the resiliency of the proposed scheme to chosen message attacks and replay attacks. Low storage, communication, and computation overheads are also recorded through deep performance evaluation.
The authors in [
139] designed a novel data structure based on the idea of the Unspent Transaction Output (UTXO) adopted in Bitcoin in combination with a group of online operations, namely, issue, transfer, query, and revocation. The system framework consists of two layers: the entity layer which is mainly the vehicles and RSUs that need authentication service and the trust layer represented by the TAs and the consortium blockchain. Each TA is responsible for managing a dedicated group of entities which all together form an organization. When creating a new block, a sufficient number of organizations must sign it to be accepted to the consortium blockchain. However, the authors developed the use of tokens in the UTXO to serve as a one-time guarantee for the authenticity of an entity instead of using incentives as in Bitcoin. Once an entity receives a token from another entity in the public ledger, this not only means an authentication request being issued, but also proves or guarantees the authenticity of the dedicated sender.
The UTXO data structure is formed by three key items, namely, basic, in, and out items. The basic item includes the transaction id, the operation name, the timestamp, and the signature of the requester to prove its ownership. The in item represents the information of the sending entity while the out item includes information related to the receiving entity. The authors define several operations that are as follows. The Issue operation is used by trusted authorities to generate new tokens for the entities, which can take place only upon two circumstances: the initial enrollment of a vehicle and periodically generated for well-behaved entities. Similarly, the Query operation can be used to retrieve the UTXO of a transaction on the blockchain through transaction id in order to check the trustworthiness of a sending entity. The Revoke operation is the key operation introduced by the authors for revocation management instead of the conventional certificate revocation list that implies extra storage and computation overheads. However, the main operation used for authentication purposes is the Transfer operation and the procedure is as follows: when an entity sends an authentication request to Entity , Entity extracts the unique transaction id from the request message and uses it to query and retrieve the transaction UTXO from the blockchain. Then, the identities of the sending and receiving entities in the retrieved UTXO are compared against the ones received in the authentication request to check their legitimacy. If confirmed, the existence of the UTXO should be verified in the receiving entity’s (‘s) local database to check for token reuse. If the UTXO does not exist, the authentication is successful and it is recorded immediately in the database for future authentication references, otherwise, the authentication is rejected. In addition to resisting replay attacks (due to the use of timestamps and one-time tokens), the scheme prevents man-in-the-middle attack, identity revealing attack, as well as authority abuse attack.
The above-mentioned consortium blockchain-based authentication schemes can be found in
Table 6 for the ready reference.