Security Analysis of a Remote User Authentication Scheme with Smart Cards
Yoon et al. proposed a new efficient remote user authentication scheme using smart cards to solve the security problems of W. C. Ku and S. M. Chen scheme. This paper reviews Yoon et al. scheme and then proves that the password change phase of Yoon et al. scheme is still insecure. This paper also proves that the Yoon et al. is still vulnerable to parallel session attack.
💡 Research Summary
The paper conducts a thorough security review of the remote user authentication protocol proposed by Yoon et al., which employs smart cards to address weaknesses found in the earlier Ku‑Chen scheme. While Yoon et al. claim to have fixed the password‑change vulnerability, the authors demonstrate that critical flaws remain both in the password‑change phase and in resistance to parallel session attacks.
In the registration phase, a user selects a random value b and computes PW_S = f(b ⊕ PW), sending ID and PW_S to the authentication server (AS) over a secure channel. The AS derives two secret values: V = f(EID ⊕ x) and R = V ⊕ PW_S, where EID = (ID‖n) and x is a server‑side secret. These values, together with the hash function f, are stored on the user’s smart card. During login, the card computes C₁ = R ⊕ f(b ⊕ PW) and C₂ = f(C₁ ⊕ T_U) (T_U is the current timestamp) and sends (ID, C₂, T_U) to the AS. The server validates C₂ against f(V ⊕ T_U); if successful, it replies with C₃ = f(V ⊕ T_S) and the timestamp T_S. The user then checks C₃ = f(C₁ ⊕ T_S) to authenticate the server.
The password‑change phase requires the user to input the old password. The card recomputes V* = R ⊕ f(b ⊕ PW) and compares it with the stored V. If they match, the user may supply a new password PW_new, and the card updates R to R_new = V* ⊕ f(b ⊕ PW_new).
The authors expose two major attack vectors. First, an outsider who physically extracts the smart‑card data (V, R, b) can launch an offline guessing attack: by trying candidate passwords PW* and computing C₁* = R ⊕ f(b ⊕ PW*) and C₂* = f(C₁* ⊕ T_U), the attacker can compare C₂* with the intercepted C₂. A match reveals the correct password, after which the attacker can change the password arbitrarily using the same V* = V verification, effectively locking out the legitimate user. This attack relies on the realistic assumption that smart‑card secrets can be recovered through side‑channel techniques (e.g., power analysis).
Second, an insider at the AS already knows PW_S, V, and R for every registered user. If the insider briefly obtains the user’s smart card, they can supply V directly or compute V* using PW_S, then set any new password, thereby compromising the user’s credentials without the user’s knowledge. This demonstrates that the protocol does not protect against insider threats.
Regarding parallel session attacks, the protocol’s design reuses the same hash function f for both the client’s login token (C₂) and the server’s response token (C₃). An attacker who intercepts a legitimate login request (ID, C₂, T_U) and the subsequent server reply (C₃, T_S) can construct a forged login request (ID, C₃, T_S) and send it to the server. The server only checks that the timestamp differs and that C₃ matches f(V ⊕ T_S), which it does by construction. Consequently, the server authenticates the forged request, allowing the attacker to masquerade as the legitimate user. This demonstrates that the protocol lacks proper binding between the two phases and is vulnerable to replay/parallel session attacks.
In conclusion, the paper shows that Yoon et al.’s scheme, while improving on earlier work, still suffers from critical weaknesses: (1) the password‑change phase can be subverted by both external adversaries who obtain smart‑card data and by insiders at the authentication server; (2) the protocol is vulnerable to parallel session attacks due to the reuse of identical hash computations for distinct messages. These findings underscore the necessity of designing smart‑card based authentication protocols that consider side‑channel leakage, insider capabilities, and robust binding of session messages to prevent replay and parallel attacks.
Comments & Academic Discussion
Loading comments...
Leave a Comment