Sunteți pe pagina 1din 5

(IJCNS) International Journal of Computer and Network Security, 75

Vol. 2, No. 6, June 2010

Secure Password Authenticated Three Party


Key Agreement Protocol
Pritiranjan Bijayasingh1 and Debasish Jena2
1
Department of Computer Science and Engineering
International Institute of Information Technology, Bhubaneswar 751 013, India
pritiprbs@yahoo.com
2
Centre for IT Education
Biju Patnaik University of Technology
Orissa, India
jdebasishjena@gmail.com

passwords, which they call Client-to-Client Password-


Abstract: In the past, several key agreement protocols are
proposed on pre-shared password based mechanism. Due to Authenticated Key Exchange (C2C-PAKE) protocol. In this
development of communication technology, it is necessary to protocol two clients pre-shared their passwords either with a
construct a secure end-to-end channel between clients. In this single server (called a single-server setting) or respectively
paper, an improved version of J. Kim et al proposed password- with two servers (called a cross-realm setting). However, in
authenticated key exchange protocol has been proposed. The [13] Chen have shown the C2C-PAKE protocol in the cross-
proposed scheme is secure against Denial of Service Attack, realm setting is not secure against dictionary attack from a
Perfect Forward Secrecy, Denning-Sacco Attack etc. Hence malicious server in a different realm. In 2004, J. Kim et al,
proposed scheme is much more superior to the previous scheme. shown that the C2C-PAKE protocol is also vulnerable to the
Keywords: Trusted third party, Kerberos, Denial of Services, Denning-Sacco attack by an insider adversary. They have
and Key Exchange. also modified the protocol to overcome the Denning-Sacco
inside adversary attack.
1. Introduction
In this paper, the weaknesses of the modified C2C-PAKE
Secure communication between two users on a computer protocol are presented. Furthermore, the modified protocol,
network is possible using either single key (conventional) which repairs the problem of the modified C2C-PAKE
encryption or public key encryption. In both systems, key protocol, is proposed.
establishment protocols are needed so the users can acquire
keys to establish a secure channel. In single key systems, the The remaining of the paper is organized as follows. In
users must acquire a shared communication key; in public- section 2, a brief overview of the modified C2C-PAKE
key systems, the users must acquire each others' public keys. protocol is given along with its weaknesses. Then the
improved version of the modified C2C-PAKE protocol is
In secure communications, one of the most important introduced in section 3. . Next, in Section 4, we briefly
security services is user authentication. Before the discuss the formal security notions of the proposed
communicating parties start a new connection, their protocols. The paper concludes with the concluding remark
identities should be verified. In the client-server model, and some directions for future work in section 5.
password-based authentication is a favorable method for
user authentication because of its easy-to-memorize
property. As the passwords are easy to remember and 2. Review of Modified C2C-PAKE protocol
selected from a small space, it allows a cryptanalyst to
mount several attacks such as guessing attack, dictionary In this section, the modified C2C-PAKE protocol in cross-
attack against it. Based on different cryptographic realm setting is described with its weakness.
assumptions, various protocols have been proposed to
achieve secure password-authenticated key exchange [7,9- 2.1 Modified C2C-PAKE Protocol
12,19-20] for preventing these ever-present attacks.
2.1.1 Computational Assumptions
In the literature, most password-authenticated key exchange
schemes assume that two parties share a common password. The scheme is based on numerical assumptions and
Two parties use their shared password to generate a secure computational assumptions. Let p, q be sufficiently large
common session key and perform key confirmation with primes such that q|p − 1, and let G be a subgroup of Z∗ p of
regard to the session key. Most of these schemes consider order q. During initialization step, a generator g ∈ G and
authentication between a client and a server. hash function (H1, H2, H3, H4, H5) are published. All
protocols throughout the paper are based on the discrete
In 2002, Byun et al. proposed a new password-authenticated logarithm assumption (DLA) and Diffie-Hellman Protocol.
key exchange protocol between two clients with different
76 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 6, June 2010

2.1.2. Protocol Description message because, he can’t discard the TicketC as it is issued
by KDCA. In step-5 KDCB sends the message to client C and
KDCA and KDCB are key distribution centers which store the rest of the steps are executed normally. In this way,
(Alice’s identity, ID(A), and password, pwa), and (Bob’s client A establishes the intended session key with client C
identity, ID(B), and password, pwb) respectively. K is a not with the actual client B. In the, modified C2C-PAKE
symmetric key shared between KDCA and KDCB. protocol there is no verifiable message where both A and B
can verify their identities after step-4. In this way, the
1. Alice chooses x ∈R Z∗ p randomly, computes and sends attacker may trap client C and communicate with client A
Epwa(gx), ID(A) and ID(B) to KDCA. pretending as client B. This causes identity mis-binding
attack
2. KDCA obtains gx by decrypting Epwa(gx). KDCA selects r
∈R Z∗ p randomly and makes TicketB = EK(gx·r, gr, ID(A), In step-2, the attacker may modify the Lifetime L of the
ID(B), L). L is a lifetime of TicketB. Then KDCA sends ticket with a higher value than the value specified by KDCA.
TicketB, ID(A), ID(B) and L to Alice. But, KDCB obtains the actual value of L. As client A has a
high L value, she may request KDCB for service within the
3. Upon receiving the message from KDCA, Alice forwards enhanced time period. But, KDCB is unable to provide the
TicketB to Bob with ID(A). service after the actual lifetime L. This causes a Denial of
Service (DOS) attack.
4. Bob chooses y ∈R Z∗ p randomly, and computes Epwb(gy).
Then he sends Epwb(gy), ID(A) and ID(B) to KDCB with 3. Proposed Protocol
TicketB.
In our proposed protocol every host is registered with the
x·r r TTP with different passwords. The hosts and the TTP agree
5. KDCB obtains g and g by decrypting TicketB, selects r’
upon a family of commutative one-way hash functions
∈R Z∗ p randomly and computes gx·r·r’ and gr·r’. Next KDCB which is used for host authentication. One-way hashes of the
sends gx·r·r’ and gr·r’ to Bob. passwords are being stored instead of storing the plaintext
version of the passwords. One-way function is a function F
6. Bob makes cs = H1(gx·y·r·r’ ) using gx·r·r’ and y. Then Bob such that for each x in the domain of F, it is easy to compute
chooses a random number a ∈R Z∗ p and computes Ecs(ga) y=F(x), but given F(x) it is computationally infeasible to
and gr·r’·y. Finally, Bob sends Ecs(ga) and gr·r’·y to Alice. find any x.

7. Alice also can compute cs using gr·r’·y and x. Next, Alice 3.1 Notations
selects b ∈R Z∗ p randomly and computes the session key sk The following notations are used in this paper.
= H2(gab) and Ecs(gb). Finally she sends Esk(ga) and Ecs(gb)
for session key confirmation. Alice, Bob Honest Hosts
TTP Trusted Third Party
8. After receiving Esk(ga) and Ecs(gb), Bob gets gb by IDA, IDB Identities of Alice and Bob
decrypting Ecs(gb) with cs and computes sk with gb and a. pwa, pwb Passwords of Alice and Bob
Bob verifies ga by decrypting Esk(ga) with sk. Bob sends EK(X) Encryption of plaintext X using key K
Esk(gb) to Alice to confirm the session key. DK(X) Decryption of plaintext X using key K
SK Session Key between A and B
9. Alice verifies gb by decrypting Esk(gb) with sk. H(pwa) One way hash of password of A
g Generator of cyclic group
2.2 Cryptanalysis of Modified C2C-PAKE Protocol p, q Large prime numbers
A→B: M A sends message “M” to B
Let an outside attacker having knowledge of the whole TicketB Kerberos Ticket issued to A for service
cross-realm architecture comes in between client A and from B
KDCA. In the first message transfer from A to KDCA, he sgnA( . ) Signature generated using the private
may snoop the message and modify the IDB with some ID key of A
say, IDC which is a legitimate client in the other realm. K Shared Secret Key between TTP1 and
Upon receiving the message from A, KDCA makes TicketC = TTP2
EK(gx·r, gr, IDA, IDC, L) which is not the intended Ticket for
client B. When KDCA sends the message to A in step-2, the
attacker can again change the IDC to IDB. Hence, A doesn’t 3.2 Proposed Protocol
know what happened in between as she can’t decrypt the
Ticket. Here we describe the steps involved in the protocol in detail.
g, p and q are global parameters shared by protocol
In the same way the attacker may snoop the message in the participants.
step-4 and modify IDB to IDC. After decrypting the Ticket,
KDCB assumes that client A wants to communicate with 3.2.1 Single-Server Setting
client C as he receives same IDC from both the message and
the Ticket. He may discard Epwb(gy) as an redundant
(IJCNS) International Journal of Computer and Network Security, 77
Vol. 2, No. 6, June 2010

Alice and Bob choose password pwa, pwb respectively and


then transfer it to TTP through a secure channel. TTP stores B → A : EKe ( RB ), ESK (sgn B ( IDA, RA, RB ))
(IDA, H(pwa)) and (IDB, H(pwb)) in its database. The
following shows the steps: vii. Alice finds RB after decrypting with Ke. She
computes the session key SK=(RB)a (mod
i. Alice randomly chooses a number r, computes p)=gba (mod p). After calculating the session
gr (mod p). The computed value is encrypted key Alice verifies Bob’s signature. If the
using the H(pwa) along with the IDs of the signature is verified, Alice concatenates Bob’s
participating hosts. Alice then sends the ID, RA and RB. Then she signs the result with
calculated values to the server. her own private key, encrypts the signature
A → T : H ( pwa )[ IDA, IDB , g r (mod p)] with the session key SK and sends to Bob.
A→ B : ESK (sgn A ( IDB , RA, RB ))
ii. Server T then decrypts the received packet
using the H(pwa) of host A stored in its viii. If Bob verifies Alice’s signature correctly, then
database to recover gr (mod p). Then server he ensures that the same session key SK is
randomly chooses a number t and computes grt occupied by both of them.
(mod p) and encrypts the computed value
concatenated with IDs of the two 3.2.2 Dual-Server Setting
communicating entities, using the H(pwb)
stored in its database. Then the computed Alice and Bob choose their distinct passwords pwa, pwb and
value is sent to Bob by the server. registers themselves with TTP1 and TTP2 respectively using
T → B : H ( pwb )[ IDA, IDB , g r .t (mod p)] their passwords through a secure channel. TTP1 and TTP2
store (IDA, H(pwa)) and (IDB, H(pwb)) respectively in their
iii. After receiving the packet Bob decrypts it own databases. We assume that TTP1 and TTP2 share a
using H(pwb) to get grt (mod p). He chooses a secret key K. The steps involved are described below:
random number s, and computes an ephemeral
key (Ke) as Ke=grts (mod p). Then he computes i. A randomly chooses r and computes g (mod p) .
r

gs (mod p), concatenates it with IDA, encrypts


Then she encrypts the computed value concatenated
the resulting value using H(pwb) and sends to
with IDs of the participating hosts using the
the server T.
H(pwa) and sends the calculated value to TTP1.
B → T : H ( pwb )[ IDB , g s (mod p )] A → TTP1 : H ( pwa )[ IDA, IDB , g r (mod p )]
iv. After receiving the packet, server decrypts it
ii. TTP1 obtains gr (mod p) after decrypting the
using H(pwb) to recover gs (mod p). Then he
received packet by the H(pwa) of host A stored in
computes gst(mod p), encrypts it using H(pwa)
its database. Then TTP1 randomly chooses a
and sends it to Alice.
number t and computes grt (mod p) and gt (mod p).
T → A: H ( pwa )[ g s .t (mod p )] It prepares TicketB=EK(grt (mod p), gt (mod p), IDA,
IDB, L). It concatenates IDs of the hosts with L and
v. Alice decrypts the received packet using encrypts the resulting value with H(pwa). TTP1
H(pwa) to get gst (mod p). Then she calculates sends TicketB to A along with the encrypted values
the ephemeral key (Ke) as Ke=gstr (mod p). of IDA, IDB and L. L is the lifetime of TicketB.
Alice chooses a random number a and TTP1 → A: H ( pwa )[ IDA, IDB , L], Ticket B
computes RA=ga(mod p), encrypts RA using the
ephemeral key Ke and sends it to Bob along Ticket B = EK [ g r .t (mod p ), g t (mod p), IDA, ID B , L]
with her own ID.
A → B : IDA, EKe ( RA) iii. After receiving the message, A forwards IDA and
TicketB to TTP2.
A → TTP2 : IDA, Ticket B
vi. Bob recovers RA by decrypting the received
packet using the ephemeral key Ke. He
randomly chooses a number b as his private iv. Upon receiving the message, TTP2 decrypts
key, computes RB=gb (mod p) and encrypts RB TicketB using shared key K to recover grt (mod p)
using the ephemeral key Ke. Then he calculates and gt (mod p). It selects a random number t' and
the session key (SK) as SK=(RA)b (mod p)=gab computes grtt' (mod p) and gtt' (mod p). Next,
(mod p). Bob concatenates RA, RB and Alice’s TTP2 concatenates the computed values with the
ID, creates a signature of the result using his IDs of both the hosts and encrypts the resulting
private key b to be verified by Alice. The value using H(pwb) and sends to B.
signature is encrypted using the session key SK TTP2 → B : H ( pwb )[ ID A, IDB , g r .t .t ' (mod p ), g t .t ' (mod p )]
and sent to Alice along with the encrypted
value of RB.
78 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 6, June 2010

v. B obtains grtt' (mod p), gtt' (mod p) after An adversary with pwa (or pwb) can easily compute gr by
decrypting the message. He chooses s as random decrypting H(pwa)(gr). But these values do not help to
and finds an ephemeral key Ke= grtt's (mod p). He compute Ke or SK in old sessions because session key
also randomly selects his private key as b and generation is based on the Diffie-Hellman problem.
calculates his public key as RB=gb(mod p). Next, Therefore the proposed protocol provides perfect forward
RB concatenated with the IDs of the hosts is secrecy.
encrypted using the ephemeral key Ke. Then he
sends this encrypted value and gtt's (mod p) to A. 4.4. Denning-Sacco Attack:
B → A : g t .t '.s (mod p ), EKe ( IDA, IDB , RB ) Now we can show that our protocol is secure against
Denning-Sacco attack. Like the original C2C-PAKE
vi. After receiving the message A finds the protocol, we also classify an adversary into two types. One is
ephemeral key Ke using r and gtt's (mod p). She an Insider adversary and the other is an Outsider adversary.
also recovers RB from the message and chooses
her private and corresponding public key as a, RA 4.4.1. In case of Outsider Adversary:
respectively, where RA= ga(mod p). She computes Outsider adversary, with session keys Ke and SK can
the session key SK=(RB)a (mod p)=gba (mod p). A compute ga, gb and all conversations in the protocol. But he
concatenates RA, RB and IDB, creates a signature can not verify a candidate password pwa'(or pwb') of pwa
of the result using his private key a. The (or pwb) since he can not get r (or s) which is a random
signature is encrypted using the session key SK secret value of A (or B).
and sent to B along with the encrypted value of
RA. 4.4.2. In case of Insider Adversary with pwa:
A → B : EKe ( RA), ESK (sgn A( IDB , RA, RB )) We are going to show that an adversary cannot mount a
dictionary attack on pwb. To verify a candidate password
vii. Upon receiving the message B obtains RA by pwb' of pwb, he must get gs. Since the value of s is a random
decrypting the message, computes the intended number of B, he cannot compute valid gs.
session key SK=(RA)b(mod p)=gab(mod p), and
verifies A’s signature. If the signature is verified, 4.4.3. In case of Insider Adversary with pwb:
B creates a signature exactly the same way as Similar to the case of insider adversary with pwa, he must
done by A and encrypts it using the session key get gr to verify a candidate password pwa' of pwa. Since the
SK. Then he sends the encrypted signature to A. value of r is a random number of A, he cannot compute
valid gr.
B → A : ESK (sgn B ( IDA, RA, RB ))
4.5 Dictionary Attack:
viii. Finally, A verifies the signature and if verified, In case of compromise of pwa or pwb, adversary can mount
ensures that both of the hosts have the same a dictionary attack if he gets gr or gs. However, he can not
session key SK. mount a dictionary attack as analyzed in Denning-Sacco
attack.
4. Security Analysis of Proposed Protocol
In this section, security of the proposed protocols is 4.6 On-line guessing attack, man in the middle attack
analysed. Our proposed protocols are secure against the type and replay attack:
It is the same as analyzed in the original C2C-PAKE
of attacks considered in [13,14] including Identity Mis-
protocol with regard to on-line guessing attack, man in the
binding Attack and Denial of Service attack.
middle attack and replay attack.
4.1. Identity Mis-binding Attack:
Unlike the modified C2C-PAKE protocol, the IDs of the 4.7 Chen’s attack:
Regarding Chen’s attack, there is no verifiable cipher text
communicating entities are encrypted using the one-way
based on password in TicketB. So it is secure against the
hash value of the passwords in the proposed protocol. So,
dictionary attack by a malicious TTP2.
the adversary can’t change any of the IDs of the hosts. As a
result, the proposed protocols are secure against identity
mis-binding attack. 5. CONCLUSION

From the security analysis, we conclude that the proposed


4.2. Denial of Service Attack:
protocol meets all the security requirements defined in [13].
In the Dual-Server Setting of the proposed protocol, the
Furthermore, the protocol is secure against dictionary attack
lifetime L of the ticket issued by TTP1 is encrypted using
from a malicious server in a different realm.
key K in the TicketB as well as using H(pwa) to be
transmitted to entity A. Hence, the value of L remains the
same with A and TTP2 as specified by TTP1. As a result, the References
proposed protocol averts Denial of Service attack. [1] Menezes A.,Oorschot P. van and Vanstone S.,
Handbook of Applied Cryptography, CRC Press, 1996
4.3. Perfect Forward Secrecy: [2] Schneier Bruce., Applied Cryptography: Protocols and
Algorithms, John Wiley and Sons, 1994
(IJCNS) International Journal of Computer and Network Security, 79
Vol. 2, No. 6, June 2010

[3] Stallings Williams., Cryptography and Network [19] S. Jiang and G. Gong, “Password-based Key exchange
Security, 3rd Edition, Pearson Education, 2004 With mutual authentication,” in SAC 2004, LNCS
[4] B. A. Forouzan, Cryptography and Network Security, 3006, pp. 291-306, Springer-Verlag, 2004.
Tata McGraw Hill, Special Indian Edition, 2007 [20] S. Kulkarni, D. Jena, and S. K. Jena., “A novel secure
[5] W. Diffie and M. Hellman, “New Directions In key agreement protocol using trusted third party”.
Cryptography”. IEEE Transactions on Information International Journal of Computer Science and
Theory IT-11, pp. 644–654, November 1976 Security, Volume (1): Issue (1), pp. 11–18, 2007.
[6] Y. Her-Tyan and S. Hung-Min, “Simple Authenticated
Key Agreement Protocol Resistant To Password
Guessing Attacks”, ACM SIGOPS Operating Systems Authors Profile
Review, vol. 36, no. 4, pp.14–22, October 2002
[7] M. Steiner, G. Tsudik, and M. Waidner, “Refinement
And Extension Of Encrypted Key Exchange”. ACM Pritiranjan Bijayasingh received the
Operating System Review, vol. 29, no. 3, pp. 22–30, B.E. degree in Computer Science and
1995 Engineering from Balasore College of
[8] Y. Ding and P. Horster, “Undetectable On-Line Engineering and Technology in 2005.
He has joined Balasore College of
Password Guessing Attacks”. ACM Operating System
Engineering and Technology as
Review, vol. 29, no. 4, pp. 77–86, October1995 Lecturer since 26.08.2005. Now, he is
[9] C. L. Lin, H. M. Sun, and Hwang, “Three-Party persuing his M.Tech degree at
Encrypted Key Exchange: Attacks And A Solution”. International Institute of Information Technology-Bhubaneswar,
ACM Operating System Review, vol. 34, no. 4, pp. 12– Orissa, India. His research area of interest is Information Security
20, October 2000
[10] M. Bellare, D. Pointcheval and P. Rogaway, Debasish Jena was born in 18th
“Authenticated key exchange secure against dictionary December, 1968. He received his B
attacks,” in Eurocrypt 2000, LNCS 1807, pp. 139–155, Tech degree in Computer Science and
Springer-Verlag, 2000. Engineering, his Management Degree
and his MTech Degree in 1991, 1997
[11] E. Bresson, O. Chevassut and D. Pointcheval, “New
and 2002 respectively. He has joined
security results on encrypted key exchange,” in PKC Centre for IT Education as Assistant
2004, LNCS 2947, pp. 145–158, Springer-Verlag, Professor since 01.02.2006. He has
Mar. 2004. submitted his thesis for Ph.D. at NIT,
[12] V. Boyko, P. MacKenzie and S. Patel, “Provably secure Rourkela on 5th April 2010. In addition to his responsibility, he
password-authenticated key exchange using Diffie- was also IT, Consultant to Health Society, Govt. of Orissa for a
Hellman,” in Eurocrypt 2000, LNCS 1807, pp. 156– period of 2 years from 2004 to 2006.His research areas of interest
171, Springer-Verlag, May 2000. are Information Security, Web Engineering, Bio-Informatics and
[13] J. W. Byun, I. R. Jeong, D. H. Lee and C. S. Park, Database Engineering.
“Password-authenticated key exchange between clients
with different passwords,” in ICICS’02, LNCS 2513,
pp. 134–146, Springer-Verlag, Dec. 2002.
[14] L. Chen, “A Weakness of the Password-Autenticated
Key Agreement between Clients with Different
Passwords Scheme”. The document was being
circulated for consideration at the 27th the SC27/WG2
meeting in Paris, France, 2003-10-20/24, 2003
[15] J. Kim, S. Kim, J. Kwak and D. Won, “Crypt-analysis
and improvement of password authenticated key
exchange scheme between clients with different
passwords,” in ICCSA’04, LNCS 3043, pp. 895–902,
Springer-Verlag, May 2004.
[16] D. Denning, G. Sacco, “Timestamps in key distribution
protocols”. Communications of the ACM, Vol.24,
No.8, pp. 533-536, 1981
[17] O. Goldreich and Y. Lindell, “Session-key generation
using human memorable passwords only,” in Crypto
2001, LNCS 2139, pp. 408–432, Springer-Verlag,
Aug. 2001.
[18] J. Katz, R. Ostrovsky and M. Yung, “Efficient
password-authenticated key exchange using human-
memorable passwords,” in Eurocrypt 2001, LNCS
2045, pp. 475–494, Springer-Verlag, May 2001.

S-ar putea să vă placă și