Abstract
In this paper, we propose new password authenticated key exchange (PAKE) and protected password change (PPC) protocols without any symmetric or public-key cryptosystems. The security of the proposed protocols is based on the computational Diffie-Hellman assumption in the random oracle model. The proposed scheme can resist both forgery server and denial of service attacks.
1. Introduction
The rapid progress of networks facilitates more and more computers being connected together to exchange large amounts of information and share system resources. Various resources distributed among hosts are shared across the networks in the form of network services provided by servers. Before providing the services, the servers should have the ability to authenticate users’ identities. A simple method uses a large, random secret (128-bit or 256-bit) that is secretly shared between the user and the server. Using the common secret, the server can easily authenticate the user. However, because the user may not remember it, she/he may need a device such as a smart card to store it [1,2,3,4,5,6]. Another method is to employ an easy-to-remember password instead of the large, random secret. The password approach offers a simple and practical solution for user identification to allow people to remember their passwords without any devices [7,8]. However, passwords narrow down the possibilities and make it easier for attackers to mount guessing attacks [3]. Most of these types of schemes [9,10,11] require symmetric cryptosystems, and others require public-key cryptosystems [12] to protect passwords which are transferred over an unsecured network.
To repair these security flaws, Tseng et al. employed the Diffie-Hellman key exchange scheme [13] and the one-way hash function [14]. Lee et al. employed the one-way hash function, and Hwang et al. employed a server’s public cryptosystem to solve the security flaws present in the Peyravian-Zunic scheme. Unfortunately, in 2003, Lin and Hwang [15] and Yang et al. [16] simultaneously pointed out that the Hwang-Yeh improved password change schemes suffered from denial of service (DOS) attack and repaired the security flaws. On the other hand, Yang et al. [17] pointed out that Tseng et al.’s improved password change scheme also suffered from DOS attack. DOS attack leads to an adversary who can intercept the request for a password change sent by a legal user and modify it with a wrong password. The user is under the impression that she/he has changed her/his password successfully. However, she/he cannot log in to the server the next time. Compare with Yang et al.’s scheme [16], the Lin-Hwang scheme [15] additionally allows the client and the server in the password-authenticated protocol to establish a session key. In this respect, it is similar to the password authenticated key exchange (PAKE) schemes [17,18]. In the PAKE schemes, two parties via pre-shared password technology agree to a common session key. To protect sensitive data from eavesdropping and modification between two parties, the authenticated key can be used for protecting sensitive data and ensuring data integrity. Because of their different motives, the related-PAKE schemes [19] do not provide two parties to change their shared password.
On the other hand, the public-key cryptosystem exists in the Lin-Hwang scheme and Yang et al.’s scheme. In particular, to avoid an adversary from replacing the original public keys of the server with her/his own keys, certificates (e.g., digital signatures) should be introduced into their scheme. A certificate from a trusted authority is what servers with public keys will ask for before providing service. This means that users need a large storage space for storing certificates. More bandwidth is also needed to verify the signatures.
In this paper, we propose new PAKE and protected password change (PPC) protocols which are based on the computational Diffie-Hellman assumption and the one-way hash function. The proposed PAKE scheme has the following four basic security requirements:
- Mutual authentication: the user and the server can authenticate each other.
- Session key security: no-one except the user and the server can agree to the common session key with a non-negligible probability.
- Forward secrecy: when the password is compromised, it does not reveal the earlier session keys.
- Know-key security: when the session key is lost, it does not reveal other session keys. This limits the damage caused by a compromised session key to that compromised session only.
- Withstanding an off-line password guessing attack: an adversary cannot find an equation to verify whether his/her guess password is correct.
The proposed PPC scheme not only satisfies the above requirements but also allows clients to arbitrarily change their own passwords.
The security of the schemes in [13,16] is evaluated by heuristic security analysis. In heuristic security analysis, any successful attack requires a resource level (e.g., time and space) greater than the fixed resources of a perceived adversary. If the protocol survives the analysis, such an analysis is said to have heuristic security (ad hoc security). Obviously, many schemes were often shown to be insecure (unforeseen attacks may occur) after they were first put forward. In view of this defect, we employ Bellare, Poincheval and Rogaway’s model (called the BPR model) [20], which provides the formal model for provable security in the complex-theoretic framework of modern cryptography, to prove the security of our PAKE and PPC protocols.
2. The Proposed Scheme
To get rid of the security flaws, we shall propose the PAKE and PPC protocols. In the system, two large prime numbers p and q are published such that . Let g be a generator with order q in the Galois field , which is based on the Diffie-Hellman scheme. In this system, a user has the identity and the corresponding password . The password is secretly shared only by the user and the server. The server employs a one-way hash function to store in a verification table. Here, we give the identity of the server as S because the client may be involved in distinct, concurrent executions of the PAKE and PPC protocols with other servers. The two protocols are described as follows.
Password Authenticated Key Exchange Protocol:
- Step 1.
- Client ⟹ Server:The user gives his/her and to the client. The client computes the hash value . Then the client chooses a random number and computes . Then the client sends and to the server.
- Step 2.
- Server ⟹ Client:After receiving and , the server retrieves from the verification table and recovers by computing . Then the server computes , where is the server privacy key and is the server public key. Then the server sends to the client.
- Step 3.
- Client ⟹ Server:After receiving S and , the client computes . Then the client computes and compares it with the received . If these two values are equivalent, the client computes and sends it together with to the server. This check is used for authenticating the server.
- Step 4.
- Server: Access granted or Access deniedAfter receiving and , the server uses its own copies K and his public key to compute and compares it with the received . If these two values are equivalent, the server grants the client’s login request. Otherwise, the server denies the client’s login request.
The performance of the proposed protocol is analyzed as follows. The client needs 3 hashing operations, 1 exclusion operation, and 2 exponentiation operations in Steps 1 and 3. The server needs 2 hashing operations, 1 exclusion operation, and 1 exponentiation operation in Steps 2 and 4.
Protected Password Change Protocol:
Assume that the client wants to change his password from an old password to a new password . The steps are as follows.
- Step 1*.
- Client ⟹ Server:The messages and are the same as those in Step 1 in the PAKE protocol. The client additionally sends to the server.
- Step 2*.
- Server ⟹ Client:After receiving , , and , the server retrieves from the verification table to recover by computing . Then the server uses the recovered to further obtain by computing . Then the server computes , and . Then the server sends to the client.
- Step 3*.
- Client ⟹ Server:After receiving S and , the client computes and . Then the client checks whether the received is equal to . If the two values are equivalent, the client sends and to the server.
- Step 4*.
- Server: Access granted or Access deniedAfter receiving and , the server uses it own copies K and public key to compute and compares it with the received in Step 3*. If these two values are equivalent, the server stores the recovered in Step 1* into a verification table. Otherwise, the server denies the client’s password change request.
From the above descriptions of the two protocols, the client and the server can agree to a common session key after mutual authentication. On the other hand, the proposed PAKE protocol is similar to the Yeh-Sun scheme [19]. The difference is in the messages and that are sent by the server in Step 1 in our scheme and in the Yeh-Sun scheme, respectively. The computational complexity can be reduced to an exclusive-or operation in our scheme. Their scheme assumes that only two parties agree to a common session key. The two parties directly store the password without using the hash function. In fact, several password-authenticated key exchanges can be used for authentication between the client and the server. However, they do not allow users to arbitrarily change their own passwords.
Since a server in a distributed computer system provides service to many users, it does not only authenticate a single user. To avoid the stolen-verifier attack, the server stores instead of in a verification table. The stolen-verifier attack occurs when an adversary steals the verification table from the server and uses it directly to masquerade as a legal user. The main purpose for using user authentication against the stolen-verifier attack is to reduce the immediate danger to the user authentication [15]. On the other hand, Yang et al.’s employs a message authentication code replace a one-way hash function to store password in a verification table [16]. The keying material of the message authentication code is kept secret by the server and store apart from the verification table. For the same reason, we can employ Yang et al.’s method to store the password in our scheme.
3. Formal Security Proof
In this section, we use the BPR model [20] to formally prove the PAKE protocol in the random oracle model (ideal hash model). The model can be reduced to breaking the security of the protocol and treated as difficult as solving the underlying primitives. After analyzing the security of the PAKE protocol, we can easily extend its result to the PPC protocol. Hence, we only give a complete analysis of the PAKE protocol. In the following, we will treat users (holding passwords) as clients to simplify the protocol.
3.1. The Model
The model is principally used to formally: (1) define the characteristics of participating entities; (2) define an adversary’s capabilities; and (3) describe the protocol. The details are described as follows.
Protocol Participants:
We fix a nonempty set of CLIENT and a specific SERVER in the PAKE protocol. Either a client or a server may have many instances, called oracles, involved in distinct, concurrent executions of the PAKE protocol. We denote an instance i of a client as and an instance j of a server as .
Session Identity (SID) and Partner Identity (PID):
The session identity is used to uniquely name the ensuing session. is the concatenation of all flows with the oracle . , denoted as , is communication with an instance of participant . For example, for the oracles and , their own and equals , equals S, and equals in the PAKE protocol. The and are public, and an adversary can just listen in on the wire and construct it.
Accepting and Terminating:
There are two states, accept and terminate , for an oracle . When an oracle has enough information to compute the session key , the state of is set to true. An oracle can accept at any time and it accepts at most once. When an oracle sends or receives the last message of the protocol, receives an invalid message, or misses an expected message, the state of is set to true. As soon as an oracle terminates, it will not send out any message.
Oracle Queries (Adversary’s Capabilities):
An adversary has an endless supply of oracles and makes various queries to them. Each query models a capability of the adversary. The more types of query, the more security requirements, such as forward secrecy, known-key security, etc., that the protocol can satisfy. In the following, there are six types of queries that adversary can make.
- Send(): This query models an adversary sending a message m to the oracle , and the oracle responds to what the protocol say to and updates , , and its states. The adversary query of the form Send() initiates an execution of the protocol.
- Execute(): This query models an adversary obtaining an honest execution of the protocol between two oracles and , and outputs a completed transcript corresponding to them.
- Reveal(): This query models an adversary obtaining a session key with an unconditional return by . The Reveal query will let us deal with known-key security. The Reveal query is only available to an adversary if the state of is true.
- Corrupt(): This query models an adversary obtaining a password with unconditional return by . The Corrupt query will let us deal with forward secrecy.
- Hash(m): In the ideal hash model, an adversary gets hash results by making queries to a random oracle. After receiving this query, the random oracle will check whether m has been queried. If so, it returns the result previously generated by the adversary. Otherwise, it generates a random number r, returns r to the adversary, and stores in the Hash table, which is a record set used to record all previous Hash queries.
- Test(): This query models the semantic security of the session key . During an execution of the protocol, the adversary can ask any of the above queries and ask a Test query once. Then flips a coin b and returns if , or a random string if . The Test query is asked only once and is only available if is fresh (see Section 4). This query only measures adversarial success. It does not correspond to any actual adversarial ability.
Description of the PAKE Protocol:
In the following, we describe how to initialize the PAKE protocol and how instances behave when an adversary makes queries.
Initialize(), where l and k are security parameters .
- (1)
- Select two prime numbers p with length and q with length . Let g be a generator with order q in the Galois Field , which is based on the Diffie-Hellman scheme.
- (2)
- Select a hash function : .
- (3)
- Each client sets up an identity and a password from a set D of the dictionary. Let n be the number of passwords in D. The server stores in a verification table.
- (4)
- Each oracle is set to:and.
In the following, assume that a client and a server execute the protocol. The processes of the oracles are described as follows:
Execute(, )
- (1)
- ;;;;.
- (2)
- , where ;;;;;;;; ;;;;.
- (3)
- , where ;;;;if then;;;;;else; ;.
- (4)
- , where ;;if then // access granted;;else // access denied; ;.
3.2. Definitions of Security
This section defines what constitutes breaking the PAKE and what the formal notions of security of the underlying primitives are.
Partnering:
If two oracles and accept and separately hold (, , ), and (, , ), and the following conditions hold, we say the two oracles are partnered.
- ,,and .
- CLIENT and S is the SERVER.
- No oracle besides and accepts with a session key .
These definitions are to ensure that two oracles have directly exchanged messages (), established the common session key (), and have no other partners besides each other ( and ).
Freshness:
An oracle is identified as fresh if the following conditions hold.
- has accepted ().
- No oracle has been asked for a Corrupt query before accepts.
- Neither nor its partner has been asked for a Reveal query.
Assume that two oracles and are partnered and establish a session key. The session key is fresh if and only if both oracles are fresh.
Authenticated Key Exchange Security (AKE Security):
In an execution of the PAKE protocol, we say an adversary wins (a game of breaking the AKE security) if asks a single Test query to a fresh oracle and correctly guesses the bit b, which is selected by in the Test query. We denote the AKE advantage has in attacking the PAKE protocol as ; the advantage is taken over all bit tosses. The PAKE protocol is AKE-secure if is negligible.
Mutual Authentication (MA):
In an execution of the PAKE protocol, we say an adversary violates the mutual authentication between the client and the server if some server or client accepts but has no partner oracle. We denote the AKE advantage has in attacking the PAKE protocol as . The PAKE protocol is MA-secure if is negligible.
Computational Diffie-Hellman (CDH) Assumption:
Let p and q be large prime numbers such that . Let g be a generator with order q in the . And let and be two random numbers. Assume that is a CDH attacker whose probability of giving a challenge to output is . We denote this success probability as . The CDH problem is intractable if is negligible.
Adversary’s Resources:
The security is formulated as a function of the amount of resources an adversary expends. The resources are:
- t: the adversary running time. By convention, this includes the amount of space it takes to describe the adversary.
- : these count the number of Send, Execute, Reveal, Corrupt, and Hash queries separately asked by the adversary , i.e., the number of in the PAKE protocol is (, and are, respectively, the number of , , , and queries asked by ).
3.3. Security Proofs of the Password Authenticated Key Exchange and Protected Password Change Protocols
Theorem 1.
Let be an adversary attacking the AKE-security of the PAKE protocol within a time period t after the number of Send queries and the number of Hash queries . Then we have:
where is the running time of a CDH attacker .
Proof.
We divide the process of proof in Theorem 1 into two parts as follows. (1) Password guessing attack: show that the transcripts that the adversary gets are independent of the password in the theoretical information sense; (2) Session key security: Let play two roles with adversary and the CDH problem. With adversary , plays the role of a simulator, who provides indistinguishability to adversary ( has no ability to distinguish the real protocol and ’s simulated protocol). With the CDH problem, plays the role of an attacker to solve the challenge of the CDH problem. When distinguishes the real protocol and ’s simulated protocol that is faced with the CDH problem.
3.3.1. Password Guessing Attack
Based on the random oracle model, for any query from Hash for guessing the password , there exists a record in the Hash table. Because is chosen at random (implying that is a random number), the adversary observes that the message is returned from the query, which is independent of r. On the other hand, can get all the transcripts by asking an Execute query. However, the transcripts that the adversary gets are independent of the passwords. Therefore, the adversary gets no advantage for the off-line guessing attack. The probability of the on-line password guessing attack is bounded by and n as follows:
The on-line guessing attack can be prevented by letting the server take the appropriate intervals between trials.
3.3.2. Simulator/Computational Diffie-Hellman Attacker:
To analyze the session key security, we assume that has knowledge of the content of the verification table. Assume that can get an advantage in breaking the AKE security of the PAKE protocol within time t, and is given a challenge to output with probability within time . Initializing the PAKE protocol, chooses a random number i from and sets a counter to zero. After that, starts running and answers the queries made by as explained below.
- When makes a query, increases the counter by 1. If , answers according to the PAKE protocol (return ). If , answers by using the element from the challenge (return ). When makes a query, if the input is not equal to the message , answers according to the PAKE protocol (return ). If the input is the flow corresponding to the challenge , answers by using the element from the challenge (return , where is a random element with length k). Here, it is difficult for to simulate an indistinguishable answer without the ability to solve the challenge .
- When makes a Reveal query, checks whether the oracle has accepted and is fresh. If so, answers by using the session key . However, if the session key has to be constructed from the challenge , halts and output fail.
- When makes a Corrupt or Execute query, answers in a straightforward way.
- When makes a Hash(m) query, checks whether m is in the Hash table. If so, returns the previous result. Otherwise, returns a random number r from and appends to the Hash table.
- When makes a single Test query, answers in a straightforward way. If the session key has to be constructed from the challenge , answers with a random string for the Test query on an oracle.
Obviously, cannot distinguish the real protocol and ’s simulated protocol unless the challenge is involved. The probability of correctly guessing which session key will use for the Test query is the probability of being equal to i (the probability that has to output z). We denote it by . Then we have:
If it is assumed that has broken the AKE security of the PAKE protocol ( outputs a bit after the Test query and wins), then at least one of the Hash queries must equal stored in the Hash table. We denote as the probability that correctly chooses among the possible Hash queries. Then we have:
From the above, the probability of outputting z from the challenge is the probability that breaking the AKE security of the PAKE protocol multiplied by the probability that outputting z multiplied by the probability that correctly choosing among the possible Hash queries:
We can rewrite the above equation as:
From the above analysis, the advantage of in attacking the PAKE protocol is the probability that the on-line password guessing attack added to the probability of breaking the AKE security of the PAKE protocol added to making Hash queries with just the right session key by pure chance. The concrete security of the PAKE protocol is as follows:
☐
Theorem 2.
Let be an adversary attacking the MA-security of the PAKE protocol within a time period t after the number of Send queries and the number of Hash queries . Then we have:
where is the running time of the adversary attacking the AKE security of the PAKE protocol.
Proof.
The probability is breaking the AKE-security added to making Hash queries with just the right, mutually authenticated messages ( or ) by pure chance. Because we have given Hash queries with just the right session key by pure chance in Theorem 1, it may just be one of the right authenticated messages. The advantage of attacking MA-secure is attacking AKE-secure added to making Hash queries with just the right authenticated messages by pure chance (one includes making Hash queries with just the right session key):
☐
From Theorems 1 and 2, we can easily extend its result to the PPC protocol. The AKE-security and MA-security are shown in Theorems 3 and 4, respectively.
Theorem 3.
Let be an adversary attacking the AKE-security of the PPC protocol within a time period t after interactions with the parties and Hash queries. Then we have:
where is the running time of a CDH attacker .
Theorem 4.
Let be an adversary attacking the AKE-security of the PPC protocol within a time period t after interactions with the parties and Hash queries. Then we have:
where is the running time of the adversary attacking the AKE security of the PPC protocol.
and are separately the number of Send query and Hash query made by the adversary in the PPC protocol.
4. Comparisons
In this section, we compare our scheme with Zhang et al.’s scheme [21], Ahmed et al.’s scheme [22], Liu et al.’s scheme [23], Lee et al.’s scheme [9], Wei et al.’s scheme [24], and Yang et al.’s scheme [16], which provide a password authentication protocol and a PPC protocol. In the Key Compromise Impersonation attack [25], an attacker who is in possession of a client’s password installed at a victim, can impersonate any server. In the proposed scheme, even if the attacker knows the client’s password, he/she is unable to compute the in Step 2 of the proposed PAKE Protocol because the attacker does not know the server’s privacy key. In 2016, Ahmed et al. proposed a dynamic ID-based user authentication scheme for multi-server environment [22]. Their scheme is vulnerable to off-line identity guessing and off-line password guessing with smart card stolen attacks [26]. In 2016, Wei et al. proposed a smart card-based user authentication scheme [24]. Their scheme is vulnerable to password guessing attack and denial of service attack [27]. In 2017, Liu et al. proposed a user password authentication scheme with a smart card [23]. Their scheme is simple and efficient. However, their scheme is vulnerable to the replaying attack [28].
From Table 1, it is obvious that only the security of our scheme is proven in the standard model.
Table 1.
Comparisons among related schemes and our proposed scheme.
5. Conclusions
In this paper, we have proposed a new scheme to resist the security flaws of the forgery server attack and denial of service attack. The proposed scheme can successfully solve these security flaws with less computation and, in addition, establish the session key. The provable security is given a thorough analysis in our scheme. In terms of security analysis, it is more convincing than heuristic security. Although the proposed scheme used less calculation, it still needed the exponential operation. In the future, researchers should develop a secure scheme without the use of exponential operation, so that it can be applied to the Internet of Things devices.
Acknowledgments
This study was supported by the National Science Council of Taiwan under grant MOST 104-2221-E-468-004 and MOST 105-2410-H-468-009.
Author Contributions
Ting-Yi Chang, Min-Shiang Hwang, and Chou-Chen Yang conceived and designed the experiments; Ting-Yi Chang performed the experiments; Min-Shiang Hwang and Chou-Chen Yang analyzed the data; Min-Shiang Hwang and Chou-Chen Yang contributed analysis tools; Ting-Yi Chang wrote the paper.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Anwar, N.; Riadi, I.; Luthfi, A. Forensic SIM card cloning using authentication algorithm. Int. J. Electron. Inf. Eng. 2016, 4, 71–81. [Google Scholar]
- Huang, H.-F.; Chang, H.-W. Enhancement of timestamp-based user authentication scheme with smart card. Int. J. Netw. Secur. 2014, 16, 463–467. [Google Scholar]
- Lee, C.-C.; Chiu, S.-T.; Li, C.-T. Improving Security of A Communication-efficient Three-party Password Authentication Key Exchange Protocol. Int. J. Netw. Secur. 2015, 17, 1–6. [Google Scholar]
- Zhu, H.; Zhang, Y.; Xia, Y.; Li, H. Password-Authenticated Key Exchange Scheme Using Chaotic Maps towards a New Architecture in Standard Model. Int. J. Netw. Secur. 2016, 18, 326–334. [Google Scholar]
- Zhu, H.; Zhang, Y. An Improved Two-party Password-Authenticated Key Agreement Protocol with Privacy Protection Based on Chaotic Maps. Int. J. Netw. Secur. 2017, 19, 487–497. [Google Scholar]
- Moon, J.; Lee, D.; Jung, J.; Won, D. Improvement of Efficient and Secure Smart Card Based Password Authentication Scheme. Int. J. Netw. Secur. 2017, 19, 1053–1061. [Google Scholar]
- Wu, M.; Chen, J.; Wang, R. An Enhanced Anonymous Password-based Authenticated Key Agreement Scheme with Formal Proof. Int. J. Netw. Secur. 2017, 19, 785–793. [Google Scholar]
- Ling, C.-H.; Lee, C.-C.; Yang, C.-C.; Hwang, M.-S. A Secure and Efficient One-time Password Authentication Scheme for WSN. Int. J. Netw. Secur. 2017, 19, 177–181. [Google Scholar]
- Lee, C.-C.; Hwang, M.-S.; Yang, W.-P. A flexible remote user authentication scheme using smart cards. ACM Oper. Syst. Rev. 2002, 36, 46–52. [Google Scholar] [CrossRef]
- Li, L.-H.; Lin, I.-C.; Hwang, M.-S. A remote password authentication scheme for multi-server architecture using neural networks. IEEE Trans. Neural Netw. 2001, 12, 1498–1504. [Google Scholar] [PubMed]
- Pecori, R.; Veltri, L. 3AKEP: Triple-authenticated key exchange protocol for peer-to-peer VoIP applications. Comput. Commun. 2016, 85, 28–40. [Google Scholar] [CrossRef]
- Hwang, M.-S. A new redundancy reducing cipher. Int. J. Inform. 2000, 11, 435–440. [Google Scholar]
- Tseng, Y.-M.; Jan, J.-Y.; Chien, H.-Y. On the security of methods for protecting password transmission. Int. J. Inform. 2001, 12, 469–476. [Google Scholar]
- Ghanem, W.R.; Shokir, M.; Dessoky, M. Defense Against Selfish PUEA in Cognitive Radio Networks Based on Hash Message Authentication Code. Int. J. Electron. Inf. Eng. 2016, 4, 12–21. [Google Scholar]
- Lin, C.-L.; Hwang, T. Authentication scheme with secure password updating. Comput. Secur. 2003, 22, 68–72. [Google Scholar] [CrossRef]
- Yang, C.-C.; Chang, T.-Y.; Li, J.W.; Hwang, M.-S. Security enhancement for protecting password transmission. IEICE Trans. Commun. 2003, E86-B, 2178–2181. [Google Scholar]
- Yang, C.-C.; Yang, Y.-W.; Chang, T.-Y. Cryptanalysis of an authentication key exchange protocol. J. Appl. Sci. 2005, 5, 281–283. [Google Scholar]
- Chang, T.-Y.; Hwang, M.-S.; Yang, W.-P. A communication-efficient three-party password authenticated key exchange protocol. Inf. Sci. 2011, 181, 217–226. [Google Scholar] [CrossRef]
- Yeh, H.-Y.; Sun, H.-M. Simple authenticated key agreement protocol resisant to password guessing attacks. ACM SIGOPS Oper. Syst. Rev. 2002, 36, 14–22. [Google Scholar] [CrossRef]
- Bellare, M.; Pointcheval, D.; Rogaway, P. Authenticated key exchange secure against dictionary attack. In Proceedings of the 19th International Conference on Theory and Application of Cryptographic Techniques—EUROCRYPT’00, Bruges, Belgium, 14–18 May 2000; pp. 122–138. [Google Scholar]
- Zhang, G.; Fan, D.; Zhang, Y.; Li, X. A Provably Secure General Construction for Key Exchange Protocols Using Smart Card and Password. Chin. J. Electron. 2017, 26, 271–278. [Google Scholar] [CrossRef]
- Ahmed, A.; Younes, A.; Abdellah, A.; Sadqi, Y. Strong Zero-knowledge Authentication Based on Virtual Passwords. Int. J. Netw. Secur. 2016, 18, 601–616. [Google Scholar]
- Liu, Y.; Chang, C.-C.; Chang, S.-C. An Efficient and Secure Smart Card Based Password Authentication Scheme. Int. J. Netw. Secur. 2017, 19, 1–10. [Google Scholar] [CrossRef]
- Wei, J.; Liu, W.; Hu, X. Secure and Efficient Smart Card Based Remote User Password Authentication Scheme. Int. J. Netw. Secur. 2016, 18, 782–792. [Google Scholar]
- Bayat, M.; Aref, M. An attribute based key agreement protocol resilient to KCI attack. Int. J. Electron. Inf. Eng. 2015, 2, 10–20. [Google Scholar]
- Pan, H.-T.; Pan, C.-S.; Tsaur, S.-C.; Hwang, M.-S. Cryptanalysis of Efficient Dynamic ID Based Remote User Authentication Scheme in Multi-server Environment Using Smart Card. In Proceedings of the 12th International Conference on Computational Intelligence and Security, Wuxi, China, 16–19 December 2016; pp. 590–593. [Google Scholar]
- Tsai, C.-Y.; Pan, C.-S.; Hwang, M.-S. An Improved Password Authentication Scheme for Smart Card. In Proceedings of the Advances in Intelligent Systems and Computing, Recent Developments in Intelligent Systems and Interactive Applications, Shanghai, China, 25–26 June 2016; Volume 541, pp. 194–199. [Google Scholar]
- Liu, C.-W.; Tsai, C.-Y.; Hwang, M.-S. Cryptanalysis of an Efficient and Secure Smart Card Based Password Authentication Scheme. In Proceedings of the Advances in Intelligent Systems and Computing, Recent Developments in Intelligent Systems and Interactive Applications, Shanghai, China, 25–26 June 2016; Volume 541, pp. 188–193. [Google Scholar]
© 2017 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).