Lightweight Secure Authentication and Key Distribution Scheme for Vehicular Cloud Computing

: A vehicular ad-hoc network (VANET) is the basic block in building an intelligent transportation system that improves the trafﬁc ﬂow and makes needed information conveniently accessible. VANET depends on a dense exchange of sensed data between vehicles and Road Side Units (RSUs). A large amount of sensed data requires a huge computation and storage capabilities, which is provided by the vehicular cloud computing (VCC). However, the security problems of data conﬁdentiality, access control, vehicles’ authentication, and conductors’ privacy in VCC are issues that need to be solved. In this paper, we propose an efﬁcient algorithm to ensure VCC security and privacy. We use Pseudo-ID instead of vehicles’ real ID to provide conductors’ privacy, Identiﬁer-Based Signature mechanism is used to guarantee vehicles’ authentication, and Ciphertext-Policy Attribute-Based Encryption (CP-ABE) algorithm is used for key distribution. Our liGhtweight secURe AutheNticaTion and keY distribution scheme for vehicular cloud computing (GUARANTY) ensures a secure keys distribution to minimize the encryption and decryption computation cost. Vehicles use a symmetrical cryptography in their communication. We analyze the security of our algorithm using AVISPA tool. We use this tool to simulate insiders and outsiders attacks. We evaluate our algorithm’s performance in terms of computation delay and reception rate.


Introduction
The technological development has affected all aspects of our daily life, particularly the communication area, which is evolving very rapidly due to the advances in wireless technology. This lead to the introduction of vehicular ad-hoc network (VANET), which has resulted in reducing the problem of road accidents. VANET is a network of vehicles that are able to self-organized. These vehicles can communicate directly with each other or via roadsides units with the aim to achieve a safe and efficient transportation traffic system. Recently, VANET is considered the main building block for the future intelligent transportation system. Generally, VANET consists of On-Board Units (OBU) installed in the vehicles (enabling Vehicle to Vehicle (V2V) communication) and Road Side Units (RSU) deployed on the roadside (enabling Vehicle to RSU (V2R) communication). These days, vehicles are equipped with a powerful on-board processing unit, a device capable of storing large amount of data, GPS device, cameras, radio transceiver, and enough sensors that give the vehicles the ability to collect data traffic environment and exchange it among themselves. This huge sensed data requires large space capacity to be stored and fast computing capability to be manipulated [1], which led to the introduction of vehicular cloud computing (VCC). This new environment enables vehicles to request storage, computing, network, cooperation, and sensing services [2,3]. It provides new applications, such as autonomous driving, urban surveillance, traffic management, and many others [4].
The combination of cloud computing and VANETs creates new challenges, such as resource heterogeneity, loss of communication, and, especially, the privacy and security. The interaction among VCC members raises many security issues and attacks problems, such as Man in the Middle Attack (MiM), which is based on the identity usurpation of a legitimate node. To deal with an MiM attack, it is necessary to ensure a confidential solution by using powerful cryptography algorithms with secure authentication and data integrity verification.
Denial of Service (DOS) attack aims to consume system resources and makes them unavailable to authentic users by sending dummy messages to jam the channel. In a Brute force Attack, the attacker tries to get sensitive information, such as user password or personal identification number. In a Sybil Attack, the attacker generates multiple fake vehicles with the same identity on the road to make an illusion that the network is heavily congested [5].
VCC environment is usually used by vehicles moving at high speeds. In this kind of highly dynamic environment, traditional security solutions have to deal with challenging issues, which are due to the sophisticated communication system used by the vehicles, the changing users' clusters, real-time constraints, etc. The VCC communication mechanism must must protect the transmitted messages' privacy and confidentiality. To stop attackers from altering, injecting, and/or replaying messages, vehicles have to be authenticated.
Traditional asymmetrical message encryption could be a solution; however, it is costly to encrypt and decrypt the messages using public/private keys, which leads to an inefficient resource access. Another approach is to use the vehicle's public key of the receiver to encrypt each message, sign the message, and send it. However, in this method a huge number of ciphertext messages will be sent since a message is usually sent to many vehicles. Which makes it very difficult to satisfy the data dissemination real-time constraints required by vehicular applications. It is a complex issue because the safety in these kind of applications require strong timing constraints. Since there is no centralized access control to disseminate encrypted messages in an environment that is very dynamic, the access control problem is not solved in a satisfying way yet.
We present a liGht-weight secURe AutheNticaTion and keY distribution scheme for vehicular cloud computing (GUARANTY) to ensure VCC security and privacy. We used Pseudo-ID instead of the vehicles' real ID to ensure conductors' privacy, Identifier-Based Signature (IBS) mechanism to ensure vehicles' authentication, and Ciphertext-Policy Attribute-Based Encryption (CP-ABE) algorithm [6] for key distribution. Our proposed solution is based on the secure distribution of keys because, once we guarantee that keys are distributed securely, we can just open a session between two entities using symmetrical cryptography. This way, we can ensure fast data encryption. The contributions of this work are: 1. We propose a key distribution model that is efficient and secure. We use CP-ABE algorithm for keys encryption instead of using this algorithm for messages encryption. This way, we just need to encrypt keys during the registration step. Vehicles can then communicate with RSU using symmetrical encryption. The model securely ensures fast transmission of messages. 2. GUARANTY protocol ensures vehicles' privacy by using Pseudo-ID instead of the vehicle's original ID. 3. Our scheme ensures vehicles authentication by using IBS signature scheme to authenticate legitimate vehicles. 4. V2V communication is secured in our approach by using authentication key 'AuK ' transmitted by RSU to all authenticated vehicles.
The remaining sections of this work are organized as: Section 2 presents previous works in the aspects of VANET and VCC security using CP-ABE algorithm and IBS scheme. Section 3 discusses different algorithms related to our proposed solution. Section 4 presents GUARANTY proposed solution. We discuss security analysis and evaluate our proposed solution performance in Section 5. Finally, we conclude the paper in Section 6.

Related Work
In this section, we highlight the proposed solutions that preserve VANET and VCC security and privacy. In Table 1, we compare these existing solution to our proposed GUARANTY. The attribute-based encryption (ABE) [6] is used in diverse access control applications in VANET. Huang, in Reference [15], introduces the first ciphertext-policy attribute-based encryption (CP-ABE) algorithm in VANET, where each vehicle has its access rights and capabilities based on its attributes. Vehicles that have certain attributes satisfy the access policy can access the broadcasted message and decrypt it with its OBU module. Vehicles' OBU processors have a slow computation power. It represents a significant challenge to process the message. The decryption time required on high performance mobile terminal would be about 30 s for an ABE ciphertext that contains 100 attributes, which leads to a significant battery energy consumption [21]. OBUs have limited processing power to make VANETs economically viable.
To reduce processing load used by the decryption, the authors in Reference [16] propose "a Secure and Efficient Message Dissemination with policy enforcement in VANET". This protocol uses a ciphertext-policy attribute-based encryption (CP-ABE) to to allow different access control services. Most of the computations needed for decryption are carried out by RSU. This algorithm consists of three phases: registration phase, dissemination phase, and decryption phase. During the registration phase, vehicles register at the nearest RSU by sending their attributes information, such as speed, direction, and position. The RSU then transfers this information to the top trusted center for key generation. The center generates two keys, Attribute key 'AK' and Security key 'SK'. The Attribute key will be transmitted to the RSU and the vehicles have to keep the security key private. In the message dissemination phase, when the center receives an event rapport, it generates an alert message to the related vehicles, and it encrypts the alert message with access policy. Only vehicles which have the set of attributes satisfying the access policy can decrypt the message. In the decryption phase, when the RSU receives the encrypted emergency message, it must perform a fast decryption test using the Attribute Key 'AK' of registered vehicles. The RSU will transform a ciphertext from vehicles that their attribute set satisfied the access policy in the new ciphertext. When the responding vehicles receive the new ciphertext, they only need to do a little decryption computation using their secret key. However, this algorithm ensures only the access control of messages; the privacy and authentication of vehicles are not ensured, and the attributes of vehicles are transmitted in unsecured way. In addition, the transmission of 'SK' from the center to the vehicle can be altered, and each message must be encrypted using the ABE algorithm, which takes calculation time.
In Reference [15], authors integrate identity-based encryption scheme (IBES) and identity-based signature algorithm to encrypt messages and ensure the confidentiality and vehicles' authentication. The identity-based signature algorithm is based on the use of batch and rapid verification in VANET communication [22].
The work in Reference [17] proposes a cloud-based security and privacy-aware information dissemination over ubiquitous VANET algorithm. The authors combine the identity-based signature (IBS) with pseudonym to ensure the privacy and the authentication of vehicles. Moreover, they use CP-ABE method to ensure access control for both VANET and Cloud. Vehicles register themselves on the cloud via the nearest RSU, and the cloud then generates vehicles' private key and the Pseudo-ID, which encrypts the vehicles' ID using the system master key. The cloud encrypts the message using CP-ABE method to ensure access control and signs the message using IBS signature to ensure authentications of vehicles. Vehicles that satisfied the access policy decrypt the message. This algorithm ensures the authentication of vehicles and the confidentiality of messages, but the decryption step takes time because vehicles have limited computing capacity. This algorithm ensures only the authentication in V2R communication; V2V authentication is not satisfied. The privacy of vehicles can be affected, and the transmission of vehicle's ID to the cloud can be detected, by a malicious vehicle before Pseudo-ID generation.
The authors in Reference [14] propose a Secure Vehicular Communication using ID-Based signature algorithm, which allows establishing a secure communication between vehicles. It uses Pseudo-ID to ensure the privacy of vehicles and IBS or IBOOS signature to provide authentication. This algorithm provides V2R, V2V with RSU, and V2V without RSU authentication. It can ensure security against authentication-based attacks, such as Sybil attack and Impersonate attack, and isolate the malicious nodes from the network. In V2R communication, RSU affects an offline signature to authenticate vehicles. V2V authentication is carried out by using the offline signature generated by RSU to calculate an online signature used to verify the authentication of vehicle. Vehicles under the control of different RSUs can communicate with each other by sending an authentication request to the nearby RSU about the offline signature of the vehicle. In the case of the absence of RSU, vehicles can communicate securely without the control of RSU by using RTA algorithm.
Hussain et al. [13] present a Geolock-based encryption algorithm in which the receiver has to be in the location indicated by the sender. The location-based encryption uses the location information to generate the encryption and decryption keys. This algorithm can provide the location confidentiality against the outsider, by using KZ (key is given to all vehicles in the region Z) and KRSU (key distributed by RSU to all vehicles within its range) to encrypt the message, and it can keep the insiders from manipulating the context of the message by changing these two keys periodically. Vehicles insiders must be exactly in the region Z at the confident time to decrypt the message.
To solve the problems of privacy breach in cloud-based V2X communication, the authors in Reference [11] design a Privacy Assessment method with Uncertainty consideration (PAU). In this scheme, the authors focus on evaluating the privacy protection of vehicles by analyzing the users' historical behavior under cloud-based V2X scenarios. To measure the record in the users' historical behavior, authors expand a subjective logic of uncertainty. PAU calculates the vehicle's real-time privacy capability by observing this vehicle's realtime communication. It uses the privacy aggregation algorithm to improve the accuracy of privacy assessment.
Authors in Reference [12] propose a Sensor-enabled Secure Vehicular Communication for emergency messages dissemination using cloud services (SSVC) algorithm. SSVC improves communication efficiency and reduces its delay using WAVE protocol. It uses Blowfish protocol [23] to prevent other vehicles from tracing the information from the cloud storage.
In Reference [10], authors propose Blockchain security technique for vehicles communication to ensure secure vehicles' communication and authentication. In this scheme, authors use pseudo-identity instead of real identity to provide vehicle privacy. These pseudo-identities are stored in a public ledger as transactions, where only RSUs can read the content of the ledger to check vehicles' authentication. Authenticated vehicles have a group key for secure data transfer.
Authors in Reference [9] propose a Blockchain-based Anonymous Reputation System (BARS), based on blockchain technology, to build a trust model for VANET that preserves the privacy. They use the public key as pseudonym, instead of using real identity, to ensure the vehicle's privacy. They propose a reputation evaluation method, which does not allow forged messages' distribution. They apply direct historical interactions and indirect opinion about vehicles to assess vehicles' reputation score.
In Reference [18], authors propose an efficient and scalable proof-variant that can be implemented in various VANET applications based on blockchain, in combination with Practical Byzantine Fault Tolerance (PBFT) consensus. They introduce a new proof-variant, named Proof of Driving (PoD), to randomize the selection of honest miners based on earning coins. Additionally, this work introduces a filtering technique based on Service Standard Score of the vehicular miner nodes to detect and eliminate the malicious nodes.
The work presented in Reference [19] proposes a blockchain storage architecture focused on license plate recognition (LPR) systems for smart cities focusing on privacy, performance, and security. The proposed architecture relies on the Ethereum platform and smart contracts. Additionally, this work is the first one that proposes a solution to provide privacy in LPR systems using blockchain.
Identity-Based Data Transmission protocol (EIBDT) is a protocol used to protect transmitted data between vehicles and RSUs. It is based on the identity-based encryption method with a low computation task. The authors in Reference [8] propose to use the Lagrange interpolation method instead of using the bilinear mapping scheme for integrity and confidentiality protection with a low computation task. They use an algebraic signature to encrypt the vehicle's real identity and use the identity-based signature algorithm to guaranty vehicle's privacy and avoid the pseudonym management complexity.
The work in Reference [20] presents a trust model based on the mathematical statistics method, which combines entity trust with data trust to enhance the safety of VANET networks. The proposed model relies on statistical principles, such as significance test, hypothesis test, and confidence interval. It can help vehicles to judge whether an event message can be trusted or not, and it can help the reputation management center to calculate trust values of all vehicles. The authors in Reference [7] present a secure vehicle traffic data dissemination and analysis protocol in VCC, where they adopt the pseudonym technique to preserve vehicles privacy. An anonymous credential approach is used to generate vehicles' authorization. Identifier-based signature algorithm is used to ensure the authentication of vehicles. Authors also use batch verification method to reduce the signature verification time, and the pseudo revocation list to discard the messages generated by revoked vehicles. However, this technique is susceptible because it does not support an appropriate encryption scheme. The previously presented algorithms are based on message encryption. However, keys dissemination is the most challenging steps in security because these keys will be used in messages encryption. The efficiency of security algorithm depends directly on the efficiency of keys dissemination.
In this work, we propose a protocol based on secure and efficient keys dissemination, with vehicles authentication, conductors' privacy, and messages confidentiality.   such as the position, speed, and acceleration/deceleration, and transmits it to vehicles or RSUs within its transmission range through the wireless medium. As stated in Reference [24], "it uses the Wireless Access in Vehicular Environment (WAVE) standard, which is based on the emerging IEEE 802.11p specification". 3. Road Side Units (RSU): It is a fixed infrastructure deployed on the roadside to monitor the traffic or in the road intersections to manage the traffic lights. It acts as a gateway for the vehicles to access the Internet. The main use of RSUs in the proposed approach is to provide secret key and authentication key transmission in a secure manner. 4. Vehicle-to-Vehicle (V2V) communication: Vehicles communicate with other vehicles within their transmission range through a direct wireless transmission of data without need of using fixed infrastructures. In GUARANTY algorithm, vehicles must be authenticated to establish a secure communication between them. The registration, Pseudo-ID formation, and authentication phases are used at the start of vehicles' trip or when the vehicle's secret key is threatened. In this case, the vehicle can re-register itself at the nearby RSU to have a new secret key. 5. Vehicle-to-RSU (V2R) communication: This is the communication between vehicles and RSU, and it is usually done via wireless transmission. In our model, vehicles send a registration request for key generation and a signature request for its authentication. 6. Vehicle-to-Internet (V2I) communication: It is a communication, between vehicles and the Internet, which can be established directly or indirectly using the RSU. 7. Cloud Center: A virtual server, in a cloud computing platform, which offers many services, such as computing capabilities, storage, and communication resources on demand. The cloud generates the keys. All vehicles' information is stored in the database and then used in vehicles' private key generation.

Network Security Model
In this subsection, we describe our network security model, by presenting our algorithm's assumptions and the list of attackers that can be carried out in the network. Assumptions • The RSUs are connected via a wired connection, and the communication between them is carried out via a secure channel. • Vehicles are in an area covered completely by RSUs. • The cloud is trusted and secure. • The communication between the cloud and the RSU is carried out via a secure channel. • The vehicles contain OBUs that are equipped with processing and storage capabilities to carry out the encryption/decryption. • Cloud-based Revocation Authorities (CRAs) are responsible for the revocation process.
Network Attackers: the wireless medium used in vehicles' communications has several disadvantages that makes it vulnerable to different kind of attacks. IN this paper, we aim to solve the following security challenges:different types of attacks. The aim of our paper is to tackle the following security issues: • Attacks on confidentiality: The aim of these kind of attacks is to access confidential data illegally. Eavesdropping and Man in the Middle (MiM) are examples of these attacks. • Attacks on authentication: The objective of this attack is to claim that it is an authorized vehicle, such as impersonate and Sybil attacks. • Attacks on vehicles' privacy: The objective of this attack is to expose the identity of vehicles, such as tracking attacks.

Access Structures
Let {Att 1 , Att 2 , . . . , Att n } be a set of parties and an Access Structure (AS). We say that a collection AS ⊆ 2 Att 1 ,Att 2 ,...,Att n is monotone ∀ B, C : if B ∈ AS and B ⊆ C, then C ∈ AS.
We say that a collection AS ⊆ 2 2 Att 1 , Att 2 , ..., Att n is non-monotone ∀ B, C : if B ∈ AS and B ⊆ C, then C / ∈ AS. Monotone AS is a monotone collection of non-empty subsets of {Att 1 , Att 2 , . . . , Att n }, i.e., AS ⊆ 2 Att 1 ,Att 2 ,...,Att n / Att i = {∅} . The sets in AS are called the authorized sets, and the sets not in AS are called the unauthorized sets [25].
In our context, the AS contains the authorized parties, which are represented by the attributes. These attributes in our proposed solution are the vehicles' information, such as vehicle identifiers, locations, speeds, direction values, etc. We concentrate on monotone AS. However, authors in Reference [26] proposed to use the non-monotone AS. They add the negation in space of the attributes along with each part. Hence, the number of possible attributes is doubled as compared to the classical scheme and the resulting ciphertext may contain many negations attributes that have are of no use in decrypting the data. It leads to a strong increase in the size of the ciphertext.

Access Tree
The access tree τ describes and implements AS. Each leaf node in τ represents an attribute. Internal node represents a threshold gate defined by its children and threshold value as: For a node x, we denote: • N x : number of children of x. • th x : threshold value, where: If th x = 1, the threshold gate is an 'OR' gate.
If th x = N x , the threshold gate is an 'AND' gate. • index x : represents node's index. • att x : is the attribute value associated with the leaf node x. • parent x : is the parent of x in the tree τ.
The evaluation and satisfaction of τ on a set of attributes is described iterative from the leaves toward the root R of τ.

Linear Secret Sharing Schemes (LSSSs)
Let F be a finite field, and Π be a secret sharing scheme. Π is said to be a LSSS over F if: 1. The piece of each party is a vector over, in which there exists a constant d k for each k, and the piece of F k is taken from F d k . 2. We define a share generating matrix (M) for Π, with l rows and n columns in a similar way to Reference [25]. "For all i = 1, ..., l, where 'i' is the row of M. The function ρ defines the party labeling row 'i' as ρ(i). The column vector v = (s, r2, . . . , rn), where s ∈ F is the secret to be shared, and r2, . . . , rn ∈ F are randomly chosen. So, M v is the vector that shares the secret s according to Π. The share (Mv) i belongs to party ρ(i)" [25]. To show that every LSSS according to the above definition also enjoys the linear reconstruction property, authors in Reference [25,27] suppose that Π is an LSSS for the access structure AS. We put S ∈ AS as any authorized set, and H ⊂ {1, 2, . . . , l} be defined The LSSS matrix can be defined by an access tree where the tree's non-leaf nodes are 'AND' and 'OR' gates, and leaf nodes are attributes. The matrix's number of rows is equal to the number of leaf nodes of the access tree.
We say that G1 is a bilinear group, in the case of the group action in G1and the bilinear map e:G1 × G1 → G2 can be computed efficiently [27].

Ciphertext-Policy Attribute-Based Encryption (CP-ABE)
It is a confidential and secure algorithm based on preserving access control of encrypted data. CP-ABE allows users to encrypt data by defining an access policy over attributes, where only users that satisfy the policy can decrypt the message and access to the data. This algorithm has four principal steps [6]: • Setup: The algorithm takes the security parameter and the attribute of the user as input. It generates the public key (PK) and a master key (MK) as output. • Encryption: The algorithm has as input: the PK, a message, and an access structure.
It will encrypt the message and generate a ciphertext, where only the users that possess the set of attributes that satisfies the access structure will be able to decrypt the message. • Key Generation: The values of the master key and a set of attributes (describing the key) are the input to the algorithm, which generates a private key SK. • Decryption: The algorithm gets the public key, the ciphertext, and the private key input. The algorithm checks if the set of attributes satisfies the access structure AS (defined in the ciphertext), and then it will decrypt the ciphertext and return the original message.

Identity-Based Signature (IBS)
It is an algorithm used to ensure the authentication of entities, where the user's identity is used to compute its signature. The information about the the identity of the signer and the master key is required to verify the signature. The signature is generated [28] as follows: • Setup: The master key is generated by a certified authority and broadcasted to all vehicles via RSUs. • Extraction: Vehicle generates its private key based on its identifier, the master key, and timestamp. • Signing: Vehicles encrypts the message (Msg) using its private key to generate the signature (SIG). • Verification: The validity of the signature is verified by the receiving vehicle.

Our Proposed GUARANTY Scheme
Now, we detailed the construction of our algorithm. The different notations used in our scheme are presented at the end of the paper in "Abbreviations". GUARANTY algorithm has 4 main steps.

Registration
Each vehicle must register itself at the nearest RSU, and the RSU then transmits vehicles' information to the cloud for keys generation and for updating vehicles' information as shown in Algorithm 1. The registration mechanism has three steps, and Figure 2 describes the sequence diagram of the registration process. 1.
Step 1: The cloud assigns an identifier ID RSU , a verification number V N RSU , and an authentication key 'AuK' to each RSU. It also registers all vehicles' ID with their chassis numbers (CN). 2.
Step 2: Each vehicle must register itself at the nearby RSU, when it enters or leaves the particular region, by broadcasting a Registration Request (RR) message encrypted with the public key of RSU (PK RSU ). The registration request contains the vehicle's attribute values (vehicle identifier, location, current speed, and the direction value, etc.). The RSU verifies location-related attributes using location proof methodologies [29]. At the end, the vehicle's attribute values are transmitted to the cloud with the VN RSU , where VN RSU ensures the legitimacy of the RSU. In the case where the RSU is malicious, it will be detected by the cloud by checking the VN RSU , and then it will be revoked. RR = (T, ID z , Sp z , D z , L z , ID RSU )PK RSU .
T represents the current time, ID z represents vehicle's identifier, Sp z represents the speed of vehicle Z, D z represents the direction of vehicle Z, L z represents the position of vehicle Z, and ID RSU represents the identifier of the nearest RSU. 3.
Step 3: The cloud generates two keys, after receiving the vehicle's attribute values, and sends them to the RSU: the attribute key 'AK' and the secret key 'SK'. When RSU receives the two keys, it must encrypt the secret key 'SK' using attribute key 'AK' of the corresponding vehicle. For the transmission of the secret key 'SK', we apply the CP-ABE algorithm, which has the following five parts: a Setup: When the cloud receives the attribute values of the vehicle, it runs the setup algorithm. It takes attributes set S as input in which the set of attributes contains the vehicle's attributes transmitted by the vehicle and the corresponding chassis number (CN) registered in the cloud. The cloud then generates the public and the master key as output. For this, it chooses two groups G1 and G2 of prime order P, and two generators g 1 and g 2 . It chooses also two random exponents b, α ∈ Z p . The public key is generated as: The master key is set as: b Key-generation: To generate the attribute key (AK), the cloud gets the masterkey (MK) and a set of attributes S as input. It generates the attribute key AK corresponding to the set of attributes of the vehicle. The algorithm first generates a random number t ∈ Z p and then creates the attribute key as: where h x is the attribute string of attribute x hashed to an element of G1. To generate the secret key, the cloud chooses a random number s ∈ Z p and computes the secret key: c Encryption: The algorithm defines the access matrix (M, k) based on a given a LSSS. The matrix M is defined as (l*n ), where l is the number of rows, n is the number of columns, and k refers to the function that maps rows of M to the attributes. The algorithm selects a random vector v= (s, y 2 , ..., y n ) T ∈ Z p , where the exponent s ∈ Z p is randomly chosen as the secret to be shared in secret key generation. The other values are used to share the encryption exponent s. It calculates λ i = M i v, where i takes value from 1 to l. The algorithm also chooses random r 1 , ..., r n ∈ Z p . The ciphertext is published as: So, the cloud generates keys, sends them to the RSU, and then it encrypts the secret key using the attribute key and sends the ciphertext to the corresponding vehicle. d Decryption: In this step, the vehicle takes as input a ciphertext (CT) and the attribute key for a set of attributes S. The Lagrange basis polynomials [30] evaluated at zero, p i (0), are computed for the indices involved in access policy by: The decryption algorithm computes where e(g s 1 , g bt 2 g α 2 ) ∏ i∈A e(g bsi We use the properties of bilinearity, which allows exponents to be interchanged as e(g 1 , g x 2 ) = e(g x 1 , g 2 ).
Since the only i-dependence is present in the exponent of the denominator, it can be expressed as: e(g 1 g 2 ) αs e(g 1 g 2 ) bst e(g 1 g 2 ) btΣ i∈A s i p i (0) .
Recall the property of Lagrange basis polynomial [30] s, Σ is i p i (0) = p(0); thus, it recreates the coefficient at zero which is the secret s. Therefore, it will be: e(g 1 g 2 ) αs e(g 1 g 2 ) bst e(g 1 g 2 ) bst = e(g 1 g 2 ) αs .
This is equal to the vehicle's SK. The vehicle can decrypt the ciphertext and recover its SK, which must be kept private.
Each vehicle, at the start of its trip, registers at the nearest RSU. When a vehicle leaves a region of RSU, the RSU transmits the vehicle's information to the next RSU located on the vehicle's direction on a secure channel. If the vehicle changes its direction, it will register with the next nearest RSU again. Table 2 lists the symbols used in the mathematical equations of registration step.  The access matrix. s The secret to be shared. k Function that maps rows of M to the attributes. λ i Valid shares of the secrets. p i (0) The Lagrange basis polynomials function.

Algorithm 1 Registration Algorithm.
The cloud registers all vehicles ID with their chassis number and RSUs ID with their V N RSU RSU broadcasts < ID RSU , T, PK RSU > in the network V z sends < T, Sp z , D z , L z , ID RSU > encrypted by PK RSU . RSU verifies: i f V z is legitimate RSU transmits Sp z , D z , L z to the cloud. Cloud runs the Setup algorithm. Cloud runs the key generation algorithm. Cloud transmit 'SK' and 'AK' keys to the RSU. RSU runs encryption algorithm. V z runs decryption algorithm. else RSU runs System Revocation.

Pseudo-ID Formation
After the registration step, each vehicle generates its Pseudo-ID, to ensure privacy preservation in the proposed system as shown in Algorithm 2. The vehicle uses the Pseudo-ID instead of the real ID to ensure that its original ID is not exposed to other vehicles in the network. So, the privacy of vehicles is protected while communicating. Pseudo-ID is generated using the following steps.

1.
Step 1: RSU will encrypt the secret key 'SK' using the attribute key 'AK' and broadcasts it on the network. Vehicles within the range of particular RSU will acquire the encrypted secret key. The vehicle that satisfies the attribute values will decrypt the message and recover the secret key for Pseudo-ID generations. 2.
Step 2: Pseudo-ID of the vehicle (z) is generated by encrypting the original ID of the vehicle (z) by its secret key and sends it to the RSU as: where PID z is the generated Pseudo-ID of vehicle Z, T is the current time, (ID z ) SK is the encrypted value of the vehicle's ID using the secret key, and ID RSU is the ID of the RSU.

Algorithm 2 Pseudo-ID Formation Algorithm.
• V z encrypts ID z by SK z .
• RSU saves PID z and the real ID z of vehicle z.

Authentication
A-V2I and I2V Authentication: Identifier-Based Signature (IBS) algorithm is used to ensure the authentication among vehicles and Infrastructures as illustrated in Algorithm 3. The V2I and I2V authentication are explained next: 1.
Step 1: Each RSU broadcasts its information periodically to all vehicles within its rang. This information is in this form: where ID RSU is the ID of RSU, T is the current time, and PK RSU is the public key of RSU. 2.
Step 2: Vehicles acquire the information from RSU. Vehicles that need to generate their signature will send a signature request message to the RSU. The signature request has this form: where ID RSU is the ID of RSU, PID z is the Pseudo-ID of the vehicle Z, T is the current time, and SIG z (ID z ||T) is the IBS generated by vehicle using its ID and the current time. The ID z and the current time values are concatenated, and the resulting value is encrypted using the secret key (SK Z ), which results in SIG z (ID z ||T). 3.
Step 3: After receiving the signature request from the vehicle, the RSU verifies whether the vehicle is legitimate(by decrypting the signature using the secret key of vehicle Z and verifying the identifier and the time). If it is a legitimate vehicle, the RSU encrypts the authentication key(AuK) using the secret key of vehicle Z and broadcasts it with an authentication message to indicate that V z is legitimate. The authentication signature message has this form: where ID RSU is the ID of RSU, T is the current time, PID z is Pseudo-ID of vehicle z, SIG z (ID z ||T) is the signature of vehicle Z, AuM is an authentication message to indicate that the vehicle which has the PID z is legitimate, and (AuK) SK z is an authentication key encrypted by the secret key of vehicle Z. Only the vehicle authenticated (vehicle Z) can access to this key. All vehicles within RSU's transmission range save the Pseudo-ID of vehicle Z in their authentication table for V2V authentication.
In the case where a vehicle repeatedly moves into the same RSU scope, it does not need to authenticate itself at the RSU each time it wants to establish a communication with it. The first authentication is sufficient because vehicles' information is saved at the RSU.
B-V2V Authentication: To establish secure communication between vehicles, V2V authentication is carried out (Figure 3 describes the sequence diagram of the V2V authentication process). Algorithm 4 presents the V2V authentication process. When a vehicle wants to communicate with other vehicles, it will generate an authentication signature AuSIG z and send a communication request message: where PID z is the Pseudo-ID of vehicle Z, T is the current time, CReq is the communication request message, SIG z (ID z ||T) is the IBS (generated by vehicle Z using its ID, and the current time), and AuSIG z (PID z ||T) is the authenticated signature of vehicle Z. The Pseudo-ID of vehicle Z (PIDz) and the current time value are concatenated, and the resulting value is encrypted using the secret key (AuK), which results in AuSIG z (PID z ||T). ID RSU is the ID of the RSU which has authenticated the vehicle. Each vehicle that receives the communication request message of vehicle Z must verify PID z in its authentication table, and it must verify also the authentication signature (by decrypting the signature using AuK and verifying the Pseudo-ID and the time).

Algorithm 3 V2I authentication Algorithm.
V z calculates SIG z (PID z ||T). V z sends < ID RSU , PID z , T, SIG z (PID z ||T) > to RSU. RSU verifies: i f V z is valid Broadcast< ID RSU , T, PID z , SIG z (PID z ||T), AuM, (AuK) SK z > V i Save PID z and SIG z (PID z ||T) in authentication table. else RSU runs System Revocation.
In the case when vehicle Z wants to communicate with a vehicle that exists in the range of another RSU (described in Figure 4), the vehicle must send a verification message (VER) to the nearest RSU which contains: where PID z is the Pseudo-ID of vehicle Z, T is the current time, VER is the verification message, and SIG z (PID z ||T) is the IBS generated by vehicle Z (using its ID, the current time and its secret key). ID RSU is the ID of the RSU that has authenticated the vehicle Z. AuSIG z (PID z ||T) is the authenticated signature of vehicle Z (using PID z , the current time, and the authentication key).
When a vehicle repeatedly moves into the same RSU scope, it does not need to authenticate itself with a vehicle that has already communicated with it. It needs only to authenticate itself with a new vehicle because it does not know if it is a legitimate vehicle or not. The RSU must retransmit the verification message to the other RSU (the RSU which has the vehicle Z in its transmission range). The other RSU verifies in its authentication table and sends the result to the RSU; then, it will retransmit the result to the vehicle to decide to accept the communication or not.

Algorithm 4 V2V authentication Algorithm
V z sends < PID z , T, CReq, SIG z (ID z ||T), AuSIG z (PID z ||T), ID RSU > to V x i f V z and V x registered at the same RSU V x verifies in its authentication

Cryptography
A-V2I Communication: After the distribution of SK in a secure manner, we use symmetric cryptography for the transmission of messages. Vehicles must encrypt the message using their secret key (SK) to ensure confidentiality and the security of information. The RSU then decrypts the message and transmits it to the cloud via a secure channel. When the cloud sends the answer, the RSU must also encrypt the message using the secret key SK of the vehicle. In this way, we ensure secure communication between cloud and vehicles. V2I communication process is described in Algorithm 5. B-V2V Communication: Each vehicle in an RSU's transmission range must authenticate itself on the RSU, and, when the RSU 1 authenticates the vehicle, it will send an authentication message with authentication key (AuK 1 ). All vehicles authenticated on the same RSU will obtain the same authentication key (AuK 1 ). So, we can provide a secure communication session with vehicles authenticated by the same RSU. Vehicles authenticated by different RSU (RSU 2 ) can obtain the (AuK 1 ) from its nearby RSU (RSU 2 ) and provide a secure communication session with other vehicles. Algorithm 6 shows the V2V communication process.
Vehicles that want to communicate with other vehicles must encrypt the message using the authentication key (AuK), and only authenticated vehicles can decrypt the message. We use CRAs (Cloud-based Revocation Authorities) to revoke misbehaving vehicles. To summarizes the proposed scheme, we give an application scenario of our model as shown in Figure A1 of the Appendix A. When a vehicle "Z" (V z ) starts its trip, it must authenticate itself at the nearest RSU by sending an RR message. The RSU then forwards this vehicle's information to the cloud for key generation. The cloud uses Equation (1) to generate the Public Key (PK), Equation (2) to generate the Master Key (MK), Equation (3) to generate the Attribute Key (AK z ), and Equation (4) to generate the Secret Key (SK z ). After that, it will transmit the AK z and the SK z to the RSU. The RSU then uses the encrypt function to create the ciphertext using Equation (5) and broadcasting it. Only V z can decrypt the message because it has the set of attributes S. V z uses the Equations (7)-(12) to decrypt the ciphertext. After receiving the SK z , V z can calculate and send PID z and SIG z to the RSU to be authenticated. V z can establish a secure communication with RSU using a symmetric encryption by encrypting messages with SK z . If it wants to communicate with other vehicles in the vicinity, V x , for example, V z needs to authenticate itself at V x by generating AuSIG z . They can establish a secure communication using symmetric encryption by encrypting messages with AuK.

Security Analysis and Performance Evaluation
We provide an analysis of GUARANTY algorithm in terms of security analysis, computation delay, and transmission overhead.

Security Analysis
We analyze and discuss the security of the proposed protocol based on the security aims. Table 3 shows the comparison of GUARANTY scheme and other protocols in terms of security features.
Our proposed scheme provides identity privacy-preserving for vehicles and prevents tracking attacks.
Proof. An attacker cannot obtain the real identity ID i of a vehicle 'i' throughout GUAR-ANTY algorithm. It encrypts its real identifier using its secret key to generate its Pseudo-ID (PID i = (ID i ) Sk i ) which will be used instead of its real ID i in their communication. Any other vehicle can access the real ID i because the SK i is distributed in a secure manner.
In the registration step, vehicle sends its real ID i to the RSU encrypted by the public key of the RSU (ID i ) PK RSU . Only the RSU can access to the real ID i .

Lemma 2.
Our proposed algorithm ensures the secure distribution of keys between vehicles and RSU.
Proof. GUARANTY protocol ensures that keys are distributed in a secure manner between vehicles and the RSU, and any other vehicle can access the keys. During the registration step, the cloud generates two keys for each registered vehicle AK i and SK i . The AK i is an attribute key calculated using the attributes transmitted by the vehicle 'i' and the corresponding chassis number (CN i ) registered in the cloud which can be used by only the vehicle that satisfies the set of attributes. SK i is a secret key of vehicle 'i' which must be kept secret by the vehicle V i . In our proposed scheme, the RSU encrypts the SK i by the AK i , and only the V i which satisfies the set of attributes can decrypt it. Among the attributes transmitted by the vehicles, each vehicle sends its identifier with its direction, position . . . . So, only one vehicle which has the corresponding identifier (ID i ) and the corresponding chassis number (CN i ) can access to the SK i .

Lemma 3.
Vehicles using our proposed protocol can determine whether the vehicle trying to establish a communication is authenticated or not.
Proof. GUARANTY protocol provides the authentication of vehicles using IBS signature. Each vehicle 'i' must authenticate itself (by an RSU) by sending < SIG i (PID i ||T) >. The concerned RSU broadcasts an authentication message < PID i , AuM, (AuK) SK i > if V i is authenticated. Vehicles in the vicinity will receive the authentication message of vehicle i. When V i sends a communication request to vehicles in the vicinity < PID i , AuSIG i (PID i ||T) >, they verify in their authentication table the PID i and the AuSIG i to decide to accept communicating or not. The communication between vehicles can be established only with vehicles authenticated by the RSU.
In the case where the vehicle is not authenticated by the RSU, it is defined as a malicious vehicle and it is revoked. Lemma 4. GUARANTY algorithm can detect whether the RSU is authenticated and, in fact, what it declared itself to be.
Proof. Our algorithm can detect malicious entities that use the RSU's information to take vehicles' data. A malicious vehicle can: A Take the RSU's information and declare itself that it is the RSU: In this case, the malicious vehicle cannot decrypt the message (vehicles' attributes) because it does not have the private key of RSU (PrK RSU ). The vehicle waits for its SK i for ∆ time; then, it will define the RSU as a malicious node after this time, and it will run a System Revocation. B Take the RSU's identifier and generate its private and public keys: In this case, the malicious vehicle can access to the vehicles' attributes but: -It cannot access to the cloud for keys generation because it does not have the V N RSU of RSU. If it tries to access the cloud, it will be detected as a malicious node, and then its access will be revoked. -When it generates false keys (AK i , SK i ), V i can detect that AK i is wrong because the AK i does not include the real CN i due to cloud access failure of the malicious node to recover the CN i (RSU does not have a verification number). So, the malicious RSU cannot generate AK i and cannot use the vehicles' attributes to access the SK i (RSU does not have the CN i ). When vehicles receive a wrong AK i from a node, they will define it as a malicious node and run the System Revocation.

Lemma 5.
The messages transmitted between vehicles and the ones between vehicles and RSUs are confidential. Vehicles that can access these messages are authenticated by the RSUs.
Proof. GUARANTY algorithm ensures the confidentiality of messages and the access control of vehicles. The use of the CP-ABE algorithm for key distribution can define legitimate vehicles that satisfy the access policy to take the secret key. In this way, the access control to the keys is ensured. V2I communication: Since SK i is distributed in secure manner between RSU and V i , messages are encrypted using the SK i , so only entities that know the SK i can decrypt the messages.
V2V communication: Vehicles authenticated by the RSU during the authentication step have an authentication key (AuK) which is transmitted in secure manner (AuK) SK i . This key is used to encrypt messages between vehicles. Lemma 6. GUARANTY protocol resolves different type of attacks, such as attacks based on authentication, privacy, confidentiality, and non-repudiation.
Proof. GUARANTY protocol resolves the following type of attacks: -Impersonate attack: is an attack that harms the authentication of vehicles. In this kind of attack, an attacker impersonates a good vehicle to receive its messages, and get privileges not granted to it. It can also do malicious things and declare that a legitimate vehicle did them. In our proposed scheme, malicious vehicles can use the Pseudo-ID (PID i ) and the signature SIG i (PID i ||T) of the legitimate vehicle to communicate with the other vehicles. So, it will send a communication request: < PID i , T, CReq, SIG i (PID i ||T), SIGAu i (PID i ||T), ID RSU > to vehicle z. Vehicle z must verify the Eavesdropping attack: The proposed algorithm authenticates the vehicle properly, which does not allow the intruder to access the information circulating in the network during the transmission process. Furthermore, the symmetric session keys (Sk, AuK) is used to encrypt the collected data. This approach keeps the data confidential and stops the attacker from accessing the message. Table 3 presents a comparison of the security features of our proposed scheme and other schemes available in the literature [7][8][9][10][11][12][13][14][16][17][18][19][20]. We can conclude that our proposed scheme is robust against the considered security issues. GARANTY resists impersonate attack, Sybil attack, MIM attack, and eavesdropping attack. It provides vehicles authentication, confidentiality, access control, and privacy.

Specification of GUARANTY Scheme Using AVISPA Tool
AVISPA (a popular tool) checks whether the security protocol is safe against active and passive attacks. This simulator supports High Level Protocol Specification Language (HLPSL) [31].
Next, we describe the role of each participant (vehicle Z, the RSU, the session, the goal, and the environment) of the proposed scheme; Figure A2 describes the role of vehicle Z in HLPSL. During the execution of the registration phase, vehicle Z sends the registration request SND ({T.S.D.L.ID}_PK) to RSU through a secure channel using the RSU's public key and SND () operation. The type declaration channel (dy) dictates that the channel follows Dolev and Yao threat model [32].
In transition 2, vehicle Z receives information RCV ({SK }_AK) from RSU securely using the RCV () operation and AK symmetric key. After that, vehicle Z creates timestamp T' using new () operation, PID using its ID encrypted by SK. Then, it sends ({T .ID }_SK) which is the signature SIG z to RSU through secure network with its Pseudo-ID via a public channel. The statement witness (R, Z, z_ rsu _nb, SK) is used by the vehicle Z to ask the RSU to authenticate it using the SK.
In transition 3, vehicle Z receives RCV (PID .{AuK}_SK) its Pseudo-ID through a public channel and the authentication key through a secure channel using SK symmet-ric_key. Then, it sends ({PID .T }_AuK) which is its authentication signature (AuSIG) to vehicle V. The statement witness (V, Z, z_rsu_nv, PID') is used by the vehicle Z to ask the vehicle V to authenticate it using the PID'. After key exchange and vehicles authentication, vehicle Z sends message M1 to RSU encrypted with SK and message M2 to vehicle V encrypted with AuK. The declaration secret(M1 , n1, {Z, R}) dictates that the message M1 is only known to the vehicle Z and RSU, and the declaration secret(M2 , n2, {Z, V}) dictates that the message M2 is only known to the vehicle Z and vehicle V.
In Figure A3, we present RSU's role in HLPSL, where RSU first receives RCV (T.S.D.L.ID) from vehicle Z. Then, RSU sends the SK encrypted with AK. In transition 2, RSU receives vehicle Z's Pseudo-ID ({T .ID}_SK), and the declaration request (Z, R, z_rsu_nb, SK ) is used by the RSU to check whether the vehicle Z uses the same key "SK" that it sent at transition 1. During the last transition, it sends the authentication key ({AuK}_SK) via a secure channel using SK. Figure A4 represents the role of vehicle V, with which vehicle Z wants to establish a communication. Vehicle V receives the authentication signature of vehicle Z, verifies its authentication using the statement request, and establishes a communication with it using the authentication key to ensure secure communication.
In Figure 5, the role of session, goal and environment are described in HLPSL. The toplevel role contains global constants and a composition of sessions, where the intruder (i) participates in the execution as a legitimate node. The proposed protocol uses the current version (2006-02-2013) of OFMC model, which supports secrecy goals and authentication objectives. However, the proposed protocol uses five secrecy goals and two authentications objectives in operation: 1. Secrecy_of nb indicates that SK is kept secret to vehicle Z and RSU. 2. Secrecy_of na indicates that AuK is only known by RSU, vehicle Z, and vehicle V. 3. Secrecy_of n1 signifies that the message M1 is kept secret between vehicle Z and RSU. 4. Secrecy_of n2 signifies that the message M2 is only known by vehicle Z and vehicle V. 5. Authentication_on z_rsu_nb signifies that RSU creates a secure key SK, and vehicle Z obtains it securely via message; if RSU receives the same value of SK from vehicle Z, RSU then authenticates vehicle Z. 6. Authentication_on z_rsu_nv signifies that RSU creates an authentication key AuK and sends it securely to an authenticated vehicle V. Vehicle Z receives the authentication key securely via message; if vehicle V receives the same value of AuK from vehicle V, vehicle V then authenticates vehicle Z. Figure 6 represents the result obtained after executing the HLPSL code in AVISPA. As a result, we conclude that the the protocol is "SAFE" under OFMC.

Computational Complexity Analysis
We evaluate the theoretical efficiency of GUARANTY protocol in terms of computational complexity. In our algorithm, the pairing computations and exponentiation are the most expensive operations. To calculate GUARANTY scheme's complexity, we need to calculate the number of pairing and exponentiation operations performed in the algorithm. Table 4 summarizes our algorithm's computation cost, where C e represents the computation cost of exponential operation, and C p represents the computation cost of pairing operation. Table 4. GUARANTY Computational complexity.

Setup
(1) Key Generation ((| S | +3)C e ) Encryption (2lC e ) Decryption ((2 + l)C p ) When the system is setup, the cloud selects a bilinear group and some random numbers to calculate PK and MK. Key-Generation: The cloud generates in this phase the SK and AK using MK and the set of attributes. The computation cost of this phase depends on the number of the attribute in the set | S | for the vehicle.
Encryption: This operation requires two exponentiations to calculate Ci and Di for each row in the ciphertext policy. The computation cost of this phase grows linearly with the size of access stricture's matrix M (l*n).
Decryption: During the decryption phase, the number of pairing computations grows linearly with the number of attributes required for decryption.

Performance Evaluation
To study the performance of our algorithm, we simulated GUARANTY scheme with parameters illustrated in Table 5. We generate these scenarios using VanetMobiSim vehicles' mobility generator.
We compare the computation delay of our algorithm to two other works [16,17] that use the CP-ABE algorithm to ensure data confidentiality and vehicles' access control. Table 6 summarizes the obtained results. The work in Reference [16] does not ensure the key-Management and the authentication phases, and all the calculations are also not delegated to the cloud; for this, it requires more computation delay to encrypt and decrypt the messages in the communication phase than GUARANTY and Reference [17]'s algorithms.
The work in Reference [17] ensures only the V2R authentication; thus, it requires less computation time than the GUARANTY algorithm, which ensures both (V2R and V2V) authentication. Concerning the Communication delay, GUARANTY scheme carries out the Key-Management step at the start of the communication; then, it uses a symmetry encryption for the N messages exchanged between vehicles or vehicles and RSU because the secret key is distributed in a secure manner. However, authors in Reference [17] did not provide a Key-Management phase, and it needs to carry out all the computations for each message, which requires a high computation delay by comparison to GUARANTY algorithm.
We provide a performance evaluation of GUARANTY algorithm in terms of reception rate and computation delay. We consider various scenarios by changing the number of vehicles in the network. Specifically, we test for 100, 200, 300, and 400 nodes. Figure 7 illustrates the computation delay of each step of our algorithm based on the number of vehicles. We notice that the delay increases when the number of vehicles increases. This is due to the number of vehicles that calculate their authentication and their key distribution. The key-management step contributes almost 59% of the computation delay to generate vehicles' keys and distribute them in a secure manner (using CP-ABE algorithm). The computation delay in authentication step requires almost 40% to authenticate vehicles and to distribute authentication key.
GUARANTY scheme uses these steps only at the start of vehicles' trip to generate keys and authenticate vehicles. However, the communication phase is used for the whole trip. This phase depends only on messages encryption and decryption cost. The computation delay of messages transmission and routing is not discussed in this phase. This step needs almost 1% of the computation delay to encrypt/decrypt messages with symmetric keys.
The Packet Delivery Ratio (PDR) in a network is the ration of the total number of received messages to that of the total number of transmitted messages. PDR determines the number of messages received at the destination. In our proposed scheme, we calculate the PDR (%) using the Formula (13): PDR = ( ∑ Msg r / ∑ Msg s ) × 100.
(13) Figure 8 shows the comparison of PDR according to the number of vehicles. The results show that the PDR is inversely proportional to the number of vehicles. This is due to the number of vehicles that need key generation, authentication, messages encryption, and decryption, which require a significant computation time. This latter and the high vehicle's mobility lead to the loss of messages that represents 9% of the transmitted messages. The reception rate for 100 nodes is 95%, 200 nodes is 89%, 300 nodes is 85%, and 400 nodes is approximately 80%.

Conclusions
In this paper, we proposed a liGht-weight secURe AutheNticaTion and keY (GUAR-ANTY) distribution scheme for vehicular cloud computing. We ensured vehicles' authentication using the IBS mechanism, conductors' privacy using Pseudo-ID instead of using vehicles' real ID, secure keys' distribution and access control using the CP-ABE algorithm. GUARANTY algorithm secures the vehicles' communication with a minimum computation cost. To ensure our scheme's security against insiders' and outsiders' attacks, we simulated it using the AVISPA tool. We compared the computation delay of our proposed scheme to two other approaches [16,17] that use CP-ABE algorithm. The simulation results show that GUARANTY algorithm uses a minimum computation delay during the communication step, which is 1% of the computation time, compared to other algorithms that need to recalculate the ciphertext in each communication. The calculation of the ciphertext using the CP-ABE algorithm requires a high computation time (in our case, the CP-ABE algorithm calculation requires 59% of the computation time). In order to evaluate our algorithm's performance in terms of computation delay and reception rate, we tested several scenarios generated by 'VANETMOBISIM' mobility generator. The simulation results show that our algorithm achieves convincing results. In the future, we plan to integrate blockchain technology in our proposed solution to guarantee the integrity of messages.