## 5 Security Analysis
### Security Proof  
Since the 5G-enabled vehicular network relies on wireless communication channels for inter-vehicle communication, adversaries always have opportunities to exploit them. To this end, the following game-based security model analysis proves that the proposed scheme is secure against adaptive selection message attacks. **Game:** The adversary's ability to compromise the proposed scheme is determined by a game between challenger \(B\) and adversary \(A\). Note that \(B\) maintains three hash lists, \(L_{H_{1}}\), \(L_{H_{2}}\), and \(L_{H_{3}}\). **Proof:** Suppose that \(A\) can fabricate a valid message-signature tuple \(\{AID_{i}\), \(R_{i}\), \(M_{i}\), \(T_{i}\), and \(\sigma_{i}^{2}\}\) of the safety-related message Mi. Challenger \(B\) has been established depending on \(A\). Challenger \(B\) is responsible for distinguishing whether the attacker can solve the ECDL problem by running for \(A\) as a subroutine with a non-ignorable probability. **Setup:** This process obtains sensitive data k as input. \(B\) picks the randomly chosen value \(s_{d}\) as its secret key and then calculates public key \(P_{pub}\), where \(P_{pub}=s_{d}\)P. Afterward, \(B\) sends \(P,P_{pub},q,H_{1},H_{2},H_{3}\) to adversary \(A\). \(H_{1}\)**-hash query:** When \(A\) invokes an \(H_{1}\) query utilizing the tuple \((\theta)\), \(B\) tests whether the tuple \((\theta)\) already exists in \(L_{H_{1}}\), under the tuple of \((\theta,h_{1})\). If so, \(B\) outputs \(h_{1}\) to \(A\); otherwise, \(B\) chooses a random value \(h_{1}\) and then adds the new tuple \((\theta,h_{1})\) into the hash list \(L_{H_{1}}\). Afterward, \(B\) transmits the value of \(h_{1}=H_{1}(\theta)\) to \(A\). \(H_{2}\)**-hash query:** When \(A\) invokes an \(H_{2}\) query utilizing the tuple \((AID_{i},R_{i},M_{i},T_{i})\), \(B\) tests whether the tuple \((AID_{i},R_{i},M_{i},T_{i})\) already exists in hash list \(L_{H_{2}}\), under the tuple of \((AID_{i},R_{i},M_{i},T_{i},h_{2})\). If so, \(B\) outputs \(h_{2}\) to \(A\); otherwise, \(B\) picks a random value \(h_{2}\) and then inserts the new tuple \((AID_{i},R_{i},M_{i},T_{i},h_{2})\) into the hash list \(L_{H_{2}}\). Afterwards, \(B\) transmits the value of \(h_{2}=H_{2}(AID_{i}||R_{i}||M_{i}||T_{i})\) to \(A\). \(H_{3}\)**-hash query:** When \(A\) invokes an \(H_{3}\) query utilizing the tuple \((AID_{i},R_{i},T_{i})\), \(B\) tests whether the tuple \((AID_{i},R_{i},T_{i})\) already exists in hash list \(L_{H_{3}}\), under the tuple of \((AID_{i},R_{i},T_{i},h_{3})\). If so, \(B\) outputs \(h_{3}\) to \(A\); otherwise, \(B\) picks a random value \(h_{3}\) then insertsthe new tuple \((AID_{i},R_{i},T_{i},h_{3})\) into the hash list \(L_{H_{3}}\). Afterwards, \(B\) transmits the value of \(h_{3}=H_{3}(AID_{i}||R_{i}||T_{i})\) to \(A\). **Sign query:** If adversary \(A\) made a signing query on message \(M_{i}\), \(B\) adds \((AID_{i},R_{i},M_{i},T_{i},h_{2})\) and \((AID_{i},R_{i},T_{i},h_{3})\) into the hash lists \(L_{H_{2}}\) and \(L_{H_{3}}\), respectively. Finally, \(B\) sends message-signature tuple \(\{AID_{i},R_{i},M_{i},T_{i},\sigma_{i}\}\) to \(A\). The outcome of this phase is a valid signature once the message satisfies Equation (10). \[ \begin{split}&\sigma_{i}.P=h_{i,2}P_{pub}^{d}+h_{i,3}\\ & h_{i,3}=\sigma_{i}.P-h_{i,2}P_{pub}^{d}\\ &=h_{i,2}P_{pub}^{d}+(\sigma_{i}.P-h_{i,2}P_{pub}^{d})\\ &=h_{i,2}P_{pub}^{d}+(\sigma_{i}.P-h_{i,2}P_{pub}^{d})=\sigma_{i}.P\end{split}  \tag{10}\]  
**Output:** At last, \(A\) outputs message-signature tuple \(\{AID_{i},R_{i},M_{i},T_{i},\sigma_{i}\}\). \(B\) checks this tuple utilizing Equation (11). \[\sigma_{i}.P=h_{i,2}P_{pub}^{d}+h_{i,3} \tag{11}\]  
If not, \(B\) finishes the game. By utilizing the forgery lemma [45], \(A\) could result in another legitimate tuple \(\{AID_{i},R_{i},M_{i},T_{i},\sigma_{i}^{*}\}\) if it selects another \(H_{2}\), where \(H_{2}^{*}\
eq H_{2}\) that fulfills the following equation. \[\sigma_{i}^{*}.P=h_{i,2}^{*}P_{pub}^{d}+h_{i,3} \tag{12}\]  
According to Equations (11) and (12), the following is deduced. \[