# A Novel Mobile Communications Authentication Scheme with Roaming Service and User Anonymity
## 2 Preliminaries
### [PERSON]'s Scheme
#### 2.1.2 Authentication Phase  
**V1. ** MU\(\rightarrow\)FA: m\({}_{\text{LV1}}\){X, IND, c\({}_{1}\), ID\({}_{\text{HA}}\), T\({}_{\text{MU}}\)}  
When the MU enters ID\({}_{\text{MU}}\) and PW\({}_{\text{MU}}\), the smart card chooses a random number x and calculates X = xP, X\({}_{1}\) = xP\({}_{\text{HA}}\), Z = z\(\oplus\)H(PW\({}_{\text{MU}}\oplus\)r\({}_{\text{n}}\)), IND = ID\({}_{\text{MU}}\oplus\)H(X\({}_{1}\mid\) 1 T\({}_{\text{MU}}\)), and c\({}_{1}\) = H(X\({}_{1}\mid\) 2). T\({}_{\text{MU}}\) is the MU's current timestamp. Then, the MU sends the authentication request message {X, IND, c\({}_{1}\), ID\({}_{\text{HA}}\), T\({}_{\text{MU}}\)} to the FA. **V2. ** FA\(\rightarrow\)HA: m\({}_{\text{LV2}}\)(X, IND, c\({}_{1}\), Y, T\({}_{\text{MU}}\), T\({}_{\text{FA}}\), MAC\({}_{\text{FA}}\))  
When the authentication message is received from the MU, the FA checks the validity of the timestamp T\({}_{\text{MU}}\). If it is valid, FA chooses a random number y and calculates Y = yP and MAC\({}_{\text{FA}}\) = H(X\(\mid\) 1 IND \(\mid\) c\({}_{1}\mid\) 1 \(\mid\) Y \(\mid\) 1 T\({}_{\text{MU}}\mid\) 1 \(\mid\) 1 SK\({}_{\text{HF}}\)), where T\({}_{\text{FA}}\) is the FA's current timestamp and SK\({}_{\text{HF}}\) is a session key between the HA and the FA. The FA then sends the message {X, IND, c\({}_{1}\), Y, T\({}_{\text{MU}}\), T\({}_{\text{FA}}\), MAC\({}_{\text{FA}}\)} to the HA. **V3. ** HA\(\rightarrow\)FA: m\({}_{\text{LV3}}\)[MAC\({}_{\text{HA}}\), c\({}^{\prime}\)\({}_{2}\) = c\({}_{2}\oplus\)H(T\({}_{\text{HA}}\mid\) 1 SK\({}_{\text{HF}}\)), T\({}_{\text{HA}}\)]  
When the authentication message is received from the FA, the HA checks the validity of the timestamp T\({}_{\text{FA}}\). If it is valid, the HA calculates H(X \(\mid\) 1 IND \(\mid\) c\({}_{1}\mid\) 1 \(\mid\) Y \(\mid\) 1 T\({}_{\text{MU}}\mid\) 1 T\({}_{\text{FA}}\mid\) 1 SK\({}_{\text{HF}}\)) and \begin{table}
\begin{tabular}{c l} \hline
**Notations** & **Descriptions** \\ \hline MU & A mobile user \\ HA & The home agent of a mobile user \\ FA & The foreign agent of the network \\ ID\({}_{\text{MU}}\) & The MU’s identity \\ PW\({}_{\text{MU}}\) & The MU’s password \\ N & A strong secret key of the HA \\ T\({}_{\text{A}}\) & Timestamp generated by an entity A \\ Cert,a & Certificate of an entity A \\ \(\text{O}_{\text{X}}\) & Encryption of a message X using a symmetric key K \\ (P\({}_{\text{A}}\),S\({}_{\text{A}}\)) & The asymmetric public key and private key pair of an entity A based on Elliptic curve cryptography (ECC) \\ E\({}_{\text{p}}\) & An elliptic curve equation, over a finite field \(p\): \(y^{2}=x^{3}+ax+b\bmod p\), where \(p>2^{16\circ}\), \(n>2^{160}\), \(a\) and \(b\) are two integer elements and \(4a^{3}+27b^{2}\bmod p\
eq\)0 \\ E & An elliptic curve equation of HA choose \\ \(p\), \(n\) & Two large prime numbers \\ P & A base point with the order n over E \\ SK\({}_{\text{HF}}\) & A pre-shared symmetric key between HA and FA \\ \(\oplus\) & Exclusive-OR (XOR) operation \\ H(.) & A collision-free one-way hash function \\ \(\mid\) & Concatenation \\ \hline \end{tabular}
\end{table} 
Table 1: Notations used throughout [PERSON]’s scheme. verifies whether H(X \(|\) IND\(|\) I\(|\) c\({}_{1}\) \(|\) Y \(|\) I\(\rm T_{MU}\) \(|\) I\(\rm T_{FA}\) \(|\) ISK\({}_{HF}\)) is the same as the received MAC\({}_{\rm FA}\). If it is not valid, the HA terminates the execution. Otherwise, the HA calculates X\({}^{\prime}\)1 = NN, ID\({}^{\prime}\)MU = IND\(\oplus\)H(X\({}^{\prime}\)1 \(|\) T\({}_{MU}\)), and c\({}^{\prime}\)1 = H(X\({}^{\prime}\)1 \(|\) H(ID\({}^{\prime}\)MU \(|\) I\(\rm N\))) and checks whether the equation c\({}^{\prime}\)1 = c\({}_{1}\) holds. If it is not valid, the HA terminates the execution.