# Pas: Privacy-Preserving Authentication Scheme Based on SDN for VANETs
## 4 The Proposed Scheme
### Vehicle Registration Protocol  
After submitting the basic information to the DMV, the vehicle needs to upload its real identity to the TA and apply for registration. The details are shown as Figure 4.  
1. Vehicle submits its real \(1D\) information to the DMV offline, such as the owner's identity, to apply for registration.
2. The DMV confirms the validity of the received information. If considered a legal vehicle, the vehicle will receive an identity confirmation message. Meanwhile, the DMV will send vehicle information to the TA via a secure channel.
3. The vehicle chooses \(a\in Z_{q}^{*}\) as the key agreement parameter, and random number \(N_{1}\) as the challenge value. Then, the vehicle computes \(aP\) and ciphertext \(C_{v-TA}\), where \(C_{v-TA}=Enc\_ECIES\_PK_{TA}\{{D_{v},aP,N_{1}}\}\).
4. The vehicle sends \(C_{v-TA}\) to the TA for registration.
5. When receiving \(C_{v-TA}\) from the vehicle, the TA takes the private key \(SK_{TA}\) to decrypt \(C_{v-TA}\) and obtains \({D_{v},aP,N_{1}}\). Then, the TA verifies the legality of \({D_{v},}\) depending on the information from the DMV. If \({ID_{v}}\) is legal, then the TA computes the vehicle multiple pseudonyms \(PS_{v}^{i}=H_{2}({ID_{v}}||r_{i})\), private keys \(SK_{v}^{i}\in Z_{q}^{*}\), and public keys \(PK_{v}^{i}=SK_{v}^{i}P\), where \(r_{i}\) is the random number without repetition.
6. The TA sends multiple pseudonyms, public keys, and expirations to SDN RSU controllers via the SDN controller. The RSU SDN controller stores them locally.
7. The TA stores vehicle information and computes session key \(K_{TA-v}=SK_{TA}aP\). Finally, the TA encrypts \(PS_{v}^{i}\), \(PK_{v}^{i}\), \(SK_{v}^{i}\), and \(N_{1}\) to get \(C_{TA-v}=Enc\_AES\_K_{TA-v}\{PS_{v}^{i},\)\(PK_{v}^{i},\)\(SK_{v}^{i},\)\(N_{1}\}\).
8. The TA sends \(C_{TA-v}\) to the vehicle.  
Figure 4: Vehicle registration protocol.  
the latest data. Then, the RSU selects the vehicle public key \(PK_{v}^{i}\) according to \(PS_{v}^{i}\) and checks \(e(P,Sign_{v})==e(PK_{v}^{i},H_{0}(PS_{v}^{i}||\). \(TS_{2}||N_{3}))\) to verify \(Sign_{v}\). If \(Sign_{v}\) is legal, the vehicle is considered a legal vehicle. Afterwards, the RSU generates the session key \(K_{v-RSU}=rPK_{v}^{i}\) and decrypts \(C_{v-RSU}\) to check \(N_{2}\). Finally, the RSU encrypts \(N_{3}\) to get \(C_{v-RSU}=Enc_AES_{v-RSU}\{N_{3}\}\).
* The RSU sends \(C_{v-RSU}\) to the vehicle.
* The vehicle decrypts \(C_{v-RSU}\) and verifies \(N_{3}\). If \(N_{3}\) is legal, the secure bi-tunnel between the vehicle and RSU is established.
* During the communication between the vehicle and RSU, the RSU needs to send the pseudonyms and public keys of other vehicles to the vehicle for future V2V authentication.  
**Input:**  
RSU true identity \(ID_{RSU}\), timestamp \(TS_{1}\), challenge value \(N_{2}\), RSU privacy key \(SK_{RSU}\)  
**Output:**  
RSU signature \(Sign_{RSU}\)  
Choose a random number \(r\in Z_{q}^{*}\)  
Calculate \(V=SK_{RSU}+rH_{1}(ID_{RSU}\ ||\ TS_{1}\ ||\ N_{2})\)  
Compute \(W=rP\)  
**return \(Sign_{RSU}=(V,W)\)**  
**Algorithm 1** RSU signature algorithm.