<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Phys.</journal-id>
<journal-title>Frontiers in Physics</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Phys.</abbrev-journal-title>
<issn pub-type="epub">2296-424X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1509626</article-id>
<article-id pub-id-type="doi">10.3389/fphy.2025.1509626</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Physics</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Adaptive security protocol for financial management networks in multi-server environments</article-title>
<alt-title alt-title-type="left-running-head">Hu and Kang</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fphy.2025.1509626">10.3389/fphy.2025.1509626</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Hu</surname>
<given-names>Jie</given-names>
</name>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2865921/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Kang</surname>
<given-names>Xuan</given-names>
</name>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
</contrib-group>
<aff>
<institution>ZhongHua Vocational College</institution>, <institution>Yunnan University of Finance and Economics</institution>, <addr-line>Kunming</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/101109/overview">Chengyi Xia</ext-link>, Tianjin Polytechnic University, China</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/988509/overview">Dawei Zhao</ext-link>, Qilu University of Technology, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2921279/overview">Zhigang Li</ext-link>, Zhengzhou University of Light Industry, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Jie Hu, <email>py1909@ynufe.edu.cn</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>24</day>
<month>03</month>
<year>2025</year>
</pub-date>
<pub-date pub-type="collection">
<year>2025</year>
</pub-date>
<volume>13</volume>
<elocation-id>1509626</elocation-id>
<history>
<date date-type="received">
<day>11</day>
<month>10</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>20</day>
<month>02</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2025 Hu and Kang.</copyright-statement>
<copyright-year>2025</copyright-year>
<copyright-holder>Hu and Kang</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>Driven by the digital wave, the security and efficiency of financial management networks are key factors determining the competitiveness and sustainable development of enterprises. Faced with complex and ever-changing network threats in multi-server environments, traditional static security strategies are no longer sufficient to meet the security needs of modern enterprises. It is particularly important to develop a security protocol that can adapt to environmental changes and defend against potential threats. Therefore, we propose a lightweight adaptive security protocol for financial management networks in multi-server environments. This protocol uses a hash function to negotiate session keys at low computation and communication overhead, effectively protecting the transmission security of confidential messages. In addition, informal and formal analysis proves that this protocol has high security and can resist various network attack methods. We demonstrate the efficiency of the protocol in practical applications through performance comparisons. It not only has low communication overhead and good computational efficiency but also achieves lightweight message transmission, making it easy to deploy and use in multi-server environments.</p>
</abstract>
<kwd-group>
<kwd>financial management network</kwd>
<kwd>multi-server</kwd>
<kwd>security</kwd>
<kwd>protocol</kwd>
<kwd>lightweight</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Social Physics</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>Highlights</title>
<list list-type="simple">
<list-item>
<p>&#x2022; We propose a lightweight adaptive security protocol for financial management networks in multi-server network environments.</p>
</list-item>
<list-item>
<p>&#x2022; Informal and formal analysis methods are used to analyze the specific security of the protocol.</p>
</list-item>
<list-item>
<p>&#x2022; Through performance comparison, it is proven that this scheme has low communication overhead and good computation overhead.</p>
</list-item>
</list>
</sec>
<sec id="s2">
<title>1 Introduction</title>
<p>Financial management is the core link of enterprise operation in today&#x2019;s digital age. Its security and efficiency are directly related to the survival and development of the enterprise [<xref ref-type="bibr" rid="B1">1</xref>]. With the rapid advancement of technologies such as cloud computing and the Internet of Things (IoT), enterprise financial management systems are gradually transitioning from traditional single-machine or LAN models to multi-server, cross-regional, and high-concurrency network environments [<xref ref-type="bibr" rid="B2">2</xref>]. This transformation not only greatly enhances the flexibility and real-time performance of financial management but also poses unprecedented challenges to the security of the system. The accompanying network information security issues constantly threaten the privacy and security of information in our communication process [<xref ref-type="bibr" rid="B3">3</xref>]. The identity authentication key protocol designed based on cryptography can enable users to securely enjoy the convenience brought by network services and effectively ensure network information security [<xref ref-type="bibr" rid="B4">4</xref>].</p>
<p>With the expansion of enterprise scale and the globalization of business, financial management systems become increasingly complex. The amount of data that needs to be processed has exploded, with extremely high requirements for real-time, accurate, and secure data [<xref ref-type="bibr" rid="B5">5</xref>]. To address these challenges, enterprises adopt multi-server architectures and improve system stability and reliability through technologies such as load balancing, data redundancy, and disaster recovery backup. However, while a multi-server environment brings convenience, it also exacerbates the difficulty of security management [<xref ref-type="bibr" rid="B6">6</xref>]. The financial management network in a multi-server environment faces complex and ever-changing network threats, including but not limited to data breaches, illegal access, service interruptions, and advanced persistent threats [<xref ref-type="bibr" rid="B7">7</xref>]. Once these risks become a reality, they cause incalculable economic losses and reputational damage to the enterprise.</p>
<p>Traditional static security strategies are no longer effective in dealing with increasingly complex and ever-changing network attack methods [<xref ref-type="bibr" rid="B8">8</xref>]. Therefore, developing a financial management network security protocol that can adapt to environmental changes and intelligently identify and defend against potential threats has become the key to ensuring the security of enterprise assets and promoting sustainable business development. Traditional security protocols are designed for a single server [<xref ref-type="bibr" rid="B9">9</xref>]. When a user needs to request network services, providing authentication factors such as identity and password to the single server can obtain the service requested by the server. Due to the rapid development of the network, there are a large number of servers in the current Internet environment [<xref ref-type="bibr" rid="B10">10</xref>]. When users want to request services, they need to register with all the requested single servers. Then, users need to remember all the authentication factors, such as identity and password verification, when registering. This is obviously a huge resource burden for users, and there are extensive illegal attacks on the public channel of communication between users and servers [<xref ref-type="bibr" rid="B11">11</xref>]. It is very likely that a set of user identity or authentication factors are disclosed and attacked, thus affecting the security of other systems. This is undoubtedly a huge security risk. The factors that must be considered when designing security protocols for different multi-server network environments are also different [<xref ref-type="bibr" rid="B12">12</xref>, <xref ref-type="bibr" rid="B13">13</xref>]. Therefore, in the design process of security protocol in a multi-server environment, it is not only necessary to meet the security requirements of the application environment but also to balance computational and communication costs to achieve better performance.</p>
<p>Especially driven by the current global wave of informatization, as the core support for enterprise operations, enterprise financial management systems are undergoing unprecedented changes and challenges. With the expansion of enterprise scale and the globalization of business, traditional financial management models are no longer able to meet the high requirements of modern enterprises for data processing speed, system stability, and information security [<xref ref-type="bibr" rid="B14">14</xref>]. In a multi-server environment, financial management systems not only need to handle massive amounts of financial data but must also ensure the security and integrity of these data during cross-regional and cross-network transmission [<xref ref-type="bibr" rid="B15">15</xref>]. An adaptive security protocol can automatically adjust security policies according to changes in the network environment to effectively resist various network attacks. It ensures the security and integrity of financial data. At the same time, the protocol can optimize system performance and enhance user experience while ensuring security. Our main contributions are summarized as follows.<list list-type="simple">
<list-item>
<p>(1) Considering the requirements of financial management networks in multi-server network environments, we propose a lightweight adaptive security protocol. In this protocol, both communication parties need to register at the control server and then engage in security negotiations. Through a hash function, this protocol can negotiate session keys with lower computational and communication costs. This protects the transmission of confidential messages and enhances communication security.</p>
</list-item>
<list-item>
<p>(2) This protocol adopts both informal and formal analysis methods to analyze the specific security of the protocol, which strongly demonstrates the high security of this protocol. Through performance comparison, it is proven that this protocol has low communication overhead and good computation overhead. Lightweight message transmission is convenient for practical applications. This protocol achieves security and practicality and is more appropriate for multi-server environments.</p>
</list-item>
</list>
</p>
<p>The other parts of the article are described. Section &#x2161; and Section &#x2162; systematically review the current research status in related fields. Section &#x2163; comprehensively introduces the design ideas, specific implementation steps, and key technical details of the security protocol. Section &#x2164; and Section &#x2165;, respectively, focus on the security verification and performance analysis of the protocol. Finally, Section &#x2166; is the summary.</p>
</sec>
<sec id="s3">
<title>2 Literature review</title>
<p>With the significant advancement of communication technology, ensuring the confidentiality and privacy of user information has become particularly important. Therefore, there have been many studies on multi-server authentication protocols both domestically and internationally.</p>
<p>Lamport [<xref ref-type="bibr" rid="B16">16</xref>] first proposed a password-based remote identity authentication scheme, which was based on a verification table and password. Subsequently, researchers proposed an increasing number of authentication schemes, but most of them were suitable for single-server environments. However, due to the increasing demand for security, relying solely on verification tables could not guarantee communication security. In a single-server architecture, when users needed to request services from different servers, remembering the identity and password when logging into each server was challenging. To solve the problem of users needing to remember manage multiple physical passwords and multiple high entropy passwords, an increasing number of identity authentication schemes that could be applied to multi-server environments were proposed. Tsaur et al. [<xref ref-type="bibr" rid="B17">17</xref>] introduced the concept of a multi-service model and built an authentication mechanism in a multi-server environment based on the RSA public key cryptosystem and Lagrange interpolation inequality principle. Subsequently, Li et al. [<xref ref-type="bibr" rid="B18">18</xref>] integrated neural network technology into a multi-server authentication architecture. Chang et al. [<xref ref-type="bibr" rid="B19">19</xref>] proposed a remote authentication scheme that did not require verification table maintenance, and users did not need to remember multi-server passwords, significantly improving the user experience. Yoon et al. [<xref ref-type="bibr" rid="B20">20</xref>] used elliptic curve public key encryption technology and designed a three-factor authentication scheme aimed at enhancing security in multi-server environments. However, subsequent research [<xref ref-type="bibr" rid="B21">21</xref>] pointed out that this scheme had shortcomings in resisting internal attacks, smart card theft, offline password cracking, and impersonation attacks. In response, Kalra et al. [<xref ref-type="bibr" rid="B22">22</xref>] proposed an efficient and cost-optimized multi-server authentication protocol that utilized smart card bidirectional authentication and elliptic curve cryptography technology to achieve higher security. Guo et al. [<xref ref-type="bibr" rid="B23">23</xref>] also designed a smart card-based authentication scheme in multi-server architecture, which clearly defined the roles of the registration server, service server, and user. Both users and application servers needed to perform registration once on the registration server. Three-party authentication mode was implemented using the ElGamal public key cryptosystem. Subsequently, the Burrows Abadi Needham logic provided formal proof of the proposed scheme.</p>
<p>Gupta et al. [<xref ref-type="bibr" rid="B24">24</xref>] proposed a key exchange authentication scheme that combines biometric cryptography and smart card technology in a distributed multi-client server architecture, particularly for scenarios with multiple registration centers. Subsequently, Li et al. [<xref ref-type="bibr" rid="B25">25</xref>] conducted an in-depth analysis of biometric-based identity verification and key negotiation schemes in multi-server environments. They proposed corresponding improvement strategies based on this to further enhance the security and efficiency of the authentication mechanism. Wang et al. [<xref ref-type="bibr" rid="B26">26</xref>] reviewed several authentication schemes applicable to multi-server architectures this year and pointed out the security vulnerabilities of the corresponding schemes, proving that the schemes were ineffective in practical applications. Pelaez et al. [<xref ref-type="bibr" rid="B27">27</xref>] proposed an enhanced lightweight cloud computing authentication scheme for IoT, which also included a substage called connection attempt evidence. It provided evidence about user and service participation. Unfortunately, the study by Yu et al. [<xref ref-type="bibr" rid="B28">28</xref>] revealed significant shortcomings in the security of [<xref ref-type="bibr" rid="B27">27</xref>], pointing out that it could not effectively resist impersonation attacks, session key leakage, and replay attacks. They also proposed a secure and lightweight three-factor authentication scheme specifically designed for IoT in cloud computing environments. This scheme innovatively incorporated secret parameters and biometric authentication elements to ensure enhanced mutual authentication mechanisms and user anonymity, effectively addressing various security threats.</p>
<p>Wong et al. [<xref ref-type="bibr" rid="B29">29</xref>] focused on the application of 5G wireless sensor networks in electronic health systems and designed a three-factor fast authentication scheme that balances time constraints and user anonymity. This authentication scheme combined a three-factor authentication scheme of biometric, password, and smart card methods to ensure a highly secure communication environment supported by sensors. It maintained user anonymity during the communication process. Tsai et al. [<xref ref-type="bibr" rid="B30">30</xref>] proposed a multi-server authentication scheme for online banking transaction environments that used a hash-based multi-server authentication scheme combined with smart cards to authenticate online banking customers and transactions. It provided powerful security features and lower maintenance costs for the online banking platforms of financial institutions. The solution supported interface connection with the banking system, making it easy to integrate the solution into existing banking systems. Sudhakar et al. [<xref ref-type="bibr" rid="B31">31</xref>] proposed a multi-server environment-enhanced authentication scheme based on passwords and smart cards by improving the security flaws of [<xref ref-type="bibr" rid="B32">32</xref>]. The improved scheme formally proved the security authentication of the scheme using BAN logic and simulated various attacks through Internet security protocol and automatic verification of application tools. The results showed that the improved scheme had better security and performance.</p>
<p>In their research on ensuring authentication security in multi-server environments, Xia et al. [<xref ref-type="bibr" rid="B33">33</xref>] introduced the principle of elliptic curve cryptography and designed a three-factor authentication key agreement scheme, significantly enhancing the security of the system. Akram et al. [<xref ref-type="bibr" rid="B34">34</xref>] proposed an efficient anonymous authentication key protocol for multi-server infrastructure within the same year. This protocol effectively resisted various security challenges, including impersonation attacks, insider attacks, and password modification attacks. Finally, a formal security analysis of the proposed solution was conducted using a random oracle model. Analysis and comparison showed that this scheme was highly effective for anonymous authentication and key schemes. Wu et al. [<xref ref-type="bibr" rid="B35">35</xref>] pointed out the shortcomings of the protocol [<xref ref-type="bibr" rid="B36">36</xref>] in terms of fully forward secrecy protection and susceptibility to privileged internal attacks. In response to these security vulnerabilities, they designed a customized authentication key exchange scheme for 5G network multi-server architecture.</p>
<p>Km et al. [<xref ref-type="bibr" rid="B37">37</xref>] focused on improving security in multimedia IoT environments and proposed an enhanced multi-factor authentication scheme with provable security. Hsu et al. [<xref ref-type="bibr" rid="B38">38</xref>] developed an end-to-end cryptographic authentication key exchange scheme for multi-server architecture in edge computing networks. This scheme allowed end users to use easy-to-remember passwords for initial login and then used external agents to calculate shared keys to achieve secure communication with specific service end users. It was particularly worth mentioning that this scheme provided a high degree of user anonymity protection during the communication process.</p>
</sec>
<sec id="s4">
<title>3 Preliminaries</title>
<sec id="s4-1">
<title>3.1 Network model</title>
<p>
<xref ref-type="fig" rid="F1">Figure 1</xref> shows the three main participants in multi-server architecture authentication: the control server, the user, and the application server [<xref ref-type="bibr" rid="B22">22</xref>&#x2013;<xref ref-type="bibr" rid="B38">38</xref>]. The control server is the registration center. Each user needs to avoid registering on a specific server that presents a particular service. The registry operates under the assumption that the user and the server providing the service trust it. The application server and user first complete the registration process and obtain the corresponding data information authorized by the registration center. The above data information is used for the future mutual authentication process between the user and the server. Distributed application servers can cross geographical boundaries and provide diverse services to remote users. Users only need to complete a one-time registration process through the registration center to obtain access permissions and seamlessly integrate with multiple authorized application servers, thus conveniently obtaining the required resources and services.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>System model.</p>
</caption>
<graphic xlink:href="fphy-13-1509626-g001.tif"/>
</fig>
</sec>
<sec id="s4-2">
<title>3.2 Attacker model</title>
<p>In a multi-server environment, attackers in the security protocol generally possess the following capabilities [<xref ref-type="bibr" rid="B30">30</xref>&#x2013;<xref ref-type="bibr" rid="B42">42</xref>]. According to the Dolev Yao model, the attacker&#x2019;s attack on the user is as follows: An attacker can not only eavesdrop on all messages propagated on the public channel during the protocol but also intercept, modify, and forge them before sending.</p>
</sec>
<sec id="s4-3">
<title>3.3 Safety objectives</title>
<p>
<list list-type="simple">
<list-item>
<p>(1) The basic functions that this protocol should implement are bidirectional authentication and session key negotiation. To ensure the legitimacy of the participants in the session key negotiation process, mutual authentication of the identities of the participants should be implemented first. The session key should be jointly negotiated among the participants and cannot be generated and distributed by one party in the negotiation process.</p>
</list-item>
<list-item>
<p>(2) This protocol should resist all sorts of common attacks, such as denial of service attacks, man-in-the-middle attacks, impersonation attacks, offline password guessing attacks, etc.</p>
</list-item>
</list>
</p>
</sec>
<sec id="s4-4">
<title>3.4 One-way hash function</title>
<p>The cryptography one-way hash function can convert the input into a certain length of output, that is <inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mo>:</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x2192;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>l</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. In detail, the one-way hash function must also meet the following three characteristic conditions [<xref ref-type="bibr" rid="B38">38</xref>&#x2013;<xref ref-type="bibr" rid="B41">41</xref>].<list list-type="simple">
<list-item>
<p>(1) For any <inline-formula id="inf2">
<mml:math id="m2">
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>&#x2260;</mml:mo>
<mml:mi mathvariant="normal">y</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, its respective hash value <inline-formula id="inf3">
<mml:math id="m3">
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2260;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>(2) For any <inline-formula id="inf4">
<mml:math id="m4">
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf5">
<mml:math id="m5">
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, it is not computationally feasible to solve the specific value of <inline-formula id="inf6">
<mml:math id="m6">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> for knowing the <inline-formula id="inf7">
<mml:math id="m7">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>(3) For any <inline-formula id="inf8">
<mml:math id="m8">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, it is computationally infeasible to solve for <inline-formula id="inf9">
<mml:math id="m9">
<mml:mrow>
<mml:mi mathvariant="normal">y</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> with its respective hash values <inline-formula id="inf10">
<mml:math id="m10">
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
</list>
</p>
</sec>
</sec>
<sec id="s5">
<title>4 Proposed scheme</title>
<sec id="s5-1">
<title>4.1 Initialization stage</title>
<p>The control server (<inline-formula id="inf11">
<mml:math id="m11">
<mml:mrow>
<mml:mfenced open="" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mtext>CS</mml:mtext>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> selects a hash function <inline-formula id="inf12">
<mml:math id="m12">
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mo>&#xb7;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. Meanwhile, the <inline-formula id="inf13">
<mml:math id="m13">
<mml:mtext>CS</mml:mtext>
</mml:math>
</inline-formula> selects a private key, <inline-formula id="inf14">
<mml:math id="m14">
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. Finally, the <inline-formula id="inf15">
<mml:math id="m15">
<mml:mtext>CS</mml:mtext>
</mml:math>
</inline-formula> exposes the security parameters <inline-formula id="inf16">
<mml:math id="m16">
<mml:mrow>
<mml:mfenced open="" close="}" separators="&#x7c;">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mo>&#xb7;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</sec>
<sec id="s5-2">
<title>4.2 Server registration stage</title>
<p>The server <inline-formula id="inf17">
<mml:math id="m17">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> sends a registration request to the control server, <inline-formula id="inf18">
<mml:math id="m18">
<mml:mtext>CS</mml:mtext>
</mml:math>
</inline-formula>. The <inline-formula id="inf19">
<mml:math id="m19">
<mml:mtext>CS</mml:mtext>
</mml:math>
</inline-formula> randomly selects a unique identity <inline-formula id="inf20">
<mml:math id="m20">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and a random number <inline-formula id="inf21">
<mml:math id="m21">
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> for it and uses the private key <inline-formula id="inf22">
<mml:math id="m22">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> of the <inline-formula id="inf23">
<mml:math id="m23">
<mml:mtext>CS</mml:mtext>
</mml:math>
</inline-formula> to generate the key <inline-formula id="inf24">
<mml:math id="m24">
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="" close="&#x2016;" separators="&#x7c;">
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. Then, the <inline-formula id="inf25">
<mml:math id="m25">
<mml:mtext>CS</mml:mtext>
</mml:math>
</inline-formula> transmits the value <inline-formula id="inf26">
<mml:math id="m26">
<mml:mrow>
<mml:mfenced open="" close="}" separators="&#x7c;">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="" close="&#x2016;" separators="&#x7c;">
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> to the <inline-formula id="inf27">
<mml:math id="m27">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> via the secure channel. <inline-formula id="inf28">
<mml:math id="m28">
<mml:mrow>
<mml:mfenced open="" close="}" separators="&#x7c;">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="" close="&#x2016;" separators="&#x7c;">
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> is received and secretly stored.</p>
</sec>
<sec id="s5-3">
<title>4.3 User registration stage</title>
<p>
<list list-type="simple">
<list-item>
<p>1. For <inline-formula id="inf29">
<mml:math id="m29">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> to register on the <inline-formula id="inf30">
<mml:math id="m30">
<mml:mtext>CS</mml:mtext>
</mml:math>
</inline-formula>, it needs to choose a unique identity <inline-formula id="inf31">
<mml:math id="m31">
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, a random number <inline-formula id="inf32">
<mml:math id="m32">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, a password <inline-formula id="inf33">
<mml:math id="m33">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and biometric information <inline-formula id="inf34">
<mml:math id="m34">
<mml:mrow>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>2. <inline-formula id="inf35">
<mml:math id="m35">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> completes the following calculations: <inline-formula id="inf36">
<mml:math id="m36">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2016;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. <inline-formula id="inf37">
<mml:math id="m37">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> sends the <inline-formula id="inf38">
<mml:math id="m38">
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> to the <inline-formula id="inf39">
<mml:math id="m39">
<mml:mtext>CS</mml:mtext>
</mml:math>
</inline-formula> via the secure channel.</p>
</list-item>
<list-item>
<p>3 After the <inline-formula id="inf40">
<mml:math id="m40">
<mml:mtext>CS</mml:mtext>
</mml:math>
</inline-formula> receives <inline-formula id="inf41">
<mml:math id="m41">
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>, the <inline-formula id="inf42">
<mml:math id="m42">
<mml:mtext>CS</mml:mtext>
</mml:math>
</inline-formula> calculation is as follows: <inline-formula id="inf43">
<mml:math id="m43">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf44">
<mml:math id="m44">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2295;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf45">
<mml:math id="m45">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2295;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2016;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf46">
<mml:math id="m46">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>G</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. Then, for each application <inline-formula id="inf47">
<mml:math id="m47">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, the <inline-formula id="inf48">
<mml:math id="m48">
<mml:mtext>CS</mml:mtext>
</mml:math>
</inline-formula> completes the corresponding calculation for it. They are <inline-formula id="inf49">
<mml:math id="m49">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf50">
<mml:math id="m50">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2295;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2016;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. Finally, the <inline-formula id="inf51">
<mml:math id="m51">
<mml:mtext>CS</mml:mtext>
</mml:math>
</inline-formula> writes the <inline-formula id="inf52">
<mml:math id="m52">
<mml:mrow>
<mml:mfenced open="" close="}" separators="&#x7c;">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>G</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> in the smart card <inline-formula id="inf53">
<mml:math id="m53">
<mml:mrow>
<mml:msub>
<mml:mtext>SC</mml:mtext>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and sends it to <inline-formula id="inf54">
<mml:math id="m54">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> through a secure channel.</p>
</list-item>
<list-item>
<p>4. After <inline-formula id="inf55">
<mml:math id="m55">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> receives the smart card, its starting calculation is as follows: <inline-formula id="inf56">
<mml:math id="m56">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="" separators="&#x7c;">
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2295;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Then, write <inline-formula id="inf57">
<mml:math id="m57">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> into <inline-formula id="inf58">
<mml:math id="m58">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Finally, <inline-formula id="inf59">
<mml:math id="m59">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> contains an information value of <inline-formula id="inf60">
<mml:math id="m60">
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>G</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
</list>
</p>
</sec>
<sec id="s5-4">
<title>4.4 User login stage</title>
<p>When <inline-formula id="inf61">
<mml:math id="m61">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> wants to communicate with <inline-formula id="inf62">
<mml:math id="m62">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf63">
<mml:math id="m63">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> needs to insert <inline-formula id="inf64">
<mml:math id="m64">
<mml:mrow>
<mml:mfenced open="&#x2329;" close="&#x232a;" separators="&#x7c;">
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>P</mml:mi>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> into the smart card and complete the login process. The specific login process is as follows.</p>
<p>
<inline-formula id="inf65">
<mml:math id="m65">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> completes the following calculation after receiving the data provided by <inline-formula id="inf66">
<mml:math id="m66">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>: <inline-formula id="inf67">
<mml:math id="m67">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="" separators="&#x7c;">
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2295;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf68">
<mml:math id="m68">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x2016;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf69">
<mml:math id="m69">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf70">
<mml:math id="m70">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2295;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="" separators="&#x7c;">
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2295;</mml:mo>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>G</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="" separators="&#x7c;">
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. Next, <inline-formula id="inf71">
<mml:math id="m71">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>G</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>G</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is compared to see if it is true. If not true, the user is denied a login.</p>
<p>If the above conditions hold, <inline-formula id="inf72">
<mml:math id="m72">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> extracts the corresponding <inline-formula id="inf73">
<mml:math id="m73">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2295;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="" separators="&#x7c;">
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> to produce the random numbers <inline-formula id="inf74">
<mml:math id="m74">
<mml:mrow>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and performs the following calculations. They are <inline-formula id="inf75">
<mml:math id="m75">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf76">
<mml:math id="m76">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2295;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf77">
<mml:math id="m77">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x2295;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf78">
<mml:math id="m78">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2016;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf79">
<mml:math id="m79">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the current time stamp.</p>
<p>Finally, <inline-formula id="inf80">
<mml:math id="m80">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> sends <inline-formula id="inf81">
<mml:math id="m81">
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>U</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf82">
<mml:math id="m82">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> through the open channel.</p>
</sec>
<sec id="s5-5">
<title>4.5 Mutual authentication and key negotiation stage</title>
<p>
<inline-formula id="inf83">
<mml:math id="m83">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf84">
<mml:math id="m84">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> complete mutual authentication and share the session key. The specific steps are described below.<list list-type="simple">
<list-item>
<p>1. When <inline-formula id="inf85">
<mml:math id="m85">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> receives the login request from <inline-formula id="inf86">
<mml:math id="m86">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf87">
<mml:math id="m87">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> first checks the timestamp through <inline-formula id="inf88">
<mml:math id="m88">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf89">
<mml:math id="m89">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the maximum allowed time interval, and <inline-formula id="inf90">
<mml:math id="m90">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> indicates the current timestamp. If the above conditions are m, et, <inline-formula id="inf91">
<mml:math id="m91">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> calculates <inline-formula id="inf92">
<mml:math id="m92">
<mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>U</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2295;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf93">
<mml:math id="m93">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="" close="&#x2016;" separators="&#x7c;">
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf94">
<mml:math id="m94">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf95">
<mml:math id="m95">
<mml:mrow>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x2295;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf96">
<mml:math id="m96">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="" separators="&#x7c;">
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. <inline-formula id="inf97">
<mml:math id="m97">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> tests and calculates whether the <inline-formula id="inf98">
<mml:math id="m98">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is equal to <inline-formula id="inf99">
<mml:math id="m99">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. If both are equal, the certification process continues.</p>
</list-item>
<list-item>
<p>2. <inline-formula id="inf100">
<mml:math id="m100">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> selects a random number <inline-formula id="inf101">
<mml:math id="m101">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and then the calculations are as follows: <inline-formula id="inf102">
<mml:math id="m102">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2295;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, session key <inline-formula id="inf103">
<mml:math id="m103">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>K</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2016;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <inline-formula id="inf104">
<mml:math id="m104">
<mml:mrow>
<mml:mtext>and&#x2009;</mml:mtext>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2016;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>K</mml:mi>
<mml:mo>&#x2225;</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. Finally, <inline-formula id="inf105">
<mml:math id="m105">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> contains <inline-formula id="inf106">
<mml:math id="m106">
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> messages transmitted to <inline-formula id="inf107">
<mml:math id="m107">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> in the open channel.</p>
</list-item>
<list-item>
<p>3. After receiving <inline-formula id="inf108">
<mml:math id="m108">
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> from <inline-formula id="inf109">
<mml:math id="m109">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf110">
<mml:math id="m110">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> first checks the timestamp <inline-formula id="inf111">
<mml:math id="m111">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> through <inline-formula id="inf112">
<mml:math id="m112">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf113">
<mml:math id="m113">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> indicates the user&#x2019;s current timestamp. If the above conditions are met, <inline-formula id="inf114">
<mml:math id="m114">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> calculates the <inline-formula id="inf115">
<mml:math id="m115">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2295;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>K</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>I</mml:mi>
</mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>K</mml:mi>
<mml:mo>&#x2225;</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. Finally, <inline-formula id="inf116">
<mml:math id="m116">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> tests whether <inline-formula id="inf117">
<mml:math id="m117">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> holds. If not true, the session is terminated. If true, <inline-formula id="inf118">
<mml:math id="m118">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> successfully certifies <inline-formula id="inf119">
<mml:math id="m119">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Finally, both parties use the session key <inline-formula id="inf120">
<mml:math id="m120">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> in future interactions to ensure communication security.</p>
</list-item>
</list>
</p>
</sec>
</sec>
<sec id="s6">
<title>5 Protocol security analysis</title>
<sec id="s6-1">
<title>5.1 Informal analysis</title>
<p>The method of conducting security analysis in this article is to use informal language to provide a detailed introduction to the security of the proposed protocol.</p>
<sec id="s6-1-1">
<title>5.1.1 Mutual authentication and key negotiation</title>
<p>During the authentication process, <inline-formula id="inf121">
<mml:math id="m121">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> verifies the legitimacy of <inline-formula id="inf122">
<mml:math id="m122">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> identity and the integrity of the transmitted message by checking whether the <inline-formula id="inf123">
<mml:math id="m123">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is equal to the received <inline-formula id="inf124">
<mml:math id="m124">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>.</italic> <inline-formula id="inf125">
<mml:math id="m125">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> verifies the legitimacy of <inline-formula id="inf126">
<mml:math id="m126">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and the integrity of the transmission message by checking whether the condition <inline-formula id="inf127">
<mml:math id="m127">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> holds. <inline-formula id="inf128">
<mml:math id="m128">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> verifies that the received message is not maliciously modified. Two-way authentication between <inline-formula id="inf129">
<mml:math id="m129">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf130">
<mml:math id="m130">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is realized. At the same time, <inline-formula id="inf131">
<mml:math id="m131">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf132">
<mml:math id="m132">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> negotiate the key <inline-formula id="inf133">
<mml:math id="m133">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. By checking whether the <inline-formula id="inf134">
<mml:math id="m134">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is equal to <inline-formula id="inf135">
<mml:math id="m135">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> <inline-formula id="inf136">
<mml:math id="m136">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> verifies the correctness and integrity of the key <inline-formula id="inf137">
<mml:math id="m137">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</sec>
<sec id="s6-1-2">
<title>5.1.2 Denial of service attack</title>
<p>The login request of <inline-formula id="inf138">
<mml:math id="m138">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is sent to <inline-formula id="inf139">
<mml:math id="m139">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and the login request message <inline-formula id="inf140">
<mml:math id="m140">
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>U</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> contains the timestamp <inline-formula id="inf141">
<mml:math id="m141">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. When <inline-formula id="inf142">
<mml:math id="m142">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> receives the login request, the timestamp is first verified by verifying whether <inline-formula id="inf143">
<mml:math id="m143">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is less than or equal to <inline-formula id="inf144">
<mml:math id="m144">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. Calculating <inline-formula id="inf145">
<mml:math id="m145">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="" separators="&#x7c;">
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> determines whether the <inline-formula id="inf146">
<mml:math id="m146">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is equal to the received <inline-formula id="inf147">
<mml:math id="m147">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. It not only verifies the identity of <inline-formula id="inf148">
<mml:math id="m148">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> but also verifies the integrity of the login request message, completely resisting the denial of service attack.</p>
</sec>
<sec id="s6-1-3">
<title>5.1.3 Man-in-the-middle attack</title>
<p>The attacker may capture <inline-formula id="inf149">
<mml:math id="m149">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>&#x27;s message <inline-formula id="inf150">
<mml:math id="m150">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and try to generate an illegal request. Because the attacker cannot know the secret value <inline-formula id="inf151">
<mml:math id="m151">
<mml:mrow>
<mml:mi mathvariant="normal">h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> of <inline-formula id="inf152">
<mml:math id="m152">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and the secret value <inline-formula id="inf153">
<mml:math id="m153">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> of <inline-formula id="inf154">
<mml:math id="m154">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, a request message cannot be successfully forged. Similarly, the attacker cannot make changes to the message <inline-formula id="inf155">
<mml:math id="m155">
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</sec>
<sec id="s6-1-4">
<title>5.1.4 Counterfeit attack</title>
<p>If the attacker <inline-formula id="inf156">
<mml:math id="m156">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> captures <inline-formula id="inf157">
<mml:math id="m157">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> message <inline-formula id="inf158">
<mml:math id="m158">
<mml:mrow>
<mml:mfenced open="" close="}" separators="&#x7c;">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> and obtains the smart card of <inline-formula id="inf159">
<mml:math id="m159">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, then the attacker can get all the information in the smart card <inline-formula id="inf160">
<mml:math id="m160">
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>G</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> through the side channel attack. According to the above analysis in (3), the attacker cannot forge the information sent to <inline-formula id="inf161">
<mml:math id="m161">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> only by relying on the information in the smart card. Simultaneously, because <inline-formula id="inf162">
<mml:math id="m162">
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>, it involves the <inline-formula id="inf163">
<mml:math id="m163">
<mml:mrow>
<mml:mi mathvariant="normal">h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mtext>SI</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">D</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="" close="&#x2016;" separators="&#x7c;">
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf164">
<mml:math id="m164">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, so the attacker cannot use the current system time <inline-formula id="inf165">
<mml:math id="m165">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> to forge <inline-formula id="inf166">
<mml:math id="m166">
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> that can be verified by <inline-formula id="inf167">
<mml:math id="m167">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. So, it can completely resist counterfeit attacks.</p>
</sec>
<sec id="s6-1-5">
<title>5.1.5 Replay attack</title>
<p>In this protocol, the timestamp is not only used in the login stage but also plays a major part in the authentication key negotiation stage. It specifies the threshold <inline-formula id="inf168">
<mml:math id="m168">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> for the verification timestamp, so this protocol can resist a replay attack.</p>
</sec>
<sec id="s6-1-6">
<title>5.1.6 User anonymity</title>
<p>First, the attacker is unable to directly steal identity information from the user&#x2019;s smart card, partly because the smart card avoids storing the user&#x2019;s temporary identity within it. On the other hand, even if the attacker causes the message <inline-formula id="inf169">
<mml:math id="m169">
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>G</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> in the smart card to leak through the side channel attack, the attacker cannot get the user&#x2019;s <inline-formula id="inf170">
<mml:math id="m170">
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. The open letter is the dissemination of user identity encrypted information <inline-formula id="inf171">
<mml:math id="m171">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> to ensure the anonymity of the user. Therefore, this protocol has very good user anonymity.</p>
<p>Second, for the messages spread in the open letter, there is no similar information in the messages, even if the messages sent by the same user are authenticated with different servers. The attacker cannot track the user&#x2019;s identity. Therefore, this protocol has very good anti-tracking properties.</p>
</sec>
<sec id="s6-1-7">
<title>5.1.7 Forward safety</title>
<p>The key in this protocol is <inline-formula id="inf172">
<mml:math id="m172">
<mml:mrow>
<mml:mtext>SK</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">D</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x2225;</mml:mo>
<mml:mtext>SI</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">D</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">u</mml:mi>
</mml:mrow>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mtext>US</mml:mtext>
<mml:mtext>ij</mml:mtext>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. The <inline-formula id="inf173">
<mml:math id="m173">
<mml:mrow>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf174">
<mml:math id="m174">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> are the randomly selected values of the user and server during the authentication and key negotiation. These values are different in each authentication and key negotiation process. Although the session key is constantly attacked by the attacker, even if the attacker obtains the session key in the authentication process, the session key negotiated before or after cannot be obtained according to the calculation. An attack does not pose a threat to the previous or subsequent communication because each authentication and key negotiation process are independent. An attack would still fail to construct a valid session key. In conclusion, this protocol has a good forward safety profile.</p>
</sec>
<sec id="s6-1-8">
<title>5.1.8 Session key security</title>
<p>In this article, <inline-formula id="inf175">
<mml:math id="m175">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf176">
<mml:math id="m176">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> negotiate to generate a session key <inline-formula id="inf177">
<mml:math id="m177">
<mml:mrow>
<mml:mtext>SK</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">D</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x2225;</mml:mo>
<mml:mtext>SI</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">D</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi mathvariant="normal">u</mml:mi>
</mml:mrow>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mtext>US</mml:mtext>
<mml:mtext>ij</mml:mtext>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> for subsequent secure communication. Among them, the calculation of SK requires a random number <inline-formula id="inf178">
<mml:math id="m178">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> generated by <inline-formula id="inf179">
<mml:math id="m179">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and a random number <inline-formula id="inf180">
<mml:math id="m180">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> generated by <inline-formula id="inf181">
<mml:math id="m181">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, which will be updated during protocol execution. Therefore, if a session key is compromised, it does not help to recover past or future session keys.</p>
</sec>
</sec>
<sec id="s6-2">
<title>5.2 Analysis of security proof</title>
<p>The tool for verifying protocol security in this article is the random oracle model. Next, we provide a detailed introduction to the security model and inquiry model used for security proof [<xref ref-type="bibr" rid="B39">39</xref>].</p>
<sec id="s6-2-1">
<title>5.2.1 Security model</title>
<p>The two main parties in this protocol are <inline-formula id="inf182">
<mml:math id="m182">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf183">
<mml:math id="m183">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">S</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Under this security model, an attacker can eavesdrop or even tamper with all the messages in the open letter in probabilistic polynomial time.</p>
</sec>
<sec id="s6-2-2">
<title>5.2.2 Inquiry model</title>
<p>The attacker&#x2019;s attack capability is simulated by the following five interrogation models.</p>
<p>
<inline-formula id="inf184">
<mml:math id="m184">
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>x</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>:</italic> This inquiry simulates the passive attack of the attacker; that is, attacker <inline-formula id="inf185">
<mml:math id="m185">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> can capture all the messages spread by the participant in the open letter through this inquiry.</p>
<p>
<italic>Send</italic> <inline-formula id="inf186">
<mml:math id="m186">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>:</italic> This inquiry simulates the active attack of the attacker. That is, <inline-formula id="inf187">
<mml:math id="m187">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> can tamper with the message intercepted in the open letter channel and send it to instance <inline-formula id="inf188">
<mml:math id="m188">
<mml:mrow>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>. After instance <inline-formula id="inf189">
<mml:math id="m189">
<mml:mrow>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> receives the message, the attacker can also intercept the feedback message generated by the participant <inline-formula id="inf190">
<mml:math id="m190">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.<list list-type="simple">
<list-item>
<p>
<inline-formula id="inf191">
<mml:math id="m191">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>: This query simulates that if the instance <inline-formula id="inf192">
<mml:math id="m192">
<mml:mrow>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> has generated <inline-formula id="inf193">
<mml:math id="m193">
<mml:mtext>SK</mml:mtext>
</mml:math>
</inline-formula>, <inline-formula id="inf194">
<mml:math id="m194">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> can get the session key <inline-formula id="inf195">
<mml:math id="m195">
<mml:mtext>SK</mml:mtext>
</mml:math>
</inline-formula>. If the instance <inline-formula id="inf196">
<mml:math id="m196">
<mml:mrow>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> has not generated <inline-formula id="inf197">
<mml:math id="m197">
<mml:mtext>SK</mml:mtext>
</mml:math>
</inline-formula>, the attacker cannot get the <inline-formula id="inf198">
<mml:math id="m198">
<mml:mtext>SK</mml:mtext>
</mml:math>
</inline-formula> and can only get an invalid identification.</p>
</list-item>
<list-item>
<p>
<inline-formula id="inf199">
<mml:math id="m199">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>: This inquiry simulates that an attacker can obtain its secret credentials on the premise that a participant is corrupted. In this protocol, <inline-formula id="inf200">
<mml:math id="m200">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> can obtain all the information in the smart card of user <inline-formula id="inf201">
<mml:math id="m201">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> through this inquiry.</p>
</list-item>
<list-item>
<p>
<inline-formula id="inf202">
<mml:math id="m202">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>: This asks whether the <inline-formula id="inf203">
<mml:math id="m203">
<mml:mtext>SK</mml:mtext>
</mml:math>
</inline-formula> used to simulate instance <inline-formula id="inf204">
<mml:math id="m204">
<mml:mrow>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is safe. After this, the simulator performs a &#x201c;coin toss operation.&#x201d; If the result is 1, the correct <inline-formula id="inf205">
<mml:math id="m205">
<mml:mtext>SK</mml:mtext>
</mml:math>
</inline-formula> is returned to the attacker. If the result is 0, a random string set it to be the same length as the true session key is returned to the attacker. So, the attacker needs to determine if the return value is a real key or a random equal length string.</p>
</list-item>
</list>
</p>
<p>
<statement content-type="theorem" id="Theorem_1">
<label>Theorem 1</label>
<p>If and only if the attack advantage <inline-formula id="inf206">
<mml:math id="m206">
<mml:mrow>
<mml:mtext>Ad</mml:mtext>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3bd;</mml:mi>
<mml:mi mathvariant="script">F</mml:mi>
<mml:mtext>AKE</mml:mtext>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> of <inline-formula id="inf207">
<mml:math id="m207">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> in polynomial time is at most one quantity larger than <inline-formula id="inf208">
<mml:math id="m208">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mtext>hash</mml:mtext>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mtext>Hash</mml:mtext>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mtext>send</mml:mtext>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">D</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, it is said the security protocol is semantically secure. The <inline-formula id="inf209">
<mml:math id="m209">
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mtext>send</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the number of times of <inline-formula id="inf210">
<mml:math id="m210">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> makes <inline-formula id="inf211">
<mml:math id="m211">
<mml:mtext>Send</mml:mtext>
</mml:math>
</inline-formula> queries, <inline-formula id="inf212">
<mml:math id="m212">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mtext>hash</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the number of times that <inline-formula id="inf213">
<mml:math id="m213">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> makes <inline-formula id="inf214">
<mml:math id="m214">
<mml:mtext>Hash</mml:mtext>
</mml:math>
</inline-formula> inquiries, <inline-formula id="inf215">
<mml:math id="m215">
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">D</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> is the dictionary space scale, <inline-formula id="inf216">
<mml:math id="m216">
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mtext>Hash</mml:mtext>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> is the <inline-formula id="inf217">
<mml:math id="m217">
<mml:mtext>Hash</mml:mtext>
</mml:math>
</inline-formula> query scale, and <inline-formula id="inf218">
<mml:math id="m218">
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the protocol proposed in this article, which can be expressed as follows.<disp-formula id="equ1">
<mml:math id="m219">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>d</mml:mi>
<mml:msubsup>
<mml:mi>&#x3bd;</mml:mi>
<mml:mi mathvariant="script">F</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:mfrac>
<mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
</statement>
</p>
</sec>
<sec id="s6-2-3">
<title>5.2.3 Safety certificate</title>
<p>It is assumed that <inline-formula id="inf219">
<mml:math id="m220">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> can use at most <inline-formula id="inf220">
<mml:math id="m221">
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mtext>send</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> times of <inline-formula id="inf221">
<mml:math id="m222">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> queries and <inline-formula id="inf222">
<mml:math id="m223">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">q</mml:mi>
<mml:mtext>hash</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> times of <inline-formula id="inf223">
<mml:math id="m224">
<mml:mtext>Hash</mml:mtext>
</mml:math>
</inline-formula> queries in the time <inline-formula id="inf224">
<mml:math id="m225">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. We demonstrate that this protocol AKE is safe by using the hybrid experimental games <inline-formula id="inf225">
<mml:math id="m226">
<mml:mrow>
<mml:mtext>Gam</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mtext>Gam</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mtext>Gam</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mtext>Gam</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Among them, <inline-formula id="inf226">
<mml:math id="m227">
<mml:mrow>
<mml:mtext>Gam</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> simulates real attacks. With the experimental game, the simulation rules of each advantage are increasingly different. The experimental games end when A gradually fails to distinguish the real session key and a random isolong string. <inline-formula id="inf227">
<mml:math id="m228">
<mml:mrow>
<mml:mi mathvariant="italic">Pr</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the advantage of <inline-formula id="inf228">
<mml:math id="m229">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> in <inline-formula id="inf229">
<mml:math id="m230">
<mml:mrow>
<mml:mtext>Gam</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>
<inline-formula id="inf230">
<mml:math id="m231">
<mml:mrow>
<mml:mtext>Gam</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>: This experimental game simulates an attack in a real scene. According to the definition of semantic security, it is as follows.<disp-formula id="equ2">
<mml:math id="m232">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>d</mml:mi>
<mml:msubsup>
<mml:mi>&#x3bd;</mml:mi>
<mml:mi mathvariant="script">F</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">Pr</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>
<inline-formula id="inf231">
<mml:math id="m233">
<mml:mrow>
<mml:mtext>Gam</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>: In this experimental game, <inline-formula id="inf232">
<mml:math id="m234">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> begins to add <inline-formula id="inf233">
<mml:math id="m235">
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>x</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> inquiries, so <inline-formula id="inf234">
<mml:math id="m236">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> needs to verify whether the <inline-formula id="inf235">
<mml:math id="m237">
<mml:mtext>SK</mml:mtext>
</mml:math>
</inline-formula> in the message is the real key <inline-formula id="inf236">
<mml:math id="m238">
<mml:mtext>SK</mml:mtext>
</mml:math>
</inline-formula> or a random key of equal length as <inline-formula id="inf237">
<mml:math id="m239">
<mml:mtext>SK</mml:mtext>
</mml:math>
</inline-formula>. In this protocol, <inline-formula id="inf238">
<mml:math id="m240">
<mml:mrow>
<mml:mtext>SK</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">D</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x2225;</mml:mo>
<mml:mtext>SI</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">D</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2016;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">u</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mtext>US</mml:mtext>
<mml:mtext>ij</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. If <inline-formula id="inf239">
<mml:math id="m241">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> obtains all the messages, then there is <inline-formula id="inf240">
<mml:math id="m242">
<mml:mrow>
<mml:mfenced open="" close="}" separators="&#x7c;">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf241">
<mml:math id="m243">
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>. However, these messages do not help <inline-formula id="inf242">
<mml:math id="m244">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> to get the <inline-formula id="inf243">
<mml:math id="m245">
<mml:mrow>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf244">
<mml:math id="m246">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> in the <inline-formula id="inf245">
<mml:math id="m247">
<mml:mtext>SK</mml:mtext>
</mml:math>
</inline-formula>, indicating that the eavesdropping attack through <inline-formula id="inf246">
<mml:math id="m248">
<mml:mrow>
<mml:mtext>Gam</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> does not increase the advantage. Therefore, <inline-formula id="inf247">
<mml:math id="m249">
<mml:mrow>
<mml:mtext>Gam</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf248">
<mml:math id="m250">
<mml:mrow>
<mml:mtext>Gam</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are equal, so:<disp-formula id="equ3">
<mml:math id="m251">
<mml:mrow>
<mml:mi mathvariant="italic">Pr</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="italic">Pr</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>
<inline-formula id="inf249">
<mml:math id="m252">
<mml:mrow>
<mml:mtext>Gam</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>: In this experimental game, <inline-formula id="inf250">
<mml:math id="m253">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> adds a <inline-formula id="inf251">
<mml:math id="m254">
<mml:mtext>Send</mml:mtext>
</mml:math>
</inline-formula> inquiry and a <inline-formula id="inf252">
<mml:math id="m255">
<mml:mtext>Hash</mml:mtext>
</mml:math>
</inline-formula> inquiry, and <inline-formula id="inf253">
<mml:math id="m256">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> can tamper with the message of the participants. If <inline-formula id="inf254">
<mml:math id="m257">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> wants to build a legitimate message, it needs <inline-formula id="inf255">
<mml:math id="m258">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mtext>and&#x2009;</mml:mtext>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. If those values are not available, the timestamp distinguishes the message. This shows that <inline-formula id="inf256">
<mml:math id="m259">
<mml:mrow>
<mml:mtext>Gam</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf257">
<mml:math id="m260">
<mml:mrow>
<mml:mtext>Gam</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the same except for the <inline-formula id="inf258">
<mml:math id="m261">
<mml:mtext>Send</mml:mtext>
</mml:math>
</inline-formula> and <inline-formula id="inf259">
<mml:math id="m262">
<mml:mtext>Hash</mml:mtext>
</mml:math>
</inline-formula> interrogation advantages. So, according to the birthday paradox, <disp-formula id="equ4">
<mml:math id="m263">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="italic">Pr</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="italic">Pr</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:mfrac>
<mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>
<inline-formula id="inf260">
<mml:math id="m264">
<mml:mrow>
<mml:mtext>Gam</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>: In this experimental game, the <inline-formula id="inf261">
<mml:math id="m265">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> interrogation is increased. <inline-formula id="inf262">
<mml:math id="m266">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> can get all the information stored in the smart card <inline-formula id="inf263">
<mml:math id="m267">
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>G</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>. Because <inline-formula id="inf264">
<mml:math id="m268">
<mml:mrow>
<mml:mtext>SK</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">D</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mo>&#x2225;</mml:mo>
<mml:mtext>SI</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">D</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2016;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi mathvariant="normal">u</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mtext>US</mml:mtext>
<mml:mtext>ij</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, the information in the smart card cannot get <inline-formula id="inf265">
<mml:math id="m269">
<mml:mtext>SK</mml:mtext>
</mml:math>
</inline-formula>. However, in the dictionary password attack, the attack advantage compared with the last increases <inline-formula id="inf266">
<mml:math id="m270">
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is as follows.<disp-formula id="equ5">
<mml:math id="m271">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="italic">Pr</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="italic">Pr</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Finally, because <inline-formula id="inf267">
<mml:math id="m272">
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> does not know the final result of the simulator coin toss operation, the <inline-formula id="inf268">
<mml:math id="m273">
<mml:mtext>SK</mml:mtext>
</mml:math>
</inline-formula> is independently produced independently by <inline-formula id="inf269">
<mml:math id="m274">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and the access server <inline-formula id="inf270">
<mml:math id="m275">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and<disp-formula id="equ6">
<mml:math id="m276">
<mml:mrow>
<mml:mi mathvariant="italic">Pr</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>According to the above formulas, the following equation can be inferred, which proves <xref ref-type="statement" rid="Theorem_1">Theorem 1</xref>.<disp-formula id="equ7">
<mml:math id="m277">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>d</mml:mi>
<mml:msubsup>
<mml:mi>&#x3bd;</mml:mi>
<mml:mi mathvariant="script">F</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:mfrac>
<mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="&#x7c;" close="&#x7c;" separators="&#x7c;">
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
</sec>
</sec>
</sec>
<sec id="s7">
<title>6 Performance analysis</title>
<sec id="s7-1">
<title>6.1 Computation overhead</title>
<p>Because the main purpose of designing this protocol is to pursue a lightweight identity authentication protocol while ensuring security, only hash and exclusive OR (XOR) operations are involved in the design process. In this section, we compare the computational cost of our scheme with [<xref ref-type="bibr" rid="B43">43</xref>&#x2013;<xref ref-type="bibr" rid="B47">47</xref>], as shown in <xref ref-type="table" rid="T1">Table 1</xref>. This scheme has the lowest computational cost except for [<xref ref-type="bibr" rid="B43">43</xref>, <xref ref-type="bibr" rid="B44">44</xref>], where <inline-formula id="inf271">
<mml:math id="m278">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>H</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents hash operation time, <inline-formula id="inf272">
<mml:math id="m279">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>F</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the fuzzy extractor operation, <inline-formula id="inf273">
<mml:math id="m280">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents symmetric encryption, and <inline-formula id="inf274">
<mml:math id="m281">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the Chebyshev chaotic map. We ignore the time of the XOR operation.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Computation overhead comparison.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Protocol</th>
<th align="center">Computation overhead</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">[<xref ref-type="bibr" rid="B43">43</xref>]</td>
<td align="center">
<inline-formula id="inf275">
<mml:math id="m282">
<mml:mrow>
<mml:mn>13</mml:mn>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>H</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="center">[<xref ref-type="bibr" rid="B44">44</xref>]</td>
<td align="center">
<inline-formula id="inf276">
<mml:math id="m283">
<mml:mrow>
<mml:mn>19</mml:mn>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>H</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="center">[<xref ref-type="bibr" rid="B45">45</xref>]</td>
<td align="center">
<inline-formula id="inf277">
<mml:math id="m284">
<mml:mrow>
<mml:mn>25</mml:mn>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>H</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="center">[<xref ref-type="bibr" rid="B46">46</xref>]</td>
<td align="center">
<inline-formula id="inf278">
<mml:math id="m285">
<mml:mrow>
<mml:mn>35</mml:mn>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>H</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>4</mml:mn>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>F</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="center">[<xref ref-type="bibr" rid="B47">47</xref>]</td>
<td align="center">
<inline-formula id="inf279">
<mml:math id="m286">
<mml:mrow>
<mml:mn>11</mml:mn>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>H</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>5</mml:mn>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>7</mml:mn>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>F</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="center">This protocol</td>
<td align="center">
<inline-formula id="inf280">
<mml:math id="m287">
<mml:mrow>
<mml:mn>20</mml:mn>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>H</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>By comparing the computational costs in <xref ref-type="table" rid="T1">Table 1</xref>, we can see that this protocol has slightly higher computational costs than [<xref ref-type="bibr" rid="B43">43</xref>, <xref ref-type="bibr" rid="B44">44</xref>] but lower computational costs than [<xref ref-type="bibr" rid="B45">45</xref>&#x2013;<xref ref-type="bibr" rid="B47">47</xref>]. However, [<xref ref-type="bibr" rid="B43">43</xref>] cannot perform mutual authentication and [<xref ref-type="bibr" rid="B44">44</xref>] cannot resist replay attacks. For security protocols, security attributes are the most important, so it is practical to exchange high security and low communication costs with appropriate computational costs. Therefore, this protocol has reasonable computational overhead and better security, which can better meet the traditional multi-server network environment with higher security requirements.</p>
</sec>
<sec id="s7-2">
<title>6.2 Communication overhead</title>
<p>To contrast the communication overhead more intuitively, the identity length is marked as <inline-formula id="inf281">
<mml:math id="m288">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>32</mml:mn>
<mml:mtext>&#x2009;bits</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>. The timestamp length is <inline-formula id="inf282">
<mml:math id="m289">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>T</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>32</mml:mn>
<mml:mtext>&#x2009;bits</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>. The output length of the hash function is <inline-formula id="inf283">
<mml:math id="m290">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>H</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>160</mml:mn>
<mml:mtext>&#x2009;bits</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> the output length of symmetric encryption is <inline-formula id="inf284">
<mml:math id="m291">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>160</mml:mn>
<mml:mtext>&#x2009;bits</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>, and the output length of the Chebyshev chaotic map is <inline-formula id="inf285">
<mml:math id="m292">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>160</mml:mn>
<mml:mtext>&#x2009;bits</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>
<xref ref-type="table" rid="T2">Table 2</xref> shows the number of message flow transmissions for the protocols in the table. In <xref ref-type="fig" rid="F2">Figure 2</xref>, we have only two protocol message streams, which is the lowest of the protocols compared. There are also obvious differences in message transmission bytes: [<xref ref-type="bibr" rid="B43">43</xref>] has 1600 bits. [<xref ref-type="bibr" rid="B44">44</xref>] has 3040 bits, [<xref ref-type="bibr" rid="B45">45</xref>] has 2336 bits, [<xref ref-type="bibr" rid="B46">46</xref>] has 2560 bits, and [<xref ref-type="bibr" rid="B47">47</xref>] has 1376 bits. This protocol transmits two messages in the logon and authentication key negotiation stage. First, <inline-formula id="inf286">
<mml:math id="m293">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> sends the request message <inline-formula id="inf287">
<mml:math id="m294">
<mml:mrow>
<mml:mfenced open="" close="}" separators="&#x7c;">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>U</mml:mi>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf288">
<mml:math id="m295">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and the overhead is <inline-formula id="inf289">
<mml:math id="m296">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>160</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>32</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>512</mml:mn>
<mml:mtext>&#x2009;bits</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>. Next, <inline-formula id="inf290">
<mml:math id="m297">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> sends messages <inline-formula id="inf291">
<mml:math id="m298">
<mml:mrow>
<mml:mfenced open="{" close="}" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>S</mml:mi>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf292">
<mml:math id="m299">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and the overhead is <inline-formula id="inf293">
<mml:math id="m300">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>160</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>32</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>352</mml:mn>
<mml:mtext>&#x2009;bits</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>. So the total overhead in this protocol is <inline-formula id="inf294">
<mml:math id="m301">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>512</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>352</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>864</mml:mn>
<mml:mtext>&#x2009;bits</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>. By comparing the communication cost in <xref ref-type="fig" rid="F3">Figure 3</xref>, it is obvious that this protocol has less communication overhead. Therefore, compared with similar schemes, this protocol has better security attributes, lower communication overhead, and is more practical.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Communication overhead comparison.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Protocol</th>
<th align="center">Communication overhead</th>
<th align="center">Number of messages</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">[<xref ref-type="bibr" rid="B43">43</xref>]</td>
<td align="center">1600 bits</td>
<td align="center">4</td>
</tr>
<tr>
<td align="center">[<xref ref-type="bibr" rid="B44">44</xref>]</td>
<td align="center">3040 bits</td>
<td align="center">4</td>
</tr>
<tr>
<td align="center">[<xref ref-type="bibr" rid="B45">45</xref>]</td>
<td align="center">2336 bits</td>
<td align="center">4</td>
</tr>
<tr>
<td align="center">[<xref ref-type="bibr" rid="B46">46</xref>]</td>
<td align="center">2560 bits</td>
<td align="center">4</td>
</tr>
<tr>
<td align="center">[<xref ref-type="bibr" rid="B47">47</xref>]</td>
<td align="center">1376 bits</td>
<td align="center">3</td>
</tr>
<tr>
<td align="center">This protocol</td>
<td align="center">864 bits</td>
<td align="center">2</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Number of messages.</p>
</caption>
<graphic xlink:href="fphy-13-1509626-g002.tif"/>
</fig>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Communication overhead.</p>
</caption>
<graphic xlink:href="fphy-13-1509626-g003.tif"/>
</fig>
</sec>
</sec>
<sec sec-type="conclusion" id="s8">
<title>7 Conclusion</title>
<p>This article delves into the security and efficiency challenges faced by enterprise financial management networks in the digital age, particularly in the rapid development of technologies such as cloud computing and IoT. The inevitable trend for financial management systems to transition from single-machine or local area network models to multi-server, cross-regional, and high-concurrency network environments is highlighted. Although this transformation significantly improves the flexibility and real-time performance of financial management, it also makes system security issues increasingly prominent. This becomes a key consideration for the sustainable development and survival of enterprises. The issue of network information security, especially data privacy and communication security, has become an important issue that urgently needs to be addressed. We propose a lightweight, adaptive security protocol for special requirements in multi-server environments. This protocol effectively enhances the identity authentication strength and session key security of both communication parties, reducing the risk of data leakage and illegal access. This article comprehensively evaluates the security of the protocol using both informal and formal analysis, ensuring its robustness in various attack scenarios. In addition, we also fully consider the practicality and performance optimization issues of this protocol. By designing with low computational and communication costs, as well as a lightweight message transmission mechanism, this protocol demonstrates good efficiency and user experience in practical applications.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s9">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/supplementary material; further inquiries can be directed to the corresponding author.</p>
</sec>
<sec sec-type="author-contributions" id="s10">
<title>Author contributions</title>
<p>JH: conceptualization, data curation, investigation, methodology, project administration, resources, supervision, validation, writing&#x2013;original draft, and writing&#x2013;review and editing. XK: formal analysis, investigation, project administration, resources, supervision, validation, and writing&#x2013;review and editing.</p>
</sec>
<sec sec-type="funding-information" id="s11">
<title>Funding</title>
<p>The author(s) declare that no financial support was received for the research, authorship, and/or publication of this article.</p>
</sec>
<sec sec-type="COI-statement" id="s12">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="ai-statement" id="s13">
<title>Generative AI statement</title>
<p>The author(s) declare that no Generative AI was used in the creation of this manuscript.</p>
</sec>
<sec sec-type="disclaimer" id="s14">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<label>1.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gonzalez-Urango</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Mu</surname>
<given-names>E</given-names>
</name>
<name>
<surname>Ujwary-Gil</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Florek-Paszkowska</surname>
<given-names>A</given-names>
</name>
</person-group>. <article-title>Analytic network process in economics, finance and management: Contingency factors, current trends and further research</article-title>. <source>Expert Syst Appl</source> (<year>2024</year>) <volume>237</volume>:<fpage>121415</fpage>. <pub-id pub-id-type="doi">10.1016/j.eswa.2023.121415</pub-id>
</citation>
</ref>
<ref id="B2">
<label>2.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Budiasih</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>The influence of digital technology on financial management</article-title>. <source>Account Stud Tax J (Count)</source> (<year>2024</year>) <volume>1</volume>(<issue>1</issue>):<fpage>92</fpage>&#x2013;<lpage>100</lpage>. <pub-id pub-id-type="doi">10.62207/wb6d3c96</pub-id>
</citation>
</ref>
<ref id="B3">
<label>3.</label>
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Song</surname>
<given-names>N</given-names>
</name>
</person-group>. <article-title>Design and development of inclusive finance network security system model based on neural network algorithm</article-title>. In: <conf-name>2024 Asia-Pacific Conference on Software Engineering, Social Network Analysis and Intelligent Computing (SSAIC)</conf-name>. <publisher-name>IEEE</publisher-name> (<year>2024</year>). <fpage>539</fpage>&#x2013;<lpage>43</lpage>.</citation>
</ref>
<ref id="B4">
<label>4.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lyu</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Gharakheili</surname>
<given-names>HH</given-names>
</name>
<name>
<surname>Sivaraman</surname>
<given-names>V</given-names>
</name>
</person-group>. <article-title>A survey on enterprise network security: Asset behavioral monitoring and distributed attack detection</article-title>. <source>IEEE Access</source> (<year>2024</year>) <volume>12</volume>:<fpage>89363</fpage>&#x2013;<lpage>83</lpage>. <pub-id pub-id-type="doi">10.1109/access.2024.3419068</pub-id>
</citation>
</ref>
<ref id="B5">
<label>5.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Okoye</surname>
<given-names>CC</given-names>
</name>
<name>
<surname>Nwankwo</surname>
<given-names>EE</given-names>
</name>
<name>
<surname>Usman</surname>
<given-names>FO</given-names>
</name>
<name>
<surname>Mhlongo</surname>
<given-names>NZ</given-names>
</name>
<name>
<surname>Odeyemi</surname>
<given-names>O</given-names>
</name>
<name>
<surname>Ike</surname>
<given-names>CU</given-names>
</name>
</person-group>. <article-title>Securing financial data storage: A review of cybersecurity challenges and solutions</article-title>. <source>Int J Sci Res Archive</source> (<year>2024</year>) <volume>11</volume>(<issue>1</issue>):<fpage>1968</fpage>&#x2013;<lpage>1983</lpage>. <pub-id pub-id-type="doi">10.30574/ijsra.2024.11.1.0267</pub-id>
</citation>
</ref>
<ref id="B6">
<label>6.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Atadoga</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Sodiya</surname>
<given-names>EO</given-names>
</name>
<name>
<surname>Umoga</surname>
<given-names>UJ</given-names>
</name>
<name>
<surname>Amoo</surname>
<given-names>OO</given-names>
</name>
</person-group>. <article-title>A comprehensive review of machine learning&#x27;s role in enhancing network security and threat detection</article-title>. <source>World J Adv Res Rev</source> (<year>2024</year>) <volume>21</volume>(<issue>2</issue>):<fpage>877</fpage>&#x2013;<lpage>886</lpage>. <pub-id pub-id-type="doi">10.30574/wjarr.2024.21.2.0501</pub-id>
</citation>
</ref>
<ref id="B7">
<label>7.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>R</given-names>
</name>
<name>
<surname>Mou</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>W</given-names>
</name>
</person-group>. <article-title>A provably secure multi-server authentication scheme based on Chebyshev chaotic map</article-title>. <source>J Inf Security Appl</source> (<year>2024</year>) <volume>83</volume>:<fpage>103788</fpage>. <pub-id pub-id-type="doi">10.1016/j.jisa.2024.103788</pub-id>
</citation>
</ref>
<ref id="B8">
<label>8.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Akinsanya</surname>
<given-names>MO</given-names>
</name>
<name>
<surname>Ekechi</surname>
<given-names>CC</given-names>
</name>
<name>
<surname>Okeke</surname>
<given-names>CD</given-names>
</name>
</person-group>. <article-title>The evolution of cyber resilience frameworks in network security: a conceptual analysis</article-title>. <source>Computer Sci &#x26; IT Res J</source> (<year>2024</year>) <volume>5</volume>(<issue>4</issue>):<fpage>926</fpage>&#x2013;<lpage>949</lpage>.</citation>
</ref>
<ref id="B9">
<label>9.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Miao</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Ning</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Tiwari</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>A blockchain-enabled privacy-preserving authentication management protocol for Internet of Medical Things</article-title>. <source>Expert Syst Appl</source> (<year>2024</year>) <volume>237</volume>:<fpage>121329</fpage>. <pub-id pub-id-type="doi">10.1016/j.eswa.2023.121329</pub-id>
</citation>
</ref>
<ref id="B10">
<label>10.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mahmood</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Ghaffar</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Farooq</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Yahya</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Das</surname>
<given-names>AK</given-names>
</name>
<name>
<surname>Chaudhry</surname>
<given-names>SA</given-names>
</name>
</person-group>. <article-title>A security enhanced chaotic-map based authentication protocol for internet of drones</article-title>. <source>IEEE Internet Things J</source> (<year>2024</year>) <volume>11</volume>:<fpage>22301</fpage>&#x2013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.1109/jiot.2024.3379930</pub-id>
</citation>
</ref>
<ref id="B11">
<label>11.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Miao</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Garg</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Hossain</surname>
<given-names>MS</given-names>
</name>
<name>
<surname>Rodrigues</surname>
<given-names>JJ</given-names>
</name>
</person-group>. <article-title>Secure and efficient communication approaches for Industry 5.0 in edge computing</article-title>. <source>Computer Networks</source> (<year>2024</year>) <volume>242</volume>:<fpage>110244</fpage>. <pub-id pub-id-type="doi">10.1016/j.comnet.2024.110244</pub-id>
</citation>
</ref>
<ref id="B12">
<label>12.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shukla</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Patel</surname>
<given-names>SJ</given-names>
</name>
</person-group>. <article-title>A design of provably secure multi-factor ECC-based authentication protocol in multi-server cloud architecture</article-title>. <source>Cluster Comput</source> (<year>2024</year>) <volume>27</volume>(<issue>2</issue>):<fpage>1559</fpage>&#x2013;<lpage>80</lpage>. <pub-id pub-id-type="doi">10.1007/s10586-023-04034-6</pub-id>
</citation>
</ref>
<ref id="B13">
<label>13.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Barman</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Chattopadhyay</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Samanta</surname>
<given-names>D</given-names>
</name>
</person-group>. <article-title>A lightweight authentication protocol for a blockchain-based off-chain medical data access in multi-server environment</article-title>. <source>SN Computer Sci</source> (<year>2024</year>) <volume>5</volume>(<issue>3</issue>):<fpage>292</fpage>. <pub-id pub-id-type="doi">10.1007/s42979-024-02660-4</pub-id>
</citation>
</ref>
<ref id="B14">
<label>14.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Prabhakar</surname>
<given-names>NVSS</given-names>
</name>
<name>
<surname>Talari</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Jangirala</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Vangapa</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>Security analysis of two authentication and key agreement protocols based on multi-server architecture</article-title>. In: <conf-name>2023 4th International Conference on Intelligent Technologies (CONIT)</conf-name>. <publisher-name>IEEE</publisher-name> (<year>2024</year>). p. <fpage>1</fpage>&#x2013;<lpage>7</lpage>. <pub-id pub-id-type="doi">10.1109/CONIT61985.2024.10626922</pub-id>
</citation>
</ref>
<ref id="B15">
<label>15.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Lee</surname>
<given-names>TF</given-names>
</name>
<name>
<surname>Chang</surname>
<given-names>IP</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>WJ</given-names>
</name>
</person-group>. <source>A Privacy-preserving Authenticated Key Agreement Scheme based on Physically Unclonable Functions for Multi-server Architecture</source>. <publisher-name>IEEE Transactions on Services Computing</publisher-name> (<year>2024</year>).</citation>
</ref>
<ref id="B16">
<label>16.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lamport</surname>
<given-names>L</given-names>
</name>
</person-group>. <article-title>Password authentication with insecure communication</article-title>. <source>Commun Acm</source> (<year>1981</year>) <volume>24</volume>(<issue>11</issue>):<fpage>770</fpage>&#x2013;<lpage>2</lpage>. <pub-id pub-id-type="doi">10.1145/358790.358797</pub-id>
</citation>
</ref>
<ref id="B17">
<label>17.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Tsaur</surname>
<given-names>WJ</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>CC</given-names>
</name>
<name>
<surname>Lee</surname>
<given-names>WB</given-names>
</name>
</person-group>. <article-title>A flexible user authentication for multi-server internet services</article-title>. In: <source>First International Conference on Networking Colmar:the series Lecture Notes in Computer Science</source>. <publisher-loc>France</publisher-loc>: <publisher-name>Springer Berlin Heidelberg</publisher-name> (<year>2001</year>). p. <fpage>174</fpage>&#x2013;<lpage>83</lpage>.</citation>
</ref>
<ref id="B18">
<label>18.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>LH</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>LC</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>MS</given-names>
</name>
</person-group>. <article-title>A remote password authentication scheme for multiserver architecture using neural networks</article-title>. <source>IEEE Trans Neural Networks</source> (<year>2001</year>) <volume>12</volume>(<issue>6</issue>):<fpage>1498</fpage>&#x2013;<lpage>504</lpage>. <pub-id pub-id-type="doi">10.1109/72.963786</pub-id>
</citation>
</ref>
<ref id="B19">
<label>19.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lin</surname>
<given-names>IC</given-names>
</name>
<name>
<surname>Hwang</surname>
<given-names>MS</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>LH</given-names>
</name>
</person-group>. <article-title>A new remote user authentication scheme for multi-server architecture</article-title>. <source>Future Generation Computer Syst</source> (<year>2003</year>) <volume>19</volume>(<issue>1</issue>):<fpage>13</fpage>&#x2013;<lpage>22</lpage>. <pub-id pub-id-type="doi">10.1016/s0167-739x(02)00093-6</pub-id>
</citation>
</ref>
<ref id="B20">
<label>20.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yoon</surname>
<given-names>EJ</given-names>
</name>
<name>
<surname>Yoo</surname>
<given-names>KY</given-names>
</name>
</person-group>. <article-title>Robust biometrics-based multi-server authentication with key agreement scheme for smart cards on elliptic curve cryptosystem</article-title>. <source>The J Supercomputing</source> (<year>2013</year>) <volume>63</volume>(<issue>1</issue>):<fpage>235</fpage>&#x2013;<lpage>55</lpage>. <pub-id pub-id-type="doi">10.1007/s11227-010-0512-1</pub-id>
</citation>
</ref>
<ref id="B21">
<label>21.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Kim</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Jeon</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Lee</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Lee</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Won</surname>
<given-names>D</given-names>
</name>
</person-group>. <source>Cryptanalysis and improvement of a Biometrics-based multi-server authentication with key agreement scheme</source>, <volume>451</volume>. <publisher-name>IACR Cryptology ePrint Archive</publisher-name> (<year>2011</year>).</citation>
</ref>
<ref id="B22">
<label>22.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kalra</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Sood</surname>
<given-names>S</given-names>
</name>
</person-group>. <article-title>Advanced remote user authentication protocol for multi-server architecture based on ecc</article-title>. <source>J Inf Security Appl</source> (<year>2013</year>) <volume>18</volume>(<issue>2-3</issue>):<fpage>98</fpage>&#x2013;<lpage>107</lpage>. <pub-id pub-id-type="doi">10.1016/j.jisa.2013.07.005</pub-id>
</citation>
</ref>
<ref id="B23">
<label>23.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Guo</surname>
<given-names>D</given-names>
</name>
<name>
<surname>Wen</surname>
<given-names>F</given-names>
</name>
</person-group>. <article-title>Analysis and improvement of a robust smart card based-authentication scheme for multi-server architecture</article-title>. <source>Wireless Personal Commun</source> (<year>2014</year>) <volume>78</volume>(<issue>1</issue>):<fpage>475</fpage>&#x2013;<lpage>90</lpage>. <pub-id pub-id-type="doi">10.1007/s11277-014-1762-7</pub-id>
</citation>
</ref>
<ref id="B24">
<label>24.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gupta</surname>
<given-names>PC</given-names>
</name>
<name>
<surname>Dhar</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>Hash based multi-server key exchange protocol using smart card</article-title>. <source>Wireless Personal Commun</source> (<year>2016</year>) <volume>87</volume>(<issue>1</issue>):<fpage>225</fpage>&#x2013;<lpage>44</lpage>. <pub-id pub-id-type="doi">10.1007/s11277-015-3040-8</pub-id>
</citation>
</ref>
<ref id="B25">
<label>25.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Zhiming</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Khurram</surname>
<given-names>KM</given-names>
</name>
</person-group>. <article-title>Cryptanalysis and improvement of a biometrics-based authentication and key agreement scheme for multi-server environments</article-title>. <source>Plos One</source> (<year>2018</year>) <volume>13</volume>(<issue>3</issue>):<fpage>e0194093</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pone.0194093</pub-id>
</citation>
</ref>
<ref id="B26">
<label>26.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>D</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>Understanding security failures of multi-factor authentication schemes for multi-server environments</article-title>. <source>Comput Security</source> (<year>2020</year>) <volume>88</volume>(<issue>Jan.</issue>):<fpage>101619</fpage>&#x2013;<lpage>13</lpage>. <pub-id pub-id-type="doi">10.1016/j.cose.2019.101619</pub-id>
</citation>
</ref>
<ref id="B27">
<label>27.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mart&#xed;nez-Pel&#xe1;ez</surname>
<given-names>R</given-names>
</name>
<name>
<surname>Toral-Cruz</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Parra-Michel</surname>
<given-names>JR</given-names>
</name>
<name>
<surname>Garc&#xed;a</surname>
<given-names>V</given-names>
</name>
<name>
<surname>Mena</surname>
<given-names>LJ</given-names>
</name>
<name>
<surname>F&#xe9;lix</surname>
<given-names>VG</given-names>
</name>
<etal/>
</person-group> <article-title>An enhanced lightweight IoT-based authentication scheme in cloud computing circumstances</article-title>. <source>Sensors</source> (<year>2019</year>) <volume>19</volume>(<issue>9</issue>):<fpage>2098</fpage>. <pub-id pub-id-type="doi">10.3390/s19092098</pub-id>
</citation>
</ref>
<ref id="B28">
<label>28.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yu</surname>
<given-names>SJ</given-names>
</name>
<name>
<surname>Park</surname>
<given-names>KS</given-names>
</name>
<name>
<surname>Park</surname>
<given-names>YHY</given-names>
</name>
</person-group>. <article-title>A secure lightweight three-factor authentication scheme for IoT in cloud computing environment</article-title>. <source>Sensors</source> (<year>2019</year>) <volume>19</volume>:<fpage>3598</fpage>. <pub-id pub-id-type="doi">10.3390/s19163598</pub-id>
</citation>
</ref>
<ref id="B29">
<label>29.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wong</surname>
<given-names>MK</given-names>
</name>
<name>
<surname>Hsu</surname>
<given-names>CL</given-names>
</name>
<name>
<surname>Le</surname>
<given-names>TV</given-names>
</name>
<name>
<surname>Hsieh</surname>
<given-names>MC</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>TW</given-names>
</name>
</person-group>. <article-title>Three-factor fast authentication scheme with time bound and user anonymity for multi-server e-health systems in 5g-based wireless sensor networks</article-title>. <source>Sensors</source> (<year>2020</year>) <volume>20</volume>(<issue>9</issue>):<fpage>2511</fpage>. <pub-id pub-id-type="doi">10.3390/s20092511</pub-id>
</citation>
</ref>
<ref id="B30">
<label>30.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Tsai</surname>
<given-names>CH</given-names>
</name>
<name>
<surname>Su</surname>
<given-names>PC</given-names>
</name>
</person-group>. <article-title>The application of multi-server authentication scheme in internet banking transaction environments</article-title>. In: <source>Information systems and e-business management</source> (<year>2020</year>). p. <fpage>1</fpage>&#x2013;<lpage>29</lpage>.</citation>
</ref>
<ref id="B31">
<label>31.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sudhakar</surname>
<given-names>T</given-names>
</name>
<name>
<surname>Natarajan</surname>
<given-names>V</given-names>
</name>
<name>
<surname>Gopinath</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Saranyadevi</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>An enhanced authentication protocol for multi-server environment using password and smart card</article-title>. <source>Wireless PersonalCommunications</source> (<year>2020</year>) <volume>115</volume>:<fpage>2779</fpage>&#x2013;<lpage>803</lpage>. <pub-id pub-id-type="doi">10.1007/s11277-020-07462-4</pub-id>
</citation>
</ref>
<ref id="B32">
<label>32.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sahoo</surname>
<given-names>SS</given-names>
</name>
<name>
<surname>Mohanty</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Majhi</surname>
<given-names>B</given-names>
</name>
</person-group>. <article-title>An improved and secure two-factor dynamic ID based authenticated key agreement scheme for multi-server environment</article-title>. <source>Wireless Personal Commun</source> (<year>2018</year>) <volume>101</volume>:<fpage>1307</fpage>&#x2013;<lpage>33</lpage>. <pub-id pub-id-type="doi">10.1007/s11277-018-5764-8</pub-id>
</citation>
</ref>
<ref id="B33">
<label>33.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xia</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>L</given-names>
</name>
</person-group>. <article-title>A secure three-factor authenticated key agreement scheme for multi-server environment</article-title>. <source>Comput Mater Continua</source> (<year>2020</year>) <volume>64</volume>(<issue>3</issue>):<fpage>1673</fpage>&#x2013;<lpage>89</lpage>. <pub-id pub-id-type="doi">10.32604/cmc.2020.010177</pub-id>
</citation>
</ref>
<ref id="B34">
<label>34.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Akram</surname>
<given-names>MA</given-names>
</name>
<name>
<surname>Ghaffar</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Mahmood</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Kumari</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Agarwal</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>CM</given-names>
</name>
</person-group>. <article-title>An anonymous authenticated key-agreement scheme for multi-server infrastructure</article-title>. <source>Human-centric Comput Inf Sci.</source> (<year>2020</year>) <volume>10</volume>:<fpage>22</fpage>. <pub-id pub-id-type="doi">10.1186/s13673-020-00227-9</pub-id>
</citation>
</ref>
<ref id="B35">
<label>35.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wu</surname>
<given-names>TY</given-names>
</name>
<name>
<surname>Lee</surname>
<given-names>ZY</given-names>
</name>
<name>
<surname>Obaidat</surname>
<given-names>MS</given-names>
</name>
<name>
<surname>Kumari</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Kumar</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>CM</given-names>
</name>
</person-group>. <article-title>An authenticated key exchange protocol for multi-server architecture in 5G networks</article-title>. <source>IEEE Access</source> (<year>2020</year>) <volume>8</volume>:<fpage>28096</fpage>&#x2013;<lpage>108</lpage>. <pub-id pub-id-type="doi">10.1109/access.2020.2969986</pub-id>
</citation>
</ref>
<ref id="B36">
<label>36.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wu</surname>
<given-names>F</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Sangaiah</surname>
<given-names>AK</given-names>
</name>
<name>
<surname>Rodrigues</surname>
<given-names>JJ</given-names>
</name>
</person-group>. <article-title>Authentication protocol for distributed cloud computing: An explanation of the security situations for internet-of-things-enabled devices</article-title>. <source>IEEE Consumer Electronics Mag</source> (<year>2018</year>) <volume>7</volume>(<issue>6</issue>):<fpage>38</fpage>&#x2013;<lpage>44</lpage>. <pub-id pub-id-type="doi">10.1109/mce.2018.2851744</pub-id>
</citation>
</ref>
<ref id="B37">
<label>37.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Km</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Wa</surname>
<given-names>A</given-names>
</name>
<name>
<surname>As</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Altaf</surname>
<given-names>I</given-names>
</name>
<name>
<surname>Lodhi</surname>
<given-names>MA</given-names>
</name>
<name>
<surname>Islam</surname>
<given-names>SH</given-names>
</name>
</person-group>. <article-title>An enhanced and provably secure multi-factor authenticationscheme for Internet-of-Multimedia-Things environments</article-title>. <source>Comput &#x26; Electr Eng</source> (<year>2020</year>) <volume>88</volume>:<fpage>106888</fpage>. <pub-id pub-id-type="doi">10.1016/j.compeleceng.2020.106888</pub-id>
</citation>
</ref>
<ref id="B38">
<label>38.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hsu</surname>
<given-names>CL</given-names>
</name>
<name>
<surname>Le</surname>
<given-names>TV</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>CF</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>TW</given-names>
</name>
<name>
<surname>Chuang</surname>
<given-names>TH</given-names>
</name>
</person-group>. <article-title>A privacy-preserved e2e authenticated key exchange protocol for multi-server architecture in edge computing networks</article-title>. <source>IEEE Access</source> (<year>2020</year>) <volume>8</volume>:<fpage>40791</fpage>&#x2013;<lpage>808</lpage>. <pub-id pub-id-type="doi">10.1109/access.2020.2976431</pub-id>
</citation>
</ref>
<ref id="B39">
<label>39.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Miao</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Ning</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Shankar</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Maple</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Rodrigues</surname>
<given-names>JJ</given-names>
</name>
</person-group>. <article-title>A UAV-assisted authentication protocol for internet of vehicles</article-title>. <source>IEEE Trans Intell Transportation Syst</source> (<year>2024</year>) <volume>25</volume>(<issue>8</issue>):<fpage>10286</fpage>&#x2013;<lpage>97</lpage>. <pub-id pub-id-type="doi">10.1109/tits.2024.3360251</pub-id>
</citation>
</ref>
<ref id="B40">
<label>40.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tanveer</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Chelloug</surname>
<given-names>SA</given-names>
</name>
<name>
<surname>Alabdulhafith</surname>
<given-names>M</given-names>
</name>
<name>
<surname>El-Latif</surname>
<given-names>AAA</given-names>
</name>
</person-group>. <article-title>Lightweight authentication protocol for connected medical IoT through privacy-preserving access</article-title>. <source>Egypt Inform J</source> (<year>2024</year>) <volume>26</volume>:<fpage>100474</fpage>. <pub-id pub-id-type="doi">10.1016/j.eij.2024.100474</pub-id>
</citation>
</ref>
<ref id="B41">
<label>41.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xiao</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Miao</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>A novel blockchain-based digital forensics framework for preserving evidence and enabling investigation in industrial Internet of Things</article-title>. <source>Alexandria Eng J</source> (<year>2024</year>) <volume>86</volume>:<fpage>631</fpage>&#x2013;<lpage>643</lpage>. <pub-id pub-id-type="doi">10.1016/j.aej.2023.12.021</pub-id>
</citation>
</ref>
<ref id="B42">
<label>42.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>A novel two-factor multi-gateway authentication protocol for WSNs</article-title>. <source>Ad Hoc Networks</source> (<year>2023</year>) <volume>141</volume>:<fpage>103089</fpage>. <pub-id pub-id-type="doi">10.1016/j.adhoc.2023.103089</pub-id>
</citation>
</ref>
<ref id="B43">
<label>43.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lu</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Peng</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>A lightweight ID based authentication and key agreement protocol for multi-server architecture</article-title>. <source>Int J Distributed Sensor Networks</source> (<year>2015</year>) <volume>11</volume>(<issue>3</issue>):<fpage>635890</fpage>. <pub-id pub-id-type="doi">10.1155/2015/635890</pub-id>
</citation>
</ref>
<ref id="B44">
<label>44.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xue</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Hong</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>C</given-names>
</name>
</person-group>. <article-title>A lightweight dynamic pseudonym identity based authentication and key agreement protocol without verification tables for multi-server architecture</article-title>. <source>J Computer Syst Sci</source> (<year>2014</year>) <volume>80</volume>(<issue>1</issue>):<fpage>195</fpage>&#x2013;<lpage>206</lpage>. <pub-id pub-id-type="doi">10.1016/j.jcss.2013.07.004</pub-id>
</citation>
</ref>
<ref id="B45">
<label>45.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Xiong</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>W</given-names>
</name>
</person-group>. <article-title>An efficient and security dynamic identity based authentication protocol for multi-server architecture using smart cards</article-title>. <source>J Netw &#x26; Computer Appl</source> (<year>2012</year>) <volume>35</volume>(<issue>2</issue>):<fpage>763</fpage>&#x2013;<lpage>9</lpage>.</citation>
</ref>
<ref id="B46">
<label>46.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cui</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Zhong</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Wei</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>L</given-names>
</name>
</person-group>. <article-title>Chaotic map-based authentication scheme using physical unclonable function for internet of autonomous vehicle</article-title>. <source>IEEE Trans Intell Transportation Syst</source> (<year>2022</year>) <volume>24</volume>(<issue>3</issue>):<fpage>3167</fpage>&#x2013;<lpage>81</lpage>. <pub-id pub-id-type="doi">10.1109/tits.2022.3227949</pub-id>
</citation>
</ref>
<ref id="B47">
<label>47.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tanveer</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Alasmary</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Kumar</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Nayak</surname>
<given-names>A</given-names>
</name>
</person-group>. <article-title>SAAF-IoD: secure and anonymous authentication framework for the internet of drones</article-title>. <source>IEEE Trans Vehicular Technology</source> (<year>2024</year>) <volume>73</volume>(<issue>1</issue>):<fpage>232</fpage>&#x2013;<lpage>44</lpage>. <pub-id pub-id-type="doi">10.1109/tvt.2023.3306813</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>