1 Introduction

Telecare Medicine Information System (TMIS) uses computer, communication, medical technology and equipment to realize face-to-face consultation between experts and patients, experts and medical staff through remote transmission of data, text, voice and image data [9]. It is not only a medical or clinical problem, but also a communication network, database and other aspects’ problem, and they need to be integrated into the network system.

Driven by 5G technology, the application scenarios of TMIS have been expanded. The sudden COVID-19 has become an opportunity for the rapid growth of telemedicine. Telemedicine can prevent cross infection, reduce the burden of the hospital, and ensure the patients to obtain much-needed medical services. As shown in Fig. 1, the specific applications of TMIS include telediagnosis, remote consultation and nursing, educational surgery demonstration, remote surgery and treatment, telemonitoring, remote medical information service, etc.

Fig. 1
figure 1

Typical architecture of TMIS

TMIS is mainly composed of the following three parts: a) Providers of medical services. They are generally located in the medical centers of big cities and have rich medical resources and experience in diagnosis and treatment. b) Demanders of medical services. They may be local medical institutions that do not have sufficient medical capacity or conditions. Also, they may be patients in remote areas. c) The communication network and medical devices connecting provider and demander. The communication network includes ordinary telephone network, wireless communication network and communication satellite network; medical devices include computer software and hardware, diagnosis and treatment instruments, etc.

With the increasing maturity of technologies such as computers, sensors, and mobile Internet, as well as the continuous enhancement of national health awareness and the significant increase in demand for health services, TMIS shows strong application potential in the health and medical field [1, 13, 41]. It provides flexible and convenient electronic medical services for user, and gradually penetrates into people’s lives. More and more people begin to pay attention to the information security of TMIS. Since medical records are exposed to unsecured public network, they may be damaged, changed or leaked. This makes TMIS more vulnerable to various security threats and attacks. In order to protect the privacy security of users and medical data, efficient mutual authentication and key agreement schemes are urgently needed.

The authentication key agreement (AKA) protocol can realize mutual authentication between users and servers. While ensuring that only legitimate users can access the server, it can also resist server spoofing attacks. After user and server complete mutual authentication, the shared session key will be established to ensure the security of future communications. Moreover, the session key is negotiated by both parties, and they have the same contribution to the generation of the session key, which enhances the security of the session key.

In most secure communications, the communication system is required to provide confidentiality and authentication for the transmitted data [14, 33, 39]. Confidentiality means that the transmitted data can only be read by the designated receiver. Authentication means that the receiver can confirm that the received data is from the sender, and the data has never been tampered during transmission. In order to meet the requirement of secure communication, the communication participants need to share a one-time session key used to encrypt and authenticate messages. Therefore, participants need a key establishment protocol to generate and distribute the session key before communication. According to the existence of key generation center (KGC), key establishment protocols are generally divided into key transfer protocol and key agreement protocol. In the key transfer protocol, KGC will share a secret value with the user during the registration phase, and use this secret value to distribute the key. The key agreement protocol does not need the participation of KGC. Two or more participants exchange information and negotiate a common session key in an insecure channel controlled by the adversary, and nobody can determine the final session key value in advance. Key agreement protocol, encryption and digital signature are considered as the smallest three cryptographic primitives.

2 Related works

In order to ensure the communication security on the public channel, a large number of two-factor authentication schemes [3, 15, 21, 22, 37, 40] have been introduced in the past decades. However, researchers pointed out that these schemes were vulnerable to bypass attacks [27], and the secret parameters stored in the smart card may be exposed to the adversary. Later, researchers introduced biometrics into their authentication schemes [2, 7, 10, 17, 20, 23, 29], and the popular three-factor authentication scheme appeared. These schemes overcome the security weaknesses mentioned above.

In 2000, Hwang and Li [19] proposed a smart-card-based remote user authentication scheme using the ElGamal public key cryptosystem. Their scheme did not need to maintain a password table for verifying users’ legitimacy, and can withstand the replay attack. On the basis of Hwang and Li’s scheme, Sun [34] further proposed an efficient and practical remote user authentication scheme using smart cards. Their scheme not only provided the same advantages as Hwang and Li’s scheme, but also significantly reduced the communication and computation costs. Soon afterwards, Malasri and Wang [26] designed a novel two-tier scheme for verifying the authenticity of patient data, making full use of the advantages of ECC and symmetric encryption/decryption. And Boyen [6] pointed out that any protocol involving only two parties was vulnerable to dictionary attacks on the server. Later, Awasthi and Srivastava [4] proposed a new biometrics-based authentication scheme using the bitwise XOR operations and chaotic one-way hash function. However, Das and Goswami [11] discovered that their scheme failed to protect strong replay attack, establish a secret session key, provide the user anonymity and lacked rigorous formal security analysis. To withstand the security flaw, Das and Goswami proposed a novel and secure biometrics-based remote user authentication scheme.

In 2010, Li and Hwang [23] proposed an efficient biometrics-based remote user authentication scheme using smart cards, and its security was based on the smart card, biometrics verification and one-way hash function. However, Chang et al. [7] pointed out that applying only collision-resistant one-way hash functions would make users unable to be authenticated in Li and Hwang’s scheme, and the security of secret data cannot be ensured. Then they proposed a biometrics-based user authentication scheme to ensure uniqueness and anonymity at the same time. They claimed that only the legal user/patient himself/herself can access the remote server, and no one can trace him/her according to the transmitted data in their scheme. Their scheme is efficient due to the usage of one-way hash function and exclusive-or (XOR) operations. However, Das and Goswami [10] proved that Chang et al.’s scheme had design flaws in login and authentication phase and password change phase, failed to protect privileged insider attack, the man-in-the-middle attack, and did not provide proper authentication. Then they proposed an improved uniqueness-and-anonymity-preserving remote user authentication scheme.

In 2015, Amin et al. [2] demonstrated that Das and Goswami’s scheme lacked proper protection against several security attacks such as user anonymity, off-line password guessing attack, smart card theft attack, user impersonation attack, server impersonation attack, session key disclosure attack. To overcome these pitfalls, they proposed an anonymity preserving remote patient authentication scheme for e-health care systems. However, Ravanbakhsh and Nazari [29] proved that their scheme was vulnerable to privileged-insider attack, replay attack, session key disclosure attack, and did not provide patient untraceability and backward secrecy. Then they proposed an efficient remote mutual authentication scheme using ECC and Fuzzy Extractor. Also, Singh et al. [32] proposed an elliptic curve signcryption-based mutual authentication protocol. It greatly reduced the computing cost and communication overhead of smart card. And Shunmuganathan et al. [31] proposed a secure and efficient two factor authentication scheme for multi-server environment, and claimed that the advantage of this scheme was to protect the data stored in the smart card by increasing the dynamic attribute of identity and randomization of each session key. Experiments show that the scheme can resist various attacks, such as forgery attack, replay attack, smart card theft attack and so on. Chaudhry [8] conducted research on the multi-factor authentication and key agreement protocol for social multimedia, and at the same time verified the security of the proposed scheme with the well-known automatic security verification tool ProVerif, but the application field of the scheme is too narrow and the versatility is not strong.

In order to prevent information leakage, the secret high-entropy data can also be stored in the device (such as a smart card) carried by the user, which constitutes the Two-Factor AKA (2FAKA) protocol. For the 2FAKA protocol, the most basic security requirement is two-factor security, that is, the attacker cannot impersonate the legitimate user even if he obtains the user’s password or smart card. However, with the rapid development of the existing side-channel-attack technology, the secret information in the common smart card can be analyzed, and then the adversary can implement offline dictionary attack, which makes many schemes unable to provide two-factor security. For this, Wang et al. [38] proposed the idea of combining “fuzzy verification factor” with “honeywords” to solve the problem of offline dictionary attack caused by smart devices loss. The main function of “fuzzy verification factor” is to detect the user’s wrong input in time, which can effectively solve the delay and improve the user experience by reducing the computing and communication cost. “Honeywords” enables the protocol to identify the online guessing behavior of attackers in time, and achieve the security beyond the traditional upper limit while meeting the availability index. Moreover, the security of protocol is proved under the modified Random-Oracle-model (ROM).

In 2016, Tewari and Gupta [36] proposed an ultra-lightweight authentication protocol with very low computing and storage costs, and analysis shows that the protocol can meet most security requirements. Recently, Ostad-Sharif et al. [28] found that Ravanbakhsh and Nazari’s scheme [29] existed the problems of known session-specific temporary information attack and perfect forward secrecy. To overcome these deficiencies, they proposed a novel anonymous and unlinkable user authentication and key agreement scheme for TMIS based the elliptic curve cryptosystem (ECC). In this paper, we will point out that Ostad-Sharif et al.’s scheme still exists some problems, such as inefficient password change, off-line password guessing attack resistance, etc., then we give a new scheme. We combine elliptic curve cryptosystem with fuzzy extractor, and apply it to login and authentication phase, which solves the problem of password and biometric correctness detection. Moreover, it makes our protocol have strong authentication and password guessing attack resistance. Also, the ingenious combination of lightweight cryptographic primitives (such as hash, XOR and concatenation) further reduces the computational cost and communication overhead of the scheme.

2.1 Our contributions

The main contributions of this paper are as follows.

  • The recently-proposed Ostad-Sharif et al.’s enhanced mutual authentication and key-agreement protocol for TMIS is reviewed, and we find that their scheme exists the problems of strong authentication and inefficient password change, and it cannot resist the off-line password guessing attack.

  • To overcome the weaknesses in Ostad-Sharif et al.’s scheme, we propose a biometrics-based mutual authentication and key agreement protocol for TMIS.

  • The security of the proposed scheme is formally proved under the widely used ROM.

  • We demonstrate that the proposed scheme can provide all kinds of security by heuristic discussion.

2.2 Organization of the paper

The rest of our work is arranged as follows: Section 3 introduces some preliminaries. Section 4 reviews Ostad-Sharif et al.’s protocol. Section 5 points out the weaknesses of Ostad-Sharif et al.’s scheme. Our biometrics-based mutual authentication and key agreement protocol for TMIS is presented in Section 6. The security of the proposed scheme is formally proved under the widely used ROM in Section 7. We demonstrate that the proposed scheme can provide various security by heuristic discussion in Section 8. In Section 9, the performance of our scheme is compared with the related works. Finally, the conclusions are given in Section 10.

3 Preliminaries

This section introduces some basic knowledge that will be used in this paper, including some common symbols, elliptic curve defined in finite field, fuzzy extractor and so on.

3.1 Symbols guide

For simplicity, the notations and their descriptions used in the entire article are listed in Table 1.

Table 1 Notations used in the paper

3.2 Elliptic curve over a prime finite field F p

The elliptic curve equation defined on the prime finite field Fp is:

$$ y^{2}=x^{3}+ax+b\ (mod \ p), $$
(1)

where a,bFp and △ = 4a3 + 27b2 (mod p)≠ 0

The elliptic curve E(Fp) is defined as:

$$ E(F_{p})=\{(x,y)\mid x,y\in F_{p},\ y^{2}=x^{3}+ax+b\}\cup \{\mathcal{O}\}, $$
(2)

where \(\mathcal {O}\) is the infinity point.

The number of points on the elliptic curve E(Fp) is represented by E(Fp), which is called the order of the elliptic curve.

Some operations on the elliptic curve are shown as follows:

1. If P = (x1,y1) ∈ E(Fp), and Q = (x2,y2) ∈ E(Fp), then P + Q = (x3,y3), where x3 = λ2x1x2 (mod p) and y3 = λ(x1x2) − y1 (mod p), where

$$ \lambda=\left\{\begin{array}{ll} \frac{y_{2}-y_{1}}{x_{2}-x_{1}} (mod\ p), & \quad if\ P\neq Q,\\ & \\ \frac{3{x_{1}^{2}}+a}{2y_{1}} (mod \ p), & \quad if \ P=Q. \end{array}\right. $$

2. Let P = (x,y) ∈ E(Fp), then the scalar multiplication in E(Fp) is defined as: tP = P + P + ⋯ + P(ttimes).

Elliptic curve discrete logarithm problem (ECDLP): for the points P,QE(Fp), variable αFp, it is hard to calculate α meeting Q = αP.

Elliptic curve computational Diffie-Hellman (ECDH) problem: for the points G,aG,bGE(Fp), it is computational impossible to calculate abGE(Fp).

3.3 Fuzzy extractor

In 2004, Dodis et al. [12] proposed the concept of fuzzy extractor. The fuzzy extractor Fe = (Gen,Rep) has two algorithms: the generation algorithm Gen and the regeneration algorithm Rep. The generation algorithm Gen outputs a string σ and a public auxiliary string 𝜃 for the input biometrics B (the first sampling of biometrics); The regeneration algorithm Rep outputs a string \(\sigma ^{\prime }\) for the input biometrics \(B^{\prime }\) (the second sampling of biometrics) and the public auxiliary string 𝜃. If the distance between the two samples B and \(B^{\prime }\) is close enough, then \(\sigma =\sigma ^{\prime }\). The fuzzy extractor can convert noisy biometrics into stable strings, and this good property enables the fuzzy extractor to be used in cryptographic systems.

Using fuzzy extractor, users can take their own biometrics as the input of Gen to obtain a public auxiliary string 𝜃 and an extracted random string σ. The random string σ can be used as the key of the cryptosystem; the public auxiliary string 𝜃 does not need to be kept secretly, as long as it is stored. After the cryptosystem runs, the key σ will be destroyed. When the cryptosystem needs to use the key again, the user takes his own biometrics and public auxiliary string 𝜃 as the input, and uses the regeneration algorithm Rep to reproduce the key σ. It can be seen that users do not need to store the key. When using the key, they only need to input their own biometrics, and the fuzzy extractor can recover the key safely and reliably.

4 Review of Ostad-Sharif et al.’s scheme

This section elaborates Ostad-Sharif et al.’s ECC-based anonymous user authentication and key agreement protocol for TMIS, which includes four phases: system setup, patient registration, login and authentication, and password change.

4.1 System setup phase

Firstly, the server selects an elliptic curve E(Fp) over a finite field Fp and a base point G with a large prime order q. Secondly, the server selects a random number \(s\in Z_{q}^{*}\) as its private key. Finally, it publishes {E(Fp),G,p,q,hi(⋅)} and keeps s secretly, where hi(⋅)(i = 0,1,⋯ ,4) are one-way collision-resistant hash functions.

4.2 Patient registration phase

To access services from a medical server, a new user needs to register on the server through the following steps. This phase is shown in Fig. 2.

  1. (1)

    The patient selects an identity IDi, password PWi, generates a random number ri, computes OPWi = h0(IDiriPWi), then sends a registration request {OPWi,IDi} to the server via a secure channel.

  2. (2)

    On receiving the request message {OPWi,IDi}, the server checks whether the IDi exists in his database, and if so, the server requests the patient to choose a different identity. Otherwise, the server computes Ai = h0(IDis), Di = OPWiAi, selects a random number rs and computes EIDi = Encs(IDirs). Finally, the server submits {EIDi,Di} to the patient.

  3. (3)

    Upon reception of the response message {EIDi,Di}, the patient stores {EIDi,Di,ri} into his mobile device.

Fig. 2
figure 2

Registration phase of Ostad-Sharif et al.’s scheme

4.3 Login and authentication phase

The login and authentication phase of Ostad-Sharif et al.’s scheme will be described in this subsection. When patient wants to access the service from server, he/she needs to do the following. As shown in Fig. 3.

  1. (1)

    The patient inputs his/her identity IDi, password PWi. Subsequently, the mobile device retrieves ri and Di from its memory, and computes OPWi = h0(IDiriPWi), Ai = OPWiDi. Then, the mobile device generates a random number \( x_{i}\in Z_{q}^{*}\), computes Xi = h1(IDiPWixi)G, Vi = h2(IDiAiXiTi), where Ti is its current time. Finally, the mobile device submits {EIDi,Xi,Vi,Ti} to the server via a public channel.

  2. (2)

    Upon reception of {EIDi,Xi,Vi,Ti}, the server checks the freshness of Ti, aborts if not; otherwise, the server computes (IDirs) = Decs(EIDi), Ai = h0(IDis), and verifies whether h2(IDiAiXiTi)=?Vi. If the equation does not hold, the server aborts the session; otherwise, it generates a random number \(x_{s}\in Z_{q}^{*}\) and computes Xs = h1(IDssxs)G, K = h1(IDssxs)Xi and SK = h3(IDiTiK). Next, the server selects a random number \(r_{s}^{new}\in Z_{q}^{*}\), and computes \(EID_{i}^{new}=Enc_{s}(ID_{i}\parallel r_{s}^{new})\), \(OEID_{i}^{new}=EID_{i}^{new}\oplus h_{4}(SK)\), \(V_{s}=h_{2}(A_{i}\parallel X_{s}\parallel EID_{i}^{new}\parallel SK)\). Finally, the server sends \(\{OEID_{i}^{new},X_{s},V_{s} \} \) to the mobile device.

  3. (3)

    After receiving \(\{OEID_{i}^{new},X_{s},V_{s}\}\), the mobile device computes K = h1(IDiPWixi)Xs, SK = h3(IDiTiK), \(EID_{i}^{new}=OEID_{i}^{new}\oplus h_{4}(SK)\), verifies whether \(h_{2}(A_{i}\parallel X_{s}\parallel EID_{i}^{new}\parallel SK) \stackrel {?}{=}V_{s} \). If so, the mobile device substitutes EIDi with \(EID_{i}^{new}\).

Fig. 3
figure 3

Login and authentication phase of Ostad-Sharif et al.’s scheme

4.4 Password change phase

In practice, the user’s password is low entropy and easy to be leaked. At this stage, the user can change his/her password without repeating the registration process. The detailed steps are as follows. As shown in Fig. 4.

  1. (1)

    The patient inputs his/her identity IDi, password PWi, and computes OPWi = h0(IDiriPWi), Ai = OPWiDi. Then the mobile device asks the patient to input a new password.

  2. (2)

    The patient enters a new password \(PW_{i}^{new}\), and the mobile device generates a new random number \(r_{i}^{new}\in Z_{q}^{*}\), computes \(OPW_{i}^{new}=h_{0}(ID_{i}\parallel r_{i}^{new}\parallel PW_{i}^{new})\), \(XOPW_{i}^{new}=OPW_{i}^{new}\oplus h_{1}(A_{i})\), \( V_{i}=h_{2}(ID_{i}\parallel OPW_{i}^{new}\parallel T_{i})\). Then the mobile device sends \(\{EID_{i},XOPW_{i}^{new},V_{i},T_{i}\}\) to the server.

  3. (3)

    After receiving \(\{EID_{i},XOPW_{i}^{new},V_{i},T_{i}\}\), the server checks Ti’s freshness. If it is fresh, the server computes (IDirs) = Decs(EIDi), Ai = h0(IDis), \(OPW_{i}^{new}=XOPW_{i}^{new}\oplus h_{1}(A_{i})\), and verifies whether \(h_{2}(ID_{i}\parallel OPW_{i}^{new}\parallel T_{i})\stackrel {?}{=}V_{i} \). If not, the server aborts the session; otherwise, it computes \(D_{i}^{new}=OPW_{i}^{new}\oplus A_{i}\) and \(XD_{i}^{new}=D_{i}^{new}\oplus h_{3}(A_{i})\). Then, the server selects a random number \(r_{s}^{new}\in Z_{q}^{*}\) and computes \(EID_{i}^{new}=Enc_{s}(ID_{i}\parallel r_{s}^{new})\), \(OEID_{i}^{new}=EID_{i}^{new}\oplus h_{4}(A_{i})\), \(V_{s}=h_{2}(D_{i}^{new}\parallel EID_{i}^{new}\parallel T_{i})\). Finally, the server submits \(\{OEID_{i}^{new},XD_{i}^{new},V_{s} \}\) to the patient.

  4. (4)

    On receiving \(\{OEID_{i}^{new},XD_{i}^{new},V_{s} \}\), the mobile device computes \(D_{i}^{new}=XD_{i}^{new}\oplus h_{3}(A_{i})\), \(EID_{i}^{new}=OEID_{i}^{new}\oplus h_{4}(A_{i})\), and verifies whether \(h_{2}(D_{i}^{new}\parallel EID_{i}^{new}\parallel T_{i}) \stackrel {?}{=}V_{s} \). If true, the mobile device substitutes EIDi with \(EID_{i}^{new}\), Di with \(D_{i}^{new}\), and ri with \(r_{i}^{new}\).

Fig. 4
figure 4

Password change phase of Ostad-Sharif et al.’s scheme

5 Weaknesses of Ostad-Sharif et al.’s protocol

In the section, we will point out that Ostad-Sharif et al.’s protocol exists the problems of strong authentication, inefficient password change and the off-line password guessing attack resistance. The detailed description is as follows.

5.1 Strong authentication

In the login and authentication phase of Ostad-Sharif et al.’s protocol, after the user enters his/her identity IDi and password PWi, the smart card does not check their correctness and proceeds to the next step.

  1. (1)

    Assuming that the patient inputs the wrong password \(PW_{i}^{*}\) instead of the correct password PWi. Then, the smart card computes \(OPW_{i}^{*}=h_{0}(ID_{i}\parallel r_{i}\parallel PW_{i}^{*})\), \(A_{i}^{*}=OPW_{i}^{*}\oplus D_{i}=OPW_{i}^{*}\oplus OPW_{i}\oplus A_{i} \neq A_{i}\).

  2. (2)

    Smart card generates a random number \( x_{i}\in Z_{q}^{*}\), computes \(X_{i}^{*}=h_{1}(ID_{i}\parallel PW_{i}^{*}\parallel x_{i})G\), \( V_{i}^{*}=h_{2}(ID_{i}\parallel A_{i}^{*}\parallel X_{i}^{*}\parallel T_{i})\), where Ti is its current time. Finally, the smart card submits \(\{EID_{i},X_{i}^{*},V_{i}^{*},T_{i} \}\) to the server via a public channel.

  3. (3)

    Upon reception of \(\{EID_{i},X_{i}^{*},V_{i}^{*},T_{i}\}\), the server checks the freshness of Ti, aborts if not; otherwise, the server computes (IDirs) = Decs(EIDi), Ai = h0(IDis). Then the server verifies whether \(h_{2}(ID_{i}\parallel A_{i}\parallel X_{i}^{*}\parallel T_{i})\stackrel {?}{=}V_{i}^{*} \).

It is obviously that \(h_{2}(ID_{i}\parallel A_{i}\parallel X_{i}^{*}\parallel T_{i})\neq V_{i}^{*} \) because \(A_{i}^{*}\neq A_{i}\). Therefore, the server considers the patient to be illegal, refuses him/her to log in and terminates the session.

Similarly, if the patient enters an incorrect identity IDi, the above problem will also occur during the login and authentication phase. This problem increases the communication and computing costs of the server.

5.2 Inefficient password change

In the password change phase of Ostad-Sharif et al.’s protocol, the old password is not verified for correctness, and we find some problems with the password change phase. The details are described as follows.

  1. (1)

    Assuming that the patient inputs the wrong password \(PW_{i}^{*}\) instead of the correct password PWi, and the smart card computes \(OPW_{i}^{*}=h_{0}(ID_{i}\parallel r_{i}\parallel PW_{i}^{*})\), \(A_{i}^{*}=OPW_{i}^{*}\oplus D_{i}=OPW_{i}^{*}\oplus OPW_{i}\oplus A_{i} \neq A_{i}\). Then, the smart card asks the patient to input a new password.

  2. (2)

    The patient enters a new password \(PW_{i}^{new}\), and then the patient and the server perform mutual authentication phase. After that, the server submits \(\{OEID_{i}^{new},XD_{i}^{new},V_{s} \}\) to the patient.

  3. (4)

    On receiving \(\{OEID_{i}^{new},XD_{i}^{new},V_{s} \}\), the mobile device computes \(D_{i}^{new*}=XD_{i}^{new}\oplus h_{3}(A_{i}^{*})\), \(EID_{i}^{new*}=OEID_{i}^{new}\oplus h_{4}(A_{i}^{*})\), and verifies whether \(h_{2}(D_{i}^{new*}\parallel EID_{i}^{new*}\parallel T_{i}) \stackrel {?}{=}V_{s} \).

It is obviously that \(h_{2}(D_{i}^{new*}\parallel EID_{i}^{new*}\parallel T_{i}) \neq V_{s} \) because \(A_{i}^{*}\neq A_{i}\). So the smart card refuses to update the password and terminates the session. This increases the burden on the server. If a malicious adversary sends a large number of password change requests to a specific server, it may cause the server to be paralyzed, and thus can not provide normal services for legitimate users.

5.3 Off-line password guessing attack

Messerges et al. [27] and He et al. [18] point out that all smart cards cannot resist the side channel attack and all data can be extracted from the smart cards. We assume an adversary \(\mathcal {A}\) has extracted the information {EIDi,Di,ri} from the smart card. In this subsection, we will prove that \(\mathcal {A}\) can obtain the patient’s password once he/she obtains the smart card of the patient in Ostad-Sharif et al.’s scheme. The details are as follows.

  1. (1)

    \(\mathcal {A}\) intercepts patient’s login information {EIDi,Xi,Vi,Ti} on public channel, and guesses patient’s identity \(ID_{i}^{\prime }\) and password \(PW_{i}^{\prime }\) from the user identity space Did and the password space Dpw respectively.

  2. (2)

    \(\mathcal {A}\) computes \(OPW_{i}^{\prime }=h_{0}(ID_{i}^{\prime }\parallel r_{i}\parallel PW_{i}^{\prime })\), \(A_{i}^{\prime }=OPW_{i}^{\prime }\oplus D_{i}\), \( V_{i}^{\prime }=h_{2}(ID_{i}^{\prime }\parallel A_{i}^{\prime }\parallel X_{i}\parallel T_{i})\).

  3. (3)

    \(\mathcal {A}\) verifies whether \(V_{i}^{\prime }\stackrel {?}{=}V_{i}\) or not. If true, \(\mathcal {A}\) gets the patient’s real identity IDi and password PWi. Otherwise, \(\mathcal {A}\) repeats (1) and (2) until he/she finds the correct identity and password.

Therefore, Ostad-Sharif et al.’s protocol cannot resist the off-line password guessing attack.

6 Our proposed scheme

To overcome the security weaknesses of Ostad-Sharif et al.’s protocol and enhance the security of protocol, we give a biometrics-based mutual authentication and key agreement protocol (BBAKA) for TMIS using elliptic curve cryptography. It consists of four phases: initialization phase, patient registration phase, login and authentication phase, password change phase. Fig. 5 shows the general flow of BBAKA protocol. Firstly, the key generation center (KGC) initializes system and generates public parameters. Secondly, the user and the server interact to complete mutual authentication and establish a common session key. The details are presented as follows.

Fig. 5
figure 5

General flow of BBAKA protocol

6.1 Initialization phase

KGC initializes the system parameters as follows, then publicizes them.

  1. (1)

    The server chooses an elliptic curve E(Fp) and a base point G with large prime order q over E(Fp).

  2. (2)

    The server selects a secure one-way hash function: \(h:\{0,1\}^{*}\rightarrow \{0,1\}^{l_{h}}\).

  3. (3)

    The server selects a random number \(s\in Z_{q}^{*}\) as its long-term private key and calculates Pubs = sG as its public key.

  4. (4)

    Server keeps s secretly and publishes the system parameters {E(Fp),G,Pubs,q,h(⋅)}.

6.2 Patient registration phase

If the patient needs to access the medical server, he/she should first register on KGC as the following steps. The details are shown in Fig. 6.

  1. (1)

    The patient selects an identity IDi, password PWi, imprints his/her biometrics Bi, generates a random number ri, computes (σi,𝜃i) = Gen(Bi), OPWi = h(IDiriPWi). Then the patient sends a registration request {OPWi,IDi} to KGC via a secure channel.

  2. (2)

    Upon receiving the request message {OPWi,IDi}, KGC checks whether h(IDi) exists in its database. If so, KGC requests the patient to choose a different identity. Otherwise, it computes Ai = h(IDis), Di = OPWiAi, selects a random number rs and computes EIDi = Encs(IDirs), Ci = h(IDiAiOPWi). Then KGC stores {EIDi,Di,Ci,h(⋅)} in a smart card SCi and submits SCi to the patient via a secure physical channel.

  3. (3)

    After receiving SCi, the patient computes yi = rih(σi) and stores yi,𝜃i in SCi.

Fig. 6
figure 6

Registration phase of BBAKA protocol

6.3 Login and authentication phase

When the patient wants to login server, he and server need to authenticate each other’s legitimacy, and establish a shared session key to ensure the security of subsequent communication. The detailed description of this phase is shown in Fig. 7.

  1. (1)

    Patient inputs his identity IDi, password PWi, imprints Bi. Then the mobile device retrieves yi and Di from its memory, and computes σi = Rep(Bi,𝜃i), ri = yih(σi), OPWi = h(IDiriPWi), Ai = OPWiDi. Following, the mobile device verifies whether h(IDiAiOPWi)=?Ci holds. If it does not hold, the mobile device terminates this session. Otherwise, the mobile device generates a random number \( \alpha \in Z_{q}^{*}\), and computes Xi = αG, Vi = h(IDiAiXiT1), where T1 is the current time. Finally, the mobile device submits {EIDi,Xi,Vi,T1} to server.

  2. (2)

    Upon reception of {EIDi,Xi,Vi,T1}, server checks the freshness of T1, aborts if not; otherwise, server computes (IDirs) = Decs(EIDi), Ai = h(IDis). Then server verifies whether h(IDiAiXiT1)=?Vi, if not, aborts the session; otherwise, it generates a random number \(\beta \in Z_{q}^{*}\) and computes Xs = βG, SK = h(IDiT1AiβXi). Next, server selects a new random number \(r_{s}^{new}\in Z_{q}^{*}\), computes \(EID_{i}^{new}=Enc_{s}(ID_{i}\parallel r_{s}^{new})\), \(V_{s}=h(A_{i}\parallel T_{2}\parallel EID_{i}^{new}\parallel SK)\), and sends \(\{EID_{i}^{new},X_{s},V_{s},T_{2} \} \) to the mobile device.

  3. (3)

    After receiving \(\{EID_{i}^{new},X_{s},V_{s},T_{2}\}\), the mobile device computes SK = h(IDiT1AiαXs), verifies whether \(h(A_{i}\parallel T_{2}\parallel EID_{i}^{new}\parallel SK) \stackrel {?}{=}V_{s} \). If so, it substitutes EIDi with \(EID_{i}^{new}\).

Fig. 7
figure 7

Login and authentication phase of BBAKA protocol

6.4 Password and biometrics change phase

At this stage, the patient can change his password and biometrics according to the following steps.

  1. (1)

    Patient inserts his smart card into the card reader and inputs his/her identity IDi, password PWi, imprints his/her biometrics Bi. Then smart card SCi computes σi = Rep(Bi,𝜃i), ri = yih(σi), OPWi = h(IDiriPWi), Ai = OPWiDi.

  2. (2)

    SCi checks h(IDiAiOPWi)=?Ci. If not, SCi will reject the patient’s password and biometrics change request. Otherwise, patient is asked to enter a new password PWinew and biometrics Binew.

  3. (3)

    The patient enters a new password PWinew and imprints his/her new biometrics Binew.

  4. (4)

    On receiving PWinew and Binew, SCi generates a new random number rinew, and computes (σinew,𝜃inew) = Gen(Binew), OPWinew = h(IDirinewPWinew), Dinew = OPWinewAi, Cinew = h(IDiAiOPWinew), yinew = rinewh(σinew). Finally, SCi updates {Di,Ci,yi,𝜃i} with {Dinew,Cinew,yinew,𝜃inew}.

Unlike Ostad-Sharif et al.’s protocol, our password and biometrics change phase does not require the participation of server, and patient can complete it locally. In this way, the computing and communication costs of server are reduced, which makes our protocol more efficient.

7 Formal security proof

In this section, we give the formal security proof of BBAKA protocol under the random oracle model (ROM) [5].

7.1 Security model

The BPR adversary model is widely used to prove the security of authentication scheme based password. U1 and U2 are protocol participants. The model allows each user to execute multiple protocols with other users. A user can execute a polynomial protocol instance in parallel. \({\varPi }_{U_{i}}^{t}\) represents the t th instance of user Ui.

The security of the protocol depends on the capability of the adversary, which is simulated by a series of queries. It is assumed that the probability polynomial time (PPT) adversary \(\mathcal {A}\) completely controls the communication and can query any instance. \(\mathcal {A}\) can perform the following queries.

  • Execute(U1,U2): This query executes the protocol between users U1 and U2. The adversary gets all messages during the execution of the protocol.

  • \(Send({\varPi }_{U_{i}}^{t}, M)\): This query allows adversary \(\mathcal {A}\) to send a message M to instance \({\varPi }_{U_{i}}^{t}\), then \({\varPi }_{U_{i}}^{t}\) executes the protocol π honestly and returns a response message to \(\mathcal {A}\).

  • \(Reveal({\varPi }_{U_{i}}^{t})\): This query returns the session key held by instance \({\varPi }_{U_{i}}^{t}\).

  • Corrupt(Ui): This query allows \(\mathcal {A}\) to get the long-term private key of Ui. But \(\mathcal {A}\) can’t get any intermediate data in the process of protocol execution.

  • \(Test({\varPi }_{U_{i}}^{t})\): This query attempts to simulate the adversary’s ability to distinguish between session key and random key. Test oracle randomly selects a bit b. If b = 1, the session key is returned; If b = 0, random key is returned. Suppose that \(\mathcal {A}\) can only make one Test query.

Let \(ID{S_{i}^{t}}\) be the session identifier of participant instance \({\varPi }_{U_{i}}^{t}\), which is a function of all messages received and sent by \({\varPi }_{U_{i}}^{t}\). Let \(I{D_{i}^{t}}\) be the partner identifier which is used to identify the participant who is exchanging keys with the instance \({\varPi }_{U_{i}}^{t}\).

Definition 1 (Partnership) Two instances \({\varPi }_{U_{i}}^{t}\) and \({\varPi }_{U_{j}}^{m}\) are partners if and only if: \(ID{S_{i}^{t}}=ID{S_{j}^{m}}\) and \(I{D_{i}^{t}}=I{D_{j}^{m}}\).

Definition 2 (Freshness) Instance \({\varPi }_{U_{i}}^{t}\) is fresh. If the status of this instance is accepted after receiving the last expected message, and neither \({\varPi }_{U_{i}}^{t}\) nor its partners have been asked for Reveal query.

Definition 4 (Semantic Security) For any \(\mathcal {A}\), \(Succ(\mathcal {A})\) is an event that \(\mathcal {A}\) makes one Test query on some fresh instances and correctly guesses the value of b. The advantage that \(\mathcal {A}\) attacks the protocol π is defined to be \(Adv_{{\varPi }}^{AKE}(\mathcal {A})=2|Pr[Succ(\mathcal {A})]-\frac {1}{2}|\). The protocol π is called semantically secure if \(Adv_{{\varPi }}^{AKE}(\mathcal {A})\) is negligible.

7.2 Security proof

First, we introduce the simulation of two oracles: Hash oracle and encryption/ decryption oracle.

Simulation of Hash Oracle Query

On receiving h(u) query, Hash returns v as follows.

  • v = h(u) is returned if (u,v) exists in list LH.

  • Otherwise, select a constant \(v\in \{0,1\}^{l_{h}}\) randomly and send it to \(\mathcal {A}\), then add (u,v) into list LH.

Simulation of encryption/decryption Oracle Queries

  • When Ek(u) is queried, it returns v if the record (k,u,∗,v) exists in the list LC. Otherwise, it returns a random number \(v\in \{0,1\}^{l_{c}}\) and adds (k,u,E,v) into LC.

  • When Dk(v) is queried, it returns u if the record (k,u,∗,v) exists in the list LC. Otherwise, it returns a random number u and adds (k,u,D,v) into LC.

Next, we prove that the protocol is secure against the active adversary under ECDH assumption.

Theorem 1 Under ECDH assumption, BBAKA protocol can resist the attack of PPT adversary. The corresponding adversary advantage is

$$ Adv_{{\varPi}}(\mathcal{A})\leq \frac{q_h^2}{2^{l_h}}+\frac{q_c^2}{2^{l_c}}+\frac{(q_s+q_e)^2}{2^{l_r}}+\frac{q_s}{2^{l_h-1}}+2q_hAdv_{{\varPi}}^{ECDH}(\mathcal{A})+2q_s\cdot max\{\frac{1}{|D|},\frac{1}{2^l},\varepsilon_b\} $$

where qh,qc,qs and qe denote the number of Hash, encryption/decryption, Send and Execute oracle queries, respectively, \(Adv_{{\varPi }}^{ECDH}(\mathcal {A})\) denotes \(\mathcal {A}\)’s probability of solving the ECDH problem successfully, lh is the output size of Hash oracle, lc is the output size of encryption/decryption oracle and lr is the string length of random numbers. |D| is the size of the password space, l is the length of σ, εb represents the probability that the biometric information of two different users satisfies the condition \(d(B_{i}^{\prime },B_{i})<{\Delta } t\), which is obviously a negligible infinitesimal

Proof To prove that BBAKA protocol π is secure, we define five games Gi(0 ≤ i ≤ 4). Pr[Succi] denotes the probability which \(\mathcal {A}\) success in the game Gi.

GameG0: \(\mathcal {A}\)’s query is responded as the real BBAKA protocol, so the probability that \(\mathcal {A}\) success in Game G0 is equal to \(\mathcal {A}\)’s advantages in the original protocol. Then

$$ Adv_{{\varPi}}(\mathcal{A})=2|Pr[Succ_{0}]-\frac{1}{2}| $$
(3)

Game G1: Hash oracle and encryption/decryption oracles are simulated as above, and other oracles are simulated as the original protocol. Then

$$ Pr[Succ_{1}]=Pr[Succ_{0}] $$
(4)

Game G2: This game considers the hash result conflict and the random number conflict of all communication messages. In the transmitted messages {EIDi,Xi,Vi,T1} and \(\{EID_{i}^{new},X_{s},V_{s},T_{2} \}\), Xi and Xs contain random numbers α and β, respectively. According to the birthday paradox, the probability of collision in the Hash queries, encryption/decryption queries and transcripts are at most \(\frac {{q_{h}^{2}}}{2^{l_{h}+1}}\), \(\frac {{q_{c}^{2}}}{2^{l_{c}+1}}\) and \(\frac {(q_{s}+q_{e})^{2}}{2^{l_{r}+1}}\) respectively. Thus

$$ |Pr[Succ_{2}]-Pr[Succ_{1}]|\leq \frac{{q_{h}^{2}}}{2^{l_{h}+1}}+\frac{{q_{c}^{2}}}{2^{l_{c}+1}}+\frac{(q_{s}+q_{e})^{2}}{2^{l_{r}+1}} $$
(5)

Game G3: In this game, instead of using hash oracle, \(\mathcal {A}\) tries to guess the correct hash value from other oracle queries. It is indistinguishable from G2 except that \(\mathcal {A}\) maybe guess Vi and Vs. Thus, we have

$$ |Pr[Succ_{3}]-Pr[Succ_{2}]|\leq \frac{q_{s}}{2^{l_{h}}} $$
(6)

Game G4: In this terminating game, the session key is guessed without querying the hash oracle, so \(\mathcal {A}\) has no advantage to guess b. It has no advantage in distinguishing between the real session key and random session key. Then we have

$$ Pr[Succ_{4}]=\frac{1}{2} $$
(7)

G4 and G3 are indistinguishable unless \(\mathcal {A}\) queries Hash oracle on < IDiT1AiβXi >. Suppose \(\mathcal {A}\) can query Corrupt(Ui) in the following three ways.

  • Corrupt(Ui) returns Ui’s biometrics Bi to \(\mathcal {A}\), and the probability is at most qsεb.

  • Corrupt(Ui) returns Ui’s password PWi to \(\mathcal {A}\), and the probability is at most \(\frac {q_{s}}{|D|}\);

  • Corrupt(Ui) returns parameters stored in SCi to \(\mathcal {A}\), and the probability is at most \(\frac {q_{s}}{2^{l}}\);

The above three cases cannot occur at the same time, so the probability is at most \(q_{s}\cdot max\{\frac {1}{|D|},\frac {1}{2^{l}},\varepsilon _{b}\}\). So

$$ |Pr[Succ_{4}]-Pr[Succ_{3}]|\leq q_{h}Adv_{{\varPi}}^{ECDH}(\mathcal{A})+q_{s}\cdot max\{\frac{1}{|D|},\frac{1}{2^{l}},\varepsilon_{b}\} $$
(8)

Then, we have

$$ \begin{array}{ll} Adv_{{\varPi}}(\mathcal{A})&=2|Pr[Succ_{0}]-\frac{1}{2}| \\ & =2|Pr[Succ_{1}]-Pr[Succ_{4}]|\\ & =2|Pr[Succ_{1}]-Pr[Succ_{2}]+Pr[Succ_{2}]-Pr[Succ_{3}]+Pr[Succ_{3}]\\ & \quad -Pr[Succ_{4}]|\\ & \leq2(|Pr[Succ_{1}]-Pr[Succ_{2}]|+|Pr[Succ_{2}]-Pr[Succ_{3}]|+|Pr[Succ_{3}]\\ & \quad -Pr[Succ_{4}]|)\\ & \leq \frac{{q_{h}^{2}}}{2^{l_{h}}}+\frac{{q_{c}^{2}}}{2^{l_{c}}}+\frac{(q_{s}+q_{e})^{2}}{2^{l_{r}}}+\frac{q_{s}}{2^{l_{h}-1}}+2q_{h}Adv_{{\varPi}}^{ECDH}(\mathcal{A})+2q_{s}\cdot max\{\frac{1}{|D|},\frac{1}{2^{l}},\varepsilon_{b}\} \end{array} $$

Finally, the theorem is proved according to formulas (3)-(8).

8 Other analysis

In this section, we analyze the important security features and various attack resistances of BBAKA protocol by heuristic discussion method. In addition, password guessing attack resistance has been proven in Section 7.2, so it is omitted here.

8.1 Mutual authentication and session key agreement

In the login and authentication phase of BBAKA protocol, server can authenticate the legitimacy of patient by comparing whether h(IDiAiXiT1)=?Vi, where Ai = h(IDis), Xi = αG, T1 is the current timestamp. \(\mathcal {A}\) has two ways to calculate Ai. The first one is that \(\mathcal {A}\) tries his best to get the user’s identity IDi and the system master key s; the second one is that \(\mathcal {A}\) calculates Ai by Ai = OPWiDi, where OPWi = h(IDiriPWi), ri = yih(σi). This requires \(\mathcal {A}\) to get the patient’s identity IDi, password PWi, biometrics Bi and the smart card. Clearly, both approaches are almost impossible for any adversary. In addition, since that only legitimate server can get these secret parameters IDi,SK,Xs and s, patients can authenticate server by checking \(h(A_{i}\parallel T_{2}\parallel EID_{i}^{new}\parallel SK) \stackrel {?}{=}V_{s}\), where SK = h(IDiT1AiαXs). After mutual authentication, patient and server establish a shared session key SK = h(IDiT1AiαXs). Therefore, our scheme can provide mutual authentication and session key agreement.

8.2 User anonymity and untraceability

User anonymity implies that adversary cannot get the user’s real identity IDi. In our protocol, the patient’s identity is sent with a fake name EIDi = Encs(IDirs), where s is the server’s private key. To obtain the patient’s identity IDi, \(\mathcal {A}\) needs to get the values of s and the random number rs. For any adversary, this is almost impossible to accomplish. Furthermore, the patient’s pseudonym is updated at the end of each session without disclosing any information to the adversary. In addition, for the login request {EIDi,Xi,Vi,T1} and response message \(\{EID_{i}^{new},X_{s},V_{s},T_{2} \}\), they are all protected by the random numbers α, β and rs, and \(\mathcal {A}\) cannot get any useful information from these messages. Therefore, users is anonymity and \(\mathcal {A}\) can’t track users.

8.3 Perfect forward secrecy

In BBAKA protocol, the session key SK = h(IDiT1AiβXi), where Ai = h(IDis) and Xi = αG. It is protected by server’s private key s and random numbers α,β. Even if \(\mathcal {A}\) gets the master key s, he/she cannot get the value of βXi unless the ECDLP problem is solved. So the perfect forward secrecy is provided in our protocol.

8.4 User friendliness

Our protocol allows patients to freely choose and change their identities IDi, passwords PWi and biometrics Bi, which makes our protocol get a good user experience.

8.5 Resist the stolen-verifier attack

Our scheme does not require server to maintain a verification list to store secret parameters related to the user’s password and biometrics, and server’s database is not useful for \(\mathcal {A}\) to access patients’ other private information. Therefore, it can resist the stolen-verifier attack.

8.6 Resist the privileged insider attack

In the registration phase of BBAKA protocol, patient sends {OPWi,IDi} to server, where OPWi = h(IDiriPWi). Because OPWi is protected by the random number ri, server cannot get the patient’s password PWi. In addition, patient does not send any biometrics information to server, so it is impossible for server to know the patient’s biometrics. Moreover, the use of random number ensures patient a different OPWi in every session. Therefore, our protocol can resist the privileged insider attack.

8.7 Resist the user impersonation attack

To impersonate a legitimate patient, \(\mathcal {A}\) must compute Vi = h(IDiAiXiT1), where Ai = h(IDis), Xi = αG. Obviously, \(\mathcal {A}\) cannot get Ai’s value without the system private key s. In addition, as described in the previous section, our protocol can provide user anonymity and untraceability, so \(\mathcal {A}\) also cannot get the user’s identity IDi. Thus, the user impersonation attack is powerless against our protocol.

8.8 Replay attack

Suppose the adversary intercepts a login message {EIDi,Xi,Vi,T1} and replays it to the server, the server can quickly detect this attack by checking the freshness of T1. Even if T1 is modified by the adversary, the server can also detect the replay attack by verifying h(IDiAiXiT1)=?Vi. Similarly, the patient can find the replay attack by checking the freshness of T2 and verifying \(h(A_{i}\parallel T_{2}\parallel EID_{i}^{new}\parallel SK) \stackrel {?}{=}V_{s}\). Thus, BBAKA protocol can resist the replay attack.

8.9 Man-in-the-middle attack

As discussed above, BBAKA protocol can provide mutual authentication and resist the impersonation attack. So it can successfully resist man-in-the-middle attack.

8.10 Resist the denial of service attack

In BBAKA protocol, patients can only send login requests after they are locally authenticated. The details are as follows: The patient inputs his/her identity IDi, password PWi, imprints Bi. Then the mobile device computes σi = Rep(Bi,𝜃i), ri = yih(σi), OPWi = h(IDiriPWi), Ai = OPWiDi, and verifies h(IDiAiXiT1)=?Vi. If it does not hold, the mobile device will end this session. Namely, only after the patient is authenticated by the mobile device, the login request is sent to the server. Thus, our protocol is secure against the denial of service attack.

8.11 Known session-specific temporary information attack

In our protocol, the patient and the server establish the session key SK = h(IDiT1AiβXi), where Ai = h(IDis), Xi = αG. Suppose that the temporary secrets α and β are leaked to the adversary, he still cannot calculate the session key unless he knows the system private key s. Also, only the legitimate server has the private key, \(\mathcal {A}\) is impossible to get s. So in any case, the adversary cannot calculate the session key.

8.12 Smart card loss attack

In our scheme, even if the patient’s smart card/mobile device is lost, he/she still can not be impersonated by a malicious adversary \(\mathcal {A}\) without his/her password. Furthermore, as mentioned above, BBAKA protocol can successfully resist the offline password guessing attack. Therefore, the smart card loss attack is powerless against BBAKA protocol.

9 Functionality and performance analysis

In this section, we carefully compares the functionality and performance of our protocol with the related works [24, 25, 28, 30, 35]. Comparison results are shown in Table 2.

Table 2 Security comparison

Table 2 shows that [25, 28] and [35] cannot resist off-line password guessing attack and denial of service attack. Ostadsharif et al. [28] and [24] fail to provide the user friendliness. [24], [25] and [35] are powerless to resist the ephemeral secret leakage attack. Li et al. [24], [25] and [30] are vulnerable to the replay attack. Ostadsharif et al. [28], [24] and [30] can not resist the stolen-verifier attack. In addition, [30] and [25] exist the problems of perfect forward secrecy and smart card loss attack resistance respectively. However, our protocol can provide all these security features.

Next, we will compare the performance of BBAKA protocol with the recent existing authentication protocols [24, 25, 28, 30, 35]. We define the notations used for execution time in Table 3.

Table 3 Notations of some operations

According to He et al. [16], the executing time of elliptic curve point multiplication, symmetric encryption/decryption, one-way hash function, modular exponentiation, chebyshev chaotic map and public key encryption/decryption are 0.063075, 0.0087, 0.0005, 0.522, 0.066 and 0.522 second respectively. Since the executing time of concatenation and XOR operation are very short, we neglect them in all protocols. Furthermore, we assume that the size of random number, hash output, timestamp, chebyshev output and elliptic curve point are 64 bits, 160 bits, 32 bits, 320 bits and 320 bits respectively. In addition, the symmetric cryptographic algorithm used is AES-128 and the output size of public key encryption/decryption is 320 bits. The performance comparison results are shown in Table 4.

Table 4 Performance comparison of our protocol with the related ones

In the login and authentication phase of BBAKA protocol, the mobile device executes six one-way hash function operations and two elliptic curve point multiplication operations. So the execution time of the mobile device is 6Th + 2Tm. The server executes four one-way hash function operations, two elliptic curve point multiplication operations and two symmetric encryption/decryption operations. So the execution time of the server is 4Th + 2Tm + 2Ts. Thus, the total execution time of BBAKA protocol is 10Th + 4Tm + 2Ts ≈ 10 × 0.0005 + 4 × 0.063075 + 2 × 0.0087 ≈ 0.2747 (second).

The mobile device sends request message {EIDi,Xi,Vi,T1} to the server, and then the server sends response message \(\{EID_{i}^{new},X_{s},V_{s},T_{2} \}\) to the mobile device. So the communication cost of BBAKA protocol is 1280 bits.

According to Fig. 8, the total execution time of BBAKA protocol is obviously the least. Compared with protocols of Lwamo et al. [25] and Salem et al. [30], the total time-consuming of BBAKA protocol is reduced by about 74.5% and 27.8% respectively. In terms of communication cost, Fig. 9 shows that our protocol is significantly superior to the protocols [24] and [25], and almost equal to protocols [28, 35] and [30]. Also, our protocol can overcome four weaknesses of Ostad-Sharif et al.’s scheme [28] and Sureshkumar et al.’s scheme [35]. Compared with Li et al’s scheme [24], the communication overhead of BBAKA protocol is reduced by 27.3%. Although the communication cost of BBAKA protocol is slightly higher than Sureshkumar et al.’s protocol [35], it can overcome four weaknesses of their scheme. In summary, BBAKA protocol has great advantages in both execution time and communication cost.

Fig. 8
figure 8

Execution time illustration of different protocols

Fig. 9
figure 9

Communication cost illustration of different protocols

10 Conclusions

In this paper, Ostad-Sharif et al.’s scheme is reviewed, and then we point out that their scheme cannot provide the strong authentication and is vulnerable to off-line password guessing attack. Moreover, their scheme fails to update password correctly in the password change phase. To overcome these weaknesses, we propose a biometrics-based mutual authentication and key agreement protocol for TMIS. We take full advantage of lightweight cryptographic primitives such as ECC and hash functions, which makes our protocol more suitable for TMIS. Our protocol can provide not only the three security missing in Ostad-Sharif et al.’s protocol but also other security, such as user anonymity, un-traceability, perfect forward secrecy, etc. In addition, it can also resist all kinds of known attacks, such as stolen-verifier attack, privileged insider attack, replay attack, etc. Also, we prove the security of BBAKA protocol by formal method under ROM. Compared with related existing protocols, our protocol has less computation cost and communication overhead. In the future work, we will consider designing the key agreement protocol based on lattice cryptography to further improve the efficiency and security of the scheme.