# CAVVPM: Challenge-Based Authentication and Verification of Vehicle Platooning at Motorway
## 3 The _CAVVPM_ Pof Protocol
### The CAVVPM Protocol  
The procedure is divided into three stages: digital certificate verification, physical challenge-response, and physical verification. The person's digital identification is validated in the first step. During the task phase, the verifier asks the candidate to make random movements and then measures the distance between them. The verifier approves the candidate's claim if he reaches all checkpoints on time during the physical verification phase. As seen in Figure 4, each procedure step is described in detail.  
**Digital identity verification phase.**  
1. Candidate \(REQ\) makes a request for verification V to join the group. \[m_{C}(1)\leftarrow\text{ID}_{\text{V}},\text{ID}_{\text{C}},\text{pk}_{\text{ C}},cert_{\text{C}},cig_{\text{sk}_{\text{C}}}(REQ,\ ID_{\text{C}},ID_{V}),\] \[\text{ID}_{\text{V}}\text{ and ID}_{\text{C}}\text{ are the verifier and the candidate's IDs, (pk}_{\text{C}},\text{sk}_{\text{C}})\text{ are C's public/private key pair, and }cert_{\text{C}}\text{ is C's certificate. 2. The verifier uses pk\({}_{\text{CA}}\) to verify the authenticity of certificate C, verifying the signature with pk\({}_{\text{C}}\) the certificate authority's public key pk\({}_{\text{CA}}\).  
Figure 3: In order to meet the deadlines \(t_{1}\) and \(t_{2}\) set by the verifier, candidates are required to visit randomly generated checkpoints \(d_{1}\) and \(d_{2}\).  
**Physical challenge-response phase.**
3. V creates K physical problems denoted as: \[\Gamma=\left\{(d_{\textit{ref}},t_{0}),(d_{1},t_{1}),\ldots,(d_{K},t_{K}),\left(d _{\textit{ref}},t_{K}+1\right)\right\}\] a checkpoint \(d_{i}\), which is a random longitudinal perturbation of the following distance dref, and an associated time limit (\(t_{i}\)) by which the checkpoint must be achieved, are the only two requirements for each challenge The start and end positions of C, which are equal to \(d_{\textit{ref}}\), are likewise included in the collection. We use \(\hat{sk}_{V}\) to sign the challenges before encrypting them with \(pk_{C}\). As an added bonus, the response's start time \(t_{0}\) is included in the message. \[m_{C}(1)\gets ID_{C},E_{PK_{C}}\big{[}sig_{sk_{V}}(\Gamma,ID_{V},ID_{C},t_ {o}),\Gamma,\ ID_{V},ID_{C},t_{o}\big{]}\] (4) \(m_{V}\) (1) is decrypted by C, and V's signature is verified by [PERSON] (5) After passing through each checkpoint \(d_{i}\) by the deadline \(t_{i}\), [PERSON] returns to \(d_{\textit{ref}}\). (6) The candidates' distances are measured and recorded by the verifiers at each deadline. The captured data should be referred to as \[\Gamma=\left\{(d^{\prime}_{0},t_{0}),\left(d^{\prime}_{1},t_{1}\right),\left(d^ {\prime}_{2},t_{2}\right),\ \ldots\ \left(d^{\prime}_{K},t_{K}\right),\ \left(d^{\prime}_{K+1},t_{K+1} \right)\right\}.\]  
**Physical verification phase:** The candidates' platooning claims are verified in this step by verifying that C has reached the appropriate checkpoints before the deadline.  
V analyzes each calculated length \(d^{\prime}_{i}\) to the challenge \(d_{i}\) for each one. In this case, the validator accepts all \(d_{i}\)'s that are inside the acceptable range of \(d^{\prime}_{i}\) to \(\gamma\). Instead, the validator returns a REJECTION.  
\[\sum_{k=0}^{K+1}\frac{I\left(\left|d_{k}-d^{\prime}_{k}\right|\leq\gamma \right)}{K+2}=1,\]  
In this case, the indicator function is \(I(\cdot)\).