Effective Password Authentication by Key Exchange with

advertisement
Effective Password Authentication by Key Exchange with Two-Servers
P.Suresh1, K.Guru Jyothsna Devi2
1
M.Tech Student, Department of CSE, Sri Venkateswara College of Engineering, Tirupati
2
Assistant Professor, Department of CSE, Sri Venkateswara College of Engineering, Tirupati
Abstract-- In most of the client-server communication,
percent of MySpace passwords would be crackable in 8
authentication is done by exchange of messages and
hours with a commercially available Password Recovery
establishes a cryptographic key based on the password.
Toolkit capable of testing 2,00,000 passwords per second in
Such configuration has a single server to store all the
2006. Modern research advances in password-based
passwords for authenticating the clients. The hacker can
authentication have allowed a client and a server mutually to
easily gather those passwords and client information by
authenticate with a password and in the meantime to
attacking or hacking that single server. In this paper, we
generate a cryptographic key for secure communications
propose a scenario where two servers cooperate to
after authentication. In general, present solutions for
authenticate a client, if one server is attacked, the
password based authentication follow two models.
attacker still cannot authenticate with the information
from that compromised server. Recent solutions for
password authenticated key exchange (PAKE) using two
servers are either symmetric or asymmetric. Our model
is a symmetric solution beneficial in parallel and
distributed systems. This protocol model is more
The first model, called PKI-based model, assumes that
the client retains the server’s public key in addition to share
a password with the server. In this setting, the client can
send the password to the server by public key encryption.
Gong et al., were the first to present this kind of
authentication protocols with heuristic resistant to offline
efficient than current two-server PAKE protocols.
dictionary attacks.
Keywords:
PAKE,
Diffie-Hellman
key
exchange,
The second model is known as password-only model.
ElGamal encryption, Dictionary attack.
Bellovin
and
Merritt
were
the
first
to
consider
authentication based on password only, and introduced a set
1. INTRODUCTION
of so-called “encrypted key exchange” protocols, where the
Nowadays, a computer user may need passwords for
various purposes: logging in to computer accounts, opening
e-mail, gain access to programs, catalogues, systems, and
websites, etc.
for key exchange purpose. Formal models of security for the
password
-only
authentication
were
first
given
independently by Bellare et al. and Boyko et al. Katz et al.
Earlier password-based authentication systems pass on a
cryptographic hash of the password through a public
channel which makes the hash value available to an
attacker. In such scenario, the hacker can work offline,
rapidly trying
password is used as a secret key to encrypt random numbers
possible
passwords
against
the
true
password’s hash value. For example, according to Bruce
Schneier, observing facts from a 2006 phishing attack, 55
were the first to give a password-only authentication
protocol which is both practical and provably secure under
standard cryptographic assumption.
Based on the identity-based encryption technique, Yi et
al. suggested an identity-based model where the client needs
to remember the password only while the server keeps the
password in addition to private keys related to its identity.
In this setting, the client can encrypt the password based on
the identity of the server. This model is between the PKI-
pwd1 and pwd2 conditional on pwd1 + pwd2 = pwd. In our
based and the password only models.
protocol, we provide two servers S1 and S2 with an
encryption of the password with their own encryption keys.
Typical protocols for password-based authentication
assume a single server stores all the passwords necessary to
authenticate clients. If the server is compromised, due to, for
example, hacking, or installing a “Trojan horse,” or even
In addition, two servers are provided random password
shares d1 and d2 subject to d1 ⨁ d2 = H (pwd), where H is a
hash function, the password pwd is secret unless the two
servers get together.
insider attack, user passwords stored in the server are
disclosed. To address this issue, two-server password-based
Although we use the concept of public key cryptosystem,
authentication protocols were introduced where two servers
our protocol follows the password-only model. The
cooperate to authenticate a client on the basis of password
encryption and decryption key pairs for the two servers are
and if one server is attacked, the attacker still cannot
generated by the client and delivered to the servers through
authenticate with the information from that compromised
different secure channels during the client registration, as
server.
the client in any two-server PAKE protocol sends two
halves of the password to the two servers in secret,
Current solutions for two-server PAKE are either
symmetric in the sense that two peer servers equally
contribute to the authentication, or asymmetric in the sense
that one server authenticates the client with the help of
respectively. In fact, a server should not know the
encryption key of another server and is restricted to operate
on the encryption of the password on the basis of the
homomorphic properties of ElGamal encryption scheme.
another server. A symmetric two server PAKE protocol, for
example, Katz et al.’s protocol, can run in parallel and
Studies on security have shown that our protocol is safe
establishes secret session keys between the client and two
against both passive and active attacks in case that one
servers, respectively. In case one of the two servers shuts
server is hacked. Performance analysis has shown that our
down due to the denial-of-service attack, another server can
protocol is more efficient than previous symmetric and
continue to provide services to authenticated clients. In
asymmetric two-server PAKE protocols in terms of parallel
terms of parallel computation and reliable service, a
computation.
symmetric protocol is superior to an asymmetric protocol.
So far, only Katz et al.’s two-server PAKE protocol has
Our protocol can be applied in distributed systems where
been symmetric. But their protocol is not efficient for
multiple servers exist. For example, Microsoft active
practical use. An asymmetric two-server PAKE protocol
directory domain service (AD DS) is the foundation for
runs in series and only the front-end server and the client
distributed networks built on Windows server operating
need to establish a secret session key. Current asymmetric
systems that use domain controllers. AD DS provides
protocols, for example, Yang et al.’s protocol and Jin et al.’s
structured and hierarchical data storage for objects in a
protocol, need two servers to exchange messages for several
network such as users, computers, printers, and services.
times in series. These asymmetric designs are less efficient
AD DS also provides support for locating and working with
than a symmetric design which allows two servers to
these objects. For a large enterprise running its own domain,
compute in parallel.
there must be two AD DS domain controllers, for faulttolerance purpose. To authenticate a user on a network, the
In this paper, we propose a different symmetric solution
user usually needs to provide his/her identification and
for two-server PAKE. In all existing two-server PAKE
password to one AD DS domain controller. Based on our
protocols, two servers are provided random password shares
two-server PAKE protocol, we can split the user’s password
into two parts and store them, respectively, on the two AD
Bob, attempting to determine the secret key solely based
DS domain controllers, which can then cooperate to
upon observed data. The security is built on the well-known
authenticate the user. Even if one domain controller is
computational Diffie-Hellman (CDH) and decisional Diffie-
compromised, the system can still work. In this way, we can
Hellman (DDH) assumptions.
achieve more secure AD DS.
2.2 ElGamal Encryption Scheme
2. KEY REQUIREMENTS
The ElGamal encryption scheme was invented by
2.1 Diffie-Hellman Key Exchange
ElGamal in 1985 on the basis of Diffie-Hellman key
exchange protocol. It consists of key generation, encryption,
It was the first practical method for two users to establish
and decryption algorithms as follows:
a shared secret key over an unprotected communications
channel. This key exchange protocol was invented by Diffie
1. Key generation. On input a security parameter k, it
and Hellman in 1976. Although it is a non authenticated key
publishes a cyclic group G of large prime order q with a
exchange protocol, it provides the basis for a variety of
generator g. Then it chooses a decryption key d randomly
authenticated protocols.
from
Consider two users Alice and Bob, who know nothing
about
each
other,
communications
but
between
want
to
them,
establish
secure
Diffie-Hellman
key
Z q* and computes an encryption key e= gd .
2. Encryption. On inputs a message m belongs to G and the
encryption key e, it chooses an integer r randomly from
Z q*
exchange protocol can be used as follows:
and outputs a cipher text C = E(m, e) = (A,B) = ( gr, m.er ).
1. Alice and Bob agree on a cyclic group G of large prime
3. Decryption. On inputs a cipher text (A,B), and the
order q with a generator g.
decryption key d, it outputs the plaintext m= D(C, x) =B/Ax.
2. Alice randomly chooses an integer a from
computes A = ga, while Bob randomly chooses an integer b
from
ElGamal encryption scheme is a probabilistic encryption
Z q* and
Z q* and computes B = gb. Then Alice and Bob
scheme. If encrypting the same message with ElGamal
encryption scheme several times, it will yield different
cipher texts.
exchange A and B .
3
a
ba
3. Alice computes the secret key sk1= B = g , while Bob
a
PASSWORD-ONLY
AUTHENTICATED
KEY
EXCHANGE WITH TW-SERVERS
ab
computes the secret key sk2= A = g .
3.1 Our Model
It is obvious that sk1 = sk2 and thus Alice and Bob have
agreed on the same secret key, by which the succeeding
communications between them can be protected.
In our system, there exist two servers S1 and S2 and a
group of clients. The two servers cooperate to authenticate
clients and provide services to authenticated clients. Prior to
Diffie-Hellman key exchange protocol is secure against
authentication, each client C chooses a password pwdC and
generates the password authentication information AuthC1
any passive adversary, who cannot interact with Alice and
and AuthC2 for S1 and S2, respectively, such that nobody can
determine the password pwdC from AuthC1 or AuthC2 unless
S1 and S2 collude. The client sends AuthC1 and AuthC2 to S1
two servers collude. It is well known that the discrete
and S2, respective, through different secure channels during
logarithm problem is hard, and our model assumes that the
the client registration. After that, the client remembers the
two servers never collude.
password only, and the two servers keep the password
authentication information.
3.2.2 Registration
Prior to authentication, each client C is required to register
both S1 and S2 through different secure channels. First of all,
the client C generates decryption and encryption key pairs
(di, ei) where
ei  g1di for the server Si (i = 1, 2) using the
public parameters published by the two servers. The client C
chooses a password pwdC and encrypts the password using
pwdC
the encryption key ei, i.e., E( g 2
, ei) = (Ai,Bi) =
( g1ai , g 2pwdC .eiai ) (i = 1, 2) where ai is randomly chosen
from
Z q* , according to ElGamal encryption. Then, the
client C randomly chooses b1 from
Z q* and lets
b2=H(pwdC)⨁b1. The client C delivers the password
pwd C
authentication information AuthC1 = {d1, a1, b1, E( g 2
3.2 Our Protocol
, e2)} to S1 through a secure channel, and the password
Our protocol runs in three phases: initialization,
registration, and authentication & key exchange.
The two peer servers S1 and S2 jointly choose a cyclic
group G of large prime order q with a generator g1 and a
secure hash function H. S1 randomly chooses an integer s1
Z q* and S randomly chooses an integer s2 from Z q* ,
and S1 and S2 exchange
g1s1 and g1s2 . After that, S1 and S2
jointly publish public system parameters G, q, g1, g2,H
where
,
e1)} to S2 through another secure channel. After that, the
client C remembers the password pwdC only.
3.2.1 Initialization
from
pwd C
authentication information AuthC2 = {d2, a2, b2, E( g 2
g 2  g1s1s2 .
The two secure channels are necessary for all two-server
PAKE protocols, where a password is split into two parts,
which are securely distributed to the two servers,
respectively, during registration. Although we refer to the
concept of public key cryptosystem, the encryption key of
one server should be unknown to another server and the
client needs to remember a password only after registration.
3.2.3 Authentication and Key Exchange
In most of existing two-server PAKE protocols, it is
Assume that the two servers S1 and S2 have received the
assumed or implied that the discrete logarithm of g2 to the
password authentication information of a client C during the
base g1 is unknown to anyone. Otherwise, their protocols are
registration, there are five steps for the two servers S1 and S2
insecure. Our initialization can ensure that nobody is able to
to authenticate the client C and establish secret session keys
know the discrete logarithm of g2 to the base g1 unless the
with the client C in terms of parallel computation.
 Step 1. The client C randomly chooses an integer r
g1r .g 2 pwdC and then
*
from Z q , computes R =
broadcasts a request message M1= ( C, Req, R) to
the two servers S1 and S2.
and checks if
'
'
H(K 1 ,0) ⨁ H(K 2 ,0) ⨁ h1⨁ h2 =H( pwdC)
If it is true, the two servers S1 and S2 are authentic.
 Step 2. On receiving M1, the server S1 randomly
The client C computes
'
'
'
A  A ,
B  ( R.B2 )
'
2
'
'
h 2 = H (K 2 , 1) ⨁ H (K 2 , 0) ⨁ h2
r1
2
'
2
'
h 1 = H (K 1 , 1) ⨁ H (K 1 , 0) ⨁ h1 ,
Z q* and computes
chooses an integer r1 from
'
r1
'
and then broadcasts M6={ h 1 , h 2 }. At last, the
.
client C sets the secret session keys with S1 and S2 as
The server S2 randomly chooses an integer r2 from
Z q* and computes
'
A1'  A1r2 ,
'
'
respectively.
B1'  ( R.B1 ) r2 .
 Step 5. On receiving M6, the server S1 checks if
'
'
Then, S1 and S2 exchange M2=( A2 , B2 ) and M3= (
'
1,
'
SK 1 = H (K 1 , 2) and SK 2 = H (K 2 , 2),
'
1 ).
A B
'
H(K1, 1) ⨁ b1= h 1 ,
If so, S1 concludes that the client C is authentic and
 Step 3. On receiving (
'
1,
'
1 ),
A B
the server S1
randomly chooses an integer
r1' from Z q* ,
sets the secret session key with the client C as
SK1=H (K1, 2).
computes
1 '
' a1 r1
R1 = A1
K1=
The serverS2 checks if
,
d1
'
( B1' / A1' ) r1
h1 =H(K1, 0) ⨁ b1
and replies M4 = (S1, R1, h1) to the client C.
'
2
'
H(K2, 1) ⨁ b2= h 2 ,
If so, S2 concludes that the client C is authentic and
sets the secret session key with the client C as
'
2
On receiving ( A , B ), the server S2 randomly
chooses an integer
r2' from Z q* , computes
In this authentication process, we can see that the two peer
1 '
' a2 r2
R2 = A2
K2=
SK2=H (K2, 2).
servers S1and S2 equally contribute to the authentication and
' d2
2
( B2' / A
)
r2'
h2 =H(K2, 0) ⨁ b2
key exchange. And so, our protocol is said to be symmetric.
4 CONCLUSION
and replies M5 = (S2, R2, h2) to the client C.
 Step 4. After receiving M4 and M5, the client C
computes
In this paper, we have presented a symmetric protocol for
two-server password-only authentication and key exchange.
'
r
K 1 =R 1
,
'
K2
=R
r
2
Our protocol is secured against passive and active attacks,
even though if one of the two servers is compromised. Our
solution is more efficient than current symmetric and
asymmetric two-server PAKE protocols. We can also use
this protocol model among clients for secure file sharing in
Author’s Profile:
a distributed environment.
P. Suresh received the B.Tech degree
in the Stream of Computer Science
5 REFERENCES
and Engineering from Madanapalle
[1] M. Abdalla, O. Chevassut, and D. Pointcheval, “One-
Institute of Technology and Science,
Time Verifier-Based Encrypted Key Exchange,”Proc.
Madanapalle, University of JNTUA
Eighth Int’l Conf. Theory and Practice in Public Key
in 2010. He is currently working
Cryptography (PKC ’05),pp. 47-64, 2005.
towards the Master’s Degree in the
Stream of Computer Science & Engineering, in Sri
[2] M. Bellare, D. Pointcheval, and P. Rogaway,
“Authenticated Key Exchange Secure against Dictionary
Attacks,”Proc. 19th Int’l Conf. Theory and Application of
Cryptographic Techniques (Eurocrypt ’00), pp. 139-155,
Venkateswara College of Engineering, Tirupati, University
of JNTUA. He interested in the areas of Computer
Networks, DBMS, Distributed Systems and Compiler
Design.
2000.
[3] S. Bellovin and M. Merritt, “Encrypted Key Exchange:
Password Based Protocol Secure against Dictionary
Attack,”Proc. IEEE Symp. Research in Security and
K. Guru Jyothsna Devi received
B.Tech in Computer Science and
Engineering from Alfa College of
Privacy,pp. 72-84, 1992.
Engineering
&
Technology,
[4] D. Boneh and M. Franklin, “Identity Based Encryption
Allagadda in 2009 & M.Tech in
from the Weil Pairing,”Proc. 21st Ann. Int’l Cryptology
Computer Science and Engineering
Conf. (Crypto ’01), pp. 213-229, 2001.
from
Vaagdevi
Institute
of
Engineering & Technology, Proddatur in 2011 respectively.
[5] J. Brainard, A. Jueles, B.S. Kaliski, and M. Szydlo, “A
Currently she is an Assistant Professor in the Department of
New Two Server Approach for Authentication with Short
Computer Science and Engineering at SV College of
Secret,”Proc. 12 Conf. USENIX Security Symp.,pp. 201-
Engineering-Tirupati. She has published a paper titled
214, 2003.
“HSV Color Histogram and Directional Binary Wavelet
th
[6] D. Jablon, “Password Authentication Using Multiple
Servers,”
Proc.
Conf.
Topics
in
Cryptology:
The
Cryptographer’s Track at RSA (RSA-CT ’01), pp. 344-360,
2001.
Patterns for CBIR” in journals. Her current interests include
Image Processing, and Computer Networks.
Download