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

Step 1 Uα extracts xs and SIDj from a sensor node captured in the WSN.
Step 2 Login phase begins when Ui wants to access to the WSN as in Section 2.2.
When Ui sends the authentication request {DIDi, MUiG, vi, Ti} to GW, Uα eavesdrops on it.
Step 3 Uα computes the following using xs, SIDj and {DIDi, MUiG, vi, Ti}. Tα and Tα′ denote the current timestamp of Uα system, and Tα < Tα′. Uα generates a random nonce RNα.
yi=RNαxs
MG-Sj = h(DIDiSIDjxsTα)
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 4 When Ui receives {yi, wi, MGUi, Tα′} from Uα, Ui checks if (TU′−Tα′) ≤ ΔT, where (TU′ is the current timestamp of Ui system. If (TU′−Tα′) ≤ ΔT, then the next step proceeds; otherwise, this phase is aborted.
Step 5 The smart card computes the following.
RNα = yixs
zi*=wixS
MGUi=h(DIDiMGSjMUiGxsTα)
MGUi*=h(DIDiMGSjMUiGxsTα′)
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).