<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s100302450</article-id>
<article-id pub-id-type="publisher-id">sensors-10-02450</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Cryptanalysis and Security Improvements of ‘Two-Factor User Authentication in Wireless Sensor Networks’</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Khan</surname><given-names>Muhammad Khurram</given-names></name><xref ref-type="aff" rid="af1-sensors-10-02450"><sup>1</sup></xref><xref ref-type="corresp" rid="c1-sensors-10-02450"><sup>*</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Alghathbar</surname><given-names>Khaled</given-names></name><xref ref-type="aff" rid="af1-sensors-10-02450"><sup>1</sup></xref><xref ref-type="aff" rid="af2-sensors-10-02450"><sup>2</sup></xref></contrib></contrib-group>
<aff id="af1-sensors-10-02450">
<label>1</label> Center of Excellence in Information Assurance (CoEIA), King Saud University, Saudi Arabia</aff>
<aff id="af2-sensors-10-02450">
<label>2</label> Information Systems Department, College of Computer and Information Sciences, King Saud University, Saudi Arabia; E-Mail: <email>kalghathbar@ksu.edu.sa</email></aff>
<author-notes>
<corresp id="c1-sensors-10-02450">
<label>*</label>Author to whom correspondence should be addressed; E-Mail: <email>mkhurram@ksu.edu.sa</email>; Tel.: +966-1-4696457.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2010</year></pub-date>
<pub-date pub-type="epub">
<day>23</day>
<month>3</month>
<year>2010</year></pub-date>
<volume>10</volume>
<issue>3</issue>
<fpage>2450</fpage>
<lpage>2459</lpage>
<history>
<date date-type="received">
<day>5</day>
<month>1</month>
<year>2010</year></date>
<date date-type="rev-recd">
<day>4</day>
<month>3</month>
<year>2010</year></date>
<date date-type="accepted">
<day>12</day>
<month>3</month>
<year>2010</year></date></history>
<permissions>
<copyright-statement>© 2010 by the authors; licensee Molecular Diversity Preservation International, Basel, Switzerland.</copyright-statement>
<copyright-year>2010</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>User authentication in wireless sensor networks (WSN) is a critical security issue due to their unattended and hostile deployment in the field. Since sensor nodes are equipped with limited computing power, storage, and communication modules; authenticating remote users in such resource-constrained environments is a paramount security concern. Recently, M.L. Das proposed a two-factor user authentication scheme in WSNs and claimed that his scheme is secure against different kinds of attack. However, in this paper, we show that the M.L. Das-scheme has some critical security pitfalls and cannot be recommended for real applications. We point out that in his scheme: users cannot change/update their passwords, it does not provide mutual authentication between gateway node and sensor node, and is vulnerable to gateway node bypassing attack and privileged-insider attack. To overcome the inherent security weaknesses of the M.L. Das-scheme, we propose improvements and security patches that attempt to fix the susceptibilities of his scheme. The proposed security improvements can be incorporated in the M.L. Das-scheme for achieving a more secure and robust two-factor user authentication in WSNs.</p></abstract>
<kwd-group>
<kwd>authentication</kwd>
<kwd>wireless sensor network</kwd>
<kwd>security</kwd>
<kwd>smart card</kwd>
<kwd>cryptanalysis</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>With the recent advances in communication technologies, wireless sensor networks (WSN) have emerged as a very active research avenue. WSNs have many common features with wireless ad hoc networks, and in several cases they are considered as a special case of them [<xref ref-type="bibr" rid="b1-sensors-10-02450">1</xref>]. A WSN usually consists of a large number of autonomous sensor nodes, which are generally deployed in unattended environments. Each sensor node has some level of computing power, limited storage, and a small communication module to communicate with the outside world over an ad hoc wireless network [<xref ref-type="bibr" rid="b2-sensors-10-02450">2</xref>]. WSNs are widely used, including in areas such as military, battlefield, homeland security, healthcare, environment monitoring, agriculture and cropping, manufacturing, <italic>etc</italic>.</p>
<p>Since the sensor network may operate in a hostile environment such as a military battlefield, security is critical. Robust techniques are needed to provide low-latency, survivable, and secure networks during the deployment of WSN. In addition, the network should be protected against intrusions and spoofing attacks [<xref ref-type="bibr" rid="b3-sensors-10-02450">3</xref>]. Access control is an indispensable cryptographic primitive upon which other security primitives are built. A WSN should be smart enough to distinguish legitimate users from illegitimate users, resulting in the problem of user authentication [<xref ref-type="bibr" rid="b3-sensors-10-02450">3</xref>]. If a WSN is deployed for a highly secure application, then the data collected within the sensor work is valuable and should only be given access to the registered or legitimate users. Benenson <italic>et al.</italic> first sketched the security issues of user authentication in WSN and introduced the notion of <italic>n-authentication</italic> [<xref ref-type="bibr" rid="b4-sensors-10-02450">4</xref>]. Later on, Watro <italic>et al.</italic> proposed a TinyPK authentication protocol with public key cryptography that uses RSA and Diffie-Hellman algorithms [<xref ref-type="bibr" rid="b5-sensors-10-02450">5</xref>], however, this protocol suffers from masquerade sensor node attack, in which an adversary can spoof the user.</p>
<p>In 2006, Wong <italic>et al.</italic> [<xref ref-type="bibr" rid="b6-sensors-10-02450">6</xref>] proposed a light-weight dynamic user authentication scheme in WSN environment. They justified their scheme through security and cost analysis and discussed the implementation issues with the recommendations of using the security features of IEEE 802.15.4 MAC sublayer. Later, Tseng <italic>et al.</italic> [<xref ref-type="bibr" rid="b7-sensors-10-02450">7</xref>] identified some security weaknesses in the scheme of Wong <italic>et al.,</italic> which prevent it from being implemented in real-life environments. They showed that Wong <italic>et al.</italic>’s scheme is not protected from replay and forgery attacks, passwords can easily be revealed by any of the sensor nodes, and users cannot freely change their passwords. To overcome these discrepancies, Tseng <italic>et al.</italic> proposed an enhanced scheme and claimed that their scheme not only retains the advantages of Wong <italic>et al.</italic>’s scheme, but provides: resistance to replay and forgery attacks, reduction of password leakage risk, and capability of changeable password with better efficiency [<xref ref-type="bibr" rid="b7-sensors-10-02450">7</xref>]. Lately, T.H. Lee [<xref ref-type="bibr" rid="b8-sensors-10-02450">8</xref>] also analyzed Wong <italic>et al.</italic>’s scheme and proposed two simple dynamic user authentication protocols that are variations of Wong <italic>et al.</italic>’s scheme. In his first protocol, T.H. Lee simplified the authentication process by reducing the computational load of sensor nodes while preserving the same security level of Wong <italic>et al.</italic>’s scheme. On the other hand, in his second protocol, T.H. Lee proposed a scheme in which an intruder cannot impersonate the gateway node to grant access to illegitimate users.</p>
<p>L.C. Ko [<xref ref-type="bibr" rid="b9-sensors-10-02450">9</xref>] proved that while Tseng <italic>et al.</italic>’s scheme achieves several security measures above Wong <italic>et al.</italic>’s scheme, it is still insecure under a reasonable attack model [<xref ref-type="bibr" rid="b9-sensors-10-02450">9</xref>]. L.C. Ko discussed that Tseng <italic>et al.</italic>’s scheme does not achieve mutual authentication between the Gateway node <italic>(GW)</italic> and the Sensor node <italic>(SN)</italic>, and between the User <italic>(U)</italic> and the SN. Furthermore, L.C. Ko identified that an adversary can forge the communication message which is sent from sensor node to the gateway node. Consequently, L.C. Ko proposed a modified scheme which attempts to overcome the aforementioned security pitfalls of Tseng <italic>et al.</italic>’s protocol and proved that his scheme has better security features than Tseng <italic>et al.</italic>’s scheme. [<xref ref-type="bibr" rid="b7-sensors-10-02450">7</xref>]</p>
<p>Binod <italic>et al.</italic> [<xref ref-type="bibr" rid="b10-sensors-10-02450">10</xref>] cryptanalyzed the authentication schemes of Wong <italic>et al.</italic> and Tseng <italic>et al.</italic> and proposed their improved scheme. Binod <italic>et al.</italic> showed that their scheme is more robust than previously published schemes and can withstand replay attack, forgery attack, man-in-the-middle attack and provides mutual authentication between login node and gateway node.</p>
<p>Recently, M.L. Das [<xref ref-type="bibr" rid="b11-sensors-10-02450">11</xref>] proposed a two-factor user authentication scheme in WSNs. M.L. Das also identified that Wong <italic>et al.</italic>’s protocol is vulnerable to many logged-in users with the same login-id threat, that is, who has a valid user’s password can easily login to the sensor network [<xref ref-type="bibr" rid="b11-sensors-10-02450">11</xref>]. He also identified that Wong <italic>et al.</italic>’s protocol is susceptible to stolen-verifier attack, because the GW-node and login-node maintain the lookup table of all the registered users’ credentials. Consequently, M.L. Das proposed his protocol to overcome the security flaws of Wong <italic>et al.</italic>’s scheme. His protocol uses the two factor authentication concept based on password and smart card and resists many logged-in users with the same login identity, stolen-verifier, guessing, replay, and impersonation attacks.</p>
<p>More recently, Nyang and Lee pointed out that the protocol of M.L. Das is vulnerable to offline password guessing attack, sensor node compromising attack, and does not protect query response messages by establishing a unique secure channel from sensor node to a user, which is an important way of serving a registered user in a secure and legitimate way [<xref ref-type="bibr" rid="b17-sensors-10-02450">17</xref>]. Consequently, Nyang and Lee proposed their improved two-factor authentication protocol for WSNs, which attempts to overcome their identified discrepancies in the M.L. Das scheme.</p>
<p>However, in this paper, we identify that the M.L. Das-scheme is still not secure and vulnerable to several critical security attacks. In addition to the problems identified by Nyang and Lee, we show that the M.L. Das-scheme is defenseless against GW-node by-passing attack, does not provide mutual authentication between GW-node and sensor nodes, has the security threat of insider attack, and does not have provision for changing or updating passwords of registered users. To fix the aforementioned weaknesses of the M.L. Das-scheme, we propose security improvements in our paper. Our enhanced security patch contains secure features of changing or updating passwords of users, provides protection against insider attack, overcomes the GW-node bypassing attack, and provides mutual authentication between GW-node and sensor node. The proposed security improvements can easily be incorporated into the M.L. Das-scheme to take the benefit of more secure and robust two-factor user authentication in WSNs.</p>
<p>The rest of the paper is organized as follows; Section 2 briefly reviews the M.L. Das-scheme, Section 3 elaborates on the weaknesses and security pitfalls of his scheme, Section 4 presents our proposed security patch, improvements and analysis over the M.L. Das-scheme, Section 5 reveals the performance analysis of the presented scheme, and finally, Section 6 concludes this paper.</p></sec>
<sec>
<label>2.</label>
<title>Review of the M.L. Das-Scheme</title>
<p>In this section, we briefly review user the authentication scheme of M.L. Das, which is divided into two phases, namely the registration phase and the authentication phase.</p>
<sec>
<label>2.1.</label>
<title>Registration Phase</title>
<p>When a user <italic>U<sub>i</sub></italic> wants to perform registration with the WSN, he submits his <italic>ID<sub>i</sub></italic> and <italic>pw<sub>i</sub></italic> to the Gateway node (GW-node) in a secure manner. Upon receiving the registration request, the GW-node computes <italic>N<sub>i</sub></italic> = <italic>h</italic>(<italic>ID<sub>i</sub></italic>||<italic>pw<sub>i</sub></italic>) ⊕ <italic>h</italic>(<italic>K</italic>), where <italic>K</italic> is a symmetric key that is secure to the GW-node, and ‘||’ is a bit-wise concatenation operator. Now, the GW-node personalizes the smart card with the parameters <italic>h</italic>(.), <italic>ID<sub>i</sub></italic>, <italic>N<sub>i</sub></italic>, <italic>h</italic>(<italic>pw<sub>i</sub></italic>) and <italic>x<sub>a</sub></italic>, where <italic>h</italic>(.) is a one-way secure hash function and <italic>x<sub>a</sub></italic> is a secret value generated securely by the GW-node and stored in some designated sensor nodes before deploying the WSN. At the end of this phase, <italic>U<sub>i</sub></italic> gets his personalized smart card in a secure manner.</p></sec>
<sec>
<label>2.2.</label>
<title>Authentication Phase</title>
<p>The authentication phase is invoked when <italic>U<sub>i</sub></italic> wants to login into WSN or access data from the network. This phase is further sub-divided into two phases, namely login and verification phases.</p>
<list list-type="order">
<list-item>
<p><italic>Login Phase</italic>
<list list-type="simple">
<list-item>
<p>In the login phase, <italic>U<sub>i</sub></italic> inserts his smart card into terminal and inputs <italic>ID<sub>i</sub></italic> and <italic>pw<sub>i</sub></italic>. The smart card validates the <italic>ID<sub>i</sub></italic> and <italic>pw<sub>i</sub></italic> with the stored values. If <italic>U<sub>i</sub></italic> is successfully authenticated, the smart card performs the following steps:
<list list-type="simple">
<list-item>
<p>Step- L1: Computes <italic>DID<sub>i</sub></italic> = <italic>h</italic>(<italic>ID<sub>i</sub></italic>||<italic>pw<sub>i</sub></italic>) ⊕ <italic>h</italic>(<italic>x<sub>a</sub></italic>||<italic>T</italic>), where <italic>T</italic> is the current timestamp of <italic>U<sub>i</sub></italic> system</p></list-item>
<list-item>
<p>Step- L2: Computes <italic>C<sub>i</sub></italic> = <italic>h</italic>(<italic>N<sub>i</sub></italic>||<italic>x<sub>a</sub></italic>||<italic>T</italic>), then send &lt; <italic>DID<sub>i</sub></italic>, <italic>C<sub>i</sub></italic>, <italic>T</italic> &gt; to the GW-node</p></list-item></list></p></list-item></list></p></list-item>
<list-item>
<p><italic>Verification Phase</italic>
<list list-type="simple">
<list-item>
<p>Upon receiving the login request &lt; <italic>DID<sub>i</sub></italic>, <italic>C<sub>i</sub></italic>, <italic>T</italic> &gt; at time <italic>T</italic>*, the GW-node authenticates <italic>U<sub>i</sub></italic> by the following steps:
<list list-type="simple">
<list-item>
<p>Step-V1: Checks if (<italic>T*</italic> − <italic>T</italic>) ≤ Δ<italic>T</italic> then GW-node proceeds to the next step, otherwise verification step is terminated. Here Δ<italic>T</italic> shows the expected time interval for the transmission delay</p></list-item>
<list-item>
<p>Step-V2: Computes <italic>h</italic>(<italic>ID<sub>i</sub></italic>||<italic>pw<sub>i</sub></italic>)* = <italic>DID<sub>i</sub></italic> ⊕ <italic>h</italic>(<italic>x<sub>a</sub></italic>||<italic>T</italic>) and 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">ID</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">||</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">pw</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mo>*</mml:mo></mml:msup>
<mml:mo> </mml:mo>
<mml:mo>⊕</mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mi>h</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>K</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mi>a</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">‖</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula></p></list-item>
<list-item>
<p>Step-V3: if 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> then GW-node accepts the login request; otherwise login request is rejected.</p></list-item>
<list-item>
<p>Step-V4: GW-node now sends a message &lt; <italic>DID<sub>i</sub></italic>, <italic>A<sub>i</sub></italic>, <italic>T′</italic> &gt; to some nearest sensor <italic>S<sub>n</sub></italic> over a public channel to respond the query data what <italic>U<sub>i</sub></italic> is looking for, where the value of <italic>A<sub>i</sub></italic> is <italic>A<sub>i</sub></italic> <italic>= h</italic>(<italic>DID<sub>i</sub></italic>||<italic>S<sub>n</sub></italic>||<italic>x<sub>a</sub></italic>||<italic>T</italic>′), where <italic>T</italic>′ is the current timestamp of the GW-node. Here, the value of <italic>A<sub>i</sub></italic> is used to ensure <italic>S<sub>n</sub></italic> that the message originally comes from the real GW-node.</p></list-item>
<list-item>
<p>Step-V5: After receiving the message &lt; <italic>DID<sub>i</sub></italic>, <italic>A<sub>i</sub></italic>, <italic>T′</italic> &gt;, the <italic>S<sub>n</sub></italic> validates the timestamp. If the timestamp is within valid interval, then <italic>S<sub>n</sub></italic> computes <italic>h</italic>(<italic>DID<sub>i</sub></italic>||<italic>S<sub>n</sub></italic>||<italic>x<sub>a</sub></italic>||<italic>T</italic>′) and checks whether it is equal to <italic>A<sub>i</sub></italic>. If this step is passed, then <italic>S<sub>n</sub></italic> responds to the <italic>U<sub>i</sub></italic>’s query.</p></list-item></list></p></list-item></list></p></list-item></list></sec></sec>
<sec sec-type="methods">
<label>3.</label>
<title>Cryptanalysis and Security Pitfalls of the M.L. Das-Scheme</title>
<sec>
<label>3.1.</label>
<title>GW-Node Bypassing Attack</title>
<p>In the M.L. Das-scheme, after performing the verification phase and accepting the login request of <italic>U<sub>i</sub></italic>, the GW-node sends an intimation message &lt; <italic>DID<sub>i</sub></italic>, <italic>A<sub>i</sub></italic>,<italic>T′</italic> &gt; to some nearest sensor node <italic>S<sub>n</sub></italic> to inform about the successful login of <italic>U<sub>i</sub></italic>, and requests <italic>S<sub>n</sub></italic> to respond the query/data of <italic>U<sub>i</sub></italic>. Here, <italic>A<sub>i</sub></italic> is computed by <italic>A<sub>i</sub></italic> <italic>= h</italic>(<italic>DID<sub>i</sub></italic>||<italic>S<sub>n</sub></italic>||<italic>x<sub>a</sub></italic>||<italic>T</italic>′), where <italic>x<sub>a</sub></italic> is a secret parameter which is known to GW-node, sensor node and stored in the smart card of <italic>U<sub>i</sub></italic>. <italic>T</italic>′is the timestamp of GW-Node and <italic>DID<sub>i</sub></italic> is the dynamic ID of user, which is calculated by <italic>DID<sub>i</sub></italic> = <italic>h</italic>(<italic>ID<sub>i</sub></italic>||<italic>pw<sub>i</sub></italic>) ⊕ <italic>h</italic>(<italic>x<sub>a</sub></italic>||<italic>T</italic>). In the M.L. Das-scheme, the value of <italic>x<sub>a</sub></italic> is used to ensure <italic>S<sub>n</sub></italic> that <italic>A<sub>i</sub></italic> message is coming from the legitimate GW-node. Here, we assume that if the value of <italic>x<sub>a</sub></italic> is extracted from smart card of <italic>U<sub>i</sub></italic> by some means [<xref ref-type="bibr" rid="b12-sensors-10-02450">12</xref>,<xref ref-type="bibr" rid="b13-sensors-10-02450">13</xref>], then <italic>U<sub>i</sub></italic> himself or any adversary can login the <italic>S<sub>n</sub></italic> without going through the verification of GW-node, so Das <italic>et al.</italic>’s scheme is vulnerable to ‘GW-node by-passing attack’. In the following, we show how this attack works on the M.L Das-scheme:
<list list-type="roman-lower">
<list-item>
<p>Suppose an adversary or <italic>U<sub>i</sub></italic> himself computes a fake dynamic identity <italic>DID<sub>a</sub></italic> by using the extracted <italic>x<sub>a</sub></italic> from smart card <italic>DID<sub>f</sub></italic> = <italic>h</italic>(<italic>ID<sub>f</sub></italic> ||<italic>pw<sub>f</sub></italic>) ⊕ <italic>h</italic>(<italic>x<sub>a</sub></italic>||<italic>T<sub>f</sub></italic>), where <italic>ID<sub>f</sub></italic> is a fake ID of adversary, <italic>pw<sub>f</sub></italic> is a randomly chosen fake password, and <italic>T<sub>f</sub></italic> is the current timestamp of adversary’s machine.</p></list-item>
<list-item>
<p>Adversary computes <italic>A<sub>f</sub></italic> <italic>= h</italic>(<italic>DID<sub>f</sub></italic>||<italic>S<sub>n</sub></italic>||<italic>x<sub>a</sub></italic>||<italic>T<sub>f</sub></italic>), where <italic>S<sub>n</sub></italic> is the nearest sensor node for querying the data.</p></list-item>
<list-item>
<p>Now, adversary sends the message &lt; <italic>DID<sub>f</sub></italic>, <italic>A<sub>f</sub></italic>, <italic>T<sub>f</sub></italic> &gt; to <italic>S<sub>n</sub></italic> over insecure communication channel.</p></list-item>
<list-item>
<p>After receiving the message, <italic>S<sub>n</sub></italic> first validates <italic>T<sub>f</sub></italic>. If (<italic>T</italic>* − <italic>T<sub>f</sub></italic>) ≤ Δ<italic>T</italic>, then <italic>S<sub>n</sub></italic> proceeds to next step, otherwise terminates the operation. Here, Δ<italic>T</italic> shows the expected time interval for the transmission delay.</p></list-item>
<list-item>
<p><italic>S<sub>n</sub></italic> now computes <italic>A′<sub>f</sub></italic> <italic>= h</italic>(<italic>DID<sub>f</sub></italic>||<italic>S<sub>n</sub></italic>||<italic>x<sub>a</sub></italic>||<italic>T<sub>f</sub></italic>) and checks whether the value of 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:msup>
<mml:mi>A</mml:mi>
<mml:mo>′</mml:mo></mml:msup></mml:mrow>
<mml:mi>f</mml:mi></mml:msub>
<mml:mover>
<mml:mo>=</mml:mo>
<mml:mo>?</mml:mo></mml:mover>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> or not. If it holds, <italic>S<sub>n</sub></italic> responds to the adversary’s query, and <italic>U<sub>a</sub></italic>, who is an adversary and not a legitimate user of the sensor network system, enjoys the resources as an authorized user without being a member of the system.</p></list-item></list></p></sec>
<sec>
<label>3.2.</label>
<title>No Mutual Authentication between GW and Sensor Nodes</title>
<p>In the M.L. Das-scheme, after accepting the login request of <italic>U<sub>i</sub></italic>, the GW-node sends a message &lt; <italic>DID<sub>i</sub></italic>, <italic>A<sub>i</sub></italic>, <italic>T′</italic> &gt; to some nearest sensor node <italic>S<sub>n</sub></italic>. Here the value of <italic>A<sub>i</sub></italic> is computed by <italic>A<sub>i</sub></italic> <italic>= h</italic>(<italic>DID<sub>i</sub></italic>||<italic>S<sub>n</sub></italic>||<italic>x<sub>a</sub></italic>||<italic>T</italic>′), where <italic>T</italic>′ is the current timestamp of GW-node. This message informs the sensor node to respond the query/data, which <italic>U<sub>i</sub></italic> is requesting from the sensor network. In this message, the value of <italic>A<sub>i</sub></italic> is used to ensure the sensor node that it is come from the real GW-node. However, sensor node verifies the authenticity of GW-node but there is no authenticity that the sensor node is fake or real. Thus, the M.L. Das-scheme only provides unilateral authentication between the GW-node and sensor node, and there is not mutual authentication between the two nodes, which is an indispensable property of authentication protocol designing [<xref ref-type="bibr" rid="b14-sensors-10-02450">14</xref>].</p></sec>
<sec>
<label>3.3.</label>
<title>Privileged-Insider Attack</title>
<p>In a real environment, it is a common practice that many users use same passwords to access different applications or servers for their convenience of remembering long passwords and ease-of-use whenever required. However, if the system manager or a privileged-insider of the GW-node knows the passwords of <italic>U<sub>i</sub></italic>, he may try to impersonate <italic>U<sub>i</sub></italic> by accessing other servers where <italic>U<sub>i</sub></italic> could be a registered user. In the M.L. Das-scheme, <italic>U<sub>i</sub></italic> performs registration with GW-node by presenting his password in plain format <italic>i.e., pw<sub>i</sub></italic>. Thus, his scheme has pitfalls in terms of insider’s attack of GW-node by a privileged user who has come to know the password of <italic>U<sub>i</sub></italic> and can misuse the system in future [<xref ref-type="bibr" rid="b15-sensors-10-02450">15</xref>].</p></sec>
<sec>
<label>3.4.</label>
<title>No Provision for Changing/Updating Passwords</title>
<p>In the M.L. Das-scheme, there is no provision for <italic>U<sub>i</sub></italic> to change or update his password whenever required. It is widely recommended security policy for highly secure applications that user’s should update or change their passwords frequently, while there is no such option in the M.L. Das-scheme.</p></sec></sec>
<sec sec-type="methods">
<label>4.</label>
<title>Proposed Security Improvements and Analysis</title>
<p>In this section, we propose security improvements over the scheme of M.L. Das and perform analysis of our security patches as follows:</p>
<sec>
<label>4.1.</label>
<title>Introducing Password Change Phase</title>
<p>In this subsection, we introduce the password-change/update phase in the M.L. Das-scheme. In the password-change phase, when a user wants to change his password <italic>pw<sub>i</sub></italic> to a new password 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>w</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>, he inserts his smart card into the terminal and enters his ID and password. Smart card validates his <italic>ID<sub>i</sub></italic> and <italic>pw<sub>i</sub></italic> with the stored values and if the entered <italic>ID<sub>i</sub></italic> and <italic>pw<sub>i</sub></italic> are correct, then the smart performs the following operations without interacting with GW-node:
<list list-type="roman-lower">
<list-item>
<p>Computes 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>⊕</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">ID</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">||</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">pw</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>⊕</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">ID</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">||</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">pw</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>, where the value of <italic>N<sub>i</sub></italic> is already stored on smart card i.e. <italic>N<sub>i</sub></italic> = <italic>h</italic>(<italic>ID<sub>i</sub></italic>||<italic>pw<sub>i</sub></italic>) ⊕ <italic>h</italic>(<italic>K</italic>)</p></list-item>
<list-item>
<p>Smart card replaces the old value of <italic>N<sub>i</sub></italic> with the new values 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> and 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">pw</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>. Now, the new password is successfully changed and this phase is terminated.</p></list-item></list></p></sec>
<sec>
<label>4.2.</label>
<title>Protection against Insider Attack</title>
<p>As we have mentioned in subsection 3.3, the M.L. Das-scheme has vulnerability of privileged-insider attack due to the reason of presenting his plain text password <italic>pw<sub>i</sub></italic> to the GW-node. This problem can simply be overcome if <italic>U<sub>i</sub></italic> only submits <italic>h</italic>(<italic>pw<sub>i</sub></italic>) to the GW-node, which is the hashed value of plain text password. Thus in the registration phase, the GW-node would compute <italic>N<sub>i</sub></italic> = <italic>h</italic>(<italic>ID<sub>i</sub></italic>||<italic>h</italic>(<italic>pw<sub>i</sub></italic>)) ⊕ <italic>h</italic>(<italic>K</italic>), instead of just <italic>N<sub>i</sub></italic> = <italic>h</italic>(<italic>ID<sub>i</sub></italic>||<italic>pw<sub>i</sub></italic>) ⊕ <italic>h</italic>(<italic>K</italic>), and the person except <italic>U<sub>i</sub></italic> will never know his secret password, which can protect from the possibility of privileged-insider attack [<xref ref-type="bibr" rid="b16-sensors-10-02450">16</xref>].</p></sec>
<sec>
<label>4.3.</label>
<title>Overcoming GW-node Bypassing Attack and Providing Mutual Authentication</title>
<p>It was identified in subsection 3.1 that there is the possibility of GW-node bypassing attack in M.L. Das-scheme and an adversary without passing the login from the GW-node can access the resources of the sensor network. The reason for the possibility of GW-node bypassing attack is due to sharing of secret parameter <italic>x<sub>a</sub></italic> with the sensor node <italic>S<sub>n</sub></italic> and user <italic>U<sub>i</sub></italic>. If the value of <italic>x<sub>a</sub></italic> is compromised, then the whole sensor network will become vulnerable to the GW-node bypassing attack.</p>
<p>Thus, we propose not to share the same secret parameters with <italic>S<sub>n</sub></italic> and <italic>U<sub>i</sub></italic>, and that every entity has its own secret parameter or key. Here, we suggest that the GW-node should only share <italic>x<sub>a</sub></italic> with <italic>U<sub>i</sub></italic> and there should be another secret parameter <italic>x<sub>s</sub></italic>, which should only be known to the GW-node and sensor nodes, and can be stored in sensor nodes before their deployment in the field. These sensor nodes are responsible to respond users for their queries.</p>
<p>To overcome this security flaw, the Step-V4 and Step-V5 in the verification phase of the M.L. Das-scheme can be amended by the following steps:
<list list-type="roman-lower">
<list-item>
<p>After accepting the login request of <italic>U<sub>i</sub></italic>, the GW-node sends message &lt; <italic>DID<sub>i</sub></italic>, <italic>A<sub>i</sub></italic>, <italic>T′</italic> &gt;, to some nearest sensor node <italic>S<sub>n</sub></italic> to respond the query/data of <italic>U<sub>i</sub></italic>, where <italic>A<sub>i</sub></italic> is computed by <italic>A<sub>i</sub> = h</italic>(<italic>DID<sub>i</sub></italic>||<italic>S<sub>n</sub></italic>||<italic>x<sub>s</sub></italic>||<italic>T</italic>′). Here <italic>x<sub>s</sub></italic> is the secret parameter, which is securely stored in sensor node <italic>S<sub>n</sub></italic> and shared only with the GW-node, and <italic>T</italic>′ is the current timestamp of GW-node’s system.</p></list-item>
<list-item>
<p>Upon receiving the message &lt; <italic>DID<sub>i</sub></italic>, <italic>A<sub>i</sub></italic>, <italic>T′</italic> &gt;, the designated sensor node validates the timestamp. If (<italic>T″</italic> − <italic>T′</italic>) ≤ Δ<italic>T</italic>, then <italic>S<sub>n</sub></italic> proceeds to next step, otherwise terminates the further operation. Here, Δ<italic>T</italic> shows the expected time interval for the transmission delay and <italic>T″</italic> is the current timestamp of sensor node <italic>S<sub>n</sub></italic>.</p></list-item>
<list-item>
<p><italic>S<sub>n</sub></italic> now computes 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>A</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">DID</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mi>s</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">‖</mml:mo></mml:mrow>
<mml:msup>
<mml:mi>T</mml:mi>
<mml:mo>′</mml:mo></mml:msup></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> and checks whether 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>A</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo></mml:msubsup>
<mml:mover>
<mml:mo>=</mml:mo>
<mml:mo>?</mml:mo></mml:mover>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> or not. If it holds, then <italic>S<sub>n</sub></italic> responds to <italic>U<sub>i</sub></italic>’s query, otherwise terminates the operation.</p></list-item>
<list-item>
<p>To provide mutual authentication between GW-node and sensor node, <italic>S<sub>n</sub></italic> now computes <italic>B<sub>i</sub> = h</italic>(<italic>S<sub>n</sub></italic>||<italic>x<sub>s</sub></italic>||<italic>T″′</italic>). Here T<italic>″′</italic> is the current timestamp of sensor node’s system and sends back mutual authentication message &lt; <italic>B<sub>i</sub></italic>, <italic>T″′</italic> &gt; to the GW-node.</p></list-item>
<list-item>
<p>After receiving the mutual authentication message &lt; <italic>B<sub>i</sub></italic>, <italic>T″′</italic> &gt;, the GW-node first checks the validity of time-stamp. If (<italic>T″″</italic> − <italic>T″′</italic>) ≤ Δ<italic>T</italic>, then GW node performs the further operations, otherwise the mutual authentication phase is terminated. Here, Δ<italic>T</italic> shows the expected time interval for the transmission delay and <italic>T″″</italic> is the current timestamp of GW-node.</p></list-item>
<list-item>
<p>GW-node now computes 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>n</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mi>s</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">‖</mml:mo></mml:mrow>
<mml:msup>
<mml:msup>
<mml:msup>
<mml:mi>T</mml:mi>
<mml:mo>′</mml:mo></mml:msup>
<mml:mo>′</mml:mo></mml:msup>
<mml:mo>′</mml:mo></mml:msup></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> and checks whether 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo></mml:msubsup>
<mml:mover>
<mml:mo>=</mml:mo>
<mml:mo>?</mml:mo></mml:mover>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> or not. If it is true, then GW-node establishes trust on sensor node, otherwise, GW-node intimates <italic>U<sub>i</sub></italic> about the possibility of malicious sensor node in the network and sends a process-termination message.</p></list-item>
<list-item>
<p>After successful authentication, <italic>U<sub>i</sub></italic> enjoys the resources provided by the sensor network.</p></list-item></list></p>
<p>Although, in the proposed security patch, the introduction of one more secret parameter <italic>x<sub>s</sub></italic> creates storage overhead on the GW-node, but its benefits are two-fold and cannot be overlooked. The first benefit, as defined previously, is to overcome the GW-node bypassing attack, while the second benefit is the ease of secret parameter (key) updating incase of compromise of <italic>x<sub>s</sub></italic> by an adversary. In the M.L. Das- scheme, if <italic>x<sub>a</sub></italic> is compromised and GW-node has to revoke <italic>x<sub>a</sub></italic> with a new secret parameter <italic>x′<sub>a</sub></italic>, then the cost of revoking <italic>x′<sub>a</sub></italic> is very high because it needs to be updated on all <italic>U<sub>i</sub></italic>’s smart cards as well as all the sensor nodes in the field. While on the other hand, in our proposed security improvement/patch, the cost of revoking secret parameters either <italic>x<sub>a</sub></italic> or <italic>x<sub>s</sub></italic> can be halved due to assigning different values <italic>x<sub>a</sub></italic> and <italic>x<sub>s</sub></italic> to <italic>U<sub>i</sub></italic> and <italic>S<sub>n</sub></italic>, respectively.</p></sec></sec>
<sec sec-type="methods">
<label>5.</label>
<title>Performance Analysis of Proposed Scheme</title>
<p>In this section, we summarize security features and performance analysis of our proposed scheme and compare its security and robustness with the schemes of M.L. Das [<xref ref-type="bibr" rid="b11-sensors-10-02450">11</xref>], and Nyang and Lee [<xref ref-type="bibr" rid="b17-sensors-10-02450">17</xref>]. <xref ref-type="table" rid="t1-sensors-10-02450">Table 1</xref> demonstrates that our scheme is more secure and robust than the schemes of [<xref ref-type="bibr" rid="b11-sensors-10-02450">11</xref>] and [<xref ref-type="bibr" rid="b17-sensors-10-02450">17</xref>], and achieves more security features, which were not considered in the aforementioned schemes and are essentially required to implement a practical and universal two-factor user authentication protocol in WSNs.</p>
<p>Furthermore, it can be seen from <xref ref-type="table" rid="t1-sensors-10-02450">Table 1</xref> that our scheme needs only 13 hashing operations, in contrast to the protocols of M.L. Das and Nyang-Lee, which require 10 and 17 hash computations, respectively. Our scheme provides protection against insider attack, gateway node bypassing attack, password change/update option, and achieves mutual authentication between gateway and sensor nodes, which require few more hashing operations than [<xref ref-type="bibr" rid="b11-sensors-10-02450">11</xref>] to enhance the security of overall authentication system. Hence, the computational overhead of the proposed scheme are not too high, but the scheme contains several enhanced security features, which are indispensable for implementing a reliable and trustworthy remote user authentication scheme in the WSN environment.</p></sec>
<sec sec-type="conclusions">
<label>6.</label>
<title>Conclusions</title>
<p>In this paper, we have shown that a recently proposed two-factor user authentication scheme in WSN environment is insecure against different kinds of attack and should not be implemented in real-applications. We have demonstrated that in the M.L. Das-scheme, there is no provision for users to change or update their passwords, the GW-node bypassing attack is possible, it does not provide mutual authentication between GW-node and sensor node, and it is susceptible to privileged-insider attack. To remedy the aforementioned flaws, we have proposed security patches and improvements, which overcome the weak features of the M.L. Das-scheme. The presented security improvements can easily be incorporated in the M.L. Das-scheme for a more secure and robust two-factor user authentication in WSNs.</p></sec></body>
<back>
<ref-list>
<title>References and Notes</title>
<ref id="b1-sensors-10-02450"><label>1.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chiara</surname><given-names>B.</given-names></name><name><surname>Andrea</surname><given-names>C.</given-names></name><name><surname>Davide</surname><given-names>D.</given-names></name><name><surname>Roberto</surname><given-names>V.</given-names></name></person-group><article-title>An Overview on Wireless Sensor Networks Technology and Evolution</article-title><source>Sensors</source><year>2009</year><volume>9</volume><fpage>6869</fpage><lpage>6896</lpage><pub-id pub-id-type="doi">10.3390/s90906869</pub-id><pub-id pub-id-type="pmid">22423202</pub-id></citation></ref>
<ref id="b2-sensors-10-02450"><label>2.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Callaway</surname><given-names>E.H.</given-names></name></person-group><source>Wireless Sensor Networks, Architectures and Protocols</source><publisher-name>Auerbach Publications, Taylor &amp; Francis Group</publisher-name><publisher-loc>Boca Raton, FL, USA</publisher-loc><year>2003</year></citation></ref>
<ref id="b3-sensors-10-02450"><label>3.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chong</surname><given-names>C.Y.</given-names></name><name><surname>Kumar</surname><given-names>S.</given-names></name></person-group><article-title>Sensor Networks: Evolution, Opportunities, and Challenges</article-title><source>Proc. IEEE</source><year>2003</year><volume>91</volume><fpage>1247</fpage><lpage>1256</lpage><pub-id pub-id-type="doi">10.1109/JPROC.2003.814918</pub-id></citation></ref>
<ref id="b4-sensors-10-02450"><label>4.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Benenson</surname><given-names>Z.</given-names></name><name><surname>Felix</surname><given-names>C.G.</given-names></name><name><surname>Dogan</surname><given-names>K.</given-names></name></person-group><article-title>User Authentication in Sensor Networks</article-title><conf-name>Proceedings of Workshop Sensor Networks</conf-name><conf-loc>Ulm, Germany</conf-loc><year>2004</year><fpage>385</fpage><lpage>389</lpage></citation></ref>
<ref id="b5-sensors-10-02450"><label>5.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Watro</surname><given-names>R.</given-names></name><name><surname>Derrick</surname><given-names>K.</given-names></name><name><surname>Sue-fen</surname><given-names>C.</given-names></name><name><surname>Charles</surname><given-names>G.</given-names></name><name><surname>Charles</surname><given-names>L.</given-names></name><name><surname>Peter</surname><given-names>K.</given-names></name></person-group><article-title>TinyPK: Securing Sensor Networks with Public Key Technology</article-title><conf-name>Proceedings of the 2nd ACM workshop on Security of ad hoc and sensor networks</conf-name><conf-loc>Washington, DC, USA</conf-loc><year>2004</year><fpage>59</fpage><lpage>64</lpage></citation></ref>
<ref id="b6-sensors-10-02450"><label>6.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Wong</surname><given-names>K.H.M</given-names></name><name><surname>Yuan</surname><given-names>Z.</given-names></name><name><surname>Jiannong</surname><given-names>C.</given-names></name><name><surname>Shengwei</surname><given-names>W.</given-names></name></person-group><article-title>A dynamic user authentication scheme for wireless sensor networks</article-title><conf-name>Proceedings of Sensor Networks, Ubiquitous, and Trustworthy Computing</conf-name><conf-loc>Taichung, Taiwan</conf-loc><year>2006</year><fpage>244</fpage><lpage>251</lpage></citation></ref>
<ref id="b7-sensors-10-02450"><label>7.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Tseng</surname><given-names>H.R.</given-names></name><name><surname>Jan</surname><given-names>R.H.</given-names></name><name><surname>Yang</surname><given-names>W.</given-names></name></person-group><article-title>An Improved Dynamic User Authentication Scheme for Wireless Sensor Networks</article-title><conf-name>Proceedings of IEEE Globecom</conf-name><conf-loc>Washington, DC, USA</conf-loc><year>2007</year><fpage>986</fpage><lpage>990</lpage></citation></ref>
<ref id="b8-sensors-10-02450"><label>8.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Tsern</surname><given-names>H.L.</given-names></name></person-group><article-title>Simple Dynamic User Authentication Protocols for Wireless Sensor Networks</article-title><conf-name>Proceedings of 2nd International Conference on Sensor Technologies and Applications</conf-name><conf-loc>Cap Esterel, France</conf-loc><year>2008</year><fpage>657</fpage><lpage>660</lpage></citation></ref>
<ref id="b9-sensors-10-02450"><label>9.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Ko</surname><given-names>L.C.</given-names></name></person-group><article-title>A Novel Dynamic User Authentication Scheme for Wireless Sensor Networks</article-title><conf-name>Proceedings of IEEE ISWCS</conf-name><conf-loc>Reykjavik, Iceland</conf-loc><year>2008</year><fpage>608</fpage><lpage>612</lpage></citation></ref>
<ref id="b10-sensors-10-02450"><label>10.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Binod</surname><given-names>V.</given-names></name><name><surname>Jorge</surname><given-names>S.S.</given-names></name><name><surname>Joel</surname><given-names>J.P.C.R.</given-names></name></person-group><article-title>Robust Dynamic User Authentication Scheme for Wireless Sensor Networks</article-title><conf-name>Proceedings of ACM Q2SWinet</conf-name><conf-loc>Canary Islands, Spain</conf-loc><year>2009</year><fpage>88</fpage><lpage>91</lpage></citation></ref>
<ref id="b11-sensors-10-02450"><label>11.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Das</surname><given-names>M.L.</given-names></name></person-group><article-title>Two-Factor User Authentication in Wireless Sensor Networks</article-title><source>IEEE Trans. Wireless Comm</source><year>2009</year><volume>8</volume><fpage>1086</fpage><lpage>1090</lpage><pub-id pub-id-type="doi">10.1109/TWC.2008.080128</pub-id></citation></ref>
<ref id="b12-sensors-10-02450"><label>12.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Kocher</surname><given-names>P.</given-names></name><name><surname>Jaffe</surname><given-names>J.</given-names></name><name><surname>Jun</surname><given-names>B.</given-names></name></person-group><article-title>Differential Power Analysis</article-title><conf-name>Proceedings of 19th International Advances in Cryptology Conference CRYPTO</conf-name><conf-loc>Santa Barbara, CA, USA</conf-loc><year>1999</year><fpage>388</fpage><lpage>397</lpage></citation></ref>
<ref id="b13-sensors-10-02450"><label>13.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Messerges</surname><given-names>T.S.</given-names></name><name><surname>Dabbish</surname><given-names>E.A.</given-names></name><name><surname>Sloan</surname><given-names>R.H.</given-names></name></person-group><article-title>Examining Smartcard Security under the Threat of Power Analysis Attacks</article-title><source>IEEE Trans. Comp</source><year>2002</year><volume>51</volume><fpage>541</fpage><lpage>552</lpage><pub-id pub-id-type="doi">10.1109/TC.2002.1004593</pub-id></citation></ref>
<ref id="b14-sensors-10-02450"><label>14.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Khan</surname><given-names>M.K.</given-names></name><name><surname>Zhang</surname><given-names>J.</given-names></name></person-group><article-title>Improving the Security of ‘A Flexible Biometrics Remote User Authentication Scheme’</article-title><source>Comp. Stand. Interf. Elsevier Sci</source><year>2007</year><volume>29</volume><fpage>82</fpage><lpage>85</lpage><pub-id pub-id-type="doi">10.1016/j.csi.2006.01.002</pub-id></citation></ref>
<ref id="b15-sensors-10-02450"><label>15.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ku</surname><given-names>W.C.</given-names></name><name><surname>Chen</surname><given-names>S.M.</given-names></name></person-group><article-title>Weaknesses and Improvements of An Efficient Password based Remote user Authentication Scheme using Smart Cards</article-title><source>IEEE Trans. Cons. Elec</source><year>2004</year><volume>50</volume><fpage>204</fpage><lpage>207</lpage><pub-id pub-id-type="doi">10.1109/TCE.2004.1277863</pub-id></citation></ref>
<ref id="b16-sensors-10-02450"><label>16.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname><given-names>X.</given-names></name><name><surname>Zhang</surname><given-names>W.</given-names></name><name><surname>Zhang</surname><given-names>J.</given-names></name><name><surname>Khan</surname><given-names>M.K.</given-names></name></person-group><article-title>Cryptanalysis and Improvement on Two Efficient Remote User Authentication Scheme using Smart Cards</article-title><source>Comp. Stand. Intefr. Elsevier Sci</source><year>2007</year><volume>29</volume><fpage>507</fpage><lpage>512</lpage></citation></ref>
<ref id="b17-sensors-10-02450"><label>17.</label><citation citation-type="web"><person-group person-group-type="author"><name><surname>Nyang</surname><given-names>DH.</given-names></name><name><surname>Lee</surname><given-names>M.K.</given-names></name></person-group><article-title>Improvement of Das’s Two-Factor Authentication Protocol in Wireless Sensor Networks</article-title><source>Cryptology</source><comment>ePrint Archive 2009/631. Online PDF: <ext-link xlink:href="http://eprint.iacr.org/2009/631.pdf" ext-link-type="uri">http://eprint.iacr.org/2009/631.pdf</ext-link> (accessed on 28 February 2010).</comment></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Table</title>
<table-wrap id="t1-sensors-10-02450" position="float">
<label>Table 1.</label>
<caption>
<p>Performance analysis and comparison of the proposed scheme.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="bottom"><bold>Security Features and Performance</bold></th>
<th align="center" valign="bottom"><bold>Proposed scheme</bold></th>
<th align="center" valign="bottom"><bold>M.L. Das [<xref ref-type="bibr" rid="b11-sensors-10-02450">11</xref>]</bold></th>
<th align="center" valign="bottom"><bold>Nyang-Lee [<xref ref-type="bibr" rid="b17-sensors-10-02450">17</xref>]</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top">Securely change/update password</td>
<td align="center" valign="top">Yes</td>
<td align="center" valign="top">No</td>
<td align="center" valign="top">No</td></tr>
<tr>
<td align="left" valign="top">Protection against insider’s attack</td>
<td align="center" valign="top">Yes</td>
<td align="center" valign="top">No</td>
<td align="center" valign="top">No</td></tr>
<tr>
<td align="left" valign="top">Protection against Gateway node bypassing attack</td>
<td align="center" valign="top">Yes</td>
<td align="center" valign="top">No</td>
<td align="center" valign="top">No</td></tr>
<tr>
<td align="left" valign="top">Mutual authentication between GW and sensor nodes</td>
<td align="center" valign="top">Yes</td>
<td align="center" valign="top">No</td>
<td align="center" valign="top">Yes</td></tr>
<tr>
<td align="left" valign="top">Computational operations in registration phase</td>
<td align="center" valign="top">3H</td>
<td align="center" valign="top">2H</td>
<td align="center" valign="top">2H</td></tr>
<tr>
<td align="left" valign="top">Computational operations in login phase</td>
<td align="center" valign="top">3H</td>
<td align="center" valign="top">3H</td>
<td align="center" valign="top">3H</td></tr>
<tr>
<td align="left" valign="top">Computational operations in verification phase</td>
<td align="center" valign="top">7H</td>
<td align="center" valign="top">5H</td>
<td align="center" valign="top">12H</td></tr></tbody></table>
<table-wrap-foot><fn id="tfn1-sensors-10-02450">
<p>H: <italic>The computational cost of one hash operation</italic></p></fn></table-wrap-foot></table-wrap></sec></back></article>
