More Related Content
Similar to Implementation of public key cryptography in kerberos with prevention 2
Similar to Implementation of public key cryptography in kerberos with prevention 2 (20)
More from IAEME Publication
More from IAEME Publication (20)
Implementation of public key cryptography in kerberos with prevention 2
- 1. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-
6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 3, May – June (2013), © IAEME
248
IMPLEMENTATION OF PUBLIC KEY CRYPTOGRAPHY IN
KERBEROS WITH PREVENTION OF SECURITY ATTACKS
Er. Abhijeet1
, Mr. Praveen Tripathi2
, Er.Anuja Priyam3
, Er.Vivek kumar4
1
M. Tech. Computer Science Student, Kanpur Institute of Technology Kanpur,
2
Assistant Professor Computer Science Student, Kanpur Institute of Technology Kanpur
3
M. Tech. Computer Science Student, Kanpur Institute of Technology Kanpur
4
M. Tech. Computer Science Student, Kanpur Institute of Technology Kanpur
ABSTRACT
Use of Public key cryptography is the limitation of Kerberos and by using symmetric
key cryptography there is some attacks, Replay attack and password attacks are serious issues
in the Kerberos authentication protocol. Public Key Cryptography for Initial Authentication
(PKINIT) is the way of using public key cryptography in Kerberos but it is much time taking.
Many ideas have been proposed to prevent these attacks but they increase complexity of the
total Kerberos environment. In this Thesis we present an improved method which prevents
replay attacks and password attacks by using Public Key Cryptography (both RSA and
Diffie-Hellman Key Exchange algorithm).
Keyword: Kerberos, Password attack, public key cryptography, PKINIT, Replay attack,
Authentication Server.
1. INTRODUCTION
Providing security services to the user in a secure way is an issue. Attackers can easily
gain information during its transmission across the network and then gain unauthorized
access to the servers, to whom they are not able to access. So, in this scenario, servers should
be able to authenticate all requests for services. Authentication is a way of ensuring that no
one can access the system without providing the way that he has access right. Therefore,
instead of each server check request for services, Kerberos provides a central server which
does the task of authentication. Security involves Implementation of measures to protect
attacks.
INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING
& TECHNOLOGY (IJCET)
ISSN 0976 – 6367(Print)
ISSN 0976 – 6375(Online)
Volume 4, Issue 3, May-June (2013), pp. 248-253
© IAEME: www.iaeme.com/ijcet.asp
Journal Impact Factor (2013): 6.1302 (Calculated by GISI)
www.jifactor.com
IJCET
© I A E M E
- 2. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-
6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 3, May – June (2013), © IAEME
249
But it does not mean that an attack will never occur. For example, preventing an
outside attacks doesn’t’ mean that you are secure, attacks may occur from inside of
organization. Researchers have proved that many attacks occur from inside of the
organization. Therefore, it is necessary to provide security inside of an organization.
Authentication protocol is one of the most classical single sign-on protocols. Authentication
is the base of secure network environment. Kerberos originated by MIT Project Athena [1]
is
one of the most widely-adopted authentication protocols. The overall scheme of Kerberos is
that of a trusted third party that uses a protocol based on that proposed by Needham and
Schroeder [2]
.
A single sign-on system means that a user can access all services from the application
servers after only sign on one time in a multiple application systems. Kerberos V5 is being
used at present but there are lots of replay and password attack problems in it. Kerberos V5
was designed to overcome some of the deficiencies of Kerberos V4, but it can’t guarantee to
avoid replay and password attack.
2. LITERATURE SURVEY
2.1 OVERVIEW OF KERBEROS PROTOCOL
Kerberos [6] is the authentication protocol between a server and client through a
trusted third party in an open network environment. Based on Needham and Schroeder’s
model, the Authentication server (AS), the trusted third party shares secret keys with all
entities and authenticates the users with the secret keys. When a client requests authentication
from it, the server grants a ticket encrypted with a pairwise key between the server and the
client, and authenticates the client. The client authenticates itself with the Ticket Granting
Server (TGS) by delivering the ticket received from the AS. The TGS issues a Service
Granting Ticket after authenticating the client for service, and the client requests a service
from the server by presenting this SGT. Finally, the server provides the service after verifying
this SGT. Fig shows the processes of Kerberos.
Adding public-key cryptography to Kerberos provides a nice congruence to public-
key protocols, obviates the human users' burden to manage strong passwords, and allows
Kerberized applications to take advantage of existing key services and identity management.
- 3. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-
6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 3, May – June (2013), © IAEME
250
2.2 Replay and Password attacks
Many schemes have been proposed to prevent replay attack in Kerberos
authentication protocol. Jian [2] proposed an optimized way to prevent password attack and
replay attack in single Signon system. Multiple databases were added to provide the
authentication and authorization in order to prevent replay attack. In this approach,
Authentication Server sends Ticket-Granting-Ticket to user as well as to Ticket- Granting-
Server (TGS).Similarly; TGS sends Service-Granting-Ticket to both Client and Application
server. TGS and Application server, each has their own database. They store these tickets in
their database and if attacker replays Ticket-Granting-Ticket (TGT) or Service-Granting-
Ticket, they can easily detect whether this is an attack or not A dynamic double password
based sign-on protocol was proposed [3]. That protocol makes use of two passwords that are
needed during the user registration and log files concept was used. Log file contained the
details when a particular user visited to a server which could be a authentication server,
Ticket Granting Server or Application Server. Application server generates log file and
forwards to authentication server even after responding the user. Authentication server passes
this log file to clients. Similarly, Authentication server also passes its log file. Therefore, a
user can make a judgment on security of password through auditing log files and allowed to
modifying the password. So, if an attacker has captured a password, client can easily change
it by looking and analyzing at the log files.
In [4], a concept is provided to prevent replay attack in Kerberos by using a freshness
which makes use of new Symbolic Model Verifier.
Location based Kerberos authentication protocol is described in [5]. In this approach
server captures P(Y) code off all the client in the network and it assigns ticket granting ticket
to the client by encrypting session key( used for communication between TGS and client) and
TGT with the P(Y) code of user. After receiving this message, client accepts its P(Y) code
using GPS and decrypts the message. So, if an attacker is able to capture the message, then he
will not be able to decrypt the message because P(Y) code length is in several of gigabits. It
will result in the failure of the ticket due to time synchronization problems. Here, user
physical location is added as an additional message into the Kerberos protocol, which helps
to determine physical location of the message provider. Server sends (TGT) to client by
encrypting session key with the hash value of user physical location. So, even if an attacker
captures a message, he will have to break two phase security to get session ticket and in this
process, ticket time may expire. Capturing user physical location and adding it as a new
authentication factor into the Kerberos Protocol method [7] was proposed to prevent replay
attack. It used N-BAN logic (modified version of BAN logic [6]) to apply on the modified
Kerberos protocol.
Benjamin [8] proposes a method for the inspection of replay attacks on Kerberos
authentication protocol in which the protocol was specified by using the Object-Z.
Modified Symbolic Model verifier [9] approach was presented to find problems with respect
to the replay attack.
Some basic principles [10] were defined which are necessary to be used while
designing the cryptography protocols. Five different strategies are presented. By using these
strategies it is possible to design cryptographic protocols which show robustness against
different classes of replay attacks.
A new protocol for key distribution was proposed [11] after analysing the security
flaws with different protocols that are currently used for the authentication as well as for key
distribution. This proposed model is based on using symmetric keys.
- 4. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-
6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 3, May – June (2013), © IAEME
251
2.3 PKINIT(Public Key Cryptography for Initial Authentication in Kerberos)[11]
Pkinit provides support for using public-key authentication with Kerberos. Pkinit is
useful in the following situations:
1. Using smart cards for Kerberos authentication
2. Authentication based on soft tokens (or certificates stored on a computer) instead of
passwords
3. In conjunction with anonymous kerberos and FAST protecting password exchanges to
remove the possibility of dictionary attacks.
This article describes minimal Pkinit configuration for a KDC and clients. It assumes you
already have a Kerberos realm functioning and that you have the openssl command available.
The following steps are involved:
1. Setting up a certificate authority
2. Generating a KDC certificate
3. Generating client certificates
4. Configuring the KDC and clients
5. Testing
Pkinit requires a public key infrastructure. The simplest use of Pkinit (anonymous kerberos)
requires a certificate authority (CA) certificate and a KDC certificate. The certificate
authority certificate is known by all clients; any certificates signed by this certificate are
trusted by the clients. The KDC certificate is signed by the certificate authority certificate
(and thus trusted by the clients) and identifies the KDC.
If Pkinit is used with smart cards or for other forms of user authentication, then each user
will need a certificate as well.
3. PROPOSED ALGORITHM
Here we are using a new way of implementing public key cryptography in Kerberos.
There is an authentication server, a ticket granting server, a real server and many clients
registered on AS server. Both AS(authentication server) and TGS(ticket granting
server)maintain its database. AS database contains ID of all registered clients, corresponding
password and public key. TGS database contains a set of prime numbers and corresponding
primitive roots and all real server with its password.
The steps of algorithms is given below
- 5. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-
6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 3, May – June (2013), © IAEME
252
Where Ticket for TGS contain-(client id, client network address, ticket validity period, and
client/TGS session key Encrypted with KAS-TGS)
Notations:
C=Client.
AS=Authentication Server.
TGS= Ticket Granting Server.
V=Real Server.
E=Encryption.
PRC=Private key of client.
PU= PUBLIC KEY.
IDC= ID OF CLIENT.
IDTGS=ID OF TICKET GRANTING SERVER.
KC-TGS=CLIENT-TGS SESSION KEY.
KC-V=CLIENT-SERVER SHARED KEY.
PSWDC=PASSWORD OF CLIENT.
PSWDV=PASSWORD OF SERVER.
4. CONCLUSIONS
After using public key cryptography in this way we can prevent Kerberos from
security attacks like password or reply attack. This is also a new way of Implementing Public
Key Cryptography in Kerberos.
REFERENCES
[1]Y. Kirsal, and O. Gemikonakli, “Further Improvements to the Kerberos Timed
Authentication Protocol,” International Conference on Telecommunications and Networking,
University Bridgeport, Bridgeport, May 2007.
[2]R. Needham, and M. Schroeder, “Using encryption for authentication in large networks of
computers,” Communications of the ACM, pp.993- 999, December 1978.
[3]C. Neuman, S.Hartman and K. Raeburn, ” The Kerberos Network Authentication Service
(V5),” July 2005 , http://www.ietf.org/rfc/rfc4120.txt.
[4] Eric Cole, Ronald L. Krutz, James Conley, Brian Reisman, Mitch Ruebush, Network
security
Fundamentals (John Wiley & Sons, ISBN 978-0-470-10192-6, 2008)
[5] B. Clifford Neuman, Theodore Ts‘o, Kerberos: An Authentication Service for Computer
Networks, IEEE Communications Magazine September 1994
[6] B. C. Neuman and T. Ts’o, “Kerberos: an authentication service for computer networks,”
IEEE Comm. Magn., vol.32, no.9, Sep. 2004.
[6] Paul Syverson, A Taxonomy of Replay Attacks, IEEE 1994.
[7] Yang Jian, An Improved Scheme of Single Sign-on Protocol, Fifth International
Conference on Information Assurance and Security, PP. 495-498, IEEE 2009
[8] Yang Jian, An Improved Scheme of Single Sign-on Protocol Based on Dynamic Double
Password, International Conference on Environmental Science and Information Application
Technology, IEEE 2009. PP. 572-575.
[9] S. Adyanthaya, S. Rukmangada, A. Tiwari and S. Singh, Modeling Freshness Concept to
overcome Replay Attack in Kerberos Protocol using NuSMV, International Conference on
Computer & Communication Technology IEEE-2010
- 6. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-
6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 3, May – June (2013), © IAEME
253
[10] Abdelmajid, N.T., Hossain M.A, Shepherd S, Mahmoud K, Location-Based Kerberos
Authentication Protocol, IEEE International Conference on Social Computing / IEEE
International Conference on Privacy, Security, Risk and Trust IEEE-2010
[11] B. Tung, and L. Zhu, “Public Key Cryptography for Initial Authentication in Kerberos
(PKINIT),” June 2006, http://www.ietf.org/rfc/rfc4556.txt.
[12] Rahul Jassal, “Wrapped RSA Cryptography Check on Window Executable using
Reconfigurable Hardware”, International Journal of Computer Engineering & Technology
(IJCET), Volume 3, Issue 3, 2012, pp. 291 - 299, ISSN Print: 0976 – 6367, ISSN Online:
0976 – 6375.
[13] M.A.Patel, Y.U.Kadam, R.Y.Thombare and H. P. Patil, “Defenses Against Large Scale
Online Password Guessing Attacks by using Persuasive Click Points”, International Journal
of Computer Engineering & Technology (IJCET), Volume 3, Issue 3, 2012, pp. 490 - 500,
ISSN Print: 0976 – 6367, ISSN Online: 0976 – 6375.