Skip to main content
. 2014 Apr 9;14(4):6443–6462. doi: 10.3390/s140406443

Step 1 Login phase begins when Ui wants to access the WSN as described in Section 2.2.When Ui sends the authentication request {DIDi, MUiG, vi, Ti} to GW, Uα eavesdrops on the transmission.
Step 2 Uα computes the following using xs and {DIDi, MUiG, vi, Ti}. Tα and Tα denote the current timestamp of Tα system, and Tα < Tα′. Uα generates a random nonce RNα. SIDα is created by Uα.
yi = RNαxs
MGSj = h(DIDi∥SIDαxsTα)
zi*=MGSjRNα
wi=zi*xs
MGUi = h(DIDiMGSjMUiGxsTα)
Uα forges the authentication request sent from GW to Ui in authentication-key agreement phase using {yi, wi, MGUi, Tα}.
Step 3 When Ui receives {yi, wi, MGUi, Tα} from Uα, Ui checks if (TUTα) ≤ ΔT, where TU is the current timestamp of Ui system. If (TUTα) ≤ ΔT, then the next step proceeds; otherwise, this phase is aborted.
Step 4 The smart card computes the following.
RNα = yixs
zi*=wixs
MGSj=zi*RNα
MGUi*=h(DIDi∥MGSjMUiGxsTα)
The smart card compares MGUiwith MGUi*. Since MGUi=MGUi*, Ui regards {yi, wi, MGUi,Tα} as being transmitted from GW. Therefore, Uα can communicate with Ui using the session key Ks = f((DIDiRNα), xs).