Next Article in Journal
Group Decision-Making for Hesitant Fuzzy Sets Based on Characteristic Objects Method
Next Article in Special Issue
A Security Generic Service Interface of Internet of Things (IoT) Platforms
Previous Article in Journal
Distribution of Antennal Olfactory and Non-Olfactory Sensilla in Different Species of Bees
Previous Article in Special Issue
Threats of Password Pattern Leakage Using Smartwatch Motion Recognition Sensors
Article

Password Authenticated Key Exchange and Protected Password Change Protocols

by 1,†, 2,3,*,† and 4,†
1
Graduate Institute of E-Learning, National Changhua University of Education, Changhua 500, Taiwan
2
Department of Computer Science and Information Engineering, Asia University, Taichung 413, Taiwan
3
Department of Medical Research, China Medical University Hospital, China Medical University, Taichung 404, Taiwan
4
Department of Management Information Systems, National Chung Hsing University, Taichung 402, Taiwan
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Symmetry 2017, 9(8), 134; https://doi.org/10.3390/sym9080134
Received: 26 April 2017 / Revised: 3 June 2017 / Accepted: 5 June 2017 / Published: 28 July 2017
(This article belongs to the Special Issue Symmetry in Secure Cyber World)

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.
Keywords: authenticated key exchange; Diffie-Hellman problem; password authentication; provable security authenticated key exchange; Diffie-Hellman problem; password authentication; provable security

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.
The organization of the article is as follows. In Section 2, we will propose new PAKE and PPC protocols. In Section 3, the formal validation of the security of our schemes using the BPR model is shown. Finally, we shall conclude this article in Section 4.

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 q | p 1 . Let g be a generator with order q in the Galois field GF ( p ) , which is based on the Diffie-Hellman scheme. In this system, a user has the identity i d and the corresponding password p w . The password p w is secretly shared only by the user and the server. The server employs a one-way hash function H ( · ) to store H p w = H ( i d , p w ) 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: i d , R c H ( i d , p w )
The user gives his/her i d and p w to the client. The client computes the hash value H ( i d , p w ) . Then the client chooses a random number c [ 1 , q 1 ] and computes R c = g c mod p . Then the client sends i d and R c H ( i d , p w ) to the server.
Step 2.
Server ⟹ Client: S , H ( K , R c )
After receiving i d and R c H ( i d , p w ) , the server retrieves H p w from the verification table and recovers R c by computing ( R c H ( i d , p w ) ) H p w . Then the server computes K = ( R c ) s = g c s mod p , where s [ 1 , q 1 ] is the server privacy key and R s = g s mod p is the server public key. Then the server sends H ( K , R c ) to the client.
Step 3.
Client ⟹ Server: i d , H ( K , R s )
After receiving S and H ( K , R c ) , the client computes K = ( R s ) c = g s c mod p . Then the client computes H ( K , R c ) and compares it with the received H ( K , R c ) . If these two values are equivalent, the client computes H ( K , R s ) and sends it together with i d to the server. This check is used for authenticating the server.
Step 4.
Server: Access granted or Access denied
After receiving i d and H ( K , R s ) , the server uses its own copies K and his public key R s to compute H ( K , R s ) and compares it with the received H ( K , R s ) . 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 p w to a new password n e w p w . The steps are as follows.
Step 1*.
Client ⟹ Server: i d , R c H ( i d , p w ) , R c H n e w p w
The messages i d and R c H ( i d , p w ) are the same as those in Step 1 in the PAKE protocol. The client additionally sends R c H n e w p w to the server.
Step 2*.
Server ⟹ Client: S , H ( H n e w p w , K , R c )
After receiving i d , R c H ( i d , p w ) , and R c H ( i d , n e w p w ) , the server retrieves H p w from the verification table to recover R c by computing ( R c H ( i d , p w ) ) H p w . Then the server uses the recovered R c to further obtain H n e w p w by computing ( R c H n e w p w ) R c . Then the server computes K = ( R c ) s = g c s mod p , and H ( H n e w p w , K , R c ) . Then the server sends H ( H n e w p w , K , R c ) to the client.
Step 3*.
Client ⟹ Server: i d , H ( K , R s )
After receiving S and H ( H n e w p w , K , R c ) , the client computes K = ( R s ) c mod p and H ( H ( i d , n e w p w ) , K , R c ) . Then the client checks whether the received H ( H n e w p w , K , R c ) is equal to H ( H ( i d , n e w p w ) , K , R c ) . If the two values are equivalent, the client sends i d and H ( K , R s ) to the server.
Step 4*.
Server: Access granted or Access denied
After receiving i d and H ( K , R s ) , the server uses it own copies K and public key R s to compute H ( K , R s ) and compares it with the received H ( K , R s ) in Step 3*. If these two values are equivalent, the server stores the recovered H n e w p w 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 S K = H ( K ) = H ( g c s mod p ) 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 S , R s H ( K , R c ) and R s , p w , H ( K , R c ) 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 H p w instead of p w 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 C i and an instance j of a server as S j .

Session Identity (SID) and Partner Identity (PID):

The session identity is used to uniquely name the ensuing session. SID ( U i ) is the concatenation of all flows with the oracle U i . PID ( U i ) = U , denoted as U i , is communication with an instance of participant U . For example, for the oracles C i and S j , their own SID ( C i ) and SID ( S j ) equals i d , R c H ( i d , p w ) | S , R s , H ( K , R c ) | i d , H ( K , R s ) , PID ( C i ) equals S, and PID ( S j ) equals i d in the PAKE protocol. The SID and PID are public, and an adversary can just listen in on the wire and construct it.

Accepting and Terminating:

There are two states, accept ACC ( U i ) and terminate TERM ( U i ) , for an oracle U i . When an oracle has enough information to compute the session key S K , the state of ACC ( U i ) 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 TERM ( U i ) 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( U i , m ): This query models an adversary sending a message m to the oracle U i , and the oracle responds to what the protocol say to and updates SID , PID , and its states. The adversary query of the form Send( U i , s t a r t ) initiates an execution of the protocol.
  • Execute( C i , S j ): This query models an adversary obtaining an honest execution of the protocol between two oracles C i and S j , and outputs a completed transcript corresponding to them.
  • Reveal( U i ): This query models an adversary obtaining a session key S K with an unconditional return by U i . The Reveal query will let us deal with known-key security. The Reveal query is only available to an adversary if the state ACC ( U i ) of U i is true.
  • Corrupt( U i ): This query models an adversary obtaining a password p w with unconditional return by U i . 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 ( m , r ) in the Hash table, which is a record set used to record all previous Hash queries.
  • Test( U i ): This query models the semantic security of the session key S K . During an execution of the protocol, the adversary can ask any of the above queries and ask a Test query once. Then U i flips a coin b and returns S K if b = 1 , or a random string if b = 0 . 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( 1 l , 1 k ), where l and k are security parameters ( l k ) .
(1)
Select two prime numbers p with length | p | = k and q with length | q | = l . Let g be a generator with order q in the Galois Field GF ( p ) , which is based on the Diffie-Hellman scheme.
(2)
Select a hash function H ( · ) : { 0 , 1 } * { 0 , 1 } k .
(3)
Each client sets up an identity i d and a password p w from a set D of the dictionary. Let n be the number of passwords in D. The server stores H p w = H ( i d , p w ) in a verification table.
(4)
Each oracle U i is set to:
ACC ( U i ) TERM ( U i ) f a l s e
and
SK ( U i ) SID ( U i ) PID ( U i ) n u l l .
In the following, assume that a client C i and a server S j execute the protocol. The processes of the oracles are described as follows:
Execute( C i , S j )
(1)
Send 1 ( C i , s t a r t ) ;
c R [ 1 , q 1 ] ;
R c g c mod p ;
m s g o u t 1 i d | R c H ( i d , p w ) ;
r e t u r n ( m s g o u t 1 ) .
(2)
Send 2 ( S j , m ) , where m s t a r t ;
( m 1 S , m 2 S ) m ;
R c m 2 S H p w ;
s R [ 1 , q 1 ] ;
R s g s mod p ;
K R c s mod p ;
m s g o u t 2 S | R s | H ( K , R c ) ;
SK ( S j ) H ( K ) ; SID ( S j ) m | m s g o u t 2 ;
PID ( S j ) m 1 S ;
ACC ( S j ) t r u e ;
TERM ( S j ) f a l s e ;
r e t u r n ( m s g o u t 2 ) .
(3)
Send 3 ( C i , m ) , where m s t a r t ;
( m 1 C , m 2 C , m 3 C ) m ;
R s m 2 C ;
K R s c mod p ;
if m = H ( K , R c ) then
m s g o u t 3 i d | H ( K , R s ) ;
SK ( C i ) H ( K ) ;
SID ( C i ) m s g o u t 1 | m | m s g o u t 3 ;
PID ( C i ) m 1 C ;
ACC ( C i ) TERM ( C i ) t r u e ;
else
ACC ( C i ) f a l s e ; TERM ( C i ) t r u e ;
r e t u r n ( m s g o u t 3 ) .
(4)
Send 4 ( S j , m ) , where m s t a r t ;
( m 3 S , m 4 S ) m ;
if m 4 S = H ( K , R s ) then // access granted
SID ( S j ) SID ( S j ) | m ;
ACC ( S j ) TERM ( S j ) t r u e ;
else // access denied
ACC ( S j ) f a l s e ; TERM ( S j ) t r u e ;
r e t u r n ( n u l l ) .

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 C i and S j accept and separately hold ( SK ( C i ) , SID ( C i ) , PID ( C i ) ), and ( SK ( S j ) , SID ( S j ) , PID ( S j ) ), and the following conditions hold, we say the two oracles are partnered.
  • SK ( C i ) = SK ( S j ) ,
    SID ( C i ) = SID ( S j ) ,
    PID ( C i ) = S and PID ( S j ) = i d .
  • i d CLIENT and S is the SERVER.
  • No oracle besides and accepts with a session key S K = SK ( C i ) = SK ( S j ) .
These definitions are to ensure that two oracles have directly exchanged messages ( SID ( C i ) = SID ( S j ) ), established the common session key ( SK ( C i ) = SK ( S j ) ), and have no other partners besides each other ( PID ( C i ) = S and PID ( S j ) = i d ).

Freshness:

An oracle U i is identified as fresh if the following conditions hold.
  • U i has accepted ( ACC ( U i ) = t r u e ).
  • No oracle has been asked for a Corrupt query before U i accepts.
  • Neither U i nor its partner has been asked for a Reveal query.
Assume that two oracles C i and S j 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 A wins (a game of breaking the AKE security) if A asks a single Test query to a fresh oracle U i and correctly guesses the bit b, which is selected by U i in the Test query. We denote the AKE advantage A has in attacking the PAKE protocol as A d v P A K E A K E ( A ) ; the advantage is taken over all bit tosses. The PAKE protocol is AKE-secure if A d v P A K E A K E ( A ) is negligible.

Mutual Authentication (MA):

In an execution of the PAKE protocol, we say an adversary A 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 A has in attacking the PAKE protocol as A d v P A K E M A ( A ) . The PAKE protocol is MA-secure if A d v P A K E M A ( A ) is negligible.

Computational Diffie-Hellman (CDH) Assumption:

Let p and q be large prime numbers such that q | p 1 . Let g be a generator with order q in the GF ( p ) . And let c ^ [ 1 , q 1 ] and s ^ [ 1 , q 1 ] be two random numbers. Assume that B is a CDH attacker whose probability of giving a challenge ψ = ( g c ^ mod p , g s ^ mod p ) to output z = g c ^ · s ^ mod p is ε . We denote this success probability as S u c c φ z C D H ( B ) . The CDH problem is intractable if S u c c φ z C D H ( B ) is negligible.

Adversary’s Resources:

The security is formulated as a function of the amount of resources an adversary A expends. The resources are:
  • t: the adversary A running time. By convention, this includes the amount of space it takes to describe the adversary.
  • q s e , q e x , q r e , q c o , q h : these count the number of Send, Execute, Reveal, Corrupt, and Hash queries separately asked by the adversary A , i.e., the number of q s e in the PAKE protocol is q s e = q s e 1 + q s e 2 + q s e 3 + q s e 4 ( q s e 1 , q s e 2 , q s e 3 , and q s e 4 are, respectively, the number of Send 1 , Send 2 , Send 3 , and Send 4 queries asked by A ).

3.3. Security Proofs of the Password Authenticated Key Exchange and Protected Password Change Protocols

Theorem 1.
Let A 1 be an adversary attacking the AKE-security of the PAKE protocol within a time period t after the number of Send queries q s e and the number of Hash queries q h . Then we have:
A d v P A K E A K E ( t , q s e , q h ) q s e n + q h × q s e × S u c c ψ z C D H ( t ) + q h 2 k ,
where t is the running time of a CDH attacker B .
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 B play two roles with adversary A 1 and the CDH problem. With adversary A 1 , B plays the role of a simulator, who provides indistinguishability to adversary A 1 ( A 1 has no ability to distinguish the real protocol and B ’s simulated protocol). With the CDH problem, B plays the role of an attacker to solve the challenge of the CDH problem. When A 1 distinguishes the real protocol and B ’s simulated protocol that B is faced with the CDH problem.

3.3.1. Password Guessing Attack

Based on the random oracle model, for any query from Hash ( m = ( i d , p w ) ) for guessing the password p w , there exists a record { ( i d , p w ) , r } in the Hash table. Because c [ 1 , q 1 ] is chosen at random (implying that R c is a random number), the adversary A 1 observes that the message i d , R c H ( i d , p w ) is returned from the Send 1 query, which is independent of r. On the other hand, A 1 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 q s e and n as follows:
λ q s e n .
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: B

To analyze the session key security, we assume that B has knowledge of the content of the verification table. Assume that A 1 can get an advantage ε in breaking the AKE security of the PAKE protocol within time t, and B is given a challenge ψ = ( g c ^ mod p , g s ^ mod p ) to output z = g c ^ · s ^ mod p with probability within time t . Initializing the PAKE protocol, B chooses a random number i from [ 1 , q s e 1 ] and sets a counter c n t to zero. After that, B starts running A 1 and answers the queries made by A 1 as explained below.
  • When A 1 makes a Send 1 query, B increases the counter c n t by 1. If c n t i , B answers according to the PAKE protocol (return i d , R c H ( i d , p w ) ). If c n t = i , B answers by using the element g c ^ mod p from the challenge ψ (return i d , ( g c ^ mod p ) H ( i d , p w ) ). When A 1 makes a Send 2 query, if the input is not equal to the message i d , ( g c ^ mod p ) H ( i d , p w ) , B answers according to the PAKE protocol (return S , R s , H ( K , R c ) ). If the input is the flow corresponding to the challenge ψ , B answers by using the element g s ^ mod p from the challenge ψ (return S , g s ^ mod p , r a n d o m , where r a n d o m is a random element with length k). Here, it is difficult for B to simulate an indistinguishable answer without the ability to solve the challenge ψ .
  • When A 1 makes a Reveal query, B checks whether the oracle has accepted and is fresh. If so, B answers by using the session key S K . However, if the session key has to be constructed from the challenge ψ , B halts and output fail.
  • When A 1 makes a Corrupt or Execute query, B answers in a straightforward way.
  • When A 1 makes a Hash(m) query, B checks whether m is in the Hash table. If so, B returns the previous result. Otherwise, B returns a random number r from { 0 , 1 } k and appends ( m , r ) to the Hash table.
  • When A 1 makes a single Test query, B answers in a straightforward way. If the session key has to be constructed from the challenge ψ , B answers with a random string for the Test query on an oracle.
Obviously, A 1 cannot distinguish the real protocol and B ’s simulated protocol unless the challenge ψ is involved. The probability of B correctly guessing which session key A 1 will use for the Test query is the probability of c n t being equal to i (the probability that B has to output z). We denote it by A 1 . Then we have:
α = 1 q s e 1 1 q s e .
If it is assumed that A 1 has broken the AKE security of the PAKE protocol ( A 1 outputs a bit b after the Test query and wins), then at least one of the Hash queries must equal S K stored in the Hash table. We denote β as the probability that B correctly chooses among the possible Hash queries. Then we have:
β 1 q h .
From the above, the probability of B outputting z from the challenge ψ is the probability ε that A 1 breaking the AKE security of the PAKE protocol multiplied by the probability α that B outputting z multiplied by the probability β that B correctly choosing among the possible Hash queries:
S u c c ψ z C D H ( B ) = ε × α × β ε × 1 q s e × 1 q h .
We can rewrite the above equation as:
ε S u c c ψ z C D H ( B ) × q s e × q h .
From the above analysis, the advantage of A 1 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 A 1 making Hash queries with just the right session key by pure chance. The concrete security of the PAKE protocol is as follows:
A d v P A K E A K E ( A 1 ) = λ + ε + p u r e c h a n c e q s e n + q h × q s e × S u c c ψ z C D H ( B ) + q h 2 k .
Theorem 2.
Let A 2 be an adversary attacking the MA-security of the PAKE protocol within a time period t after the number of Send queries q s e and the number of Hash queries q h . Then we have:
A d v P A K E M A ( t , q s e , q h ) A d v P A K E A K E ( t , q s e , q h ) + q h 2 k ,
where t is the running time of the adversary A 1 attacking the AKE security of the PAKE protocol.
Proof. 
The probability is A 1 breaking the AKE-security added to A 2 making Hash queries with just the right, mutually authenticated messages ( H ( K , R c ) or H ( K , R s ) ) 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 A 2 attacking MA-secure is A 1 attacking AKE-secure added to A 2 making Hash queries with just the right authenticated messages by pure chance (one includes A 1 making Hash queries with just the right session key):
A d v P A K E M A ( A 2 ) A d v P A K E A K E ( A 1 ) + q h 2 k = q s e n + q h × q s e × S u c c ψ z C D H ( B ) + q h 2 k 1 .
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 A 1 be an adversary attacking the AKE-security of the PPC protocol within a time period t after q s e interactions with the parties and q h * Hash queries. Then we have:
A d v P P C A K E ( t , q s e * , q h * ) q s e * n + q h * × q s e * × S u c c ψ z C D H ( t ) + q h * 2 k ,
where t is the running time of a CDH attacker B .
Theorem 4.
Let A 2 be an adversary attacking the AKE-security of the PPC protocol within a time period t after q s e * interactions with the parties and q h * Hash queries. Then we have:
A d v P A K E M A ( t , q s e * , q h * ) A d v P A K E A K E ( t , q s e * , q h * ) + q h * 2 k ,
where t is the running time of the adversary A 1 attacking the AKE security of the PPC protocol.
q s e * and q h * 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 H ( K , R c ) 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.

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

  1. Anwar, N.; Riadi, I.; Luthfi, A. Forensic SIM card cloning using authentication algorithm. Int. J. Electron. Inf. Eng. 2016, 4, 71–81. [Google Scholar]
  2. 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]
  3. 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]
  4. 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]
  5. 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]
  6. 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]
  7. 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]
  8. 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]
  9. 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]
  10. 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]
  11. 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]
  12. Hwang, M.-S. A new redundancy reducing cipher. Int. J. Inform. 2000, 11, 435–440. [Google Scholar]
  13. 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]
  14. 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]
  15. Lin, C.-L.; Hwang, T. Authentication scheme with secure password updating. Comput. Secur. 2003, 22, 68–72. [Google Scholar] [CrossRef]
  16. 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]
  17. 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]
  18. 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]
  19. 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]
  20. 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]
  21. 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]
  22. 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]
  23. 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]
  24. 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]
  25. 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]
  26. 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]
  27. 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]
  28. 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]
Table 1. Comparisons among related schemes and our proposed scheme.
Table 1. Comparisons among related schemes and our proposed scheme.
Title[21][22][23][9][24][16]Our Scheme
Off-line guessing attackNoYesNoNoNoYesNo
Stolen-verifier attackNoYesNoNoNoNoNo
Replay attackNoNoYesYesNoNoNo
DOS attackNoNoNoYesNoYesNo
Key Compromise Impersonation AttackNoNoNoNoNoNoNo
Mutual AuthenticationYesYesYesNoYesYesYes
Session key establishmentYesYesYesNoYesNoYes
Forward SecrecyNoNoNo-Yes-Yes
Provable securityYesNoYesNoNoNoYes
Known-password by ServerYesNoNoNoNoNoNo
Back to TopTop