Next Article in Journal
Electromagnetic Acoustic Transducers for Robotic Nondestructive Inspection in Harsh Environments
Previous Article in Journal
Golay Complementary Waveforms in Reed–Müller Sequences for Radar Detection of Nonzero Doppler Targets
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Enhanced Secure Identity-Based Certificateless Public Key Authentication Scheme for Vehicular Sensor Networks

1
School of Traffic and Transportation, Beijing Jiaotong University, Haidian District, Beijing 100000, China
2
Research and Development Department, Beijing Zhonghaiwenda Information Technology Company, Haidian District, Beijing 100000, China
3
Electronic Transaction Cryptographic Application Group, State Cryptography Administration Office of Security Commercial Code Administration, Fengtai District, Beijing 100000, China
*
Author to whom correspondence should be addressed.
Sensors 2018, 18(1), 194; https://doi.org/10.3390/s18010194
Submission received: 7 December 2017 / Revised: 3 January 2018 / Accepted: 8 January 2018 / Published: 11 January 2018
(This article belongs to the Section Sensor Networks)

Abstract

:
Vehicular sensor networks have been widely applied in intelligent traffic systems in recent years. Because of the specificity of vehicular sensor networks, they require an enhanced, secure and efficient authentication scheme. Existing authentication protocols are vulnerable to some problems, such as a high computational overhead with certificate distribution and revocation, strong reliance on tamper-proof devices, limited scalability when building many secure channels, and an inability to detect hardware tampering attacks. In this paper, an improved authentication scheme using certificateless public key cryptography is proposed to address these problems. A security analysis of our scheme shows that our protocol provides an enhanced secure anonymous authentication, which is resilient against major security threats. Furthermore, the proposed scheme reduces the incidence of node compromise and replication attacks. The scheme also provides a malicious-node detection and warning mechanism, which can quickly identify compromised static nodes and immediately alert the administrative department. With performance evaluations, the scheme can obtain better trade-offs between security and efficiency than the well-known available schemes.

Graphical Abstract

1. Introduction

According to a report by the World Health Organization (WHO), the total number of worldwide road traffic deaths caused by various traffic accidents is 1.25 million per year [1]. To manage increasingly heavy traffic scenarios and enhance driving safety, wireless sensor networks and smart devices have recently been implemented on a large scale in the transportation systems of many countries. As part of an intelligent transportation system (ITS), vehicle sensor networks (VSNs) provide a better resolution to traffic problems via the collection, processing and dissemination of traffic information within the scope of interconnected sensor nodes, which are mounted on vehicles and roadsides. The static wireless access nodes alongside the roads, which are called Road Side Units (RSUs), are used to provide communication to vehicles and infrastructure in their coverage area. VSNs involve different network modules, such as Wireless Access in Vehicular Environment (WAVE) [2]/Dedicated Short-Range Communication (DSRC), Wireless Fidelity (Wi-Fi) and the 4th Generation Communication System (4G)/Long Term Evolution (LTE) that work together. Among them, Vehicle-to-Vehicle (V2V) and Vehicle-to-Infrastructure (V2I) communications are two main forms of VSNs that use the DSRC protocol [3] and WAVE to perform their operations in collaboration. VSNs are rapidly changing and self-organizing with multiple-hops topologies over wireless links. Various wireless communication devices on vehicles broadcast traffic information to RSUs or other vehicles every 100–300 milliseconds according to the DSRC. Thus, it must take a short amount of time to deal with a message without delay for VSN entities.
The information among VSN entities include traffic conditions (e.g., road defects, congestion situations and temperature conditions, etc.) and vehicle conditions (e.g., location, speed, traffic status, etc.) [2]. These messages are indispensable for vehicles and infrastructure, such as traffic control centers, which use these messages to make critical decisions in an emergency situation. If an adversary modifies messages or inserts malicious messages to the network, it will result in traffic chaos or even accidents. Furthermore, DSRC/WAVE is inferior to other network modules in terms of security support [4]. DSRC is a wireless protocol that makes data to be easily monitored, altered and forged, including sensitive data concerning drivers’ privacy [5]. Therefore, to protect users’ privacy and information integrity in VSNs is important. In addition, RSUs are always deployed in an unattended environment. Hardware tampering occurs when the sensors and other on-board hardware RSUs are manipulated by adversaries [6]. Adversaries may capture and take control the RSUs via a physical attack and extract all cryptographic information from the compromised RSUs, and they may relocate a tampered RSU to launch a malicious attack [7] or make many clones from the tampered RSU. Therefore, resisting RSU compromise and replication attacks is a key consideration in the designed authentication. However, many existing secure schemes fail to withstand RSU compromise attacks.
This paper presents an enhanced identity-based (ID-based) certificateless authentication scheme to solve the aforementioned problems. The main contributions provided are as follows:
  • The proposed scheme is based on the certificateless public key cryptograph (CLPKC) [8], which can solve the certificate management problem in the public key infrastructure (PKI) [9] and the key escrow’ problem in identity-based encryption (IBE) [10,11]. The scheme use the elliptic curve multiplication instead of the bilinear pairing because that the relative computational costs of a pairing operation are approximately 20 times higher than that of an elliptic curve scalar multiplication [12]. In addition, this scheme supports batch authentication by simultaneously verifying several messages. Moreover, the proposed scheme is provably secure against the adaptive chosen message attack in the random oracle model as long as the computational elliptic curve discrete logarithm problem (ECDLP) is intractable.
  • In the scheme, an anonymous communication and conditional privacy-preserving authentication are supported to protect users’ privacy. Every user is issued a smart card with distinct pseudo identities, which are generated by trusted authorities (TAs) according to user’s actual identity and secret information. The user’s actual identity can be uniquely revealed by the TA when necessary.
  • The proposed scheme uses a position-based authentication scheme to reduce the possibility of RSU capture attacks. The proposed scheme also provides a compromised-RSU detection and alarm mechanism to identify misbehaving RSUs and immediately alert the traffic administrative department.

2. Related Work

In this section, we provide a brief summary of the related literature focused on authentication schemes in VSNs. Many authentication schemes have been proposed in recent years, and most of them are certificate-based or ID-based authentication schemes. Paruchuri et al. [13] proposed a certificate-based scheme, which provides anonymous authentication and location privacy using a smart card that stores the session keys of RSUs. However, this scheme fails to support V-to-V authentication. The RSUs and vehicles require additional computations to verify the certificates issued by the TA. In addition, each on-board unit (OBU) stores many session keys from different RSUs. And during the authentication process, the encrypted message is transmitted to identify the owner of the session key to be decrypted, which is inefficient for VSN authentication. Finally, if one RSU is compromised, then the stored session keys in the RSU, including the session keys of neighboring RSUs, are leaked.
Almeida et al. [14] proposed a PKI-related key distribution protocol for VSNs that alleviates the burden of traditional PKI authentication schemes. However, many different keys are stored in each vehicle, and when a node is compromised, it will trigger a key revocation in a distributed fashion, which may cause an undesirable communication overhead. In addition, the PKI-based authentication mechanisms require additional computational overhead to verify the certificates of others.
To improve the scalability of certificate-based authentication schemes for VSNs, Calandriello [15] proposed a pseudonym-based authentication scheme to achieve efficiency and robustness. This scheme authorizes each OBU to generate its own pseudonyms without affecting the system security. However, each mobile node (vehicle) preloads many pseudonyms and related certificates in the story, which uses a considerable amount of memory. During a time period of τ , the scheme can also suffer from a tracking attack if the signature C e r t C A H ( K v i ) is unchanged. Moreover, the scheme does not address certificate revocation.
Zhang et al. [16] proposed an RSU-aided message authentication scheme in which a vehicle obtains a symmetric key from a RSU and communicates with other vehicles using a keyed hash message authentication code (HMAC). However, the scheme is fully relies on RSUs. If one RSU is controlled or compromised, the scheme will collapse.
Because of the certificate management problem, an ID-based scheme is a more precise replacement for the PKI-based scheme for vehicular-network applications [17]. Authentication schemes that use IBE, which was proposed by Shamir [10] in 1984 have been implemented in VSNs. Chim [18] proposed an ID-based authentication scheme with batch verification based on the above bilinear pairings for secure V-to-I communications. This scheme has lower communication costs than previously proposed ID-based schemes. However, Horng et al. [19] found that Chim’s scheme was vulnerable to impersonation attacks, in which a malicious vehicle can impersonate a valid vehicle and send fake messages to the RSUs or other vehicles. Horng et al. provided a secure scheme that overcame the weaknesses of the scheme in [18]. However, because the computational costs of one pairing operations are at least three times higher than that of a one point multiplication operation [20], these two schemes require heavy computational costs in the signature verification phase and are not suitable in rapidly changing networks. Furthermore, these mechanisms are only considered suitable for private networks [21] because of the key escrow problem based on IBE.
In 2003, Al-Riyami and Paterson [8] developed the concept of CLPKC. In this scheme, the full private key consists of two parts: the partial private key generated by the Private Key Generator (PKG) and the secret key selected by the user. Therefore, this scheme can solve the certificate management problem in PKI and the key escrow problem in IBE. Shim [22] proposed a secure conditional privacy-preserving authentication scheme (CPPA) using a pseudo-identity-based signature (IBS) scheme without using the MaptoPoint hash function [23]. This scheme achieves anonymous authentication, message integrity, traceability, and unlinkability, and it also maintains a balance between privacy and traceability. However, Liu [24] noted that Shim’s scheme could not be normal existential unforgeable against adaptive chosen-identity and chosen-message attacks. Pankaj [25] proposed an efficient certificateless signature scheme in HWSN. However, the scheme is lack of traceability and preserving identity privacy. Also, it suffered from a high overhead using bilinear pairing operation.
To reduce the authentication time and improve the computational efficiency for VSNs, He et al. [26] propose an ID-based CPPA scheme for VSNs based on the Elliptic Curve Cryptography (ECC), which satisfies security and privacy requirements. The scheme is more efficient than previously proposed schemes for VSNs. However, this scheme heavily relies on a tamper-proof hardware device in which an important master secret key is preloaded for each vehicle. If the master secret key is extracted by adversaries though side-channel attacks, such as power analyses and laser scanning [22], all malicious messages generated by the adversaries can be successfully verified and the entire system will be compromised. Lo et al. [27] proposed a faster ID-based scheme for VSNs based on ECC without using the special MaptoPoint hash function, which is efficient and consumes more computing time. This scheme also supports the batch signature and conditional privacy-preserving authentication; however, it is significantly dependent on secure communication channels. In the particle scenario, the vehicle-specific information is easily collected from overhearing the wireless network [7]. From the implementation perspective, the scheme has high costs and lacks of scalability. In addition, the schemes [26,27] suffered from privileged insider attacks in the PKG. If an adversary obtains the private key of one user issued by the PKG, he can easily forge a valid signature.

3. Background

In this section, we briefly introduce the network model and adversary model of our scheme.

3.1. Network Model

The proposed scheme applies a two-layer network model. The upper layer consists of the PKG, TA and a traffic information service center. The bottom layer includes vehicles equipped with wireless communication device and RSUs, which can communicate with one another using the DSRC/WAVE protocol.
Here, we should consider two application scenarios according to different locations of RSUs. First, RSUs are built on main roadways, which are the focus of most other schemes. The infrastructure and RSUs communicate through secure channels, such as the transport layer security protocol via wired connections [19]. Second, RSUs are deployed in unattended environments, such as highway roads. Thus, the cost of constructing optic and electric composite cables to provide power and communication between the RSUs and the infrastructure is high. In the second scenario, we deploy RSUs with batteries and short wireless communication ranges. Users can contact RSUs via single-hop or multi-hop communication, which is more robust and suitable for the second scenarios.
The two scenarios are shown in the Figure 1 and Figure 2.
TA: The TA registers the drivers and generates pseudo identities for valid users. The TA is the only party that can trace the vehicle and reveal the identities from the signers. The TA cannot be compromised and is fully trusted by all parties in the system.
PKG: The PKG is a trusted third party that generates partial private keys for the signers.
RSUs: RSUs are distributed along road sides equipped with an on-board sensory, processing, and wireless access point, and they are mainly used to verify the messages and transfer data among the vehicles and infrastructure in its coverage area, such as the traffic information service center, TA and PKG.
Vehicle: All vehicles are equipped with card reader, on-board sensory, processing, and wireless communication modules. All users who want to access the services from the VSNs will be issued a smart card with system parameters, which can help the TA to track the behaviors back to the owner of the smart card instead of the car. Smart card technology conforms to international standards (ISO/IEC 7816 and ISO/IEC 14443) [28,29]. With an embedded microcontroller, each smart card can store large amounts of data, and they have the computing ability to perform on-card functions (e.g., signature and authentication). The smart card can interact with card reader, which is mounted on the car. The communication protocol with neighboring vehicles and RSUs is 5.9-GHz DSRC [3] IEEE 802.11p.
Anchor nodes: In Figure 2, to prevent adversaries from inserting malicious nodes into the networks, the key point of our approach is to deploy certain anchor nodes with higher processing capabilities and a global position system (GPS) receiver. These nodes can help the system to reduce the possibility of static nodes (RSUs and anchor nodes) compromise attacks and immediately detect nearby controlled nodes using our method. We elaborate on the function of anchor nodes in Section 4.3.

3.2. Adversary Model

In reality, all communication channels among VSN entities are not explicitly secure. In Lo’s scheme, every transmit channel is assumed to be secure without considering this fact. In this paper, we assume that the communication channels are public and adversaries can conduct attacks, such as eavesdropping, insider attacks, stolen smart-card attacks and impersonation attacks, in which adversaries attempt to impersonate a legitimate user or a node. In addition, the adversary can conduct a physical attack on static nodes (RSUs and anchor nodes) and retrieve secret information and stored data from them particularly in an unwatched location. In further attacks, the adversary attempts to replicate the controlled nodes, deploy them in other places and manipulate the network with the clones or captured nodes.

4. Proposed Scheme

In this section, we proposed an enhanced ID-based certificateless authentication scheme based on the modification of the original CLPKC mechanism [8]. The scheme supports the V2I and V2V communication, and it consists of five phases: System Initialization, Register, Login, Signing and Verification. The symbols of our scheme are described in Table 1.

4.1. System Initialization

The PKG generates system parameters via running following steps. First, the PKG chooses a k-bit prime number n and generates the tuple { F n ,   E ( F n ) ,   G q ,   P } . Then the PKG picks a random number s Z q as its private key and computes P P K G = s · P . Furthermore, the PKG determines four one way hash functions: h 0 : { 0 ,   1 } Z q , h 1 : { 0 ,   1 } × G q × { 0 ,   1 } Z q , h 2 : G q 2 × { 0 ,   1 } × { 0 ,   1 } Z q , h 3 : { 0 ,   1 } × G q 2 × { 0 ,   1 } × G q   × { 0 ,   1 } Z q . The TA also selects a random r Z q as its private key and computes P T A = r · P . At last, the PKG publish system parameters Z = { F n ,   E ( F n ) ,   G q ,   P ,   P P K G ,   P T A ,   h 0 ,   h 1 ,   h 2 ,   h 3 } . The PKG and TA keep s and r secret, respectively.

4.2. Vehicle to RSU (the RSU Verifies the Vehicle)

4.2.1. Register

Every user who wants to access the services from VSNs is issued a smart card with system parameters offline from the TA at first. Note that the user must disclose his valid credentials such as I D card or driving license to the TA to get the smart card. The user’s credential number (the real identity I D of the user) is input to the smart card by the TA and will be recorded in the list of TA. In the beginning of the smart card activation, the user inserts his smart card into a card reader mounted on a car, and input his real identity I D and password P W . Note that the real identity is registered in the TA offline and can uniquely identify the user.
Upon receiving the I D and P W , in which I D Z q and P W Z q , the smart card compares I D with the stored one. If true, the smart card calculates h 0 ( P W b ) and h 0 ( I D ) , in which the b Z q is an arbitrary number and the length of b is enough large. Then the smart card selects a random number d 1 Z q as the user’s secret value and generates the public key P 1 = d 1 · P . Subsequently, the smart card sets s 1 = h 0 ( P W b ) I D and s 2 = s 1 + d 1 . The smart card encrypts { I D , h 0 ( P W b ) , P 1 } using the TA’s public key and sends it to the TA.
Upon receiving the register request, the TA decrypts it using the TA’s private key r and checks whether the I D is legal, and if so, the TA will make m pseudo identities for the user. The TA computes:
P I D 1 , i = r × h 1 ( E n c P T A ( I D ) h 0 ( P W b ) | | P 1 | | T ) + n i   mod q   , N i = n i · P , ( i = 1 m ) ,
where n i Z q is a random number, T Z q is the expiration date of the P I D 1 and m is the number of P I D s. For convenience, we set { E n c P T A ( I D ) h 0 ( P W b ) } = H 1 . The TA encrypts these P I D s { P I D 1 ,   H 1 ,   N ,   T } using P 1 and sends it to the smart card. Note that the TA stores the E n c P T A ( I D ) instead of the I D to prevent stolen I D list attacks. The TA stores the { P I D ,   E n c P T A ( I D ) ,     h 0 ( P W b ) ,   H 1 ,   N } in its memory.
When receives E n c P 1 { P I D 1 ,   H 1 ,   N ,   T } , the smart card decrypts and checks them via running P I D 1 , i · P = P T A · h 1 ( H 1 | | P 1 | | T ) + N i ,   ( i = 1 m ) . If the equations hold, which mean that adversaries do not tamper the pseudo identities, and the smart card calculates P I D i = P I D 1 , i + d 1 ,   ( i = 1 m ) . Otherwise, reject the P I D 1 . Here, every P I D . is generated as a combination of secret value of the TA and the user-chosen secret. Thus, adversaries cannot forge the valid P I D without the user-chosen secret d 1 . Subsequently, the smart card sends the tuples { P I D ,   H 1 ,   P 1 ,   N ,   T } to the PKG through a public channel.
Upon receiving the partial-secret-key request { P I D ,   H 1 ,   P 1 ,   N ,   T } , the PKG validates the P I D s by checking whether the following equations:
P I D i · P = P T A · h 1 ( H 1 | | P 1 | | T ) + N i + P 1 , ( i = 1 m )
hold within the validity of T . If yes, then the PKG generates partial secret keys for users as below:
P 2 , i = k i · P
d 2 , i = k i + h 2 ( P 1 , P 2 , i , P I D i , T ) × s   mod   q ,   ( i = 1 m )
where k i Z q is a random number. The PKG sends { P I D ,   P 2 ,   d 2 } back to the smart card. Else, reject the partial-secret-key request.
Upon receiving the partial secret keys, the smart card checks the authenticity of { P I D ,   P 2 ,   d 2 } via running:
d 2 , i · P = P 2 , i + h 2 ( P 1 , P 2 , i , P I D i , T ) · P P K G ,   ( i = 1 m ) .
If the equations hold, which imply that the { P 2 , d 2 } are generated by the PKG. Otherwise, reject them. Then the smart card stores { P I D ,   h 0 ( P W b ) ,   h 0 ( I D ) ,   s 2 , P 1 ,   P 2 ,   d 2 ,   b ,   T ,   N ,   H 1 } in the memory and deletes d 1 , I D , P W , s 1 to prevent smart card compromise attacks. The steps of the phase are depicted in Figure 3.

4.2.2. Login and Message Signing

The user inserts his smart card into a card reader, and inputs I D and P W . Then the smart card compares h 0 ( P W b ) and h 0 ( I D ) with the stored ones in it. If true, the smart card computes s 1 = h 0 ( P W b ) I D and d 1 = s 1 s 2 , and checks the validity period of P I D s, then performs the following operations. Otherwise, reject the request. The smart card deletes the I D , s 1 and P W .
  • Generate a traffic-related message M , then pick a random number l Z q and calculate L = l · P to give a freshness.
  • Choose a P I D i and its corresponding d 2 , i , and calculate:
    v = l + d 2 , i + d 1 × h 3 ( P I D i ,   P 1 ,   P 2 , i ,   M ,   L ,   t i m e )   mod q ,
    where t i m e is the current timestamp of the users’ system.
  • Send { P I D i ,   P 1 ,   P 2 , i ,   M ,   L ,   T ,   v ,   t i m e } to another VSN entities.

4.2.3. Verification

This phase is invoked when the verifier (a vehicle or RSU) receives the information { P I D i ,   P 1 ,   P 2 , i ,   M ,   L ,   T ,   v ,   t i m e } at the time t i m e , it uses the system parameters Z = { F n ,   E ( F n ) ,   G q ,   P ,   P P K G ,   P T A ,   h 0 ,   h 1 ,   h 2 ,   h 3 } to perform the following steps:
  • Validate the freshness of t i m e . If t i m e t i m e · T , then the verifier proceeds to the next step, else rejects the request, where · T indicates the valid time interval.
  • Then the verifier checks the expire time T of P I D i .
  • The verifier checks the equation:
    v · P = L + P 2 , i + h 2 ( P 1 ,   P 2 , i ,   P I D i ,   T ) · P P K G + P 1 · h 3 ( P I D i ,   P 1 ,   P 2 , i ,   M ,   L ,   t i m e )
If it holds, the verifier accepts the M , else outputs “invalid”.
After the user log out, the smart card delete the d 1 from its memory to prevent stolen smart card attacks. The steps of the phase are depicted in Figure 4.

4.2.4. Batch Verification

To enhance the effectiveness of the message verification, we require that vehicles or RSUs can aggregate n signatures into a single one and handle it at the same time. In the batch verification scheme, if one of the signatures is invalid, all signatures will be dropped or rejected. The proposed scheme supports batch verification. When the verifier receives numbers of requests, denoted as { P I D i , x ,   P 1 , x ,   P 2 i , x ,   M x ,   L x ,   T x ,   v x ,   t i m e x } ,   ( x = 1 n ) , it adds several random numbers to quickly detect which message is invalid in the batch. The concept is regarded as an efficient method in the batch verification [24].
The verifier checks the following equation:
( x = 1 n y x v x ) P = x = 1 n y x L x + x = 1 n y x P 2 i , x + ( x = 1 n y x h 3 , x ( P I D i , x ,   P 1 , x ,   P 2 i , x ,   M x ,   L x ,   t i m e x ) P 1 ,   x ) + ( x = 1 n y x h 2 , x ( P 1 , x ,   P 2 i , x ,   P I D i ,   x ,   T x ) ) P P K G ,
where y x ( x = 1 n ) are small random numbers.
If the equation holds, than the verifier accepts these messages, else detects the invalid messages and rejects them.

4.3. RSU to Vehicle (the Vehicle Verifies the RSU)

In this subsection, we use a position-based authentication method to reduce the possibility of node capture attacks.
As indicated in Section 3.1, there are two types of nodes. The anchor nodes and normal RSUs. The difference between them is that the anchor nodes obtain their position with the help of the built-in GPS receivers, whereas they are unknown for the RSUs. The anchor nodes have more computation and energy power than that of the RSUs. The anchor node has two main functions. First, it broadcasts its position in real time to help nearby RSUs calculate their coordinates. Second, it can immediately detect abnormal RSUs inside its range.
We implement an efficient approach based on the Received Signal Strength Indication (RSSI) combined with the centroid algorithm [30], which is high accurate to obtain the position. RSSI-based location schemes are the most prevalent ones due to their easier implementation and less complexity [31], especially for the energy-constrained nodes. Therefore, with this method, if a RSU is captured and moved to another location, it will fail to be verified because that the new position incorporated in the signature is changed. Furthermore, the anchor node can immediately detect abnormal RSUs via comparing the two locations, and the first one is obtained by the GPS and the other one is calculated by nearby RSUs. If the value does not change a lot within the measurement uncertainties, then the nearby RSUs are valid, else abnormal RSUs must be surrounding the anchor node, say get captured, replicated, or moved by adversaries, and the anchor nodes will immediately alert to the PKG.

4.3.1. Initialization

Every RSU is preloaded a legitimate I D R 1 assigned by the PKG, which is stored in its tamper-proof device. Every anchor node is assigned a I D c and deployed in its pre-setup position by the PKG. After deployment, the RSU receives the position information from nearby anchor nodes at the first time. The details of the information are as follows:
L c 1 = { I D c 1 ,   P c 1 ,   ( x c 1 ,   y c 1 ) } L c 2 = { I D c 2 ,   P c 2 ,   ( x c 2 ,   y c 2 ) } L c 3 = { I D c 3 ,   P c 3 ,   ( x c 3 ,   y c 3 ) } L c i = { I D c i ,   P c i ,   ( x c i ,   y c i ) } ,
where L c i denotes the position information broadcasted by the anchor node, and P c i = d c i · P is its public key, in which d c i Z q is a random number as its secret key, and ( x c i ,   y c i ) is the current coordinates measured by the GPS.
The RSU computes its current coordinates ( x R ,   y R ) according to the any of three coordinates of anchor nodes through centroid algorithm based on the RSSI [30] mentioned above and sets I D R 2 = h 0 ( ( x R , y R ) ) . Subsequently, the RSU chooses a random number d R 1 Z q as its secret key, and sets   P R 1 = d R 1 · P . Then the RSU set S d R 1 = S i g n d R 1 { I D R 1 I D R 2 L c 1 L c 2 L c 3 L c n P R 1 } signing with the secret key d R 1 and encrypts the tuple { S d R 1 I D R 1 I D R 2 L c 1 L c 2 L c 3 L c n P R 1 } using the public key of the PKG, and the RSU sends it to the PKG.
Upon receiving the tuple, the PKG decrypts it and verifies the signature. Then the PKG compares the L c i and I D R 1 with the stored list to make sure that they are legitimate ones without being modified at the initialization step.
The PKG generates the partial secret key for RSUs as follows:
P R 2 = k R · P
d R 2 = k R + h 2 ( P R 1 ,   P R 2 ,   I D R 2 ,   t ) × s   mod   q ,
where k R Z q is a random number and t is the expiration date of d R 2 , then the PKG sends { I D R 2 ,   P R 2 ,   d R 2 ,   t } back to the RSU.
The PKG calculates I D R = I D R 1 I D R 2 and h 0 ( I D R 1 ) in the next step, and deletes I D R 1 and I D R 2 from the list to avoid the stolen I D list attacks.
Upon receiving the { I D R 2 ,   P R 2 ,   d R 2 ,   t } , the RSU verifies the validity of d R 2 via checking the equation d R 2 · P = P R 2 + h 2 ( P R 1 ,   P R 2 ,   I D R 2 ,   t ) · P P K G . If the equation holds, then it accepts the d R 2 , else it applies the PKG for the partial secret key again. Then the RSU calculates the short-term pairwise encryption keys:
k 1 = d R 1 P c 1 k 2 = d R 1 P c 2 k 3 = d R 1 P c 3 k n = d R 1 P c n
between the anchor nodes and RSUs.

4.3.2. Message signing

The RSU picks a random number l R Z q and sets L R = l R · P , and it receives the location information from the anchor nodes and calculates the current coordinates ( x R ,   y R ) by the location algorithm. Let B be a position tolerance value, and the RSU should compare the new coordinates ( x R ,   y R ) with the previous one. If the distance d = ( x R x R ) 2 + ( y R y R ) 2 B , then the RSU sets I D R 2 = I D R 2 , else renews the value I D R 2 = I D R 2 .
Then the RSU calculates:
v R = l R + d R 2 + d R 1 × h 3 ( I D R 2 ,   P R 1 ,   P R 2 ,   M ,   L R ,   t i m e )   mod   q ,
in which t i m e is the current timestamp of the RSU’s system and M is a traffic-related message.
Send { ( x R ,   y R ) ,   I D R 2 ,   P R 1 ,   P R 2 ,   M ,   L R ,   t ,   t i m e ,   v R } to another VSN entities.

4.3.3. Verification

When verifier such as a vehicle, anchor node or a RSU receives { ( x R ,   y R ) ,   I D R 2 ,   P R 1 ,   P R 2 ,   M ,   L R ,   t ,   t i m e ,   v R } at time t i m e , it firstly checks the fressness of t i m e and the expiration time t of the partial private key d R 2 .
The verifier checks the equation:
v R · P = L R + P R 2 + h 2 ( P R 1 ,   P R 2 ,   I D R 2 ,   t ) · P P K G + P R 1 · h 3 ( I D R 2 ,   P R 1 , P R 2 ,   M ,   L R ,   t i m e )
If the equation holds, the verifier accepts the message M .
Upon receiving the signed message, the nearby anchor nodes perform the different steps inside their range, which firstly check the list and if there is no short-term pairwise encryption key k i with the RSU, the nodes calculate the k i via k i = d c j · P R 1 , i . Furthermore, the anchor nodes recount their coordinates according to I D R 2 and compare with previous ones. If the value significantly changes, then the RSU is abnormal, which is forged by the adversaries, and the anchor node generates an alert that is sent to the PKG. To prevent location information tampering attacks by adversaries, the anchor node encrypts its location using k i and broadcasts L c j = { I D c j ,   P c j , ( x c j ,   y c j ) ,   h k i ( ( x c j ,   y c j ) ) } to RSUs next time.
Here, h k i ( ( x c j ,   y c j ) ) is an encrypted digest called HMAC, which is viewed as a hash function and encrypted by the session key k i shared between the two entities. The steps of the phase are depicted in Figure 5.
The proposed scheme also supports the batch verification, and the process is as same as the one in Section 4.2.4.

4.4. Key Update

To prevent key compromise attacks for a long time, key update periodically is required. We divide this section into two parts, the user-key update and the RSU-key update:
(1)
Updating a user’s P W i . This function is invoked whenever the user wants to update his password of the smart card. First, the user inserts his card into a card reader and inputs the original I D i and P W i . Then, the smart card calculates h 0 ( P W i b ) and h 0 ( I D i ) , and it checks whether h 0 ( P W i b ) = h 0 ( P W i b ) and h 0 ( I D i ) = h 0 ( I D i ) . If yes, the user will be allowed to input his new password P W i and proceed to the next step, else abort. Subsequently, the smart card recounts h 0 ( P W i b ) and h 0 ( I D i ) , in which b is a new arbitrary number picked by the smart card, then it updates s 1 = h 0 ( P W i b ) I D i and s 2 = s 1 d 1 , in which d 1 , as the user’s new secret value, is a random number reselected by the smart card. The subsequent steps are as same as the ones in Section 4.2.1.
(2)
Updating a user’s pseudo identities and partial secret keys. User’s pseudo identities P I D s and partial secret keys share a same refresh cycle T . Every P I D is appended an expiring time T by the TA for all users. Note that the period of T , which is relative to the key length and the complexity of circumstances, can be fixed by the administrator of the TA. When a user logs in the smart card, it firstly checks the T of P I D s, if the T is out of the valid date, the smart card terminates the following authentication process and informs the user to update the P I D s and related the partial secret keys. Note that any user cannot change the valid date T without the secret key of the PKG.
(3)
Updating a RSU’s partial secret key. In general, the process is as same as the one of user’s. In addition, the updating phase is invoked when a valid RSU is authorized by the PKG to change its position. After deploying in a new location, the RSU will lunch a new handshake with the PKG to get a new partial secret key as same as the one in Section 4.3.1. Any node that attempts to change the position and tries to get a new key without the PKG’s authority is considered as a malicious node.

5. Security Proof

In this section, we design four experiments to prove the security of the proposed scheme.

5.1. Experiment 1

We divide the kinds of adversaries into three according to their attack abilities in the scheme. The Type Ⅰ adversary A1 is not able to access the master key of the PKG or the secret keys of users. The Type Ⅱ adversary A2 represents a curious PKG who can access the master key of the PKG and obtain the partial secret keys of users but cannot forge secret keys of users. The type Ⅲ adversary A3 represents a malicious PKG who not only obtains the master key of the PKG but also has the right to generate secret keys of users at will, but the keys are different from that of users.
Theorem 1.
We will demonstrate that our scheme is unforgeable against adaptive chosen message attacks of the adversary A1 under the random oracle due to the intractability of ECDLP.
Proof. 
There are two roles in the game, the challenger C and the adversary A. C can solve the ECDLP problem with a non-negligible probability by running A as a subroutine. For instance, when C receives a problem Q = s · P , s Z q is a random number, to calculates s is his target. C picks P I D as a challenged identity and sets system public key P P K G = x · P , then C sends the system params ( p , q , P , P P K G , h 1 , h 2 ) to the adversary A1. We show the process, in which C can break ECDLP by using the adversary A as follows. C maintains 4 lists h 1 l i s t ,   h 2 l i s t ,   d 1 l i s t ,   d 2 l i s t , which are initially empty, and simulates oracles queried by A.
  • h 1 query. C maintains a list with the form of ( P I D i ,   P 1 i ,   P 2 i ,   T i ,   B i ,   c o i n ) . When A makes a query on ( P I D i ,   P 1 i ,   P 2 i , T i ) , if the list contains the tuple ( P I D i ,   P 1 i ,   P 2 i ,   T i ,   B i ,   c o i n ) matched P I D i , C returns B i to A as a response. Otherwise, C chooses a random number coin R { 0 , 1 } and sets P r [ c o i n = 0 ] = δ , in which c o i n = 0 means that this P I D i is the challenged identity. Then C picks B i R Z q and sends B i = h 1 ( P I D i ,   P 1 i ,   P 2 i ,   T i ) to A as a response. C adds ( P I D i ,   P 1 i ,   P 2 i ,   T i ,   B i ,   c o i n ) to h 1 l i s t .
  • h 2 query. When A makes a query on ( P I D i ,   P 1 i ,   P 2 i ,   M i ,   L i ,   t i m e i ) , if the tuple ( P I D i ,   P 1 i ,   P 2 i ,   M i ,   L i ,   t i m e i ,   D i ) exists in the list, then C sends it to A as a response. Otherwise, C picks a random D i Z q and sets D i = h 2 ( P I D i ,   P 1 i ,   P 2 i ,   M i ,   L i ,   t i m e i ) , and C sends it to A as a response. C adds ( P I D i ,   P 1 i ,   P 2 i ,   M i ,   L i ,   t i m e i ,   D i ) to h 2 l i s t .
  • Private-key-extract query.
    If c o i n = 0 , then C stops the session. Otherwise, C chooses a random number d 1 i Z q as a private key of P I D i , and generates another two random numbers d 2 i , a i Z q , and C sets P 1 i = d 1 i · P , h 1 i a i and P 2 i d 2 i · P h 1 i · P P K G . C adds ( P I D i ,   d 1 i ,   P 1 i ) and ( P I D i ,   d 2 i ,   P 2 i ) to d 1 l i s t and d 2 l i s t respectively, then C returns d 1 i to A as a response.
  • Partial-private-key-extract query.
    If c o i n = 0 , then C stops the session. Otherwise, C looks up d 2 l i s t and checks whether the tuple ( P I D i ,   d 2 i ,   P 2 i ) exist in the list first. If yes, C returns d 2 i to A as a response. Else, C makes a private-key-extract query on P I D i itself and returns d 2 i to A as a response.
  • Sign query.
    A makes a query on P I D i and M i . C looks up ( P I D i ,   P 1 i ,   P 2 i ,   T i ,   B i ,   c o i n ) firstly. If c o i n = 0 , then C finds ( P I D i ,   d 1 i ,   P 1 i ) and ( P I D i ,   d 2 i ,   P 2 i ) in d 1 l i s t and d 2 l i s t respectively, and generates two random numbers b i , v i Z q , and sets h 2 i b i , L i = v i · P P 2 i h 1 i · P P K G P 1 i · b i . C returns ( P I D i ,   M i ,   v i ,   L i ,   P 1 i ,   P 2 i ) to A as a response. Note that it is easy to verify the equation v i · P = L i + P 2 i + c · P P K G + P 1 i · h 2 i holds.
    If c o i n = 1 , the signature is ordinary because that C knows the private key and partial private key.
  • Finally, A outputs ( P I D ,   M ,   v ) . Note that ( P I D ,   M ) is not submitted to the query of private key, partial private key and signature. If c o i n = 1 , then C stops the simulation. Otherwise, according to [32], A can generate another valid signature with the same random tape but the different value of h 1 i as follows:
    v · P = L i + P 2 i + h 1 i · P P K G + P 1 i · h 2 i
    v · P = L i + P 2 i + h 1 i · P P K G + P 1 i · h 2 i
According to the Equations (13) and (14), we can get:
v v · P = ( h 1 i h 1 i ) x · P
x = ( v v ) / ( h 1 i h 1 i ) mod   q
Thus, C outputs x as the solution of ECDLP problem P P K G = x · P . It is contradict to solve the ECDLP hard problem.  ☐
Theorem 2.
Our scheme is secure against adaptive chosen message attacks of the super adversary A2 under the random oracle.
Proof. 
There are two roles in the game, the challenger C and the adversary A. C use A as a subroutine to break our scheme via solving the ECDLP problem with a non-negligible probability. C picks a random number s Z q as the master key of the PKG and sets P P K G = s · P , then C generates the system params   ( p ,   q ,   P ,   P P K G ,   h 1 ,   h 2 ) . C sends s and the params   ( p ,   q ,   P ,   P P K G ,   h 1 ,   h 2 ) to the adversary A2. C maintains 4 lists h 1 l i s t ,   h 2 l i s t ,   d 1 l i s t ,   d 2 l i s t , which are initially empty. C answers h 1 query and h 2 query like it does in the first oracle query phase. C simulates another oracles queried by A as follows.
  • Partial-private-key-extract query. If c o i n = 0 , then C looks up h 1 l i s t and identifies the tuple ( P I D i ,   P 1 i ,   P 2 i ,   T i ,   B i ,   c o i n ) , then C picks a random number k i Z q , and calculates d 2 i = k i + s × h 1 i mod   q . C adds ( P I D i , ,   P 1 i ) and ( P I D i ,   d 2 i ,   P 2 i ) to d 1 l i s t and d 2 l i s t respectively. C returns d 2 i to A as a response.
    If c o i n = 1 , then C looks up h 1 l i s t and identifies the tuple ( P I D i ,   P 1 i ,   P 2 i ,   T i ,   B i ,   c o i n ) , then C picks two random numbers a i ,   k i Z q . C sets d 1 i a i , and calculates d 2 i = k i + s × h 1 i   mod   q and P 1 i = d 1 i · P . C adds ( P I D i ,   d 1 i ,   P 1 i ) and ( P I D i ,   d 2 i ,   P 2 i ) to d 1 l i s t and d 2 l i s t respectively. C returns d 2 i to A as a response.
  • Private-key-extract query. When A makes the query, C does as follows:
    If c o i n = 0 , then C stops the session. Otherwise, C looks up d 1 l i s t and identifies the tuple ( P I D i ,   d 1 i ,   P 1 i ) , and sends d 1 i to A as a response. If there is no tuple in the list, C makes a partial-private-key-extract query on P I D i itself, then C returns d 1 i as a response.
  • Sign query. A makes a query on P I D i and M i . C looks up ( P I D i ,   P 1 i ,   P 2 i ,   T i ,   B i ,   c o i n ) firstly. If c o i n = 0 , then C finds ( P I D i ,   , P 1 i ) and ( P I D i , d 2 i , P 2 i ) in d 1 l i s t and d 2 l i s t respectively. C picks three random numbers x , b i , v i Z q and sets P 1 i = x · P , h 2 i b i and L i = v i · P P 2 i h 1 i · P P K G P 1 i · b i . C returns ( P I D i , M i , v i , L i , P 1 i , P 2 i ) to A as a response. If c o i n = 1 , the signature is ordinary.
  • Finally, A outputs ( P I D , M , v ) . Note that ( P I D ,   M ) is not submitted to the query of private key and signature. If c o i n = 1 , then C stops the simulation. Otherwise, according to [32], A can generate another valid signature with the same random tape but the different value of b i as follows:
    v · P = L i + P 2 i + h 1 i · P P K G + P 1 i · b i
    v · P = L i + P 2 i + h 1 i · P P K G + P 1 i · b i
According to the Equations (17) and (18), we can obtain:
v v · P = ( b 1 i b 1 i ) x · P
x = ( v v ) / ( b 1 i b 1 i ) mod   q
Thus, C outputs x as the solution ECDLP problem P 1 i = x · P .  ☐
Theorem 3.
Our scheme is secure against the super adversary A3 attacks.
Proof. 
In this scenario, A3 presents a malicious PKG who can obtain the master key s of the PKG and forge the secret key d i at will. His target is to obtain the successful verification by another valid VSN entities. Nevertheless, a valid signature cannot be produced without the unique secret key d 1 . In our scheme, P I D is generated via calculating P I D i = r × h 1 ( H 1 | | P 1 | | T ) + n i + d 1 mod   q . Thus, the adversary has to obtain d 1 from valid users. It is difficult to steal d 1 from the smart card without the user’s P W because that there is no d 1 stored in the smart card after logging out. Moreover, because of the intractability of ECDLP problem, the adversary cannot obtain d 1 from P 1 = d 1 · P and the TA’s master key r from P T A = r · P . The probability of this malicious PKG managing to collude with the TA and stealing the master key from the TA is negligible. Therefore, the scheme is secure against this kind of adversary attacks, which leaves the opportunity to adversaries in [26,27], though.  ☐

5.2. Experiment 2

In the register phrase, the proposed scheme can resist against the inner attacker from the TA. Every pseudo identity P I D i contains the TA’s master secret key r and the user’s private key d 1 . Without knowing the user’s private key d 1 , any insider adversaries fail to impersonate the valid user to proceed with the next step. In this experiment, if the adversary cannot forge a valid pseudo identity P I D i verified by PKG successfully, the proposed scheme is secure against impersonation attacks by insider adversaries. The secure module with proof in the random oracle is as follows:
Proof. 
Suppose there is an adversary A that represents an inner attacker from TA and he is able to access TA’s master secret key r but cannot get user’s private key d 1 or forge it. This assumption is reasonable, because that the adversary has no right to modify the ID table in the TA. We construct a challenger C, which can solve ECDLP with a non-negligible probability by running A as a subroutine. C picks I D as a challenged identity and sets system public key P T A = r · P , in which r Z q is the master secret key, then C sends the system params   ( p ,   q ,   P ,   P T A ,   h ) to the adversary A. C maintains 3 lists h l i s t , d 1 l i s t and T A l i s t which are initially empty.
  • h query. C maintains a list with the form of ( I D i ,   P 1 i ,   T i ,   H 1 , δ i ,   c o i n ) . When A makes a query on ( I D i ,   P 1 i ,   T i ,   H 1 ) , C checks whether the tuple exist in the list h l i s t . If so, C responds δ i = h ( I D i ,   P 1 i ,   T i ,   H 1 ) ; otherwise, C generates a random number c o i n   R { 0 ,   1 } and sets Pr [ c o i n = 0 ] = η , in which c o i n = 0 means that this I D i is the challenged identity. Then C picks δ i   R Z q and sends δ i = h ( I D i ,   P 1 i ,   T i ,   H 1 ) to A as a response. C adds ( I D i ,   P 1 i ,   T i ,   H 1 ,   δ i ,   c o i n ) to h l i s t .
  • Master-secret-key query. When A makes the query, C does as follows:
    C looks up ( I D i ,   P 1 i ,   T i ,   H 1 ,   δ i ,   c o i n ) firstly. If c o i n = 1 , C picks a random number a i Z q . C sets d 1 i a i and calculates P 1 i = d 1 i · P , then C adds ( I D i ,   d 1 i ,   P 1 i ) and ( I D i ,   r ) to d 1 l i s t and T A l i s t respectively. C returns r to A as a response.
    If c o i n = 0 , C adds ( I D i ,   ,   P 1 i ) and ( I D i ,   r ) to d 1 l i s t and T A l i s t respectively. C returns r to A as a response.
  • Private-key-extract query. C looks up ( I D i ,   P 1 i ,   T i ,   H 1 ,   δ i ,   c o i n ) firstly. If c o i n = 0 , then C stops the session. Otherwise, C looks up d 1 l i s t and identifies the tuple ( P I D i ,   d 1 i ,   P 1 i ) . Then C sends d 1 i to A as a response. If there is no tuple in the list, C makes a master-secret-key query on I D i itself, then C returns d 1 i as a response.
  • PID query. A makes a P I D i query on I D i . C looks up ( I D i ,   P 1 i ,   T i ,   H 1 ,   δ i ,   c o i n ) firstly. If c o i n = 0 , then C finds ( I D i ,   ,   P 1 i ) and ( I D i ,   r ) in d 1 l i s t and T A l i s t respectively. C picks three random numbers x , b i , P I D i Z q , then C sets P 1 i = x · P , h i b i and N i = P I D i · P b i · P T A P 1 i . C returns ( I D i ,   v i ,   N i ,   P 1 i ) to A as a response. If c o i n = 1 , the P I D i is ordinary.
  • Finally, A outputs ( I D ,   P I D ) . Note that ( I D ,   P I D ) is not submitted to the query of private key and PID. If c o i n = 1 , then C stops the simulation. Otherwise, according to [32], A can generate another valid pseudo identity with the same random tape but the different coefficient m of P 1 i as follows:
    P I D · P = N i + P 1 i + P T A · b i
    P I D · P = N i + m · P 1 i + P T A · b i
According to the Equations (21) and (22), we can obtain:
( P I D P I D ) · P = ( 1 m ) x · P
x = ( P I D P I D ) / ( 1 m ) mod   q
Thus, C outputs x as the solution ECDLP problem P 1 i = x · P . The ability of solving the ECDLP problem contradicts the hardness of the ECDLP problem. Therefore, the proposed scheme is secure against impersonation attacks by insider attackers from TA.  ☐

5.3. Experiment 3

In the authentication process, we make use of two elements to provide the freshness of the signed message. The comparison of different schemes in the Figure 6 shows the importance of k i and l in the signed message { P I D i ,   P 1 , P 2 , i ,   M ,   L ,   T ,   v ,   t i m e } .
Proof. 
Note that without k i and l it is easy for adversaries to get master secret key s and of PKG and private key d 1 in the Equations (25) and (26).
The adversary can acquire { P I D ,   P 2 ,   d 2 } from the public channel. It is easy to compute s by following steps:
(1)
Get P 1 and T from the public message { P I D ,   H 1 ,   P 1 ,   N ,   T } .
(2)
Get { P I D ,   P 2 ,   d 2 } from the public channel.
(3)
Compute s :
d 2 , i = h 2 ( P 1 ,   P 2 , i ,   P I D i ,   T ) × s   mod   q
s =   d 2 , i / h 2 ( P 1 ,   P 2 , i ,   P I D i ,   T )   mod   q
It is easy to compute d 1 for adversaries in the same way.
(1)
Get d 2 from the public message { P I D ,   P 2 ,   d 2 } .
(2)
Compute h 3 ( P I D i , P 1 ,   P 2 , i ,   M ,   t i m e ) by { P I D i ,   P 1 ,   P 2 , i ,   M ,   T ,   v ,   t i m e } from the public channel.
(3)
Compute d 1 :
v = d 2 , i + d 1   × h 3 ( P I D i , P 1 , P 2 , i , M , t i m e )   mod   q
d 1   = ( v d 2 , i ) / h 3 ( P I D i , P 1 , P 2 , i , M , t i m e )   mod   q
 ☐
In order to protect the master key of PKG and user’s private key, we add two elements to the Equations (25) and (26). The secure module with proof using random oracle is as follows:
In this experiment, assume that to forge the valid k that make d 2 , i = k i + h 2 ( P 1 , P 2 , i , P I D i , T ) × s   mod   q ,   ( i = 1 m ) be verified successfully is the adversary’s target. That means the adversary can compute right k and then achieve the value of s .
Proof. 
Suppose there is an adversary A that is not able to access the master key of the PKG or the secret value k but can access the partial private key d 2 of users. Note that in this experiment the adversary just play this game by himself to forge the k , so d 2 can be seemed as a public number without being verified by others. We construct a challenger C, which can solve ECDLP with a non-negligible probability by running A as a subroutine. C picks P I D as a challenged identity and sets system public key P P K G = s · P , in which s Z q is the master secret key, then C sends the system params ( p , q , P , P P K G , h ) to the adversary A. C maintains 2 lists h l i s t and P K G l i s t which are initially empty.
  • h query. C maintains a list with the form of ( P I D i , P 1 i , P 2 i , θ i , c o i n ) . When A makes a query on ( P I D i , P 1 i , P 2 i ) , C checks whether the tuple exist in the list h l i s t . If so, C responds θ i = h ( P I D i , P 1 i , P 2 i ) ; otherwise, C generates a random number c o i n   R { 0 , 1 } and sets Pr [ c o i n = 0 ] = η , in which c o i n = 0 means that this P I D i is the challenged identity. Then C picks θ i i   R Z q and sends θ i = h ( P I D i , P 1 i , P 2 i ) to A as a response. C adds ( P I D i , P 1 i , P 2 i , θ i , c o i n ) to h l i s t .
  • Master-secret-key query. When A makes the query, C does as follows:
    C looks up ( P I D i , P 1 i , P 2 i , θ i , c o i n ) firstly. If c o i n = 1 , C adds ( P I D i , s ) to P K G l i s t . C returns s to A as a response.
    If c o i n = 0 . , then C stops the session.
  • k query. When A makes a k query on P I D i . C looks up ( P I D i , P 1 i , P 2 i , θ i , c o i n ) firstly. If c o i n = 0 , then C finds ( P I D i , s ) in the P K G l i s t . C picks a random number b i Z q , then C sets h i b i and D i = k i · P + b i · P P K G , in which D i = d 2 , i · P . C returns ( P I D i , k i , D i ) to A as a response. If c o i n = 1 , the k i is ordinary.
  • Finally, A outputs ( P I D , k ) . Note that ( P I D , k ) is not submitted to the query of k. If c o i n = 1 , then C stops the simulation. Otherwise, according to [32], A can generate another valid pseudo identity with the same random tape but the different values of b i as follows:
    k · P = D i P P K G · b i
    k · P = D i P P K G · b i
According to the Equations (33) and (34), we can obtain
( k k ) · P = ( b i b i ) s · P
s = ( k k ) / ( b i b i ) mod   q
Thus, C outputs s as the solution ECDLP problem P P K G = s · P . The ability of solving the ECDLP problem contradicts the hardness of the ECDLP problem. Thus, the adversary cannot forge a valid k to compute the master key of the PKG.
The freshness of L in the Equation (27) that has the same function with k is to protect the private key of users. We will omit the same proof.  ☐

5.4. Experiment 4

The proposed scheme implements a location-based method, with which every RSU can acquire their current coordinates and apply them in every signature. The freshness of current location protects RSUs from being captured and compromised.
Furthermore, every signature including a timestamp t i m e is to record the current sending time of the signer. Verifiers can check out the replay attack easily by validating the freshness of receiving t i m e . If t i m e t i m e > Δ T , in which Δ T indicates the valid time interval, the verifier will reject the signature. Figure 7 shows the function of the coordinates ( x R , y R ) and the timestamp t i m e included in the signature.
Analysis: In Figure 7, there are two attackers. The first one implements node captured attacks and the second one captures valid signatures to carry out replay attacks. Because of the different location, the attacker 1 can access any of information in the compromised RSU expect d 2 . The ability of this kind of attackers is weaker than the adversary A3 as mentioned in the experiment 1. The ability of the attacker 2 is as same as the adversary A1 that is not able to access the master key of the PKG or the secret keys of users. However, they all fail to generate valid signatures and the proof is mentioned above.

6. Security Analysis

Considering the implementation costs, it’s difficult to make all communication channels secure in VSNs. In our scheme, all communication channels are public, which is different from that in [27]. The TA is credible without being stolen its secret key by adversaries and its master key must be strongly protected by hardware technology.
The proposed scheme is on the basis of the CLPKC. Thus, our scheme can provide message authentication and integrity. The unforgeability against adaptive chosen messages attacks is defined in Section 5, which also provides the details of the scheme and its security proof. Thus, our scheme supports message authentication, integrity and unforgeability. The other security analyses are given in details as follows.

6.1. Traceability

The proposed scheme provides traceability. If one message is disputable, TA, the only authorized entity, can perform the tracing procedure and extract the real identity from the signature { P I D , P 1 , P 2 , M ,   L ,   T ,   v ,   t i m e } via calculating P I D · P = P T A · h 1 ( H 1 | | P 1 | | T ) + N + P 1 , in which H 1 and N are stored in its repository. If one H 1 , j satisfied the equation as above, the TA can obtain the ( I D j ) P T A from ( I D j ) P T A h 0 ( P W j b ) = H 1 , j and extract the real identity I D j by decrypting ( I D j ) P T A using the secret key r of the TA. Note that no one can obtain I D j since r is only known by the TA itself.

6.2. Unlinkability

Unlinkability is that an adversary cannot link the signature messages generated by the same vehicle. Every signature message { P I D ,   P 1 , P 2 , M ,   L ,   T ,   v ,   t i m e } is different, because it is signed by different P I D s and related partial private keys. P I D = r × h 1 ( H 1 | | P 1 | | T ) + n + d 1   mod   q is generated by the random number n which any adversary who want to obtain will encounter the ECDLP problem. Therefore, the proposed scheme supports unlinkability.

6.3. Resistance against Impersonation Attacks

An adversary can impersonate a legitimate user to access RSUs by generating a valid P I D and a signature message { P I D ,   P 1 , P 2 ,   M ,   L ,   T ,   v ,   t i m e } . With our scheme, every pseudo identity P I D i contains the TA’s master secret key r and the user’s private key d 1 . Furthermore, every signature includes the PKG’s master secret key s and d 1 . Without knowing the user’s private key d 1 , any insider adversaries of the PKG fail to calculate the valid P I D s and signatures. The proof is given in Section 5.2. Note that d 1 is not transferred through any channels or stored in the smart card, and when the user does not input his valid P W , the smart card cannot obtain the valid d 1 . Therefore, it is difficult for any adversaries to obtain d 1 by various methods of attack and because of the ECDLP problems, they cannot extract d 1 from P 1 = d 1 · P . Assume that there is an adversary who eavesdrops the information { P I D 1 ,   H 1 , N , T } of one user or eavesdrops { P 2 , d 2 } from the PKG through the public channels instead of the valid user, they all fail to generate valid P I D s and signatures because of lacking d 1 .

6.4. Resistance against Node Compromise Attacks and Node Replication Attacks

The proposed scheme can prevent against node compromise and replication attacks to a large extent, and it incorporates three subsections according to the attacker’s abilities:
(1)
We assume that an adversary captures a node R S U i and does not move this node to another location. The adversary extracts all stored information from the node, however, the information is independent of other nodes. And the adversary modifies the safety messages according to his specific needs and causes data anomalies. The position-based authentication method can help the PKG identify the malicious node based on its coordinates. Note that the adversary cannot change the node’s coordinates or it will fail to be verified. In addition, there is no need to compromise the anchor node because this type of node does not contain important traffic information or privacy of users.
(2)
Assuming that an adversary captures a node R S U i and replicates it in another place, this new replicated node executes the same program as before. However, the node cannot generate valid signatures because it computes a current position I D R 2 = h 0 ( x R ,   y R ) according to new nearby anchor nodes. Note that I D R 2 is different from the original I D R 2 in d R 2 = k R + h 2 ( P R 1 ,   P R 2 ,   I D R 2 , t ) × s   mod   q . Therefore, these malicious nodes will be identified quickly by the verifiers because of their invalid signatures.
(3)
We assume that there is a powerful adversary who can modify the original program in the node after capturing and replicating it in another location. Note that the adversary cannot change I D R 2 in d R 2 = k R + h 2 ( P R 1 ,   P R 2 ,   I D R 2 ,   t ) × s   mod   q . without knowing the master private key s . Therefore, to generate a valid signature the adversary only uses the original value of I D R 2 instead of updating it vie the new anchor nodes. Unfortunately, these malicious nodes will be identified rapidly by the detection mechanism of the proposed method because of their wrong coordinates. When the adjacent anchor nodes receive the signature { ( x R ,   y R ) ,   I D R 2 ,   P R 1 ,   P R 2 ,   M ,   L R ,   t ,   t i m e ,   v R } , they compare their current location calculated by ( x R ,   y R ) with the previous one, which is obtained from the GPS. If the value significantly changes, then abnormal RSUs must be surrounding the anchor node, and the anchor node will generate an alert to the PKG. Therefore, our scheme can withstand node compromise and replication attacks.

6.5. Resistance against Stolen Smart Card Attacks

We assume that the smart card of user U i has been lost or stolen by an adversary. The adversary can then extract the parameters { h 0 ( P W b ) , h 0 ( I D ) , s 2 , P 1 , P 2 , d 2 ,   b ,   T ,   N , H 1 } stored in the smart card, although the user’s independent information { d 1 ,   P W ,   I D , s 1 } is not contained in the card. Moreover, calculating or guessing the user’s correct value of P W i , I D i and d 1 , i is difficult. Therefore, the adversary cannot acquire the secret credentials of the target user. In addition, our proposal does not maintain any real-identity table, such as the RSU’s I D R 1 , I D R 2 in the PKG and the user’s I D i in the TA to safeguard against stolen identity attacks by privileged insiders.

6.6. Resistance against Replay Attacks

All valid signatures maintain the timestamp t i m e . The verifiers can find the replay message via checking whether t i m e t i m e Δ T . Therefore, the proposed scheme can withstand the replay attacks. Table 2 shows the security compared with recently proposed authentication schemes in [15,22,27].

7. Performance Evaluation

In this section, we analyze the computational costs and transmission overhead of our scheme. We implement our scheme using a Lenovo computer (Beijing, China) equipped with an Intel I7 dual-core processor, a 2.60 GHZ clock frequency and 1 gigabytes of memory running the VMWare Ubuntu12.03 operating system. For our ID-based scheme with ECC, we use an additive group G generated by a point p with the order q on the secp256r1 elliptic curve to achieve the security level of 128 bits, in which p and q are two 256-bit prime numbers. For the bilinear pairings based scheme, we use the bilinear pairings y = x 3 + b   mod   q with embedding degree 12 and the q is a 256-bit prime number.

7.1. Computational Overhead

For convenience, we define some notations about the execution time as follows. First, Let T b p denote the execution time of a bilinear pairing operation, T h m t p be the time to execute one MapToPoint hash operation that is different from the general hash function operation T h . Then T e p m and T e p a denote the time of executing one point multiplication and one point addition over an elliptic curve respectively. T R S S I represents the time of computing coordinates of a RSU. At last, T e c c - s i g n and T e c c - v e r i f y represent the time of signing one message and verifying one message based on the secp256r1 elliptic curve respectively. The execution time of aforementioned operations is listed in Table 3.
We compare the execution time of our scheme with other related works in [15,19,22,27]. Table 4 shows the execution time of signing a single message and a batch verification of five different schemes.
In our scheme, a vehicle signing a message takes 2.3 μs and the RSU processing 13.4 μs, which is slightly slower than that of Lo’s scheme. However, the proposed scheme provides better scalability without providing a specific secure channel, which is different from Lo’s scheme, and our scheme can resist node compromise attacks, which other schemes do not consider. Therefore, the proposed scheme is efficient in terms of computational overhead and more secure than other schemes. More precisely, the proposed scheme can obtain better trade-offs than the four other schemes.
Next, we compare the performance of batch verification in the proposed scheme with that of the other three proposed ID-based batch verification schemes.
Figure 8 shows the relationship between the density of signing messages at a VSN entity inside its wireless range and the verification delay. The verification delay of the proposed scheme, which is 6.5 μs for one message, is slightly longer than the one in Lo’s scheme. However, the difference is small, and the safety of our scheme is enhanced largely.

7.2. Communication Overhead

In this subsection, we analyze the communication overhead in our scheme and compare it with other proposed schemes. In our scheme, the signed message contains { P I D ,   P 1 , P 2 ,   M ,   L ,   T ,   v ,   t i m e } and { ( x R , y R ) ,   I D R 2 ,   P R 1 ,   P R 2 ,   M ,   L R ,   t ,   t i m e ,   v R } for a vehicle and a RSU respectively. Since the length of p and q is 256 bits, so the length of element of G is 512 bits. The length of M is about 256 bits, which is the same as the value of the general hash function. Let timestamp, expiration time and the coordinates of one node be 32 bits. Table 5 shows the communication costs of our scheme and Table 6 shows the comparison of communication overhead among four schemes.
The communication overhead of proposed scheme is about 296 bytes and 300 bytes for a vehicle and a RSU respectively. To reduce the communication overhead, the key point in the proposed scheme is how to reduce the costs of the elements in G . Shim [22] developed a method, which can reduce the size of a point ( x , y ) in G . In this method, the entity (RSU or vehicle) only sends the x-coordinate of the point, and the receiver can acquire the y-coordinate by calculating the square root. Therefore, the size of the ( x , y ) is reduced by applying this method, and in our scheme, the total communication overhead for a vehicle is about 256 + 256 + 256 + 256 + 256 + 256 + 32 + 32 = 1600 bits = 200 bytes, and for a RSU is about 32 + 256 + 256 + 256 + 256 + 256 + 256 + 32 + 32 = 1632 bits = 204 bytes. Therefore, the proposed method obtains the smallest communication overhead compared with the other three schemes.
Figure 9 shows the relationship between the communication overhead and the number of received messages. Obviously, the communication costs for RSUs are the smallest for the proposed scheme compared with the other three schemes.
In summary, the proposed scheme requires a smaller communication bandwidth than the other schemes when it transmits signed messages to other VSN entities.

8. Conclusions

In this work, we have proposed an enhanced secure ID-based, certificateless authentication scheme for VSNs that supports batch verification and conditional privacy-preserving authentication. In addition, the proposed scheme provides compromised-RSU detection and an alarm mechanism, which many related works have not considered. The security analysis shows that the proposed scheme is secure against adaptive chosen message attacks by three types of adversaries under a random oracle. Furthermore, the proposed scheme can resist against major threats like impersonation attacks, node replication attacks, hardware (RSU) tampering attacks, stolen smart card attacks and replay attacks. At last, the scheme can obtain better trade-offs between security and efficiency than other proposed schemes.
In future studies, researchers will focus on different network architectures of VSNs. We will focus on different scenarios in VSNs and consider compatible secure models that can co-exist in heterogeneous networks of VSNs. A designed scheme with better compatibility and scalability will be more suitable for the VSNs.

Acknowledgments

All authors, especially the corresponding author Congcong Li, would like to thank the anonymous reviewers for their time and invaluable comments and suggestions on this paper.

Author Contributions

Congcong Li designed the experiments and wrote the paper with the assistance of Xi Zhang. Haiping Wang performed the experiments, and Dongfeng Li analyzed the data, with assistance of Haiping Wang.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Khatib, N.; Vémola, A. Global status report on road safety. World Health Organ. 2015, 15, 286. [Google Scholar]
  2. Armstrong, L. Dedicated Short Range Communications (Dsrc) Home. 2002. Available online: http://www.leearmstrong.com/dsrc/dsrchomeset.htm (accessed on 8 January 2018).
  3. Std, I. 1609.2-2006-IEEE Trial-Use Standard for Wireless Access in Vehicular Environments—Security Services for Applications and Management Messages. 2006. Available online: http://ieeexplore.ieee.org/document/1653011/ (accessed on 8 January 2018).
  4. Kaiwartya, O.; Abdullah, A.H.; Cao, Y.; Altameem, A.; Prasad, M.; Lin, C.T.; Liu, X. Internet of vehicles: Motivation, layered architecture, network model, challenges, and future aspects. IEEE Access 2016, 4, 5356–5373. [Google Scholar] [CrossRef]
  5. Cheng, X.; Wang, C.X.; Laurenson, D.I.; Salous, S.; Vasilakos, A.V. An adaptive geometry-based stochastic model for non-isotropic MIMO mobile-to-mobile channels. IEEE Trans. Wirel. Commun. 2009, 8, 4824–4835. [Google Scholar] [CrossRef] [Green Version]
  6. Qian, Y.; Moayeri, N. Design of secure and application-oriented VANETs. In Proceedings of the Vehicular Technology Conference, Singapore, 11–14 May 2008; pp. 2794–2799. [Google Scholar]
  7. Qu, F.; Wu, Z.; Wang, F.Y.; Cho, W. A security and privacy review of VANETs. IEEE Trans. Intell. Transp. Syst. 2015, 16, 2985–2996. [Google Scholar] [CrossRef]
  8. Al-Riyami, S.S.; Paterson, K.G. Certificateless Public Key Cryptography; Springer: Berlin/Heidelberg, Germany, 2003; pp. 452–473. [Google Scholar]
  9. Diffie, W.; Hellman, M.E. New directions in cryptography. IEEE Trans. Inf. Theory 1976, 22, 644–654. [Google Scholar] [CrossRef]
  10. Shamir, A. Identity-based cryptosystems and signature schemes. Lect. Notes Comput. Sci. 1984, 21, 47–53. [Google Scholar]
  11. Gong, P.; Li, P. Further improvement of a certificateless signature scheme without pairing. Int. J. Commun. Syst. 2014, 27, 2083–2091. [Google Scholar] [CrossRef]
  12. Cao, X.; Kou, W.; Du, X. A pairing-free identity-based authenticated key agreement protocol with minimal message exchanges. Inf. Sci. 2010, 180, 2895–2903. [Google Scholar] [CrossRef]
  13. Paruchuri, V.; Durresi, A. PAAVE: Protocol for anonymous authentication in vehicular networks using smart cards. In Proceedings of the Global Telecommunications Conference, Miami, FL, USA, 6–10 December 2010; pp. 1–5. [Google Scholar]
  14. Almeida, J.; Shintre, S.; Boban, M.; Barros, J. Probabilistic key distribution in vehicular networks with infrastructure support. In Proceedings of the Global Communications Conference, Anaheim, CA, USA, 3–7 December 2012; pp. 973–978. [Google Scholar]
  15. Calandriello, G.; Papadimitratos, P.; Hubaux, J.P.; Lioy, A. Efficient and robust pseudonymous authentication in VANET. In Proceedings of the 4th ACM International Workshop on Vehicular Ad Hoc Networks, Montreal, QC, Canada, 10 September 2007; pp. 19–28. [Google Scholar]
  16. Zhang, C.; Lin, X.; Lu, R.; Ho, P.H. RAISE: An efficient RSU-aided message authentication scheme in vehicular communication networks. In Proceedings of the International Conference on Communications, Beijing, China, 19–23 May 2008; pp. 1451–1457. [Google Scholar]
  17. Biswas, S.; Misic, J.; Misic, V. ID-based safety message authentication for security and trust in vehicular networks. In Proceedings of the International Conference on Distributed Computing Systems Workshops, Minneapolis, MN, USA, 20–24 June 2011; pp. 323–331. [Google Scholar]
  18. Chim, T.W.; Yiu, S.M.; Hui, L.C.K.; Li, V.O.K. SPECS: Secure and privacy enhancing communications schemes for VANETs. Ad. Hoc. Netw. 2011, 9, 189–203. [Google Scholar] [CrossRef] [Green Version]
  19. Horng, S.J.; Tzeng, S.F.; Pan, Y.; Fan, P.; Wang, X.; Li, T.; Khan, M.K. b-SPECS+: Batch verification for secure pseudonymous authentication in VANET. IEEE Trans. Inf. Forens. Secur. 2013, 8, 1860–1875. [Google Scholar] [CrossRef]
  20. Tsai, J.L.; Lo, N.W. A privacy-aware authentication scheme for distributed mobile cloud computing services. IEEE Syst. J. 2015, 9, 805–815. [Google Scholar] [CrossRef]
  21. Shim, K.A. An ID-based aggregate signature scheme with constant pairing computations. J. Syst. Softw. 2010, 83, 1873–1880. [Google Scholar] [CrossRef]
  22. Shim, K.A. An efficient conditional privacy-preserving authentication scheme for vehicular sensor networks. IEEE Trans. Veh. Technol. 2012, 61, 1874–1883. [Google Scholar] [CrossRef]
  23. Dan, B.; Lynn, B.; Shacham, H. Short signatures from the Weil pairing. In Proceedings of the 7th International Conference on the Theory and Application of Cryptology and Information Security, Gold Coast, Australia, 9–13 December 2001; pp. 514–532. [Google Scholar]
  24. Liu, J.K.; Yuen, T.H.; Man, H.A.; Susilo, W. Improvements on an authentication scheme for vehicular sensor networks. Exp. Syst. Appl. Int. J. 2014, 41, 2559–2564. [Google Scholar] [CrossRef]
  25. Kumar, P.; Kumari, S.; Sharma, V.; Sangaiah, A.K.; Wei, J.; Li, X. A Certificateless aggregate signature scheme for healthcare wireless sensor network. Sustain. Comput. Inf. Syst. 2017. [Google Scholar] [CrossRef]
  26. He, D.; Zeadally, S.; Xu, B.; Huang, X. An efficient identity-based conditional privacy-preserving authentication scheme for vehicular ad hoc networks. IEEE Trans. Inf. Forens. Secur. 2015, 10, 2681–2691. [Google Scholar] [CrossRef]
  27. Lo, N.-W.; Tsai, J.-L. An efficient conditional privacy-preserving authentication scheme for vehicular sensor networks without pairings. IEEE Trans. Intell. Transp. Syst. 2016, 17, 1319–1328. [Google Scholar] [CrossRef]
  28. Rankl, W.; Effing, W. Smart Card Handbook, 3rd ed.; John Wiley & Sons: Hoboken, NJ, USA, 2004. [Google Scholar]
  29. Mayes, K.E.; Markantonakis, K. Smart Cards, Tokens, Security and Applications; Springer: New York, NY, USA, 2008; pp. 519–527. [Google Scholar]
  30. Ding, E.J.; Qiao, X.; Chang, F.; Qiao, L. Improvement of weighted centroid localization algorithm for WSNs based on RSSI. Trans. Microsyst. Technol. 2013, 32, 53–56. [Google Scholar]
  31. Patwari, N.; Ash, J.N.; Kyperountas, S.; Hero, A.O.; Moses, R.L.; Correal, N.S. Locating the nodes: Cooperative localization in wireless sensor networks. IEEE Signal Process. Mag. 2005, 22, 54–69. [Google Scholar] [CrossRef]
  32. Pointcheval, D.; Stern, J. Security arguments for digital signatures and blind signatures. J. Cryptol. 2000, 13, 361–396. [Google Scholar] [CrossRef]
Figure 1. Network architecture on the main roadways.
Figure 1. Network architecture on the main roadways.
Sensors 18 00194 g001
Figure 2. Network architecture in a desolate environment.
Figure 2. Network architecture in a desolate environment.
Sensors 18 00194 g002
Figure 3. The vehicle to RSU (vehicle) registration process.
Figure 3. The vehicle to RSU (vehicle) registration process.
Sensors 18 00194 g003
Figure 4. The vehicle to RSU (vehicle) authentication process.
Figure 4. The vehicle to RSU (vehicle) authentication process.
Sensors 18 00194 g004
Figure 5. The RSU to vehicle (RSU) authentication process.
Figure 5. The RSU to vehicle (RSU) authentication process.
Sensors 18 00194 g005
Figure 6. Comparison of two different schemes.
Figure 6. Comparison of two different schemes.
Sensors 18 00194 g006
Figure 7. Freshness of timestamp and coordinates.
Figure 7. Freshness of timestamp and coordinates.
Sensors 18 00194 g007
Figure 8. Comparison of execution time for the batch verification.
Figure 8. Comparison of execution time for the batch verification.
Sensors 18 00194 g008
Figure 9. Comparison of the communication overhead.
Figure 9. Comparison of the communication overhead.
Sensors 18 00194 g009
Table 1. List of notations.
Table 1. List of notations.
SymbolDescriptionsSymbolDescriptions
RSUA roadside unit d 1 A secret key of a user
TAA Trusted Authority d 2 The partial secret keys of a user issued by the PKG
PKGA Private Key Generator P 1 A public key of a user
n A k-bit prime number P 2 A public key of users issued by the PKG
F n A finite field with n elements r A private key of the TA
E ( F n ) An Elliptic Curve over a finite field F n , y 2 = x 3 + a x + b m o d n , a ,   b ,   x ,   y F n s A private key of the PKG
b A secret number in a smart card P W The password of the smart card
G An additive group with the order q P T A A public key of the TA
q The order of the group G P P K G A public key of the PKG
P The point generator of the group Gq t i m e A timestamp
P I D The pseudo identity of a user Exclusive-OR operation
R I D The real identity of a user Message concatenation operation
Table 2. Security Comparisons of Related Schemes and Our Scheme.
Table 2. Security Comparisons of Related Schemes and Our Scheme.
The Types of AttacksCalandriello ’s SchemeShim’s SchemeLo’s SchemeOur Scheme
TraceabilityNoYESYESYES
UnlinkabilityYESYESYESYES
Resistance to impersonation attackYESYESYESYES
Resistance to node replication attackNoNoNoYES
Resistance to node compromise attackNoNoNoYES
Resistance against replay attackNoYESYESYES
Table 3. Execution Time of Different Operations.
Table 3. Execution Time of Different Operations.
OperationExecution Time (Microsecond)
T b p 2000
T h m t p 4.398
T e p m 4.46 × 10 6
T e p a 6.552
T h 2.294
T R S S I 11.072 a
T e c c - s i g n 3460
T e c c - v e r i f y 7634
a T R S S I = 2.649 × 4 + 0.1584 × 2 + 0.0272 × 4 + 0.0486 = 11.072 μs.
Table 4. Comparisons of the execution time of five schemes.
Table 4. Comparisons of the execution time of five schemes.
MethodSigning a Single Message (μs)Verify a Single Message (μs)Verify n Messages (μs)
Giorgio’s scheme T = T e c c - s i g n = 3460 T = T e c c - v e r i f y = 7634 T = n T e c c - v e r i f y = 7634 n a
Shim’s scheme T = 2 T e p m + T e p a + T h = 8.6 T = 3 T b p + T e p a + 2 T e p m + 2 T h = 6011 T = 3 T b p + ( 3 n 2 ) T e p a + ( n + 1 ) T e p m + 2 n T h = 24.2 n + 5986.6
Lo’s scheme T = T h + T e p m = 2.3 T = 2 T h + 3 T e p m + 2 T e p a = 17.7 T = 2 n T h + 2 n T e p a + ( n + 2 ) T e p m = 17.7 n
Horng’s scheme T = T h + 4 T e p m + T e p a + 2 T h m t p = 17.64 T = 2 T b p + T h + T e p a + 2 T e p m + T h m t p = 4013.2 T = 2 T b p + n T h + ( 3 n 1 ) T e p a + 3 n T e p m + n T h m t p = 26.3 n + 3993.5
Our schemeVehicle: T = T h + T e p m = 2.3 T = 2 T h + 3 T e p a + 3 T e p m = 24.2 T = 2 n T h + 3 n T e p a + ( n + 2 ) T e p m = 24.2 n
RSU: T = T R S S I + T h + T e p m = 13.4
a n is the number of messages.
Table 5. Communication costs of the proposed scheme.
Table 5. Communication costs of the proposed scheme.
Communication Costs for a Vehicle (bit) P I D P 1 P 2 M L v Timestamp T -
2565125122565122563232-
Communication Costs for a RSU (bit) ( x R , y R ) I D R 2 P R 1 P R 2 M L R Timestamp t v R
322565125122565123232256
Table 6. Comparison of communication costs.
Table 6. Comparison of communication costs.
MethodCommunication OverheadAfter Reduction (byte)
Shim’s Scheme512 + 512 + 32 + 256 + 32 + 512 + 512 + 512 = 2880 bits = 360 bytes232
Lo’s Scheme512 + 512 + 32 + 256 + 32 + 512 + 512 + 256 = 2624 bits = 328 bytes232
Horng’s Scheme512 + 512 + 512 + 256 + 512 = 2304 bits = 288 bytes224
Our SchemeFor a vehicle: 296 bytes200
For a RSU: 300 bytes204

Share and Cite

MDPI and ACS Style

Li, C.; Zhang, X.; Wang, H.; Li, D. An Enhanced Secure Identity-Based Certificateless Public Key Authentication Scheme for Vehicular Sensor Networks. Sensors 2018, 18, 194. https://doi.org/10.3390/s18010194

AMA Style

Li C, Zhang X, Wang H, Li D. An Enhanced Secure Identity-Based Certificateless Public Key Authentication Scheme for Vehicular Sensor Networks. Sensors. 2018; 18(1):194. https://doi.org/10.3390/s18010194

Chicago/Turabian Style

Li, Congcong, Xi Zhang, Haiping Wang, and Dongfeng Li. 2018. "An Enhanced Secure Identity-Based Certificateless Public Key Authentication Scheme for Vehicular Sensor Networks" Sensors 18, no. 1: 194. https://doi.org/10.3390/s18010194

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