2011 2nd International Conference on Networking and Information Technology IPCSIT vol.17 (2011) © (2011) IACSIT Press, Singapore An improved N-Party PAKE Protocol Liu Xiumei1, Liu Junjiang2 and Chang Guiran1 1 Computing Center, Northeastern University, Shenyang, China 2 Tax Department, Neusoft Corporation, Shenyang, China liuxm@cc.neu.edu.cn,liujunjiang@neusoft.com,chang@neu.edu.cn Abstract. To improve the operation efficiency of N-Party AKE protocol, to reduce the communication costs, we present an improved N-Party PAKE protocol. In N-Party PAKE protocol, the adjacent clients share a temprory encryption key with the help of server, so it reduces the communication numbers between clients and server. And we also show that the N-Party PAKE protocol can resist various attacks. Keywords-PAKE; N-Party;DPWA 1. Introduction In [1-2], Bresson et al. presented the first formal model of the authenticated group Diffie-Hellman key exchange protocol to enable a treatment of dictionary attacks, which allows group members to agree on a session key. And this model is base on shared password-authentication(SPWA, for short), that is all group members use a shared password. However, Byun and Lee[3] pointed out that SPWA is not practical since a password is not a common secret but a secret depending on an individual, and they proposed two provably secure protocols, N-party EKE-U and N-party EKE-M, which are based on different password-authentication(DPWA, for short) model, that is group members use different passwords. N-party EKE-U protocol is designed for unicast network environment. Byun and Lee have proved it is secure under the Diffie-Hellman-like assumptions. However, Tang et al.[4] show that the N-party EKE-U protocol suffer from off-line dictionary attack. Phan et al.[5] show that the N-party EKE-U protocol suffer from in-side attack. And the operation of TF protocol in N-party EKE-U brings the low efficiency. And there have been proposed lots of group PAKE protocols[6-10]. To improve the operation efficiency, we propose an improved EKE-U protocol for group members based on password in this paper, called N-Party PAKE. In the protocol, N-Party are clients C1 , C2 ," , Cn −1 and the server S. Each client Ci (1 ≤ i ≤ n − 1) shares a different password pwi with the server. The remainder of this paper is organized as follows. In Section II, we present N-Party PAKE protocol. Next, in Section III, we show the security analysis and efficiency of N-Party PAKE protocol. Finally, we make a conclusion in Section IV. 2. N-Party PAKE Protocol The communication flows for the N-party PAKE protocol include two stages, called up-flow and down-flow. In the up-flow, each client Ci (1 ≤ i ≤ n − 1) share a password pwi with the server S, and the adjacent clients Ci (1 ≤ i ≤ n − 1) and Ci +1 (1 ≤ i ≤ n − 2) also share a temporary encryption key with the help of Server S. The key will be used to encrypt and decrypt the message from Ci to Ci +1 . And each Ci (1 ≤ i ≤ n − 1) will raise the received intermediate values to the power of its own secret xi and forwards the resulting values to the next client Ci +1 (1 ≤ i ≤ n − 2) . In the flows, there are two functions defined as follows: φ (α1 ,..., α i −1 , α i , x) = {α x ,..., α x , α i } ∈ G i 1 (1) i −1 322 π ({α1 ,..., α i −1 , α i }, m, n) = {α m , α m +1 ,..., α m + ( n −1) } ∈ G n 2.1. (2) Up-Flow of N-Party PAKE The up-flow includes up-flow1 and up-flow2. The up- flow1 of N-Party PAKE protocol proceeds as Figure 1. a X = E pw ( g a ) a ∈ Z q* , computes g and encrypts 1 with its 1) The client C1 chooses a random value 1 1 1 1 password pw1 . Then C1 send X 1 to C2 . When client C2 receives X 1 , it also chooses a random value a2 ∈ Z q* X 2 = E pw2 ( g a2 ) , computes and encrypts , then sends message X 1 |X 2 to the next client. Each client ai Ci (3 ≤ i ≤ n − 1) receives message { X } , inserts their own message X i = E pwi ( g ) and then passes it to { X j }nj −=11 to server S. the next client Ci +1 (3 ≤ i ≤ n − 2) . The last client Cn −1 sends i −1 j j =1 a 2) The server S can decrypt every X i and get each g by using password pwi . The server S chooses i random values bi ∈ Z q* (1 ≤ i ≤ n − 1) and encrypts message b ab a b ab a , computes g , g , ski = H (Ci | S | g | g | g ) , Maci = H ( ski | g ) . i Yi = E pwi ( g bi ) i i i i i i i . To help the adjacent clients Ci (1 ≤ i ≤ n − 1) and Ci +1 (1 ≤ i ≤ n − 2) r pw r r ∈ Zq generate a temporary key, S also chooses random values i , computes g , g , and encrypts n −1 ηi = Esk ( g pw r | g r )(1 ≤ i < n − 2) η = Esk ( g r ) and n −1 . Then S sends {Yi | ηi | Maci }i =1 to C1 . The Maci is * i +1 i +1 i i i n −i i n −1 i used to verify the temporary key by client Ci C1 C2 a1 ∈ Z Cn−1 … S * q X 1 = E pw1 ( g a1 ) X1 ⎯⎯ → a2 ∈ Z q* X 2 = E pw2 ( g a2 ) 2 { X i }i =1 ⎯⎯⎯ → " n−2 { X i }i =1 ⎯⎯⎯→ an−1 ∈ Z q* X n−1 = E pwn −1 ( g an −1 ) n −1 { X i }i =1 ⎯⎯⎯→ bi , ri ∈ Z q* g ai = D pwi ( X i ) ski = H (Ci | S | g ai | g bi | g aibi ) Maci = H ( ski | g ai ) {Yi |ηi |Maci }in=−11 Yi = E pwi ( g bi ) , ηi = Eski ( g pwi +1ri +1 | g ri ) ←⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Figure 1. The up-flow1 of the N-Party PAKE protocol The up- flow2 of N-Party PAKE protocol proceeds as Figure 2. ab and sk1 . Then C1 can obtain 1) C1 obtains and decrypts Y1 and η1 , computes and verifies g 1 1 r r b r x ∈ Zq and g , compute τ 1 = H ( g | g ) and m0 = {g } . C1 also chooses a random value 1 , n −1 m ' = E ( m ) 1 g computes by using φ function and encrypts 1 . The C1 sends m1 ' | τ 1 | {Yi | ηi | Maci }i = 2 to g pw2 r2 1 1 1 * 1 pw2r2 C2 . pw r r r r rx rx and g , compute τ 2 = H ( g | g ) , m2 = φ (m1 , x2 ) = {g , g } 2) C2 can obtain Y2 , η 2 , sk2 , g m′ = Eg (m2 ) m ' | {τ i }i2=1 | {Y j η j Mac j }nj =−13 and 2 , then C2 sends 2 | | to the next client. The next client i Ci (3 ≤ i ≤ n − 1) obtains the message Yi and ηi , computes mi and τ i , then sends mi ' | {τ j } j =1 | {Yk | η k | 3 3 2 2 pw3r3 Mack }nk −=1i +1 to the next Ci +1 (3 ≤ i ≤ n − 2) . C1 x1 ∈ Z C2 " Cn−1 * q 323 S 2 1 2 1 1 τ1 = H ( g r | g b ) 1 1 m0 = {g }, m1 = φ (m0 , x1 ) r1 m1′ = E g pw2r2 ( m1 ) n −1 m1 '|τ1|{Yi |ηi |Maci }i = 2 ⎯⎯⎯⎯⎯⎯ → x2 ∈ Z q* τ 2 = H (g r | gb ) 2 2 m2 = φ (m1 , x2 ) , m2′ = E g pw3r3 ( m2 ) m |{τ }2 |{Y |η |Mac }n −1 2′ i i =1 j j j j =3 ⎯⎯⎯⎯⎯⎯⎯⎯ → " mn − 2 '|{τ i }in=−12 |{Y j |η j |Mac j }nj =−1n −1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯ → xn−1 ∈ Z q* τ n−1 = H ( g r | g b ) n −1 n −1 mn−1 = π (φ (mn−2 , xn−1 )), mn′ −1 = Eg rn −1 ( mn−1 ) n −1 mn′ −1|{τ i }i =1 ⎯⎯⎯⎯ → Figure 2. The up-flow2 of the N-Party PAKE protocol ′ x ∈ Z* q 3) The last client Cn −1 decrypts mn − 2 , chooses a random value n −1 , and computes n −1 mn −1 = π (φ (mn − 2 , xn −1 )) by using the function φ and π . Then Cn −1 sends all {τ i }i =1 to server S. 2.2. Down-Flow of N-Party PAKE The down-flow of N-Party PAKE protocol proceeds as Figure 3. 1) The server S receives the message and verifiers all τ i . Then S decrypts mn −1′ and obtains each m i = g r x "x x "x (1 ≤ i ≤ n − 1) . S computes each m n,i = Esk (m i )(1 ≤ i ≤ n − 1) and sends it to Cn −1 . 1 1 i −1 i +1 n−1 i C1 " C2 Cn−1 S ? τi = H (g r | gb ) i i mn−1 = Dg rn −1 ( mn′ −1 ) m i = g r x "x x "x m n,i = Esk ( m i ) 1 1 {m }n−1 {m }n−2 i −1 i +1 n −1 i n ,i i =1 ←⎯⎯⎯ ⎯ n ,i i =1 ←⎯⎯⎯ ⎯ " {m }2 n ,i i =1 ←⎯⎯⎯ ⎯ m n ,1 ←⎯⎯ ⎯ Figure 3. The down-flow of the N-Party PAKE protocol m = Esk (m i )(1 ≤ i ≤ n − 1) 2) The message n,i send from Cn −1 to C1 . Each client decrypts the message and x x ∈ Z q∗ . And then, each client can compute the computes K = (m i ) (1 ≤ i ≤ n − 1) by using the random value i i i SK = H ( K | C ) by C = {C1 ," , Cn −1} . 3. Security Analysis and Efficiency 3.1. Security Analysis In this section, we briefly discuss the security against several conventional attacks. 1) Tang-Chen attack Assume that C1 is a inside attacker, it wants to obtain the password of C3 . C1 intercepts the message ∗ rx rx rx x m2′ from C2 to C3 . Because the message is m2′ = Eg pw3r3 ({g 1 2 , g 1 1 , g 1 1 2 }) and x1 ∈ Z q is chose by C1 , C1 wants to guess pw3 from g pw3r3 . But r3 ∈ Z q∗ is chose by server S, even guessed g pw3r3 , C1 still can’t figure out pw3 . Therefore, we could say the proposed protocol is secure against Tang-Chen attack. 2) Undetectable on-line dictionary attack Assume n = 4 , the N-Party are C1 , C2 , C3 and S, and an outside attacker is A. A attempts to guess the 2 password of C3 on-line. First, A intercepts messages { X i }i =1 from C2 to C3 . A chooses a random value 324 a ∈ Z q* a ′ ′ to compute g , and uses the guessed password pw3 to encrypt the message X 3 , and then pass it to a′ S. After receiving the messages, S uses the correct password pw3 to decrypt the message, gets g , and then r Y3 = E pw ( g b ) sk3′ = H (C3 | S | g a ′ | g b | g a ′b ) η3′ = Esk ′ ( g ) b3 ∈ Z q* chooses a random number , makes , , , and other calculations are performed correctly according to the protocol. Next, the attacker A intercepts the 3 3 3 3 3 3 b′ ′ message from C2 to C3 again, using the guessed password pw3 to decrypt Y3 , to get g , and then to r ′ ′ ′ calculate sk3 to decrypt message η3 , get g . Although A can calculate the message m3 to pass the b message to the server S, it can’t obtain the right τ 3 without the real g . So the messages will not pass the 3 3 3 authentication from server S. And the on-line attack can be detected by S. Therefore, the N-Party PAKE protocol can prevent undetectable on-line dictionary attacks. 3) Off-line dictionary attack X = E pw ( g a ) from Ci The passwords pwi of clients used only in the up-flow1 to encrypt the message i i i to S, and the returned message Yi = E pwi ( g bi ) . In these two messages, whether internal or external attacker wants to launch off-line dictionary attack are impossible. It is because that ai , bi ∈ Z q∗ are chose by the clients Ci and S respectively. The attackers can’t obtain the random values, so they can’t guess the passwords. Therefore, the N-Party PAKE protocol can resist off-line dictionary attacks. 4) Man-in-the-Middle attack Man-in-the-Middle attack means an adversary deceive the parties in a legal communication. Similarly, assume n = 4 , the N-Party are C1 , C2 , C3 and S, and an outside attacker is A. A attempts to impersonate a party communicate with the other parties. First, A intercepts message X 1 from C1 , then a ∗ chooses a random value a ∈ Z q and computes X 1′ = E pw′ ( g ) by using a guessed password pw1′ , then sends 1 X 1′ = E pw1′ ( g a ) to S. S decrypts X 1′ and obtains g a ′ by using the real pw1 , then S chooses a random value b b1 ∈ Z q∗ , computes g b1 , g a ′b1 , Y1 = E pw1 ( g 1 ) , sk A, S = H (C1 | S | g a′ | g b1 | g a′b1 ) , MacA, S = H ( sk A, S | g a′ ) and η A, S = Esk ( g pw r | g r ) . A intercepts the message from S, chooses b ∈ Z q∗ , and computes the false message 2 2 2 A ,S a′ a ′b a′ b Y1′ = E pw1′ ( g b ) , sk A,C = H (C1 | S | g 1 | g | g 1 ) , MacA,C = H ( sk A,C | g 1 ) , Then A sends the false message to C1 . When C1 receives the message, C1 will verify the message by using the real g a . Obviously, the verifying can not be passed. Therefore, the N-Party PAKE protocol can resist Man-in-the-Middle attack. 5) Forward secrecy If an attacker obtained all passwords pwi and the early messages, he can only get g a and g b . But he 1 i i has no idea about g , then he can’t compute the session key ski . If the attacker obtained the session key ski , he still can’t compute the early group session key SK. Therefore, the N-Party PAKE protocol is forward secrecy. ai bi 3.2. Efficiency Analysis In Table 1, we compare the Byun’s N-Party EKE-U protocol with the N-Party PAKE protocol in computational costs and communication costs. TABLE I. Protocol Costs Computational costs for clients Computational costs for server Total computational costs Communication costs EFFICIENCY COMPARISON N-Party PAKE Byun’s N-Party protocol EKE-U protocol (n2+5n-6)/2 (n2+6n-9)/2 4n-5 (n2+3n-6)/2 (n2+13n-16)/2 (2n2+9n-15)/2 3n-2 4n-6 From the comparison, we could see that the N-Party PAKE protocol has some improvements in computational costs and communication costs. 325 4. Conclusion To improve the operation efficiency, we propose an N-Party PAKE protocol. The protocol has some improvements in computational costs and communication costs. The improved protocol can resist many familiar attacks. 5. References [1] Bresson, O. Chevassut, and D. Pointcheval, Group diffie-hellman key exchange secure against dictionary attacks, In proceedings of Asiacrypt’02, LNCS Vol. 2501, Springer-Verlag, 2002, pp. 497-514. [2] E. Bresson, O. Chevassut, D. Pointcheval, and J. J. Quisquater, Provably authenticated group diffie-hellman key exchange, In proceedings of 8th ACM Conference on Computer and Communications Security, 2001, pp. 255-264. [3] J.W.Byun, D.H.Lee , N-Party Encrypted Diffie-Hellman Key Exchange Using Different Passwords. In: Ioannidis, J., Keromytis, A.D., Yung, M. (eds.) ACNS 2005. LNCS, vol. 3531, Springer, Heidelberg, 2005, pp. 75–90. [4] Q. Tang, L. Chen: Weaknesses in two group Diffie-Hellman Key Exchange Protocols, Cryptology ePrint Archive (2005), 2005/197. [5] R.C.W. Phan, B.M.Goi: Cryptanalysis of the N-party encrypted diffie-hellman key exchange using different passwords, Lecture Notes in Computer Science: Proceedings of the 4th International Conference on Applied Cryptography and Network Security, ACNS(2006). Singapore, pp. 226-238. [6] E. Bresson, O. Chevassut, and D. Pointcheval. The Group Diffie-Hellman Problems. In H. Heys and K. Nyberg, editors, Proc. Of SAC ’2002, LNCS. Springer-Verlag, August 2002. [7] J.O.KWON, I.R.JEONG, D.H.LEE. Provably-secure two-round password-authenticated group key exchange in the standard model[A]. IWSEC 2006[C]. Kyoto, Japan, 322-336(2006) [8] R.M.SAYED, M.H.IBRAHIM, Z.B.NOSSAIR. Group key exchange protocol for users with individual passwords[J]. Journal of Engineering and Applied Science, 55(8):327-342(2008) [9] E.BRESSON, O.CHEVASSUT, D.POINTCHEVAL. Group Diffie-Hellman key exchange secure against dictionary attacks[A]. Asiacrypt'02[C]. Queenstown, New Zealand, 497-514(2002) [10] Z.WAN, R.H.DENG, F.BAO, et al. nPAKE+: a hierarchical group password-authenticated key exchange protocol using different passwords[A]/ ICICS 2007[C]. Zhengzhou, China, 31-43 (2007) 326