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

Step 1 Uα selects any temporary identity and password IDβ and pwβ. Uα computes the authentication request as follows. Tα denotes the current timestamp of Uα system, and RNα is a random nonce generated by Uα.
HPWβ*=h(pwβ)
Aβ=h(IDβH_Wβ*xs)h(K)
DIDβ=h(IDβH_PWβ*||xs)h(xsRNαTα)
MG=h(AβxsRNαTα)
vβ=RNαxs
Uα sends the authentication request {DIDβ, MG, vβ, Tα} to GW.
Step 2 When GW receives the authentication request, GW checks if (TGTα) ≤ ΔT, where TG is the current timestamp of GW system. If (TGTα) ≤ ΔT, then the next step proceeds; otherwise, this phase is aborted.
Step 3 GW computes the following.
RNα=vβxs
X*=DIDβh(xsRNαTα)
MG* = h((X* ⊕ h(K))∥xsRNαTα)
GW compares MG with MG*. GW regards {DIDβ, MG, vβ, Tα} as being sent from a legitimate user because MG = MG*.