|
| 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α. |
|
|
|
|
|
|
|
MUβ−G=h(Aβ∥xs∥RNα∥Tα) |
|
vβ=RNα ⊕ xs
|
|
Uα sends the authentication request {DIDβ, MUβ−G, vβ, Tα} to GW. |
| Step 2 |
When GW receives the authentication request, GW checks if (TG−Tα) ≤ ΔT, where TG is the current timestamp of GW system. If (TG−Tα) ≤ ΔT, then the next step proceeds; otherwise, this phase is aborted. |
| Step 3 |
GW computes the following. |
|
RNα=vβ⊕ xs
|
|
X*=DIDβ ⊕ h(xs∥RNα∥Tα) |
|
MUβ−G* = h((X* ⊕ h(K))∥xs∥RNα∥Tα) |
|
GW compares MUβ−G with MUβ−G*. GW regards {DIDβ, MUβ−G, vβ, Tα} as being sent from a legitimate user because MUβ−G = MUβ−G*. |
|