After completing the registration and login phases, the vehicle performs entity authentication based on the unloading policy.
4.4.1. Offloading Scenario 1
When a vehicle needs to offload computational tasks to an edge server, the following authentication procedures are performed.
OS1-1: The vehicle first calculates , then generates a timestamp , and continues to compute and finally sends to the regional RSU.
OS1-2: Upon receiving , the RSU first checks the timestamp’s freshness, then calculates . It verifies whether equals . If verification fails, the session is immediately terminated. Otherwise, it generates a random number and continues calculating . Then it generates a timestamp and calculates , and finally sends to the ES.
OS1-3: Upon receiving , ES first verifies the timestamp’s freshness, then calculates , verifies whether equals , and if they do not equal, immediately terminate the session. Otherwise, continue calculating , generate a timestamp , calculate , and finally send to the CMC.
OS1-4: Upon receiving message , CMC first verifies the timestamp’s freshness, then calculates and decrypts . Then compute , verify whether equals , if not equal, immediately terminate the session. Otherwise, continue computing , verify whether are equal to . If verification fails, immediately terminate the session. If verification succeeds, CMC generates a random number , selects a new set of “CRP”, and updates the temporary IDs for ES, RSU, and Vehicle: , then continues calculating . Next, generate a timestamp , calculate , and finally send to the ES.
OS1-5: Upon receiving message , ES first verifies the timestamp’s freshness, then decrypts , computes , and verifies whether equals . If verification fails, immediately terminate the session. Otherwise, continue calculating , and generate a timestamp , calculate , and finally send to the RSU.
OS1-6: Upon receiving message , RSU first verifies the timestamp’s freshness, then calculates , , and verifies whether equals . If verification fails, immediately terminate the session. Otherwise, generates a timestamp , calculate ; next, send to ES.
OS1-7: Upon receiving the message , ES first verifies the timestamp’s freshness, then calculates , verifies whether equals , and if the verification succeeds, it indicates that the session key between the ES and the RSU has been correctly established. Otherwise, the session is immediately terminated.
OS1-8: After sending the , the RSU calculates , then generates a timestamp , continues to calculate , and finally sends to the vehicle.
OS1-9: Upon receiving the message , the vehicle first verifies the timestamp’s freshness, then calculates , , , and , and verifies whether equals . If verification fails, immediately terminate the session. Otherwise, it generates a timestamp and calculates ; finally, the vehicle send to the RSU.
OS1-10: Upon receiving the message , RSU first verifies the timestamp’s freshness, then calculates , verifies whether equals , and if the verification succeeds, it indicates that the session key between the RSU and the vehicle has been correctly established. Otherwise, the session is immediately terminated.
Figure 2 illustrates a specific process of offloading scenario 1.
4.4.2. Offloading Scenario 2
When a vehicle needs to offload computational tasks to an auxiliary vehicle, the following authentication process will be executed.
Figure 3 illustrates a specific process of offloading scenario 2.
OS2-1: The vehicle requesting offloading first generates a random number , then calculates ; next, it generates a timestamp , continues calculating ; finally, it sends , to the auxiliary vehicle.
OS2-2: Upon receiving message , the auxiliary vehicle first verifies the timestamp’s freshness and calculates , and verifies whether equals . If verification fails, it immediately terminates the session. Otherwise, he generates a random number and continues calculating , then generates a timestamp , continues calculating and sends to the CMC.
OS2-3: Upon receiving message , CMC first verifies the timestamp’s freshness and computes , then validates whether equals . If they do not equal, the session is immediately terminated. Otherwise, it proceeds to calculate ; CMC verifies whether equals . If they are equal, it indicates that CMC has successfully verified the requesting vehicle. Otherwise, the verification fails. CMC continues to calculate , then verifies whether equals . Similarly, if they are equal, it indicates that CMC has successfully verified the auxiliary vehicle. Subsequently, CMC generates a random number , selects a new set of “CRP” and updates the temporary IDs for the requesting vehicle and the auxiliary vehicle: , then, it calculates ; next, it generates a timestamp and an encrypted message , calculates and finally sends to the auxiliary vehicle.
OS2-4: Upon receiving message , the auxiliary vehicle first verifies the timestamp’s freshness, then decrypts , calculates , and validates whether equals . If they do not equal, the session is immediately terminated. Otherwise, it proceeds to calculate , after that, it establishes the session key . Then, it generates a timestamp , continues to calculate , and finally sends to the requesting vehicle.
OS2-5: Upon receiving the message , the requesting vehicle first verifies the timestamp’s freshness, then computes , verifying whether equals . If unequal, the session is immediately terminated, otherwise, it continues computing . Similarly, it establishes the session key . Next, it generates a timestamp and continues calculating , and finally, it sends to the auxiliary vehicle.
OS2-6: Upon receiving the message , the auxiliary vehicle first verifies the timestamp’s freshness, then calculates , verifies whether equals , and if the verification succeeds, it indicates that the session key between the requesting vehicle and the auxiliary vehicle has been correctly established. Otherwise, the session is immediately terminated.