## Security Analysis
### Other Securities  
In addition to information confidentiality and tamper-proofing, a security protocol should also meet the requirements of integrity, unforgeability, and replay attack resistance. The rest of this section will use Petri Net [54] to analyze the security of the proposed protocol. The ultimate goal of the secure communication protocol proposed is that the sender can correctly receive the receiver's public key, and the receiver can correctly authenticate the sender's identity. Therefore, the security criteria of the protocol are defined as follows.  
* The public key endorsed by the sender must be the genuine one belonging to the receiver whose public key is requested by this sender;
* The identity authentication endorsed by the receiver must be the genuine one belonging to the sender whose identity authentication is requested by this receiver.  
For security criterion 1, it is assumed that the sender is \(UAV_{1}\) and the receiver is \(UAV_{2}\), and \(UAV_{1}\) requests the public key of \(UAV_{2}\) from the blockchain. Under the Dolev-Yao model, the public key request protocol model with the attacker and the reachable tree of the model are constructed. The \"token/place\" pair is used to describe the state of the system in the reachable tree; the detailed information is shown in Figures 9 and 10.  
In the figure, \(E\{(DID_{1},DID_{2});SK_{1}\}\) indicates that \(DID_{1}\) and \(DID_{2}\) are encrypted using \(SK_{1}\). As can be seen from Figure 10, attacks mainly occur in M1 \(\textgreater\) M2 and M4 \(\textgreater\) M5 processes. In Figure 9, the main purpose of the attacker is to make the public key received by the sender (not the genuine requested one). Therefore, forgery, tampering, and replay are the most likely attacks by attackers.  
In many systems, cryptographic techniques, such as encryption, signatures, and timestamps, are also used, but the lack of significant identifiers in the protocol often allows attackers to exploit this vulnerability. If the communication protocol is in the following format, it is insecure.  
\[C=\{E_{PK_{B}}(DID_{S},E_{SK_{S}}(Hash(DID_{S},Timestamp_{1},PkRequest)),Timestamp_{1}, PkRequest)\}\]For security criterion 2, the main purpose of the attacker is to make the identity authentication result obtained by the receiver (not the one it really requested). As with security criterion 1, forgery, tampering, and replay are the most likely attacks by an attacker.  
In numerous authentication systems, only timestamps and authentication results are returned to simplify communication, which will become the main target of attackers. Assuming that the communication protocol is in the following form, it is insecure.  
\[E_{PK_{R}}\{(E_{SK_{B}}\{Hash(Timestamp,AuResult)\},Timestamp,AuResult)\}\]  
In the above protocol, it is assumed that \(UAV_{1}\) requests the blockchain to verify the identity of \(UAV_{2}\), and at the same time, \(UAV_{3}\) requests the blockchain to verify the identity of \(UAV_{4}\). If the attacker intercepts the returned information and exchanges the authentication result, \(UAV_{2}\) and \(UAV_{3}\) think that it has received the correct authentication result, but it does not. Further, if the \(UAV_{4}\) is an illegal drone, it will cause security  
Figure 10: The reachable tree.  
Figure 9: The public key request protocol model with the attacker.  
problems. According to the analysis of security criterion 1, this proposed protocol also meets the requirements of security criterion 2. Therefore, the proposed secure communication protocol is secure.