<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">26179</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2022.026179</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>A Mutual Authentication and Cross Verification Protocol for Securing Internet-of-Drones (IoD)</article-title>
<alt-title alt-title-type="left-running-head">A Mutual Authentication and Cross Verification Protocol for Securing Internet-of-Drones (IoD)</alt-title>
<alt-title alt-title-type="right-running-head">A Mutual Authentication and Cross Verification Protocol for Securing Internet-of-Drones (IoD)</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Jan</surname><given-names>Saeed Ullah</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-2" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Abbasi</surname><given-names>Irshad Ahmed</given-names></name><xref ref-type="aff" rid="aff-2">2</xref><email>aabasy@ub.edu.sa</email>
</contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Algarni</surname><given-names>Fahad</given-names></name><xref ref-type="aff" rid="aff-3">3</xref></contrib>
<aff id="aff-1"><label>1</label><institution>Department of Computer Science &#x0026; IT, University of Malakand</institution>, <addr-line>Chakadara, 18800</addr-line>, <country>Pakistan</country></aff>
<aff id="aff-2"><label>2</label><institution>Faculty of Science &#x0026; Arts Belqarn, Department of Computer Science, University of Bisha</institution>, <addr-line>Sabtul Alaya 61985</addr-line>, <country>Saudi Arabia</country></aff>
<aff id="aff-3"><label>3</label><institution>Faculty of Computing and Information Technology, University of Bisha</institution>, <addr-line>Bisha 67714</addr-line>, <country>Saudi Arabia</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Irshad Ahmed Abbasi. Email: <email>aabasy@ub.edu.sa</email></corresp>
</author-notes>
<pub-date pub-type="epub" date-type="pub" iso-8601-date="2022-04-20"><day>20</day>
<month>04</month>
<year>2022</year></pub-date>
<volume>72</volume>
<issue>3</issue>
<fpage>5845</fpage>
<lpage>5869</lpage>
<history>
<date date-type="received"><day>17</day><month>12</month><year>2021</year></date>
<date date-type="accepted"><day>22</day><month>2</month><year>2022</year></date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2022 Jan et al.</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Jan et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMC_26179.pdf"></self-uri>
<abstract>
<p>With the rapid miniaturization in sensor technology, Internet-of-Drones (IoD) has delighted researchers towards information transmission security among drones with the control station server (CSS). In IoD, the drone is different in shapes, sizes, characteristics, and configurations. It can be classified on the purpose of its deployment, either in the civilian or military domain. Drone&#x2019;s manufacturing, equipment installation, power supply, multi-rotor system, and embedded sensors are not issues for researchers. The main thing is to utilize a drone for a complex and sensitive task using an infrastructure-less/self-organization/resource-less network type called Flying Ad Hoc Network (FANET). Monitoring data transmission traffic, emergency and rescue operations, border surveillance, search and physical phenomenon sensing, and so on can be achieved by developing a robust mutual authentication and cross-verification scheme for IoD deployment civilian drones. Although several protocols are available in the literature, they are either design issues or suffering from other vulnerabilities; still, no one claims with conviction about foolproof security mechanisms. Therefore, in this paper, the researchers highlighted the major deficits in prior protocols of the domain, i.e., these protocols are either vulnerable to forgery, side channel, stolen-verifier attacks, or raised the outdated data transmission flaw. In order to overcome these loopholes and provide a solution to the existing vulnerabilities, this paper proposed an improved and robust public key infrastructure (PKI) based authentication scheme for the IoD environment. The proposed protocol&#x2019;s security analysis section has been conducted formally using BAN (Burrows-Abadi-Needham) logic, ProVerif2.03 simulation, and informally using discussion/pragmatic illustration. While the performance analysis section of the paper has been assessed by considering storage, computation, and communication cost. Upon comparing the proposed protocol with prior works, it has been demonstrated that it is efficient and effective and recommended for practical implementation in the IoD environment.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Cryptography</kwd>
<kwd>authentication</kwd>
<kwd>confidentiality</kwd>
<kwd>reachability</kwd>
<kwd>ZSP</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1"><label>1</label><title>Introduction</title>
<p>Earlier, drones were mainly used for military mission delivery. However, with the invention of small unmanned aerial vehicles (UAVs or drones) becoming opened new possibilities to be applied in incident monitoring, search and rescue operations, disaster relief, and packages&#x2019; delivery. A popular Mobile Ad hoc Network (MANET) paradigm is Flying Ad hoc Networks (FANETs) are used for data transmission in the IoD environment. In contrast to other ad hoc network types, FANETs are distinguished by many unique features because it changes their topology dynamically [<xref ref-type="bibr" rid="ref-1">1</xref>]. Due to which it presents the research community with security challenges. The only solution to these security challenges is to design a robust authentication protocol for FANET to establish an efficient data transmission with the control station server. Besides security, energy consumption is also a big issue in UAVs (drones). As some tasks assigned to a drone need maximum flight time, while the electric power is not too to accomplish it, if the internal processing capabilities become modified without affecting its external functionalities, it can guarantee a complex operation with minimum power consumption. In this regard, the computation process to generate shared session key also needs to be adequate to transmit information among all the participants of IoD efficiently. This challenge is also possible by designing a protocol with fast and secure computation and communication features for data broadcasting [<xref ref-type="bibr" rid="ref-2">2</xref>].</p>
<p>In the Information society, cryptographic algorithms play a crucial role, and they secure us when we use debit cards or credit cards, call someone on a cell phone, get access to health care services, or buy something on the internet. These algorithms ensure that our transactions and bank accounts are secure, our telephone, voice-over-internet protocol (VoIP), or instant messaging cannot be listened to by anyone, and that confidential health information is protected from unauthorized access. Cryptographic protocols support digital signatures, user and data authentication, and more advanced functionalities such as electronic money or electronic voting, e-government, and e-commerce in the near term [<xref ref-type="bibr" rid="ref-3">3</xref>]. Moreover, a cryptographic hash function is a technique for verifying data validity, can run on data for checksum purposes, and cryptographically encompasses algorithms for cyclic redundancy checks. It translates data of arbitrary size into a fixed valued numerical string called a hash [<xref ref-type="bibr" rid="ref-4">4</xref>]. In the same way, the researchers in this paper have used cryptographic algorithms to design a security mechanism for working in the IoD environment.</p>
<p>Furthermore, the already available cryptographic algorithms can also be used to secure the transmission path of drones with the control station server or external user to perform a tactical task. However, due to the existence of a strong adversary, only cryptographic-based protocols cannot achieve the goal of sensitive transmission security in IoD. It must need to be appropriately formalized; so that one must determine what the opponent/adversary is permitted to do and when the attack is successful. Under any complexity assumption, a cryptosystem would be &#x201C;secure&#x201D; if it demonstrates that the security principle is fulfilling, and the attacker could not crack the protocol [<xref ref-type="bibr" rid="ref-5">5</xref>]. However, a cryptographic system&#x2019;s security is most often proximate: its security is based on an assumption of complexity which is commonly believed in confidentiality. In the cryptographic research community, these methodologies are now the standard [<xref ref-type="bibr" rid="ref-6">6</xref>]. We, too, will first identify all possible threats to the system, design a cryptographic-based security mechanism, then evaluate its security as stated above and pragmatically illustrate them in the informal security analysis section of the paper to make it trustworthy in drone information transmission security for IoD.</p>
<p>Although, the increasing use of drones is raising security issues. Without incorporating the issue of security in the IoD, we cannot mitigate all other associated issues and challenges like power and navigation, product and traffic, privacy and obstacle detection, etc. Therefore, this research focuses on designing cryptographic hash functions, XOR operations, and public key infrastructure (PKI) based authentication protocol for IoD using FANET. Because the security of exchanged information among all the IoD&#x2019;s participants is a challenging issue, it needs a robust, lightweight authentication protocol. The authentication protocol presented in this paper can extract dynamic identities and random numbers to ensure the dynamism feature in the protocol. The cryptographic hash-based function assimilates different security features like untraceability and anonymity and caters to the flaw of outdated data broadcasting. All these cryptographic algorithms (PKI, hash, XOR, SHA-1, MD5, AES, etc.) collaboratively used for the protocol design can guarantee to mitigate forgery, side channel, privileged insider, and stolen verifier attacks often seen in prior authentication protocols. Furthermore, it can show resistance to known attacks such as denial of service (DoS), man-in-the-middle, replay, drone capture attacks, and spoofing with other drones.</p>
</sec>
<sec id="s2"><label>2</label><title>System Model</title>
<p>According to this model, a valid user must first register with the control station registry, and then a drone must also register with CSS. It is worth noting that the control station server has been designated as a wholly trusted individual. Their confidence must be consistent as a lack of trust could jeopardize&#x00A0;the system&#x2019;s reliability. The proposed scheme means that the user and the remote server will fully trust the&#x00A0;registration center, while any other entity alone cannot be fully trusted. Gharibi et al. [<xref ref-type="bibr" rid="ref-1">1</xref>] defined the flying zone strategy for a large geographical region in detail. We also consider their zone strategy for achieving impartiality, modularity, and standardization so that a drone can securely communicate with the ground station and external users. According to Gharibi et al. [<xref ref-type="bibr" rid="ref-1">1</xref>], for each drone, the Zone Service Provider (ZSP) is responsible to facilitate a drone for navigation services and designate zone on the request of a drone. Also, ZSP has the authority to put orders for landing drone, hold the drone in the current flying zone, or switch drones from one flying zone to another. ZSP planned collision-free navigation services to a drone, route maintenance between two drones, along many performance characteristics.</p>
<p>Furthermore, to cover a larger area, such as an entire country, the ground stations must communicate logically with one another. This technique would track drones in a cluster at various flying zones, traffic, and drone switching from one flying zone to another and provide mandatory statistics. [<xref ref-type="bibr" rid="ref-1">1</xref>] also clarified handover strategies when a drone moves from one flying zone to another, as shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>.</p>
<p>In <xref ref-type="fig" rid="fig-1">Fig. 1</xref>, the certification for all drones is considered from a specialized framework installed within CSS, providing networking, information management support, and real-time problem-solving capabilities. The CSS is in charge of controlling, monitoring, and supervising drone navigation services. Network services and a wireless communication interface are also needed on all drones and are closely supervised by the CSS. The flight zones are another challenge for the CSS, and the drone must be operationalized in pre-determined flight zones/clusters. An external user can access a designated drone from a specific zone is also monitored by the CSS. CSS controls its flight and verifies its existence when a drone enters the IoD environment. The confirmation authenticity of a legitimate drone or the identification of an unauthorized drone in the flying zone can also easily be detected by the CSS due to its services agent capabilities.</p>
<fig id="fig-1"><label>Figure 1</label><caption><title>System model</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_26179-fig-1.png"/></fig>
<sec id="s2_1"><label>2.1</label><title>Adversary Model</title>
<p>Any public networked-based correspondence may be altered, eavesdropped on, or snooped on by an intruder. An adversary can pose as an authentic node at a specific location and initiate contact with the legal peer. However, an adversary cannot reach the server to access the internal secret without authorization. However, he or she may compromise some tags to obtain the shared session key. Furthermore, an adversary has complete authority to begin negotiations with a legitimate client, to insert false tags with the standard message in a public network channel during contact, to remove the entire or part of the message, to copy the message and replay it at a later time [<xref ref-type="bibr" rid="ref-6">6</xref>].</p>
</sec>
<sec id="s2_2"><label>2.2</label><title>Threat Model</title>
<p>Malicious users (attackers) have become more powerful nowadays. Therefore, all possible attacks are easy to launch against a legitimate user. Further, malicious users have many capabilities, such as editing, deleting, modifying, and blocking messages over IoD wireless networks. The possible threats against real users are: routing and session key threats, unauthorized access untraceability threats, perfect forward secrecy and data leakage threats, signal jamming and privacy threat, flight control and collation threats, signal spoofing and forgery threats, insider and deauthentication threats, stolen verifier and desynchronization threats, masquerade and impersonation threats, and clogging and ephemeral secret leakage threats.</p>
</sec>
<sec id="s2_3"><label>2.3</label><title>Public Key Infrastructure</title>
<p>During peer authentication, efficient and secure management of keys (random numbers or public/private) pair is difficult to keep secret from a strong adversary. However, cryptographers [<xref ref-type="bibr" rid="ref-7">7</xref>,<xref ref-type="bibr" rid="ref-8">8</xref>] developed a scenario in which first the key pair is generated, secondly professionally deployed (public key is for encryption and private for decryption), and finally, the process of overturning it is performed. The overturning or invalidation step is initiated when the whole session is accomplished then the key pair becomes null or compromised. Therefore, to achieve secure communication over the public, insecure networks, protocols for the mutual authentication of two parties, and the generation of a cryptographically generated shared key among the participants are fundamental. In contrast, the cryptographically-hash-based message authentication code depends on cross-verified session shared keys that need dynamic updates, as shown in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>.</p>
<fig id="fig-2"><label>Figure 2</label><caption><title>Single, double, and triple secret exchange scenarios</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_26179-fig-2.png"/></fig>
</sec>
<sec id="s2_4"><label>2.4</label><title>XOR Operation</title>
<p>For encrypting/decrypting the message using a single key or to secretly transmit a message without changing its size, a bit-wise XOR technique is used. It is a well-known technique in information security; a message having XOR cannot be cracked, which is also known as a one-time-pad [<xref ref-type="bibr" rid="ref-6">6</xref>].</p>
</sec>
<sec id="s2_5"><label>2.5</label><title>Research Contribution</title>
<p>This article presents a PKI-based authentication protocol for IoD using FANET. The protocol offered in this research paper authenticates each participant (U<sub>ia</sub>, V<sub>ja</sub>, CSS) before procuring data from the drone using FANET. This lightweight and resource-efficient authentication protocol use SHA-1, PKI, XOR operations, and AES (Advanced Encryption Standard) for a secure key generation before broadcasting data with each other. The main contributions of the research work are as under:
<list list-type="order">
<list-item><p>The protocol concentrates on generating secure keys among users, drone, and CSS, consisting of user&#x2019;s password change, dynamic drone addition, and drone revocation/reissue phases. Besides, the hash function, which is used for cyclic checksum, has fewer storage overheads and high security. It also allows joint public network channels between User &#x2192; Drone, Drone &#x2192; CSS, CSS &#x2192; Drones, and Drone &#x2192; CSS without performance loss.</p></list-item>
<list-item><p>The protocol offered in the article is validated using BAN logic and ProVerif2.03. A comprehensive, pragmatic illustration for prominent attacks shows that the scheme is verifiably protected against each.</p></list-item>
<list-item><p>A comparative analysis section has been offered by considering three aspects, computation, storage, and communication costs which shows that the scheme is better than the state-of-the-art protocols.</p></list-item>
</list></p>
</sec>
</sec>
<sec id="s3"><label>3</label><title>Related Works</title>
<p>The drone&#x2019;s computing resources are severely limited, making it vulnerable to various security threats such as replay attacks, forgery attacks, and man-in-the-middle attacks. Seriously, a drone&#x2019;s surveillance work in smart cities could cause serious harm at any moment. He et al. [<xref ref-type="bibr" rid="ref-5">5</xref>] suggested an elliptic curve cryptography-based lightweight identity authentication scheme. However, they neglect to mention drone addition, revocation, and password update phases. According to [<xref ref-type="bibr" rid="ref-9">9</xref>], malicious drone in contact between ground stations and drone causes data transmission and instruction data leakage. The identity authentication, validity, reliability, and privacy of a drone with the ground station have been addressed by [<xref ref-type="bibr" rid="ref-10">10</xref>] but do not offer perfect forward secrecy.</p>
<p>According to [<xref ref-type="bibr" rid="ref-11">11</xref>], low latency authentication plays a fundamental role on the internet of drones in a disaster environment where latency is between life and death. Furthermore, unauthorized access, energy consumption, and latency concern the internet of the drone&#x2019;s network [<xref ref-type="bibr" rid="ref-3">3</xref>]. The author [<xref ref-type="bibr" rid="ref-12">12</xref>] proposed a lightweight protocol that achieved performance but compromised security and could not resist most attacks. Another mutual authentication protocol was proposed in [<xref ref-type="bibr" rid="ref-13">13</xref>], and the scheme is based on PUF but failed to provide comprehensive security. The protocol proposed in [<xref ref-type="bibr" rid="ref-14">14</xref>] provides poor performance, leading to a fatal accident in IoD networks.</p>
<p>Furthermore, the author [<xref ref-type="bibr" rid="ref-15">15</xref>] cryptanalysis the scheme [<xref ref-type="bibr" rid="ref-16">16</xref>] and finds out that they cannot resist stolen authentication and traceability issues. According to [<xref ref-type="bibr" rid="ref-17">17</xref>], the scheme used in [<xref ref-type="bibr" rid="ref-18">18</xref>] suffers from session key leakage, inability to provide user anonymity, and scalability issues. Moreover, the scheme [<xref ref-type="bibr" rid="ref-19">19</xref>] used the same certificate in the authentication phase; thus, it does not provide anonymity.</p>
<p>In recent years, the idea of the Internet of Things (IoT) has been implemented for the IoD environment. The data, communication, and network technology are incorporated for drones in IoD because it is used for consumer conveniences like entertainment, toys, agricultural-land monitoring, high-value industries, and wide applications in the defence field shooter product [<xref ref-type="bibr" rid="ref-10">10</xref>]. Suppose improved battery power, sensing systems, communication security, and other technologies and incorporating them into drone technologies can become a top-rated product in recent years, advancing various fields and activities. In that case, small UAVs have enormous potential and have significant application versatility. In addition to personal aerial photography, entertainment, and commercial markets, they can be used in a range of surveillance activities, such as disaster relief, in diverse environments involving animals and plants, coasts and borders, in the transport of goods, military, and police enforcement tasks, and also in agricultural and industrial applications. Also, the smart city features like traffic monitoring and management, merchandise distribution, health and emergency services, and air taxi services, for example, will increase the efficiency, effectiveness, timeliness, reliability, and performance of these services and may help reduce the cost of delivering these services [<xref ref-type="bibr" rid="ref-20">20</xref>].</p>
<p>Small UAVs, however, can also pose many security threats when misused. Different researchers made several attempts to secure its data transmission. For example, Hussain et al. [<xref ref-type="bibr" rid="ref-21">21</xref>] proposed an elliptic curve cryptographic-based authentication scheme to secure the communication of external users and drones in the pre-defined flying zone. After successful information broadcasting, the drones can then be deployed for different applications like broadening IoT base IoD, smart cities surveillances, sidewalk monitoring, and stealth purposes. Yahuza et al. [<xref ref-type="bibr" rid="ref-22">22</xref>] identified flaws in some prior IoD-based protocols like switching drones from one flying zone to another needed a robust mechanism for self-organizing its previous secure transmission path. They mitigated the flying zone flaw and proposed a provably secure protocol, and named it SLPAKA. Gope et al. [<xref ref-type="bibr" rid="ref-23">23</xref>] claimed that robust information authentication is necessary to successfully deploy UAVs in crop spraying, public safety, and critical infrastructure surveillance. For this, they proposed a privacy-aware edge-assisted UAVs protocol by taking into account the procedure for resistance of UAVs from physical capturing. Tian et al. [<xref ref-type="bibr" rid="ref-24">24</xref>] also proposed a security framework for edge-assisted IoD using the securely computed authenticated key in online and offline mode for efficient open-access communication. However, due to batch verification of the signature, the computation tie complexity of their framework is not good. Ever [<xref ref-type="bibr" rid="ref-25">25</xref>] demonstrated that the key features of drone-like mobility, energy consumption, reliability, and efficiency for an open network are fundamental because all the IoD participants are not designed with an integrated security phenomenon. Therefore, they proposed a security framework for IoD using WSN. They used the elliptic curve discrete logarithmic function to secure participants&#x2019; computing keys. However, it still suffered from a key-escrow problem; [<xref ref-type="bibr" rid="ref-26">26</xref>] provision of secure and efficient communication between drone &#x0026; ground station for smart city surveillance, [<xref ref-type="bibr" rid="ref-27">27</xref>] secured the confidential data transmission between drones in IoD environment, [<xref ref-type="bibr" rid="ref-28">28</xref>] presented protocol for public cloud data security in IoT enabled equipment using MANET, and [<xref ref-type="bibr" rid="ref-29">29</xref>] presented three-factor key-agreement protocol for network-enabled devices using WSN. Similarly, [<xref ref-type="bibr" rid="ref-30">30</xref>] demonstrated an authentication scheme for an e-health-care system using WMSN, and [<xref ref-type="bibr" rid="ref-31">31</xref>] published a homomorphic encryption-based authentication scheme for IoD environment in which innovative knowledge for the different environments has been presented. Also, [<xref ref-type="bibr" rid="ref-32">32</xref>] proposed a privacy protection protocol for grid computing has been presented in which guarantees secure communication between service providers and smart objects, and [<xref ref-type="bibr" rid="ref-33">33</xref>] presented a three-factor (password, smart-card and biometric) based authentication scheme, which works for Unmanned Aerial Vehicular Networks.</p>
<p>Zhang et al. [<xref ref-type="bibr" rid="ref-14">14</xref>] designed a one-way hash function based on authentication and key agreement scheme for the Internet of Drone in which they claim that their scheme can guarantee for cross verification of each participant during communication. They presented the scheme in three phases: setup, registration, and mutual authentication. After the extensive analysis, it has been noted that their scheme is suffering from the following drawbacks:
<list list-type="order">
<list-item><p>An attacker can intercept the first message sent between the user and the control server, which leads to forgery attacks. The intruder may then modify the timestamp ST1, but the CS would not detect this. Furthermore, if an intruder physically captures the drone [<xref ref-type="bibr" rid="ref-14">14</xref>], store security credentials in its memory to participate in the authentication protocol; as a result, an attacker can gain access to the memory or use side-channel attacks to obtain the stored credentials. It means the scheme is suffering from side-channel attacks.</p></list-item>
<list-item><p>If an attacker forges the previous or current session key SKij, as the verification data is without encryption, the attacker can then transmit it towards the control center (SC) and force it to declare himself/herself as a legal user for the upcoming authentication session. For example, let suppose an attacker <italic>A</italic> can steal &#x007B;M<sub>5</sub>, M<sub>6</sub>, M<sub>7</sub>&#x007D; message from the open network channel and transmit it towards drone. V<sub>ja</sub> computes r<sub>1</sub><sup>//</sup>&#x2009;&#x003D;&#x2009;M<sub>5</sub>&#x2295;h(PID<sub>j</sub>&#x007C;&#x007C;&#x03B1;<sub>j</sub>), PID<sub>i</sub><sup>//</sup>&#x2009;&#x003D;&#x2009;M<sub>6</sub>&#x2295;h(PID<sub>j</sub>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;&#x03B1;<sub>j</sub>&#x007C;&#x007C;r<sub>1</sub><sup>//</sup>), M<sub>7</sub><sup>/</sup>&#x2009;&#x003D;&#x2009;h(PID<sub>i</sub><sup>//</sup>&#x007C;&#x007C;PID<sub>j</sub>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;&#x03B1;<sub>j</sub>&#x007C;&#x007C;r<sub>1</sub><sup>//</sup>) and forced drone to confirmed: M<sub>7</sub><sup>/</sup>?&#x2009;&#x003D;&#x2009;M<sub>7</sub>. Next attacker<italic>A</italic>generates random number r<sub>A</sub>and computes: M<sub>8</sub>&#x2009;&#x003D;&#x2009;h(PID<sub>j</sub>&#x007C;&#x007C;PID<sub>i</sub><sup>//</sup>)&#x2295;r<sub>A</sub>, and M<sub>9</sub>&#x2009;&#x003D;&#x2009;h(r<sub>1</sub><sup>//</sup>&#x007C;&#x007C;r<sub>A</sub>). Further he/she might calculate session key SK<sub>ij</sub>&#x2009;&#x003D;&#x2009;h(PID<sub>i</sub><sup>//</sup>&#x007C;&#x007C;PID<sub>j</sub>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;M<sub>9</sub>) which, then can be used for potential reply, DoS, insider and stolen-verifier attacks. Therefore, Zhang et al. [<xref ref-type="bibr" rid="ref-14">14</xref>] scheme is not safe against these attacks.</p></list-item>
<list-item><p>Zhang et al. [<xref ref-type="bibr" rid="ref-32">32</xref>] used ST<sub>1</sub> in the first round trip, while they forgot to use it in the next two round trips, which in turn does not guarantee the transmission of new data among drone and control centers (SC). Therefore, the scheme suffers from outdated data transmission flaws.</p></list-item>
<list-item><p>Since the scheme only uses a timestamp for the first-round trip and does not use a timestamp for any subsequent round trips, it suffers from a global time-synchronization issue.</p></list-item>
</list></p>
</sec>
<sec id="s4"><label>4</label><title>Proposed Solution</title>
<p>To solve the weaknesses mentioned in Zhang et al. [<xref ref-type="bibr" rid="ref-14">14</xref>] scheme above, we, as a result of this, have proposed the following improved scheme consisting of 1) setup phase, 2) registration phase, 3) mutual authentication and cross-verification phase, 4) user&#x2019;s biometric/password update Phase, 5) dynamic drone addition phase, and 6) drone revocation/reissue phases, each of these are described one by one as under, while the different notations used for designing the scheme are shown in <xref ref-type="table" rid="table-1">Tab. 1</xref>.</p>
<table-wrap id="table-1"><label>Table 1</label><caption><title>Notations and its description</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Notation</th>
<th align="left">Description</th>
<th align="left">Notation</th>
<th align="left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">U<sub>ia</sub></td>
<td align="left">User</td>
<td align="left">&#x007C;&#x007C;</td>
<td align="left">Concatenation function</td>
</tr>
<tr>
<td align="left">ID<sub>s</sub></td>
<td align="left">CSS&#x2019;s identity</td>
<td align="left">V<sub>ja</sub></td>
<td align="left">Drone</td>
</tr>
<tr>
<td align="left">ID<sub>ja</sub></td>
<td align="left">Drone&#x2019;s identity</td>
<td align="left">ID<sub>ia</sub></td>
<td align="left">User&#x2019;s identity</td>
</tr>
<tr>
<td align="left"><italic>l</italic></td>
<td align="left">Public key</td>
<td align="left">s</td>
<td align="left">Secret value</td>
</tr>
<tr>
<td align="left">&#x03B1;<sub>ja</sub></td>
<td align="left">Drone&#x2019;s master private key</td>
<td align="left">n</td>
<td align="left">Public value</td>
</tr>
<tr>
<td align="left">ST<sub>1</sub></td>
<td align="left">User&#x2019;s time stamp</td>
<td align="left">&#x03B1;<sub>ia</sub></td>
<td align="left">User&#x2019;s master private key</td>
</tr>
<tr>
<td align="left">R<sub>2</sub></td>
<td align="left">Drone&#x2019;s random number</td>
<td align="left">R<sub>1</sub></td>
<td align="left">User&#x2019;s random number</td>
</tr>
<tr>
<td align="left">&#x0394;T</td>
<td align="left">Time threshold</td>
<td align="left">ST<sub>2</sub></td>
<td align="left">CSS timestamp</td>
</tr>
</tbody>
</table>
</table-wrap>
<sec id="s4_1"><label>4.1</label><title>Setup Phase</title>
<p>Let the control station server (CSS) choose a random number <italic>l</italic> called a public key, <italic>s</italic> is a secret key and dispatches public parameters <italic>pms</italic>. Furthermore, CSS chooses collision-free one-way-hash function h(.)&#x2208;Z<sub>q</sub>&#x002A;, identity ID<sub>s</sub> and calculates PID<sub>s</sub>&#x2009;&#x003D;&#x2009;h(ID<sub>s</sub>&#x007C;&#x007C;<italic>s</italic>). The control station server (CSS) stores &#x007B;<italic>l</italic>, s&#x007D; and issues &#x007B;PID<sub>s</sub>, h(.), pms&#x007D;. The CSS uses <italic>l</italic> for encryption (Public key), <italic>s</italic> for decryption (private) in one session, and different keys for the next session.</p>
</sec>
<sec id="s4_2"><label>4.2</label><title>Registration Phase</title>
<p>This phase of the proposed scheme is divided into two sub-phases:</p>
<sec id="s4_2_1"><label>4.2.1</label><title>User&#x2019;s Registration</title>
<p>This sub-phase of the scheme, completed in the following steps:
<list list-type="roman-lower">
<list-item><label>i.</label><p>A legitimate user chooses his/her identity ID<sub>ia</sub>, password PW<sub>ia</sub> and sends a registration request towards the control station server (CSS)over a secure channel.</p></list-item>
<list-item><label>ii.</label><p>Upon receiving the registration request, the control station server (CSS)computes PID<sub>ia</sub> &#x003D; h(ID<sub>ia</sub>&#x007C;&#x007C;s), A<sub>i</sub>&#x2009;&#x003D;&#x2009;h(ID<sub>ia</sub>&#x007C;&#x007C;<italic>l</italic>), store &#x007B;PID<sub>ia</sub>, A<sub>i</sub>, ID<sub>ia</sub>&#x007D; and transmit &#x007B;PID<sub>ia</sub>, A<sub>i</sub>&#x007D; towards user over a secure channel.</p></list-item>
<list-item><label>iii.</label><p>Upon receiving &#x007B;PID<sub>ia</sub>, A<sub>i</sub>&#x007D;, the user imprints his/her biometrics BIO<sub>ia</sub>, and computes: Gen(BIO<sub>ia</sub>)&#x2009;&#x003D;&#x2009;(&#x03C3;<sub>ia</sub>, &#x03C4;<sub>ia</sub>), A<sub>i</sub><sup>m</sup>&#x2009;&#x003D;&#x2009;h(ID<sub>ia</sub>&#x007C;&#x007C;PW<sub>ia</sub>)&#x2295;A<sub>i</sub>, and PID<sub>ia</sub><sup>m</sup>&#x2009;&#x003D;&#x2009;h(ID<sub>ia</sub>&#x007C;&#x007C;PW<sub>ia</sub>)&#x2295;PID<sub>ia</sub> where &#x03C3;<sub>ia</sub>&#x0026;&#x03C4;<sub>ia</sub> are biometric keys associated with BIO<sub>ia</sub>. Finally, U<sub>ia</sub> stores &#x007B;A<sub>i</sub><sup>m</sup>, PID<sub>ia</sub><sup>m</sup>, Gen(.), Rep(.)&#x007D; in its memory. Biometric Gen(.) and Rep(.) functions to concealed credentials from privileged user, as shown in <xref ref-type="fig" rid="fig-4">Module I</xref>.</p></list-item>
</list></p>
<fig id="fig-4"><label>Module I</label><caption><title>User&#x2019;s registration phase</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_26179-inline-1.png"/></fig>
</sec>
<sec id="s4_2_2"><label>4.2.2</label><title>Drone&#x2019;s Registration Phase</title>
<p>This sub-phase of registration phase is accomplished on the following steps:
<list list-type="roman-lower">
<list-item><label>i.</label><p>A drone randomly selects ID<sub>ja</sub> and transmits it to the control station server (CSS)over a secure channel.</p></list-item>
<list-item><label>ii.</label><p>Upon receiving the request message, the control station server (CSS)computes PID<sub>ja</sub>&#x2009;&#x003D;&#x2009;h (ID<sub>ja</sub>&#x007C;&#x007C;s), A<sub>j</sub>&#x2009;&#x003D;&#x2009;h(ID<sub>ja</sub>&#x007C;&#x007C;<italic>l</italic>) stores &#x007B;ID<sub>ja</sub>, PID<sub>ja</sub>, A<sub>j</sub>&#x007D; and sends &#x007B;PID<sub>ja</sub>, A<sub>j</sub>&#x007D; towards drone over a private channel.</p></list-item>
<list-item><label>iii.</label><p>Upon receiving the message of CSS, the drone stores &#x007B;PID<sub>ja</sub>, A<sub>j</sub>&#x007D; in its memory for future usage, as shown in <xref ref-type="fig" rid="fig-5">Module II</xref>.</p></list-item>
</list></p>
<fig id="fig-11"><label>Module II</label><caption><title>Drone&#x2019;s registration phase</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_26179-inline-2.png"/></fig>
</sec>
</sec>
<sec id="s4_3"><label>4.3</label><title>Mutual Authentication &#x0026; Cross Verification Phase</title>
<p>After registering user (U<sub>i</sub>) and drone (V<sub>j</sub>), they can communicate with each other subject to the condition that they can compute a secret shared session key SK. For such purpose, the following steps will perform:
<list list-type="roman-lower">
<list-item><label>i.</label><p>The user first enters his/her ID<sub>ia</sub>, PW<sub>ia</sub>, imprints biometric BIO<sup>/</sup><sub>ia</sub> and computes &#x03C3;<sup>/</sup><sub>ia</sub>&#x2009;&#x003D;&#x2009;Rep(BIO<sub>ia,</sub> &#x03C4;<sub>ia</sub>), PID<sub>ia</sub>&#x2009;&#x003D;&#x2009;PID<sub>ia</sub><sup>m</sup>&#x2295;h(ID<sub>ia</sub>&#x007C;&#x007C;PW<sub>ia</sub>), A<sub>i</sub>&#x2009;&#x003D;&#x2009;A<sub>ia</sub><sup>m</sup>&#x2295;h(ID<sub>ia</sub>&#x007C;&#x007C;PW<sub>ia</sub>). Next generate a number R<sub>1</sub>&#x2208;Z&#x002A;<sub>n</sub>, present timestamp ST<sub>1</sub>and compute: M<sub>1</sub>&#x2009;&#x003D;&#x2009;h(PID<sub>s</sub>&#x007C;&#x007C;ST<sub>1</sub>)&#x2295;PID<sub>ia</sub>, M<sub>2</sub>&#x2009;&#x003D;&#x2009;h(PID<sub>ia</sub>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;A<sub>i</sub>)&#x2295;R<sub>1</sub>, M<sub>3</sub>&#x2009;&#x003D;&#x2009;h(PID<sub>ia</sub>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;A<sub>i</sub>&#x007C;&#x007C;R<sub>1</sub>)&#x2295;PID<sub>ja</sub>, M<sub>4</sub>&#x2009;&#x003D;&#x2009;h(PID<sub>ia</sub>&#x007C;&#x007C;PID<sub>ja</sub>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;A<sub>i</sub>&#x007C;&#x007C;R<sub>1</sub>) and transmits &#x007B;M<sub>1</sub>, M<sub>2</sub>, M<sub>3</sub>, M<sub>4</sub>, ST<sub>1</sub>&#x007D; message towards control server over a public network channel. Here using public key for the encryption of h(PID<sub>ja</sub>&#x007C;&#x007C;PID<sub>ia</sub><sup>//</sup>&#x007C;&#x007C;ST<sub>3</sub>)&#x2295;R<sub>2</sub> message.</p></list-item>
<list-item><label>ii.</label><p>Upon receiving &#x007B;M<sub>1</sub>, M<sub>2</sub>, M<sub>3</sub>, M<sub>4</sub>, ST<sub>1</sub>&#x007D; message, the CSS checks the received timestamp with the current system time (T<sub>c</sub>&#x2009;&#x2212;&#x2009;ST<sub>1</sub>&#x2264;&#x0394;T), if not found within the prescribed time threshold, the CSS consider it for potential replay attack and stops computation. But when found valid, CSS decrypts M<sub>1</sub> using private key <italic>s</italic> and computes PID<sub>ia</sub><sup>/</sup>&#x2009;&#x003D;&#x2009;M<sub>1</sub>&#x2295;h(PID<sub>s</sub>&#x007C;&#x007C;ST<sub>1</sub>) and retrieves A<sub>i</sub><sup>/</sup>and calculates R<sub>1</sub><sup>/</sup>&#x2009;&#x003D;&#x2009;M<sub>2</sub>&#x2295;h(PID<sub>ia</sub><sup>/</sup>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;A<sub>i</sub><sup>/</sup>), PID<sub>ja</sub><sup>/</sup>&#x2009;&#x003D;&#x2009;M<sub>3</sub>&#x2295;h(PID<sub>ia</sub><sup>/</sup>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;A<sub>i</sub><sup>/</sup>&#x007C;&#x007C;R<sub>1</sub><sup>/</sup>) and M<sub>4</sub><sup>/</sup>&#x2009;&#x003D;&#x2009;h (PID<sub>ia</sub><sup>/</sup>&#x007C;&#x007C;PID<sub>ja</sub><sup>/</sup>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;A<sub>i</sub><sup>/</sup>&#x007C;&#x007C;R<sub>1</sub><sup>/</sup>). The control station server (CSS) confirms M<sub>4</sub><sup>/</sup>?&#x2009;&#x003D;&#x2009;M<sub>4</sub>, if found no confirmation, the process is terminated, else, it generates another timestamp ST<sub>2</sub> and computes M<sub>5</sub>&#x2009;&#x003D;&#x2009;h(PID<sub>ja</sub><sup>/</sup>&#x007C;&#x007C;A<sub>j</sub><sup>/</sup>&#x007C;&#x007C;ST<sub>2</sub>)&#x2295;R<sub>1</sub><sup>/</sup>, M<sub>6</sub>&#x2009;&#x003D;&#x2009;h(PID<sub>ja</sub><sup>/</sup>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;A<sub>j</sub><sup>/</sup>&#x007C;&#x007C;R<sub>1</sub><sup>/</sup>)&#x2295;PID<sub>ia</sub><sup>/</sup>, M<sub>7</sub>&#x2009;&#x003D;&#x2009;h(PID<sub>ia</sub><sup>/</sup>&#x007C;&#x007C;PID<sub>ja</sub><sup>/</sup>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;A<sub>j</sub><sup>/</sup>&#x007C;&#x007C;R<sub>1</sub><sup>/</sup>) and transmits &#x007B;M<sub>5</sub>, M<sub>6</sub>, M<sub>7</sub>, ST<sub>2</sub>&#x007D; message towards drone over a public network channel.</p></list-item>
<list-item><label>iii.</label><p>Upon receiving &#x007B;M<sub>5</sub>, M<sub>6</sub>, M<sub>7</sub>, ST<sub>2</sub>&#x007D; message, drone first check the timestamp with system time (T<sub>c</sub> &#x2013; ST<sub>2</sub> &#x2264;&#x0394; T), computes R<sub>1</sub><sup>//</sup>&#x2009;&#x003D;&#x2009;M<sub>5</sub> &#x2295; h (PID<sub>ja</sub>&#x007C;&#x007C;A<sub>j</sub>), PID<sub>ia</sub><sup>//</sup>&#x2009;&#x003D;&#x2009;M<sub>6</sub> &#x2295; h (PID<sub>ja</sub>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;A<sub>j</sub>&#x007C;&#x007C;R<sub>1</sub><sup>//</sup>) and M<sub>7</sub><sup>/</sup>&#x2009;&#x003D;&#x2009;h (PID<sub>ia</sub><sup>//</sup>&#x007C;&#x007C;PID<sub>ja</sub>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;A<sub>j</sub>&#x007C;&#x007C;R<sub>1</sub><sup>//</sup>), confirms M<sub>7</sub><sup>/</sup>?&#x2009;&#x003D;&#x2009;M<sub>7</sub>, if found no validation, the drone rejects the authentication request, else, it generates random number R<sub>2</sub> &#x2208; Z&#x002A;<sub>n</sub>, ST<sub>3</sub> and computes M<sub>8</sub>&#x2009;&#x003D;&#x2009;h (PID<sub>ja</sub>&#x007C;&#x007C;PID<sub>ia</sub><sup>//</sup>&#x007C;&#x007C;ST<sub>3</sub>) &#x2295; R<sub>2</sub>, M<sub>9</sub>&#x2009;&#x003D;&#x2009;h (R<sub>1</sub><sup>//</sup>&#x007C;&#x007C;R<sub>2</sub>), SK<sub>iaja</sub>&#x2009;&#x003D;&#x2009;h (PID<sub>ia</sub><sup>//</sup>&#x007C;&#x007C;PID<sub>ja</sub>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;M<sub>9</sub>), M<sub>10&#x2009;</sub>&#x003D;&#x2009;h (PID<sub>ia</sub><sup>//</sup>&#x007C;&#x007C;PID<sub>ja</sub>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;R<sub>1</sub><sup>//</sup>&#x007C;&#x007C;R<sub>2</sub>&#x007C;&#x007C;M<sub>9</sub>) and sends &#x007B;M<sub>8</sub>, M<sub>9</sub>, M<sub>10</sub>, ST<sub>3</sub>&#x007D; message towards CSS over a public channel. Here M<sub>8</sub> must perform encryption using <italic>l</italic> i.e., M<sub>8</sub>&#x2009;&#x003D;&#x2009;E<italic><sub>l</sub></italic>(h (PID<sub>ja</sub>&#x007C;&#x007C;PID<sub>ia</sub><sup>//</sup>&#x007C;&#x007C;ST<sub>3</sub>)&#x2295;R<sub>2</sub>).</p></list-item>
<list-item><label>iv.</label><p>The CSS, when receiving &#x007B;M<sub>8</sub>, M<sub>9</sub>, M<sub>10</sub>, ST<sub>3</sub>&#x007D; message, check the time, decrypt M<sub>8</sub>, and computes, R<sub>2</sub><sup>/</sup>&#x2009;&#x003D;&#x2009;M<sub>8</sub>&#x2295;h(PID<sub>ja</sub>&#x007C;\PID<sub>ia</sub>&#x007C;&#x007C;R<sub>1</sub>), M<sub>9</sub><sup>/</sup>&#x2009;&#x003D;&#x2009;h(R<sub>1</sub>&#x007C;&#x007C;R<sub>2</sub><sup>/</sup>), and M<sub>10</sub>&#x2009;&#x003D;&#x2009;h(PID<sub>ia</sub>&#x007C;&#x007C;PID<sub>ja</sub>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;R<sub>1</sub>&#x007C;&#x007C;R<sub>2</sub><sup>/</sup>). It then Confirms: M<sub>10</sub><sup>/</sup>?&#x2009;&#x003D;&#x2009;M<sub>10</sub>, if matches, compute: SK<sub>iaja</sub>&#x2009;&#x003D;&#x2009;h(PID<sub>ia</sub>&#x007C;&#x007C;PID<sub>ja</sub>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;M<sub>9</sub><sup>/</sup>), else, stop calculation. Finally, &#x007B;M<sub>8</sub>, M<sub>9</sub>, M<sub>10</sub>, ST<sub>4</sub>&#x007D; message towards the user.</p></list-item>
<list-item><label>v.</label><p>The user, upon receiving &#x007B;M<sub>8</sub>, M<sub>9</sub>, M<sub>10</sub>, ST<sub>3</sub>&#x007D; message, checks drone time with its current time (T<sub>c</sub>&#x2013;ST<sub>3</sub>&#x2264;&#x0394;T), if found no validation, the process is discarded, else, it decrypts M<sub>8</sub> using s and computes R<sub>2</sub><sup>/</sup>&#x2009;&#x003D;&#x2009;M<sub>8</sub>&#x2295;h(PID<sub>ja</sub>&#x007C;\PID<sub>ia</sub>&#x007C;&#x007C;R<sub>1</sub>), M<sub>9</sub><sup>/</sup>&#x2009;&#x003D;&#x2009;h(R<sub>1</sub>&#x007C;&#x007C;R<sub>2</sub><sup>/</sup>), M<sub>10</sub>&#x2009;&#x003D;&#x2009;h(PID<sub>ia</sub>&#x007C;&#x007C;PID<sub>ja</sub>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;R<sub>1</sub>&#x007C;&#x007C;R<sub>2</sub><sup>/</sup>), confirms M<sub>10</sub><sup>/</sup>?&#x2009;&#x003D;&#x2009;M<sub>10</sub>, if found no validation, the process once again be terminated, otherwise keeps SK<sub>iaja</sub>&#x2009;&#x003D;&#x2009;h(PID<sub>ia</sub>&#x007C;&#x007C;PID<sub>ja</sub>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;M<sub>9</sub><sup>/</sup>) as the session shared key, as shown in <xref ref-type="fig" rid="fig-5">Module III</xref>.</p></list-item>
</list></p>
<fig id="fig-5"><label>Module III</label><caption><title>Mutual authentication phase</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_26179-inline-3.png"/></fig>
</sec>
<sec id="s4_4"><label>4.4</label><title>Dynamic Drone Addition Phase</title>
<p>Let us suppose a new drone denoted by V<sub>j</sub><sup>new</sup> is required to add to the IoD environment. The control station server (CSS) initially generates a distinctive ID<sub>ja</sub><sup>new</sup> and computes PID<sub>ja</sub><sup>new</sup>&#x2009;&#x003D;&#x2009;h(ID<sub>ja</sub><sup>new</sup>&#x007C;&#x007C;s), where s is the secret key. Next, CSS chooses a 160-bits public key <italic>l</italic>, computes: A<sub>j</sub><sup>new</sup>&#x2009;&#x003D;&#x2009;h(ID<sub>ja</sub><sup>new</sup>&#x007C;&#x007C;<italic>l</italic>) and stores &#x007B;ID<sub>ja</sub><sup>new</sup>, PID<sub>ja</sub><sup>new</sup>, A<sub>j</sub>&#x007D; in its memory and &#x007B;PID<sub>ja</sub><sup>new</sup>, A<sub>j</sub>&#x007D; in drone&#x2019;s memory. The operator sitting on CSS informs all the previously registered drones from the newly added drone available on IoD for dynamic changing of its topology and deploy for the possible task.</p>
</sec>
<sec id="s4_5"><label>4.5</label><title>User&#x2019;s Biometric/Password Update Phase</title>
<p>If a legitimate user desires to change his/her password or biometrics, our protocol offers changing facilities to him/her freely and securely. To do so, the user first enters his/her old identity ID<sub>ia</sub>, old password PW<sub>ia</sub>, and imprint biometric BIO<sup>/</sup><sub>ia</sub>; and computes: &#x03C3;<sup>/</sup><sub>ia</sub>&#x2009;&#x003D;&#x2009;Rep(BIO<sup>/</sup><sub>ia</sub>, &#x03C4;<sub>ia</sub>), A<sub>i</sub><sup>m</sup>&#x2009;&#x003D;&#x2009;h(ID<sub>ia</sub>&#x007C;&#x007C;PW<sub>ia</sub>)&#x2295;A<sub>i</sub>, PID<sub>ia</sub><sup>m</sup>&#x2009;&#x003D;&#x2009;h(ID<sub>ia</sub>&#x007C;&#x007C;PW<sub>ia</sub>)&#x2295;PID<sub>ia</sub>, generates R<sub>1</sub>&#x2208;Z&#x002A;<sub>n</sub> and computes M<sub>1</sub><sup>/</sup> &#x003D; h(PID<sub>s</sub>&#x007C;&#x007C;R<sub>1</sub>)&#x2295;PID<sub>ia</sub>. If M<sub>1</sub><sup>/</sup>?&#x2009;&#x003D;&#x2009;M<sub>1</sub>, tells the user to fresh password PW<sub>ia</sub><sup>new</sup>, or re-imprints biometrics BIO<sub>ia</sub><sup>new</sup>, Locally the computations performed as: PID<sub>ia</sub>&#x2009;&#x003D;&#x2009;h(ID<sub>ia</sub>&#x007C;&#x007C;s), A<sub>i</sub>&#x2009;&#x003D;&#x2009;h(PW<sub>ia</sub><sup>new</sup>&#x007C;&#x007C;<italic>l</italic>), Gen(BIO<sub>ia</sub><sup>new</sup>)&#x2009;&#x003D;&#x2009;(&#x03C3;<sub>ia</sub><sup>new</sup>, &#x03C4;<sub>ia</sub><sup>new</sup>), A<sub>i</sub><sup>new</sup>&#x2009;&#x003D;&#x2009;h(ID<sub>ia</sub>&#x007C;&#x007C;PW<sub>ia</sub><sup>new</sup>)&#x2295;A<sub>i</sub>, PID<sub>ia</sub><sup>new</sup>&#x2009;&#x003D;&#x2009;h(ID<sub>ia</sub>&#x007C;&#x007C;PW<sub>ia</sub><sup>new</sup>)&#x2295;PID<sub>ia</sub> and replaces &#x007B;A<sub>i</sub><sup>m</sup>, PID<sub>ia</sub><sup>m</sup>&#x007D; with &#x007B;A<sub>i</sub><sup>new</sup>, PID<sub>ia</sub><sup>new</sup>&#x007D;, as shown in <xref ref-type="fig" rid="fig-7">Module IV</xref>.</p>
<fig id="fig-7"><label>Module IV</label><caption><title>Password/Biometric change phase</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_26179-inline-4.png"/></fig>
</sec>
<sec id="s4_6"><label>4.6</label><title>Drone Revocation/Reissue Phase</title>
<p>If a drone goes out of service or is physically captured by an attacker or taken down/crashed, its data is available in the CSS poses a severe threat. This can, in turn, be used by the unauthorized entity, which means the danger of IoD. Therefore, we suggested that the CSS have a list/database table consisting of unique identities of compromised drones. Personal values can be added and removed from the record correspondingly, i.e., A<sub>ja</sub>&#x2009;&#x003D;&#x2009;ID<sub>ja</sub>&#x007C;&#x007C;s, A<sub>ja</sub><sup>del</sup>&#x2009;&#x003D;&#x2009;ID<sub>ja</sub>&#x007C;&#x007C;s, ID<sub>ja</sub>?&#x2009;&#x003D;&#x2009;ID<sub>ja</sub><sup>del</sup>, if it confirms, delete ID<sub>ja</sub><sup>del</sup> and completely remove the record of such drone from the CSS.</p>
</sec>
</sec>
<sec id="s5"><label>5</label><title>Security Analysis</title>
<p>Security analysis for any protocol is considered an essential task. Because security analysis uses system engineering ideas and trust to scrutinize and examine the strength of a cryptographic-based designed protocol, this section identifies the protocol&#x2019;s credibility, authenticates the IoD environment protocol&#x2019;s stability, shared authentication, and integrity. The protocol mentioned above analyzed formally using BAN Logic [<xref ref-type="bibr" rid="ref-34">34</xref>] and, ProVerif2.02 [<xref ref-type="bibr" rid="ref-35">35</xref>], which are as under:</p>
<sec id="s5_1"><label>5.1</label><title>Formal Security Analysis</title>
<p>The formal security analysis of the proposed authentication protocol will be conducted using the following different methods used by different researchers from time to time like using BAN Logic [<xref ref-type="bibr" rid="ref-34">34</xref>] and, ProVerif2.02 [<xref ref-type="bibr" rid="ref-35">35</xref>], are as under:</p>
<sec id="s5_1_1"><label>5.1.1</label><title>BAN Logic</title>
<p>Before analyzing the proposed protocol using BAN logic [<xref ref-type="bibr" rid="ref-34">34</xref>], let&#x2019;s, define a few concepts and different notation defined are shown in <xref ref-type="table" rid="table-2">Tab. 2</xref>, below:</p>
<table-wrap id="table-2"><label>Table 2</label><caption><title>BAN logic notations and its description</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Notation</th>
<th align="left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">W&#x007C;&#x2261;X</td>
<td align="left">This statement describes believes rule like W believes message X</td>
</tr>
<tr>
<td align="left">W&#x22B2;X</td>
<td align="left">This statement describes seeing rule like W sees message X</td>
</tr>
<tr>
<td align="left">W&#x007C;&#x223C;X</td>
<td align="left">This statement describes the Once-Said rule like W once said X</td>
</tr>
<tr>
<td align="left">&#x0023;x</td>
<td align="left">This statement describes freshness rule like x is fresh</td>
</tr>
<tr>
<td align="left"><inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:mrow><mml:mtext>W</mml:mtext></mml:mrow><mml:mover><mml:mrow><mml:mo stretchy="false">&#x2194;</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mtext>            K            &#xA0;</mml:mtext></mml:mrow></mml:mrow></mml:mover><mml:mo>&#x2061;</mml:mo><mml:mi>X</mml:mi></mml:math></inline-formula></td>
<td align="left">This statement describes shared key rules like W and X<break/>communicate through key K</td>
</tr>
<tr>
<td align="left">W&#x21D2;X</td>
<td align="left">This statement describes jurisdiction rules like W control over X</td>
</tr>
<tr>
<td align="left">&#x003C; A &#x003E; B</td>
<td align="left">This statement describes combine rule like A combines with B</td>
</tr>
<tr>
<td align="left">&#x007B;M&#x007D;<sub>k</sub></td>
<td align="left">This statement describes encryption rules like M encrypted by key K</td>
</tr>
<tr>
<td align="left">&#x007B;M&#x007D;<sub>K</sub>-1</td>
<td align="left">This statement describes decryption rule like M decrypted by key K</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Different rules defined are as under:</p>
<p>Rule 1: <bold>Message Meaning</bold>
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:mfrac><mml:mrow><mml:mi>U</mml:mi><mml:mi>i</mml:mi><mml:mi>a</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo>&#x2261;</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mi>U</mml:mi><mml:mi>i</mml:mi><mml:mi>a</mml:mi><mml:mover><mml:mrow><mml:mo stretchy="false">&#x2194;</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mi>K</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:mover><mml:mo>&#x2061;</mml:mo><mml:mi>C</mml:mi><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mo>&#x25C3;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mi>X</mml:mi><mml:mo>}</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>U</mml:mi><mml:mi>i</mml:mi><mml:mi>a</mml:mi><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mo>&#x223C;</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mi>X</mml:mi></mml:mrow></mml:mfrac></mml:math></disp-formula>
If U<sub>ia</sub>believes that U<sub>ia</sub> and CSS share SK sees message X, then U<sub>ia</sub>believes CSS once said.</p>
<p>Rule 2: <bold>Nonce Verification</bold>
<disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:mfrac><mml:mrow><mml:mrow><mml:mtext>Uia</mml:mtext></mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mi mathvariant="normal">&#x0023;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtext>X</mml:mtext></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mo>&#x223C;</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mtext>Uia</mml:mtext></mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mo>&#x2261;</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mi>X</mml:mi></mml:mrow></mml:mfrac></mml:math></disp-formula>
If U<sub>ia</sub>believes that message X is fresh that CSS once said X, then U<sub>ia</sub>believes that CSS trust X</p>
<p>Rule 3: <bold>Jurisdiction Rule</bold>
<disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:mfrac><mml:mrow><mml:mrow><mml:mtext>Vja</mml:mtext></mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mo stretchy="false">&#x21D2;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>X</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mspace width="thickmathspace" /><mml:mrow><mml:mtext>Vja</mml:mtext></mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:mspace width="thickmathspace" /></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mo>&#x2261;</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo>&#x2261;</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mi>X</mml:mi></mml:mrow></mml:mfrac></mml:math></disp-formula>
If V<sub>ja</sub>believes CSS control X because it is under the jurisdiction of both and <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mrow><mml:mtext>Vja</mml:mtext></mml:mrow></mml:math></inline-formula>believes that CSS believes X, then <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mrow><mml:mtext>Vja</mml:mtext></mml:mrow></mml:math></inline-formula> believes X.</p>
<p>Rule 4: <bold>Freshness Rule</bold>
<disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:mfrac><mml:mrow><mml:mrow><mml:mtext>Vja</mml:mtext></mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mi mathvariant="normal">&#x0023;</mml:mi><mml:mspace width="thickmathspace" /><mml:mrow><mml:mo>(</mml:mo><mml:mi>X</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>  Vja</mml:mtext></mml:mrow></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mo>&#x2261;</mml:mo><mml:mi>C</mml:mi><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo>&#x2261;</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mi>X</mml:mi><mml:mo>!</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mtext>Vja</mml:mtext></mml:mrow><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo>&#x2261;</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mi>X</mml:mi><mml:mover><mml:mrow><mml:mo stretchy="false">&#x2194;</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mi>K</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:mover><mml:mspace width="thickmathspace" /><mml:mi>C</mml:mi><mml:mi>S</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:mfrac></mml:math></disp-formula>
If V<sub>ja</sub>believes that message X is fresh, and CSS believes X, then V<sub>ja</sub>believes they sharedkey.</p>
<p>Rule 5: <bold>Belief Rule</bold>
<disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:mfrac><mml:mrow><mml:mrow><mml:mtext>Uia</mml:mtext></mml:mrow><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo>&#x2261;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtext>X</mml:mtext></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo>&#x2261;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:mtext>X</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>  Vja</mml:mtext></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:math></disp-formula>
If U<sub>ia</sub>believes that X, then CSS believe in message X and V<sub>ja</sub>
<list list-type="simple">
<list-item><p><italic>1) Goals</italic></p></list-item>
</list></p>
<p>The following goals are demonstrated for the proposed authentication protocol.</p>
<p>G<sub>1</sub>: U<sub>ia</sub>&#x007C;&#x2261;(R<sub>1</sub>)</p>
<p>G<sub>2</sub>: CSS&#x007C;&#x2261;(R<sub>1</sub>)</p>
<p>G<sub>3</sub>: CSS&#x007C;&#x2261;(R<sub>1</sub><sup>/</sup>)</p>
<p>G<sub>4</sub>: V<sub>ja</sub>&#x007C;&#x2261;(R<sub>1</sub><sup>/</sup>)</p>
<p>G<sub>5</sub>: V<sub>ja</sub>&#x007C;&#x2261;(R<sub>2</sub>)</p>
<p>G<sub>6</sub>: U<sub>ia</sub>&#x007C;&#x2261;(R<sub>2</sub>)
<list list-type="simple">
<list-item><p><italic>2) Idealized Form</italic></p></list-item>
</list></p>
<p>The following idealized form is as a result of this described for the proposed authentication scheme:</p>
<p>Message<sub>1</sub>: U<sub>ia</sub> &#x2192; CSS: <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>3</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>4</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>  S</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>R</mml:mtext></mml:mrow><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></p>
<p>Message<sub>2</sub>: CSS &#x2192; V<sub>ja</sub>: <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>5</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>6</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>7</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>    S</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:msubsup><mml:mrow><mml:mtext>R</mml:mtext></mml:mrow><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula></p>
<p>Message<sub>3</sub>: V<sub>ja</sub>&#x2192; U<sub>ia</sub>: <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>8</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>9</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mrow><mml:mn>10</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>    S</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mn>3</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>R</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>
<list list-type="simple">
<list-item><label>3)</label><p><italic>Assumption</italic></p></list-item>
</list></p>
<p>The following assumptions will prove our protocol:</p>
<p>A<sub>1</sub>: CSS&#x007C;&#x2261; &#x0023;(R<sub>1</sub>),&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;A<sub>7</sub>: CSS&#x007C;&#x2261; (CSS<inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mover><mml:mrow><mml:mo stretchy="false">&#x2194;</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:mover></mml:math></inline-formula>U<sub>ia</sub>)</p>
<p>A<sub>2</sub>: U<sub>ia</sub> &#x007C;&#x2261; &#x0023;(R<sub>1</sub>),&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;A<sub>8</sub>: U<sub>ia</sub>&#x007C;&#x2261; (CSS<inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mover><mml:mrow><mml:mo stretchy="false">&#x2194;</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:mover></mml:math></inline-formula>U<sub>ia</sub>)</p>
<p>A<sub>3</sub>: V<sub>ja</sub> &#x007C;&#x2261; &#x0023;(R<sub>1</sub><sup>/</sup>),&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;A<sub>9</sub>: CSS&#x007C;&#x2261; (CSS<inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mover><mml:mrow><mml:mo stretchy="false">&#x2194;</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mtext>                                                  &#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>A</mml:mtext></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:mover></mml:math></inline-formula>V<sub>ja</sub>)</p>
<p>A<sub>4</sub>: CSS&#x007C;&#x2261; &#x0023;(R<sub>1</sub><sup>/</sup>),&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;A<sub>10</sub>: V<sub>ja</sub>&#x007C;&#x2261; (CSS<inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:mover><mml:mrow><mml:mo stretchy="false">&#x2194;</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mtext>                                                  &#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>A</mml:mtext></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:mover></mml:math></inline-formula>V<sub>ja</sub>)</p>
<p>A<sub>5</sub>: V<sub>ja</sub>&#x007C;&#x2261; &#x0023;(R<sub>2</sub>),&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;A<sub>11</sub>: V<sub>ja</sub>&#x007C;&#x2261; (V<sub>ja</sub><inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:mover><mml:mrow><mml:mo stretchy="false">&#x2194;</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mtext>                                                  &#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>K</mml:mtext></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>a</mml:mi><mml:mi>j</mml:mi><mml:mi>a</mml:mi><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:mover></mml:math></inline-formula>U<sub>ia</sub>)</p>
<p>A<sub>6</sub>: U<sub>ia</sub>&#x007C;&#x2261; &#x0023;(R<sub>2</sub>),&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;A<sub>12</sub>: U<sub>ia</sub>&#x007C;&#x2261; (V<sub>ja</sub><inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mover><mml:mrow><mml:mo stretchy="false">&#x2194;</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mtext>                                                  &#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>K</mml:mtext></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>a</mml:mi><mml:mi>j</mml:mi><mml:mi>a</mml:mi><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /><mml:mspace width="thickmathspace" /></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:mover></mml:math></inline-formula>U<sub>ia</sub>)
<list list-type="simple">
<list-item><label>4)</label><p><italic>Proof</italic></p></list-item>
</list></p>
<p>Now to verify each statement, take message<sub>1</sub>, and assumption 2, i.e.,</p>
<p>Seeing1: U<sub>ia</sub>&#x22B2;<inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>3</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>4</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>  S</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>R</mml:mtext></mml:mrow><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></p>
<p>From seeing<sub>1</sub> and assumption 1, we get</p>
<p>Seeing<sub>2</sub>: CSS&#x007C;&#x2261;U<sub>ia</sub><bold>&#x007C;&#x223C;</bold> <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>3</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>4</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>  S</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>R</mml:mtext></mml:mrow><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></p>
<p>Now, taking freshness and assumption 1, we get</p>
<p>Seeing<sub>3</sub>: CSS&#x007C;&#x2261;U<sub>ia</sub>&#x007C;&#x2261; &#x0023;(<inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>3</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>4</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>  S</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>R</mml:mtext></mml:mrow><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>)</p>
<p>From S<sub>2</sub> and S<sub>3</sub> along with nonce verification rule</p>
<p>Seeing<sub>4</sub>: CSS&#x007C;&#x2261;U<sub>ia</sub>&#x007C;&#x2261;(<inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>3</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>4</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>  S</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>R</mml:mtext></mml:mrow><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>)</p>
<p>Taking S<sub>4</sub> along with the belief rule</p>
<p>Seeing<sub>5</sub>: CSS&#x007C;&#x2261;(R<sub>1</sub>)&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;<bold>G<sub>1</sub> Achieved</bold></p>
<p>From S<sub>5</sub>, assumption 5, and jurisdictional rule</p>
<p>Seeing<sub>6</sub>: U<sub>ia</sub>&#x007C;&#x2261;(R<sub>1</sub>)&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;<bold>G<sub>2</sub> Achieved</bold></p>
<p>Taking message<sub>2</sub>, assumption 3, we get</p>
<p>Seeing<sub>7</sub>: V<sub>ja</sub>&#x22B2;<inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>5</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>6</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>7</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>    S</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:msubsup><mml:mrow><mml:mtext>R</mml:mtext></mml:mrow><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula></p>
<p>From S<sub>7</sub> and assumption 1, we get</p>
<p>Seeing<sub>8</sub>: V<sub>ja</sub>&#x007C;&#x2261;CSS&#x007C;&#x2261;<inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>5</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>6</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>7</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>    S</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:msubsup><mml:mrow><mml:mtext>R</mml:mtext></mml:mrow><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula></p>
<p>From S<sub>8</sub>, assumption 2 and freshness rule</p>
<p>Seeing<sub>9</sub>: V<sub>ja</sub>&#x007C;&#x2261;CSS&#x007C;&#x2261; &#x0023;(<inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>5</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>6</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>7</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>    S</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:msubsup><mml:mrow><mml:mtext>R</mml:mtext></mml:mrow><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>)</p>
<p>From S<sub>9</sub> and nonce verification rule</p>
<p>Seeing<sub>10</sub>: V<sub>ja</sub>&#x007C;&#x2261;CSS&#x007C;&#x2261;(<inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>5</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>6</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>7</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>    S</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:msubsup><mml:mrow><mml:mtext>R</mml:mtext></mml:mrow><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>)</p>
<p>From S<sub>10</sub> and belief rule</p>
<p>Seeing<sub>11</sub>: CSS&#x007C;&#x2261;(R<sub>1</sub><sup>/</sup>)&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;<bold>G<sub>4</sub> Achieved</bold></p>
<p>From S<sub>10</sub>, belief rule, and assumption 3, we get</p>
<p>Seeing<sub>12:</sub>V<sub>ja</sub>&#x007C;&#x2261;(R<sub>1</sub><sup>/</sup>)&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;<bold>G<sub>3</sub> Achieved</bold></p>
<p>Taking message<sub>3</sub> and assumption 5, we get</p>
<p>Seeing<sub>13</sub>: V<sub>ja</sub>&#x22B2;<inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>8</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>9</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mrow><mml:mn>10</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>    S</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mn>3</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>R</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and U<sub>ia</sub>&#x22B2;<inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>8</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>9</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mrow><mml:mn>10</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>    S</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mn>3</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>R</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></p>
<p>From S<sub>13</sub>, along with the belief rule, we get</p>
<p>Seeing<sub>14</sub>: V<sub>ja</sub>&#x007C;&#x2261;U<sub>ia</sub>&#x007C;&#x2261;<inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>8</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>9</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mrow><mml:mn>10</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>    S</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mn>3</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>R</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></p>
<p>From S<sub>14</sub>&#x00AD;, assumption 6, along with the freshness rule, we get</p>
<p>Seeing<sub>15</sub>: V<sub>ia</sub>&#x007C;&#x2261;U<sub>ia</sub> &#x0023;(<inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>8</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>9</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mrow><mml:mn>10</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>    S</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mn>3</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>R</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>)</p>
<p>From S<sub>15&#x00AD;</sub>, along with nonce verification</p>
<p>Seeing<sub>16</sub>: V<sub>ia</sub>&#x007C;&#x2261;U<sub>ia</sub>&#x007C;&#x2261;(<inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>8</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mn>9</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>M</mml:mtext></mml:mrow><mml:mrow><mml:mn>10</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mtext>    S</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow><mml:mn>3</mml:mn></mml:msub></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext>R</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>)</p>
<p>From S<sub>16</sub>, assumption 5, along with the belief rule</p>
<p>Seeing<sub>17</sub>: V<sub>ia&#x00AD;</sub>&#x007C;&#x2261;(R<sub>2</sub>)&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;<bold>G<sub>5</sub> Achieved</bold></p>
<p>From S<sub>17</sub> and belief rule</p>
<p>Seeing<sub>18</sub>: U<sub>ia</sub>&#x007C;&#x2261;(R<sub>2</sub>)&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;&#x2002;<bold>G<sub>6</sub> Achieved</bold></p>
<p>Therefore, from this proof, it has been cleared that the keys exchanges between the user, control station server (CSS), and the drone are fully authenticated by each peer, and no one can compromise its integrity at any stage during communication.</p>
</sec>
<sec id="s5_1_2"><label>5.1.2</label><title>ProVerif2.02 Simulation</title>
<p>To check the proposed protocol&#x2019;s security, a verification software toolkit [<xref ref-type="bibr" rid="ref-35">35</xref>] is now used to confirm its reachability and authorization. The coding is explained in different parts as given as:</p>
<p><bold><italic><monospace>(&#x002A;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D; CHANNELS &#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x002A;)</monospace></italic></bold></p>
<p><italic><monospace>free</monospace> <monospace>MySecCh:channel [private].</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>MyPubCh:channel<bold>.</bold></monospace></italic></p>
<p><bold><italic><monospace>(&#x002A;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D; CONSTANTS &#x0026; VARIABLES &#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x002A;)</monospace></italic></bold></p>
<p><italic><monospace>free</monospace> <monospace>SK:bitstring [private].</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>IDia</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>PWia</monospace> <monospace>:bitstring [private].</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>CR</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>BIOia</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>pia</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>siia</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>s</monospace> <monospace>:bitstring [private].</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>l</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>IDja</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>R1</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>R1dash</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>R2</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>ST1</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>ST2</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>ST3</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>Aidash:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>Tc</monospace> <monospace>:bitstring [private].</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>deltaT</monospace> <monospace>:bitstring [private].</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>BIOiadash</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>piiadash</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>siadash</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>PIDiam</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>PIDs</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>IDs</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>Ai</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>PIDja</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>Ajdash</monospace> <monospace>:bitstring.</monospace></italic></p>
<p><italic><monospace>free</monospace> <monospace>Aj</monospace> <monospace>:bitstring<bold>.</bold></monospace></italic></p>
<p><bold><italic><monospace>(&#x002A;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D; EVENTS &#x0026; QUERIES&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x002A;)</monospace></italic></bold></p>
<p><italic><monospace>event</monospace> <monospace>start_Uia(bitstring).</monospace></italic></p>
<p><italic><monospace>event</monospace> <monospace>end_Uia(bitstring).</monospace></italic></p>
<p><italic><monospace>event</monospace> <monospace>start_CSS(bitstring).</monospace></italic></p>
<p><italic><monospace>event</monospace> <monospace>end_CSS(bitstring).</monospace></italic></p>
<p><italic><monospace>event</monospace> <monospace>start_Vja(bitstring).</monospace></italic></p>
<p><italic><monospace>event</monospace> <monospace>end_Vja(bitstring).</monospace></italic></p>
<p><italic><monospace>query</monospace> <monospace>attacker(SK).</monospace></italic></p>
<p><italic><monospace>query</monospace> <monospace>id:bitstring; inj-event(end_Uia(id)) &#x003D;&#x003D;&#x003E;inj-event(start_Uia(id)).</monospace></italic></p>
<p><italic><monospace>query</monospace> <monospace>id:bitstring; inj-event(end_CSS(id)) &#x003D;&#x003D;&#x003E;inj-event(start_CSS(id)).</monospace></italic></p>
<p><italic><monospace>query</monospace> <monospace>id:bitstring; inj-event(end_Vja(id)) &#x003D;&#x003D;&#x003E;inj-event(start_Vja(id)).</monospace></italic></p>
<p><bold><italic><monospace>(&#x002A;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D; CONSTRUCTORS &#x0026; FUNCTIONS &#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x002A;)</monospace></italic></bold></p>
<p><italic><monospace>fun</monospace> <monospace>h(bitstring):bitstring.&#x00A0;</monospace></italic></p>
<p><italic><monospace>fun</monospace> <monospace>Concat(bitstring,bitstring):bitstring.</monospace></italic></p>
<p><italic><monospace>fun</monospace> <monospace>Concat3(bitstring,bitstring,bitstring):bitstring.</monospace></italic></p>
<p><italic><monospace>fun</monospace> <monospace>Concat4(bitstring,bitstring,bitstring,bitstring):bitstring.</monospace></italic></p>
<p><italic><monospace>fun</monospace> <monospace>Enc(bitstring,bitstring):bitstring.</monospace></italic></p>
<p><italic><monospace>fun</monospace> <monospace>Dec(bitstring,bitstring):bitstring.</monospace></italic></p>
<p><italic><monospace>fun</monospace> <monospace>XOR(bitstring,bitstring):bitstring.&#x00A0;</monospace></italic></p>
<p><italic><monospace>fun</monospace> <monospace>Encr1(bitstring):bitstring.</monospace></italic></p>
<p><italic><monospace>fun</monospace> <monospace>Encr2(bitstring):bitstring.</monospace></italic></p>
<p><italic><monospace>fun</monospace> <monospace>Decl(bitstring):bitstring.</monospace></italic></p>
<p><italic><monospace>fun</monospace> <monospace>Decll(bitstring):bitstring.</monospace></italic></p>
<p><italic><monospace>fun</monospace> <monospace>Gen(bitstring):bitstring<bold>.</bold></monospace></italic></p>
<p><italic><monospace>fun</monospace> <monospace>Rep(bitstring,bitstring):bitstring<bold>.</bold></monospace></italic></p>
<p><bold><italic><monospace>(&#x002A;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D; EQUATIONS &#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x002A;)</monospace></italic></bold></p>
<p><italic><monospace>equation</monospace> <monospace>forall</monospace> <monospace>a:bitstring, b:bitstring; XOR(XOR(a,b),b)&#x003D;a.</monospace></italic></p>
<p><italic><monospace>equation</monospace> <monospace>forall</monospace> <monospace>m:bitstring, key:bitstring; Dec(Enc(m, key), key)&#x003D;m.</monospace></italic></p>
<p><bold><italic><monospace>(&#x002A;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;USER Uia&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x002A;)</monospace></italic></bold></p>
<p><italic><monospace>let</monospace> <monospace>Uia&#x003D;</monospace></italic></p>
<p><italic><monospace>eventstart_Uia(IDia);</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>piiiadash</monospace> <monospace>&#x003D;Rep(BIOiadash, siia) in</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>PIDia&#x003D;XOR(PIDiam, (h(Concat(IDia, PWia)))) in</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>M1&#x003D;XOR(PIDia, (h(Concat(PIDs, ST1)))) in</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>M2&#x003D;XOR(R1, (h(Concat3(PIDia, PIDs, Ai)))) in</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>M3&#x003D;h(Concat4(PIDia, PIDs, Ai,XOR(R1,PIDja))) in</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>M4&#x003D;h(Concat4(PIDia, PIDja, PIDs, Concat(Ai, R1))) in</monospace></italic></p>
<p><italic><monospace>out(MyPubCh,(M1, M2, M3, M4, ST1));</monospace></italic></p>
<p><italic><monospace>in(MyPubCh,(M8:bitstring,M9:bitstring,M10:bitstring,ST33:bitstring));</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>R2dash&#x003D;XOR(M8, (h(Concat3(PIDja, PIDia, R1)))) in</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>M9dash&#x003D;h(Concat(R1, R2dash)) in</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>M10dash&#x003D;h(Concat4(PIDia, PIDja, PIDs, Concat(R1, R2dash))) in</monospace></italic></p>
<p><italic><monospace>if</monospace> <monospace>M10dash&#x003D;M10</monospace> <monospace>then</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>SKiaja&#x003D;h(Concat4(PIDia, PIDja, PIDs, M9dash)) in</monospace></italic></p>
<p><italic><monospace>event</monospace> <monospace>end_Uia(IDia)</monospace></italic></p>
<p><italic><monospace>else</monospace></italic></p>
<p><italic><monospace>0.</monospace></italic></p>
<p><bold><italic><monospace>(&#x002A;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;CONTROL SERVER STATION (CSS)&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x002A;)</monospace></italic></bold></p>
<p><italic><monospace>let</monospace> <monospace>CSS&#x003D;</monospace></italic></p>
<p><italic><monospace>eventstart_CSS(IDs);</monospace></italic></p>
<p><italic><monospace>in(MyPubCh,(M1:bitstring,M2:bitstring,M3:bitstring,M4:bitstring,ST11: &#x2002;&#x2002;&#x2002;bitstring));</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>PIDiadash&#x003D;XOR(M1,(h(Concat(PIDs,ST1)))) in</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>R11dash&#x003D;XOR(M2, (h(Concat3(PIDiadash, PIDs, Aidash)))) in</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>PIDjadash&#x003D;XOR(M3, (h(Concat4(PIDiadash, PIDs, Aidash, R1dash)))) &#x2002;&#x2002;&#x2002;in</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>M4dash&#x003D;h(Concat4(PIDiadash, PIDjadash, PIDs, Concat(Aidash, R1dash))) &#x2002;&#x2002;&#x2002;in</monospace></italic></p>
<p><italic><monospace>if</monospace> <monospace>M4dash&#x003D;M4</monospace> <monospace>then</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>M5&#x003D;h(Concat3(PIDjadash, Ajdash,XOR(ST2,R1dash))) &#x2002;&#x2002;&#x2002;in</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>M6&#x003D;h(Concat4(PIDjadash, PIDs, Ajdash, XOR(R1dash,PIDiadash))) in</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>M7&#x003D;h(Concat4(PIDiadash, PIDjadash, PIDs, Concat(Ajdash, R1dash))) in</monospace></italic></p>
<p><italic><monospace>out(MyPubCh,(M5, M6, M7,ST2));</monospace></italic></p>
<p><italic><monospace>event</monospace> <monospace>end_CSS(IDs)</monospace></italic></p>
<p><italic><monospace>else</monospace></italic></p>
<p><italic><monospace>0.</monospace></italic></p>
<p><bold><italic><monospace>(&#x002A;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;DRONE (Vja)&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x002A;)</monospace></italic></bold></p>
<p><italic><monospace>let</monospace> <monospace>Vja&#x003D;</monospace></italic></p>
<p><italic><monospace>eventstart_Vja(IDja);</monospace></italic></p>
<p><italic><monospace>in(MyPubCh,(M5:bitstring,M6:bitstring,M7:bitstring,ST111:bitstring));</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>R1dash2&#x003D;XOR(M5, (h(Concat(PIDja, Aj)))) in</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>PIDiadash2&#x003D;XOR(M6, (h(Concat4(PIDja, PIDs, Aj, R1dash2)))) in</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>M7dash&#x003D;h(Concat4(PIDiadash2, PIDs, Aj, R1dash2)) in</monospace></italic></p>
<p><italic><monospace>if</monospace> <monospace>M7dash&#x003D;M7</monospace> <monospace>then</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>M8&#x003D;h(Concat3(PIDja, PIDiadash2, XOR(ST3, R2))) in</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>M9&#x003D;h(Concat(R1dash2, R2)) in</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>SKiaja&#x003D;h(Concat4(PIDiadash2, PIDja, PIDs, M9)) in</monospace></italic></p>
<p><italic><monospace>let</monospace> <monospace>M10&#x003D;h(Concat4(PIDiadash2, PIDja, PIDs, Concat3(R1dash2, R2, M9))) &#x2002;&#x2002;&#x2002;in</monospace></italic></p>
<p><italic><monospace>out(MyPubCh,(M8,M9,M10,ST3));</monospace></italic></p>
<p><italic><monospace>event</monospace> <monospace>end_Vja(IDja)</monospace></italic></p>
<p><italic><monospace>else</monospace></italic></p>
<p><italic><monospace>0.</monospace></italic></p>
<p><italic><monospace>process</monospace> <monospace>((!Uia) &#x007C; (!CSS) &#x007C; (!Vja))</monospace></italic></p>
<p><bold>SIMULATION RESULT</bold></p>
<p>Upon running the code, the following result shows that the attacker could not figure out the secret session key at any stage during communication.</p>
<p><monospace>----------------------------------------------------------------</monospace></p>
<p><italic><monospace>Completing</monospace> <monospace>equations&#x2026;</monospace></italic></p>
<p><italic><monospace>Completing</monospace> <monospace>equations&#x2026;</monospace></italic></p>
<p><italic><monospace>-- Process 1-- Query not attacker(SK[]) in process 1</monospace></italic></p>
<p><italic><monospace>Translating</monospace> <monospace>the</monospace> <monospace>process</monospace> <monospace>into</monospace> <monospace>Horn</monospace> <monospace>clauses&#x2026;</monospace></italic></p>
<p><italic><monospace>Completing&#x2026;</monospace></italic></p>
<p><italic><monospace>Starting</monospace> <monospace>query</monospace> <monospace>not</monospace> <monospace>attacker(SK[])</monospace></italic></p>
<p><italic><monospace>RESULT</monospace> <monospace>not</monospace> <monospace>attacker(SK[]) is true.</monospace></italic></p>
<p><italic><monospace>RESULT</monospace> <monospace>inj-event(end_Uia(id)) &#x003D;&#x003D;&#x003E;inj-event(start_Uia(id)) is true.</monospace></italic></p>
<p><italic><monospace>RESULT</monospace> <monospace>inj-event(end_Vja(id)) &#x003D;&#x003D;&#x003E;inj-event(start_Vja(id)) is true.</monospace></italic></p>
<p><italic><monospace>---------------------------------------------------------</monospace></italic></p>
<p><italic><monospace>Verification</monospace> <monospace>summary:</monospace></italic></p>
<p><italic><monospace>Query</monospace> <monospace>not</monospace> <monospace>attacker(SK[]) is true.</monospace></italic></p>
<p><italic><monospace>Query</monospace> <monospace>inj-event(end_Uia(id)) &#x003D;&#x003D;&#x003E;inj-event(start_Uia(id)) is true.</monospace></italic></p>
<p><italic><monospace>Query</monospace> <monospace>inj-event(end_CSS(id)) &#x003D;&#x003D;&#x003E;inj-event(start_CSS(id)) is true.</monospace></italic></p>
<p><italic><monospace>Query</monospace> <monospace>inj-event(end_Vja(id)) &#x003D;&#x003D;&#x003E;inj-event(start_Vja(id)) is true.</monospace></italic></p>
<p><italic><monospace>---------------------------------------------------------</monospace></italic></p>
<p><bold><monospace>(&#x002A;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x003D;&#x002A;)</monospace></bold></p>
</sec>
</sec>
<sec id="s5_2"><label>5.2</label><title>Informal Security Analysis</title>
<p>Suppose an adversary has full power by entering the open channel for eavesdropping, altering, deleting, or updating the message exchange between participants. Then how the proposed authentication protocol can resist such known flaws [<xref ref-type="bibr" rid="ref-36">36</xref>]. We will discuss such suppositions one by one here in this section of the paper.</p>
<sec id="s5_2_1"><label>5.2.1</label><title>Resists Privileged Insider Attack</title>
<p>Firstly, the control station server (CSS) chooses a big random number l of 160-bits, and a 160-bits secrete number s, collision-free one-way hash function h(.): &#x007B;0, 1&#x007D;&#x002A;&#x2208;Z<sub>q</sub>&#x002A; and public parameters pms. Secondly, messages exchanged between U<sub>ia</sub> &#x2192; CSS, CSS &#x2192; V&#x00AD;<sub>ja</sub> and V<sub>ja</sub> &#x2192; U<sub>ia</sub>, i.e., &#x007B;M<sub>1</sub>, M<sub>2</sub>, M<sub>3</sub>, M<sub>4</sub>, ST<sub>1</sub>&#x007D;, &#x007B;M<sub>5</sub>, M<sub>6</sub>, M<sub>7</sub>, ST<sub>2</sub>&#x007D; and &#x007B;M<sub>8</sub>, M<sub>9</sub>, M<sub>10</sub>, ST<sub>3</sub>&#x007D; are in encrypted form in which an insider (let be a privileged one) cannot figure out the internal credentials. Because l is used for encryption, s for decryption purposes and insiders cannot identify anything from it. Also, the exchange among participants is entirely unreadable, so he/she failed to identify the identity or password from the stored information. Therefore, the proposed protocol shows resistance to privileged insider attacks.</p>
</sec>
<sec id="s5_2_2"><label>5.2.2</label><title>Stolen Verifier Attack</title>
<p>Suppose an adversary steals the information from the shared memory and tries to compute identity and other information. Due to exchanging of random numbers R<sub>1</sub>, R<sub>1</sub><sup>/</sup>, R<sub>2</sub>, R<sub>1</sub><sup>//</sup> on each communication, the attacker failed to do so. Similarly, it is hard for him/her to find the big 160-bits random numbers, as these numbers are linked with ID<sub>ia</sub>, ID<sub>ja</sub>, ID<sub>s</sub>, PID<sub>ia</sub>, PID<sub>ja</sub>, PID<sub>s</sub>, biometric (BIO<sub>ia</sub>), and password (PW<sub>ia</sub>). Therefore, the proposed protocol resists stolen verifier attacks.</p>
</sec>
<sec id="s5_2_3"><label>5.2.3</label><title>Replay Attack</title>
<p>Let suppose if an attacker copies message &#x007B;M<sub>1</sub>, M<sub>2</sub>, M<sub>3</sub>, M<sub>4</sub>, ST<sub>1</sub>&#x007D; from a communication channel and desires to replay it at some other time. At this stage, due to the involvement of random numbers and timestamps, the system can quickly identify the replay message and discards such request. The attacker can do the same also for other messages, i.e., &#x007B;M<sub>5</sub>, M<sub>6</sub>, M<sub>7</sub>, ST<sub>2</sub>&#x007D; and &#x007B;M<sub>8</sub>, M<sub>&#x00AD;9</sub>, M<sub>10</sub>, ST<sub>3</sub>&#x007D;. Therefore, the proposed authentication protocol shows resilience to replay attacks.</p>
</sec>
<sec id="s5_2_4"><label>5.2.4</label><title>Untraceability</title>
<p>The drone or user starts each session with different session keys; let us suppose, if an adversary can record the session of a user/drone and tries to record another session at some other time, he/she may find a different session key. We can say that the adversary cannot figure out the same credentials from these session keys for which he/she can identify the exact location or trace user/drone. Therefore, the proposed authentication scheme is untraceable.</p>
</sec>
<sec id="s5_2_5"><label>5.2.5</label><title>Anonymity</title>
<p>Due to the dynamic identities, random numbers, and timestamps, each time a message transmission over a public channel can be performed dynamically. If an adversary desires to copy one message in T<sub>A</sub> and another message from the same line on time T<sub>A</sub><sup>/</sup>, he/she cannot identify the surrounding of a user/drone because different messages are communicated between the participants each time. Therefore, the proposed protocol preserves anonymity security features.</p>
</sec>
<sec id="s5_2_6"><label>5.2.6</label><title>DoS Attack</title>
<p>If an adversary copy &#x007B;M<sub>5</sub>, M<sub>6</sub>, M<sub>7</sub>, ST<sub>2</sub>&#x007D; and chooses timestamp ST<sub>A</sub> and the CSS passed T<sub>c</sub>-ST<sub>A</sub>&#x2264;&#x0394;T, computes PID<sub>ia</sub><sup>/</sup>&#x2009;&#x003D;&#x2009;M<sub>1</sub>&#x2295;h(PID<sub>s</sub>&#x007C;&#x007C;ST<sub>A</sub>), retrieves A<sub>i</sub><sup>/</sup> and calculates R<sub>1</sub><sup>/</sup>&#x2009;&#x003D;&#x2009;M<sub>2</sub>&#x2295;h (PID<sub>ia</sub><sup>/</sup>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;A<sub>i</sub><sup>/</sup>),PID<sub>ja</sub><sup>/</sup>&#x2009;&#x003D;&#x2009;M<sub>3</sub>&#x2295;h (PID<sub>ia</sub><sup>/</sup>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;A<sub>i</sub><sup>/</sup>&#x007C;&#x007C;R<sub>1</sub><sup>/</sup>) and M<sub>4</sub><sup>/</sup>&#x2009;&#x003D;&#x2009;h(PID<sub>ia</sub><sup>/</sup>&#x007C;&#x007C;PID<sub>ja</sub><sup>/</sup>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;A<sub>i</sub><sup>/</sup>&#x007C;&#x007C;R<sub>1</sub><sup>/</sup>). Next server has to match M<sub>4</sub><sup>/</sup>?&#x2009;&#x003D;&#x2009;M<sub>4</sub>, which is not possible. So, in such situations, the process is terminated and stops further computations. Similarly, if an adversary selects T<sub>A</sub>, catch message &#x007B;M<sub>8</sub>, M<sub>&#x00AD;9</sub>, M<sub>10</sub>, ST<sub>A</sub>&#x007D; and transmits it towards drone (V<sub>ja</sub>). Next drone suppose can successfully perform T<sub>c</sub>-ST<sub>A</sub>&#x2264;&#x0394;T and computes R<sub>1</sub><sup>//</sup>&#x2009;&#x003D;&#x2009;M<sub>5</sub> &#x2295;h(PID<sub>ja</sub>&#x007C;&#x007C;A<sub>j</sub>),PID<sub>ia</sub><sup>//</sup>&#x2009;&#x003D;&#x2009;M<sub>6</sub> &#x2295; h (PID<sub>ja</sub>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;A<sub>j</sub>&#x007C;&#x007C;R<sub>1</sub><sup>//</sup>), and M<sub>7</sub><sup>/</sup>&#x2009;&#x003D;&#x2009;h (PID<sub>ia</sub><sup>//</sup>&#x007C;&#x007C;PID<sub>ja</sub>&#x007C;&#x007C;PID<sub>s</sub>&#x007C;&#x007C;A<sub>j</sub>&#x007C;&#x007C;R<sub>1</sub><sup>//</sup>). Now, check M<sub>7</sub><sup>/</sup>with M<sub>7</sub> and if not match then the connection will terminate. Therefore, the proposed protocol is strong against DoS attack.</p>
</sec>
<sec id="s5_2_7"><label>5.2.7</label><title>Drone Capture Attack</title>
<p>Due to unique credentials stored in the memory of a remote drone and distinct session key established among drone, user, and CSS in the network, attackers at any stage cannot capture or divert a drone towards itself. Therefore, the proposed protocol resists drone captures attacks. Similarly, a drone might be required to engage in dangerous situations where it is abandoned during military mission delivery, making it vulnerable to physical capture and traditional cyber threats. An adversary uses white-box attack capabilities to completely control the internal credentials, figure outing identity, and execute the cryptography modules in static and dynamic ways, including all side-channel information. Therefore, the proposed protocol had guaranteed not to disclose any parameters when someone takedown/captured a drone physically.</p>
</sec>
<sec id="s5_2_8"><label>5.2.8</label><title>Resists Side-Channel Attack</title>
<p>Due to being less dependent on fundamental values, confirmation of values at different stages of the protocol, and computing the session shared key randomly for each session which leads to the sequence of operations changing, can generally make the proposed protocol better to resist side-channel attack.</p>
</sec>
</sec>
</sec>
<sec id="s6"><label>6</label><title>Performance and Comparison Analysis</title>
<p>In this section, the performance analysis/evaluation of the proposed authentication protocol can be performed from the perspective of storage overheads, computation, and communication costs by keeping the already experiment conducted by [<xref ref-type="bibr" rid="ref-37">37</xref>], which are as under:</p>
<sec id="s6_1"><label>6.1</label><title>Storage Overheads Analysis</title>
<p>The storage overheads mean the parameters stored during the registration phase of the proposed scheme. In this regard, ID<sub>ia</sub>, ID<sub>ja</sub>, ID<sub>s</sub>, and PW<sub>ia</sub> are stored in 64 bits, each of a total sum of 256 bits in memory space. Biometric keys (&#x03C3;<sub>ia</sub>, &#x03C4;<sub>ia</sub>) are in 128-bit space; timestamp takes 56 bits space, R<sub>1</sub>, R<sub>1</sub><sup>/</sup>, R<sub>1</sub><sup>//</sup>, R<sub>2</sub> needs 160&#x2009;&#x002B;&#x2009;160&#x2009;&#x002B;&#x2009;160&#x2009;&#x002B;&#x2009;160&#x2009;&#x003D;&#x2009;640 bits, <italic>l</italic>, and <italic>s</italic> needs 320 bits space. Encryption/Decryption functions require every 192 bits, a total sum of 384 bits. Therefore, the storage overheads cost of the proposed authentication protocol is 1784 bits.</p>
</sec>
<sec id="s6_2"><label>6.2</label><title>Computation Cost Analysis</title>
<p>The computation cost can be analyzed by keeping in view the experiment done by [<xref ref-type="bibr" rid="ref-37">37</xref>]. According to [<xref ref-type="bibr" rid="ref-24">24</xref>], during the selection of a random numbers the CPU consume 0.539&#x2005;ms (total random numbers 6 (6&#x2009;&#x00D7;&#x2009;0539&#x2009;&#x003D;&#x2009;3.234&#x2005;ms)), public-key encryption 3.8500&#x2005;ms (3&#x2009;&#x00D7;&#x2009;3.8500&#x2009;&#x003D;&#x2009;11.55&#x2005;ms), decryption 3.8500&#x2005;ms (3&#x2009;&#x00D7;&#x2009;3.8500&#x2009;&#x003D;&#x2009;11.55&#x2005;ms), hashing 0.0023&#x2005;ms (24&#x2009;&#x00D7;&#x2009;0.0023&#x2009;&#x003D;&#x2009;0.0552&#x2005;ms), multiplication 2.226&#x2005;ms (2&#x2009;&#x00D7;&#x2009;2.226&#x2009;&#x003D;&#x2009;4.452&#x2005;ms), and addition 0.0288&#x2005;ms (11&#x2009;&#x00D7;&#x2009;0.0288&#x2009;&#x003D;&#x2009;0.3168&#x2005;ms). The estimated cost for hash-based message authentication is 0.0056&#x2005;ms. Therefore, the final computation cost for the proposed authentication scheme is 31.158&#x2005;ms.</p>
<table-wrap id="table-3"><label>Table 3</label><caption><title>Comparison analysis</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left" colspan="5">Protocol</th>
</tr>
<tr>
<th align="left">Parameters</th>
<th align="left">[<xref ref-type="bibr" rid="ref-20">20</xref>]</th>
<th align="left">[<xref ref-type="bibr" rid="ref-26">26</xref>]</th>
<th align="left">[<xref ref-type="bibr" rid="ref-27">27</xref>]</th>
<th align="left">[<xref ref-type="bibr" rid="ref-14">14</xref>]</th>
<th align="left">Our</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Storage-Overheads in bits</td>
<td align="left">4256</td>
<td align="left">2756</td>
<td align="left">1472</td>
<td align="left">1656</td>
<td align="left">1784</td>
</tr>
<tr>
<td align="left">Computation cost in ms</td>
<td align="left">39.092</td>
<td align="left">26.70</td>
<td align="left">31.001</td>
<td align="left">44.794</td>
<td align="left">31.158</td>
</tr>
<tr>
<td align="left">Communication cost in Bits</td>
<td align="left">4256</td>
<td align="left">1536</td>
<td align="left">3088</td>
<td align="left">2292</td>
<td align="left">2728</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s6_3"><label>6.3</label><title>Communication Cost Analysis</title>
<p>Based on [<xref ref-type="bibr" rid="ref-37">37</xref>], the messages exchanged among all the participants over the public network channel can be considered communication costs. The communication cost for the first message is 1080bits (&#x007B;M<sub>1</sub>, M<sub>2</sub>, M<sub>3</sub>, M<sub>4</sub>, ST<sub>1</sub>&#x007D;&#x2009;&#x003D;&#x2009;256&#x2009;&#x002B;&#x2009;256&#x2009;&#x002B;&#x2009;256&#x2009;&#x002B;&#x2009;256&#x2009;&#x002B;&#x2009;56&#x2009;&#x003D;&#x2009;1080 bits), second and 3<sup>rd</sup> are 824 each (&#x007B;M<sub>5</sub>, M<sub>6</sub>, M<sub>7</sub>, ST<sub>2</sub>&#x007D;&#x2009;&#x003D;&#x2009;256&#x2009;&#x002B;&#x2009;256&#x2009;&#x002B;&#x2009;256&#x2009;&#x002B;&#x2009;56&#x2009;&#x003D;&#x2009;824 bits, &#x007B;M<sub>8</sub>, M<sub>9</sub>, M<sub>10</sub>, ST<sub>3</sub>&#x007D;&#x2009;&#x003D;&#x2009;256&#x2009;&#x002B;&#x2009;256&#x2009;&#x002B;&#x2009;256&#x2009;&#x002B;&#x2009;56&#x2009;&#x003D;&#x2009;824 bits). Therefore, the total communication costs for the proposed authentication protocol are 2728 bits.</p>
</sec>
<sec id="s6_4"><label>6.4</label><title>Comparison Analysis</title>
<p>Comparing the proposed authentication protocol with state of the art protocols like Challa et al. [<xref ref-type="bibr" rid="ref-20">20</xref>], Seo et al. [<xref ref-type="bibr" rid="ref-26">26</xref>], Farash et al. [<xref ref-type="bibr" rid="ref-27">27</xref>], and Zhang et al. [<xref ref-type="bibr" rid="ref-14">14</xref>], the communication cost is slightly higher than [<xref ref-type="bibr" rid="ref-26">26</xref>], but it is much better in computation cost. The results are shown in <xref ref-type="table" rid="table-3">Tab. 3</xref>, followed by a graph in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>.</p>
<fig id="fig-3"><label>Figure 3</label><caption><title>Comparison Chart with state-of-the-art protocols</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_26179-fig-3.png"/></fig>
<p>Furthermore, the various sections in <xref ref-type="table" rid="table-4">Tab. 4</xref> represent the comparison of the proposed solutions with different security functionalities as given in Challa et al. [<xref ref-type="bibr" rid="ref-20">20</xref>], Seo et al. [<xref ref-type="bibr" rid="ref-26">26</xref>], Farash et al. [<xref ref-type="bibr" rid="ref-27">27</xref>], and Zhang et al. [<xref ref-type="bibr" rid="ref-14">14</xref>]. For example, in <xref ref-type="table" rid="table-4">Tab. 4</xref>, I represent the Physical Security of the Drone, II represents its security against Impersonation attack, III shows resistance to location threat, IV represents safe against stolen verifier attack, and V represents secure privileged insider threat.</p>
<table-wrap id="table-4"><label>Table 4</label><caption><title>Functionalities comparison analysis</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Security features</th>
<th align="center" rowspan="2">I</th>
<th align="center" rowspan="2">II</th>
<th align="center" rowspan="2">III</th>
<th align="center" rowspan="2">IV</th>
<th align="center" rowspan="2">V</th>
</tr>
<tr>
<th align="left">Protocol</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Challa et al. [<xref ref-type="bibr" rid="ref-20">20</xref>]</td>
<td align="left">X</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">X</td>
<td align="left">&#x2713;</td>
</tr>
<tr>
<td align="left">Seo et al. [<xref ref-type="bibr" rid="ref-26">26</xref>]</td>
<td align="left">&#x2713;</td>
<td align="left">X</td>
<td align="left">X</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
</tr>
<tr>
<td align="left">Farash et al. [<xref ref-type="bibr" rid="ref-27">27</xref>]</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">X</td>
<td align="left">X</td>
<td align="left">&#x2713;</td>
</tr>
<tr>
<td align="left">Zhang et al. [<xref ref-type="bibr" rid="ref-14">14</xref>]</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">X</td>
<td align="left">X</td>
<td align="left">X</td>
</tr>
<tr>
<td align="left">Our</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
<td align="left">&#x2713;</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s7"><label>7</label><title>Conclusion</title>
<p>The widespread usage of IoD technology and the non-availability of foolproof secure authentication protocols for the IoD environment motivates us to design a mutual authentication and cross-verification protocol. The current research work deeply examined different protocols available in the literature and highlighted the various flaws in Zhang et al. protocol. We then presented a PKI, XOR, and simple hash function-based protocol used for checksum at both ends. This cyclic checksum of hash functions has the capability of less storage and high security. Its performance is better than any other method because it allows mutual processing of public network channels between Drone-CSS, CSS-Drones, User-Drone, and CSS-Drone without loss of security. The proposed scenario&#x2019;s security has been verified formally using BAN logic of authentication. While the key secrecy, confidentiality, and reachability have been verified using the ProVerif2.02 toolkit. Moreover, the strength of the scheme has been discussed pragmatically in the informal analysis section of the paper. At the end of the article, the performance analysis section has been completed by considering three metrics storage, communication, and computation costs. Upon comparing the proposed scheme with state-of-the-art protocol, it has been shown that it is efficient and effective and can be recommended for practical implementation in the IoD environment.</p>
</sec>
</body>
<back>
<ack>
<p>The authors would like to express their sincere thanks to the University of Bisha, Bisha, Saudi Arabia, for the support provided during the research.</p>
</ack>
<fn-group>
<fn fn-type="other"><p><bold>Funding Statement:</bold> No funding has been received for conducting this research.</p></fn>
<fn fn-type="conflict"><p><bold>Conflicts of Interest:</bold> The authors declared that they have no conflict of interest.</p></fn>
</fn-group>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Gharibi</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Boutaba</surname></string-name> and <string-name><given-names>S. L.</given-names> <surname>Waslander</surname></string-name></person-group>, &#x201C;<article-title>Internet of drones</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>4</volume>, pp. <fpage>1148</fpage>&#x2013;<lpage>1162</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Chriki</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Touati</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Snoussi</surname></string-name> and <string-name><given-names>F.</given-names> <surname>Kamoun</surname></string-name></person-group>, &#x201C;<article-title>FANET: Communication, mobility models and security issues</article-title>,&#x201D; <source>Computer Networks</source>, vol. <volume>163</volume>, pp. <fpage>106877</fpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Yazdinejad</surname></string-name>, <string-name><given-names>R. M.</given-names> <surname>Parizi</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Dehghantanha</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Srivastava</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Mohan</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Cost optimization of secure routing with untrusted devices in software defined networking</article-title>,&#x201D; <source>Journal of Parallel and Distributed Computing</source>, vol. <volume>143</volume>, pp. <fpage>36</fpage>&#x2013;<lpage>46</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>J. R.</given-names> <surname>Vacca</surname></string-name></person-group>, <source>Computer and information security handbook</source>, Waltham, Massachusetts, USA, <publisher-name>Newnes</publisher-name>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>He</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Qiao</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Chan</surname></string-name> and <string-name><given-names>N.</given-names> <surname>Guizani</surname></string-name></person-group>, &#x201C;<article-title>Flight security and safety of drones in airborne fog computing systems</article-title>,&#x201D; <source>IEEE Communications Magazine</source>, vol. <volume>56</volume>, no. <issue>5</issue>, pp. <fpage>66</fpage>&#x2013;<lpage>71</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Chakraborty</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Alam</surname></string-name>, <string-name><given-names>V.</given-names> <surname>Dey</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Chattopadhyay</surname></string-name> and <string-name><given-names>D.</given-names> <surname>Mukhopadhyay</surname></string-name></person-group>, &#x201C;<article-title>Adversarial attacks and defences: A survey</article-title>,&#x201D; <italic>arXiv preprint arXiv:1810.00069</italic>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Stallings</surname></string-name></person-group>, <source>Cryptography and Network Security: Principles and Practice, 4th Edition</source>, <publisher-loc>India</publisher-loc>: <publisher-name>Pearson Education</publisher-name>, <year>2006</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Abdalla</surname></string-name>, <string-name><given-names>P. A.</given-names> <surname>Fouque</surname></string-name> and <string-name><given-names>D.</given-names> <surname>Pointcheval</surname></string-name></person-group>, &#x201C;<article-title>Password-based authenticated key exchange in the three-party setting</article-title>,&#x201D; <source>IEE Proceedings-Information Security</source>, vol. <volume>153</volume>, no. <issue>1</issue>, pp. <fpage>27</fpage>&#x2013;<lpage>39</lpage>, <year>2006</year>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Hayat</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Yanmaz</surname></string-name> and <string-name><given-names>R.</given-names> <surname>Muzaffar</surname></string-name></person-group>, &#x201C;<article-title>Survey on unmanned aerial vehicle networks for civil applications: A communications viewpoint</article-title>,&#x201D; <source>IEEE Communications Surveys &#x0026; Tutorials</source>, vol. <volume>18</volume>, no. <issue>4</issue>, pp. <fpage>2624</fpage>&#x2013;<lpage>2661</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Singh</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Gimekar</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Venkatesan</surname></string-name></person-group>, &#x201C;<article-title>An efficient lightweight authentication scheme for human-centered industrial internet of things</article-title>,&#x201D; <source>International Journal of Communication Systems</source>, pp. <fpage>e4189</fpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>R. A.</given-names> <surname>Addad</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Taleb</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Flinck</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Bagaa</surname></string-name> and <string-name><given-names>D.</given-names> <surname>Dutra</surname></string-name></person-group>, &#x201C;<article-title>Network slice mobility in next generation mobile systems: Challenges and potential solutions</article-title>,&#x201D; <source>IEEE Network</source>, vol. <volume>34</volume>, no. <issue>1</issue>, pp. <fpage>84</fpage>&#x2013;<lpage>93</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>V.</given-names> <surname>Chamola</surname></string-name>, <string-name><given-names>V.</given-names> <surname>Hassija</surname></string-name>, <string-name><given-names>V.</given-names> <surname>Gupta</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Guizani</surname></string-name></person-group>, &#x201C;<article-title>A comprehensive review of the COVID-19 pandemic and the role of IoT, drones, AI, blockchain, and 5G in managing its impact</article-title>,&#x201D; <source>Ieee Access</source>, vol. <volume>8</volume>, pp. <fpage>90225</fpage>&#x2013;<lpage>90265</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Pu</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Li</surname></string-name></person-group>, &#x201C;<article-title>Lightweight authentication protocol for unmanned aerial vehicles using physical unclonable function and chaotic system</article-title>,&#x201D; in <conf-name>2020 IEEE Int. Symp. on Local and Metropolitan Area Networks (LANMAN)</conf-name>, Orlando, FL, USA, <publisher-name>IEEE</publisher-name>, pp. <fpage>1</fpage>&#x2013;<lpage>6</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>D.</given-names> <surname>He</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Li</surname></string-name> and <string-name><given-names>B.</given-names> <surname>Chen</surname></string-name></person-group>, &#x201C;<article-title>A lightweight authentication and key agreement scheme for internet of drones</article-title>,&#x201D; <source>Computer Communications</source>, vol. <volume>154</volume>, pp. <fpage>455</fpage>&#x2013;<lpage>464</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Ali</surname></string-name>, <string-name><given-names>S. A.</given-names> <surname>Chaudhry</surname></string-name>, <string-name><given-names>M. S.</given-names> <surname>Ramzan</surname></string-name> and <string-name><given-names>F.</given-names> <surname>Al-Turjman</surname></string-name></person-group>, &#x201C;<article-title>Securing smart city surveillance: A lightweight authentication mechanism for unmanned vehicles</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>8</volume>, pp. <fpage>43711</fpage>&#x2013;<lpage>43724</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Srinivas</surname></string-name>, <string-name><given-names>A. K.</given-names> <surname>Das</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Kumar</surname></string-name> and <string-name><given-names>J. J.</given-names> <surname>Rodrigues</surname></string-name></person-group>, &#x201C;<article-title>TCALAS: Temporal credential-based anonymous lightweight authentication scheme for internet of drones environment</article-title>,&#x201D; <source>IEEE Transactions on Vehicular Technology</source>, vol. <volume>68</volume>, no. <issue>7</issue>, pp. <fpage>6903</fpage>&#x2013;<lpage>6916</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Ali</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Hussain</surname></string-name>, <string-name><given-names>R. H. U.</given-names> <surname>Rehman</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Munshi</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Liaqat</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>ITSSAKA-MS: An improved three-factor symmetric-key based secure AKA scheme for multi-server environments</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>8</volume>, pp. <fpage>107993</fpage>&#x2013;<lpage>108003</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Barman</surname></string-name>, <string-name><given-names>H. P.</given-names> <surname>Shum</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Chattopadhyay</surname></string-name> and <string-name><given-names>D.</given-names> <surname>Samanta</surname></string-name></person-group>, &#x201C;<article-title>A secure authentication protocol for multi-server-based e-healthcare using a fuzzy commitment scheme</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>7</volume>, pp. <fpage>12557</fpage>&#x2013;<lpage>12574</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B.</given-names> <surname>Bera</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Chattaraj</surname></string-name> and <string-name><given-names>A. K.</given-names> <surname>Das</surname></string-name></person-group>, &#x201C;<article-title>Designing secure blockchain-based access control scheme in IoT-enabled internet of drones deployment</article-title>,&#x201D; <source>Computer Communications</source>, vol. <volume>153</volume>, pp. <fpage>229</fpage>&#x2013;<lpage>249</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Challa</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Wazid</surname></string-name>, <string-name><given-names>A. K.</given-names> <surname>Das</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Kumar</surname></string-name>, <string-name><given-names>A. G.</given-names> <surname>Reddy</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Secure signature-based authenticated key establishment scheme for future IoT applications</article-title>,&#x201D; <source>Ieee Access</source>, vol. <volume>5</volume>, pp. <fpage>3028</fpage>&#x2013;<lpage>3043</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Hussain</surname></string-name>, <string-name><given-names>S. A.</given-names> <surname>Chaudhry</surname></string-name>, <string-name><given-names>O. A.</given-names> <surname>Alomari</surname></string-name>, <string-name><given-names>M. H.</given-names> <surname>Alsharif</surname></string-name>, <string-name><given-names>M. K.</given-names> <surname>Khan</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Amassing the security: An ECC-based authentication scheme for internet of drones</article-title>,&#x201D; <source>IEEE Systems Journal</source>, vol. <volume>15</volume>, no. <issue>3</issue>, pp. <fpage>4431</fpage>&#x2013;<lpage>4438</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Yahuza</surname></string-name>, <string-name><given-names>M. Y. I.</given-names> <surname>Idris</surname></string-name>, <string-name><given-names>A. W. A.</given-names> <surname>Wahab</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Nandy</surname></string-name>, <string-name><given-names>I. B.</given-names> <surname>Ahmedy</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>An edge assisted secure lightweight authentication technique for safe communication on the internet of drones network</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>9</volume>, pp. <fpage>31420</fpage>&#x2013;<lpage>31440</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>P.</given-names> <surname>Gope</surname></string-name> and <string-name><given-names>B.</given-names> <surname>Sikdar</surname></string-name></person-group>, &#x201C;<article-title>An efficient privacy-preserving authenticated key agreement scheme for edge-assisted internet of drones</article-title>,&#x201D; <source>IEEE Transactions on Vehicular Technology</source>, vol. <volume>69</volume>, no. <issue>11</issue>, pp. <fpage>13621</fpage>&#x2013;<lpage>13630</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Tian</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Yuan</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Song</surname></string-name></person-group>, &#x201C;<article-title>Efficient privacy-preserving authentication framework for edge-assisted internet of drones</article-title>,&#x201D; <source>Journal of Information Security and Applications</source>, vol. <volume>48</volume>, pp. <fpage>102354</fpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y. K.</given-names> <surname>Ever</surname></string-name></person-group>, &#x201C;<article-title>A secure authentication scheme framework for mobile-sinks used in the internet of drones applications</article-title>,&#x201D; <source>Computer Communications</source>, vol. <volume>155</volume>, pp. <fpage>143</fpage>&#x2013;<lpage>149</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S. H.</given-names> <surname>Seo</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Won</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Bertino</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Kang</surname></string-name> and <string-name><given-names>D.</given-names> <surname>Choi</surname></string-name></person-group>, &#x201C;<article-title>A security framework for a drone delivery service</article-title>,&#x201D; in <conf-name>Proc. of the 2Nd Workshop on Micro Aerial Vehicle Networks, Systems, and Applications for Civilian Use</conf-name>, Singapore, pp. <fpage>29</fpage>&#x2013;<lpage>34</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M. S.</given-names> <surname>Farash</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Turkanovi&#x0107;</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Kumari</surname></string-name> and <string-name><given-names>M.</given-names> <surname>H&#x00F6;lbl</surname></string-name></person-group>, &#x201C;<article-title>An efficient user authentication and key agreement scheme for heterogeneous wireless sensor network tailored for the internet of things environment</article-title>,&#x201D; <source>Ad Hoc Networks</source>, vol. <volume>36</volume>, pp. <fpage>152</fpage>&#x2013;<lpage>176</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>F.</given-names> <surname>Al-Turjman</surname></string-name>, <string-name><given-names>Y. K.</given-names> <surname>Ever</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Ever</surname></string-name>, <string-name><given-names>H. X.</given-names> <surname>Nguyen</surname></string-name> and <string-name><given-names>D. B.</given-names> <surname>David</surname></string-name></person-group>, &#x201C;<article-title>Seamless key agreement framework for mobile-sink in IoT based cloud-centric secured public safety sensor networks</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>5</volume>, pp. <fpage>24617</fpage>&#x2013;<lpage>24631</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-29"><label>[29]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Q.</given-names> <surname>Jiang</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Zeadally</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Ma</surname></string-name> and <string-name><given-names>D.</given-names> <surname>He</surname></string-name></person-group>, &#x201C;<article-title>Lightweight three-factor authentication and key agreement protocol for internet-integrated wireless sensor networks</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>5</volume>, pp. <fpage>3376</fpage>&#x2013;<lpage>3392</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-30"><label>[30]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y. K.</given-names> <surname>Ever</surname></string-name></person-group>, &#x201C;<article-title>Secure-anonymous user authentication scheme for e-healthcare application using wireless medical sensor networks</article-title>,&#x201D; <source>IEEE Systems Journal</source>, vol. <volume>13</volume>, no. <issue>1</issue>, pp. <fpage>456</fpage>&#x2013;<lpage>467</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-31"><label>[31]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J. H.</given-names> <surname>Cheon</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Han</surname></string-name>, <string-name><given-names>S. M.</given-names> <surname>Hong</surname></string-name>, <string-name><given-names>H. J.</given-names> <surname>Kim</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Kim</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Toward a secure drone system: Flying with real-time homomorphic authenticated encryption</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>6</volume>, pp. <fpage>24325</fpage>&#x2013;<lpage>24339</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-32"><label>[32]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Zhao</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Yin</surname></string-name>, <string-name><given-names>C. -H.</given-names> <surname>Chi</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Liu</surname></string-name>, and <string-name><given-names>Y.</given-names> <surname>Zhang</surname></string-name></person-group>, &#x201C;<article-title>A lightweight authentication scheme with privacy protection for smart grid communications</article-title>,&#x201D; <source>Future Generation Computer Systems</source>, vol. <volume>100</volume>, pp. <fpage>770</fpage>&#x2013;<lpage>778</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-33"><label>[33]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Teng</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Jianfeng</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Pengbin</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Yue</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Xindi</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Lightweight security authentication mechanism towards UAV networks</article-title>,&#x201D; in <conf-name>2019 Int. Conf. on Networking and Network Applications (NaNA)</conf-name>, Daegu, South Korea, <publisher-name>IEEE</publisher-name>, pp. <fpage>379</fpage>&#x2013;<lpage>384</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-34"><label>[34]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Burrows</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Abad</surname></string-name> and <string-name><given-names>R.</given-names> <surname>Needham</surname></string-name></person-group>, &#x201C;<article-title>A logic of authentication</article-title>,&#x201D; <source>ACM Transactions on Computer Systems</source>, vol. <volume>8</volume>, no. <issue>1</issue>, pp. <fpage>18</fpage>&#x2013;<lpage>36</lpage>, <year>1990</year>.</mixed-citation></ref>
<ref id="ref-35"><label>[35]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><given-names>B.</given-names> <surname>Blanchet</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Smyth</surname></string-name>, <string-name><given-names>V.</given-names> <surname>Cheval</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Sylvestre</surname></string-name></person-group>, &#x201C;<article-title>ProVerif 2.02-automatic cryptographic protocol verifier</article-title>,&#x201D; User Manual and Tutorial, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-36"><label>[36]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Dolev</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Yao</surname></string-name></person-group>, &#x201C;<article-title>On the security of public key protocols</article-title>,&#x201D; <source>IEEE Transactions on Information Theory</source>, vol. <volume>29</volume>, no. <issue>2</issue>, pp. <fpage>198</fpage>&#x2013;<lpage>208</lpage>, <year>1983</year>.</mixed-citation></ref>
<ref id="ref-37"><label>[37]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>K. -K. R.</given-names> <surname>Choo</surname></string-name> and <string-name><given-names>D.</given-names> <surname>He</surname></string-name></person-group>, &#x201C;<article-title>Secure key agreement and key protection for mobile device user authentication</article-title>,&#x201D; <source>IEEE Transactions on Information Forensics and Security</source>, vol. <volume>14</volume>, no. <issue>2</issue>, pp. <fpage>319</fpage>&#x2013;<lpage>330</lpage>, <year>2018</year>.</mixed-citation></ref>
</ref-list>
</back>
</article>