Skip to main content
Log in

On the Secure Design of Hash-Based Authenticator in the Smartcard Authentication System

  • Published:
Wireless Personal Communications Aims and scope Submit manuscript

Abstract

Most practical authentication systems employ an hash-based authenticator for mutual authentication. Usually a hash-based authenticator consists of a cryptographic-secure hash function that takes input of a shared key and common exchanged values between participants. Recently, in IEEE transaction on industrial informatics, Tsai et al. have presented a novel anonymous hash-based authentication system with provable security. Very recently, however, it has been demonstrated that Tsai et al.’s protocol has not been secure in view of provable security due to an inappropriate design of input for hash-based authenticator. Its countermeasure has been briefly sketched but it hasn’t presented a definite protocol with provable security. In this paper, first of all, we redesign Tsai et al.’s authentication protocol to be secure against session key security and present a new anonymous and authentication protocol with provable security guaranteeing both for session key security and anonymity. It is more simple and efficient than the previous results.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. In [13], the notion of freshness is defined to satisfy that “Send(\(U^t, m\)), Send(\(S^j, m\)) are asked after the Corrupt query is asked”, but it seems to be ill-defined by the authors due to a lack of understanding regarding BPR security model. At any rate, whether it is never asked or asked, the TLW protocol is insecure, that is shown in Chapter III.

Abbreviations

\({{\mathcal {I}}}{{\mathcal {D}}}\) :

A set of identifiers in the system

\(\hbox {ID}_i\) :

An identifier of user i

\(h,h_1,h_2\) :

Cryptographic hash functions

sk :

An agreed session key

\(\oplus\) :

Exclusive OR operation

\(|{\mathcal {D}}|\) :

The size of password

||:

Message concatenation

\(\textsf {BPR}\) :

The security model suggested by Bellare, Pointcheval and Rogaway

\(\textsf {TLW}\) :

The authentication protocol suggested by Tsai, Lo, and Wu

\(\textsf {MRT}\) :

The minimum running time

References

  1. Bellare, M., Pointcheval, D., & Rogaway, P. (2000). Authentincated key exchange secure against dictionaray attacks. In Proceedings of Eurocrypt, LNCS (pp. 139–155).

  2. Byun, J. W. (2016). A brief consideration on the security of hash-based authenticator. Journal of the Korea Institute of Information Security and Cryptology, 26(3), 609–612.

    Article  Google Scholar 

  3. Byun, J. W. (2015). Privacy preserving smartcard-based authentication system with provable security. Security and Communication Networks, 8(17), 3028–3044.

    Article  Google Scholar 

  4. Horng, W. -B., Lee, C. -P., & Peng, J. -W. (2010). Security weakness of song’s advanced smart card based password authentication protocol. In Proceedings of the 2010 IEEE International Conference on Progress in Informatics and Computing (pp. 477–480).

  5. Juang, W. S., Chen, S. T., & Liau, H. T. (2008). Robust and efficient password-authenticated key agreement using smart cards. IEEE Transactions on Industrial Electronics, 55(6), 2552–2556.

    Article  Google Scholar 

  6. Lee, N. Y., & Chiu, Y. C. (2005). Improve remote authentication of Chien et al’.s remote user authentication scheem using smart cards. Computer Standards and Interfaces, 27(2), 177–180.

    Article  Google Scholar 

  7. Lee, S. W., Kim, H. S., & Yoo, K. Y. (2005). Improvement of Chien et al’.s remote user authentication scheme using smart cards. Computer Standards and Interfaces, 27(2), 181–183.

    Article  Google Scholar 

  8. Li, X., Qiu, W., Zheng, D., Chen, K., & Li, J. (2010). Anonymity enhancement on robust and efficient password-authenticated key agreement using smart cards. IEEE Transactions on Industrial Electronics, 57(2), 793–800.

    Article  Google Scholar 

  9. Shoup, V. (2004). Sequences of games: a tool for taming complexity in security proofs. In IACR eprint 2004/332.

  10. Song, R. (2010). Advanced smart card based password authentication protocol. Computer Standards and interfaces, 32(5–6), 321–325.

    Article  Google Scholar 

  11. Sun, D. Z., Huai, J. P., Sun, J. Z., Zhang, J. W., & Feng, Z. Y. (2009). Improvements of Juang et al’.s password-authenticated key agreement scheme using smart cards. IEEE Transaction Industrial Electronics, 56(6), 2284–2291.

    Article  Google Scholar 

  12. Tapiador, J. E., Hernandez-Cstro, J. C., Peris-Lopez, P., Clark, J. A. (2010). Cryptanalysis of Song’s advanced smart card based password authentication protcol. Unpublished manuscript, http://www-users.cs.york.ac.uk/jet/papers.html

  13. Tsai, J.-L., Lo, N.-W., & Txong-Chen, W. (2012). Novel anonymous authentication scheme using smart cards. IEEE Transaction on Industrial Informatics, 9(4), 2004–2013.

    Article  Google Scholar 

  14. Xu, J., Zhu, W.-T., & Feng, D.-G. (2009). An improved smart card based password authentication scheme with provable security. Computer Standards and Interfaces, 31(4), 723–728.

    Article  Google Scholar 

Download references

Acknowledgements

This research was supported by Basic Science Research Program through the National Research Foundation of Korea(NRF) funded by the Ministry of Education (NRF-2017R1D1A1B03032424).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jin Wook Byun.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix

Appendix

1.1 TLW Protocol is Not Secure

Theorem 1

[2]. Let\({\mathcal {A}}\) be an adversary against the TLW protocol with the polynomial timeT. \({\mathcal {A}}\) can query\(q_{s}\)Send, oneExecute, and oneCorrupt queries. Then the sk advantage is non-negligible.

Proof

\({\mathcal {A}}\) asks the permitted queries as many as \({\mathcal {A}}\) wants according to the definition, but for retaining the freshness of session, it must be kept that after Corrupt query is once asked, any Send queries should not be asked at all. No Reveal query should be asked either. Please note that \({\mathcal {A}}\) in the proof only uses Corrupt and Execute queries to gain the sk advantage, and the queries always guarantee the freshness.

  • First, for an honest execution between instances \(U^i\) and \(S^j\), \({\mathcal {A}}\) asks Execute\((U^i, S^j)\) and takes an answer back \([(C_1, e), (C_2, C_3), C_4]\) where,

    $$\begin{aligned} \left[ \begin{array}{l}{C_1}=[ID_i||(h(ID_i||x) \oplus N_{c_2})]\oplus h_1(c),\\ C_2=N_sP, \\ C_3=h(h(ID_i||x)||N_{c_2}||C_2||e||sk),\\ C_4=h(h(ID_i||x)||sk||N_{c_2}||C_2||e), \\ e=N_{c_1}P \end{array}\right] \end{aligned}$$
  • Second, \({\mathcal {A}}\) obtains x, the server’s secret, throughout Corrupt(2) query.

  • Third, \({\mathcal {A}}\) with x makes \(c(=N_{c_1}P_s)\) by computing xe. \({\mathcal {A}}\) also obtains \(ID_i||(h(ID_i||x) \oplus N_{c_2})\) by computing \(C_1 \oplus h_1(c)\). By taking the fixed prefix, \({\mathcal {A}}\) recovers \(ID_i\) and computes \(h(ID_i||x)\) with x. Then finally \(N_{c_2}\) is recovered by \({\mathcal {A}}\) through computing \(h(ID_i||x) \oplus N_{c_2} \oplus h(ID_i||x)\).

  • As Test query is asked, internally a random coin b is flipped. If \(b=1\) then a real session key is returned to \({\mathcal {A}}\), otherwise, a random key is returned to \({\mathcal {A}}\). Let’s suppose the returned key is \({\widetilde{sk}}\). \({\mathcal {A}}\) performs the following steps to determine the given \({\widetilde{sk}}\) is a real session key or a random session key.

    • Step 1\({\mathcal {A}}\) has already obtained \(h(ID_i||x)\) and \(N_{c_2}\) from \([(C_1, e), (C_2, C_3), C_4]\). And the values \(C_2\) and e are given out of answers for Execute query.

    • Step 2 Then \({\mathcal {A}}\) can compute \(\widetilde{C_3}=h(h(ID_i||x)||N_{c_2}||C_2||e||{\widetilde{sk}})\) and check if \(\widetilde{C_3}\) is equal to \(C_3\). If it is right, \({\mathcal {A}}\) outputs the given \({\widetilde{sk}}\) is a real session key with output \(b'=1\). Otherwise, \({\mathcal {A}}\) outputs \(b'=0\), which indicates that the given \({\widetilde{sk}}\) is a random key.

    It is clear that the probability \({\mathcal {A}}\) can correctly guess \(b=b'\) is 1 (Pr[\(b=b'\)]=1). Thus we have

    $$\begin{aligned} \textsf {Adv}_{sk}^{P}(T', k) = 2 \text {Pr}\left[ b=b'\right] - 1 =1, \end{aligned}$$

    where \(T' \le T + T_e + T_c + 2T_h\). The notions, \(T_e, T_c, T_h\) are running time for Execute, Corrupt, Hash queries, respectively. In the above steps, the value \(C_3\) is exploited by \({\mathcal {A}}\), however, \(C_4\) may be exploited with the known values, \(h(ID_i||x), N_{c_2}, C_2\), and e, in the same way.

\(\square\)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Byun, J.W. On the Secure Design of Hash-Based Authenticator in the Smartcard Authentication System. Wireless Pers Commun 109, 2329–2352 (2019). https://doi.org/10.1007/s11277-019-06684-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11277-019-06684-5

Keywords

Navigation